python函数四种参数类型的讲解

2021/9/27 9:11:28

本文主要是介绍python函数四种参数类型的讲解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

"""
形参和实参:
形参:定义 函数时的 参数变量
实参:调用 函数时,使用的参数变量
参数传递的过程,就是 把实参的引用 传递给 形参 ,使用实参的值来执行函数体的过程。

在 Python 中,函数的实参/返回值都是是靠引用来传递来的
"""


def location(a=0, b=0):
    """
    按照参数位置,依次传递参数,这是最普通的方式
    """
    print(a + b)


location(3, 9)  # 位置实参,即调用函数时,按顺序传递参数,3 传给 a,9 传给 b;得到正确结果12
location(b=3, a=9)  # 关键字实参,即调用函数时,按关键字传递参数,3 传给 b,9 传给 a;一旦第一个实参使用了关键字实参,那么后面的实参都须使用关键字实参;得到正确结果12
location(*(3, 9))  # 元组封包实参,需要在实参前加一个*号,表示对元组拆包后,按位置传给形参;得到正确结果12
location(**{'a': 3, 'b': 9})  # 字典封包实参,需要在实参前加两个*号(拆包两次),表示对字典拆包后,按键值与形参名一一对应传给形参;得到正确结果12
location(*{'a': 3, 'b': 9})  # 字典封包实参,因为只使用了一个*号,只拆包了一次,得到'a'和‘b’,'a'+‘b’返回的结果是'ab'
# 以上采用了实参拆包传递给形参的方式


def person(userid, name, age, sex='男', *args, **kwargs):
    print(f'''
        身份证:{userid}
        姓名:{name}
        年纪:{age}
        性别:{sex}
        不定长参数信息:{args}
        字典参数信息:{kwargs}
    ''')


person('320102', '张三', 24, '男', 'txt1.txt', 'txt2.txt', 'txt3.txt', 班级='2101班', 爱好='唱歌')
'''
以上采用了封包接收实参的方式,实参被*args和**kwargs各自收入了元组和字典中
得到:
        身份证:320102
        姓名:张三
        年纪:24
        性别:男
        不定长参数信息:('txt1.txt', 'txt2.txt', 'txt3.txt')
        字典参数信息:{'班级': '2101班', '爱好': '唱歌'}
'''
# person('320102', '张三', 24, sex='男', 'txt1.txt', 'txt2.txt', 'txt3.txt', 班级='2101班', 爱好='唱歌') 这种调用出错,当有一个采用了关键字传实参时,其后面都必须得是关键字传实参数的方式,否则报错。

 



这篇关于python函数四种参数类型的讲解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程