Code Ukraine // Програмування
17.8K subscribers
970 photos
306 videos
3 files
1.38K links
Корисні шпаргалки, лекції та матеріали для програмістів.


@itua_chat - наш чат
@ad_duck - зв’язок / @ukr_duck
Download Telegram
del

del - це оператор, який використовується для видалення об'єктів. Він може застосовуватися до елементів списку, зрізів списку, змінних, атрибутів та елементів словника. У контексті списків, del використовується для видалення елементів або зрізів зі списку за індексом або діапазоном індексів.

#python

Code Ukraine
list.clear

Метод clear використовується для видалення всіх елементів зі списку, залишаючи його порожнім. Цей метод дуже зручний, коли потрібно очистити список, не створюючи новий об'єкт.

#python

Code Ukraine
writable()

Метод writable() перевіряє, чи дозволено доступ на запис до файлу або потоку. Він особливо корисний під час роботи з потоками, такими як сокети, щоб визначити, чи можна записувати в них дані.

#python

Code Ukraine
sorted

Функція sorted() повертає відсортований список елементів із зазначеного ітерованого об'єкта. Вона не змінює вихідний об'єкт, а повертає новий відсортований список. За замовчуванням сортування відбувається за зростанням, але за допомогою параметра reverse=True можна змінити напрямок на спадання.

#python

Code Ukraine
math.gcd

Функція math.gcd використовується для знаходження найбільшого спільного дільника (НСД) двох чисел. Найбільший спільний дільник (НСД) двох чисел - це найбільше число, на яке обидва числа діляться без залишку. У першому прикладі НСД чисел 48 і 18 дорівнює 6, бо 6 є найбільшим числом, яке ділить і 48, і 18 націло.

#python

Code Ukraine
RegEx: search

Функція search() шукає збіг у рядку і повертає об'єкт Match, якщо збіг є. Якщо є більше одного збігу, буде повернуто тільки перше входження збігу. Якщо збігів не знайдено, повертається None.

#python

Code Ukraine
Зміна елементів словника

Ти можеш змінити значення певного елемента, звернувшись до його ключового імені. Метод update() оновить словник елементами із заданого аргументу. Аргумент має бути словником або ітерованим об'єктом з парами key:value.

#python

Code Ukraine
Використання менеджера контексту with

Менеджер контексту with дозволяє автоматично відкривати та закривати файли, з'єднання з базами даних та інші ресурси.

У цьому прикладі ми відкриваємо файл "example.txt" для читання і використовуємо менеджер контексту with для автоматичного закриття файлу після закінчення читання.

#python

Code Ukraine
Метод append() додає елемент в кінець списку

Метод append() використовується в Python для додавання елемента в кінець списку. Це простий спосіб розширити список новими значеннями.

Метод змінює початковий список, додаючи до нього новий елемент. Це зручно для роботи зі списками, які постійно оновлюються.

#python

Code Ukraine
🖥 Python: Метод remove()

Метод remove() видаляє перший співпадаючий елемент зі списку, який передається як аргумент.

Що варто знати:
— Якщо елемент, який ви хочете видалити, відсутній у списку, метод викличе помилку ValueError.
remove() видаляє тільки перше співпадіння.

Метод remove() корисний, коли потрібно видалити конкретний елемент зі списку без знання його індексу.

#python #lists

Code Ukraine
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Pandera, бібліотека Python, яка спрощує валідацію pandas датафреймів.

Вона також підтримує , швидку і легку бібліотеку Polars.

За допомогою Pandera ви можете бути впевнені, що ваші Polars датафрейми мають правильну структуру і будуть працювати правильно.

pip install pandera

▪️ Github
▪️Документація

#Pandera #python #opensource #Polars

Code Ukraine
Please open Telegram to view this post
VIEW IN TELEGRAM
📌 Флексім і створюємо GUI на Python з веб-технологіями рендеренига

У цьому нам допоможе Flexx - набір інструментів, зроблених на чистому Python. Він дає змогу писати код графічних інтерфейсів просто на пітоні та на ходу генерувати JavaScript за допомогою транслятора PScript.

Дізнатися подробиці про можливості та вивчити інструкцію можна на сторінці проекту .

