python里面会见到一种语句:
#linear为类的对象
linear(5)
实际上是调用了python里面的callable()函数
#test_code
class callable_test:
def __init__(self):
pass
def __call__(self, *args, **kwargs):
print("agrs:", (args))
print("kwargs:", kwargs)
ct = callable_test()
ct(1, 2, 3, x=5, y=6)
输出结果为
agrs: (1, 2, 3)
kwargs: {'x': 5, 'y': 6}
如上方ct(1, 2, 3, x=5, y=6)
—call——函数并没有对应的形参
所以1,2,3赋值给了*agrs变成了元组
agrs【0】就是1 以此类推
而x=5…的会赋值给**kwargs形成字典