Поиск…


Инициализация ключа словаря

Предпочитайте метод dict.get если вы не уверены, присутствует ли ключ. Он позволяет вернуть значение по умолчанию, если ключ не найден. Традиционный метод dict[key] приведет к KeyError исключения KeyError .

Вместо того, чтобы делать

def add_student():
    try:
        students['count'] += 1
    except KeyError:
        students['count'] = 1

Делать

def add_student():
        students['count'] = students.get('count', 0) + 1

Переключение переменных

Чтобы переключить значение двух переменных, вы можете использовать распаковку кортежа.

x = True 
y = False 
x, y = y, x 
x
# False 
y
# True

Использовать тестирование ценности истины

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()


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow