鱼C论坛

 找回密码
 立即注册
查看: 903|回复: 6

看了答案解析还是没明白这代码错误的原因

[复制链接]
发表于 2020-6-16 16:33:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
<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>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-16 16:42:40 | 显示全部楼层
错误提示你了,你少传一个关键遍历self。

MyClass.myFun() ,你在调用Myclass这个类的时候,没往里传self的值。

类中的函数并不支持这种单独调用,除非你把类里的self去掉。

去掉了,也就不是类函数了,而是普通的函数了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-16 16:52:04 | 显示全部楼层
heidern0612 发表于 2020-6-16 16:42
错误提示你了,你少传一个关键遍历self。

MyClass.myFun() ,你在调用Myclass这个类的时候,没往里传sel ...
 a=MyClass()
>>> a.myfun()
那·为什么这样就可以呢?这也没看到什么时候往里传了self的值了啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-16 17:08:59 | 显示全部楼层
波大大12138 发表于 2020-6-16 16:52
那·为什么这样就可以呢?这也没看到什么时候往里传了self的值了啊

@Twilight6
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-16 18:26:00 | 显示全部楼层
波大大12138 发表于 2020-6-16 16:52
那·为什么这样就可以呢?这也没看到什么时候往里传了self的值了啊

你传的self不就是实例对象吗?

你实例化了,当然可以调用了啊。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-17 09:39:11 | 显示全部楼层
heidern0612 发表于 2020-6-16 18:26
你传的self不就是实例对象吗?

你实例化了,当然可以调用了啊。

你好,可以解释下实例对象和实例化的概念和区别吗?这两点没有搞懂,不太清楚
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-17 09:48:02 | 显示全部楼层
波大大12138 发表于 2020-6-17 09:39
你好,可以解释下实例对象和实例化的概念和区别吗?这两点没有搞懂,不太清楚

你实例化的对象就是实例对象...(类相当图纸,实例化想当你根据图纸造出的东西。)

在你类定义中,类函数中的self指的就是你类实例化后的对象。

你可以理解为定义函数的时候,函数需要往里传值。

类也跟函数相似,只不过类的实例化多了一步,需要把你实例对象也传到类中,也就是那个self。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-20 16:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表