#інструменти #python #javascript #gui

Code Ukraine
Please open Telegram to view this post
VIEW IN TELEGRAM
🔄 Як працює стек викликів (Call Stack) у програмуванні?

Стек викликів – це механізм управління виконанням функцій у програмі. Він працює за принципом LIFO (Last In, First Out) – остання функція, що була викликана, виконується першою!

Як це працює?

1️⃣ Коли викликається функція – її додають у стек.
2️⃣ Якщо функція викликає іншу функцію – вона також додається в стек.
3️⃣ Після завершення функції – вона видаляється зі стеку.
4️⃣ Програма працює, поки стек не стане порожнім.

Розбір роботи стеку викликів:

1️⃣ function_a() додається в стек.
2️⃣ function_a() викликає function_b(), вона додається у стек.
3️⃣ function_b() викликає function_c(), вона теж у стеку.
4️⃣ function_c() виконується та видаляється зі стеку.
5️⃣ function_b() завершується та виходить зі стеку.
6️⃣ function_a() завершується – стек порожній!

Вивід у консоль:
Inside A  
Inside B
Inside C
Exit B
Exit A


Що таке Stack Overflow?

🚨Переповнення стеку відбувається, коли функції додаються у стек без видалення – це часто трапляється при безкінечній рекурсії!

Поганий код (викликає Stack Overflow):
def infinite_recursion():
infinite_recursion() # Функція викликає саму себе без зупинки!

infinite_recursion()


⚠️ Ця програма викличе помилку RecursionError: maximum recursion depth exceeded.

Як уникнути Stack Overflow?

— Використовувати умову виходу в рекурсії.
— Оптимізувати рекурсивні виклики.
— Використовувати ітеративний підхід, якщо можливо.

💡Стек викликів – це основа розуміння, як виконуються функції в програмі.
А ти вже стикався з помилкою переповнення стеку? 😏

#програмування #стек #алгоритми #Python

Code Ukraine
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 JIT-компіляція: як інтерпретовані мови можуть бути швидкими

Зазвичай інтерпретовані мови, як Python або JavaScript, вважають повільнішими за компільовані (C, Rust). Але завдяки Just-In-Time (JIT) компіляції вони можуть значно прискорюватися. Як це працює? Розбираємося! 🔍

Що таке JIT-компіляція?
JIT-компіляція – це гібридний підхід між інтерпретацією та традиційною компіляцією.

🔹 Звичайна інтерпретація – код виконується рядок за рядком, що може бути повільним.
🔹 Звичайна компіляція – код заздалегідь перекладається у машинний код, що дає високу швидкість.
🔹 JIT-компіляція – код спочатку виконується як інтерпретований, але гарячі (часто використовувані) фрагменти перекладаються у машинний код під час роботи програми.

Результат? Висока швидкість виконання без втрати гнучкості!

⚙️ Як працює JIT?
1️⃣ Інтерпретатор запускає код і відстежує, які частини виконуються найчастіше.
2️⃣ Гарячий код передається JIT-компілятору, який перекладає його у машинний код.
3️⃣ Збережений машинний код використовується замість повторної інтерпретації.

🔁 Це дозволяє прискорювати роботу програм під час виконання!

Де використовується JIT?
Java (JVM HotSpot) – один із найвідоміших прикладів JIT, що дозволяє Java-додаткам бути швидкими.
JavaScript (V8, SpiderMonkey, Chakra) – браузери використовують JIT для пришвидшення JS-коду.
Python (PyPy) – альтернативний інтерпретатор Python із вбудованим JIT.
.NET (CLR, CoreCLR) – JIT-компіляція використовується для C# та інших мов платформи .NET.

Чи є недоліки?
🔹 Початкові затримки – JIT-компілятору потрібен час на аналіз та компіляцію.
🔹 Більше споживання пам’яті – збережений машинний код займає додатковий простір.
🔹 Складність реалізації – вбудовування JIT у мову вимагає серйозних оптимізацій.

Але виграш у швидкості для довготривалих процесів перекриває ці мінуси!

