class Test_args():
def __init__(self, sex, age, **args):
self.username = args["username"]
self.password = args["password"]
self.sex = sex
self.age = age
print('__init__username', self.username)
print('__init__password', self.password)
print('__init__sex', self.sex)
print('__init__age', self.age)
def __call__(self, sex, age, **args):
# args.get()方法,如果有传入的值就使用传入的值,如果没有则使用后面新赋的值
username = args.get("username", 'xiaoming')
print('__call__username', username)
select = args.get("select", 'None')
print('__call__select', select)
print(sex, age)
if __name__=='__main__':
args = {}
args["username"] = 'admin'
args["password"] = 'admin'
sex = '男'
age = 15
# 实例化类时,可以单独传递指定参数如sex,**args如果在__init__中有使用,那需要传递,如果未使用,可传可不传,__init__端可接收也可不收
test = Test_args(sex, age, **args)
# 调用__call__()方法,**args可传可不传。不传递的话,如果用到参数就使用args.get()方法进行重新赋值,不然就是__init__中的值,看调用需求
test(sex, age, **args)
配置**kwargs参数用法
最新推荐文章于 2024-10-17 08:00:29 发布