Лучшие практики для изучения базового синтаксиса Python

У Python удивительно простой синтаксис, обманчиво, однако не путайте его простоту с недостатком мощности, потому что Python — мощный язык, но есть несколько правил, а ваш автор — очень самоуверенный разработчик, сначала делайте все по-своему, затем, по мере накопления опыта, вы можете разрабатывать свои собственные пути и становиться таким же самоуверенным, но если ничего не знать о мнениях других разработчиков, и вы можете быть информированным, самоуверенным разработчиком!

Первое, что должен знать любой разработчик, плохо знакомый с Python, это то, что пробелы в Python имеют большое значение, а отступы управляют потоком программы, отступы в четыре пробела или одна табуляция, но всегда вставляйте пробелы.

Многие люди, которые не используют Python, жалуются на этот навязанный стиль, реальность такова, что вы очень быстро к нему адаптируетесь и из-за него разрабатываете читаемый код.

Как новичок, вы найдете синтаксис чистым и читаемым, и вы должны стремиться к тому, чтобы ваш код был как можно более чистым. Ваш автор заметил одну вещь, когда обучал других кодированию: вначале сложно освоить структуру и эстетику кода, но на это следует обратить внимание, потому что понимание того, что делает ваш код, становится легче, когда вы можете прочитай это! У многих компаний есть стиль кодирования, которого вы должны придерживаться даже в своих личных проектах. Рекомендуется найти стиль, который работает для вас, и придерживаться его.

РЕПЛ

Python является интерпретируемым языком, что означает, что существует два способа запуска кода, оба используют программу командной строки `python`, обычно можно запустить python с текстовым файлом, содержащим код python, а интерпретатор запустит код и завершит работу. Еще одним средством для запуска кода Python является интерактивная среда для экспериментов, называемая Python REPL, цикл чтения-оценки-печати. Если вы решите запустить `python` на терминале, не передавая ему файл для запуска, REPL откроется и позволит вам напрямую вводить в него код.

Если я хочу поэкспериментировать или быстро что-то сделать, я часто не буду открывать файл и сохранять код, я часто буду использовать repl для экспериментов и тестирования. В этой статье образцы, которые должны быть явно интерпретированы в ответе, будут иметь строки, начинающиеся с «›››», поскольку это то, что ответ использует в качестве подсказки.

Вы можете выйти из repl, нажав ctrl+d или набрав «exit()» в командной строке. В repl ничего не сохраняется, поэтому не волнуйтесь, если вы получите ошибки, это совершенно естественно.

Привет мир

В каждой книге есть пример Hello World, и я не из тех, кто нарушает традицию, так что, честно говоря, это несколько не впечатляет, но это хорошо! Print принимает строку и отображает ее в стандартном выводе,

>>> print(‘Hello World’)

Чтение ввода

Функция ввода также может принимать необязательный параметр, который вы будете отображать в виде подсказки:

>>> user_input = input()
>>> user_input = input(‘please enter something, anything… ‘)

Возвращаемое значение input представляет собой строку, содержащую любой ввод пользователя, поэтому мы можем сохранить его в переменной для последующего использования.

Комментарии

В программировании часто бывает полезно оставлять заметки для других (включая себя в будущем), они называются комментариями!

В однострочных комментариях Python используется решетка (или, если вы не говорите на британском английском, символ фунта), например:

# This is a comment

Если вы хотите, чтобы комментарий занимал несколько строк, используйте синтаксис тройных кавычек:

“”” this is a comment
But it just so happens
That it spans
Many lines ”””

Однако одним исключением из этого правила является то, что если вы используете тройную кавычку в качестве первого оператора функции или класса, она будет интерпретироваться как строка документации.

Операторы

Python имеет большинство тех же операторов, которые вы ожидаете от других языков программирования, их использование так же просто, как «1 ‹ 2», как в математике начальной школы или других языках.

И/или

Прежде чем мы рассмотрим ветвление и зацикливание, где будут полезны ключевые слова и/или, стоит посмотреть, как именно они работают, поскольку в целом они могут делать то, что вы ожидаете, но то, как они это делают, может не совпадать!

