Python中如何使用getattr()函數(shù)-創(chuàng)新互聯(lián)

這篇文章將為大家詳細講解有關(guān)Python中如何使用getattr()函數(shù),小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

“專業(yè)、務(wù)實、高效、創(chuàng)新、把客戶的事當成自己的事”是我們每一個人一直以來堅持追求的企業(yè)文化。 創(chuàng)新互聯(lián)是您可以信賴的網(wǎng)站建設(shè)服務(wù)商、專業(yè)的互聯(lián)網(wǎng)服務(wù)提供商! 專注于網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、軟件開發(fā)、設(shè)計服務(wù)業(yè)務(wù)。我們始終堅持以客戶需求為導(dǎo)向,結(jié)合用戶體驗與視覺傳達,提供有針對性的項目解決方案,提供專業(yè)性的建議,創(chuàng)新互聯(lián)建站將不斷地超越自我,追逐市場,引領(lǐng)市場!

getatter()通過方法名字符串調(diào)用方法,這個方法最主要的作用就是實現(xiàn)反射機制,也就是說可以通過字符串獲取方法實例,這樣就可以把一個類可能要調(diào)用的方法放到配置文件里,需要的時候進行動態(tài)加載。

1: 可以從類中獲取屬性和函數(shù)

新建test.py文件,代碼如下:

# encoding:utf-8
import sys
 
class GetText():
  def __init__(self):
    pass
 
  @staticmethod
  def A():
    print("this is a staticmethod function")
 
  def B(self):
    print("this is a func")
  c = "cc desc"
 
if __name__ == '__main__':
  print(sys.modules[__name__]) # <module '__main__' from 'D:/腳本項目/lianxi/clazz/test.py'>
  print(GetText)  # <class '__main__.GetText'>
  # 獲取函數(shù)
  print(getattr(GetText, "A"))  # <function GetText.A at 0x00000283C2B75798>
  # 獲取函數(shù)返回值
  getattr(GetText, "A")()  # this is a staticmethod function
  getattr(GetText(), "A")()  # this is a staticmethod function
 
  print(getattr(GetText, "B"))  # <function GetText.B at 0x000001371BF55798>
  # 非靜態(tài)方法不可用
  # getattr(GetText, "B")()
  getattr(GetText(), "B")()   # this is a func
  print(getattr(GetText, "c")) # cc desc
  print(getattr(GetText(), "c"))  # cc desc

本文名稱:Python中如何使用getattr()函數(shù)-創(chuàng)新互聯(lián)
標題來源:http://muchs.cn/article42/djghhc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、網(wǎng)頁設(shè)計公司、App開發(fā)、品牌網(wǎng)站設(shè)計定制網(wǎng)站、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管