我正在制作一個類似應用程式的字典,根據翻譯開關,螢屏顯示翻譯或原始單詞代碼如下所示:
PS:“textFunction(text)”只是一個將文本顯示到螢屏的函式。PS:“wordList”是詞類實體串列
class Word:
def __init__(self, original, translation):
self.original = original
self.translation = translation
translation = False
if translation == False:
wordDisplayed = .original
elif translation == True:
wordDisplayed = .translation
textFunction(wordList[X].wordDisplayed)
但是,這不起作用。我怎么能解決這個問題?
uj5u.com熱心網友回復:
你會使用getattr:
wordDisplayed = "translation" if translation else "original"
textFunction(getattr(wordList[X], wordDisplayed))
uj5u.com熱心網友回復:
雖然“getattr”是一個可能的解決方案,但我認為向get您的類添加一個函式會使這一切更具可讀性和可維護性:
class Word:
def __init__(self, original, translation):
self.original = original
self.translation = translation
def get(self, translation):
return self.translation if translation else self.original
words = [Word("hello", "hallo"), Word("world", "Welt")]
for w in words:
print(w.get(False), w.get(True))
輸出:
hello hallo
world Welt
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/314378.html
