python函数参数简单上手,初学必看

python函数参数简单上手,初学必看,第1张

第一步:分清楚形参实参

形参的英文名:arguments,简写args

实参的英文名:parameters,简写para

函数定义时,写在函数名后面括号里的就是变量名就是形参;

函数调用时,写在函数名后面括号里的要传给形参的值(value)就是实参。

def add(a, b): # 这里的a,b就是形参。形式参数
    return a + b

re = add(1, 2) # 这里的1,2就是实参,实际参数
print(re) # 显示3

第二步:分清楚形参一共有四种形式,分别

①a,b,c这类位置参数;# 单纯的变量形式存在就叫他位置参数

②a=1,b=2,c=3这类默认参数# 给变量赋值了就叫他默认参数

③*args可变收集参数;# *woCao666,*mmd这种命名形式的就叫他可变收集参数,变量类型是元组,*是解包符号

④**kwargs关键字可变参数

在函数定义时,第四种**kwargs必须写在最后面!前面三种类型的形式参数位置可以任意组合:

像下面这样,a是位置参数,c是默认参数,*args是可变参数,**kwargs是关键字可变参数。前三种形式参数的位置可以任意组合,关键字可变参数必须放在最后面,别问为什么,记住就行。

def test(a,c=10,*args,**kwargs):
    print(a,c,*args,**kwargs)

def test(a,*args,c=10,**kwargs):
    print(a,c,*args,**kwargs)

def test(c=10,a,*args,**kwargs):
    print(a,c,*args,**kwargs)

def test(c=10,*args,a,**kwargs):
    print(a,c,*args,**kwargs)

def test(*args,a,c=10,**kwargs):
    print(a,c,*args,**kwargs)

def test(*args,c=10,a,**kwargs):
    print(a,c,*args,**kwargs)

第三步:学会调用函数。

首先,默认参数可以不给他传递实参。

def add(a=10,b):
    return a+b

re = add(1)
print(re) # 打印11,这里把1传给b

另外,形参*args会吃掉他之后所有的位置参数:在下面的代码中,*args会吃掉实参1,2,3,4,b和a没有被赋值。

def test(*args, b, a, c=10, **kwargs):
    print(a, b, args, kwargs, c)


test(1, 2, 3, 4, key1=5, key2=6)
 # TypeError: test() missing 2 required keyword-only arguments: 'b' and 'a'

正确代码如下,在*args后面的位置参数都需要使用关键字参数来赋值关键字参数就是在调用函数时使用键值对形式赋值,比如add(var1= xxx,var2=xxxx)

def test(*args, b, a, c=10, **kwargs):
    print(a, b, args, kwargs, c)


test(1, 2, b=3, a=4, key1=5, key2=6)  # 4 3 (1, 2) {'key1': 5, 'key2': 6} 10

在上图中,没有给c传值,但是打印出c等于10。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/875639.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存