python 类和对象 一 setattr() delattr() getattr() hasattr() 函数的区别

# # 什么是类?类是具备相同属性和行为方法的事物的抽象的集合
## 类的例子:人类,鱼类,猴子类
# 类的做用:建立对象,通常会在类中定义一些属性和函数,当使用类建立对象的时候,该对象就会拥有类中定于的这些属性和函数
# 类中一些属性和函数,是由全部的对象身上共同的属性和行为抽离出来的
# 对象的做用:实现函数和属性的调用执行的

class People(object):
    # pass 保证语法完整性
    # pass
    # 人出生的时候,已经具备的性别、年龄、身高、体重
    # 初始化函数,在建立对象的时候自动调用
    # __init__ 内置函数
    def __init__(self, name, age, phone):
        # 在这个函数中须要将建立对象时就应该拥有的一些属性赋值
        # 对象.属性名 = 属性值
        self.name = name
        self.age = age
        self.phone = phone

# 使用People类建立一个对象
# 建立对象的基本格式:对象名 = 类名()
# 当建立一个对象时,会在内存中开辟一块空间,来存放这个对象,这个对象是有一个地址的
# 每次建立的对象都是一个单独个体,他们的内存地址都是不同的
1,添加新的属性
# 对象.属性名 = 属性值
# 添加新的属性名,或者是修改原有属性值
# 建立对象
建立对象 =  类名()

1 setattr(self,) 添加属性, python

delattr() 删除属性函数

hasattr(object,name )函数,判断是否是拥有该属性,若是有返回True,没有,返回Falsespa

getattr(object,name)函数,code

# 使用getattr(obejct, name, default)函数,会把获取到的属性值返回
# object 要获取属性的对象  name 要获取的属性名 default 当属性不存在,赋一个默认值
# 若是属性不存在,能够给一个默认值,不会让程序出现异常

 

# setattr 动态添加或者修改属性
attr_dict = {'iq': '150', 'eq': '150', 'color': 'yellow'}
t = (1,2,3)
t = 1,2
print(attr_dict.items())
# for循环遍历字典
#items,得到字典的键值对
for key,value in attr_dict.items():
    # key是属性名 value是属性值
    # setattr,能够将一个字符串的属性名 添加到对象的属性中
    # p1.key = value 这种方式没法添加 至关于写了 p1.'iq' = '150'
    setattr(p1, key, value)

print(p1.iq)

# delattr 动态删除属性
# 删除对象p1中的属性
attr_list = ['iq','eq','color']
for attr in attr_list:
    # 能够使用delattr函数删除
    delattr(p1, attr)
# 对象的属性删除以后,不可以使用
# print(p1.iq)
class People(object):
    total = 0
    def __init__(self,name):
        self.name = name
p1 = People('张总')
p2 = People('张我')
s = hasattr(p1,'sex')
print(s)
s = hasattr(p1,'name')
print(s)
m = getattr(p1,'sex',0)
print(m)
m = getattr(p1,'name',0)
print(m)

#False
True
0
张总
相关文章
相关标签/搜索