Висновок
JIT-компіляція – це магія, що дозволяє інтерпретованим мовам бути швидкими. Завдяки адаптивному підходу вони можуть спочатку бути гнучкими, а потім – продуктивними!

📌 Що думаєш про JIT? Використовував у своїх проєктах? Пиши в коментарях! 💬

#програмування #JIT #компіляція #JavaScript #Java #Python

Code Ukraine
Please open Telegram to view this post
VIEW IN TELEGRAM
🎮 Pygame — твої перші кроки у геймдеві

Мрієш створити свою гру, але не знаєш з чого почати?
🔹 Pygame — ідеальний інструмент для знайомства з розробкою ігор. Це проста, але потужна бібліотека на Python, яка дозволяє створювати 2D-ігри без зайвої мороки.

Що вміє Pygame?

Малювати графіку: спрайти, фони, анімації
Обробляти події з клавіатури та миші
Працювати зі звуками та музикою
Робити фізику зіткнень, таймери, FPS
Створювати інтерактивні проєкти, симуляції, навіть прототипи AI

🔹 Це просте вікно з червоним колом — твоя перша «гра». Далі — все у твоїх руках.

📌 Для чого використовують Pygame?

— Створення аркад, платформерів, шутерів
— Освітні проєкти (інформатика, програмування)
— Прототипування ідей без складного рушія
— Моделювання фізики та графіки для AI

Не обов’язково одразу лізти в Unity чи Unreal — Python + Pygame дає змогу легко стартанути й зрозуміти, як працюють ігри зсередини.

🔹 Це просте вікно з червоним колом — твоя перша «гра». Далі — все у твоїх руках.

Якщо цікаво — можу зробити цикл міні-проєктів на Pygame 🎯
#pygame #python #геймдев #ігри #інтерактив #освіта #2d

Code Ukraine
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Python isinstance(): перевіряємо тип об'єкта

Іноді потрібно зрозуміти: перед нами рядок, число чи список?
Тут у гру вступає функція `isinstance()`!

Як працює?
isinstance(object, classinfo)
Повертає True, якщо об'єкт є екземпляром зазначеного класу (або його нащадка).

А можна перевірити кілька типів одразу:
value = 42

if isinstance(value, (int, float)):
print("Число або число з плаваючою точкою!")


Просто передаємо кортеж типів — і Python сам перевіряє.

Навіщо це потрібно?
Писати гнучкий код, який працює з різними типами даних
Перевіряти вхідні параметри у функціях
Робити безпечні обробки без помилок типізації

🧠 Маленький, але дуже корисний інструмент для будь-якого Pythonista.
Бажаєш приклади, де isinstance() рятує в реальних проектах? Напиши 👇

#python #isinstance #типизація #базовіпоняття #гнучкийкод

Code Ukraine
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Python bytes() — працюємо з байтами просто

Коли треба зберігати бінарні дані (файли, зображення, мережеві пакети), ми не обійдемося без bytes.
Це незмінна послідовність байтів, яка поводиться схоже на рядок, але працює на рівні нулів та одиниць

⚙️ Як створити bytes?

1️⃣ З рядка (через кодування)
text = "Привіт"
b = bytes(text, encoding='utf-8')
print(b)
# b'\xd0\x9f\xd1\x80\xd0\xb8\xd0\xb2\xd1\x96\xd1\x82'


2️⃣ З списку чисел (0–255)
nums = [72, 101, 108, 108, 111]
b = bytes(nums)
print(b)
# b'Hello'


3️⃣ Порожній об'єкт або заданої довжини
b1 = bytes()
b2 = bytes(5)
print(b1) # b''
print(b2) # b'\x00\x00\x00\x00\x00'


Що можна робити з bytes?
Ітеруватися по байтах
Індексувати як список
Перетворити назад на рядок
Використовувати для запису у файли або мережевих протоколів

🚀 Де використовувати?
- Зберігання зображень / файлів
- Робота з мережами (сокети)
- Хешування та шифрування

Завжди пам'ятай:
bytes — незмінний тип (immutable)
bytearray — змінна версія (mutable) — якщо треба змінювати байти

Хочете — можу підготувати пост і про bytearray? 😉

#python #bytes #байти #програмування

