python学习笔记-11.函数参数和返回值进阶

本文介绍了Python函数参数和返回值的进阶知识,包括函数返回多个结果的实现方式,不可变与可变参数的区别,缺省参数的使用及其注意事项,以及多值参数和元组、字典拆包的概念。通过示例详细阐述了如何定义和调用这些高级函数特性。
摘要由CSDN通过智能技术生成

1. 函数参数和返回值的作用

函数根据有没有参数以及有没有返回值,可以相互组合,共有4种形式:

  1. 无参数,无返回值
  2. 无参数,有返回值
  3. 有参数,无返回值
  4. 有参数,有返回值

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

  • 如果函数内部处理的数据不确定,就可以将外界的数据以参数传递到函数内部。
  • 如果希望一个函数执行完成后,向外界汇报执行结果,就可以增加函数的返回值。
    在这里插入图片描述

2. 函数的返回值进阶

问题:一个函数执行后能否返回多个结果?

  • 元组-可以包含多个数据,因此可以使用元组让函数一次返回多个值;
  • 如果函数返回的类型是元组,小括号可以省略;
  • 如果函数返回的类型是元组,同时希望单独处理元组种的元素,可以使用多个变量,一次接收函数的返回结果;
    注意,使用多个变量接收结果时,变量的个数应和元组中元素的个数保持一致。

举个栗子

# 测量温度和湿度
def measure():
    print("测量开始")
    temp = 39
    wet = 56
    print("测量结束")
    return temp,wet # 返回的数据类型为元组,可省略'()'
gl_temp, gl_wet = measure() # 定义两个变量接收返回的结果
print(gl_temp)

output:
测量开始
测量结束
39
56

举个栗子-交换数字(经典面试题)
在不使用其他变量的情况下,交换a和b的值。

a = 6
b = 100
a,b = b,a # python专有,利用元组。等号右边是一个元组,只是把小括号省略了
print(a)
print(b)

output:
100
6

3. 函数的参数进阶

3.1 不可变和可变的参数

问题1:在函数内部,针对参数使用赋值语句,会不会影响调用函数时传递的实参变量?——不会!

  • 无论传递的参数是可变还是不可变,只要针对参数使用赋值语句,会在函数内部修改局部变量的引用,不会影响到外部变量的引用。

举个栗子

def demo(num,num_list):
    print("函数内部的代码")
    # 在函数内部,针对参数使用赋值语句
    num = 100 # 不可变的参数
    num_list = [1,2,3] 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值