我在网上有一个功能来帮助我完成当前的项目,并且它在某些行上有分号。我想知道为什么?是打破这个功能吗?
def containsAny(self, strings=[]):
alphabet = 'abcdefghijklmnopqrstuvwxyz0123456789'
for string in strings:
for char in string:
if char in alphabet: return 1;
return 0;
我上网的功能几乎没有修改:
for string in strings:
for char in string:
if char in alphabet: return 1;
上述说法如下?
if char in alphabet:
return 1
break
答案 0 :(得分:77)
分号在您显示的代码中不执行任何操作。
我怀疑这是一个用另一种语言(C,Java,......)编程的人,在语句结束时需要用分号,这只是一种习惯(有时也会发生在我身上)。
如果要在同一行上放置几个Python语句,可以使用分号分隔它们,请参阅Python Doc:
套件是由子句控制的一组语句。套房可以 是同一行上的一个或多个以分号分隔的简单语句 作为标题,在标题的冒号后面,或者它可以是一个或多个 后续行的缩进语句
答案 1 :(得分:16)
这里的分号没有做任何事情。来自C / C ++ / Java /(许多其他语言)背景的人倾向于使用分号。
答案 2 :(得分:1)
C,C ++和Java程序员习惯使用分号告诉编译器这是语句的结尾,但对于Python来说并非如此。
原因是在Python中,换行是一种分离代码行的明确方式;这是设计,它的工作方式已经彻底考虑过。因此,Python代码具有完美的可读性和明确性,没有任何特殊的语句结束标记(除了换行符)。
答案 3 :(得分:0)
正如其他答案所指出的,分号在那里什么也没做。它是一个分隔符(例如print 1;print 2
)。但它不能像这样工作:def func():print 1;print 2;;print'Defined!'
(;;
是语法错误)。出于习惯,人们倾向于使用它(因为它在C / Java等语言中是必需的......)。
答案 4 :(得分:0)
通常,分号不执行任何操作。但是,如果您使用的是jupyter笔记本(取决于您的版本),则可能会绘制两次图形。 plot命令末尾的分号可以防止这种情况:
df.plot();