python函数参数
Posted zd37
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python函数参数相关的知识,希望对你有一定的参考价值。
必需参数,按正确的顺序输入参数,调用时参数的数量必须和声明的数量一样
关键字参数:
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函数参数的主要内容,如果未能解决你的问题,请参考以下文章