关于类的方法的调用问题
请问要调用MyClass中的myFun(),应当怎么调用呢??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'
>>>
本帖最后由 一个账号 于 2020-3-23 22:07 编辑
找个东西代替 self:
>>> class MyClass:
name = 'FishC'
def myFun(self):
print("Hello FishC!")
>>> myclass = MyClass()
>>> MyClass.myFun(myclass)
Hello FishC! 一个账号 发表于 2020-3-23 22:05
找个东西代替 self:
大佬可不可以举个例子呢? 爱骆骆联盟盟主 发表于 2020-3-23 22:08
大佬可不可以举个例子呢?
下面不是有代码吗? 一个账号 发表于 2020-3-23 22:09
下面不是有代码吗?
那么请问要怎么如果该类有属性的话,要如何查看其属性呢? >>> class MyClass:
name = 'FishC'
def myFun(self):
print("Hello FishC!")
>>> myclass = MyClass()
>>> myclass . myFun()
Hello FishC!
>>> 你所定义的类中name是静态成员变量。是能够直接使用类名调用的,它不属于类的任何一个对象,额但是任何一个该类的对象都能调用静态成员变量。而类的函数,则需要该类实例化的对象调用。
举一个易于理解的例子。假设中国人是一个类,祖国的首都=北京,就是这个类的静态成员变量,不用具体到摸一个人,祖国首都就是北京;但是有一个函数:去他的家乡,这就要具体到某一个人了,需要先实例化一个对象,然后才能去他的家乡。
class MyClass:
name = 'FishC'
def myFun(self):
print("Hello FishC!")
first=MyClass()
second=MyClass()
print(first.name)
MyClass.name='Change'
print(second.name)
页:
[1]