如何从Python中的另一个函数访问局部变量

时间:2020-05-04 12:51:50

标签: python python-3.x function nameerror

此代码有什么问题?

def function1():
        num1 = input("enter a number")
        num1 != num2:
            print("Access")
        else:
            print("Error")
    def function2():
        num2 = input("enter number")
        if num2 != num1:
            print("Access")
        else:
            print("Error")
  if num1 != num2:
NameError: name 'num2' is not defined

2 个答案:

答案 0 :(得分:2)

这是最简单的方法。

def function1():
    global num1
    num1 = input("enter a number")


def function2():
    global num2
    num2 = input("enter number")


function1()
function2()


if num2 != num1:
    print("Access")
else:
    print("Error")

答案 1 :(得分:1)

使用关键字global使本地变量在全球范围内均可使用。像:-

def function1():
    global num1
    num1 = input("enter a number")
       
def function2():
    global num2 
    num2 = input("enter number")
    

*注意:-调用该函数将不起作用,因为调用第一个函数时,您尚未调用function2(),因此将显示nameError。答案的主要目标是向您介绍global关键字。

编辑

def function1():
    return input("enter a number")

def function2():
    return input("enter number")

num1 = function1()
num2 = function2()

if num2 != num1:
    print("Access")
else:
    print("Error")