分号是做什么用的?

时间:2012-09-08 23:39:28

标签: python function if-statement break

我在网上有一个功能来帮助我完成当前的项目,并且它在某些行上有分号。我想知道为什么?是打破这个功能吗?

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

5 个答案:

答案 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();