Skip to main content
 首页 » 编程设计

python之是否可以在 python 中进行两种方式的组合

2025年05月04日14exmyth

首先,如果以错误的方式提出这个问题,我深表歉意,所以请不要欺骗我。我正在尝试做的是与以下内容非常相似的事情。

class Driver: 
    def __init__(self): 
        self.kind = "Driver" 
    def class_of_driver(self): 
        if self.model == 'corvette': 
            print('fast') 
class Car: 
    def __init__(self, brand, model, cost, color): 
        self.brand = brand 
        self.model = model 
        self.cost = cost 
        self.color = color 
        self.drivers = Driver() 

我希望能够像这样创建对象:

corvette = Car('chevy','corvette','200','red') 

然后最终能够做类似的事情:

corvette.class_of_driver 

或

corvette.class_of_driver() 

并在这种情况下获得快速的返回。我已经搞砸了一个小时左右,然后陷入困境。我知道我可以像这样将自己传递给自己:

self.drivers = Driver(self) 

当然,如果对象在未来发生变化,它不会反射(reflect)这种变化。

如有任何建议,我将不胜感激,在此先表示感谢。

请您参考如下方法:

当然可以。两个对象互相引用是很常见的。这是一种方法:

class Driver: 
    def __init__(self, car): 
        self.kind = "Driver" 
        self.car = car 
    def class_of_driver(self): 
        if self.car.model == 'corvette': 
            print('fast') 
class Car: 
    def __init__(self, brand, model, cost, color): 
        self.brand = brand 
        self.model = model 
        self.cost = cost 
        self.color = color 
        self.driver = Driver(self) 
 
    def class_of_driver(self): 
        return self.driver.class_of_driver() 
 
 
corvette = Car('chevy','corvette','200','red') 
 
corvette.class_of_driver()