Глобальные переменные и рекомендации по стилю кодирования

этот вопрос довольно общий, но для меня больше понять хорошие практики кодирования в python...

Я хотел бы определить константу, которую я могу использовать внутри любой функции без необходимости передавать ее в качестве аргумента и без необходимости изменять ее где - либо после ее объявления-возможно, было бы неплохо сделать невозможным изменение, но не уверен, что я могу это сделать.

что было бы лучшим способом сделать это, с точки зрения стиля программирования (кодирование, соглашение имен, так далее.)

т. е., GLOBAL_CONSTANT= 'this_variable_will_not_be_changed'

мой код python будет иметь эту форму,это хороший стиль?

#!/usr/bin/env python

import sys
import os

GLOBAL_CONSTANT='this_variable_will_not_be_changed'

def test():
    print GLOBAL_CONSTANT
    return 0

def main():
    test()
    return 0

if __name__ == "__main__":
    main()

2 ответов


ваш код на самом деле ничего не делает, поэтому я думаю, что все в порядке! Что касается стиля вашего кода, обратитесь к PEP 8 всякий раз, когда вы сомневаетесь.

без дополнительной информации, чем вы уже дали нам, я бы сказал, что ваши конвенции в порядке.

строго придерживаться PEP-8 Не необходимо однако. Общий консенсус имеет тенденцию чтобы быть "держать ваш код последовательным". Это может быть запутанным чтением через форматированный файл PEP-8 только для того, чтобы наткнуться на "блоки" кода Java-esque или венгерской нотации.


в 99% случаев этого достаточно. Но если вам очень нужно это значение действительно постоянное, вы можете проверить этой

BTW: это будет трудный способ узнать Python, отражая все на других языках. Постарайся забыть прошлое. Учитесь думать весть.