# 函数参数不需要定义数据类型
def f(a,b)
# 1.默认参数
# 参数可定义默认值,默认参数必须指向不可变参数
def f(a,b=1)
def f(a, *b=1) # 会报错
# 2.可变参数
# *b为可变参数,b接收的是一个tuple,可以为空
# 调用可变参数时为空的情况
def func_args(a,*b):
print(a,b)
func_args(1)
# 1 ()
# 调用可变参数时传入变量的情况
def func_args(a,*b):
print(a,b)
c=[1,2,3,4]
func_args(1,c)
# 1 ([1, 2, 3, 4],)
# 注意:list变量c作为可变参数b的第一个元素输出
# 如果要使c(可以是tuple或list但输出都是tuple)作为元组本身输出,需传入*c
def func_args(a,*b):
print(a,b)
c=[1,2,3,4] # c=(1,2,3,4)也可以
func_args(1,*c)
# 1 (1, 2, 3, 4)
# 可变参数后只能跟关键字参数(即调用时需指定参数名)或者默认参数
# 可变参数跟关键字参数的情况
def func_args(a,*b,c):
print(a,b,c)
func_args(1,c=1)
# 1 () 1
# 可变参数跟默认参数的情况
def func_args(a,*b,c=1):
print(a,b,c)
func_args(1)
# 1 () 1
# 3.关键字参数
# **c是关键字参数,c接收的是一个dict
# 调用示例
def func_args(a, **c):
print(a, c)
func_args(1, city='shanghai')
d={'city':'shanghai'}
func_args(1, **d)
# 1 {'city':'shanghai'}
# 关键字参数是为了限制调用者可以传入的参数名,同时可以提供默认值
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步