码迷,mamicode.com
首页 > 其他好文 > 详细

实例属性和类属性

时间:2019-09-12 23:43:38      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:方法   ini   obj   country   __init__   col   加拿大   访问   self   

# 修改类的方法:
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__)

实例属性和类属性

标签:方法   ini   obj   country   __init__   col   加拿大   访问   self   

原文地址:https://www.cnblogs.com/wjun0/p/11515404.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!