副模块访问主模块的性质:
创建两个类,分别储存在两个不同的模块中,第一个位主模块,第二个为副模块,其中第二个负责设置整个程序中的某个性质,主模块访问副模块中的各种属性及其方法很容易,因为在主模块中已经输入了副模块:from last_model import last_model_Class_name
,并且在默认方法__init__()
中也已经将副模块的实例用做了主模块的属性,所以可以在整个主模块的类中任意调用副模块的任何东西,但是在副模块中调用主模块的各种方法及其属性,要使用如下方法:
主模块:
from set import Set
class Car:
def __init__(self):
self.gas_tank = 100
self.number = 1000
self.set = Set(self)
cars = Car()
cars.set.print_gas()
副模块:
class Set:
def __init__(self, ai_car):
self.gas_tank = ai_car.gas_tank
self.number = ai_car.number
def print_gas(self):
print(self.number)
再副模块中的类Set中,其默认方法__init__()
中接受两个参数,第一个为self
,第二个就是指向当前主模块Car
的引用。
引用方式为:self.new_name = ai_car.main_model_name
第一个句子:self.gas_tank = ai_car.gas_tank
,在副模块的方法中创建一个属性,并将主模块中的gas_tank
的值赋给它,这样就实现了他的调用。