Was macht ein Semikolon zu tun?
Bekam ich eine Funktion online, um mir zu helfen mit meinem aktuellen Projekt und es hatte Semikolons auf einige der Linien. Ich Frage mich, warum? Ist es zu brechen, die die Funktion?
def containsAny(self, strings=[]):
alphabet = 'abcdefghijklmnopqrstuvwxyz0123456789'
for string in strings:
for char in string:
if char in alphabet: return 1;
return 0;
Die Funktion habe ich online mit der kleinen Modifikation:
for string in strings:
for char in string:
if char in alphabet: return 1;
Ist die oben Folgendes sagen?
if char in alphabet:
return 1
break
- Als Seite beachten, können Sie dies tun in einer Zeile:
any(char in alphabet for string in strings for char in string)
- Wirklich, vielen Dank ich werde es versuchen.
- Nur bearbeitet. Versuchen Sie es erneut
- So was wird = ? Wahr oder Falsee
- Yep.
any
gibt True zurück, wenn jedes element in seiner iterierbar ist Wahr. - ich habe es, funktioniert um einiges schneller, danke
- Related post - Warum ist das Semikolon erlaubt in diesem python-snippet?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dem Semikolon wird nichts in dem code, den Sie zeigen.
Ich vermute, das ist jemand, der Programme in einer anderen Sprache (C, Java, ...), das erfordert, dass die Semikolons am Ende der Anweisungen und es ist nur eine Gewohnheit (passiert mir manchmal auch).
Wenn Sie wollen, um mehrere Python-Anweisungen in der gleichen Zeile, können Sie eine semi-Kolon um Sie zu trennen, finden Sie in diesem Python-Doc:
Das Semikolon hier nicht alles tun. Menschen, die von C/C++/Java/(viele andere Sprache) hintergrund neigen dazu, verwenden Sie das Semikolon aus Gewohnheit.
Programmierern von C, C++ und Java sind gewöhnt mit einem Semikolon zu sagen, der compiler, dass dies das Ende einer Anweisung, aber für Python ist dies nicht der Fall.
Der Grund ist, dass in Python, Zeilenumbrüche sind eine eindeutige Möglichkeit der Trennung von code-Zeilen; dies ist by design, und die Art und Weise dies funktioniert, wurde gründlich durchdacht. Als Ergebnis, Python-code ist perfekt lesbar und eindeutig ohne spezielle end-of-Anweisung Marker (außer newline).
Andere Antworten weisen darauf hin, das Semikolon wird nichts. Es ist ein separator (z.B.
print 1;print 2
). Aber es funktioniert nicht so:def func():print 1;print 2;;print'Defined!'
(;;
ist ein syntax-Fehler). Aus der Gewohnheit, die Menschen neigen dazu, es zu benutzen (wie es erforderlich ist, die in Sprachen wie C/Java,...).