Я попытался инициализировать производный класс по умолчанию __init__function суперкласса, а затем попытался использовать глобальную переменную, которая инициализировалась в функции init. но было сообщение об ошибке говорит, переменная "д-р" в классе One не определенpython производный класс вызовет глобальную переменную, которая была инициализирована в суперклассе
base.py:
class Base(object):
dr = None
def __init__(self, driver):
global dr
dr = driver
one.py
class One(Base):
def fun(self):
print(dr)
if __name__=="__main__":
driver = 1
test = One(driver)
test.fun()
потому что в моем реальном случае используйте переменную «dr» много раз, я не думаю, что хорошо передавать ее с каждой функцией или инициализировать ее в каждом классе. – Kernel
Какая переменная? Как показано, я ожидал бы 'NameError' при поиске' Base'. Почему бы не сделать 'dr' атрибутом экземпляра? – jonrsharpe
Я пропустил оператор импорта, надеюсь, что вы не возражаете. – Kernel