Идиомы Python

Введение

Примеры

  • Словарные инициализации ключа

    Предпочитают 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()

Синтаксис

Параметры

Примечания