一、类的属性
1.类的组成由属性和方法组成,属性可以称为成员变量,方法可以称为成员函数。
2.对象的创建,创建对象的过程称之为实例化。当一个对象被创建后,包含三个方面的特性:1.对象句柄 2.属性 3.方法。
句柄:用于区分不同的对象。
对象的属性和方法与类中的成员变量和成员函数对应。
在类里面的属性和方法叫做成员变量和成员函数,在实例化后,调用这些变量和函数,就叫做对象属性和对象方法。
3.类的属性,类的属性按使用范微分为公有属性和私有属性,类的属性范围取决于属性的名称。
公有属性:在类中和类外都能调用的属性。
私有属性:不能在类外以及类以外的函数调用。
私有属性的定义方式:以__双下划线开始的成员变量就是私有属性,可以通过instance.classname_attribute方式访问。
内置属性:由系统在定义类的伤害默认添加的,有前后双下划线构成,__dict__, __module__。

比如:
class People( ):
    color = \'yellow\'  #这就是一个公有属性,可以在类里和类外调用
    __age = 30       #这就是一个私有属性,只能在类里调用。
    def think(self):   
        self.color = \"black\"    
        print \"i am a %s\" % self.color
        print \"i am a thinker\"
  print(self.__age)    #调用age
ren = People()
print ren.color
ren.think() 
print(ren.__age)

\"\"

可以看到在类里调用的__age成员变量可以调用出来,但是在类外就不行了。

如果想在外面看到的话可以这么看。但是不一般不建议这么做,在调试的时候可以用。class People( ):
       color = \'yellow\'
     __age = 30
    def think(self):
        self.color = \'black\'
        print(self.color)
ren = People()
print ren.color
ren.think()
print ren.__age
print ren._People__age  #这就可以看到内部的属性。还是建议放在成员函数里使用。\"\"

使用内部属性这么做直接使用对象属性的方式调用。

print ren.__dict__ 是属性所以没有括号。

\"\"

把公有属性分成字典的类型了。

我们不光可以使用对象来访问类的属性,还可以通过类来访问类的属性。但是只能访问公有属性。

print people.color

\"\"

4.对象属性修改。

class People( ):
       color = \'yellow\'
     __age = 30
    def think(self):
        self.color = \'black\'
        print(self.color)
ren = People()
ren.color = “白色人”   #通过对象属性修改color的值
print ren.color
ren.think()
print ren._People__age
\"\"

可以发现,对象属性的值得变了,但是在类中的的属性的值没有改变还是yellow。

通过类名去访问内置属性

print People.__dict__

\"\"

 

可以发现打印出了类里的所有属性对应的值。

收藏 打印