本帖最后由 sysadmin 于 2020-3-14 10:00 编辑
一个简单的 demo: - In [1]: class foo:
- ...: def __init__(*args, **kwargs):
- ...: self, *args = args
- ...: print(self, args, len(args))
- ...:
- In [2]: foo
- Out[2]: __main__.foo
- In [3]: foo('self', {'name': 2}, age=21)
- <__main__.foo object at 0x7f45001aa278> ['self', {'name': 2}] 2
- Out[3]: <__main__.foo at 0x7f45001aa278>
复制代码
实际期望的是: - In [7]: args = ('self', {'name': 2})
- In [8]: self, *args = args
- In [9]: self
- Out[9]: 'self'
- In [10]: args
- Out[10]: [{'name': 2}]
复制代码
|