И возвращает возвращает первое ложное значение или последнее истинное значение.

Или возвращает первое истинное значение или последнее ложное значение.

Требуется небольшой отход к чему-то, известному как правдивость и ложность, значения, которые не являются конкретно булевыми типами, могут вести себя как логические.

Например, числовой 0 является ложным, а любое другое значение является истинным, потому что 0 — это ничто, а все остальное — это что-то, даже если это отрицательное значение.

Пустой список [] считается логическим значением false по той же причине, что он не имеет значений, список даже с одним значением считается истинным.

Вот почему работает следующее:

>>> 5 and [1]
>>> 1 or False
>>> 9 and []

Нет

Not — это оператор, который принимает значение и возвращает истинное или ложное значение, при необходимости приводя к True/False.

>>> not 5
False
>>> not True
False
>>> not False
True
>>> not {} or []
True

Последнее немного сложно, но если мы воспользуемся простыми правилами подстановки, изученными ранее с помощью и/или и того, как пустые объекты рассматриваются как истинные или ложные, мы можем распаковать его следующим образом.

not {} or []

Оцените и замените {} или [] сначала, что дает нам просто [] поскольку или дает нам первое истинное значение или последнее ложное, есть два значения, пустой словарь, поэтому он пропущен, не является истинным и все такое, и мы получаем ко второму, который в данном случае также является последним элементом, поэтому или не важно, истинен он или ложен, это все, что осталось, поэтому он возвращается, что означает, что оператор упрощается до

нет []

Если [] является ложным, инверсия ложного значения должна быть истинной.

Переменные

Python позволяет вам назначать переменные с помощью простого знака равенства, если переменная в данный момент не существует в области видимости, она будет создана:

>>> X = 5 # int
>>> X = 2.5 # float
>>> X = ‘something’ # string

Управление потоком

Ветвление (операторы if)

Как и все языки программирования, Python поддерживает конструкцию ветвления, «если», здесь нет «переключателя» или «условия». Это не оплошность, а осознанный дизайнерский выбор.

Если операторы очень простые, в отличие от некоторых других языков, также нет необходимости заключать условие в круглые скобки:

если условие:

действие()

Все, что расположено ниже блока if, будет телом блока if. И/или/не может использоваться здесь для создания сложной логической логики, если это необходимо.

если 9 и 5:

действие()

И здесь вступают в игру правдивость и ложность, потому что «9 и 5» оцениваются как 5, оператор if фактически выполнит «если 5», и поскольку любое число, отличное от 0, считается логическим значением true, выполняется тело блока if.

Точно так же, если вы сделаете что-то вроде следующего, это уменьшится до более простой формы:

>>> if [1] or 0:
… action()
>>> if [1]:
… action()

И следуя правдивости непустого списка, выполняется тело блока if.

Существует концепция else if, называемая elif в python, несколько из которых могут существовать в блоке am if, а также в предложении else.

>>> if a:
… something(a)
>>> elif b:
… something(b)
>>> elif c:
… something(c)
>>> else:
… something_else()

Зацикливание

Python также имеет циклы, цикл for (который на самом деле больше похож на цикл for-each) и цикл while, в котором нет do-while. Опять же, эти упущения — не недостатки, а преднамеренный выбор. Я объясню оба цикла и как использовать функции, чтобы сделать циклы очень простыми и полезными в работе.

За

При работе с Python следует учитывать, что, поскольку основной цикл for реализован в терминах цикла for-each, невозможно отследить, сколько раз цикл выполнялся. Это заставляет разработчиков, плохо знакомых с Python, объявлять переменные вне цикла и обновлять счетчик цикла, в этом нет никакой необходимости!

Базовая структура цикла for:

for var[, n, …] in iterable:
action()

Если вы хотите, чтобы цикл выполнял X итераций, но на самом деле не заботитесь о конкретных элементах в списке, вы можете использовать функцию диапазона!

>>> for X in range(10):
… print(X)

