繁体   English   中英

如何在函数之前定义全局变量,然后在python中的函数中引用它?

[英]How to define a global variable before a function, then refer to it within the function in python?

我只是熟悉图灵机。 我正在制造一个半准确的虚拟图灵机,但是遇到了一个看似简单的问题,我知道有解决方案。 我在网上进行了调查,但找不到任何可以满足我的问题的东西。

我如何使变量“ l”在函数中可调用。 它必须是可调用的,因为如果我在函数内定义变量的初始值,则在函数循环时它将值重置为0。

这是我的代码:

blanktape = []
for x in range(1,251):
    x = ' '
    blanktape.append(x)

global l
l = 1
non = ' '
head = blanktape[l]
symbols = [3, 'ee', 'x']

def mconfigb():
    if head == non:
        blanktape[blanktape.index(head)] = 0
        l = l + 2

def mconfigc():
    if head == non:
        blanktape[blanktape.index(head)] = 1
        l = l + 2

def turingmachine():
        while l < len(blanktape) + 1:
            mconfigb()
            mconfigc()
        return blanktape

print turingmachine()
def function(input):
    global globvar
    ....

必须按功能声明它们。 但是,我认为您应该将所有创建内容包装到turingmachine类中,并使用实例变量。

您需要输入:

global l

函数本身中(并且您可能想重新考虑变量命名约定, l不是一个好名字)。

例如:

xyzzy = 1

def fn():
    global xyzzy
    xyzzy = xyzzy + 1
def mconfigb():
     global l

其他功能也可以这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM