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

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

Python – это не Питон!..
подборка · 49 материалов
Пример сохранения состояния из объемлющей области видимости Python с помощью стандартного значения
*** В своей книге «Изучаем Python» (Марк Лутц. Изучаем Python. М., СПб, 2020. Т. 1. С. 523-524. [оригинальное название – Mark Lutz. Learning Python; перевод с английского Ю.Н. Артеменко]) Марк Лутц приводит пример сохранения состояния из объемлющей области видимости Python с помощью стандартного значения, кратко объясняя его. Этот пример очень интересен, поучителен и немного сложноват, а потому заслуживает более подробного разбора. * def f1(): x = 88 def f2(x=x): print(x) f2() f1() *** Этот код...
Вариации на тему «Hello, World!» в Python. Вариант 17. Используем вложенные функции (замыкания) и области видимости переменных
*** def f1(): a = 'Hello, World!' def f2(): # Вызываем внутреннюю функцию f3() здесь, где она видна def f3(): print(a) # Явно вызываем тело функции f3(), чтобы сработал print() f3() # Вызываем функцию f2() внутри функции f1(), иначе функция f2() будет недоступна снаружи f2() # Запускаем самую внешнюю функцию f1() *** Этот код демонстрирует три фундаментальные концепции языка Python: вложенные функции (замыкания), области видимости переменных и порядок выполнения кода. В этом варианте переменная a остаётся доступной для чтения благодаря правилам замыкания (closure) языка Python...
Обманчивая простота простой фабричной функции
*** В своей книге «Изучаем Python» (Марк Лутц. Изучаем Python. М., СПб, 2020. Т. 1. С. 520-522. [оригинальное название – Mark Lutz. Learning Python; перевод с английского Ю.Н. Артеменко]) Марк Лутц приводит пример простой фабричной функции (замыкания), кратко объясняя его. Этот пример очень интересен и поучителен, и заслуживает более подробного разбора. *** def maker(N): def action(X): # Создание и возвращение функции action return X ** N # action сохраняет N из объемлющей области видимости...
Вариации на тему «Hello, World!» в Python. Вариант 16. Используем функцию и конкатенацию строк
*** def greet(prefix, name): return prefix + name print(greet('Hello, ', 'World!')) *** Этот код на языке Python выполняет простую операцию по объединению (конкатенации) строк. Разберём его работу пошагово. 1. Определение функции def greet(prefix, name): return prefix + name • def – это ключевое слово для определения новой функции. • greet – имя функции. Оно должно быть описательным, чтобы было понятно, что делает этот блок кода. • (prefix, name) – параметры функции. Это переменные-заполнители, в которые при вызове функции будут переданы значения извне...
Пример области видимости Python в книге Марка Лутца «Изучаем Python»
*** В своей книге «Изучаем Python» (Марк Лутц. Изучаем Python. М., СПб, 2020. Т. 1. С. 510. [оригинальное название – Mark Lutz. Learning Python; перевод с английского Ю.Н. Артеменко]) Марк Лутц разбирает пример, который демонстрирует идеи, лежащие в основе областей видимости. В качестве примера он приводит такой код: X = 99 def func(Y): Z = X + Y return Z func(1) *** С точки зрения синтаксиса Python код написан верно и успешно выполняется. При вызове func(1) он возвращает результат 100. Однако...
Вариации на тему «Hello, World!» в Python. Вариант 15. Используем синтаксис среза (Slicing)
*** text = "!dlroW ,olleH" print(text[::-1]) или text = '!dlroW ,olleH' print(text[::-1]) Этот код демонстрирует один из самых изящных и быстрых способов переворота строки в Python с помощью механизма, называемого срезами (slicing). 1. Создание переменной text = "!dlroW ,olleH" Здесь мы просто создаём переменную text и присваиваем ей строку, которая выглядит, как перевёрнутая фраза "Hello, World!". 2. Синтаксис среза (Slicing) В Python для строк (а также для списков и кортежей) существует специальный...