2015-07-20 7 views
-3

Как сохранить следующие константы и истины? (Другие слова глобал?)Как определить глобальные переменные?

UP :: Direction 
DOWN :: Direction 
LEFT :: Direction 
RIGHT :: Direction 
dirs = [UP, DOWN, LEFT, RIGHT] 

Моей попытка:

#global definitions 
UP = True 
DOWN = True 
LEFT = True 
RIGHT = True 
dirs = [UP, DOWN, LEFT, RIGHT] 
+3

Что не так с этим? Только никогда не переназначайте их. –

+1

* «константа и истина» * не обязательно совпадает с * «глобальными» * - вы можете (но вообще не должны) иметь глобальные переменные и, безусловно, иметь локальные «константы». Однако у Python действительно нет констант, все имена могут быть переназначены. Что вы на самом деле пытаетесь сделать *? – jonrsharpe

ответ

3

В Python нет истинных констант. Самое близкое, что вы можете сделать, это создать переменную и не переназначать ее. Ваша попытка выглядит так, как будто все будет хорошо.

Следует отметить, что «постоянный и истинный» не означает «глобальный». Отличительная особенность глобальной переменной не имеет ничего общего с постоянством, но область, на которую можно ссылаться (а именно, все). Вы можете иметь глобальные переменные, которые не являются постоянными (на языках, которые допускают константы, конечно), и постоянные переменные, которые не являются глобальными.

0

Я действительно не знаю, чего вы пытаетесь достичь, и от того, что вы хотите защитить значение «константы», но одно из возможных решений для создания массива memmap numpy, присвоить ему значение и «открыть», это снова как только чтение.

Смежные вопросы