亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

hasattr()、getattr() 和setattr() 函數怎么在Python中使用

發布時間:2021-03-26 17:15:21 來源:億速云 閱讀:118 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關hasattr()、getattr() 和setattr() 函數怎么在Python中使用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

hasattr(object, name)

判斷一個對象里面是否有name屬性或者name方法,返回BOOL值,有name特性返回True, 否則返回False。

需要注意的是name要用括號括起來

 >>> class test():
 ...   name="xiaohua"
 ...   def run(self):
 ...       return "HelloWord"
 ...
 >>> t=test()
 >>> hasattr(t, "name") #判斷對象有name屬性
 True
 >>> hasattr(t, "run") #判斷對象有run方法
 True
 >>>

getattr(object, name[,default])

獲取對象object的屬性或者方法,如果存在打印出來,如果不存在,打印出默認值,默認值可選。

需要注意的是,如果是返回的對象的方法,返回的是方法的內存地址,如果需要運行這個方法,可以在后面添加一對括號。

 >>> class test():
 ...   name="xiaohua"
 ...   def run(self):
 ...       return "HelloWord"
 ...
 >>> t=test()
 >>> getattr(t, "name") #獲取name屬性,存在就打印出來。
 'xiaohua'
 >>> getattr(t, "run") #獲取run方法,存在就打印出方法的內存地址。
 <bound method test.run of <__main__.test instance at 0x0269C878>>
 >>> getattr(t, "run")() #獲取run方法,后面加括號可以將這個方法運行。
 'HelloWord'
>>> getattr(t, "age") #獲取一個不存在的屬性。
 Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
 AttributeError: test instance has no attribute 'age'
 >>> getattr(t, "age","18") #若屬性不存在,返回一個默認值。
 '18'
 >>>

setattr(object, name, values)

給對象的屬性賦值,若屬性不存在,先創建再賦值。

 >>> class test():
 ...   name="xiaohua"
 ...   def run(self):
 ...       return "HelloWord"
 ...
 >>> t=test()
 >>> hasattr(t, "age")  #判斷屬性是否存在
 False
 >>> setattr(t, "age", "18")  #為屬相賦值,并沒有返回值
 >>> hasattr(t, "age")  #屬性存在了
 True
 >>>

一種綜合的用法是:判斷一個對象的屬性是否存在,若不存在就添加該屬性。

 >>> class test():
 ...   name="xiaohua"
 ...   def run(self):
 ...       return "HelloWord"
 ...
 >>> t=test()
 >>> getattr(t, "age")  #age屬性不存在
 Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
 AttributeError: test instance has no attribute 'age'
 >>> getattr(t, "age", setattr(t, "age", "18")) #age屬性不存在時,設置該屬性
 '18'
 >>> getattr(t, "age") #可檢測設置成功
 '18'
 >>>

看完上述內容,你們對hasattr()、getattr() 和setattr() 函數怎么在Python中使用有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沙湾县| 万山特区| 商城县| 盘锦市| 舞阳县| 安岳县| 来凤县| 民乐县| 迁西县| 北流市| 延津县| 隆德县| 望谟县| 元阳县| 南宫市| 卢氏县| 西乡县| 海淀区| 湘潭县| 白玉县| 易门县| 迭部县| 阿勒泰市| 永泰县| 贵定县| 固原市| 鄂温| 鹤庆县| 巫山县| 治县。| 宜州市| 江北区| 辉县市| 句容市| 疏附县| 子长县| 临澧县| 八宿县| 黑山县| 盈江县| 河曲县|