Code Ukraine
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Python bytearray() — коли байти треба змінювати

Ми вже говорили про bytes — незмінний тип. А що як треба змінювати байти на льоту?
Тоді нам у поміч bytearray — майже те саме, але змінюваний (mutable) 🧩

⚙️Як створити bytearray?

1️⃣ З рядка (через кодування)
text = "Hello"
ba = bytearray(text, 'utf-8')
print(ba)
# bytearray(b'Hello')


2️⃣ З списку чисел (0–255)
nums = [65, 66, 67]
ba = bytearray(nums)
print(ba)
# bytearray(b'ABC')


3️⃣ Порожній або заданої довжини
ba1 = bytearray()
ba2 = bytearray(4)
print(ba1) # bytearray(b'')
print(ba2) # bytearray(b'\x00\x00\x00\x00')


Можна навіть видаляти або додавати:

ba.append(33)  # додаємо '!'
print(ba)
# bytearray(b'hello!')

del ba[1:3] # видаляємо 2 байти
print(ba)
# bytearray(b'heo!')


🚀 Де використовувати?
- Модифікація бінарних файлів
- Робота з мережевими буферами
- Швидке редагування великих бінарних даних

🤔 bytes чи bytearray?
bytes - незмінний, легше для читання
bytearray - змінний, гнучкіший для змін

Хочете приклади реального застосування? Можу підготувати пост про запис у файли або мережеві сокети ✍️

#python #bytearray #байти #програмування

Code Ukraine
Please open Telegram to view this post
VIEW IN TELEGRAM
🗑 Python list.remove() — видаляємо елемент зі списку

Що робити, якщо в тебе є список, і треба видалити конкретне значення (а не за індексом)?
Використовуй метод `remove()` — він шукає перший збіг і прибирає елемент зі списку.

📍 Синтаксис
list.remove(елемент)


> Видаляє перший знайдений елемент зі значенням елемент. Якщо такого немає — буде помилка ValueError.

🛠 Приклад
fruits = ['apple', 'banana', 'cherry', 'banana']
fruits.remove('banana')
print(fruits)


Результат:
['apple', 'cherry', 'banana']


Видалено перший 'banana', інший залишився.

Якщо такого елемента немає:
fruits.remove('orange')


Викине: ValueError: list.remove(x): x not in list

Щоб уникнути помилки — перевіряй наявність елемента 👇
if 'orange' in fruits:
fruits.remove('orange')


Коли корисно?
Очищення дублікатів
Видалення непотрібних значень
При роботі з динамічними списками (фільтрація даних)

Лайфхак
Хочеш видалити всі входження?
Тоді — цикл або list comprehension:
fruits = [f for f in fruits if f != 'banana']


Написати ще пост про del / pop() / clear() для порівняння? 🧐
Якщо цікаво — пиши в коментарі, підготую!

#python #списки #видалення #програмування #приклади

Code Ukraine
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Python `del` — універсальне видалення

Хочеш швидко видалити елемент зі списку або взагалі прибрати змінну з памʼяті? `del` — саме те, що треба! ⚡️

📌 Що таке `del`?
Це ключове слово Python, яке дозволяє видаляти:
Елементи списків
Зрізи списків
Ключі словників
Змінні повністю

🛠 Як працює `del`?
Кроки:
1️⃣ Вкажи, що саме хочеш видалити (індекс, зріз, ключ або змінну)
2️⃣ Python прибирає цей обʼєкт з памʼяті

Часова складність
Видалення з списку за індексом — O(n) (зсув елементів)
Видалення з словника — O(1)

Коли використовувати?
Видалити зайві елементи зі списку чи словника
Оптимізувати памʼять, прибираючи змінні
Очищати великі списки/словники зрізами

🤔 Що ще варто знати?
`del` нічого не повертає (не плутай із pop())
— Можна використовувати для видалення всього списку або словника одразу

del numbers  # Видаляє весь список numbers


Хочете пост про `pop()`, `clear()` або `remove()` для повного порівняння? Напишіть в коментарях — підготую! ✍️

#python #списки #словники #видалення #алгоритми #приклади

Code Ukraine
Please open Telegram to view this post
VIEW IN TELEGRAM