类对象可直接访问属性,但未实例化不能调用方法
Posted 道高一尺
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类对象可直接访问属性,但未实例化不能调用方法相关的知识,希望对你有一定的参考价值。
>>> class MyClass: name = ‘FishC‘ def mufun(self): print(‘hello Fishc!‘) >>> MyClass.name#类对象对类的属性进行直接访问 ‘FishC‘ >>> MyClass.mufun()#但是类没有实例化,访问其中的方法,则成为不可能。 Traceback (most recent call last): File "<pyshell#18>", line 1, in <module> MyClass.mufun() TypeError: mufun() missing 1 required positional argument: ‘self‘ >>> a = MyClass() >>> a.mufun() hello Fishc!
我们常说的类指的是类定义,由于python无处不对象,所以当类定义之后,自然就成为一个类对象,在这个时候,你可以对类的属性(变量)进行直接访问,如上面的MyClass.name
一个类可以实例化出无数的对象(实例对象),python为了区分是哪个实例对象调用了方法,于是要求方法必须绑定(通过self参数)才能调用,而未实例化的对象直接调用方法就会报错。
以上是关于类对象可直接访问属性,但未实例化不能调用方法的主要内容,如果未能解决你的问题,请参考以下文章