5 args and *kwargs
#!/bin/env python3
# -*- coding: utf-8 -*-
# version: Python3.X
""" 讨论关于 args 和 kwargs 的相关知识点
总结:
当你不确定你的函数里将要传递多少参数时你可以用 *args
**kwargs 允许你使用没有事先定义的参数名
可以混着用, 命名参数首先获得参数值然后所有的其他参数都传递给 *args 和 **kwargs
"""
__author__ = '__L1n__w@tch'
def test_args(*args):
# 当你不确定你的函数里将要传递多少参数时你可以用 *args
for count, value in enumerate(args):
print("{}: {}".format(count, value))
def test_kwargs(**kwargs):
# **kwargs 允许你使用没有事先定义的参数名
for key, value in kwargs.items():
print("Key:Value, {}:{}".format(key, value))
# 当调用函数时你也可以用 * 和 ** 语法
def star_operation(name, value, count):
print("Name: {}, Value: {}, Count: {}".format(name, value, count))
if __name__ == "__main__":
test_args("a", "1", "c", "b", "3", "2")
test_kwargs(test1=1, test2=2, test3=3)
# 它可以传递列表(或者元组)的每一项并把它们解包. 注意必须与它们在函数里的参数相吻合
a_list = ["名字", "值", "计数器"]
star_operation(*a_list)
Last updated