python——类与实例

访问限制

私有变量
如想要内部属性不被外部访问,可在属性的名称前加上两个下划线‘__’,在python内部,实例的变量名如果以__开头,就变成了一个私有变量,只有内部可以访问,外部不能访问。

获取对象信息

当我们拿到一个对象的引用时,如何知道这个对象的是什么类型,有什么方法?

  • type()
  • isinstance()
    可以判断某个对象是否是某种类型,返回True、False。eg:isinstance(‘abc’,str)
  • dir()
    可以获得一个对象的所有属性和方法。其中,类似__xxx__的属性和方法在python中都是有特殊用途的。如__len__方法返回长度,在python中,如果调用len()函数试图获取一个对象的长度,实际上,在len()函数内部,它自动去调用该对象的__len__方法。

定义类属性和实例属性

  • getattr()
  • setattr()
  • hasattr()

实例属性与类属性

python是动态语言,根据类创建的实例可以任意绑定属性。给实例绑定属性的方法是通过实例变量,或者通过self变量。

class Student(object):
    def __init__(self, name):
        self.name = name

s = Student('Bob')
s.score = 90

如果需要给类本身绑定一个属性,可直接在class中定义属性,这种属性是类属性,归该类所有。

class Student(object):
    name = 'Student'

访问类属性和实例属性

实例属性属于各实例所有,互不干扰。而所有实例可以共享一个类属性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值