Python:作为另一个对象的参数的对象
我有一个模块,包括Python中两个不同类的定义。我如何使用一个类的对象作为另一个类的参数?比方说,我有Driver和Car的类定义,并且Tuen想要一个Driver对象作为Car对象的参数。Python:作为另一个对象的参数的对象
更新:op为试图通过在类定义时一个对象实例(或让我觉得看到他的评论后)。以下答案不适用。
这是你想要实现的吗?
class Car:
def __init__(self, driver):
self.driver = driver
class Driver:
pass
driver = Driver()
car = Car(driver)
是的,这正是我想要做的:在类定义时间 – rize 2010-08-11 09:38:27
传递一个对象实例啊。你能告诉我你是如何在类定义中使用该对象实例吗?上面的注释似乎在类*构造函数*中使用它,这没有多大意义。发布一些代码会有帮助。 – 2010-08-11 10:17:44
创建一个Driver对象的实例并将其传递给Car的构造函数。
例如,
>>> d = Driver()
>>> c = Car(d)
或只是
>>> c = Car(Driver())
[编辑]
所以你想,你定义一个类使用一个驱动程序的实例?我仍然不确定自己理解你在做什么,但听起来像是某种装饰者。
def OwnedCar(driver):
class Car(object):
owner = driver
#...
return Car
steve = Driver()
SteveCar = OwnedCar(steve)
我的问题是有点不清楚,我的意思是如何处理的对象参数的类定义: 类车: 高清__init __(自我,driverA) driverA.foo() driverA.bar() 不这项工作,还是我必须在类定义中定义驱动程序的类型? – rize 2010-08-11 09:21:32
@rize在python中,你可以试试看看它是否有效。回答你的问题,不需要定义参数'DriverA'的类型。如果'DriverA.foo'和'DriverA.bar'存在,那么就不会有错误。只要'Pilot.foo'和'Pilot.bar'存在并且按照你的意愿做,你就可以通过'Pilot'。 – aaronasterling 2010-08-11 10:51:47
如果我明白你的问题,这将帮助你 假设我们有 类的BankAccount: “”“构造之后,我们有另一种方法‘’” 高清传输(个体经营,数量,对象): #object是变量传递用于引用的对象 BankAccount.credit(个体,量) object.debit(量)
呼叫方法 BANK1 =的BankAccount() bank1.transfer(2000,对象名)
定义“论点”。函数有参数,类没有。 – katrielalex 2010-08-11 08:47:46
你可以发布示例代码吗?目前还不清楚你为什么要说。 – 2010-08-11 09:24:22