# 组合数据类型
每种组合数据类型都是一个类。组合数据类型包括:
- 序列类型
- 集合类型
- 映射类型
# 函数参数
# 位置参数和关键字参数
# 使用元组传参
可变参数只能在参数列表的最后,通过参数前加 *
实现,内部类型为元组 (tuple) 类型。下面是一个简单的例子。
dev vfunc (a, *b): | |
print(type(b)) | |
for n in b: | |
a += b | |
return a |
# 使用字典传参
使用字典传参不需要再定义时指定参数个数和名称,通过 **
实现。其收集所有未匹配的关键字参数,因此不会与 *
重复。
def g(**kwargs): | |
print(type(kwargs)) | |
print(kwargs) | |
g() | |
g(PKU="北京大学", RUC="中国人民大学", THU="清华大学") |
也可以直接传入 **<dict>
, 就相当于将字典中的每个 pair 作为关键字参数传入函数。
my_dict = {"name":"zhangsan", "age":32} | |
temp(**my_dict) |
如果精通这两个接口,大概就可以写一些很容易兼容的框架。