Найти в Дзене
Python – это не Питон!..

Python – это не Питон!..

Python – это не Питон!..
подборка · 75 материалов
Пример, демонстрирующий работу функций, кортежей и особенности передачи аргументов в Python
*** В своей книге «Изучаем Python» (Марк Лутц. Изучаем Python. М., СПб, 2020. Т. 1. С. 545 [оригинальное название – Mark Lutz. Learning Python; перевод с английского Ю.Н. Артеменко]) Марк Лутц кратко разбирает пример, демонстрирующий работу функций, кортежей и особенности передачи аргументов в Python. Этот пример очень интересен, поучителен и заслуживает более подробного разбора. * >>>def multiple(x, y): x = 2 y = [3, 4] return x, y >>>X = 1 >>>L = [1, 2] >>>X, L = multiple(X, L) >>>X, L Марк...
Вариации на тему «Hello, World!» в Python. Варианты 31 и 32. Используем метод .join()
*** message = ['H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', '!'] ''.join(message) Этот код выполняет простую, но очень важную операцию: объединяет список символов в одну строку. *** 1. message = ['H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', '!'] • Это список (тип list), состоящий из отдельных строковых элементов (каждый элемент – это один символ, включая буквы, запятую, пробел и восклицательный знак). 2. ''.join(message) • Это вызов метода join у пустой строки ('')...
print(func) vs print(func())
*** def func(): pass func() print(func()) # None print(func) # <function func at 0x0000010B4C901DD0> id(func()) # 140726763506496 id(func) # 1148040781264 Давайте разберём этот код, который демонстрирует работу с функциями, как объектами, а также разницу между вызовом функции и ссылкой на неё. 1. Определение функции def func(): pass • Создаётся функция с именем func. • В теле функции ничего не происходит (pass – это пустой оператор-заглушка). • Функция не имеет return, поэтому возвращает None...
Изменение изменяемого объекта из объемлющей области видимости Python
*** В своей книге «Изучаем Python» (Марк Лутц. Изучаем Python. М., СПб, 2020. Т. 1. С. 536 [оригинальное название – Mark Lutz. Learning Python; перевод с английского Ю.Н. Артеменко]) Марк Лутц кратко разбирает пример изменения изменяемого объекта из объемлющей области видимости. Этот пример очень интересен, поучителен и заслуживает более подробного разбора. * def tester(start): def nested(label): print(label, state[0]) state[0] += 1 state = [start] return nested F = tester(0) F('spam') F('ham') ...
Вариации на тему «Hello, World!» в Python. Вариант 30
*** X = 'Hello, ' def func(y): """ Конкатенирует глобальную строку X с переданным аргументом y. Аргументы: y (str): Строка для добавления к приветствию. Возвращает: str: Итоговая строка. """ z = X + y return z # Вызываем функцию и сохраняем результат в переменную result result = func('World!') # Выводим результат на экран print(result) Этот код демонстрирует базовые принципы работы с функциями, глобальными переменными и строками в Python. 1. Глобальная переменная X = 'Hello, ' Создаётся глобальная переменная X, которая содержит строку 'Hello, '...
Сколько уровней вложенности функций допускает Python?
*** …Намедни меня спросили: сколько уровней вложенности функций допускает Python? def f1(): a = 'Hello, World!' def f2(): def f3(): def f4(): def f5(): print(a) f5() f4() f3() f2() f1() # Hello, World! Этот код демонстрирует фундаментальные концепции языка Python: замыкания (closures) и цепочки областей видимости (scope chains), также известные как правило LEGB. *** 1) Вызывается функция f1(). 2) Внутри неё создаётся локальная переменная a, которой присваивается строка 'Hello, World!'. 3) Затем последовательно определяются вложенные функции от f2() до f5()...