估计你得知命令行中运行你的程序据我的经验,在editplus中运行输出文本类的python程序可见输出结果。
你对这个回答的评价是
按这个写法select
是对象方法,调用需要关联一个实例Factory()
调用时对象实例是与第一个参数car_type
绑定。这个参数名一般约定为self
但是不要求。
你需要明白以下两种调用方式是不同的:
第一种方式用实例对象去调用,第一个参数car_type
自动与实例对象f
绑定;
第二种方式用类去调用,第一个参数(car_type
)没有绑定;你需要自己绑定財能不出错——也就是你传进去的car_type
:Factory.selct(car_type)
这行
但是,当你加上self
后这个函数有两个参数,但是你只绑定了car_type
也就是绑定到第一个参数self
,第二個没有值必然就出错了。
这里你要做的其实是将select
实现成类方法:
以上无论是self
还是cls
,都只是约定的名字而已起作用的是Python的类-对象-方法模型。
建议可以看看《Python源码剖析》至少要理解@classmethod是怎么工作的,要不然是写不好这类代码的
估计你得知命令行中运行你的程序据我的经验,在editplus中运行输出文本类的python程序可见输出结果。
你对这个回答的评价是