一、访问属性
通过对象名.属性名,访问实例属性(对象属性):
class person():
'''
例子
'''
country = '中国' # 声明类属性并赋值
#实例属性通过构造方法来声明
#self 不是关键字,代表当前对象
def __init__(self,name,age,sex): #构造方法
#构造方法不需要调用,在实例化时自动调用
print('我是构造方法,在实例化时调用')
self.name=name #通过 self 创建实例属性并赋值
self.age=age
self.sex=sex
#创建普通方法
def getname(self):
print('我是%s'%self.name) #在方法里面使用实例属性
#实例化对象
#实例化时传递参数
eg1=person('MgVccl',18,'男') # 此时a具有了三个属性,并且可以使用 getname 方法
# 访问属性
print(eg1.name) #通过对象名.属性名,访问实例属性(对象属性)
print(eg1.age)
print(eg1.sex)
通过内置方法访问属性:
# 通过内置方法访问属性
#getattr(obj, name[, default]) : 访问对象的属性
print(getattr(eg1,'name'))
#hasattr(obj,name) : 检查是否存在一个属性
print(hasattr(eg1,'name'))
#setattr(obj,name,value) : 设置一个属性。如果属性不存在,会创建一个新属性
setattr(eg1,'name','luke')
print(eg1.name)
#delattr(obj, name) : 删除属性
# delattr(eg1,'name')
# print(eg1.name)
#通过对象调用实例方法
eg1.getname()
二、内置类属性
内置类属性:
__dict__ : 类的属性(包含一个字典,由类的属性名:值组成) 实例化类名.__dict__ __doc__ :类的文档字符串 (类名.)实例化类名.__doc__ __name__: 类名,实现方式 类名.__name__ __bases__ : 类的所有父类构成元素(包含了以个由所有父类组成的元组)
eg:
'''
内置类属性:
__dict__ : 类的属性(包含一个字典,由类的属性名:值组成) 实例化类名.__dict__
__doc__ :类的文档字符串 (类名.)实例化类名.__doc__
__name__: 类名,实现方式 类名.__name__
__bases__ : 类的所有父类构成元素(包含了以个由所有父类组成的元组)
'''
#__dict__ : 类的属性(包含一个字典,由类的属性名