"10 Умных Хитростей Python: Библиотеки и Лайфхаки

avatar

image


10 Умных Хитростей Python: Библиотеки и Лайфхаки

Привет, Python-разработчики! 🐍 Если вы думаете, что знаете все хитрости языка, то, возможно, вы просто забыли, как использовать import this. Давайте посмотрим на 10 умных хитростей, которые сделают вашу жизнь проще и, возможно, даже веселее!

1. Используйте enumerate вместо range(len())

Зачем писать for i in range(len(my_list))? Просто используйте for index, value in enumerate(my_list). Ваш код станет чище, а вы — более стильным!

my_list = ['apple', 'banana', 'cherry']
for index, value in enumerate(my_list):
    print(f"{index}: {value}")

2. Список в списке через zip

Не знаете, как объединить два списка? Используйте zip(), и ваш код будет выглядеть так, как будто вы только что вернулись из отпуска в Python-стране!

names = ['Alice', 'Bob', 'Charlie']
scores = [85, 90, 95]
combined = list(zip(names, scores))
print(combined)  # [('Alice', 85), ('Bob', 90), ('Charlie', 95)]

3. Генераторы списков

Если вам нужно создать новый список на основе существующего, используйте генераторы списков. Это как магия, только без шляпы и кроликов!

squares = [x**2 for x in range(10)]
print(squares)  # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

4. Модуль itertools

Зачем писать свои собственные функции для комбинаций и перестановок, когда есть itertools? Это как иметь швейцарский нож для работы с итерациями!

import itertools

combinations = list(itertools.combinations(['a', 'b', 'c'], 2))
print(combinations)  # [('a', 'b'), ('a', 'c'), ('b', 'c')]

5. defaultdict из collections

Когда вам нужно избежать ошибок ключа, используйте defaultdict. Это как иметь запасной ключ от квартиры, только для ваших словарей!

from collections import defaultdict

d = defaultdict(int)
d['a'] += 1
print(d)  # defaultdict(<class 'int'>, {'a': 1})

6. with для управления ресурсами

Используйте with для работы с файлами или другими ресурсами. Это как иметь помощника, который сам закрывает за вами двери!

with open('file.txt', 'r') as f:
    content = f.read()

7. f-строки для форматирования строк

Забудьте о str.format() и %! Используйте f-строки, и ваш код станет таким же элегантным, как ваш стиль программирования!

name = "Мир"
print(f"Привет, {name}!")  # Привет, Мир!

8. map и filter

Если вам нужно применить функцию к каждому элементу списка или отфильтровать элементы, используйте map и filter. Это как иметь автоматическую уборщицу для вашего кода!

numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, numbers))
even = list(filter(lambda x: x % 2 == 0, numbers))

9. 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)

10. Не забывайте про __name__ == "__main__"

Чтобы ваш код работал как модуль и как скрипт, используйте if __name__ == "__main__":. Это как иметь двойную жизнь: днем — скрипт, ночью — модуль!

def

***

<center>![image](https://pixabay.com/get/gf05b4f87eefc21d4fb2c82a1e8c13bbbea2c47787006de9fe9e5d2014c313e8267fa4b54fe6289eb57671f624d1894aafeb4971d9549fc6fbde5d80e9b23b951_640.jpg)</center>

***

All images are taken from the [Pixabay.com](https://pixabay.com)Больше полезных статей [4adm.in](https://4admin.mywire.org)


0
0
0.000
0 comments