56

現在のプロジェクトを支援する関数をオンラインで入手しましたが、一部の行にセミコロンがありました。なぜだろう?機能を壊すためですか?

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
4

5 に答える 5

102

あなたが示すコードでは、セミコロンは何もしません。

これは、ステートメントの最後にセミコロンを必要とする別の言語 (C、Java など) でプログラミングしている人ではないかと思いますが、それは単なる習慣です (私にも時々起こります)。

同じ行に複数の Python ステートメントを配置する場合は、セミコロンを使用してそれらを区切ることができます。このPython Docを参照してください。

スイートは、句によって制御されるステートメントのグループです。スイートは、ヘッダーと同じ行でヘッダーのコロンに続く、セミコロンで区切られた 1 つ以上の単純なステートメントである場合もあれば、後続の行でインデントされた 1 つ以上のステートメントである場合もあります。

于 2012-09-08T23:40:35.673 に答える
19

ここのセミコロンは何もしません。C/C++/Java/(他の多くの言語) のバックグラウンドを持つ人々は、習慣からセミコロンを使用する傾向があります。

于 2012-09-08T23:41:47.560 に答える
0

他の回答が指摘しているように、セミコロンはそこで何もしません。これは区切り文字です (例: print 1;print 2)。しかし、次のようには機能しません: def func():print 1;print 2;;print'Defined!'(;;は構文エラーです)。習慣から、人々はそれを使用する傾向があります (C/Java などの言語で必要とされるため)。

于 2016-04-14T14:56:06.580 に答える