なぜこれが不可能なのですか?
CONSTANT = 1
def main():
if False:
CONSTANT = 0
print(CONSTANT)
main()
エラー:
UnboundLocalError: local variable 'CONSTANT' referenced before assignment
明示的な代入は何も変更しません:
CONSTANT = 1
def main():
CONSTANT = CONSTANT
if False:
CONSTANT = 0
print(CONSTANT)
main()
名前を変更するだけで仕事ができます:
CONSTANT = 1
def main():
constant = CONSTANT
if False:
constant = 0
print(constant)
main()
それはちょっと面倒です、どうにかしてその行動を避けることはできますか?