实例属性和类属性

Posted wjun0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实例属性和类属性相关的知识,希望对你有一定的参考价值。

# 修改类的方法:
1,Person.country = ‘日本‘ 通过类名来修改
2,p.__class__.country = ‘日本‘ 通过实例进行修改(也是要先获取类,本质还是通过类进行修改)

# 实例可以访问类属性,但不能修改,(通过实例修改类属性,会给实例添加新的属性,不是修改,可用p.__dict__查看)

class Person(object):
country = ‘中国‘

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


p =Person(‘李四‘, 24)
print(p.name)

p.name = ‘张三‘ #实例属性可以修改 没有该属性就是添加

print(p.country) #访问类属性

# print(p.__dict__)
# p.country = ‘美国‘ #对象不能修改类属性,这样会添加一个实例属性
# print(p.__dict__)

#修改类属性,不需要通过实例
Person.country = ‘日本‘
print(p.country) #如果实例有该属性,访问的是实例属性,不是才会去查找类属性

#修改类的私有属性
print(Person.__dict__) #查看包装后的名称,然后在修改(非常规手段)
Person._Person__sink_color = ‘白种人‘

print(p.__class__) #通过对象获取类属性
p.__class__.country = ‘加拿大‘
print(Person.__dict__)

以上是关于实例属性和类属性的主要内容,如果未能解决你的问题,请参考以下文章

python 之实例属性和类属性

面向对象编程——实例属性和类属性

python中的实例属性和类属性

实例属性和类属性

Python day 8 实例属性和类属性

python 创建和类属性同名的实例属性,通过实例访问就是实例属性,通过类访问的属性就是类的属性