Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ##############################################################################################
- Генераторы списков
- Генераторы списков могут сформировать список значений, или список значений с определённым условием.
- lst = [0] * 5 -простой генератор списка из пяти нулей
- Аналогичная запись:
- a = [0 for i in range(5)]
- Ещё пару генераторов:
- lst = [i * i for i in range(5)]
- print(lst)
- lst = [int(i) for i in input().split()]
- print(lst)
- full_name = "Паша Савельев"
- lst = [i for i in full_name if i == "а"]
- print(lst)
- full_name = "Паша Савельев"
- lst = [i if i == "а" else '(' + i + ')' for i in full_name]
- print(lst)
- ##############################################################################################
- Функции
- Функция в python - объект, принимающий аргументы и возвращающий значение.
- Функцию стоит вызывать, когда определённое действие в программе выполняется n-ое кол-во раз. Например: Вычисление факториала
- Определяется ф-ия след:
- def имя_функции(аргументы)
- тело функции
- return (Если необходим)
- Вызов функции:
- 1) Если ф-ия что-либо возвращает (есть return), то:
- переменная = имя_ф-ии(передаваемые_аргменты)
- 2) Если ф-ия ничего не возвращает:
- имя_функции(аргументы)
- Примеры ф-ий:
- 1) Ф-ия, которая не принимает никаких аргументов:
- def no_arg():
- print("Ф-ия без аргументов")
- x = int(input())
- if x == 1:
- no_arg()
- 2) Ф-ия, которая принимает некие аргументы (n-ое кол-во), но ничего не возвращает:
- def with_arg(x, y):
- print(x * y)
- with_arg(2, 3)
- 3) Ф-ия, которая принимает некие аргументы (n-ое кол-во), и возвращает что-либо:
- def with_arg(x, y):
- return x * y
- x = with_arg(2, 3)
- print(x)
- 4) Ф-ия с необязательными параметрами (при необходимости данный аргумент можно передать):
- def with_arg(x, y, z=4):
- return x * y + z
- x = with_arg(2, 3)
- print(x)
- Необязательный аргументов может быть сколько угодно, но все они указываются в последнюю очередь
- Ещё один пример:
- def with_arg(*x):
- res = 0
- for i in x:
- res += i
- return res
- x = with_arg(2, 3, 7)
- print(x)
- В данном примере "*" - указывает на то, что ф-ия принимает произвольное кол-во аргументов, и все эти аргументы будут накапливаться с именем, которое указано после "*", и далее, в ф-ии, к элементам данной последовательности можно обращаться по индексам.
- Стоит запомнить что:
- Списки, словари, множества - это изменяемые объекты
- Числа, строки, кортежи - это неизменяемые объекты
- Ф-ии могут вызывать сами себя - это называется РЕКУРСИЕЙ:
- def with_arg(*x):
- return with_arg(x)
- Ф-ии могут вызывать другие функции, а также передавать ф-ию в виде аргумента
- ##############################################################################################
- Лямбда выражения
- Лямбды созданы для того, чтобы создавать свои анонимные функции.
- Анонимные ф-ии особый вид функций, которые объявляются в месте использования и не получают уникального идентификатора для доступа
- к ним. Такие ф-ии исп. для выполнения простых действий, таким образом лямбда выражения могут выполнять только одну инструкцию.
- Определение:
- имя_фии = lambda фргументы: инструкция
- umnosh = lambda x, y: x * y
- z = umnosh(3, 2)
- print(z)
- def se():
- umnosh = lambda x, y: x * y
- umnosh(3, 6)
- z = umnosh(3, 2)
- print(z)
- Если лямбда выражение не подолжно возвр знач.:
- mes = lambda: print('Привет')
- ##############################################################################################
- Область видимости
- Область видимости или scope определяет контекст переменной, в рамках которого ее можно использовать. В Python есть два типа контекста: глобальный и локальный.
- Глобальный контекст подразумевает, что переменная является глобальной, она определена вне любой из функций и доступна любой функции в программе.
- Локальный контекст
- В отличие от глобальных переменных локальная переменная определяется внутри функции и доступна только из этой функции, то есть имеет локальную область видимости
- age = 19
- def mes():
- name = 'Tom'
- age = 18
- print('Привет', name, age)
- def mes2():
- name = 'Bob'
- print('Привет', name, age)
- mes()
- mes2()
- ##############################################################################################
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement