下列代码为什么没有添加self提示错误代码1但是依然可以执行

按这个写法select是对象方法,调用需要关联一个实例Factory()调用时对象实例是与第一个参数car_type绑定。这个参数名一般约定为self但是不要求。

你需要明白以下两种调用方式是不同的:

第一种方式用实例对象去调用,第一个参数car_type自动与实例对象f绑定;
第二种方式用类去调用,第一个参数(car_type)没有绑定;你需要自己绑定財能不出错——也就是你传进去的car_typeFactory.selct(car_type)这行

但是,当你加上self后这个函数有两个参数,但是你只绑定了car_type也就是绑定到第一个参数self,第二個没有值必然就出错了。

这里你要做的其实是将select实现成类方法:

以上无论是self还是cls,都只是约定的名字而已起作用的是Python的类-对象-方法模型。

建议可以看看《Python源码剖析》至少要理解@classmethod是怎么工作的,要不然是写不好这类代码的

估计你得知命令行中运行你的程序据我的经验,在editplus中运行输出文本类的python程序可见输出结果。

你对这个回答的评价是

我要回帖

更多关于 错误代码1 的文章

 

随机推荐