python面向对象之类属性,实例属性

 python中的属性分为类属性和实例属性,之前已经说过一些,这里主要是对类属性与实例属性的增删改查

首先是对类属性的增删改查,下面这个是对类属性的修改,在书写类时,已经对类属性occupation进行赋了初值student,


class Person(object):
    occupation = 'student'

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


print(Person.__dict__)
stu1 = Person('ajune', '男', 18)
stu1.occupation = 's'  # 修改类属性,但仅在该实例中有作用
# Person.occupation = 's'  # 修改类属性,凡是由该类实例化的对象均是此值
print(stu1.name, stu1.gender, stu1.age, stu1.occupation)

stu2 = Person('ajune', '男', 18)
print(stu2.name, stu2.gender, stu2.age, stu2.occupation)  # 类属性occupation依旧是student

添加新的类属性

stu1 = Person('ajune', '男', 18)
Person.level = 's'  # 类中本不存在level类属性,通过此语句可以添加类属性
print(stu1.name, stu1.gender, stu1.age, stu1.occupation, stu1.level)

查看类属性,说是查看还是和使用类属性一样

Person.level

删除类属性,通过关键字del 类名.类属性即可

del Person.level

 以上的这些都只是对简单数据进行操作,那我们也可以为其添加成员函数,

def change(self):
    print('变成成员函数')

Person.change = change
stu1.change()

实例属性

增加实例属性,依旧是之前的类,通过stu1实例添加sport实例属性

stu1.sport = 'basketball'

删除实例属性

del stu1.gender

修改实例属性

stu1.age = 19

还可以通过底层的属性字典对其进行修改,但是不要这样做

转载于:https://www.cnblogs.com/June-King/p/10596201.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值