Введение
Примеры
Словарные инициализации ключа
Предпочитают dict.get
метод , если вы не уверены , что если ключ присутствует. Это позволяет вам вернуть значение по умолчанию, если ключ не найден. Традиционный метод dict[key]
поднимет KeyError
исключение.
Вместо того, чтобы делать
def add_student():
try:
students['count'] += 1
except KeyError:
students['count'] = 1
Делать
def add_student():
students['count'] = students.get('count', 0) + 1
Переключение переменных
Используйте проверку истинности значения
Python неявно преобразует любой объект в логическое значение для тестирования, поэтому используйте его везде, где это возможно.
# Good examples, using implicit truth testing
if attr:
# do something
if not attr:
# do something
# Bad examples, using specific types
if attr == 1:
# do something
if attr == True:
# do something
if attr != '':
# do something
# If you are looking to specifically check for None, use 'is' or 'is not'
if attr is None:
# do something
Как правило, это создает более читаемый код и, как правило, намного безопаснее при работе с неожиданными типами.
Нажмите здесь для получения списка того , что будет оцениваться в False
.
Проверка на «__main__», чтобы избежать неожиданного выполнения кода
Это хорошая практика , чтобы проверить программу вызывающей __name__
переменную перед выполнением кода.
import sys
def main():
# Your code starts here
# Don't forget to provide a return code
return 0
if __name__ == "__main__":
sys.exit(main())
Использование этого шаблона гарантирует, что ваш код выполняется только тогда, когда вы ожидаете, что он будет; например, когда вы запускаете файл явно:
python my_program.py
Преимущество, однако, приходит если вы решили import
файл в другой программе (например , если вы пишете его как часть библиотеки). Вы можете import
файл, а __main__
ловушка будет гарантировать , что код не выполняется неожиданно:
# A new program file
import my_program # main() is not run
# But you can run main() explicitly if you really want it to run:
my_program.main()