python学习笔记9-函数1

# 函数参数不需要定义数据类型
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'}
# 关键字参数是为了限制调用者可以传入的参数名,同时可以提供默认值

转载于:https://www.cnblogs.com/babysteps/p/python_note_9.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值