Полезные советы, приемы и хитрости Python
В процессе программирования на Python каждый постепенно находит для себя какие-то полезные приёмы по работе с кодом.
Ниже я привел несколько советов и приемов, которыми вы можете воспользоваться, чтобы ваша разработка на Python была еще эффективней. В будущем опубликую еще одну часть.
Как развернуть строку в Python?
str = "Привет мир!"
print("Развернутая строка:", str[::-1])
Результат:
Развернутая строка: !рим тевирП
[::-1] используется для инвертирования любых последовательностей
Как создать строку из элементов списка?
l = ['Это', 'строка', 'для', 'теста']
print(' '.join(l))
Результат:
Это строка для теста
Меняем местами сразу несколько переменных
x, y, z = 10, 20, 30
print(x, y, z)
x, y, z = z, y, x
print(x, y, z)
Результат:
10 20 30
30 20 10
Цепочка операторов сравнения
x = 50
result = 10 < x < 100
print(result)
result = 1 < x <= 49
print(result)
Результат:
True
False
Возвращение нескольких значений из функции
def func():
return 1, 2, 3
a, b, c = func()
print(a, b, c)
Результат:
1 2 3
Как найти наиболее частое значение в списке?
test = [1, 2, 3, 3, 2, 2, 3, 1, 3, 2, 2]
print(max(set(test), key = test.count))
Результат:
2
Выбор случайного элемента из списка
import random as r
l = [1, 2, 'привет']
print(r.choice(l))
Так же можно выбрать случайный элемент кортежа или строки.
Распаковка элементов с помощью *
Выведем элементы списка разделённые пробелами:
l = [1, 2, 3, 4, 42]
print(*l)
Результат:
1 2 3 4 42
Просмотр атрибутов и методов класса
С помощью функции dir() можно посмотреть список атрибутов и методов любого объекта. Ее удобно использовать при работе в интерпретаторе, особенно при изучении пакетов сторонних разработчиков.
str = "Привет"
print(dir(str))
Результат:
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
Умножение строк
В Python можно умножать не только числа, но и строки:
print('привет' * 3)
Результат:
приветприветпривет
Объединение списков в словарь
users = ['Саша', 'Катя', 'Аня']
ages = [35,19,22]
users_dict = dict(zip(users, ages))
print(users_dict)
Результат:
{'Саша': 35, 'Катя': 19, 'Аня': 22}