python------创建和使用类新手碰到的一些常见小问题和一些小知识点

python------创建和使用类常见的问题

1、Python 中的object takes no parameters错误
在这里插入图片描述
是 def init(self,name,score): 中的init前后应该有两个下划线,而我们只写了一个,所以会出错,这是个对初学者来说很容易犯的错误
修改代码,注意修改前后init的颜色变化

完整代码如下:
在这里插入图片描述

2、程序运行时出现 AttributeError: ‘str’ object has no attribute ‘tittle’ 这样的字样,检查代码

在这里插入图片描述

发现在下处出了问题,def没有与上面在同一个类中
在这里插入图片描述

检查发现不是这个问题,
但不知道为什么这样的代码倒是运行成功了

在这里插入图片描述
想想也是都没有用到roll这个方法,肯定能运行成功……对不起,是我打扰了
突然突然我找到了

在这里插入图片描述
这里的title拼错了吧……很可以,很新手,很智障

3、出现 IndentationError: expected an indented block

这句话翻译就是需要一个空格
对比原代码,我们可以发现在使用方法(在类中定义函数)后,需要空几格子……定义函数啊!定义函数!你都忘记了吗!

在这里插入图片描述

4、注意如果在类中没有输出print那么在下面主函数中要加一个print来输出,例如第21行,但是如果函数中已经有了print那么就直接用22行的方式,即直接调用函数即可。在这里插入图片描述

5、某个已经定义过的值,在编译的时候,系统报错: name ‘self’ is not defined

在这里插入图片描述
查错发现把print往后移个几个格子,self就没有波浪线了,像这样
在这里插入图片描述
然鹅,编译成功是成功了,但并没有得到我们想要的东西:在修改里程数为23后以后能不能打印出来,if句子到底有没有用,根据咱上面的第四条,干脆就把print的语句放在主函数里好了

在这里插入图片描述
嗯,也成功编译出来了
修改值为负数看看,毕竟前面定义obometer的初始值为0,
在这里插入图片描述终于终于,智障式调试结束了,代码完美的成功了

突然我又发现类中的read方法不就是干这种事情的吗!!所以我把print挪来挪去干什么!!!

在这里插入图片描述
下面则是python创建和使用类中的继承和导入类的部分知识点

6、下面这串代码包括将父类的属性用方法__init__继承给子类,并给子类定义自己的属性和方法
在这里插入图片描述

7、在把子属性中与battery有关的属性定义成一个类,并在Elec中直接调用,使得代码简单易读。
在这里插入图片描述
此时出现了如图所示的错误,很容易看出是哪边初夏了拼写的错误,41行中describe改正。
8、在另一个模块中调用类Car
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值