Найти в Дзене
Закреплено автором
Покупайте СтеллыИ дарите их за контент
7 часов назад
 • Вы подписаны

Пример сохранения состояния из объемлющей области видимости Python с помощью стандартного значения

*** В своей книге «Изучаем Python» (Марк Лутц. Изучаем Python. М., СПб, 2020. Т. 1. С. 523-524. [оригинальное название – Mark Lutz. Learning Python; перевод с английского Ю.Н. Артеменко]) Марк Лутц приводит пример сохранения состояния из объемлющей области видимости Python с помощью стандартного значения, кратко объясняя его. Этот пример очень интересен, поучителен и немного сложноват, а потому заслуживает более подробного разбора. * def f1(): x = 88 def f2(x=x): print(x) f2() f1() *** Этот код...

3 дня назад
 • Вы подписаны

Вариации на тему «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...

4 дня назад
 • Вы подписаны

Обманчивая простота простой фабричной функции

*** В своей книге «Изучаем Python» (Марк Лутц. Изучаем Python. М., СПб, 2020. Т. 1. С. 520-522. [оригинальное название – Mark Lutz. Learning Python; перевод с английского Ю.Н. Артеменко]) Марк Лутц приводит пример простой фабричной функции (замыкания), кратко объясняя его. Этот пример очень интересен и поучителен, и заслуживает более подробного разбора. *** def maker(N): def action(X): # Создание и возвращение функции action return X ** N # action сохраняет N из объемлющей области видимости...

6 дней назад
 • Вы подписаны

Ни дня без сбоев, или О Великий, Могучий и Ужасный Яндекс!...

*** …Намедни опять (в который раз!..) Алиса, "живущая" в Яндекс.Станции Лайт 2, самовольно включила – среди ночи! – музыку. На мой вопрос, зачем она сделала это, даёт несколько вариантов ответов (вместо того, чтобы извиниться и сказать, что, видимо, произошёл какой-то сбой!..): – Может быть, вы сами включили её? – Может быть, это сделал кто-то из домашних? – Проверьте настройки, может быть, что-то с настройками… *** У Яндекса нет ни одного ( ! ) устройства, ни одной ( ! ) программы, ни одного ( ! ) сервиса без постоянных (вечных!!!) сбоев и багов!...

1 неделя назад
 • Вы подписаны

Вариации на тему «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) – параметры функции. Это переменные-заполнители, в которые при вызове функции будут переданы значения извне...