码迷,mamicode.com
首页 > 编程语言 > 详细

python函数参数

时间:2019-09-21 13:12:52      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:sum   优先   命名   follow   +=   不定长参数   函数   inf   obb   

必需参数,按正确的顺序输入参数,调用时参数的数量必须和声明的数量一样

关键字参数:
def print_info(name,age):
print(‘Name:%s‘%name)
print(‘Age:%d‘%age)
print_info(age=39,name=‘zd‘)

默认参数:
def print_info(name,age,sex=‘male‘):
print(‘Name:%s‘%name)
print(‘Age:%d‘%age)
print(‘Sex:%s‘%sex )
print_info(‘xiaohu‘,40)
print_info(‘gaogao‘,18,‘female‘)
sex是默认参数,不需要调用,自动输出。需要修改,在调用时修改。

否则报错non-default argument follows default argument

不定长参数
上面的加法函数局限性只能计算两个参数。
一、def add(*args):
print(args)
sum=0
for i in args:
sum+=i
print(sum)
add()
args是无命名参数,统一放到元组中处理
二、命名参数
def print_info(*args,**kwargs):
print(kwargs)
print(args)
# print(‘Name:%s‘%name)
# print(‘Age:%s‘%age)
# print(‘Sex:%s‘%sex)
print_info(‘alex‘,18,‘male‘,height=180,hobby=‘girl‘)
使用**接收命名参数,存放于字典

注意:
关于不定长参数的位置,*args放在左边,**kwargs放在右边。
如果有默认参数,放左边。默认参数一定要放在关键参数后面。

优先级:关键参数>默认参数>args不定长参数>kwargs不定长参数

def func(name,age=22,*args,**kwargs)

三、不定长参数、默认参数和关键字参数
def print_info(sex=‘male‘,*args,**kwargs):
print(sex)
print(kwargs)
print(args)
for i in kwargs:
print(‘%s:%s‘%(i,kwargs[i]))
# print(‘Name:%s‘%name)
# print(‘Age:%s‘%age)
# print(‘Sex:%s‘%sex)
print_info(‘female‘,1,2,3,4)

输出结果:
female
{}
(1, 2, 3, 4)

四、
def f(*args):
print(args)
f(*[1,2,3,4])
输出结果:(1, 2, 3, 4)

def f2(**kwargs):
print(kwargs)
f2(**{‘name‘:‘zd‘,‘age‘:‘19‘})
输出结果:{‘name‘: ‘zd‘, ‘age‘: ‘19‘}

python函数参数

标签:sum   优先   命名   follow   +=   不定长参数   函数   inf   obb   

原文地址:https://www.cnblogs.com/zd37/p/11562119.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!