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
張總
相關文章
相關標籤/搜索