class类后边怎么会跟一串数字?
类后边一般没有括号啊, 有括号也是为了继承父类啊,这里为什么小甲鱼直接在实例化类的时候,在类后边传入一穿数字啊?在定义函数的时候,如果定义的参数带 * 号,就是指可以传入不定数量的参数个数,并将这些参数全部保存成 args 元组中
所以这里 c1 = CountList(1,3,5,7,9)就是任意传入的参数个个数,而且这里传入的都是整型,所以甲鱼哥可以直接通过索引访问容器内的元素进行相加
即你传入了 1、3、5、7、9 元素会储存在 args = (1, 3, 5, 7, 9)元组中,c2 实例对象同理
而且这里甲鱼哥通过列表推导式将 args 元组中的元素赋值给了 values,然后通过 fromkeys 函数创建了一个计数字典 count
而这里的 CountList 类就是用来统计 参数被访问的次数的,用当你通过索引获取容器中的元素时
__getitem__ 方法会捕获你对类中容器元素的获取,然后自动调用 __getitem__ 魔法方法,用来统计你访问的元素次数
类中__init__里面有个参数,叫*args,这里的*号,默认就可以接受多个参数。 {:10_257:} Twilight6 发表于 2020-7-7 06:59
在定义函数的时候,如果定义的参数带 * 号,就是指可以传入不定数量的参数个数,并将这些参数全部保 ...
大佬...你都起这么早的么...{:9_239:} yhhpf 发表于 2020-7-7 09:00
大佬...你都起这么早的么...
没 只是今天早点 因为*args可以接受多个参数,所以可以这样。
别忘记设置最佳答案! Twilight6 发表于 2020-7-6 22:59
在定义函数的时候,如果定义的参数带 * 号,就是指可以传入不定数量的参数个数,并将这些参数全部保 ...
类不是一般只要 给出名称就可以了么, 参数不是应该是定义在方法里边么?? Twilight6 发表于 2020-7-6 22:59
在定义函数的时候,如果定义的参数带 * 号,就是指可以传入不定数量的参数个数,并将这些参数全部保 ...
好了我明白了因为init是初始化构造函数
页:
[1]