我正试图在程序中进一步更改一个变量。我有一个在程序开始时声明的全局变量,我想在程序中改变不同函数中的变量。我可以通过在函数内再次声明变量来做到这一点,但我想知道是否有更好的方法来做到这一点。一些测试代码在下面解释我的意思。如何在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