关于人工智能:python笔记两个魔法变量args-和kwargs

args 和 *kwargs 次要⽤于函数定义。

# 留神:规范参数与*args、**kwargs在使⽤时有程序要求
def test_var(firstVar, *args, **kwargs):
    print(f"第一个地位参数:{firstVar}")
    # for arg in args:
    #     print(f"其余地位参数{arg}")
    print(f"*args={args}")
    # for key, value in kwargs.items():
    #     print(f"其余关键字 参数{key}={value}")
    print(f"**kwargs={kwargs}")

首先,魔法变量args 和kwargs中,变量名args与kwargs只是两个艰深的命名约定非固定不变,能够其余命名vars,kwars。

而后,魔法体现在上。args示意变量args接管不定数量,非命名参数,返回一个元组–所有没有名字无人认领的传入参数组成程序元组。kwargs示意变量kwargs接管不定数量,关键字命名参数,返回一个字典–所有以“keyName=value“模式传入的参数组成字典。

代码中的规范参数,就是地位参数firstVar。

函数定义,参数程序:规范参数→args→*kwargs

调用函数,传参程序:地位参数→关键字参数

最初,测试利用。

if __name__ == "__main__":
    test_var("888", 5, 6, "abc", average=55, score=63, stuName="WuLiLy")

输入:

第一个地位参数:888

*args=(5, 6, 'abc')

**kwargs={'average': 55, 'score': 63, 'stuName': 'WuLiLy'}

最最初,晓得参数是怎么传递的,也晓得参数保留的中央,那么函数里的操作就有很大空间,函数的性能也会更加丰盛容纳。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理