Привет Python

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

Мы начнем с краткого обзора синтаксиса Python, присваивания переменных и арифметических операторов.

Привет python!

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

Просто ради забавы попробуйте прочитать код ниже и предсказать, что он будет делать при запуске. (Если вы понятия не имеете, это нормально!) Затем нажмите кнопку «вывод», чтобы увидеть результаты нашей программы.

spam_amount = 0
print(spam_amount)

# Ordering Spam, egg, Spam, Spam, bacon and Spam (4 more servings of Spam)
spam_amount = spam_amount + 4

if spam_amount > 0:
    print("But I don't want ANY spam!")

viking_song = "Spam " * spam_amount
print(viking_song)

вывод скрипта

0
But I don't want ANY spam!
Spam Spam Spam Spam

Здесь есть что рассмотреть! Эта глупая программа демонстрирует множество важных аспектов того, как выглядит код Python и как он работает. Давайте рассмотрим код сверху вниз.

spam_amount = 0

Назначение переменной: здесь мы создаем переменную spam_amount и присваиваем ей значение 0 с помощью =, что называется оператором присваивания.

💡
Примечание: если вы программировали на некоторых других языках (например, Java или C++), вы могли заметить некоторые вещи, которые Python не требует от нас делать здесь: нам не нужно «объявлять» spam_amount перед его назначением нам не нужно сообщать Python, на какой тип значения будет ссылаться spam_amount.

Фактически, мы даже можем переназначить spam_amount, чтобы ссылаться на другой тип вещей, например, на строку или логическое значение.
print(spam_amount) #0

Вызовы функций:. print — это функция Python, которая отображает переданное ей значение на экране. Мы вызываем функции, помещая скобки после их имени и помещая входные данные (или аргументы) функции в эти скобки.

# Ordering Spam, egg, Spam, Spam, bacon and Spam (4 more servings of Spam)
spam_amount = spam_amount + 4

Первая строка выше — это комментарий. В Python комментарии начинаются с символа #. Далее мы видим пример переназначения.

Переназначение значения существующей переменной выглядит так же, как и создание переменной — оно по-прежнему использует оператор присваивания =.

В этом случае значение, которое мы присваиваем spam_amount, включает в себя простую арифметику с его предыдущим значением. Когда он сталкивается с этой строкой, Python оценивает выражение справа от = (0 + 4 = 4), а затем присваивает это значение переменной слева.

if spam_amount > 0:
    print("But I don't want ANY spam!")

viking_song = "Spam Spam Spam"
print(viking_song)

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

Обратите внимание, как мы указали, какой код относится к if. "But I don't want ANY spam!" должно быть выведено только в том случае, если spam_amount положительно. Но более поздний код (например, print(viking_song)) должен быть выполнен в любом случае. Откуда мы (и Python) это знаем?

Двоеточие (:) в конце строки if указывает на то, что начинается новый блок кода. Последующие строки с отступом являются частью этого блока кода.

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

Более поздние строки, касающиеся viking_song, не имеют отступа в 4 дополнительных пробела, поэтому они не являются частью блока кода if. Мы увидим больше примеров отступов блоков кода позже, когда будем определять функции и использовать циклы.

Этот фрагмент кода также является нашим первым появлением строки в Python:

"But I don't want ANY spam!"

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

viking_song = "Spam " * spam_amount
print(viking_song) #Spam Spam Spam Spam 

Оператор * можно использовать для умножения двух чисел (3 * 3 дает 9), но мы также можем умножить строку на число, чтобы получить версию, которая повторяется столько раз. Python предлагает ряд дерзких маленьких трюков, экономящих время, например, когда операторы вроде * и + имеют разное значение в зависимости от того, к чему они применяются.

Числа и арифметика в Python

Выше мы уже видели пример переменной, содержащей число:

spam_amount = 0

«Число» — это хорошее неформальное название для такого рода вещей, но если бы мы хотели быть более техническими, мы могли бы спросить Python, как он опишет тип вещи, которой является spam_amount:

type(spam_amount) #int

Это int — сокращение от integer. Есть еще один тип чисел, с которым мы часто сталкиваемся в Python:

type(19.95) #float

Число с плавающей точкой — это число с десятичной точкой — очень полезно для представления таких вещей, как вес или пропорции.

type() — вторая встроенная функция, которую мы видели (после print()), и это еще одна хорошая функция для запоминания. Очень полезно иметь возможность спросить Python «что это за штука?».