А що ви знаєте про розпакування (
А чи знали ви, що генератори також можна розпакувати?)
Це може бути корисно, наприклад, для створення індексів з іменами при зчитуванні таблиці чи csv-файлу
P.S. Так,
Спробувати самостійно | Підписатись
unpacking) у Пайтоні?А чи знали ви, що генератори також можна розпакувати?)
Це може бути корисно, наприклад, для створення індексів з іменами при зчитуванні таблиці чи csv-файлу
P.S. Так,
range це генератор, і так, з іншими генераторами це також працює)Спробувати самостійно | Підписатись
А сьогодні у мене для вас маленький хак для запису чисел
Пайтон дозволяє додати нижнє підкреслення, щоб зробити візуально приємнішим і простішим вигляд числа
Додати можна і декілька підкреслень, але не підряд
Спробувати самостійно | Підписатись
Пайтон дозволяє додати нижнє підкреслення, щоб зробити візуально приємнішим і простішим вигляд числа
Додати можна і декілька підкреслень, але не підряд
Спробувати самостійно | Підписатись
👍4 2
Час поговорити і про щось складніше, а саме — про генератори
Генератори — це такі ліниві ітератори. Вони виконуються тільки тоді, коли насправді треба буде
Один зі способів створення генератора — це швидкий вираз (
У цьому прикладі ви можете побачити два таких вирази, і хоч вони мають одне ім'я, насправді це будуть різні генератори, і один буде викликати інший. Таким чином ми можемо дочіпляти логіку "на ходу", і навіть додавати умови чи цикли
Спробувати самостійно | Підписатись
Генератори — це такі ліниві ітератори. Вони виконуються тільки тоді, коли насправді треба буде
Один зі способів створення генератора — це швидкий вираз (
comprehension) з круглими дужкамиУ цьому прикладі ви можете побачити два таких вирази, і хоч вони мають одне ім'я, насправді це будуть різні генератори, і один буде викликати інший. Таким чином ми можемо дочіпляти логіку "на ходу", і навіть додавати умови чи цикли
Спробувати самостійно | Підписатись
💅2 2
А ось вам і цікавинка
Ви можете перевірити чи буде значення видане генератором, за допомогою звичайного
Тільки є один нюанс)
Генератор буде букально ітеруватись, поки не знайде потрібне значення
Якщо ж ітерація завершиться, то повернеться
Спробувати самостійно | Підписатись
Ви можете перевірити чи буде значення видане генератором, за допомогою звичайного
inТільки є один нюанс)
Генератор буде букально ітеруватись, поки не знайде потрібне значення
Якщо ж ітерація завершиться, то повернеться
FalseСпробувати самостійно | Підписатись
🔥4 2
Любі друзі, дорогі підписники 😊
Розкажіть, про яку тему ви хотіли б дізнатись більше?
Або про що варто розказати якомога простіше?
Розкажіть, про яку тему ви хотіли б дізнатись більше?
Або про що варто розказати якомога простіше?
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🌚2
Як варто розвивати канал?
Anonymous Poll
32%
Більше цікавинок
82%
Більше складного, простими словами
36%
Додати складніші розбори
68%
Додати задачки на знання Пайтона
32%
Додати меми
❤1🌚1🤓1
Яким буде результат у останньому рядку?
Anonymous Quiz
45%
[3]
27%
[1, 3]
11%
Помилка
15%
[2, 3]
2%
[]
Правильна відповідь: [1, 3]
Пояснення:
Пайтон зберігає аргументи функції під час її створення, в тому числі й їхні значенні за замовчуванням
Тому, якщо не передавати другий аргумент явно, Пайтон гляне на опис функції, знайде там масив, і просто передасть його натомість
Для того, щоб при кожному виклику створювався новий пустий список, вам необхідно винести його створення у тіло функції
Такі аргументи як data — називають мутабельними, і їх треба уникати. Тому чекери синтаксису маркують такий код як поганий)
Спробувати самостійно | Підписатись
Пояснення:
Тому, якщо не передавати другий аргумент явно, Пайтон гляне на опис функції, знайде там масив, і просто передасть його натомість
Для того, щоб при кожному виклику створювався новий пустий список, вам необхідно винести його створення у тіло функції
Такі аргументи як data — називають мутабельними, і їх треба уникати. Тому чекери синтаксису маркують такий код як поганий)
Спробувати самостійно | Підписатись
🔥8 3👍1
Якщо ви працюєте з даними в Пайтоні, вам точно треба знати про такі дві функції:▫️
▫️
Як зрозуміти, що значення — істинне?
Якщо для
Для структур даних, можна також сказати, що вони мають бути "не пустими"
Спробувати самостійно | Підписатись
any — Перевіряє чи є хоча б одне істинне значенняall — Перевіряє чи усі значення є істиннимиЯк зрозуміти, що значення — істинне?
Якщо для
if це значення виконає умову, воно — істиннеДля структур даних, можна також сказати, що вони мають бути "не пустими"
Спробувати самостійно | Підписатись
Please open Telegram to view this post
VIEW IN TELEGRAM
Насправді, таку ж функцію можна реалізувати самостійно 😎
Ітеруємось по значеннях, і якщо зустріли істинне — виходимо з функції з позитивним результатом. Якщо ж, жодного не знайшли — виходимо з негативним
З цього, зокрема, стає зрозуміло, чому
Спробувати самостійно | Підписатись
Ітеруємось по значеннях, і якщо зустріли істинне — виходимо з функції з позитивним результатом. Якщо ж, жодного не знайшли — виходимо з негативним
З цього, зокрема, стає зрозуміло, чому
any([]) дає False. Якщо не відбулось жодної ітерації — буде FalseСпробувати самостійно | Підписатись
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤓6😁1
Теж саме стосується і
Ітеруємось по значеннях, і якщо зустріли не істинне — виходимо з функції з негативним результатом. Якщо ж усі значення істинні, то виходимо з позитивним
Відповідно, для
Спробувати самостійно | Підписатись
all() — тут навіть реалізації схожі 😅Ітеруємось по значеннях, і якщо зустріли не істинне — виходимо з функції з негативним результатом. Якщо ж усі значення істинні, то виходимо з позитивним
Відповідно, для
all([]) результат буде True — оскільки жодної ітерації не відбулосьСпробувати самостійно | Підписатись
👨💻1 1
Якщо, коли вам треба прибрати частинку з початку тексту, або з кінця, ви використовуєте
Метод
*
Якщо ж треба просто видалити підстрічку з іншої стрічки з початку чи з кінця, то🔥
Спробувати самостійно | Підписатись
.strip(), то ви робите це неправильно 🌚Метод
.strip() видалить будь-який з перелічених символів з початку та кінця стрічки. Ці символи можуть бути у будь-якому порядку та у будь-якій кількості. Цей метод видалятиме символи з обох боків, поки перший та останній символ не будуть серед вказаних у аргументі*
rstrip() зробить це лише з кінця, а lstrip() — лише з початкуЯкщо ж треба просто видалити підстрічку з іншої стрічки з початку чи з кінця, то
.removeprefix() чи .removesuffix() — саме те, що вам треба Спробувати самостійно | Підписатись
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👏2✍1 1
При написанні типових користувацьких програм варто додавати пояснення та контекст для деяких помилок
Але при цьому не завжди треба ловити цю помилку. Для цього можна у блоці
Спробувати самостійно | Підписатись
Але при цьому не завжди треба ловити цю помилку. Для цього можна у блоці
except дописати raise і помилка піде далі, аж поки не зупинить виконання програмиСпробувати самостійно | Підписатись