Python学习之路:函数的非固定参数

def test(x,y=2):
    print(x)
    print(y)

test(1,3)

#默认参数特点:调用函数的时候,默认参数非必传

#用途:1.默认值

def conn(host,post=3306):
    pass

conn()
-------------------------------------------------------------------------------
def test(x,y,z=2):
    print(x)
    print(y)
    print(z)

test(1,2)
test(1,2,3)#不论是否有默认参数,实参都不能比形参多

#实参数目不固定,形参怎么定义-->参数组

def test(*args): #实参数据不固定用"*"开头
    print(args)

test(1,2,3,4,5,5)
test(*[1,2,3,4,5])# *args= *[1,2,3,4,5]--> args=tuple([1,2,3,4,5])

# *args:接收N个位置参数,转换成元组的方式
def test1(x,*args):
    print(x)
    print(args)

test1(1,2,3,4,5,6,7)

#**kwargs: 把N个关键字参数,转换成字典的方式
def test2(**kwargs):
    print(kwargs)
    print(kwargs['name'])
    print(kwargs['age'])

test2(name='alex',age=8,sex='F')
test2(**{'name':'alex','age':8})

#位置参数+字典
def test3(name,**kwargs):
    print(name)
    print(kwargs)

test3('alex',**{'age':8,'sex':'F'})
test3('alex',age=8,sex='M')

#默认参数+字典
def test4(name,age=18,**kwargs):#参数组在最后
    print(name)
    print(age)
    print(kwargs)

test4('alex',sex='m',hobby='tesla')
test4('alex',sex='m',hobby='tesla',age=3)

def test5(name,age=18,*args,**kwargs):#参数组在最后
    print(name)
    print(age)
    print(args)
    print(kwargs)

test5('alex',sex='m',hobby='tesla',age=3)

 

转载于:https://www.cnblogs.com/xiaobai005/p/7835264.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值