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

avatar

image


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, то вы точно что-то упускаете. Это как весёлый


image


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



0
0
0.000
0 comments