一、初始化实例属性

1. 一般情况下,使用self.a=a来设置属性。例如:

class Person(object):
    def __init__(self, name, gender, birth):
        self.name = name
        self.gender = gender
        self.birth = birth

xiaoming = Person('Xiao Ming', 'Male', '1991-1-1')
print xiaoming.name

2. 当__init__方法可以接受关键字参数时,使用setattr(self, 'name', 'xxx') 来设置属性。例如:

class Person(object):
    def __init__(self, name, gender, birth, **kw):
        self.name = name
        self.gender = gender
        self.birth = birth
        for k,v in kw.iteritems():
            setattr(self, k, v)

xiaoming = Person('Xiao Ming', 'Male', '1991-1-1', job='student') 
print xiaoming.name
print xiaoming.job

二、类属性

class Person(object):
    address = 'Earth'
    def __init__(self, name):
        self.name = name

注:1)类属性可以直接访问(Person.address);

2)所有实例都可以访问到所属的类的属性;

3)每个实例各自拥有实例属性,互相独立,而类属性一旦改变,所有实例访问到的类属性就都变了。

 

 





 

 


 

posted on 2019-04-09 22:23  小二妮儿  阅读(229)  评论(0编辑  收藏  举报