python学习笔记(三) -- 方法的参数

本文深入解析Python函数参数的种类及使用方法,包括位置参数、默认参数、可变参数、关键字参数和命名关键字参数,以及它们的组合使用。通过实例演示如何在函数调用中灵活运用这些参数。

 

方法的参数

位置参数、默认参数、可变参数、键字参数、命名关键字参数

位置参数就是最普通的

def func(a,b)

默认参数就是 如果你调用这个方法的时候没有提供这个参数,那么会用它的默认值

def func(a,b,c=0)

 调用 

func(1,2)

调用的时候只传递了2个参数,被 a和b对应了,c没有传值,就按0来算

如果有两个默认参数

def func(a,b,c=0,d=1)

 调用的时候

func(1,2,3)  3赋给c,d用默认的
func(1,2,3,4) 3赋给c,4赋给d
func(1,2,d=4) 3用默认的,4赋给d

注意 默认参数的默认值必须为不可变对象,否则如果方法中对默认参数做了修改,下一次调用这个方法的时候,这个默认参数的值会变成上一次调用更改以后的值。这个与java不一样,java一个方法调用以后他里面变量的声明周期就会结束了,下一次调用还是最初声明的值,python会记住上一次的值。

可变参数类似于java中的Object...param,写法就是参数名前面加一个 *

def func(*args)

调用的时候分两种

一:
func(1,2,3,4,5)
二:
a = (1,2,3,4,5)
func(*a)

这时 args 接收到传递的值以后 是一个元组

关键字参数即传入的参数为 0个或大于0个的 dict(java中的map)

def func(**kw)

  调用

一
func(a='a',b='b')
二
a = {name='zzh',city='BJ'}
func(**a)

命名关键字参数,就是规定你必须传入指定 key的 map

def func(*,a,b)   如果参数中没有 *args那么命名关键字参数必须跟在*,后面。
def func(*args,a,b) 如果有就不用加 *

 调用

func(a='1',b='2')  //必须传 key等于a,以及key等于b的参数

参数组合

在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用。但是请注意,参数定义的顺序必须是:必选参数(位置参数)、默认参数、可变参数、命名关键字参数和关键字参数。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值