【python学习笔记一】python的5种方法参数

这篇博客详细介绍了Python中的5种方法参数:位置参数、默认参数、可变参数、关键字参数和命名关键字参数,包括它们的用法、特点和调用优先级。例如,位置参数按照顺序传递,默认参数在未指定时使用预设值,可变参数允许传入多个值,关键字参数通过键值对形式传递,而命名关键字参数则限制了键的范围。最后,文章讨论了这5种参数的优先级,强调了在方法定义中它们的组合使用方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python的5种方法参数


1.位置参数

这里跟java中的参数没有什么区别

def locationParam(x):
    print("位置参数x的值:",x)

调用:locationParam(1)
结果为:位置参数x的值: 1

2.默认参数

默认参数在调用时若没有为其传参时会有使用默认值作为参数,减少了参数调用的难度

def defaultParam(x,y=8):
    print("位置参数x的值:",x,"默认参数y的值:",y)

调用:defaultParam(1,9)
结果为:位置参数x的值:1 默认参数y的值: 9
调用:defaultParam(1)
结果为:位置参数x的值:1 默认参数y的值: 8

这种参数在使用过程中需要注意的是,如果默认参数定义的值是一个可变对象,那么无论调用多少次方法,都是以该对象做参数(也就是把该对象的引用的值传入),因为默认参数的值在方法声明时就已经决定

3.可变参数

类比java中的可变参数,用法没有非常大的区别

def changeableParam(x,y=8,*z):
    print("位置参数x的值:",x,"默认参数y的值:",y","可变参数的值:",z)

调用:

changeableParam(1,2,3,4,5,6)

结果为:位置参数x的值:1 默认参数y的值: 2 可变参数的值:[3,4,5,6]
调用:

param = [3,4,5,6]
      changeableParam(1,2,*param)

结果为:位置参数x的值:1 默认参数y的值: 2 可变参数的值:[3,4,5,6]

4.关键字参数

使用关键字参数的方法允许调用者传入键值对作为参数,在方法内部将自动封装成一个dict
下面是两种调用方式,其中第二种传入的是一个dict的拷贝,并不是引用

def keywordParam(x,y=8,*z,**kw):
    print("位置参数x的值:",x,"默认参数y的值:",y","可变参数的值:",z,"关键字参数:",kw)

调用:

param = [3,4,5]
keywordParam(1,2,*z,name='小明',age=18)

输出:位置参数x的值:1 默认参数y的值: 2 可变参数的值为:[3,4,5,6] 关键字参数的值:{‘name’:’小明’,age:18}
调用:

param1 = [3,4,5]
param2 = {'name':'小明','age':18}
keywordParam(1,2,*param1,**param2)

输出:位置参数x的值:1 默认参数y的值: 2 可变参数的值为:[3,4,5,6] 关键字参数的值:{‘name’:’小明’,age:18}

5.命名关键字参数

关键字参数的特殊形式,可以限制传入的键值对的key,以一个*分格,之后的参数被视为命名关键字参数
(在方法中如果有可变参数时,*可以省略,原因请看下面优先级)

def limitkeyword(x,y=0,*z,*,name,age):
    print("位置参数x的值:",x,"默认参数y的值:",y","可变参数的值:",z,“命名关键字参数name:",name,“命名关键字参数age:",age)

调用:limitkeyword(1,2,3,4,name='小明',age=18)
输出:位置参数x的值:1 默认参数y的值: 2 可变参数的值为:[3,4] 命名关键字参数name:’小明’ 命名关键字参数age:18

6.5种参数的优先级

以上5种参数的放置优先级从高到低的顺序为:位置参数,默认参数,可变参数,命名关键字参数,关键字参数,他们都可以根据实际情况组合使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值