Избегайте использования зарезервированных оригинальных имён модулей, классов, функций и переменных. Их использование, возможно, не сломает код сразу, но позже может доставить много проблем. Для получения всех встроенных имён выполните код в python:

import builtins
print(dir(builtins))

Пример 1

После объявления переменной с названием datetime доступ к классу datetime будет нарушен. Вместо него будет находиться переменная с датой.

Плохо:


from datetime import datetime

datetime = datetime(2025, 1, 1, 0, 0, 0)

Хорошо:


from datetime import datetime

naive_datetime = datetime(2025, 1, 1, 0, 0, 0)


Пример 2

В случае конфликта имён при импорте модулей используйте alias.

Плохо:


import pandas

pandas = 'Data science library'

df = pandas.DataFrame([1, 2, 3])

Хорошо:


import pandas as pd

lib_name = 'Data science library'

df = pd.DataFrame([1, 2, 3])


Пример 3

str, int, float, dict, list, set, tuple, ...

Плохо:


str = 'Строка'

Хорошо:


text = 'Строка'


Пример 4

Плохо:


class Postcard(BaseModel):
id: int
holiday_id: str = Field(alias='holidayId')

Хорошо:


class Postcard(BaseModel):
card_id: int = Field(alias='id')
holiday_id: str = Field(alias='holidayId')


Пример 5

Плохо:


def open(file_path):
...
return file

Хорошо:


def get_file(file_path):
...
return file