💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
[TOC] # 简介 ~~~ class Son2(Parent): # 为了避免报错,用不定长参数 def __init__(self, name, gender, *args, **kwargs): print('Son2的init开始被调用') super().__init__(name, *args, **kwargs) print('Son2的init结束被调用') ~~~ 首先变量名不允许叫`*` `*args`表示传递参数中,多传的没有名字的给他 `**kwargs`表示传递参数中,多传的有名字的给他 # 分析一 ~~~ def test1(a, b, *args, **kwargs): print(a) print(b) print(args) print(kwargs) print('-'*15) test1(11, 22, 33, 44, name='laowang', age=18) ~~~ 输出 ~~~ 11 22 (33, 44) {'name': 'laowang', 'age': 18} --------------- ~~~ args表示元组 kwargs表示字典 # 分析二 ~~~ def test2(a, b, *args, **kwargs): print(a) print(b) print(args) print(kwargs) print('2', '-'*15) def test1(a, b, *args, **kwargs): print(a) print(b) print(args) print(kwargs) print('1', '-' * 15) test2(a, b, args, kwargs) test1(11, 22, 33, 44, name='laowang', age=18) ~~~ 输出 ~~~ 11 22 (33, 44) {'name': 'laowang', 'age': 18} 1 --------------- 11 22 ((33, 44), {'name': 'laowang', 'age': 18}) ~~~ 发现 `((33, 44), {'name': 'laowang', 'age': 18})` 他们在一个元祖里面 如果要分开就这样 ~~~ def test2(a, b, *args, **kwargs): print(a) print(b) print(args) print(kwargs) print('2', '-'*15) def test1(a, b, *args, **kwargs): print(a) print(b) print(args) print(kwargs) print('1', '-' * 15) # 相当于 test2(11, 22, (33, 44), {name='laowang', age=18}) # test2(a, b, args, kwargs) # 相当于 test2(11, 22, 33, 44, {name='laowang', age=18}) #test2(a, b, *args, kwargs) # 相当于 test2(11, 22, 33, 44, name='laowang', age=18) test2(a, b, *args, **kwargs) test1(11, 22, 33, 44, name='laowang', age=18) ~~~