首页 > 解决方案 > 在python中更改函数中的全局变量

问题描述

我是 python 新手。

我不太明白我需要如何设置变量并在函数中更改它们以便稍后使用。我的脚本需要从函数中获取 x 和 y 值,该函数由函数创建的图表的大小决定。这些变量需要稍后在脚本中传递给打印命令以输出 html。所以假设我有全局变量:

    originx_pct = 0.125
    originy_pct = 0.11

但是当函数运行时,这些将需要改变......

    def makeplot(temp, entropy,preq):
        originx_pct = origin.get_points()[0][0]
        originy_pct = origin.get_points()[0][1]

然后在稍后编写的html页面的javascript中打印......

    print('var originx_pct = {};'.format(originx_pct))
    print('var originy_pct = {};'.format(originy_pct))

这两个变量没有改变,我只是不明白我需要做什么来更新它们并能够打印它们(在函数之外)。我假设函数不知道变量,所以它不能改变它们。如果我将 2 个变量作为参数提供给函数,我如何为脚本的打印部分取回值?

标签: pythonvariablesscope

解决方案


您需要global在函数中使用关键字。

originx_pct = 0.125
originy_pct = 0.11

def makeplot(temp, entropy,preq):
    global originx_pct, originy_pct
    originx_pct = origin.get_points()[0][0]
    originy_pct = origin.get_points()[0][1]

global 您可以在此处阅读更多信息。


推荐阅读