Ви можете передавати генератор як аргумент
І навіть без додаткових дужок
Тааак, виглядає трохи дивно, але це працює 🤯
Точніше, працює лише доти, доки це єдиний аргумент😅
Спробувати самостійно | Підписатись
І навіть без додаткових дужок
Тааак, виглядає трохи дивно, але це працює 🤯
Точніше, працює лише доти, доки це єдиний аргумент
Спробувати самостійно | Підписатись
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1 1 1
Останні два дні не було постів, бо в мене просто не було сил на це
🤒
Можете поки що в коментарях накидати теми, які вас цікавлять, або ж питання які давно вас турбують
Спробую на щось відповісти або навіть оформити у вигляді поста згодом
Також, я думав над таким цікавим форматом, як задачі з призом
Суть така:
- я виставляю задачу
- ви кидаєте відповіді у бота
- я обираю найкращий
- публікую його і свій варіант на наступний день
Яке вирішення буде вважатись найкращим?
Це може бути найшвидше, найменше коду чи найбільш просте — залежно від задачі (тобто для кожної по-різному)
Як часто будуть такі задачки?
Десь раз в тиждень
Яким буде приз?
Це ще вирішимо, бо у мене декілька варіантів:
- маленька грошова сума (≈100грн)
- менторство зі мною (на ≈2 години) або кол зі мною (на годину)
- система балів (де за результатами місяця більший приз, наприклад книга по Пайтону, курс по Пайтону чи підписка PyCharm Pro)
Отож, діліться думками про все це — у коментарях 😊
Можете поки що в коментарях накидати теми, які вас цікавлять, або ж питання які давно вас турбують
Спробую на щось відповісти або навіть оформити у вигляді поста згодом
Також, я думав над таким цікавим форматом, як задачі з призом
Суть така:
- я виставляю задачу
- ви кидаєте відповіді у бота
- я обираю найкращий
- публікую його і свій варіант на наступний день
Яке вирішення буде вважатись найкращим?
Це може бути найшвидше, найменше коду чи найбільш просте — залежно від задачі (тобто для кожної по-різному)
Як часто будуть такі задачки?
Десь раз в тиждень
Яким буде приз?
Це ще вирішимо, бо у мене декілька варіантів:
- маленька грошова сума (≈100грн)
- менторство зі мною (на ≈2 години) або кол зі мною (на годину)
- система балів (де за результатами місяця більший приз, наприклад книга по Пайтону, курс по Пайтону чи підписка PyCharm Pro)
Отож, діліться думками про все це — у коментарях 😊
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤2
Python просто | з Коропом
При написанні типових користувацьких програм варто додавати пояснення та контекст для деяких помилок Але при цьому не завжди треба ловити цю помилку. Для цього можна у блоці except дописати raise і помилка піде далі, аж поки не зупинить виконання програми…
Я уже розповідав про ре-рейз помилок, але й сам забув, що замість
Цей метод дозволяє додати нотатку для будь-якої помилки, щоб мати більше контексту
Усі ці нотатки зберігаються у атрибуті
Він доступний лише з версії 3.11, але уже встиг увійти у активний обіг (принаймні у мене 👀)
Документація
А за посиланням нижче є аж 4 додаткових приклади😉
Спробувати самостійно | Підписатись
print'а краще використати метод add_note() 😅Цей метод дозволяє додати нотатку для будь-якої помилки, щоб мати більше контексту
Усі ці нотатки зберігаються у атрибуті
__notes__ (але якщо нотаток не було, то й атрибута не буде, це важливо)Він доступний лише з версії 3.11, але уже встиг увійти у активний обіг (принаймні у мене 👀)
Документація
А за посиланням нижче є аж 4 додаткових приклади
Спробувати самостійно | Підписатись
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍3🔥1 1
Конструкція
Серед таких є і блок
Якщо ви хочете бути впевненими, що змінна, створена у блоці
По суті це вбудований
Якщо хтось знайомий з Promise у JS, то блок
Спробувати самостійно | Підписатись
try/except має багато можливостей, хоч і не всі їх розуміютьСеред таких є і блок
else, який виконається тільки у тому випадку, якщо у блоці try не було помилкиЯкщо ви хочете бути впевненими, що змінна, створена у блоці
try буде доступна, то замість того, щоб писати код після усієї конструкції, додайте цей код у блок elseПо суті це вбудований
if/else в залежності від того чи була помилка, але з усією красою та функціональністю try/exceptЯкщо хтось знайомий з Promise у JS, то блок
else можна порівняти з колбеком .thenСпробувати самостійно | Підписатись
❤8👍1 1
finally — ще один блок конструкції try/exceptВикористовуйте
finally, коли треба щось виконати, незалежно від результату інших блоківНаприклад: закрити файл, закрити конекшин/транзакцію у БД тощо
Побічний ефект: цей блок виконається перед
return, тому можна уникнути створення зайвої змінної для повернення результату з функціїТеж саме стосується і
break, і continue, якщо try/except знаходиться в цикліДокументація
Спробувати самостійно | Підписатись
❤5👍2🔥1 1
elseТак знову 👀, але тепер у
for 😅Якщо у циклі не буде виклику
break, виконається код у блоці elseЯкщо не буде жодного елемента, також виконається (всьо логічно ж 🤷♂️)
Цю можливість можна використати для вкладених циклів, або для повернення дефолтного значення у блоці
elseЯ сам інколи юзаю цю штуку, але завжди дописую коментерам умови, за яких виконається ця частина коду, і для чого саме так побудовано
Тобто, це крутий інструмент, але доволі складний для розуміння, тому майте це на увазі у ваших проєктах)
Спробувати самостійно | Підписатись
👍4❤3😁1 1 1 1
Яким буде результат у останньому рядку?
Anonymous Quiz
25%
Помилка у циклі ❌
55%
[1, 6, 4]
15%
[1, 40, 6, 4]
2%
[1, 25, 6, 4]
3%
Не знаю 🤷♂️
🤯1
Відповідь: [1, 40, 6, 4]
Пояснення:
При ітерації, не варто видаляти елементи з масиву — Пайтон губиться і може пропустити елемент 😢
Так відбувається через те, що для ітерації по масиву, Пайтон зберігає індекс, а видалення одного елемента зміщує індекс для інших
Тому, якщо вам таки треба видалити об'єкт з масиву, по якому ви ітеруєтесь, скопіюйте масив через .copy() чи [:]
Все те саме стосується і будь-яких інших змін у масиві — треба бути дуже обережним)
Спробувати самостійно | Підписатись
Пояснення:
Так відбувається через те, що для ітерації по масиву, Пайтон зберігає індекс, а видалення одного елемента зміщує індекс для інших
Тому, якщо вам таки треба видалити об'єкт з масиву, по якому ви ітеруєтесь, скопіюйте масив через .copy() чи [:]
Все те саме стосується і будь-яких інших змін у масиві — треба бути дуже обережним)
Спробувати самостійно | Підписатись
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤7 1
А що це тут таке складне? 🫠
А це — дескриптори
Нумо читати статтю на Друкарні😉
Спробувати самостійно | Підписатись
А це — дескриптори
Нумо читати статтю на Друкарні
Спробувати самостійно | Підписатись
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯3❤1👌1 1
Погані звички, які прийшли від купи старих гайдів 🫠
Одна з причин, чому я завів цей канал, це боротьба з ними 😅
Так от,
Лопатою я тут назвавкопати ями працювати з файлами
Якщо треба зробити це швидко і небагато — ви візьмете лопату 😉
Записати текст у файл?
Зчитати текст з файлу? Тю,
Ви колись бачили щось простіше?)
Звісно, ніхто не каже викидати😉 )
Спробувати самостійно | Підписатись
Одна з причин, чому я завів цей канал, це боротьба з ними 😅
Так от,
with open це прекрасно, але навіщо вам трактор, якщо вам треба лопата?)Лопатою я тут назвав
Path — дуже простий спосіб Якщо треба зробити це швидко і небагато — ви візьмете лопату 😉
Записати текст у файл?
file.write_textЗчитати текст з файлу? Тю,
file.read_textВи колись бачили щось простіше?)
Звісно, ніхто не каже викидати
open, просто це більш гнучкий інструмент, який буде корисним у складніших операціях, але з яким треба вміти поводитись (трактором от можна й танк тягнути Спробувати самостійно | Підписатись
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍3🔥1
Нова рубрика — задачки по Пайтону! 🔥
Я уже раніше анонсував її, і вирішив, що не варто зволікати)
Для початку, вибрав доволі стандартну задачку, але, надіюсь, вам сподобається 😊
Задача #1:
Потрібно написати функцію
Послідовність починається з двох одиниць, і продовжується сумою двох попередніх елементів, тобто: 1, 1, 2, 3, 5, 8, 13, 21 і тд
Ваші відповіді надсилайте у бот @python_kor0p_bot
Переможці:
1. Код, що виконується найшвидше
2. Код, що сподобається підписникам у голосуванні
Винагорода (на вибір):
- 2 години менторства від мене
- 100 грн
Як буде перевірятись коректність та швидкодія — описую у окремому JupyterLite
Відповіді приймаються до 9 червня 23:59
За мною залишається право задавати питання по вашій реалізації, щоб впевнитись, що код не крадений (ну або не від ШІ😅 )
10 червня буде проведено опитування серед підписників за найцікавішу відповідь, щоб визначити переможця #2
11 червня обидва переможці отримають свою винагороду, і їхні відповіді будуть опубліковані на каналі
Також, я опублікую свій варіант розв'язку, якщо вам цікаво)
Дуже чекаю ваших варіантів у боті☺️
Я уже раніше анонсував її, і вирішив, що не варто зволікати)
Для початку, вибрав доволі стандартну задачку, але, надіюсь, вам сподобається 😊
Задача #1:
Потрібно написати функцію
fib, що повертатиме н-ний елемент послідовності ФібоначчіПослідовність починається з двох одиниць, і продовжується сумою двох попередніх елементів, тобто: 1, 1, 2, 3, 5, 8, 13, 21 і тд
Ваші відповіді надсилайте у бот @python_kor0p_bot
Переможці:
1. Код, що виконується найшвидше
2. Код, що сподобається підписникам у голосуванні
Винагорода (на вибір):
- 2 години менторства від мене
- 100 грн
Як буде перевірятись коректність та швидкодія — описую у окремому JupyterLite
Відповіді приймаються до 9 червня 23:59
За мною залишається право задавати питання по вашій реалізації, щоб впевнитись, що код не крадений (ну або не від ШІ
10 червня буде проведено опитування серед підписників за найцікавішу відповідь, щоб визначити переможця #2
11 червня обидва переможці отримають свою винагороду, і їхні відповіді будуть опубліковані на каналі
Також, я опублікую свій варіант розв'язку, якщо вам цікаво)
Дуже чекаю ваших варіантів у боті
Please open Telegram to view this post
VIEW IN TELEGRAM
kor0p.github.io
Jupyter Notebook - Notebooks
WASM powered Jupyter running in the browser.
❤2🔥2
Сьогодні будемо обирати найцікавіший варіант вирішення 😎
Голосування (пост вище) буде відкрите до 23:59
Реалізації можна глянути ось тут:
- @pvlvld (від @pvlvld)
- @olsinika (від @olsinika)
- @krond (від @krond)
- hidden (від Hidden)
Як і обіцяв, завтра опублікую і свій варіант
P.S. він б не переміг😭
Усім дякую за участь, було цікаво слідкувати за потоком думок і реалізацій
У декого було декілька варіантів, і вони будуть опубліковані завтра (за згоди автора, звісно)
Голосування (пост вище) буде відкрите до 23:59
Реалізації можна глянути ось тут:
- @pvlvld (від @pvlvld)
- @olsinika (від @olsinika)
- @krond (від @krond)
- hidden (від Hidden)
Як і обіцяв, завтра опублікую і свій варіант
P.S. він б не переміг
Усім дякую за участь, було цікаво слідкувати за потоком думок і реалізацій
У декого було декілька варіантів, і вони будуть опубліковані завтра (за згоди автора, звісно)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤2😎1 1