类对象可直接访问属性,但未实例化不能调用方法

>>> 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参数)才能调用,而未实例化的对象直接调用方法就会报错。

转载于:https://www.cnblogs.com/themost/p/6421952.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值