Lemon python的動態屬性

2021-10-03 17:59:16 字數 2998 閱讀 7281

目錄

動態獲取屬性

動態設定屬性

動態刪除屬性

判斷屬性是否存在

getattr獲取類屬性:

引數1:類

引數2:屬性名

引數3:預設值。如果屬性不存在,則返回該值

示例:

# 示例1

class

testdata:

url =

''method =

'get'

# getattr

獲取類屬性

res =

getattr

(testdata

, 'url'

)print

(res)

# 輸出結果:

res1 =

getattr

(testdata

, 'result'

, 'python'

)print

(res1)

# 輸出結果:

python

# 示例2:

class

testdata:

url =

''method =

'get'

name =

input('

請輸入你要獲取的屬性名:')

# getattr

獲取類屬性

res =

getattr

(testdata

, name

, 'none'

)print

(res)

# 輸出結果:

setattr設定屬性值:

引數1:類

引數2:屬性名

引數3:屬性值

class 

testdata:

url =

''method =

'get'

# 示例1:

# 類外面定義類屬性

# 方式一:類

.屬性名

=屬性值

testdata.result =

'pass'

print

(testdata.result)

# 方式二:動態

setattr

設定屬性

setattr

(testdata

, 'para'

, 'username'

)print

(testdata.para) 

# 輸出結果:

username

# 示例2:

# 將下面

2個列表,

title

作為屬性名,

data

作為屬性值,一一對應起來

title = [

'name'

, 'age'

, 'gender'

]data = [

'flora'

, 26

, 'female']#

以下方法是不可取的,會報錯:

attributeerror: type object 'testdata' has no attribute 'title'

# testdata.title[0] = data[0]

# print(testdata.title[0])

# setattr(testdata, title[0], data[0])

# setattr(testdata, title[1], data[1])

# setattr(testdata, title[2], data[2])

for

i in

range

(len

(title)):

setattr

(testdata

, title[i]

, data[i])

print

(testdata.name

, testdata.age

, testdata.gender)

# 輸出結果:

flora 26 female

delattr動態刪除屬性:

引數1:類

引數2:屬性名

示例:

class 

testdata:

url =

''method =

'get'

# 方式一:關鍵字

deldel

testdata.url

print

(testdata.url)

# 報錯:

attributeerror: type object 'testdata' has no attribute 'url'

# 方式二:

delattr

name =

input('

請輸入你要刪除的屬性:')

delattr

(testdata

, name)

hasattr判斷屬性是否存在:

引數1:類名

引數2:屬性名

如果屬性存在,返回true;如果屬性不存在,返回false

示例:

class 

testdata:

url =

''method =

'get'

del

testdata.url

res =

hasattr

(testdata

, 'url'

)print

(res)

# 輸出結果:

false

res1 =

hasattr

(testdata

, 'method'

)print

(res1)

# 輸出結果:

true

Lemon Python的基本語法

目錄 python的基本語法 走入python的世界 注釋 python的資料型別 1.輸出函式 print 示例 print hello world 2.輸入函式 input 控制台輸入內容 示例 input 請輸入 3.列印python關鍵字 35個 python內建的一些具有特定功能的單詞 i...

Lemon Python中的列表

目錄 列表定義 列表的取值 列表切片 列表的常見操作方法 列表中可以儲存多個資料,可以是任意型別的,每個元素之間用逗號隔開。列表list 用中括號來表示 li python 66,88.88,true,11,22,33 擴充套件 序列型別的資料 資料內部的元素是由順序的 有下標 序列型別的資料 字串...

Lemon Python中的字典

目錄 字典的定義 字典中的相關規範 字典的相關操作 花括號 表示字典,字典中的元素是由鍵值 key value 對組成的,每個元素用逗號隔開。字典是沒有下標索引的,其鍵key就是索引。第一種 直接通過的形式定義 dic 第二種 使用dict 轉換 key value key value 這種資料型別...