回覆列表
  • 1 # 使用者4535004975032

    方法一:透過異常捕捉來實現邏輯方法二:呼叫hasattr方法>>> hasattr(list, "append")True>>> hasattr(list, "add")False方法三:使用dir方法objlist = dir(k)if "att" in objlist: #do some thing you need print k.attelse:pass

  • 2 # 使用者8125325138772

    頂級函式hasattr可以檢視物件是否包含某某屬性,這裡的屬性包括資料屬性和方法。getattr可以獲取屬性。

    如下舉例說明。

    a=[1,2,3]

    print("列表有count屬性:%s"%hasattr(a,"count"))

    print("列表有append屬性:%s"%hasattr(a,"append"))

    print("列表有shift屬性:%s"%hasattr(a,"shift"))

    print("列表的count屬性是方法:%s"%hasattr(getattr(a,"count"),"__call__"))

    print("列表的append屬性是方法:%s"%hasattr(getattr(a,"append"),"__call__"))

    class myclass():

    def __init__(self):

    self.valattr=3

    def method(self):

    pass

    mc=myclass()

    print("myclass有valattr屬性:%s"%hasattr(mc,"valattr"))

    print("myclass有method屬性:%s"%hasattr(mc,"method"))

    print("myclass的valattr屬性是方法:%s"%hasattr(getattr(mc,"valattr"),"__call__"))

    print("myclass的method屬性是方法:%s"%hasattr(getattr(mc,"method"),"__call__"))

  • 中秋節和大豐收的關聯?
  • 燉龍骨怎麼做好吃,燉龍骨的家常做法?