Диапазон начинается с 0 и дает десять последовательных чисел, технически цикл имеет итерацию элементов и для каждого элемента, но он выполняет ту же функцию, что и цикл со счетчиком. В этом конкретном примере вы бы знали, как далеко вы прошли итерацию цикла, потому что это последовательные числа, но что, если у вас есть, например, список имен?

>>> counter = 1
>>> for name in [‘Stanley’, ‘Okonkwo’, ‘Ebuka’, ‘MoonCake’]:
… print(f’{counter}: {name}’)
… counter += 1

Многие люди считают это адекватным решением, это также признак того, что вы читаете чей-то код, который не является Pythonista, более Pythonic способ написать это будет следующим:

>>> for num, name in enumerate([‘‘Stanley’, ‘Okonkwo’, ‘Ebuka’, ‘Mark’ ‘Jerome’]):
… print(f’{num}: {name}’)

Функция перечисления принимает итерируемый объект, в данном случае список и необязательный начальный индекс, и возвращает кортеж с двумя значениями, содержащий индекс и элемент, который мы можем распаковать в цикле. Стоит отметить, что начальный индекс по умолчанию равен 0, поэтому в следующем коде мы делаем то же самое, что и выше, но передаем 1 в качестве начального индекса.

>>> for num, name in enumerate([‘Gary’, ‘Kvn’, ‘Nightfall’, ‘MoonCake’], 1):
… print(f’{num}: {name}’)

Пока

Конструкция цикла while очень похожа по структуре на цикл for:

пока условие:

действие()

Однако, в отличие от for, while имеет дело с состоянием, а не с итерируемыми объектами. Вы можете использовать любые правдивые или ложные выражения, включая и, или, и не в свое удовольствие, это означает, что вы можете очень просто создать бесконечный цикл, я фактически вырезал следующее, что я написал на большом шоколадном сердце для бывшей подруги мой лол.

>>> while True:
… print(‘I ❤ U!’)

Она ушла, доказательство того, что бесконечные петли можно разорвать!

Перерыв/продолжить

Break и continue являются общими ключевыми словами во многих языках программирования и используются для управления циклом. Если вы не сталкивались с ними до того, как break позволяет вам выйти из цикла досрочно. Однако «Продолжить» позволяет вам перейти к следующей итерации цикла, оптимизация, если вы знаете, что в этой конкретной итерации цикла больше нечего делать.

При необходимости их можно объединить в одну и ту же структуру контура.

>>> for x in range(10):
… if x % 2 == 0:
… continue
… print(x) # print only odd numbers
… if x == 7: # break on the lucky number
… break

Есть еще одна последняя вещь о циклах, которые можно здесь ввести, циклы, например if, могут иметь предложение else, это одна из самых странных вещей, о которых стоит подумать, но на самом деле это полезный и элегантный фрагмент синтаксиса, который можно использовать при определенных обстоятельствах. . Предложение else, прикрепленное к циклу, выполняется, если цикл завершился без прерывания. То есть цикл либо прерывается, либо выполняется до конца.

>>> a = 3
>>> while a:
… print(a)
… a -= 1
… else:
… print(‘Done’)
…
3
2
1
Done
>>> a = 3
>>> while a:
… print(a)
… a -= 1
… if a == 1:
… break
… else:
… print(‘Done’)
…
3
2
Done

Забавный факт: при написании этих примеров я действительно забыл сбросить «а» обратно на число и обнаружил кое-что, чего раньше не знал, и чувствовал, что просто должен включить это сюда! Если условие цикла while начинается как ложное, немедленно запускается блок else!

>>> a = 0
>>> while a:
… print(a)
… a -= 1
… if a == 1:
… break
… else:
… print(‘Exited without breaking’)
…

Вышел без поломки

Что имеет абсолютный смысл, я просто никогда не задумывался об этом и, надеюсь, уверяю вас, читатель, что мы все всегда учимся чему-то новому!

Итак, ребята, я остановлюсь на этом, и скоро появятся следующие публикации, в которых я объясню «Область действия, типы данных, функции, классы и т. д.».

Не стесняйтесь хлопать!! и следуй за мной.