1.返回值的意义
def test1():
print('in the test1')
return 0 #return 0中止当下函数的运行,下一条语句不运行
print('in the testone')
x=test1() #将test1()这个函数体中return的返回值的结果返回给x
print(x)
先看如上函数,它的执行结果为
in the test1
0
我们先定义一个函数def test1(),这时在return 0后面还有print('in the testone'),在执行结果中发现这行代码其实是不执行的,return是中止当下函数的运行,在return之后的语句不会执行。
2.我们在写几个函数,一次来了解return的用法及返回结果
def test1():
print('in the test1')
return 0 #return 0中止当下函数的运行,下一条语句不运行
def test2():
print('in the test2')
return 1 #中止当下函数的运行,下一条语句不运行
def test3():
print('in the test3')
return 1,'hello',['wu','xiao'],{'name':'wu'} #中止当下函数的运行,下一条语句不运行
#return test2 #返回test2的内存地址
x=test1() #将test1()这个函数体中return的返回值的结果返回给x
y=test2()
z=test3()
print(x)
print(y)
print(z)
这时可以看到下x,y,z的输出结果分别为
0
1
(1, 'hello', ['wu', 'xiao'], {'name': 'wu'})
test3()中将return的返回结果以元组的方式打印,如果这时将其改为return test2,这时返回值为ttest2的内存地址。
由此可见,函数的返回值是后面的程序逻辑要根据返回值的结果来进行不同的操作。
3.形参与实参
所谓形参与实参就是形式参数与实际参数,形参本身不存在,不占用空间;实参是实际存在的,占用空间的
有一个函数:
def test(x,y):
print(x) #x,y为形参,本身不存在
print(y)
(1)调用该函数,并且为形参赋值:
test(2,1) #1,2为实参,实际存在的,占用空间的;实参跟形参是一一对应的
输出结果为2,1;也就是将2赋给了x,将1赋给了y;
(2)如果换一种写法,如下:将x,y不按顺序赋值,发现输出结果为1,2,这时赋值顺序与形参的顺序无关
#test(y=2,x=1) #与形参顺序无关
(3)赋值也可以写为
test(3,y=2)
这样输出结果为3,2;但是要注意y=2不能写在3的前面,即关键参数不能写在位置参数前面。