- Pythonista. Привет, Python
- Привет, Python!
- Числа и арифметика в Python
- Числа и арифметические операторы Python
- 1. Типы чисел в Python.
- 2. Арифметические операторы Python.
- 2.1. Сложение и вычитание в Python.
- 2.3. Возведение в степень в Python ( ** )
- 2.4. Деление в Python ( / )
- 2.5. Деление с округлением в Python ( // )
- 2.6. Оператор вычисления остатка от деления ( % )
- 3. Исключения и трассировка.
Pythonista. Привет, Python
Доброго времени суток, Хабр. Запускаю короткий курс статей, который охватывает ключевые навыки Python, необходимые для изучения Data Science. Данные статьи подойдут для тех, кто уже имел опыт в программировании и хочет добавить Python в свою копилку навыков.
Привет, Python!
Python был назван в честь популярного британского комедийного телешоу 1970-х «Летающий цирк Монти Пайтона», поскольку автор был поклонником этого телешоу.
Просто ради удовольствия попробуйте прочитать приведенный ниже код и предсказать, что он будет делать при запуске. (Если вы не знаете, это нормально!) Он приурочен скетчу Монти Пайтона про спам.
spam_amount = 0 print(spam_amount) # Заказ спам, яйца, спам, спам, бекон и спам (еще 4 порции спама) 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)
Эта забавная программа демонстрирует многие важные аспекты того, как выглядит код Python и как он работает. Давайте подробнее рассмотрим код.
Присвоение переменной: здесь мы создаем переменную с именем spam_amount и присваиваем ей значение 0 используя = , что называется оператором присваивания.
Обратите внимание: если вы программировали на других языках (например, Java или C ++), вы могли заметить некоторые вещи, которые Python не требует от нас здесь:
• нам не нужно объявлять spam_amount перед присвоением ему значения
• нам не нужно указывать Python, на какой тип значения будет ссылаться spam_amount . Фактически, мы даже можем переназначить spam_amount для обозначения другого типа вещей, таких как строка или логическое значение.
Вызов функций: print — это функция Python, которая отображает на экране переданное ей значение. Мы вызываем функции, добавляя круглые скобки после их имени и помещая входные данные (или аргументы) функции в эти скобки.
# Заказ спам, яйца, спам, спам, бекон и спам (еще 4 порции спама) 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:
Строки можно помечать двойными или одинарными кавычками. (Но поскольку эта конкретная строка содержит символ одинарной кавычки, мы можем запутать Python, пытаясь заключить ее в строку, если мы не будем осторожны.)
viking_song = "Spam " * spam_amount print(viking_song)
Оператор * можно использовать для умножения двух чисел ( 3 * 3 равно 9), но, что довольно интересно, мы также можем умножить строку на число, чтобы получить версию, которая повторяется столько раз. Python разрешает несколько маленьких трюков, подобных этому, где операторы типа * и + имеют разное значение в зависимости от того, к чему они применяются. (Технический термин для этого — перегрузка оператора)
Числа и арифметика в Python
Мы уже видели пример переменной, содержащей число выше:
«Число» — неформальное название для такого рода вещей, но если мы хотим быть более техническими, мы можем спросить Python, как он описывает тип вещи, которым является spam_amount :
Здесь int — сокращение от integer. Есть еще один вид чисел, с которым мы часто сталкиваемся в Python:
float — это число с плавающей точкой, которое очень полезно для представления таких вещей, как вес или пропорции.
type() — еще одна встроенная функция, которую мы встречаем (после print() ), и ее следует запомнить. Очень полезно иметь возможность спросить Python «к какому типу вещей относиться это?».
Естественное желание действий с числами — выполнять арифметические операции. Мы видели оператор + для сложения и оператор * для умножения. Python также покрывает остальные основные кнопки вашего калькулятора:
Числа и арифметические операторы Python
Числа очень часто применяются в программирование для ведения счета в играх, представления данных в визуализации, хранение информации и т.д.
Содержание страницы: |
---|
1. Типы чисел |
2. Арифметические операторы |
2.1. Сложение и вычитание |
2.2. Умножение |
2.3. Возведение в степень |
2.4. Деление |
2.5. Деление с округлением |
2.6. Оператор вычисления остатка от деления |
3. Исключения и трассировка |
1. Типы чисел в Python.
В Python числа делятся на несколько категорий в соответствии со способом их использования. Основные это целые числа ( int ) и вещественные ( float ) или числа с плавающей точкой. Чтобы узнать к какому типу относится число или переменная, можно воспользоваться встроенной функцией type() . Запустите командную строку и активируйте Python. В скобках введите число или переменную, чтобы узнать ее тип.
Значение 12,5 является числом с плавающей точкой, поэтому Python выводит строку float . Переменная x содержит целое число 10, поэтому Python выводит тип int (сокращение от integer).
2. Арифметические операторы Python.
В таблице перечислены арифметические операторы, среди которых встречаются некоторые знаки, не используемые в алгебре.
Операции Python | Арифметический оператор | Алгебраическое выражение | Выражение Python |
---|---|---|---|
Сложение | + | a + b | a + b |
Вычитание | — | a — b | a — b |
Умножение | * | a · b | a * b |
Возведение в степень | ** | x y | a ** b |
Деление | / | x / y | x / y |
Целочисленное деление | // | [ x / y ] | x // y |
Остаток от деления | % | r mod s | r % s |
2.1. Сложение и вычитание в Python.
Сложение и вычитание в целом выполняется и записывается, как и обычно в алгебре.
>>> 5 + 2
7
>>> 5 — 2
3
2.2. Умножение в Python ( * )
В Python в качестве оператора умножения используется знак * (звездочка)
2.3. Возведение в степень в Python ( ** )
В Python для возведения в степень используются два знака ** .
>>> 5 ** 6
15625
>>> 81 ** (1/2)
9.0
Для вычисления квадратного корня можно воспользоваться показателем степени 1/2. Корень 81 = 9.
2.4. Деление в Python ( / )
Оператор деления ( / ) делит числитель на знаменатель
>>> 10 / 2
5.0
>>> 10 / 8
1.25
♦ Важно, при делении двух любых чисел — даже если это целые числа, частным от деления которых является целое число, вы всегда получаете вещественное число.
2.5. Деление с округлением в Python ( // )
Операция целочисленное деление ( // ) делит числитель на знаменатель, в результате получается наибольшее целое число, не превышающее результат. В Python дробная часть отсекается.
>>> 10 // 8
1
>>> 20 // 8
2
>>> — 17 // 4
-5
При обычном деление 10 на 8, получается результат 1,25. Python отсекает дробную часть и в итоге получаем 1.
2.6. Оператор вычисления остатка от деления ( % )
Для вычисления остатка от деления в Python используется оператор вычисления остатка от деления %
>>> 21 % 5
1
>>> 18 % 4
2
В данных примерах при делении 21 на 5, получается частное 4 и остаток 1. Во втором случае при делении 18 на 4, получается 4 и остаток 2. Этот оператор чаще работает с целыми числами, но также может использоваться и с другими типами.
3. Исключения и трассировка.
В Python также как и в алгебре деление на 0 запрещено. При попытке выполнения такой операции происходит исключение. Сообщая об исключение, Python выдает трассировку стека. В трассировке указано, что произошло исключение типа ZeroDivisionError, большая часть исключений заканчивается суффиксом Error. Ошибка division by zero — деление на ноль.
>>> 5 / 0
Traceback (most recent call last):
File «», line 1, in
ZeroDivisionError: division by zero