我有一個問題是如何呼叫物件的函式。
以下是我如何使用用戶輸入呼叫函式:
Player1 = Player()
Player2 = Player()
INPUT = input()
if INPUT in locals().keys():
try:
print(locals()[INPUT]())
但我想打電話例如Player1.status()(你不需要知道它做什么,我只是想打電話)
它不起作用,我知道它為什么不起作用但它是如何作業的?
顯然,打電話Player1毫無意義。
uj5u.com熱心網友回復:
嘗試像這樣使用getattr(object, name[, default]):
class Player:
def status(self):
return "Active"
player1 = Player()
INPUT = 'player1.status'
input_list = INPUT.split('.')
method_to_call = locals()[input_list[0]]
for i in input_list[1:]:
method_to_call = getattr(method_to_call, i)
method_to_call()
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/483331.html
下一篇:從另一個檔案中的函式匯入變數
