python類物件的屬性是支援增、刪、改、查
查 - 獲取屬性值
物件.屬性 - 獲取物件指定屬性的值
getattr(物件, 屬性名) - 獲取物件指定屬性的值
getattr(物件, 屬性名, 預設值) - 獲取物件指定屬性的值
(如果屬性不存在不會報錯,返回預設值)
增、改物件.屬性 = 值 - 如果屬性存在就是修改物件屬性的值;如果屬性本身不存在就是
新增屬性
setattr(物件, 屬性名, 值) - 如果屬性存在就是修改物件屬性的值;如果屬性本身不
存在就是新增屬性
刪del 物件.屬性 - 刪除物件的指定屬性
delattr(物件, 屬性名) - 刪除物件的指定屬性
注: getattr 、 setattr 、 delattr 可以根據變數的值動態獲取指定屬性的值舉例:
class
dog:
def__init__
(self, name, breed=
'土狗'
, ***=
'母狗'
, age=1)
: self.breed = breed
self.*** = ***
self.age = age
self.name = name
dog1 = dog(
'大黃'
, ***=
'公狗'
)dog2 = dog(
'寶貝'
,'哈士奇'
, age=3)
# 1).查 - 獲取屬性值
print
(dog1.name)
print
(getattr
(dog1,
'name'))
print
(getattr
(dog1,
'name'
,'無名'))
# print(dog1.color) # attributeerror: 'dog' object has no attribute 'color'
# print(getattr(dog1, 'color')) # attributeerror: 'dog' object has no attribute 'color'
print
(getattr
(dog1,
'color'
,'白色'))
# 白色
# getattr可以根據變數的值動態獲取指定屬性的值
print
(dog1.age)
value =
input
('屬性名:'
)print
(getattr
(dog1, value)
)# 2)增、改
dog1.name =
'小黃'
print
(dog1.name)
# 小黃
dog1.color =
'黃色'
print
(dog1.color)
# 黃色
setattr
(dog1,
'name'
,'黃黃'
)print
(dog1.name)
# 黃黃
setattr
(dog1,
'weight',10
)print
(dog1.weight)
# 10
# 3)刪
del dog1.age
# print(dog1.age) # attributeerror: 'dog' object has no attribute 'age'
delattr
(dog1,
'name'
)# print(dog1.name) # attributeerror: 'dog' object has no attribute 'name'
執行結果:
大黃
大黃大黃白色1
屬性名:name
大黃小黃
黃色黃黃
10
後浪小萌新Python 基礎語法
注釋就是 中說明性的文字,不參與程式的編譯執行 不影響程式的功能 單行注釋 在一行說明性文字前加 這是第一行注釋 這是第二行注釋 這是第三行注釋執行如下 多行注釋 將注釋內容寫在三個單引號或者三個雙引號之間 這是第一行注釋 這是第二行注釋 這是第三行注釋 注 為了防止轉譯,加了縮排,在python中...
後浪小萌新Python 列表基礎
注 列表是容器型資料型別,以 作為容器的標誌,裡面的多個元素用逗號隔開 元素1,元素2,元素3,列表是可變 指的是元素的個數 值和順序可變 列表是有序 列表的元素可以是任何型別資料 同乙個列表可以有多個型別不同的元素 注 容器型資料型別 乙個資料裡面同時儲存多個資料 list2 注 列表可以為空,有...
後浪小萌新Python 多程序
多程序 需要其他程序的時候就建立程序類process的物件 注意 不能直接在乙個程序中修改另外乙個程序的資料 舉例 from multiprocessing import process import time data 10def download url global data data 1pr...