UID420
现金0
在线时间0 小时
注册时间2017-11-30
黑狼菜鸟
- 积分
- 0
|
您的域名(hlsh.sh)未得到授权,部门功能受到影响!
尊重的用户:
您好!非常感谢您能安装和关注本产物,为了产物的可连续发展和升级,众大云收罗已经开始收费。
向用户收费是为了给用户更可靠的保障和服务,所收取的费用重要用于产物的正常运作、研发和改进,盼望各位可以或许明白和支持。
别的,为了报答新老客户,众大云收罗3折优惠,原价980元,如今购买仅需290元,给您节流了690元。
官方QQ群:23530791 客服QQ:155120699
购买域名授权请打开下面的网址:
http://www.0762home.com/zt/csdn123_news/pay_url.php?url=hlsh.sh
购买域名授权之后全部的未授权提示将主动消散,图片也正常表现,域名授权永世有用终身可用,后续的升级更新也是免费的,一次购买一辈子都能用,无后顾之忧!
提示:您现在利用的是免费试用版,可以手动删除上面的授权提示,发布这篇文章!
(点击上方蓝字,快速关注我们)
译文:everfigthing
英文:developers
segmentfault.com/a/1190000006265256
如有好文章投稿,请点击 → 这里相识详情
1、下面这段代码的输出效果是什么?请表明。
def[color=#006FE0 !important] [color=teal !important]extendList[color=#333333 !important]([color=#002D7A !important]val[color=#333333 !important],[color=#006FE0 !important] [color=teal !important]list[color=#006FE0 !important]=[color=#333333 !important][])[color=#006FE0 !important]:
[color=#006FE0 !important] [color=teal !important]list[color=#333333 !important].[color=teal !important]append[color=#333333 !important]([color=#002D7A !important]val[color=#333333 !important])
[color=#006FE0 !important] return[color=#006FE0 !important] [color=teal !important]list
[color=#002D7A !important]list1[color=#006FE0 !important] = [color=teal !important]extendList[color=#333333 !important]([color=#009999 !important]10[color=#333333 !important])
[color=#002D7A !important]list2[color=#006FE0 !important] = [color=teal !important]extendList[color=#333333 !important]([color=#009999 !important]123[color=#333333 !important],[])
[color=#002D7A !important]list3[color=#006FE0 !important] = [color=teal !important]extendList[color=#333333 !important]([color=#DD1144 !important]'a'[color=#333333 !important])
[color=teal !important]print[color=#006FE0 !important] [color=#DD1144 !important]"list1 = %s"[color=#006FE0 !important] % [color=teal !important]list1
[color=teal !important]print[color=#006FE0 !important] [color=#DD1144 !important]"list2 = %s"[color=#006FE0 !important] % [color=teal !important]list2
[color=teal !important]print[color=#006FE0 !important] [color=#DD1144 !important]"list3 = %s"[color=#006FE0 !important] % [color=#002D7A !important]list3
怎样修改extendList的界说可以或许产生以下预期的举动?
上面代码输出效果将是:
[color=#002D7A !important]list1[color=#006FE0 !important] = [color=#333333 !important][[color=#009999 !important]10[color=#333333 !important],[color=#006FE0 !important] [color=#DD1144 !important]'a'[color=#333333 !important]]
[color=#002D7A !important]list2[color=#006FE0 !important] = [color=#333333 !important][[color=#009999 !important]123[color=#333333 !important]]
[color=#002D7A !important]list3[color=#006FE0 !important] = [color=#333333 !important][[color=#009999 !important]10[color=#333333 !important],[color=#006FE0 !important] [color=#DD1144 !important]'a'[color=#333333 !important]]
许多人都会误以为list1=[10],list3=[‘a’],由于他们以为每次extendList被调用时,列表参数的默认值都将被设置为[].但现实上的环境是,新的默认列表只在函数被界说的那一刻创建一次。
当extendList被没有指定特定参数list调用时,这组list的值随后将被利用。这是由于带有默认参数的表达式在函数被界说的时间被盘算,不是在调用的时间被盘算。因此list1和list3是在同一个默认列表上举行操纵(盘算)的。而list2是在一个分离的列表上举行操纵(盘算)的。(通过通报一个自有的空列表作为列表参数的数值)。
extendList的界说可以作如下修改。
只管,创建一个新的列表,没有特定的列表参数。
下面这段代码大概可以或许产生想要的效果。
def[color=#006FE0 !important] [color=teal !important]extendList[color=#333333 !important]([color=#002D7A !important]val[color=#333333 !important],[color=#006FE0 !important] [color=teal !important]list[color=#006FE0 !important]=[color=#800080 !important]None[color=#333333 !important])[color=#006FE0 !important]:
[color=#006FE0 !important] if[color=#006FE0 !important] [color=teal !important]list[color=#006FE0 !important] is[color=#006FE0 !important] [color=#800080 !important]None[color=#006FE0 !important]:
[color=#006FE0 !important] [color=teal !important]list[color=#006FE0 !important] = [color=#333333 !important][]
[color=#006FE0 !important] [color=teal !important]list[color=#333333 !important].[color=teal !important]append[color=#333333 !important]([color=#002D7A !important]val[color=#333333 !important])
[color=#006FE0 !important] return[color=#006FE0 !important] [color=teal !important]list
通过上面的修改,输出效果将酿成:
[color=#002D7A !important]list1[color=#006FE0 !important] = [color=#333333 !important][[color=#009999 !important]10[color=#333333 !important]]
[color=#002D7A !important]list2[color=#006FE0 !important] = [color=#333333 !important][[color=#009999 !important]123[color=#333333 !important]]
[color=#002D7A !important]list3[color=#006FE0 !important] = [color=#333333 !important][[color=#DD1144 !important]'a'[color=#333333 !important]]
2、下面这段代码的输出效果将是什么?请表明。
def[color=#006FE0 !important] [color=teal !important]multipliers[color=#333333 !important]()[color=#006FE0 !important]:
[color=#006FE0 !important] return[color=#006FE0 !important] [color=#333333 !important][lambda[color=#006FE0 !important] [color=#002D7A !important]x[color=#006FE0 !important] : [color=#002D7A !important]i[color=#006FE0 !important] * x[color=#006FE0 !important] for[color=#006FE0 !important] i[color=#006FE0 !important] in[color=#006FE0 !important] [color=teal !important]range[color=#333333 !important]([color=#009999 !important]4[color=#333333 !important])]
[color=#006FE0 !important]
[color=teal !important]print[color=#006FE0 !important] [color=#333333 !important][[color=teal !important]m[color=#333333 !important]([color=#009999 !important]2[color=#333333 !important])[color=#006FE0 !important] for[color=#006FE0 !important] m[color=#006FE0 !important] in[color=#006FE0 !important] [color=teal !important]multipliers[color=#333333 !important]()]
你怎样修改上面的multipliers的界说产生想要的效果?
上面代码输出的效果是[6, 6, 6, 6] (不是我们想的[0, 2, 4, 6])。
上述题目产生的缘故原由是Python闭包的耽误绑定。这意味着内部函数被调用时,参数的值在闭包内举行查找。因此,当任何由multipliers()返回的函数被调用时,i的值将在附近的范围举行查找。当时,不管返回的函数是否被调用,for循环已经完成,i被赋予了终极的值3。
因此,每次返回的函数乘以通报过来的值3,由于上段代码传过来的值是2,它们终极返回的都是6。(3*2)可巧的是,《The Hitchhiker’s Guide to Python》也指出,在与lambdas函数相干也有一个被广泛被误解的知识点,不外跟这个case不一样。由lambda表达式创造的函数没有什么特别的地方,它实在是和def创造的函数式一样的。
下面是办理这一题目的一些方法。
一种办理方法就是用Python天生器。
def[color=#006FE0 !important] [color=teal !important]multipliers[color=#333333 !important]()[color=#006FE0 !important]:
[color=#006FE0 !important] for[color=#006FE0 !important] i[color=#006FE0 !important] in[color=#006FE0 !important] [color=teal !important]range[color=#333333 !important]([color=#009999 !important]4[color=#333333 !important])[color=#006FE0 !important]: yield[color=#006FE0 !important] lambda[color=#006FE0 !important] [color=#002D7A !important]x[color=#006FE0 !important] : [color=#002D7A !important]i[color=#006FE0 !important] * [color=#002D7A !important]x
别的一个办理方案就是创造一个闭包,使用默认函数立刻绑定。
def[color=#006FE0 !important] [color=teal !important]multipliers[color=#333333 !important]()[color=#006FE0 !important]:
[color=#006FE0 !important] return[color=#006FE0 !important] [color=#333333 !important][lambda[color=#006FE0 !important] [color=#002D7A !important]x[color=#333333 !important],[color=#006FE0 !important] [color=#002D7A !important]i[color=#006FE0 !important]=[color=#002D7A !important]i[color=#006FE0 !important] : [color=#002D7A !important]i[color=#006FE0 !important] * x[color=#006FE0 !important] for[color=#006FE0 !important] i[color=#006FE0 !important] in[color=#006FE0 !important] [color=teal !important]range[color=#333333 !important]([color=#009999 !important]4[color=#333333 !important])]
另有种替换的方案是,利用偏函数:
from[color=#006FE0 !important] [color=teal !important]functools[color=#006FE0 !important] import[color=#006FE0 !important] [color=teal !important]partial
from[color=#006FE0 !important] [color=teal !important]operator[color=#006FE0 !important] import[color=#006FE0 !important] [color=teal !important]mul
def[color=#006FE0 !important] [color=teal !important]multipliers[color=#333333 !important]()[color=#006FE0 !important]:
[color=#006FE0 !important] return[color=#006FE0 !important] [color=#333333 !important][[color=teal !important]partial[color=#333333 !important]([color=#002D7A !important]mul[color=#333333 !important],[color=#006FE0 !important] [color=#002D7A !important]i[color=#333333 !important])[color=#006FE0 !important] for[color=#006FE0 !important] i[color=#006FE0 !important] in[color=#006FE0 !important] [color=teal !important]range[color=#333333 !important]([color=#009999 !important]4[color=#333333 !important])]
3、下面这段代码的输出效果将是什么?请表明。
[color=#800080 !important]class[color=#006FE0 !important] [color=teal !important]Parent[color=#333333 !important]([color=teal !important]object[color=#333333 !important])[color=#006FE0 !important]:
[color=#006FE0 !important] [color=#002D7A !important]x[color=#006FE0 !important] = [color=#009999 !important]1
[color=#800080 !important]class[color=#006FE0 !important] [color=teal !important]Child1[color=#333333 !important]([color=#002D7A !important]Parent[color=#333333 !important])[color=#006FE0 !important]:
[color=#006FE0 !important] pass
[color=#800080 !important]class[color=#006FE0 !important] [color=teal !important]Child2[color=#333333 !important]([color=#002D7A !important]Parent[color=#333333 !important])[color=#006FE0 !important]:
[color=#006FE0 !important] pass
[color=teal !important]print[color=#006FE0 !important] [color=#002D7A !important]Parent[color=#333333 !important].[color=#002D7A !important]x[color=#333333 !important],[color=#006FE0 !important] [color=#002D7A !important]Child1[color=#333333 !important].[color=#002D7A !important]x[color=#333333 !important],[color=#006FE0 !important] [color=#002D7A !important]Child2[color=#333333 !important].x
[color=#002D7A !important]Child1[color=#333333 !important].[color=#002D7A !important]x[color=#006FE0 !important] = [color=#009999 !important]2
[color=teal !important]print[color=#006FE0 !important] [color=#002D7A !important]Parent[color=#333333 !important].[color=#002D7A !important]x[color=#333333 !important],[color=#006FE0 !important] [color=#002D7A !important]Child1[color=#333333 !important].[color=#002D7A !important]x[color=#333333 !important],[color=#006FE0 !important] [color=#002D7A !important]Child2[color=#333333 !important].x
[color=#002D7A !important]Parent[color=#333333 !important].[color=#002D7A !important]x[color=#006FE0 !important] = [color=#009999 !important]3
[color=teal !important]print[color=#006FE0 !important] [color=#002D7A !important]Parent[color=#333333 !important].[color=#002D7A !important]x[color=#333333 !important],[color=#006FE0 !important] [color=#002D7A !important]Child1[color=#333333 !important].[color=#002D7A !important]x[color=#333333 !important],[color=#006FE0 !important] [color=#002D7A !important]Child2[color=#333333 !important].[color=#002D7A !important]x
输出效果将是:
[color=#009999 !important]1[color=#006FE0 !important] [color=#009999 !important]1[color=#006FE0 !important] [color=#009999 !important]1
[color=#009999 !important]1[color=#006FE0 !important] [color=#009999 !important]2[color=#006FE0 !important] [color=#009999 !important]1
[color=#009999 !important]3[color=#006FE0 !important] [color=#009999 !important]2[color=#006FE0 !important] [color=#009999 !important]3
让许多人狐疑或惊奇的是末了一行输出为什么是3 2 3 而不是 3 2 1.为什么在改变parent.x的同时也改变了child2.x的值?但与此同时没有改变Child1.x的值?
此答案的关键是,在Python中,类变量在内部是以字典的情势举行通报。
假如一个变量名没有在当前类下的字典中发现。则在更高级的类(如它的父类)中经心搜刮直到引用的变量名被找到。(假如引用变量名在自身类和更高级类中没有找到,将会引发一个属性错误。)
因此,在父类中设定x = 1,让变量x类(带有值1)可以或许在其类和其子类中被引用到。这就是为什么第一个打印语句输出效果是1 1 1
因此,假如它的任何一个子类被覆写了值(比方说,当我们实行语句Child.x = 2),这个值只在子类中举行了修改。这就是为什么第二个打印语句输出效果是1 2 1
终极,假如这个值在父类中举行了修改,(比方说,当我们实行语句Parent.x = 3),这个改变将会影响那些还没有覆写子类的值(在这个例子中就是Child2)这就是为什么第三打印语句输出效果是3 2 3
4、下面这段代码在Python2下输出效果将是什么?请表明。
def[color=#006FE0 !important] [color=teal !important]div1[color=#333333 !important]([color=#002D7A !important]x[color=#333333 !important],[color=#002D7A !important]y[color=#333333 !important])[color=#006FE0 !important]:
[color=#006FE0 !important] [color=teal !important]print[color=#006FE0 !important] [color=#DD1144 !important]"%s/%s = %s"[color=#006FE0 !important] % [color=#333333 !important]([color=#002D7A !important]x[color=#333333 !important],[color=#006FE0 !important] [color=#002D7A !important]y[color=#333333 !important],[color=#006FE0 !important] [color=#002D7A !important]x[color=#006FE0 !important]/[color=#002D7A !important]y[color=#333333 !important])
[color=#006FE0 !important]
def[color=#006FE0 !important] [color=teal !important]div2[color=#333333 !important]([color=#002D7A !important]x[color=#333333 !important],[color=#002D7A !important]y[color=#333333 !important])[color=#006FE0 !important]:
[color=#006FE0 !important] [color=teal !important]print[color=#006FE0 !important] [color=#DD1144 !important]"%s//%s = %s"[color=#006FE0 !important] % [color=#333333 !important]([color=#002D7A !important]x[color=#333333 !important],[color=#006FE0 !important] [color=#002D7A !important]y[color=#333333 !important],[color=#006FE0 !important] [color=#002D7A !important]x[color=#006FE0 !important]//[color=#002D7A !important]y[color=#333333 !important])
[color=teal !important]div1[color=#333333 !important]([color=#009999 !important]5[color=#333333 !important],[color=#009999 !important]2[color=#333333 !important])
[color=teal !important]div1[color=#333333 !important]([color=#009999 !important]5.[color=#333333 !important],[color=#009999 !important]2[color=#333333 !important])
[color=teal !important]div2[color=#333333 !important]([color=#009999 !important]5[color=#333333 !important],[color=#009999 !important]2[color=#333333 !important])
[color=teal !important]div2[color=#333333 !important]([color=#009999 !important]5.[color=#333333 !important],[color=#009999 !important]2.[color=#333333 !important])
在Python3下效果会有怎样的差别?(固然,假设上述打印语句被转换成Python3的语法)
在Python2中,上述代码输出将是
[color=#009999 !important]5[color=#006FE0 !important]/[color=#009999 !important]2[color=#006FE0 !important] = [color=#009999 !important]2
[color=#009999 !important]5.0[color=#006FE0 !important]/[color=#009999 !important]2[color=#006FE0 !important] = [color=#009999 !important]2.5
[color=#009999 !important]5[color=#006FE0 !important]//[color=#009999 !important]2[color=#006FE0 !important] = [color=#009999 !important]2
[color=#009999 !important]5.0[color=#006FE0 !important]//[color=#009999 !important]2.0[color=#006FE0 !important] = [color=#009999 !important]2.0
默认环境下,Python 2 主动实行整形盘算假如两者都是整数。因此,5/2 效果是2,而5./2效果是2.5
留意,在Python2中,你可以通过增长以下引用来覆写这个举动。
from future import division
同时要留意的是,//操纵符将总是实行整形除法,不管操纵符的范例。这就是为什么纵然在Python 2中5.0//2.0的效果是2.0。然而在Python3中,没有此类特性,
比方,在两头都是整形的环境下,它不会实行整形除法
因此,在Python3中,将会是如下效果:
[color=#009999 !important]5[color=#006FE0 !important]/[color=#009999 !important]2[color=#006FE0 !important] = [color=#009999 !important]2.5
[color=#009999 !important]5.0[color=#006FE0 !important]/[color=#009999 !important]2[color=#006FE0 !important] = [color=#009999 !important]2.5
[color=#009999 !important]5[color=#006FE0 !important]//[color=#009999 !important]2[color=#006FE0 !important] = [color=#009999 !important]2
[color=#009999 !important]5.0[color=#006FE0 !important]//[color=#009999 !important]2.0[color=#006FE0 !important] = [color=#009999 !important]2.0
5、下面代码的输出效果将是什么?
[color=teal !important]list[color=#006FE0 !important] = [color=#333333 !important][[color=#DD1144 !important]'a'[color=#333333 !important],[color=#006FE0 !important] [color=#DD1144 !important]'b'[color=#333333 !important],[color=#006FE0 !important] [color=#DD1144 !important]'c'[color=#333333 !important],[color=#006FE0 !important] [color=#DD1144 !important]'d'[color=#333333 !important],[color=#006FE0 !important] [color=#DD1144 !important]'e'[color=#333333 !important]]
[color=teal !important]print[color=#006FE0 !important] [color=teal !important]list[color=#333333 !important][[color=#009999 !important]10[color=#006FE0 !important]:[color=#333333 !important]]
下面的代码将输出[],不会产生IndexError错误。就像所盼望的那样,实验用超出成员的个数的index来获取某个列表的成员。
比方,实验获取list[10]和之后的成员,会导致IndexError.
然而,实验获取列表的切片,开始的index凌驾了成员个数不会产生IndexError,而是仅仅返回一个空列表。
这成为特殊让人恶心的疑难杂症,由于运行的时间没有错误产生,导致bug很难被追踪到。
6、思量下列代码片断:
[color=teal !important]list[color=#006FE0 !important] = [color=#333333 !important][[color=#006FE0 !important] [color=#333333 !important][[color=#006FE0 !important] [color=#333333 !important]][color=#006FE0 !important] [color=#333333 !important]][color=#006FE0 !important] * [color=#009999 !important]5
[color=teal !important]list[color=#006FE0 !important] [color=#999999 !important]# output?
[color=teal !important]list[color=#333333 !important][[color=#009999 !important]0[color=#333333 !important]].[color=teal !important]append[color=#333333 !important]([color=#009999 !important]10[color=#333333 !important])
[color=teal !important]list[color=#006FE0 !important] [color=#999999 !important]# output?
[color=teal !important]list[color=#333333 !important][[color=#009999 !important]1[color=#333333 !important]].[color=teal !important]append[color=#333333 !important]([color=#009999 !important]20[color=#333333 !important])
l[color=teal !important]ist[color=#006FE0 !important] [color=#999999 !important]# output?
[color=teal !important]list[color=#333333 !important].[color=teal !important]append[color=#333333 !important]([color=#009999 !important]30[color=#333333 !important])
[color=teal !important]list[color=#006FE0 !important] [color=#999999 !important]# output?
[color=#999999 !important]
2,4,6,8行将输出什么效果?试表明。
输出的效果如下:
[color=#999999 !important]
[color=#333333 !important][[],[color=#006FE0 !important] [color=#333333 !important][],[color=#006FE0 !important] [color=#333333 !important][],[color=#006FE0 !important] [color=#333333 !important][],[color=#006FE0 !important] [color=#333333 !important][]]
[color=#333333 !important][[[color=#009999 !important]10[color=#333333 !important]],[color=#006FE0 !important] [color=#333333 !important][[color=#009999 !important]10[color=#333333 !important]],[color=#006FE0 !important] [color=#333333 !important][[color=#009999 !important]10[color=#333333 !important]],[color=#006FE0 !important] [color=#333333 !important][[color=#009999 !important]10[color=#333333 !important]],[color=#006FE0 !important] [color=#333333 !important][[color=#009999 !important]10[color=#333333 !important]]]
[color=#333333 !important][[[color=#009999 !important]10[color=#333333 !important],[color=#006FE0 !important] [color=#009999 !important]20[color=#333333 !important]],[color=#006FE0 !important] [color=#333333 !important][[color=#009999 !important]10[color=#333333 !important],[color=#006FE0 !important] [color=#009999 !important]20[color=#333333 !important]],[color=#006FE0 !important] [color=#333333 !important][[color=#009999 !important]10[color=#333333 !important],[color=#006FE0 !important] [color=#009999 !important]20[color=#333333 !important]],[color=#006FE0 !important] [color=#333333 !important][[color=#009999 !important]10[color=#333333 !important],[color=#006FE0 !important] [color=#009999 !important]20[color=#333333 !important]],[color=#006FE0 !important] [color=#333333 !important][[color=#009999 !important]10[color=#333333 !important],[color=#006FE0 !important] [color=#009999 !important]20[color=#333333 !important]]]
[color=#333333 !important][[[color=#009999 !important]10[color=#333333 !important],[color=#006FE0 !important] [color=#009999 !important]20[color=#333333 !important]],[color=#006FE0 !important] [color=#333333 !important][[color=#009999 !important]10[color=#333333 !important],[color=#006FE0 !important] [color=#009999 !important]20[color=#333333 !important]],[color=#006FE0 !important] [color=#333333 !important][[color=#009999 !important]10[color=#333333 !important],[color=#006FE0 !important] [color=#009999 !important]20[color=#333333 !important]],[color=#006FE0 !important] [color=#333333 !important][[color=#009999 !important]10[color=#333333 !important],[color=#006FE0 !important] [color=#009999 !important]20[color=#333333 !important]],[color=#006FE0 !important] [color=#333333 !important][[color=#009999 !important]10[color=#333333 !important],[color=#006FE0 !important] [color=#009999 !important]20[color=#333333 !important]],[color=#006FE0 !important] [color=#009999 !important]30[color=#333333 !important]]
表明如下:
第一行的输出效果直觉上很轻易明白,比方 list = [ [ ] ] * 5 就是简朴的创造了5个空列表。然而,明白表达式list=[ [ ] ] * 5的关键一点是它不是创造一个包罗五个独立列表的列表,而是它是一个创建了包罗对同一个列表五次引用的列表。只有相识了这一点,我们才气更好的明白接下来的输出效果。
list[0].append(10) 将10附加在第一个列表上。
但由于全部5个列表是引用的同一个列表,以是这个效果将是:
[[10], [10], [10], [10], [10]]
同理,list[1].append(20)将20附加在第二个列表上。但同样由于5个列表是引用的同一个列表,以是输出效果如今是:
[[10, 20], [10, 20], [10, 20], [10, 20], [10, 20]].
作为对比, list.append(30)是将整个新的元素附加在外列表上,因此产生的效果是: [[10, 20], [10, 20], [10, 20], [10, 20], [10, 20], 30].
7、Given a list of N numbers。
给定一个含有N个数字的列表。
利用单一的列表天生式来产生一个新的列表,该列表只包罗满意以下条件的值:
(a)偶数值
(b)元素为原始列表中偶数切片。
比方,假如list[2]包罗的值是偶数。那么这个值应该被包罗在新的列表当中。由于这个数字同时在原始列表的偶数序列(2为偶数)上。然而,假如list[3]包罗一个偶数,
谁人数字不应该被包罗在新的列表当中,由于它在原始列表的奇数序列上。
对此题目的简朴办理方法如下:
[x for x in list[::2] if x%2 == 0]
比方,给定列表如下:
list = [ 1 , 3 , 5 , 8 , 10 , 13 , 18 , 36 , 78 ]
列表天生式[x for x in list[::2] if x%2 == 0] 的效果是,
[10, 18, 78]
这个表达式工作的步调是,第一步取出偶数切片的数字,
第二步剔除此中全部奇数。
给定以下字典的子类:
[color=#800080 !important]class[color=#006FE0 !important] [color=teal !important]DefaultDict[color=#333333 !important]([color=teal !important]dict[color=#333333 !important])[color=#006FE0 !important]:
[color=#006FE0 !important] def[color=#006FE0 !important] [color=teal !important]__missing__[color=#333333 !important](self[color=#333333 !important],[color=#006FE0 !important] [color=#002D7A !important]key[color=#333333 !important])[color=#006FE0 !important]:
[color=#006FE0 !important] return[color=#006FE0 !important] [color=#333333 !important][]
8、下面的代码可以或许运行么?为什么?
[color=#002D7A !important]d[color=#006FE0 !important] = [color=teal !important]DefaultDict[color=#333333 !important]()
[color=#002D7A !important]d[color=#333333 !important][[color=#DD1144 !important]'florp'[color=#333333 !important]][color=#006FE0 !important] = [color=#009999 !important]127
可以或许运行。
当key缺失时,实行DefaultDict类,字典的实例将主动实例化这个数列。
看完本文有劳绩?请转发分享给更多人
关注「Python开辟者」,提拔Python技能
|
上一篇:Python vs Ruby: 谁是最好的 web 开辟语言?下一篇:从小白到大神,一文把握 Python 麋集知识点
|