- 主题:Python的循环结束else分支语义与英文意思间有点别扭吧?
Python的循环结束else分支语义与英文意思间有点别扭吧?
为什么用else这个关键词?
我觉得loopdone不错
--
FROM 112.50.55.*
def fn(ls):
dict1={}
for i in ls:
dict1[i]=dict1.get(i,0)+1
for c in dict1.values():
if c>1:
return True #假如印刷到页尾
else: #新的一页
return False
这段代码,如果印刷到书本,那个else很容易被误以为和if配套,而不是和for配套
--
修改:ooolinux FROM 183.251.227.*
FROM 183.251.227.*
while xxx:
a
else:
b
应该非a即b,实际上相反
【 在 ToSimplicity 的大作中提到: 】
: for else有点怪
: while else很正常
--
FROM 183.251.227.*
nobreak的时候走else
【 在 freesand 的大作中提到: 】
: 当循环条件不满足时就走else,loopdone肯定不合适啊
--
修改:ooolinux FROM 183.251.227.*
FROM 183.251.227.*
‘然后’,可以
【 在 iMx 的大作中提到: 】
: 用then更合理
:
--
FROM 183.251.227.*
相对来说
【 在 lookforit 的大作中提到: 】
: for else is abusolutly ugly
--
FROM 183.251.227.*
没有实际例子
【 在 ae175b1bf388 的大作中提到: 】
: for/while -- then -- else 三段. 是不是更合理
: 还可以 for - then - else for
: 用then更合理
: ...................
--
FROM 183.251.227.*
感觉换个关键字比较好
【 在 JulyClyde 的大作中提到: 】
: python里的else除了和if配套的,其他都很奇怪
--
FROM 183.251.227.*
Python2到Python3的时候,很多老代码也得改吧
【 在 adoal 的大作中提到: 】
: 我记得fluent python里提到这几个else的时候也是负面意见,
: 说是过于拘泥减少新增关键词原则(避免新关键词撞到老代码里的标识符)
: 而导致语义不自然、可读性变差
: ...................
--
FROM 183.251.227.*
前鹅?
【 在 JulyClyde 的大作中提到: 】
: 嗯,关于新关键词撞到老代码里的标识符……
: 我在前鹅的时候,遇到一个python2的ansible connection plugin,其中一个参数叫async
: 真tmd……
--
FROM 183.251.227.*