Python-如何使函数参数全局化?

时间:2018-09-30 11:29:49

标签: python python-3.x global

例如,我想调用一个函数LSE(n)。 一旦我调用LSE(5),我希望n可以被其他函数作为5调用。我试图将访问n的其他函数嵌套在LSE中,但是它也不能访问n。

2 个答案:

答案 0 :(得分:1)

这两个功能之间可以使用global关键字来实现。通常不赞成这种方法。

n = 0
def LSE(value):
    global n
    n = value

def second_func():
   global n
   print(n)

尝试一下:

>>> LSE(5)
>>> second_func()
5

如果要在函数之间共享值,我是否建议将它们封装在类中?

答案 1 :(得分:0)

“无论如何都可以在不更改名称的情况下执行全局操作?即我想将参数设为保留相同名称的全局变量(与此处的value和n命名不同)不同”

来自:How to get the original variable name of variable passed to a function

“您不能。在传递给函数之前先对其求值。您所能做的就是将其作为字符串传递。”

可行的是,您可以让您的代码始终使用特定的变量名,并在函数内将其声明为全局变量。这样,您甚至不需要将其作为参数传递,但是每次使用该函数时,它将受到影响。例如:

def test_function ():

    global N

    N = N + 1

    print (N)

N = 5

test_function()
test_function()
test_function()
  
    
      

6       7       8

    
  
相关问题