python基础(4)

函数传参数:

1: 正常的参数传递

def testfun(x,y):

其中x,y 位置固定.调用函数的时候,必须传递参数,否则会报错

2: 默认参数

def testfun(x,y=0)

调用参数的时候,y参数可以不传,此时y参数的值为0, 默认参数的位置,要放在必须参数的后面.

使用场景: 一般是不频繁变更的参数, 一般会设定为默认参数

坑坑: 默认参数必须指向不变对象!,否则调用函数时,改变默认参数.再次调用函数的时候,默认参数的值改变

3:可变参数

即函数的参数的个数是可变的,可以多个,可以0个

*param 的星号参数时,从此处开始直到结束的所有位置参数 (Positional Arguments)都将被收集并汇集成一个称为“param”的元组(Tuple)。

def restfun(*a)

Python允许你在list或tuple前面加一个*号,把list或tuple的元素变成可变参数传进去

4:关键字参数

关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。

使用场景:扩展函数的功能,解决非必填项的问题. 可传入可不传入

def testfunc(**para)

5: 命名关键字

要限制关键字参数的名字,就可以用命名关键字参数,例如,只接收cityjob作为关键字参数

def testunc(a,b,*,city,job)

调用方式如下:

person('Ja', 24, city='Beijing', job='Engineer')

如果有了可变参数,则此时不需要*分隔符

def testunc(a,b,*para,city,job)

调用的时候,必须传入参数的名称  City=“aaaa”

 

上述各种参数的组合:

参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。

 

原文位置:

https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431752945034eb82ac80a3e64b9bb4929b16eeed1eb9000

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值