Веб-версіяВідкрити в Telegram

Пост❗️Уникайте створення функцій в циклах

12 червня 2024
P
Python просто | з Коропом
Фотографія
натисніть — покажемо
Фотографія
натисніть — покажемо
❗️Уникайте створення функцій в циклах Про що я таке говорю?) 🙃 ▫️У Пайтоні кожна функція та клас мають свою область видимості (скоуп), і відповідно — локальні змінні ▫️Коли створюється функція всередині будь-якого блоку, вона запам'ятовує скоуп, в якому вона була створена ▫️При виклику, функція може використовувати як і локальні змінні, так і змінні вищого скоупа ▫️Цикли не мають свого скоупа Це означає, що значення, яке змінюється в циклі, змінюється в скоупі, де існує цикл ▫️Якщо створити функцію всередині циклу, то той скоуп, який збереже функція для подальшого використання буде тим самий скоупом, який змінюється в циклі Що відбувається в прикладі: ▫️Після завершення циклу значення змінної number рівне 2 ▫️При виклику, функція callback дивиться в скоуп по змінну number і знаходить там 2 ▫️У результаті виводиться 3 двійки підряд 🙈 😢 Як це виправити? ▫️Спробуйте порефакторити код так, щоб функції не створювались в циклі ▫️Або ж спробуйте використати functools.partial Тут можливо прийдеться додати аргументи до функції, які будуть передаватись через partial, а раніше брались напряму зі скоупу Спробувати самостійно | Підписатись
2 · 1.1K ·

Поруч у стрічці

PPython просто | з КоропомСьогодні будемо обирати найцікавіший варіант вирішення 😎 Голосування (пост вище) буде відкрите до 23:59 Реалізації можна глянути ось тут: - @pvlvld (від @pvlvldPPython просто | з КоропомОтже, переможці першого змагання: 1. @krond (від @krond) за найшвидший результат (0.00148с) 2. hidden (від Hidden), за якого проголосувало найбільше людей (61%)
це повідомлення
PPython просто | з КоропомУ Пайтоні можна створювати клас всередині функції А також всередині іншого класу) Чи у іфці… Коротше, можна все 🤩 Але таке використання складніше читати, і зазвPPython просто | з КоропомРобота з csv-файлами — це просто, з використанням Пайтону) Для цього імпортуйте вбудовану бібліотеку csv і оберіть потрібний клас — reader, writer, DictReader,
PPython просто | з КоропомPython просто | з Коропом@python_kor0p · канал · Технології
222підписників80постів в індексі
Стрічка майданчика Відкрити в Telegram

Відкрита публічна стрічка з пошукового індексу ChatCrawler — «Google по публічному Telegram»; оновлюється в міру обходу майданчика. Час — UTC.

Лише публічний контент, офіційний API Telegram. Про проєкт · Питання · Чого ми не робимо · Прибрати сторінку з видачі · Каталог · Пошук · Як ми рахуємо