我有變量text1
,text2
, text3
。我想打印它們。如何使用forloop變量名稱
for i in range(1, 4):
text = 'text' + str(i)
print(text)
此代碼輸出字符串 文本1 文本2 文字3 ,他們不是內容。
我有變量text1
,text2
, text3
。我想打印它們。如何使用forloop變量名稱
for i in range(1, 4):
text = 'text' + str(i)
print(text)
此代碼輸出字符串 文本1 文本2 文字3 ,他們不是內容。
雖然我同意其他意見,但有一種方法。 但請嘗試找到一個更好的方法來做到這一點。
for i in range(1,4):
text = 'text' + str(i)
print(eval(text))
它會工作,但請避免在代碼操作中使用eval,除非你想要巨大的安全漏洞。 – Rosh
你不想這樣做,請嘗試使用列表或字典來代替。
正確的方法是python是使用字典。此刻,您正在接受一個字符串對象,該字符串對象由包含字符串'text'的變量文本引用,並將其與字符串對象'i'連接起來以創建新的字符串對象'texti'並使文本變量引用該對象。也就是說,你所做的就是創建一個新的字符串對象並用相同的變量引用它。
你想要做的是製作一個字典,其中的鍵是變量,值包含你引用的對象。
variables = {'var1':'Hello', 'var2':'World'}
現在如果你想獲得「你好」,你會
print(variables['var1'])
如果由於某種原因,你需要做到這一點,你可以使用函數eval
解析字符串作爲Python表達式。只是
print(eval(text))
取代你print(text)
線,但詹姆斯Lingham說,這不是一個好主意。閱讀並容易出錯是令人困惑的,並且存在更簡單的解決方案。例如,您可以創建一個列表[text1, text2, text3]
,然後遍歷它們。
text = [text1, text2, text3]
for i in text:
print(i)
不要嘗試動態創建變量。這是錯誤的方式。請改用[詞典](https://docs.python.org/3/library/stdtypes.html#dict)。 –