Python урок 1. арифметические действия и конструкции
Содержание:
- Изучаем Python: куда дальше?
- Расширенные строковые функции Python
- Деление с остатком Python
- Массив Numpy и ~ для отрицания логического значения в Python
- Арифметические операторы Python
- # Выражения
- Унарные арифметические операции Python
- Numpy invert для отрицания логического значения
- Логические операторы
- # Преобразование к логическому типу
- # Сравнение строк
- Математические операторы Python 3
- Операторы присваивания Python
- Операторы присваивания в Python
- Установка и подготовка среды
- Передача шестнадцатеричных данных
- # Упражнения
- Ответы на вопросы читателей
- Ввод данных и преобразования типов
- Приоритеты
- Использование numpy.bitwise_not() для отрицания логических значений в Python
- % для чисел: операция по модулю / остаток / отдых
- Операторы сравнения в Python
- Арифметические операторы в Python
- Основные строковые функции
Изучаем Python: куда дальше?
Чтобы быстро усвоить азы Питона, предоставленного в уроке материала достаточно. Конечно, этого мало, дабы стать специалистом. Поэтому придется самостоятельно дома или при помощи дополнительных курсов углублять знания. Выбор за вами, но некоторые рекомендации мы дадим.
Какие темы освоить в первую очередь? Приводим список тем и команд для новичков:
- типы данных в Python;
- необязательные и ключевые аргументы функций (*args, **kwargs), лямбда-выражения (lambda);
- объекты и классы, инициализация;
- основные встроенные модули (functools, math, string, sys, os, collections, time);
- генераторы и итераторы (yield, iter);
- работа с разными файлами (csv, изображения, текст);
- исключения и ошибки (exceptions);
- списковые включения (list comprehension);
- работа с сетью (requests, BeautifulSoup).
В дополнительных источниках ниже приведен перечень книг и сайтов, которые помогут вам в дальнейшем развитии. Если будут трудности, можно вообще начинать с литературы, где в заголовках встречаются фразы «для детей», «для школьников», «для чайников».
Потом стоит переходить к серьезным трудам (типа М. Лутца), ознакомлению с популярными фреймворками и библиотеками (Django, flask, pandas).
Расширенные строковые функции Python
encode() | Используется для возврата закодированных строк | str_name.encode (кодировка = кодировка, ошибки = ошибки) |
expandtabs() | Для установки или исправления пробелов табуляции между символами или алфавитами | str_name.expandtabs (размер табуляции) |
format() | Заменяет имя переменной, записанное в {}, значением при выполнении | str_name.format (значение1, значение2 …) |
format_map() | Для форматирования заданной строки и возвращается | str_name.format_map (отображение) |
isidentifier() | Проверяет, являются ли символы буквенно-цифровыми буквами (az) и (0-9) или подчеркиванием (_), и возвращает True | str_name.isidentifier() |
isprintable() | Проверяет, все ли символы доступны для печати, затем возвращает True | str_name.isprintable() |
istitle() | Проверяет, все ли начальные символы слов в верхнем регистре, затем возвращает True | str_name.istitle() |
join() | Принимает слова как повторяемые и объединяет их в строку | str_name.join (повторяемый) |
ljust() | Возвращает выровненную по левому краю строку с минимальным значением, заданным как ширина | str_name.ljust (длина, символ) |
lstrip() | Удаляет символы с левого края на основе данного аргумента | str_name.lstrip (символы) |
maketrans() | Создает сопоставленную таблицу, используемую для переводов. | str_name.maketrans (x, y, z) |
rsplit() | Используется для разделения строки с правого конца | str_name.rsplit (разделитель, maxsplit) |
rfind() | Ищет указанное значение и находит позицию его последнего значения. | str_name.rfind (значение, начало, конец) |
rindex() | Ищет указанное значение и находит позицию его последнего значения. | str_name.rindex (значение, начало, конец) |
rjust() | Возвращает выровненную по правому краю строку с минимальным значением, заданным как ширина | str_name.rjust (длина, символ) |
rpartition() | Ищет последнее вхождение указанной строки и разбивает строку на кортеж из трех элементов. | str_name.rpartition (значение) |
rstrip() | Удаляет символы с правого конца на основе заданного аргумента | str_name.rstrip (символы) |
translate() | Используется для получения переведенной строки | str_name.translate (таблица) |
zfill() | Он возвращает новую строку с символами «0», добавленными слева в строке. | str_name.zfill (len) |
Деление с остатком Python
Оператор % используется для деления по модулю, и возвращает остаток от деления, а не частное. Это полезно, например, для нахождения множителей числа.
Деление по модулю Python (с остатком) — пример:
o = 85 p = 15 print(o % p)
Вывод
10
В этом примере 85 делится на 15. Результат – 5 с остатком 10. Значение выводится, поскольку оператор возвращает остаток от деления.
Если мы используем два числа с плавающей точкой для деления по модулю, число с плавающей точкой будет возвращено в качестве остатка:
q = 36.0 r = 6.0 print(o % p)
Вывод
0.0
В приведенном выше примере 36.0 делится на 6.0 без остатка, поэтому возвращается значение 0.0.
Массив Numpy и ~ для отрицания логического значения в Python
Используя библиотеку массивов numpy и побитовый оператор ‘~’, произносимый как тильда. Мы можем легко отрицать логическое значение в Python. Оператор тильды принимает однобитный операнд и возвращает его дополнение. Если операнд равен 1, он возвращает 0, и наоборот.
Давайте посмотрим, как numpy array и (~) tilde работают вместе и отрицают логическое значение в Python на примере.
Примечание: Здесь 0 может быть уравновешено как False , а 1 может быть уравновешено как True.
Пример Использования побитовой тильды оператора ~ для отрицания логического значения
Выход:
В приведенном выше примере важно то, что нам нужно использовать побитовый оператор ~ с модулем numpy. В приведенном выше примере мы создали массив numpy с именем (x) с логическими значениями True и False
Впоследствии с помощью побитового оператора ~ мы отрицали логические значения в массиве numpy. Поэтому Истинное становится Ложным, а Ложное-Истинным.
Арифметические операторы Python
Пайтон предоставляет огромное количество библиотек для решения вычислительных задач. Большой набор методов ставит Python на один уровень с Matlab и Octave. Арифметические операции применяются относительно к целым числам типа int, вещественным типа float, комплексным complex.
Если в качестве аргументов операции используются только целые числа, результат тоже будет целым. Операции между числами с плавающей точкой в результате дадут целое и дробное. Единственная операция, при которой взаимодействие целых чисел дает дробное, — это деление.
Все возможные арифметические операции приведены в таблице.
Добавление одного числа к другому выполняет оператор additional. Вычитание осуществляется с помощью subtraction. Умножение одного числа на другое происходит с multiplication. Возведение в степень осуществляется с помощью exponenta. Для деления используется division.
Оператор modulus (%) возвращает остаток от деления левого операнда на правый. Если переменная a = 10, переменная b = 20, то b%a == 0. Что такое оператор деления с остатком, легко понять на следующем примере. Если 9/2 == 4.5, то 9//2 возвращает результат, равный 4. Деление с floor division (//) возвращает целое число от операции деления левого операнда на правый.
Выполнение любых операций осуществляется непосредственно самими числами или перемеными, которым присвоены числовые значения. Результатом может являться другая переменная либо одна из существующих.
Наряду с целыми и вещественными числами в Python существуют комплексные числа. Они состоят из действительной и мнимой части. Записываются в виде c = a+bj, где а — действительная часть,
C.real()
#a
b — мнимая.
C.imag()
#b
Арифметические операции c комплексными числами имеют те же свойства, что и с вещественными. Использование complex numbers можно представить на плоскости с прямоугольной системой координат. Точка a пересечения оси X и оси Y соответствует комплексному числу x + yi. Таким образом, на оси X располагаются вещественные числа, а на вертикальной оси Y — мнимые.
# Выражения
Математические выражения
Все люди знакомые с математикой знают и понимают, что такое математическое выражение. Мы часто пользуемся математическими выражениями в уме, хотя можем и не задумываться о терминологии. Например при подсчете сколько стоит купить товар или сколько времени затратили на дорогу.
Математические выражения оформленные в виде кода могут выглядеть следующим образом:
12345678910
Результатом выполнения математического выражения будет вычисление числа. В примере выше строки с математическими выражениями содержат дополнительные комментарии: результат вычисления и указание, что это математическое выражение.
Логические выражения
B реальной жизни мы соглашаемся с каким-либо утверждением или отрицаем его. Например, если вам скажут, что сумма чисел 3 и 5 больше 7, вы согласитесь, скажете: «Да, это правда». Если же кто-то будет утверждать, что сумма трех и пяти меньше семи, то вы расцените такое утверждение как ложное.
Логические выражения похожи по своему виду и принципу работна на математические выражения у них лишь два основных различия:
- математические операторы (+, -, *, / и т.п.) заменены логическими операторами (<, >, ==, != и т.п.)
- результатом вычисления логического выражения будет или , а не число.
Пример:
- Математические примеры:
- Логические примеры:
Логические выражения оформленные в виде кода могут выглядеть следующим образом:
12345678910
Логическое выражение — это выражение результатом которого является или . Еще логические выражения называют также булевы выражения в честь ученого Джордж Буль, который основал булеву алгебру (алгебру логики).
Например, выражение 4 > 5 является логическим, так как его результатом является либо правда, либо ложь. Выражение 4 + 5 не является логическим, так как результатом его выполнения является число.
Унарные арифметические операции Python
Унарное математическое выражение состоит из одного элемента. Знаки плюса и минуса в питоне могут быть использованы как единичный оператор, чтобы вернуть тождественное значение (+) или сменить знак числа (-).
Знак плюса означает тождественное значение. Мы можем использовать его с положительными значениями:
i = 3.3 print(+i)
Вывод
3.3
Когда мы используем знак плюса с отрицательным значением, он также вернёт значение тождественное данному. В этом случае он вернёт отрицательное значение:
j = -19 print(+j)
Вывод
-19
При использовании с отрицательным значением знак плюса возвращает то же отрицательное значение.
Минус (в отличие от знака плюса) изменяет знак числа. Поэтому при передаче положительного числа мы получим отрицательное значение:
i = 3.3 print(-i)
Вывод
-3.3
А когда мы используем минус в качестве унарного оператора с отрицательным значением, будет возвращено положительное число:
j = -19 print(-j)
Вывод
19
Унарные арифметические операторы возвращают тождественное значение в случае с +i, или противоположное по знаку число в случае с -i.
Numpy invert для отрицания логического значения
Numpy-одна из самых популярных библиотек в python. Он может быть использован для научных и числовых вычислений, что позволяет гораздо эффективнее работать с многомерными массивами. Массивы numpy – это плотно упакованные массивы href=”https://en.wikipedia.org/wiki/Homogeneous_function”>однородный тип. href=”https://en.wikipedia.org/wiki/Homogeneous_function”>однородный тип.
Функция Numpy.invert() используется для опроса битовой инверсии массива по элементам. Он вычисляет побитовое НЕ лежащее в основе двоичного представления логического значения из входных массивов.
Давайте посмотрим, как numpy array и numpy.invert работают вместе и отрицают логическое значение в Python на примере.
Логические операторы
Говоря на естественном языке (например, русском) мы обозначаем сравнения словами «равно», «больше», «меньше». В языках программирования используются специальные знаки, подобные тем, которые используются в математике: (больше), (меньше), (больше или равно), (меньше или равно), (равно), (не равно).
Не путайте операцию присваивания значения переменной, обозначаемую в языке Python одиночным знаком «равно», и операцию сравнения (два знака «равно»). Присваивание и сравнение – разные операции.
>>> a = 10 >>> b = 5 >>> a + b > 14 True >>> a < 14 - b False >>> a <= b + 5 True >>> a != b True >>> a == b False >>> c = a == b >>> a, b, c (10, 5, False)
В данном примере выражение состоит из двух подвыражений. Сначала происходит сравнение () переменных a и b. После этого результат логической операции присваивается переменной c. Выражение просто выводит значения переменных на экран.
# Преобразование к логическому типу
Нам известны три типа данных – целые и вещественные (дробные) числа, и также строками. Новый четвертый – логический тип данных (тип ). Его также называют булевым. У этого типа всего два возможных значения: (правда) и (ложь):
1234
Здесь переменной a было присвоено значение , после чего с помощью встроенной в Python функции проверен ее тип. Интерпретатор сообщил, что это переменная класса . Понятия «класс» и «тип данных» в данном случае одно и то же. Переменная b также связана с булевым значением.
В программировании обычно приравнивают к нулю, а – к единице. Чтобы в этом убедиться, можно преобразовать булево значение к целочисленному типу:
12
Возможно и обратное. Можно преобразовать какое-либо значение к булевому типу:
12345
И здесь работает правило: всё, что не и , является правдой: .
# Сравнение строк
Основное правило сравнения помогает избежать и/или исправить наиболее частые ошибки:
Обязательное совпадение типов
Тип сравниваемых значений всегда должен быть одинаковый!
Операторы сравнения строк
Оператор | Синтаксис | Вывод |
---|---|---|
Если значения и равны, то условие становится истинным: . | ||
Если значения и не равны, то условие становится истинным: . | ||
Если значение больше, чем значение , то условие становится истинным: . | ||
Если значение меньше значения , тогда условие становится истинным: . | ||
Если значение больше или равно значения , то условие становится истинным: . | ||
Если значение меньше или равно значения , то условие становится истинным: . | ||
Принимает значение , если находит подстроку в строке , и в противном случае. | ||
Принимает значение , если НЕ находит подстроку в строке , и в противном случае. |
Простые логические выражения
Сравнение строк происходить не столь очевидным способом как числа. Для примера предлагаю подумать над следующими выражениями:
123456789
Правила сравнения строк:
- Сравнения строк, т.е. символов содержащихся в кавычках (даже если это цифры), происходит посимвольно.
- Каждый символ закодирован цифровым порядковым номером, и чем выше номер символа, тем он больше, причем для разных букв (заглавных или строчных, русских или английских) разные порядковые номера.
- Если начальные символы совпадают, то сравнение происходит по следующему символу.
Проверку по-символьно происходит следующим образом:
- берется первый символ каждой строки, сравнивается, если символы не равны вычисляется результат или . Иначе сравнение переключается к следующему символу.
- берется следующий символ каждой строки, сравнивается, если символы не равны вычисляется результат или . Иначе происходит сравнение по следующему символу.
- Если в одной строке ещё остались символы, а в другой закончились, то будет произведено сравнение символа с пустотой. Любой символ больше пустоты, и даже пробел больше пустоты. Результатом будет или в зависимости от оператора сравнения.
Пошаговое выполнение логического выражения можно представить следующим образом:
12345
Для общего ознакомления с некоторым объемом символов можно запустить следующий код:
123
Результат выполнения будет примерно следующим, троеточием заменены не которые малопонятные символы:
123
Данный пример вывода необходим для понимания сравнения строк посимвольно.
Представим числовую ось например от -20 до 20. Мы понимаем, что одно число больше другого, потому что оно расположено правее от числа, с которым сравнивается. И число меньше, если стоит левее числа с которым оно сравнивается.
Если выведенную последовательность символом представить как числовую ось, то вес символа будет определяться по правилу: чем правее символ находится тем больше он весит.
Для примера можно запустить следующий код и осознать правильность его выполнения:
12345678
Данный пример кода специально приведен с результатом , для простоты понимания.
Для наглядности веса символа и его отображения можно запустить следующий код:
12345
Результат выполнения будет следующим:
12345678910111213
Вывод до 1105 символа.
Математические операторы Python 3
Оператор – это символ, которая обозначает операцию. Например, в математике знак плюса или + – это оператор сложения.
Мы рассмотрим схожие операторы, которые перешли в Python из математики. Но другие операторы специфичны именно для программирования.
Ниже представлена таблица с кратким обзором математических операторов, доступных в Python.
Операция | Возвращаемое значение |
x + y | Сумма x и y. |
x — y | Разность x и y. |
-x | Изменение знака x. |
+x | Тождественность x. |
x * y | Произведение x и y. |
x / y | Частное от деления x на y. |
x // y | Частное от целочисленного деления x на y. |
x % y | Остаток от деления x / y. |
x ** y | x в степени y. |
Операторы присваивания Python
Оператор «=» присваивает значение, расположенное справа, переменной слева. Например, v = 23 присваивает значение числа 23 переменной v.
В программировании часто используют составные операторы присваивания. Они соединяют арифметический оператор с оператором «=». Поэтому для сложения мы используем оператор «+» с оператором «=», чтобы получить составной оператор «+=». Пример:
w = 5 w += 1 print(w)
Вывод
6
Сначала мы задаём переменной значение . Затем используем составной оператор присваивания , чтобы прибавить число справа, к переменной, расположенной слева, и присвоить результат переменной .
Составные операторы присваивания часто используются в циклах for:
for x in range (0, 7): x *= 2 print(x)
Вывод
0 2 4 6 8 10 12
При помощи for можно автоматизировать процесс использования оператора «. Он умножает переменную на число , а затем присваивает полученный результат переменной для следующей итерации цикла.
В Python предусмотрен составной оператор присваивания для каждой арифметической операции:
y += 1 # добавить число и присвоить результат y -= 1 # отнять число и присвоить результат y *= 2 # умножить на число и присвоить результат y /= 3 # разделить на число и присвоить результат y // = 5 # разделить без остатка на число и присвоить результат y **= 2 # возвести в степень и присвоить результат y %= 3 # вернуть остаток от деления и присвоить результат
Составные операторы присваивания полезны в тех случаях, когда переменная должна увеличиваться или уменьшаться с помощью инкремента. А также когда необходимо автоматизировать некоторый процесс в создаваемой программе.
Операторы присваивания в Python
Предположим, переменная содержит а
значение 10, а переменная б
имеет значение 20, то:
оператор | Описание | пример |
---|---|---|
= | Назначает значения с правой стороной операндов левой стороне операнда | с = а + b присваивает значение a + b в c |
+ = Добавить и | Добавляет правый операнд к левому операнду и присвоить результат левого операнда | с + = а эквивалентно c = c + a |
– = вычесть и | Вычитает правый операнд из левого операнда и присваивает результат левого операнда | с – = а эквивалентно c = c – a |
* = умножить и | Умножает правый операнд на левый операнд и присваивает результат левого операнда | с * = а эквивалентно c = c * a |
/ = разделить и | Делит левый операнд на правый операнд и присваивает результат левого операнда | с / = а эквивалентно c = c / ac /= a эквивалентно с = с / а |
% = Модуль и | Принимает модуль с помощью двух операндов и присваивает результат левого операнда | c% = а эквивалентно c = c % a |
** = Экспонент и | Выполняет вычисление экспоненту от операторов и присваивает значение левого операнда | с ** = а эквивалентно c = c ** a |
// = Floor Division | Выполняет деление операторов с округлением и присваивает значение левого операнда | с // = а эквивалентно c = c // a |
Установка и подготовка среды
Чтобы начать программировать на Питоне, требуется совершить 2 шага:
- Установить последний релиз Python (скачивается с официального сайта https://www.python.org/downloads/);
- Загрузить программу для разработки (для новичков лучше всего подойдет PyCharm версии Community – https://www.jetbrains.com/ru-ru/pycharm/download/).
В нашем бесплатном руководстве по Python мы будем пользоваться только этим функционалом. Его достаточно, чтобы самому дома с нуля разобраться в Питоне.
Чтобы создать свой первый проект запускаем PyCharm и выбираем меню File -> New Project. Проверяем, чтобы в поле Base Interpreter стояла самая новая версия Питона.
Теперь в папке проекта можно создать файл с расширением «.py», в котором и будет писаться код. Чтобы запустить скрипт, нажимаем либо зеленую кнопку «Run», либо выбираем ее же через правую кнопку мыши. Внизу PyCharm при этом откроется окно консоли, отражающее итог и ход работы программы.
Таким образом, схема работы достаточно проста: пишем код, запускаем его, смотрим в терминал результат.
Чтобы проверить, что все установлено успешно и вы не напутали ничего в настройках, идем в панель терминала (внизу) и пишем там команду «python -V». Она отобразит версию Python, которая была проинсталлирована на компьютер.
В случае, если операционная система отличается от Windows, то команда будет выглядеть так: «python3 -V» (это связано с тем, что в UNIX-подобных ядрах по умолчанию включена более старая версия языка – 2.7. Так как она больше не поддерживается, рекомендуется работать с третьей – 3.9 или выше).
Передача шестнадцатеричных данных
Мы также можем передавать целые числа, представленные в других общих основаниях, таких как шестнадцатеричный формат (основание 16), в chr() и ord().
В Python мы можем использовать шестнадцатеричный код, добавив к целому числу префикс , если он находится в диапазоне 32/64 бит для целых значений.
>>> print(hex(18)) '0x12' >>> print(chr(0x12)) '\x12' >>> print(ord('\x12')) 18 >>> print(int('\x12')) 18
Мы передаем целое число 18 в шестнадцатеричном формате в , которая возвращает шестнадцатеричное значение . Мы передаем это в и используем чтобы вернуть наше целое число.
Обратите внимание, что мы также можем получить целое число с помощью , поскольку односимвольная строка также является строкой, которая может быть допустимым параметром для указанной выше функции
# Упражнения
-
Напишите следующую программу:
- Присвойте двум переменным любые числовые значения.
- с помощью оператора составьте два сложных логических выражения, одно из которых дает , другое – .
- используя оператор составьте два сложных логических выражения, одно из которых дает , другое – .
-
Составьте программу сравнения строковых переменных:
- с пятью простыми разными логическими выражениями;
- с четырьмя сложными логическими выражениями;
- объясните результат.
-
Напишите программу, которая спрашивает у пользователя: «What day of month is it?» И выводит — если день указан верно, и — если день указан не верно. Указанный день считается верным, если число от 1 до 31.
-
Напишите программу, которая спрашивает у пользователя: «What number of month were you born?» И выводит — если месяц указан верно, и — если не верно. Указанный месяц считается верным, если число от 1 до 12.
Ответы на вопросы читателей
Насколько сложно выучить Python? Азы Питона изучаются достаточно просто. Чтобы стать экспертом и высококлассным специалистом потребуется практика и решение реальных задач. Быстро выучить можно, было бы желание.
Какие программы можно создавать, овладев Питоном? Перечень программ органичен лишь фантазией. Разработчики создают порталы и многофункциональные сайты, парсеры, менеджеры баз данных, системы управления ресурсами, чат-боты, программные интерфейсы, сервисы анализа данных, графические оболочки.
Сколько времени потребуется на изучение Питона? Стандартных временных рамок не существует. Однако уже через 1-2 месяца при интенсивной самостоятельной работе с языком можно создавать простые парсеры, небольшие игры, автоматизаторы рутинных задач. А вообще, есть правило 10 тыс. часов – именно столько времени практики потребуется, чтобы посчитать себя специалистом хорошего уровня.
Есть ли слабые стороны у Питона? У любого языка программирования они имеются. Во-первых, скорость работы несколько ниже, чем у компилируемых языков (С++, Java), но ее обычно хватает. Во-вторых, работа с 3d-графикой ограничена. В-третьих, отсутствует проверка типа переменной в момент компиляции.
Какая зарплата у Python-разработчика начинающего уровня? В зависимости от региона она варьируется, но даже Junior-разработчик вполне может рассчитывать на 30-50 тыс. руб. в первые месяцы работы. По мере роста количества навыков лимиты повышаются в разы, а то и десятки раз.
Как лучше учить Python? В наше время методик обучения бесчисленное количество: видеокурсы, книги, игровые платформы, буткампы и пр. Поэтому можно выбрать тот способ, что подходит именно вам. Главное помнить: постоянная практика закрепляет пройденный материал. Простая зубрежка материала не даст никаких видимых результатов.
Где можно посмотреть задачи для новичков, простые проекты? Чтобы попрактиковаться в навыках, необходимо решать разные задачи и сравнивать результаты с другими программистами. Для этого подойдут следующие ресурсы: https://www.codingame.com/, https://www.codewars.com/, https://www.hackerrank.com/. Здесь имеются задания для специалистов любого уровня.
Ввод данных и преобразования типов
На прошлом занятии мы научились выводить данные с помощью функции . Например, чтобы вывести число 5 на экран нужно написать в интерпретаторе , и он сделает свое дело.
Но что, если нужно что-то ввести в программу из внешнего мира? Например, если наш самописный калькулятор умеет складывать 2 числа и выводить ответ, то как ввести эти самые 2 числа? На помощь придет функция . Попробуем написать вышеописанный калькулятор.
Как видно из примера, что-то пошло не так. Вместо заветных 46 после сложения 12 и 34 мы получили 1234. Все дело в типах данных. Функция всегда считывает данные в виде строки. Так и в примере она считала 12 и 34 как 2 строки и просто «слепила» их вместе. Мы же хотим складывать числа. Чтобы все работало хорошо, нужно выполнить преобразование типов данных.
В данном случае можно сделать вот так:
То, чего мы и хотели.
Преобразовывать можно не только строку в целое число, но и наоборот. Вот несколько допустимых преобразований:
Как вы уже поняли, чтобы преобразовать что-то во что-то, надо взять и вызвать функцию, совпадающую по имени с названием типа данных. В нашем примере это , и .
Приоритеты
В списке приведены операторы и выражения, отсортированные по приоритету выполнения от меньшего к большему.
Операторы в Python и их приоритет выполнения:
- Лямбда выражения.
- Python.
- Булевое ИЛИ.
- Булевое И.
- Булевое НЕ.
- Операторы тождественности, принадлежности, операторы присваивания.
- Битовый ИЛИ.
- Битовый НЕ.
- Битовый И.
- Битовый оператор сдвига битов.
- Сложение и вычитание.
- Умножение и деление, включая операцию получения остатка деления и целого числа.
- Битовое НЕ.
- Возведение в степень.
- Обращение к элементу массива по индексу, слайсинг, обращение к объекту класса, вызов функции с аргументами.
Первый пункт в списке — лямбда-выражение. Lambda expression используется для создания анонимных функций. Лямбда ведет себя как обычная функция, и объявляется в виде
Def (arguments):
return expression
После лямбда-выражения следуют операции, выполняемые тернарным оператором Python.
В конце списка располагаются методы манипуляции массивом и функциями. Обращение к элементу массива по индексу выглядит так:
В рассматриваемом случае а — это массив, i — это индекс элемента.
Слайсинг означает передачу полной копии массива или выборочную последовательность из членов списка. Диапазон желаемых значения указывается в . В качестве аргументов x представляется начало отсчета, y — конец, а z — шаг прохождения по элементам массива при каждой итерации. X по умолчанию обозначает начало списка, y — конец, z равняется единице. Если указать z как отрицательное число, значения списка передаются в обратном порядке с конца к началу.
О
ператоры являются конструкциями, которые могут манипулировать значением операндов. Рассмотрим выражение 4 + 5 = 9. Здесь, 4 и 5 называются операндами и + называется оператором.
Использование numpy.bitwise_not() для отрицания логических значений в Python
NumPy-это очень обширный и мощный модуль python. Он предоставляет нам несколько функций, одной из которых является Numpy.bitwise_not(). функция < strong>numpy.bitwise_not() используется для вычисления битовой NOT или битовой инверсии, поэлементной из двух массивов по элементам. Эта функция вычисляет побитовое NOT базового двоичного представления входных массивов.
Давайте посмотрим, как numpy array и numpy.bitwise_not() работают вместе и отрицают логическое значение в Python на примере.
Выход:
В приведенном выше примере используется модуль numpy. Итак, убедитесь, что numpy уже установлен. Здесь также, как и в случае побитового оператора tilde, мы инициализировали массив numpy x с двумя булевыми значениями True и False. После этого с помощью функции np.bitwise_not мы отрицали булевы значения.
% для чисел: операция по модулю / остаток / отдых
Знак процента — это . Это описано как:
Таким образом, он дает остаток / отдых, который остается , если вы «этаж разделить «х на у. Обычно (по крайней мере в Python) задается число и делитель :
Например, если вы разделите 5 на 2:
В общем случае вы используете операцию по модулю, чтобы проверить, делит ли число поровну на другое число, потому что по числу, кратному числу, это число возвращает 0:
Вот как он используется в вашем примере, он не может быть простым, если он кратен другому числу (кроме себя и одного), вот что он делает:
Если вы чувствуете, что не очень описательный, вы можете поместить его в другую функцию с более описательным именем:
Вместо его также можно назвать или что-то подобное. Вот что здесь тестируется.
Подобно тому, как это часто используется, чтобы определить, является ли число «нечетным» или «четным»:
И в некоторых случаях он также используется для индексации массивов / списков, когда требуется поведение циклического (циклического) перебора, тогда вы просто модулируете «index» на «length массива», чтобы достичь этого:
Обратите внимание, что в стандартной библиотеке есть также функция для этого оператора (и псевдоним ):
Но есть также расширенное присваивание , которое присваивает результат переменной:
Операторы сравнения в Python
Операторы сравнения значений по обе стороны от них и решить, соотношение между ними. Их также называют реляционные операторы.
Предположим, переменная а
содержит значение 10, а переменная б
имеет значение 20, то:
оператор | Описание | пример |
---|---|---|
== | Если значения двух операндов равны, то условие становится истинным. | (а == б) не верно. |
!= | Если значения двух операндов не равны, то условие становится истинным. | (а! = б) истинно. |
> | Если значение левого операнда больше значения правого операнда, то условие становится истинным. | (а > б) не верно. |
Если значение левого операнда меньше значения правого операнда, то условие становится истинным. | (а | |
> = | Если значение левого операнда больше или равно значению правого операнда, то условие становится истинным. | (а >= б) не верно. |
Если значение левого операнда меньше или равно значению правого операнда, то условие становится истинным. | (а |
Арифметические операторы в Python
а
значение 10, а переменная б
содержит значение 21, то:
оператор | Описание | пример |
---|---|---|
+ Сложение | Добавление значений по обе стороны от оператора. | а + b = 31 |
– Вычитание | Вычитание правого операнда из левого операнда. | а – b = -11 |
* Умножение | Умножение значения по обе стороны от оператора | a * b = 210 |
/ Деление | Делит левый операнд на правый операнд | б / а = 2,1 |
% Модуль | Делит левый операнд на правый операнд и возвращает остаток | б % а = 1 |
** Экспонента | Выполняет экспоненциальный расчет на операторах | а ** b = 10 в степени 20 |
// деление с округлением | Отдел пола – Разделение операндов, где результат является фактором, в котором цифра после десятичной запятой удаляется. Но если один из операндов отрицателен, то результат округляется, т.е. округляется от нуля (по отношению к отрицательной бесконечности): | 9 // 2 = 4 и 9,0 // 2,0 = 4,0, -11 // 3 = -4, -11,0 // 3 = -4,0 |
Основные строковые функции
capitalize() | Преобразует первый символ строки в верхний регистр | str_name.capitalize() |
casefold() | Он преобразует любую строку в нижний регистр независимо от ее регистра | str_name.casefold() |
center() | Используется для выравнивания строки по центру | str_name.center (длина, символ) |
count() | Для подсчета количества раз, когда определенное значение появляется в строке. | str_name.count (значение, начало, конец) |
endswith() | Проверяет, заканчивается ли строка указанным значением, затем возвращает True | str_name.endswith (значение, начало, конец) |
find() | Используется для определения наличия указанного значения в строке | str_name.find (значение, начало, конец) |
index() | Он используется для поиска первого вхождения указанного значения в строке | str_name.index (значение, начало, конец) |
isalnum() | Проверяет, все ли символы являются буквенно-цифровыми, затем возвращает True | str_name.isalnum() |
isalpha() | Проверяет, все ли символы являются алфавитными (az), затем возвращает True | str_name.isalpha() |
isdecimal() | Проверяет, все ли символы являются десятичными (0-9), затем возвращает True | str_name.isdecimal() |
isdigit() | Проверяет, все ли символы являются цифрами, затем возвращает True | str_name.isdigit() |
islower() | Проверяет, все ли символы в нижнем регистре, затем возвращает True | str_name.islower() |
isnumeric() | Проверяет, все ли символы являются числовыми (0-9), затем возвращает True | str_name.isnumeric() |
isspace() | Проверяет, все ли символы являются пробелами, затем возвращает True | str_name.isspace() |
isupper() | Проверяет, все ли символы в верхнем регистре, затем возвращает True | str_name.isupper() |
lower() | Используется для преобразования всех символов в нижний регистр | str_name.lower() |
partition() | Используется для разделения строки на кортеж из трех элементов. | str_name.partition (значение) |
replace() | Используется для замены указанного слова или фразы другим словом или фразой в строке. | str_name.replace (старое значение, новое значение, количество) |
split() | Используется для разделения строки на список | str_name.split (разделитель, maxsplit) |
splitlines() | Используется для разделения строки и составления ее списка. Разбивается на разрыв строки. | str_name.splitlines (keeplinebreaks) |
startswith() | Проверяет, начинается ли строка с указанного значения, затем возвращает True | str_name.startswith (значение, начало, конец) |
strip() | Используется для удаления символов, указанных в аргументе, с обоих концов | str_name.strip (символы) |
swapcase() | Используется для замены строки верхнего регистра на нижний регистр или наоборот. | str_name.swapcase() |
title() | Преобразует начальную букву каждого слова в верхний регистр | str_name.title() |
upper() | Он используется для преобразования всех символов в строке в верхний регистр | str_name.upper() |