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'

访问类属性和实例属性

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

©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页