python第九章
01类属性、实例属性
类属性: 在类的属性中,分为公有类属性和私有类属性
公有类属性:所有对象都可访问
私有类属性:只能在类内部访问,不能通过实例对象访问
➢ 实例属性(对象属性):
➢ 通过实例(对象)去修改类属性:
私有属性:
class Person():
name = "Tom"
__age = 12
def __init__(self):
print(self.__age)
p = Person()
print(p.name)
#print(p.age)
12
Tom
实例属性 (对象属性)
# -*- conding:utf-8 -*-
"""
实例属性(对象属性)
"""
class Person():
address = "北京"#类属性
def __init__(self):
self.name = '小明'#实例属性
self.age = 20 #实例属性
p = Person()
p.age = 12 #实例属性
print(p.address)
print(p.name)
print(p.age)
print(Person.address)
#print(Person.name) #错误
#print(Person.age) #错误
#类属性可以通过类名.属性名的方式去调用, 实例属性不可以通过类名去访问
北京
小明
12
北京
通过实例(对象)去修改类属性
class Person():
address = "china"#类属性
print(Person.address)
p = Person()
print("p.address:",p.address)
p.address = "japan"
print("p.address:",p.address) #实例属性会屏蔽掉同名的类属性
print("Person.address:",Person.address)
del p.address #删除实例属性
print("p.address:",p.address)
china
p.address: china
p.address: japan
Person.address: china
p.address