Python中函数的返回值(第5节)


我们在使用函数的过程中通常是调用函数,然后被调用函数中的内容会依次被执行,但是有时候我们需要的不只是执行的步骤,如果我们还需要获取函数中的局部变量,就可以使用return关键字返回。例如:

动手练一练:

def student():
    name = "张三"
    return name

x = student()  # 把返回值赋值给变量“x”
print(x)  # 输出 张三

执行以上代码,输出结果为:

张三

上面的例子中,“return name”成功地返回了局部变量“name”的内容,但是使用return关键字不会直接输出结果,所以我们把函数的返回值赋值给变量“x”,然后利用print(x)输出,就可以看到输出的结果。

这里需要注意的是,如果不定义return返回值,则函数会默认返回None。None表示一个空的对象,没有任何的值,也就是“什么都没有”的意思,例如:

动手练一练:

def no_return():
    print("没有返回值")

def no_return_value():
    print("没有return返回值")
    return

def have_return():
    name = "张三"
    print("有return返回值")
    return name

a = no_return()  #没有任何返回值赋值给变量a
print(a)   # 输出 None

b = no_return_value()  #没有任何返回值赋值给变量b
print(b)   # 输出 None

c = have_return()
print(c)   # 输出 张三

执行以上代码,输出结果为:

没有返回值
None
没有return返回值
None
有return返回值
张三

上面的例子中,第一个函数内没有return关键字,而第二个函数内有return关键字但没有返回值,两者都会默认调用“return None”作为返回值。但如果有“return”并且带了返回值,就可以通过赋值给变量的方式获取函数的返回值。

我们在使用函数返回值的时候,有时候不仅仅只返回一个值,也可能会返回多个值。但是这里需要注意的是,当返回多个值的时候,多个值是被存储在元组数据类型当中的。例如:

动手练一练:

def student():
    a = "张三"
    b = "李四"
    c = "王五"
    d = "赵六"
    return a, b, c, d
x = student()
print(x)

执行以上代码,输出结果为:

('张三', '李四', '王五', '赵六')

上面的例子中,return关键字返回a, b, c, d共4个值,注意,每个值必须用英文的逗号隔开,否则会出现语法错误。从返回结果中可以看到,返回多个值的时候是被存放在了一个元组之中。

我们还可以直接把返回的元组赋值给多个变量。例如:

动手练一练:

def student():
    a = "张三"
    b = "李四"
    c = "王五"
    d = "赵六"
    return a, b, c, d
x1, x2, x3, x4 = student()
print(x1)
print(x2)
print(x3)
print(x4)

执行以上代码,输出结果为:

张三
李四
王五
赵六

上面的例子中,student()函数返回了一个包含4个值的元组,这个元组被分别赋值给了变量x1、x2、x3和x4。需要注意的是,使用元组赋值给多个变量时,多个变量同样必须用英文的逗号隔开。