python 动态属性

先来看一下一个常见的Python类的定义:

class Person(object):
    name = None
    age  = None

    def __init__(self,name,age):
        self.name = name
        self.age = age


if __name__=="__main__":

    p = Person(name='jianglegege',age=16)
    print(p.name,p.age) # jianglegege 16

来一个需求:

  每一个person实例都要有一个sid属性用来记录社保号

  写法 1): 直接改Person类

class Person(object):
    name = None
    age = None
    sid = None

    def __init__(self,name,age,sid):
        self.name = name
        self.age = age
        self.sid = sid

  写法 2):创建完实例后单独为实例设置sid属性

class Person(object):
    name = None
    age = None

    def __init__(self,name,age):
        self.name = name
        self.age = age


if __name__=="__main__":

    p = Person(name='jianglegege',age=16)
    p.sid = '9527'
    print(p.name,p.age,p.sid)

-----

猜你喜欢

转载自www.cnblogs.com/JiangLe/p/9071012.html