python函数参数用法_Python:函数参数类型及其用法

Python函数参数类型及其用法

1. 必须参数

2. 默认参数

3. 不定长参数

4. 关键字参数

5. 组合参数

函数的参数类型可分为:必须参数、默认参数、可变参数(不定长参数)、关键字参数、组合参数,总共5种。

1. 必须参数

def hello(str):

print('必须参数是:',str)

>>>hello('hello,world')

2. 默认参数

默认参数就是定义函数时,形参给定一个值。

def hs(name,age=23):

print('我叫:',name)

print('我今年',age)

>>>hs('王二',23)

调用的时候注意顺序要正确。

3. 不定长参数

def change(age,*som):

print(age)

for i in som:

print(i)

return

>>>change('name','year','mon','address')

前面必须参数和默认参数依次取值后剩下的就是不定长参数的值。不定长参数得到的是一个元组类型。

[示例1]

dir={'name': 'miss', 'age': '18'}

def Deaf(school, banji, *other):

print('Xuexiao:', school, 'Banji:', banji, 'Student_info:', other)

Deaf('Tsinghua', 'Class 2', *dir)

>>> Xuexiao: Tsinghua Banji: Class 2 Student_info: ('name', 'age')

当形参中有不定长参数 *other,调用函数时用 *dir会发现结果是只有字典中键名,没有值!

[示例2]

dir={'name': 'miss', 'age': '18'}

def Deaf(school, banji, *other):

print('Xuexiao:', school, 'Banji:', banji, 'Student_info:', other)

Deaf('Tsinghua', 'Class 2', dir)

>>> Xuexiao: Tsinghua Banji: Class 2 Student_info: ({'name': 'miss', 'age': '18'},)

当形参有不定长参数 *other ,调用函数时用 dir 但其结果是 将字典 以元组的形式输出,既在字典外面加括号。

4. 关键字参数

其实默认参数中已经出现了关键字参数!关键字参数就是在调用函数时,传入实参时带参数名,用这样的方式传入的实参叫做关键字参数。

def Deaf(school, banji, **other):

print('学校 :', school, '班级:', banji, '学生信息:', other)

Deaf("清华", '大二', key=255 ,**dir)

>>>学校 : 清华 班级: 大二 学生信息: {'key': 255, 'name': 'miss', 'age': '18'}

5. 组合参数

组合参数就是将之前讲过的4中参数同时引入函数作为形参,值得注意的是,定义参数时的顺序必须为:必须参数、关键字参数、默认参数、不定长参数。

举个栗子:

xx = {'name': 'xiaozhi', 'age': '18', 'interesting': 'basketball'}

tu = (1, 2, 3, 4, 5, 6)

zd = {'m': 26, 'n': 25}

def hs(a1, a2, a3=10, *a4, **cs):

print('a1=', a1, 'a2=', a2, 'a3=', a3, 'a4a=', a4, cs)

# first

>> hs(1, 2, 3, 4, 5, 6, 7, m=26, n=25, **xx)

a1= 1 a2= 2 a3= 3 a4a= (4, 5, 6, 7) {'m': 26, 'n': 25, 'name': 'xiaozhi', 'age': '18', 'interesting': 'basketball'}

调用函数时,1、2分别给a1,a2,形参a3=10,但是传入实参为3,改变了原来的值,因此a3=3,*a4 是不定长参数,因此4、5、6、7给*a4,因此a4a是多个值,以元组的形式输出,**cs为关键字参数,所以m、n以及**xx 的值给**cs,以字典形式输出

>> hs(*tu, **zd)

a1= 1 a2= 2 a3= 3 a4a= (4, 5, 6) {'m': 26, 'n': 25}

调用函数时,tu为一个元组,调用时用*tu方法,因此a1=1,a2=2,a3=3,a4a=(4,5,6);用**zd调用时以字典形式输出。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值