Три фишки Python, которые улучшат Ваш код
Язык программирования Python всё время совершенствуется, поэтому и программисту не нужно останавливаться и идти в ногу со временем.
Я занимаюсь программированием на Python уже более 10 лет. Было время, когда мне казалось, что я знаю всё и это было явным признаком того, что мне якобы не нужно было никуда совершенствоваться. Затем я решил немного поизучать, какие улучшения произошли в Python. Ведь версии Python 3.6, 3.7, 3.8 созданы не зря, верно? Изучив примечания к обновлениям, я узнал, какие есть новые приемы, фишки, которыми хотел бы поделиться с вами. Прочитав эту статью, вы узнаете:
- Как более четко форматировать большие целые числа
- Лучший способ работы с путями к файлам
- Правильный способ формирования строки
Форматирование больших чисел
Начиная с Python 3.6 (и выше) можно использовать символы подчеркивания для облегчения чтения чисел. Вот пример как это можно сделать:
# это миллиард или 100 миллионов?
billion = 1000000000
#лучше отобразить сумму с разделителями
billion_in_python36 = 1_000_000_000
#использование разделителя числа по своему желанию
thousand = 1_0_0_0
Такой же способ разделения чисел можно использовать с шестнадцатеричной системе исчисления или битном эквиваленте:
# grouping hexadecimal addresses by words
addr = 0xCAFE_F00D
# grouping bits into nibbles in a binary literal
flags = 0b_0011_1111_0100_1110
Обозначение пути в Python
Работа с использованием путей к файлам, коду и так далее может быть достаточно сложной, особенно если ваш код должен работать в нескольких операционных системах.
К счастью для нас, в стандартной библиотеке Python есть библиотека pathllib. Давайте посмотрим на пример:
from pathlib import Path
path = Path("some_folder")
print(path)
# выводим путь к папке
# Можно вывести вложенные папки в более читаемом виде
path = path / "sub_folder" / "sub_sub_folder"
print(path)
# Получаем: some_folder/sub_folter/sub_sub_folder
# Обозначаем абсолютный путь к папке
print(path.resolve())
# Получаем: /Users/r.orac/some_folder/sub_folter/sub_sub_folder
Упрощаем формат строчных переменных
Возьмём такой пример кода:
# Вы всё ещё используете такой способ создания переменных?
person = "tom"
n_jumps = 10
print("%s jumped %d times" % (person, n_jumps))
# получаем на выходе: tom jumped 10 times
# Попытаемся использовать f-string
# f-string - этопеременная с префикос
# В версии Python 3.6 добавлена поддержка для f-string
print (f"{person} jumped {n_jumps} times")
# получаем на выходе: tom jumped 10 ti
#что на счёт использования дробных чисел?
#можно также использовать f-string
f = 0.33333
print(f"это округляется f={f:.2f} до двух знаков после запятой")
# получем на выводе: это округляется 0.33 до двух знаков после запятой
Я привык использовать старое форматирование строк в Python:
person = 'Roman'
exercise = 0
print("%d-times %s exercised during corona epidemic" % (exercise, person))
# output
# 0-times Roman exercised during corona epidemic
До недавнего времени я не знал, что есть лучший (более современный) способ форматирования строк в Python. Мы можем переписать приведенный выше пример так:
person = 'roman'
exercise = 0
print(f"{exercise}-times {person} exercised during corona epidemic")
# Получаем
# 0-times Roman exercised during corona epidemic
Функция fstring также поддерживает математические операции:
print(f"{exercise+1}-times {person} exercised during corona epidemic")
# получаем:
# '1-times roman exercised during corona epidemic'
Примечание
Эти фишки на языке Python сделают код более лаконичным, читаемым и программирование более приятным. Многие разработчики Python не знают об этом , но вы теперь точно больше не один из них. Вопросы, комментарии можете оставлять на странице обсуждения данной статьи.