我正試圖在程序中進一步更改一個變量。我有一個在程序開始時聲明的全局變量,我想在程序中改變不同函數中的變量。我可以通過在函數內再次聲明變量來做到這一點,但我想知道是否有更好的方法來做到這一點。一些測試代碼在下面解釋我的意思。如何在Python中更改變量
ID = 'No'
project = ("Yep"+ID) #ID added with no value which I later want to change
def pro():
ID = "YES"
print ID
def pro1(ID):
#I could declare project again to get this to work, but I would like to avoid this
print project # I want this to print with the new ID number.
if __name__ == '__main__':
pro()
pro1(ID)
有任何人任何想法,
我已經嘗試了「全局」變量感謝,但我這樣做時,該項目的變量還是打印出「YepNo」而不是「YepYES」。我希望函數'pro'中的新變量改變'project'變量中的變量。
你想讓項目的價值改變嗎?如果是這樣的話,那麼你應該爲它做一個課。 – 2010-01-11 10:07:41
與這個問題沒有關係,但是我通過將本地「myObject」設置爲沒有返回語句的函數的返回值來確定。這有效(價值設置爲無),但它是沒有意義的,是一個WTF,讓人想到「他到底在想什麼」。 – ddaa 2010-01-11 10:12:13
字符串在Python中是不可變的。在執行字符串連接時,如在「項目」分配中,您正在創建一個新字符串。您以後無法通過更改ID的值來更改「項目」。 – 2010-01-11 10:13:16