相关文章
01 - 课程介绍及概述(挖坑待填)
02 - 函数调用
03 - 定义函数
04 - 函数参数
05 - 函数返回值
06 - 练习:日历
07 - 变量作用域
08 - 参数扩展
09 - 可变参数
如果我们的函数在使用时,传递的参数个数是不确定的,有可能1个、2个甚至更多个。此时可以使用可变参数,可变参数就是可以传递任意数量的参数。
由于简书在 Markdown 编辑模式下无法插入视频,所以放了视频链接:
《Python 函数》09 - 可变参数(视频)
函数调用 - 课堂笔记
''' 可变参数就是可以传递任意数量的参数值 '''
# 可变参数定义函数时, 需要在参数名前加一个星号 *
def f1(*args):
# 在函数体内, 可变参数 args 中保存了所有参数, 是元组类型
for i in args:
# 想要对参数进行处理, 可以遍历这个元组
print(f"参数: {i}")
# 想要获取传递的参数数量, 可以使用 len()
# 总之, 不管想要如何处理这些参数, 都是从 args 元组开始的
print(f"一共传递了 {len(args)} 个参数")
# 调用函数, 可以让函数像 print() 一样, 使用任意数量任意类型的参数
f1("hello", 12, True, 44, False, "haha")
''' 可变参数和普通参数结合使用注意事项 '''
# 可变参数不一定都叫 args, 可以自定义名字, 比如 a
def f2(*a):
pass
# 可变参数不支持关键词赋值
# f2(a=1) # 错误
# f2(a=(1, 2, 3)) # 错误
# f2(a=1, 2, 3) # 错误
f2(1, 2, 3) # 正确
# 最多只能使用一个可变参数
# def f(*a, b, *c): # 错误: 此函数中定义了 2 个可变参数 a 和 c
# pass
# 调用函数时, 可变参数之前, 只能使用顺序参数, 不能用关键词参数
def f3(a, b, c, *args):
pass
# 错误: 给可变参数赋值前使用了关键词参数 c=30
# f3(10, 20, c=30, 'a', 'b', 'c')
f3(10, 20, 30, 'a', 'b', 'c') # 正确
# 调用函数时, 可变参数之后, 只能使用关键词参数, 不能使用顺序参数
def f4(*args, a, b, c):
pass
# 错误: 给 a, b, c 赋值时没有使用关键词参数
# f4('a', 'b', 'c', 10, 20, 30)
f4('a', 'b', 'c', a=10, b=20, c=30) # 正确

函数调用 - 随堂练习


函数调用 - 课件


蟹蟹童鞋们的支持哟~
(The End)

网友评论