"10 Секретов Python: Хитрости и Библиотеки, Которые У

10 Секретов Python: Хитрости и Библиотеки
Привет, программисты! 🐍 Если вы думаете, что знаете Python наизусть, то приготовьтесь к тому, что я сейчас вас удивлю! Вот 10 секретов, которые сделают вашу жизнь проще и, возможно, даже веселее.
1. Лямбда-функции: магия в одной строке
Зачем писать многострочные функции, если можно всё уместить в одну? Лямбда-функции — это как магия для программистов. Но помните: с великой силой приходит великая ответственность. Не злоупотребляйте, иначе ваш код превратится в "лямбда-кошмар".
square = lambda x: x ** 2
print(square(5)) # 25
2. Списковые включения: меньше кода, больше счастья
Списковые включения — это как шоппинг для вашего кода. Вы можете выбрать только то, что вам нужно, и оставить все лишнее.
squares = [x ** 2 for x in range(10)]
print(squares) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
3. enumerate
: забудьте про счетчики
Зачем использовать счетчики, когда есть enumerate
? Это как если бы у вас был друг, который всегда говорит вам, сколько раз вы уже сделали что-то.
for index, value in enumerate(['apple', 'banana', 'cherry']):
print(index, value)
4. zip
: идеальный компаньон
Если у вас есть два списка, и вы хотите их объединить, используйте zip
. Это как сводить двух людей на свидание — иногда получается очень интересно!
names = ['Alice', 'Bob', 'Charlie']
ages = [25, 30, 35]
combined = list(zip(names, ages))
print(combined) # [('Alice', 25), ('Bob', 30), ('Charlie', 35)]
5. collections.Counter
: подсчет с юмором
Хотите узнать, кто из ваших друзей чаще всего опаздывает на встречи? Используйте Counter
! Это как статистика, но для вашей дружбы.
from collections import Counter
friends = ['Alice', 'Bob', 'Alice', 'Charlie', 'Bob', 'Alice']
count = Counter(friends)
print(count) # Counter({'Alice': 3, 'Bob': 2, 'Charlie': 1})
6. defaultdict
: для тех, кто не любит нули
Если вам не нравится, когда словарь возвращает KeyError
, используйте defaultdict
. Это как если бы ваш словарь всегда был готов к вашим запросам.
from collections import defaultdict
dd = defaultdict(int)
dd['missing_key'] += 1
print(dd['missing_key']) # 1
7. itertools
: бесконечные возможности
Хотите создать бесконечный список? Используйте itertools
. Это как если бы у вас был неограниченный запас пиццы — всегда наготове!
import itertools
counter = itertools.count(start=0, step=2)
print(next(counter)) # 0
print(next(counter)) # 2
8. functools.lru_cache
: кэширование как суперсила
Не хотите пересчитывать одно и то же? Используйте lru_cache
. Это как иметь супергероя, который всегда помнит, что вы уже сделали!
from functools import lru_cache
@lru_cache(maxsize=None)
def fibonacci(n):
if n < 2:
return n
return fibonacci(n-1) + fibonacci(n-2)
print(fibonacci(10)) # 55
9. pathlib
: работа с файлами без слез
Работа с файлами может быть сложной, но pathlib
делает это легче. Это как если бы у вас был личный помощник, который всегда знает, где что лежит.
from pathlib import Path
p = Path('example.txt')
print(p.exists()) # True или False
10. pytest
: тестирование с улыбкой
Если вы не используете pytest
, то вы точно что-то упускаете. Это как весёлый

All images are taken from the Pixabay.comБольше полезных статей 4adm.in