我正在製作一個基於文本的小遊戲,並且我想要一個函數,它將創建一個帶有座標的變量,稍後我可以調用它來繪製圖形。這是我有:基於另一個變量的基於變量的Python參考
def addObject(name, x, y):
global name = [x,y]
addObject(Home, 3,3)
print(Home)
我想稍後繪製它。這是我遇到的麻煩,但。
我正在製作一個基於文本的小遊戲,並且我想要一個函數,它將創建一個帶有座標的變量,稍後我可以調用它來繪製圖形。這是我有:基於另一個變量的基於變量的Python參考
def addObject(name, x, y):
global name = [x,y]
addObject(Home, 3,3)
print(Home)
我想稍後繪製它。這是我遇到的麻煩,但。
這是看起來做你想做的事情。
def addObject(name, x, y):
globals()[name] = [x,y]
addObject('Home', 3,3)
print(Home)
注意:它需要調用addObject
並將其名稱作爲字符串。
哦,謝謝你,這是我想要的!抱歉,我是新的原始解釋。 – user3666755
沒問題。就像我在評論中所說的那樣,在任何使用任何編程語言的非平凡程序中,全局變量都被認爲是一個壞主意。 python中的全局變量啓動較慢見[this](https://wiki.python.org/moin/PythonSpeed/PerformanceTips)。 –
@ user3666755 - 如果這是您正在尋找的答案,請點擊勾號以「接受」它。這不是必需的,但這樣,下一個具有相同問題的人就會知道這個解決方案正是你正在尋找的。它也爲你和發佈答案的人提供了一些聲譽。 –
從函數的定義看來它在某處添加了一個對象,但函數引用了一個'global',然後賦值給它(語法錯誤)。什麼是你送的'家'?它沒有在任何地方定義。我不知道你實際上想要完成什麼。 – TigerhawkT3
@ TigerhawkT3我認爲他有一個縮進問題。看看馬林的答案。 –
公平地說,縮進問題實際上是由編輯添加的。 – Marein