Я получил функцию онлайн, чтобы помочь мне с моим текущим проектом, и в ней были точки с запятой в некоторых строках. Мне стало интересно, почему? Это чтобы сломать функцию?
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
Точка с запятой ничего не делает в приведенном вами коде.
Я подозреваю, что это кто-то, кто программирует на другом языке (C, Java, ...), который требует точки с запятой в конце утверждений, и это просто привычка (со мной это тоже иногда случается).
Если вы хотите разместить несколько утверждений Python на одной строке, вы можете использовать точку с запятой для их разделения, см. это Python Doc:
Набор - это группа операторов, управляемых предложением. Набор может быть одним или несколькими простыми утверждениями, разделенными точкой с запятой, на одной строке как заголовок, после двоеточия в заголовке, или это может быть один или несколько отступов на последующих строках.
Программистов на C, C++ и Java, которые привыкли использовать точку с запятой, чтобы сообщить компилятору, что это конец выступления, но для питона это не так.
Причина в том, что в Python, строки имеют однозначный способ разделения строк кода; это дизайн, и как эта работа была тщательно продумана. В результате, Python код отлично читается и однозначно без каких-либо специальных заявлении маркеры (не только строки).
Как указывают другие ответы, точка с запятой здесь ничего не делает. Это разделитель (например, print 1;print 2
). Но она не работает следующим образом: def func():print 1;print 2;;print'Defined!'
(;;
- синтаксическая ошибка). По привычке люди склонны использовать его (так как он необходим в таких языках, как C/Java...).