您好,登錄后才能下訂單哦!
當一個類中,帶有多個方法時,要求用戶輸入方法名,并調用相應函數,此時就可使用類的反射方法,來快速調用相應函數,而不再需要使用多個IF判斷條件語句。
#Author Kang
class Dog(object):
def __init__(self,name):
self.Name = name
def eat(self):
print("%s is eatting...."%(self.Name))
def talk(self):
print("%s is talking...."%self.Name)
def sleep(self):
print("%s is sleep...."%self.Name)
def walk(self):
print("%s is walking..."%self.Name)
def alert(self):
print("此方法不存在")
d1 = Dog("二哈")
choice = input("請輸入你想要的:>>")
if hasattr(Dog,choice): #判斷Dog類是否有此方法
func = getattr(d1,choice) #調用該方法(返回值為函數地址)
func() #運行該函數,并可傳值
else:
print("你輸入的方法有誤!!!!")
結果:
請輸入你想要的:>>eat
二哈 is eatting....
請輸入你想要的:>>eat
二哈 is eatting....
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。