python --函数的参数和返回值

函数参数和返回值的作用

函数根据 有没有参数以及有没有返回值,可以相互结合,一共有四种组合形式
1.无参数,无返回值
2.无参数,有返回值
3.有参数,无返回值
4.有参数,有返回值

  • 函数:封装功能独立的代码,在需要时通过函数名被调用,可以直接访问全局变量。
  • 返回值:向外界报告函数的执行结果
  • 参数:外界希望在函数内部处理的数据

定义函数时,是否接受参数,或者是否返回结果,是根据实际的功能需求来决定的!

注意:
(1)一个函数只能有一个返回结果
(2)如果想要多个返回结果,可以使用元祖
(3)如果想提取元祖中的值,可以使用索引,但是一般不推荐,容易混淆,更好的解决方式是使用多个变量来接受返回值。

交换两个数字

需求:1.有两个整数变量,a=6,b=100
2.不使用其他变量,交换两个变量的值

解法1:
#使用临时变量
c=b
b=a
a=c
解法2:
# 不使用临时变量
a = a+b
b = a-b
a = a-b
解法3 :python专有
a,b = (b,a)
a,b =b,a # 等号右边是省略了括号的元祖
  • 1.在函数内部,无论参数是可变还是不可变,针对参数使用赋值语句,不会影响调用函数时传递的实参变量。
  • 2.如果传递的参数是可变类型,在函数内部使用方法修改了数据的内容,外部的数据也会受到影响而改变。
  • 3.对列表使用+=,实质上是对列表运用了extend方法,而不是相加之后再赋值。

缺省参数

  • 定义函数时,可以给某个参数指定一个默认值,具有默认值的参数就叫做缺省参数
  • 调用函数时,如果没有传入缺省参数的值,则在函数内部定义的函数时指定的是参数默认值
  • 函数的缺省参数,将常见的值设置为参数的缺省值,从而简化函数的调用,如果一个参数的值不能确定,则不应该设置默认值,具体的数值在调用函数时,由外界传递

缺省参数的注意事项

(1)定义缺省参数的位置

  • 必须保证带有默认值额缺省函数在参数列表末尾

(2)调用待用多个缺省参数的函数,需要指定参数名,这样才能知道参数的对应关系!

多值参数

使用场景:

  • 当一个函数处理的参数个数是不确定的时候,就需要使用多值参数
  • 在python 中 有两种多值参数:
  • 参数名前增加一个*可以接受元祖(*args)
  • 参数名前有两个** 可以接受字典(**kwargs)
def demo(num,*args,**kwargs):
print(num)
print(args)
print(kwargs)

demo(1,2,3,4,5,name="小明",age=18,gende="男")

元祖和字典的拆包

  • 在调用带有多值参数的函数时,如果希望:
  • 将一个元祖变量直接传递给args
  • 将一个字典变量,直接传递给kwargs
  • 就可以使用拆包,简化参数的传递,拆包的方法时:
  • 在元祖变量前,增加一个*
  • 在字典变量前,增加两个*
def demo(*args,**kwargs):
	print(args)
	print(kwargs)
# 元祖/字典变量
gl_nums = (1,2,3)
gl_dict = {"name":"小明","age":18}

# demo(gl_nums,gl_dict),使用这种方法会将两个参数都传递到*args中,再组成一个元祖。

#拆包语法,简化元祖变量和字典变量的传递
demo(*gl_nums,**gl_dict)

猜你喜欢

转载自blog.csdn.net/qq_43287650/article/details/83650947