|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- class C:
- def __init__(self, *args):
- if not args:
- print("并没有传入参数")
- else:
- print("传入了 %d 个参数,分别是:" % len(args), end='')
- for each in args:
- print(each, end=' ')
复制代码
如以上代码所示,题目要求定义一个类,当实例化该类的时候,自动判断传入了多少个参数,并显示出来。
1.我想问一下括号里面的*args用在这里是什么意思他是如何起作用的?我翻了一下前面课的笔记有一个*params这两个参数有什么区别或者作用吗
2.为什么括号里面是*args到了下面判断的时候就用的是args了呢
1.我想问一下括号里面的*args用在这里是什么意思他是如何起作用的?我翻了一下前面课的笔记有一个*params这两个参数有什么区别或者作用吗
没区别和作用,定义参数时候 带上 * 号 那么就是不确定传参数量的传入,最后以元组形式储存在参数中
比如你这里的 *args 我们假设 x = C(1,2,3,4,5,6) 我们实例化对象给 x 然后任意传入了参数,那么这些参数就会被储存在 args 元组中
所以 此时 args 参数 = (1,2,3,4,5,6) , 主要作用是有无 * 号 而不是参数名哈~
2.为什么括号里面是*args到了下面判断的时候就用的是args了呢?
*号就是代表 args 这个参数可以填入任意的意思,当然你后来的 *args 是解包的意思,将容器内的元素全部取出
|
|