为函数中的变量分配值,函数调用后变量未定义

时间:2020-05-28 17:56:46

标签: python function user-defined-functions variable-assignment

我想做的是有一个检查某些条件并根据条件成立的值的功能。但是函数中的变量分配不会影响外部值。 (范围)

虽然以下代码不起作用,是否有任何方法不必一次又一次地编写if-elif块?

def calc():
    if o==1:
        z=x+y
    elif o==2:
        z=x-y

calc()
print(z)

1 个答案:

答案 0 :(得分:0)

在计算机科学世界中,这被称为scope ...而您的分配超出了主程序空间的scope

相反,您应该只返回值

def calc():
    if o==1:
        z=x+y
    elif o==2:
        z=x-y
    return z

y = calc()
print(y)