python - 如何在 Python 中更改全局变量

标签 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)

有没有人有什么想法,谢谢

我已经尝试了 global 变量,但是当我这样做时,项目变量仍然打印出 YepNo 而不是 YepYES。我想要函数 pro 中的新变量来更改 project 变量中的变量。

最佳答案

要更新您可以使用的全局变量

global ID
ID="Yes"

在将变量分配给 ID = "YES"之前

但是更改 ID 不会影响项目变量,project = ("Yep"+ID),因为 project 已经是一个字符串

你需要做一个像这样的函数

def getprojectname(ID):
    return project+ID

整个程序可能是这样的

更新: ... 删除

关于python - 如何在 Python 中更改全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2040998/

相关文章:

Python 文档字符串和内联代码; ">>>"语法的含义

python - 处理多个类别输入和可变大小的组作为神经网络的输入

python - openCV 和 python : Morphological transformation outside boundaries

python - 替换 Numpy 数组中的多个值

python - 在嵌套列表理解中只使用一个列表中的项目一次

python - 基于路由的应用程序的架构

python - 如何使用 Python pandas 有效地将每小时数据转换为一年中每一天的日期和时间?

python - HeartBleed python 测试脚本

python - 验证 Pandas 数据框中的行在列中的值之间是否相等

c++ - python 字符串使用特殊字符发送到 c++ dll,崩溃