看了答案解析还是没明白这代码错误的原因
<p>class MyClass:
name = 'FishC'
def myFun(self):
print("Hello FishC!")
>>> MyClass.name
'FishC'
>>> MyClass.myFun()
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
MyClass.myFun()
TypeError: myFun() missing 1 required positional argument: 'self'
>>></p><p>还是没有明白Myclass.myfun()那里为什么会报错?答案没看懂
</p>
错误提示你了,你少传一个关键遍历self。
MyClass.myFun() ,你在调用Myclass这个类的时候,没往里传self的值。
类中的函数并不支持这种单独调用,除非你把类里的self去掉。
去掉了,也就不是类函数了,而是普通的函数了。 heidern0612 发表于 2020-6-16 16:42
错误提示你了,你少传一个关键遍历self。
MyClass.myFun() ,你在调用Myclass这个类的时候,没往里传sel ...
a=MyClass()
>>> a.myfun()
那·为什么这样就可以呢?这也没看到什么时候往里传了self的值了啊
波大大12138 发表于 2020-6-16 16:52
那·为什么这样就可以呢?这也没看到什么时候往里传了self的值了啊
@Twilight6 波大大12138 发表于 2020-6-16 16:52
那·为什么这样就可以呢?这也没看到什么时候往里传了self的值了啊
你传的self不就是实例对象吗?
你实例化了,当然可以调用了啊。 heidern0612 发表于 2020-6-16 18:26
你传的self不就是实例对象吗?
你实例化了,当然可以调用了啊。
你好,可以解释下实例对象和实例化的概念和区别吗?这两点没有搞懂,不太清楚 波大大12138 发表于 2020-6-17 09:39
你好,可以解释下实例对象和实例化的概念和区别吗?这两点没有搞懂,不太清楚
你实例化的对象就是实例对象...(类相当图纸,实例化想当你根据图纸造出的东西。)
在你类定义中,类函数中的self指的就是你类实例化后的对象。
你可以理解为定义函数的时候,函数需要往里传值。
类也跟函数相似,只不过类的实例化多了一步,需要把你实例对象也传到类中,也就是那个self。
页:
[1]