修改程序
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'
>>>
修改一下 能运行
self只有实例化时才不用输入,否则要传参的 wp231957 发表于 2021-5-2 15:48
self只有实例化时才不用输入,否则要传参的
帮忙写一下 程序
题目发出来 据此修改程序 suchocolate 发表于 2021-5-2 16:11
题目发出来
发出来了,原题只是问原因,我想改成对的程序,但不会改。。。。 窝窝头传奇 发表于 2021-5-2 16:57
发出来了,原题只是问原因,我想改成对的程序,但不会改。。。。
class MyClass:
name = 'FishC'
def myFun(): #去掉self,或者改成self=0
print("Hello FishC!")
窝窝头传奇 发表于 2021-5-2 16:57
发出来了,原题只是问原因,我想改成对的程序,但不会改。。。。
错误原因就是没有传递参数,把self参数去掉或者设置默认参数self=0都可以解决问题 伏惜寒 发表于 2021-5-2 17:13
错误原因就是没有传递参数,把self参数去掉或者设置默认参数self=0都可以解决问题
就是不用写self是因为这个函数是独立的 如果像下面这个例子
class Person:
def _init_(self,name):
self.name=name
def sayhello(self):
print( 'My name is:',self.name)
这就需要加入self 了 窝窝头传奇 发表于 2021-5-2 17:30
就是不用写self是因为这个函数是独立的 如果像下面这个例子
class Person:
def _init_(self,name) ...
我这样理解是不是对? 窝窝头传奇 发表于 2021-5-2 17:30
就是不用写self是因为这个函数是独立的 如果像下面这个例子
class Person:
def _init_(self,name) ...
1.def __init__(self,name): init方法前后都是两个"_"你只写了一个
2.self在这是用来调用self.name的,你可以把他理解成理解成默认参数 伏惜寒 发表于 2021-5-3 11:16
1.def __init__(self,name): init方法前后都是两个"_"你只写了一个
2.self在这是用来调用self.name的 ...
我知道了 谢谢啊
页:
[1]