Три фишки Python, которые улучшат Ваш код

Материал из Викижурнал
Перейти к навигации Перейти к поиску
Фишки в Python
Три фишки 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 не знают об этом , но вы теперь точно больше не один из них. Вопросы, комментарии можете оставлять на странице обсуждения данной статьи.

Другие статьи о Python

Используемые источники