Advertisement
SomeBody_Aplle

Untitled

Feb 16th, 2022
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.22 KB | None | 0 0
  1. ##############################################################################################
  2. Генераторы списков
  3. Генераторы списков могут сформировать список значений, или список значений с определённым условием.
  4. lst = [0] * 5 -простой генератор списка из пяти нулей
  5. Аналогичная запись:
  6. a = [0 for i in range(5)]
  7.  
  8. Ещё пару генераторов:
  9. lst = [i * i for i in range(5)]
  10. print(lst)
  11.  
  12. lst = [int(i) for i in input().split()]
  13. print(lst)
  14.  
  15. full_name = "Паша Савельев"
  16. lst = [i for i in full_name if i == "а"]
  17. print(lst)
  18.  
  19. full_name = "Паша Савельев"
  20. lst = [i if i == "а" else '(' + i + ')' for i in full_name]
  21. print(lst)
  22. ##############################################################################################
  23. Функции
  24. Функция в python - объект, принимающий аргументы и возвращающий значение.
  25. Функцию стоит вызывать, когда определённое действие в программе выполняется n-ое кол-во раз. Например: Вычисление факториала
  26.  
  27. Определяется ф-ия след:
  28. def имя_функции(аргументы)
  29. тело функции
  30. return (Если необходим)
  31.  
  32. Вызов функции:
  33. 1) Если ф-ия что-либо возвращает (есть return), то:
  34. переменная = имя_ф-ии(передаваемые_аргменты)
  35. 2) Если ф-ия ничего не возвращает:
  36. имя_функции(аргументы)
  37.  
  38. Примеры ф-ий:
  39. 1) Ф-ия, которая не принимает никаких аргументов:
  40. def no_arg():
  41. print("Ф-ия без аргументов")
  42.  
  43. x = int(input())
  44. if x == 1:
  45. no_arg()
  46.  
  47. 2) Ф-ия, которая принимает некие аргументы (n-ое кол-во), но ничего не возвращает:
  48. def with_arg(x, y):
  49. print(x * y)
  50.  
  51. with_arg(2, 3)
  52.  
  53. 3) Ф-ия, которая принимает некие аргументы (n-ое кол-во), и возвращает что-либо:
  54. def with_arg(x, y):
  55. return x * y
  56.  
  57. x = with_arg(2, 3)
  58. print(x)
  59. 4) Ф-ия с необязательными параметрами (при необходимости данный аргумент можно передать):
  60. def with_arg(x, y, z=4):
  61. return x * y + z
  62.  
  63. x = with_arg(2, 3)
  64. print(x)
  65. Необязательный аргументов может быть сколько угодно, но все они указываются в последнюю очередь
  66.  
  67.  
  68. Ещё один пример:
  69. def with_arg(*x):
  70. res = 0
  71. for i in x:
  72. res += i
  73. return res
  74.  
  75. x = with_arg(2, 3, 7)
  76. print(x)
  77. В данном примере "*" - указывает на то, что ф-ия принимает произвольное кол-во аргументов, и все эти аргументы будут накапливаться с именем, которое указано после "*", и далее, в ф-ии, к элементам данной последовательности можно обращаться по индексам.
  78.  
  79. Стоит запомнить что:
  80. Списки, словари, множества - это изменяемые объекты
  81. Числа, строки, кортежи - это неизменяемые объекты
  82.  
  83. Ф-ии могут вызывать сами себя - это называется РЕКУРСИЕЙ:
  84. def with_arg(*x):
  85. return with_arg(x)
  86.  
  87. Ф-ии могут вызывать другие функции, а также передавать ф-ию в виде аргумента
  88. ##############################################################################################
  89. Лямбда выражения
  90. Лямбды созданы для того, чтобы создавать свои анонимные функции.
  91. Анонимные ф-ии особый вид функций, которые объявляются в месте использования и не получают уникального идентификатора для доступа
  92. к ним. Такие ф-ии исп. для выполнения простых действий, таким образом лямбда выражения могут выполнять только одну инструкцию.
  93. Определение:
  94. имя_фии = lambda фргументы: инструкция
  95.  
  96. umnosh = lambda x, y: x * y
  97. z = umnosh(3, 2)
  98. print(z)
  99.  
  100. def se():
  101. umnosh = lambda x, y: x * y
  102. umnosh(3, 6)
  103.  
  104. z = umnosh(3, 2)
  105. print(z)
  106.  
  107. Если лямбда выражение не подолжно возвр знач.:
  108. mes = lambda: print('Привет')
  109. ##############################################################################################
  110. Область видимости
  111. Область видимости или scope определяет контекст переменной, в рамках которого ее можно использовать. В Python есть два типа контекста: глобальный и локальный.
  112.  
  113. Глобальный контекст подразумевает, что переменная является глобальной, она определена вне любой из функций и доступна любой функции в программе.
  114.  
  115. Локальный контекст
  116. В отличие от глобальных переменных локальная переменная определяется внутри функции и доступна только из этой функции, то есть имеет локальную область видимости
  117.  
  118.  
  119. age = 19
  120.  
  121. def mes():
  122. name = 'Tom'
  123. age = 18
  124. print('Привет', name, age)
  125.  
  126. def mes2():
  127. name = 'Bob'
  128. print('Привет', name, age)
  129.  
  130. mes()
  131. mes2()
  132. ##############################################################################################
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement