В Python есть аналог C
инструкции препроцессора, например ?:
#define MY_CONSTANT 50
Кроме того, у меня есть большой список констант, которые я хотел бы импортировать в несколько классов. Есть ли аналог объявления констант как длинной последовательности операторов, подобных приведенной выше, в .py
файле и их импорта в другой .py
файл?
Редактировать.
Файл Constants.py
гласит:
#!/usr/bin/env python
# encoding: utf-8
"""
Constants.py
"""
MY_CONSTANT_ONE = 50
MY_CONSTANT_TWO = 51
И myExample.py
читает:
#!/usr/bin/env python
# encoding: utf-8
"""
myExample.py
"""
import sys
import os
import Constants
class myExample:
def __init__(self):
self.someValueOne = Constants.MY_CONSTANT_ONE + 1
self.someValueTwo = Constants.MY_CONSTANT_TWO + 1
if __name__ == '__main__':
x = MyClass()
Редактировать.
Из компилятора
NameError: «глобальное имя MY_CONSTANT_ONE не определено»
функция init в myExample в строке 13 self.someValueOne = Constants.MY_CONSTANT_ONE + 1 вывод копии Программа завершилась с кодом # 1 через 0,06 секунды.