Основные операторы python
Содержание:
- Итерация по Списку в Python С Использованием Понимания списка
- Логические операторы
- Оператор член Python
- Арифметические операторы
- Оператор else if
- Массив Numpy и ~ для отрицания логического значения в Python
- Создание класса в Python:
- Как написать собственную ленивую функцию или класс?
- 1.2. Как прервать цикл while на Python.
- Выполните Итерацию списка в Python С Помощью Itertools.Цикл
- Цикл while со словарями в Python
- Встроенные функции
- Python Арифметические операторы
- Операторы сравнения Python
- Оператор Приоритет в Python
- Деление с остатком Python
- Побитовые
- Вычисление ln элементов массива в python
- Команда if со списками.
- Проверка условий в Python.
- Итерация по Списку в Python С помощью Itertools Grouper
- Сложные логические выражения
- Модуль оператора Python
- Операторы членства
- Операторы назначения на месте
- Основные операторы
Итерация по Списку в Python С Использованием Понимания списка
В этом методе итерации мы будем использовать способ понимания списка. Понимание списка используется для создания мощной функциональности в одной строке кода.
Синтаксис
Понимание списка обычно состоит из трех параметров.
- expression: Это сам член, вызов метода или любое другое допустимое выражение, которое возвращает значение.
- пункт: Это объект или значение в списке или итеративном.
- list/iterable: Это список, набор, последовательность, генератор или любой другой объект, который может возвращать свои элементы по одному за раз
Объяснение
Это самый простой способ перебора списка, поскольку Python включает в себя простые и мощные инструменты, которые вы можете использовать в самых разных ситуациях. Здесь, в этом примере, print(i) является выражением. Второй ‘i’ – это элемент, который является значением iterable. И, наконец, итерируемый, в приведенном выше примере итерируемый-это список.
Логические операторы
Говоря на естественном языке (например, русском) мы обозначаем сравнения словами «равно», «больше», «меньше». В языках программирования используются специальные знаки, подобные тем, которые используются в математике: (больше), (меньше), (больше или равно), (меньше или равно), (равно), (не равно).
Не путайте операцию присваивания значения переменной, обозначаемую в языке 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. Выражение просто выводит значения переменных на экран.
Оператор член Python
В дополнение к некоторым из перечисленных выше операторов, Python также поддерживает оператор-член, тест содержит ряд элементов, включая строки, списки или кортежи.
операторы | описание | примеров |
---|---|---|
в | Если вы нашли значение в указанной последовательности возвращает значение ИСТИНА, в противном случае значение False. | х в у последовательности, возвращает истину, если х в у последовательности. |
а не в | Если значение не найден в указанной последовательности Возвращает значение True, в противном случае значение False. | х не у последовательности, если х не у последовательность возвращает значение True. |
Следующий пример демонстрирует все члены действий оператора Python:
#!/usr/bin/python # -*- coding: UTF-8 -*- a = 10 b = 20 list = ; if ( a in list ): print "1 - 变量 a 在给定的列表中 list 中" else: print "1 - 变量 a 不在给定的列表中 list 中" if ( b not in list ): print "2 - 变量 b 不在给定的列表中 list 中" else: print "2 - 变量 b 在给定的列表中 list 中" # 修改变量 a 的值 a = 2 if ( a in list ): print "3 - 变量 a 在给定的列表中 list 中" else: print "3 - 变量 a 不在给定的列表中 list 中"
Примеры вышеуказанного вывода:
1 - 变量 a 不在给定的列表中 list 中 2 - 变量 b 不在给定的列表中 list 中 3 - 变量 a 在给定的列表中 list 中
Арифметические операторы
Арифметические операторы – синтаксические ярлыки для выполнения основных математических операций по номерам.
Оператор | Имя | Описание | Пример |
+ | Добавление | Расчет суммы двух операндов | 3 + 4 |
– | Вычитание | Вычитание второго операнда с первого операнда | 4 – 3 |
* | Умножение | Умножить первый со вторым операндом | 3 * 4 |
Разделение | Разделение первого на второй операнд | 3 / 4.75 | |
% | Модуль | Расчет остатка при делите первого на второй операнд | 7 % 4 |
// | Целочисленное разделение, напольное разделение | Разделение первого операнда на второй операнд и закругление результата до следующего целого числа | 8 // 3 |
** ** | Экспонент | Поднимая первый операнд на силу второго операнда | 2 ** 3 |
Оператор else if
Часто нам нужна программа, которая оценивает более двух возможных результатов. Для этого мы будем использовать оператор else if, который указывается в Python как elif. Оператор elif или else if выглядит как оператор if и оценивает другое условие.
В примере с балансом банковского счета нам потребуется вывести сообщения для трех разных ситуаций:
- Баланс ниже 0.
- Баланс равен 0.
- Баланс выше 0.
Условие elif будет размещено между if и оператором else следующим образом:
if balance < 0: print("Balance is below 0, add funds now or you will be charged a penalty.") elif balance == 0: print("Balance is equal to 0, add funds soon.") else: print("Your balance is 0 or above.")
После запуска программы:
- Если переменная balance равна 0, мы получим сообщение из оператора elif («Balance is equal to 0, add funds soon»).
- Если переменной balance задано положительное число, мы получим сообщение из оператора else («Your balance is 0 or above»).
- Если переменной balance задано отрицательное число, выведется сообщение из оператора if («Balance is below 0, add funds now or you will be charged a penalty»).
А что если нужно реализовать более трех вариантов сообщения? Этого можно достигнуть, используя более одного оператора elif.
В программе grade.py создадим несколько буквенных оценок, соответствующих диапазонам числовых:
- 90% или выше эквивалентно оценке А.
- 80-89% эквивалентно оценке B.
- 70-79% — оценке C.
- 65-69% — оценке D.
- 64 или ниже эквивалентно оценке F.
Для этого нам понадобится один оператор if, три оператора elif и оператор else, который будет обрабатывать непроходные баллы.
Мы можем оставить оператор else без изменений.
if grade >= 90: print("A grade") elif grade >=80: print("B grade") elif grade >=70: print("C grade") elif grade >= 65: print("D grade") else: print("Failing grade")
Поскольку операторы elif будут оцениваться по порядку, можно сделать их довольно простыми. Эта программа выполняет следующие шаги:
- Если оценка больше 90, программа выведет «A grade». Если оценка меньше 90, программа перейдет к следующему оператору.
- Если оценка больше или равна 80, программа выведет «B grade». Если оценка 79 или меньше, программа перейдет к следующему оператору.
- Если оценка больше или равна 70, программа выведет «C grade». Если оценка 69 или меньше, программа перейдет к следующему оператору.
- Если оценка больше или равна 65, программа выведет «D grade». Если оценка 64 или меньше, программа перейдет к следующему оператору.
- Программа выведет «Failing grade», если все перечисленные выше условия не были выполнены.
Массив Numpy и ~ для отрицания логического значения в Python
Используя библиотеку массивов numpy и побитовый оператор ‘~’, произносимый как тильда. Мы можем легко отрицать логическое значение в Python. Оператор тильды принимает однобитный операнд и возвращает его дополнение. Если операнд равен 1, он возвращает 0, и наоборот.
Давайте посмотрим, как numpy array и (~) tilde работают вместе и отрицают логическое значение в Python на примере.
Примечание: Здесь 0 может быть уравновешено как False , а 1 может быть уравновешено как True.
Пример Использования побитовой тильды оператора ~ для отрицания логического значения
Выход:
В приведенном выше примере важно то, что нам нужно использовать побитовый оператор ~ с модулем numpy. В приведенном выше примере мы создали массив numpy с именем (x) с логическими значениями True и False
Впоследствии с помощью побитового оператора ~ мы отрицали логические значения в массиве numpy. Поэтому Истинное становится Ложным, а Ложное-Истинным.
Создание класса в Python:
Определение класса начинается с ключевого слова class, после него следует имя класса и двоеточие.
class имя_класса: # тело класса # объявление конструктора # объявление атрибутов # объявление методов
Основные определения
Метод __init__ или Конструктор
В процессе создания объекта атрибутам класса необходимо задать начальные значения
Это действие называется инициализацией. Для этой цели используется специальный метод __init__(), который называется методом инициализации или конструктором. Метод __init__ запускается при создании экземпляра класса — один раз. Обратите внимание на двойные подчёркивания в начале и в конце имени. Синтаксис метода следующий:
def __init__(self, параметр1, параметр2):self.атрибут1 = параметр1 self.атрибут2 = параметр2
Два символа подчеркивания в начале __init__ и два символа подчеркивания в конце обязательны. Параметров у конструктора параметр1, параметр2 может быть сколько угодно, но первым дожен быть параметр self.
Как написать собственную ленивую функцию или класс?
В заключительной части данной статьи мы выйдем на новый уровень и напишем собственную ленивую функцию. Это поможет нам расширить возможности встроенных функций Python.
Как вы уже поняли, ключевая часть ленивых вычислений это ничто иное, как генератор. Следовательно, мы можем просто написать нашу функцию в виде генератора.
Ленивая функция — генератор
def lazy_loading(items): for i in items: # здесь у вас может быть сложная логика yield i ** 2 items = for i in lazy_loading(items): print(i)
Ленивое свойство — декоратор
Другой распространенный способ организации ленивых вычислений состоит в инициализации свойств класса.
При инициализации класса некоторые свойства могут довольно долго вычисляться. В следующем примере свойство отнимает много времени, потому что ему необходимо вызвать API для получения списка названий городов. А если для некоторых стран нам эти значения не пригодятся, их получение станет потерей времени.
Отличным решением будет создать ленивый декоратор для этого свойства, чтобы затратные по времени операции выполнялись только по мере необходимости. Как мы можем видеть из результатов выполнения данного кода, свойство вызывается только после того, как мы выводим в консоль .
def lazy_property(fn): attr_name = '_lazy_' + fn.__name__ @property def _lazy_property(self): if not hasattr(self, attr_name): setattr(self, attr_name, fn(self)) return getattr(self, attr_name) return _lazy_property class Country: def __init__(self, name, capital): self.name = name self.capital = capital @lazy_property def cities(self): # expensive operation to get all the city names (API call) print("cities property is called") return china = Country("china", "beijing") print(china.capital) # beijing print(china.cities) # cities property is called #
Итак, в этой статье мы рассмотрели, как ленивые вычисления помогли оптимизировать встроенные функции Python. Надеемся, что эта статья даст вам возможность по-новому взглянуть на проблему оптимизации кода.
Перевод статьи «What is Lazy Evaluation in Python?».
1.2. Как прервать цикл while на Python.
Предположим, что вам нужно остановить программу, когда пользователь захочет этого. Для этого в программе определяем признак завершения, и программа работает до тех пор, пока пользователь не ввел нужное значение. Признаком завершения может быть как число, так и строка или символ. Приведем пример простого цикла while при котором пользователь вводит слово, а оно возвращается, наоборот.
prompt = «Введите любое слово, и оно будет выведено наоборот»
prompt += «Если надоело введите команду ‘стоп’.»
message = »while message != «стоп»:
message = input(prompt)
message != «стоп»:
print(message)
:
print(«Программа завершена»)
В начале создаем сообщение prompt (посказку) которое объясняет пользователю что за программа и как ее можно завершить. Затем создается переменная message и ей присваивается пустое значение
Важно переменную message определить до запуска цикла, присвоить ей можно любое значение или пустую строку. При запуске цикла while идет проверка совпадает ли значение message с условием продолжения цикла. При каждом выполнение цикла на экран выводятся правила цикла и условия его завершения
Дальше можно запустить команду для проверки условия, если пользователь не ввел строку «стоп», то выводим строку пользователя на экран в обратном порядке с помощью сегментации строки .
Введите любое слово, и оно будет выведено наоборот
Если надоело введите команду ‘стоп’.python лучший язык программированияяинавориммаргорп кызя йишчул nohtyp
Введите любое слово, и оно будет выведено наоборот
Если надоело введите команду ‘стоп’.123456789987654321
Введите любое слово, и оно будет выведено наоборот
Если надоело введите команду ‘стоп’.стопПрограмма завершена
Пока пользователь не введет слово «стоп», цикл будет начинаться заново.
Выполните Итерацию списка в Python С Помощью Itertools.Цикл
Itertools-это библиотека, которая создает эффективные итераторы. Эти итераторы работают быстрее, чем обычная итерация. В этом разделе мы будем использовать itertools.cycle для выполнения итерации по списку. Эта функция цикла возвращает бесконечный итератор, который повторяет список снова и снова. Мы настроим это на повторение только один раз.
Синтаксис
Здесь iterable может быть списком, кортежем, строкой и т. Д. Метод itertools.cycle() возвращает бесконечный итератор.
Пример
import itertools iterable = .cycle(iterable) while count < len(iterable): print(next(iter_obj)) count
Объяснение
В приведенном выше примере мы сначала импортировали itertools. Затем мы использовали метод itertools.cycle() для создания бесконечного итератора. Затем мы ограничиваем количество раз, когда мы проходим через итератор, используя счетчик. После этого с помощью цикла while перебирайте итератор и увеличивайте количество в каждом цикле. Это гарантирует, что наш итератор не будет бесконечно петлять.
Itertools.cycle в основном используется для создания бесконечно циклического итератора. Это очень полезно в сценариях, где вам нужно создать бесконечный цикл без использования while.
Цикл while со словарями в Python
При каждом проходе цикла while программа может выполнять любое действие. Так же, как и со списками, цикл while работает и со словарями. Создадим программу, которая будет запрашивать у посетителя имя и записывать ответы на заданный вопрос и в конце выводить словарь на экран:
interview = {} active = Trueactive:
# Запрашиваем имя и ответ на вопрос
name = («\nКак вас зовут? «)
question = («Какая марка автомобиля вам нравиться «)
# Создаем список с ответами и добавляем первый ответ
answers =
answers.(question)
# Ответ сохраняем в словаре «имя: список ответов»
interview = answers
# Запускаем второй цикл с возможностью добавления еще ответов к одному пользователю
active_2 = True
active_2:
repeat = («Желаете добавить еще один автомобиль? (yes/no) «)
repeat == ‘no’:
active_2 = False
:
question_n = («Какая марка автомобиля вам еще нравиться «)
# Добавляем ответ в список
answers.(question_n)
# Вопрос о продолжение опроса
repeat = («Желаете продолжить опрос? (yes/no) «)
repeat == ‘no’:
active = False(«Опрос завершен, все результаты:»)
# Переберем словарь и посмотрим ответыname, questions interview.:
(«{name.} любит автомобили марки:»)
question questions:
(«{question.}»)
В начале программы создаем словарь interviewв который в будущем будем добавлять посетителя с его ответами. Затем устанавливаем продолжения опроса active = True. Пока active = True Python будет выполнять цикл. При запуске цикла посетителю предлагается представиться и ввести ответ на заданный вопрос. Затем сразу создадим список ответов answers на всякий случай, если посетитель захочет дать несколько ответов и добавляем его в . После запускаем второй цикл с вопросом добавить еще один ответ. Количество ответов бесконечно, и посетитель сам решает, когда прервать программу. Если ответов больше нет, то возвращаемся к первому циклу и предлагаем ввести нового посетителя с опросом. После окончания цикла выведем на экран всех посетителей и их ответы. Если запустить программу и ввести несколько пользователей с ответами, то результат будет выглядеть так:
Как вас зовут? bob
Какая марка автомобиля вам нравиться: audi
Желаете добавить еще один автомобиль? (yes/no) yes
Какая марка автомобиля вам еще нравиться: bmw
Желаете добавить еще один автомобиль? (yes/no) yes
Какая марка автомобиля вам еще нравиться: ford
Желаете добавить еще один автомобиль? (yes/no) no
Желаете продолжить опрос? (yes/no) yes
Как вас зовут? Artem
Какая марка автомобиля вам нравиться: porshe
Желаете добавить еще один автомобиль? (yes/no) no
Желаете продолжить опрос? (yes/no) no
Опрос завершен, все результаты:
Bob любит автомобили марки:
Audi
Bmw
Ford
Artem любит автомобили марки:
Porshe
Please enable JavaScript to view the comments powered by Disqus.
Встроенные функции
print (x, sep = 'y') печатает x объектов, разделенных y
len (x) возвращает длину x (s, L или D)
min (L ) возвращает минимальное значение в L
max (L) возвращает максимальное значение в L
sum (L) возвращает сумму значений в диапазоне L
range(n1,n2,n) (n1, n2, n) возвращает последовательность чисел от n1 до n2 с шагом n
abs (n) возвращает абсолютное значение n
round (n1, n) возвращает число n1, округленное до n цифр
type (x) возвращает тип x (string, float, list, dict…)
str (x) преобразует x в string
list (x) преобразует x в список
int (x) преобразует x в целое число
float (x) преобразует x в число с плавающей запятой
help (s) печатает справку о x
map (function, L) Применяет функцию к значениям в L
Python Арифметические операторы
Следующие допущения переменная а 10, Ь является переменной величиной 20:
операторы | описание | примеров |
---|---|---|
+ | Плюс — два объекта добавлены | а + выход 30 б |
— | Сохранить — получить отрицательное число вычитается из другого числа или | а — Ь Выход -10 |
* | Умножение — перемножить два числа или возвращает строку повторяется несколько раз | выход 200 * б |
Кроме того — х делится на у | б / 2 выход | |
% | Modulo — возвращает остаток деления | б% в 0 выход |
** | Мощность — возвращает х, возведенное в степени у | а ** б 10 20-й мощности, выход +100000000000000000000 |
// | Take делящихся — Возвращает целую часть частного | 9 // 2 выхода 4, выход 9,0 // 2,0 4,0 |
Следующий пример демонстрирует Python все арифметические операторы в действии:
#!/usr/bin/python # -*- coding: UTF-8 -*- a = 21 b = 10 c = 0 c = a + b print "1 - c 的值为:", c c = a - b print "2 - c 的值为:", c c = a * b print "3 - c 的值为:", c c = a / b print "4 - c 的值为:", c c = a % b print "5 - c 的值为:", c # 修改变量 a 、b 、c a = 2 b = 3 c = a**b print "6 - c 的值为:", c a = 10 b = 5 c = a//b print "7 - c 的值为:", c
Примеры вышеуказанного вывода:
1 - c 的值为: 31 2 - c 的值为: 11 3 - c 的值为: 210 4 - c 的值为: 2 5 - c 的值为: 1 6 - c 的值为: 8 7 - c 的值为: 2
Операторы сравнения Python
Операторы сравнения Python сравнивают два операнда и возвращают логическое значение, основанное на созданном сравнении.
В Python есть шесть операторов сравнения. Они есть
- Равный
- Не равный
- Больше чем
- Меньше, чем
- Больше или равно
- Меньше или равно
В следующей таблице демонстрирует символы, используемые для этих операторов сравнения, и простой пример для демонстрации использования.
x | Равный | == |
x | Не равный | != |
X> Y. | Больше чем | > |
X <Y. | Меньше, чем | < |
x | Больше или равно | >= |
x | Меньше или равно | <= |
Python равный оператор
Равный оператор Python сравнивает, будут ли два операнда равны или нет. Если операнды равны, оператор возвращает TRUE, еще, он возвращает false.
Ниже приведена простая программа Python, где мы сравниваем два числа, если они равны.
Python Program
x = 12 y = 12 result = x == y print(result) x = 8 y = 7 result = x == y print(result)
Выход
True False
В первом случае возвращает true, поскольку x и y держат то же самое целое значение.
Во втором случае возвращается ложь, поскольку X и Y удерживают разные целочисленные значения.
Подробнее о равном операторе в Python равный оператор.
Python не равный оператор
Python не равный оператор сравнивает, если два операнда не равны. Если операнды не равны, оператор возвращает TRUE, еще, он возвращает false.
Ниже приведена простая программа Python, где мы сравним два числа, если они не равны.
Python Program
x = 8 y = 7 result = x != y print(result) x = 12 y = 12 result = x != y print(result)
Выход
True False
В первом случае возвращает True, поскольку X и Y удерживают разные целочисленные значения.
Во втором случае возвращает false, поскольку x и y держат то же целое значение.
Подробнее о равном операторе в Python не равный оператор.
Python больше, чем оператор
Python больше, чем оператор сравнивает, если левый операнд больше, чем правый операнд. Если левый операнд больше, чем правый операнд, оператор возвращает TRUE, еще, он возвращает false.
Ниже приведена простая программа Python, где мы сравним два числа, если Operand X больше операнда Y.
Python Program
x = 8 y = 7 result = x > y print(result) #True x = 5 y = 12 result = x > y print(result) #False
Выход
True False
В первом случае X> Y возвращается True, поскольку X держит 8, что больше Y, которое содержит 7.
Во втором случае x> y возвращает false, поскольку x держит 5, что не больше Y, которое содержит 12.
Подробнее о равном операторе в Python больше, чем оператор.
Python меньше оператора
Python меньше, чем оператор сравнивает, если операнд левой стороны меньше, чем правый операнд. Если левый операнд меньше, чем правильный операнд, оператор возвращает TRUE, еще, он возвращает false.
Ниже приведена простая программа Python, где мы сравним два числа, если Operand X меньше операнда Y.
Python Program
x = 3 y = 7 result = x < y print(result) #True x = 75 y = 12 result = x < y print(result) #False
Выход
True False
В первом случае X
Во втором случае x> y возвращает false, с 75 не менее 12.
Подробнее о равном операторе в Python меньше, чем оператор.
Python больше или равен оператору
Python, больше или равный оператору, сравнивает, если операнд остался на нем, больше или равно правой стороне операнда.
Ниже приведена простая программа Python, чтобы продемонстрировать более или равную оператору.
Python Program
x = 13 y = 7 result = x >= y print(result) #True x = 12 y = 12 result = x >= y print(result) #True x = 12 y = 75 result = x >= y print(result) #False
Выход
True True False
Больше о равном операторе в Python больше или равно оператору.
Python меньше или равен оператору
Python, меньше или равный оператору, сравнивает, если операнд остался на нем меньше или равно правой стороне операнда или нет. Результат будет правдой или ложным соответственно.
Ниже приведена простая программа Python, чтобы продемонстрировать менее или равную оператору.
Python Program
x = 13 y = 72 result = x <= y print(result) #True x = 12 y = 12 result = x <= y print(result) #True x = 12 y = 5 result = x <= y print(result) #False
Выход
True True False
Подробнее о равном операторе в Python меньше или равно оператору.
Резюме
В этом учете примеров Python мы узнали о операторах сравнения в Python и подробное понимание каждого из операторов с примерами программ.
Оператор Приоритет в Python
Иногда выражение содержит несколько операторов. В этом случае оператор-приоритет используется для определения порядка выполнения.
- Мы можем создать группу выражений, используя скобки. Выражение в скобках оценивается первым, прежде чем они могут принять участие в дальнейших расчетах.
- Некоторые операторы имеют одинаковый уровень приоритета. В этом случае выражение оценивается слева направо.
Ниже таблицы перечислены перед операторами приоритет в порядке убывания.
** (экспонент) |
~ (Те, которые дополняют) |
*, ////,% (умножение, разделить, пола дивизия, операторы модуля) |
+, – (добавление, вычитание) |
<<, >> (правые и левые операторы смены) |
& (Побитовые и) |
|, ^ (Побитовые или, хор) |
==,! =,>, <,> =, <= (Операторы сравнения) |
=, + =, – =, * =, / =, // =,% = (операторы назначения) |
это не (операторы идентичности) |
в, не в (членов операторов) |
нет, а или (логические операторы) |
Деление с остатком 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.
Побитовые
Их также называют бинарными операторами, и они работают только с целыми числами. Значения операндов преобразуются в двоичные, а затем операция выполняется для каждого бита. Наконец, значение преобразуется обратно в десятичное и возвращается.
В Python 6 побитовых операторов.
- : Побитовый оператор И;
- | : Побитовый оператор ИЛИ;
- ^: Побитовый оператор XOR;
- ~: Оператор дополнения двоичных единиц;
- <<: оператор двоичного сдвига влево;
- >>: оператор двоичного сдвига вправо.
x = 10 # 1010 y = 4 # 0100 print(f'Binary AND = {x y}') print(f'Binary OR = {x | y}') print(f'Binary XOR = {x ^ y}') print(f'Binary Ones Complement = {~x}') print(f'Binary Left Shift by 2 = {x << 2}') print(f'Binary Right Shift by 3 = {x >> 3}')
Вывод:
Binary AND = 0 Binary OR = 14 Binary XOR = 14 Binary Ones Complement = -11 Binary Left Shift by 2 = 40 Binary Right Shift by 3 = 1
Вычисление ln элементов массива в python
Numpy.log(arr,out_arr)
Параметры:
Arr– В этом параметре мы должны передать массив, ln которого мы должны найти.Out_Arr – Этот массив должен быть того же размера, что и входной href=”https://en.wikipedia.org/wiki/Array_data_structure”>массив. Лог элементов массива будет передан в этот массивimport numpy as np. href=”https://en.wikipedia.org/wiki/Array_data_structure”>массив. Лог элементов массива будет передан в этот массивimport numpy as np.
import numpy as np # input list list1= # Converting the list into array.array(list1) # Finding the Natural Log and storing it into another array.log(arr) print(out_arr)
Output-
Если вы все еще не поняли разницу между Натуральным логом и Стандартным логом, давайте построим график между Натуральным логом и Стандартным логом того же входного массива.
Команда if со списками.
С помощью команды if, например при переборе списка, возможно использовать каждый элемент на свое усмотрение.
>>> cars =
>>> for brand in cars:
… if brand == ‘audi’
… print(f»Гарантия на автомобиль {brand.title()} 2 года»)
… elif brand == ‘bmw’
… print(f»Гарантия на автомобиль {brand.title()} 3 года»)
… else:
… print(f»Гарантия на автомобиль {brand.title()} 5 лет»)
…Гарантия на автомобиль Ford 5 лет
Гарантия на автомобиль Opel 5 лет
Гарантия на автомобиль Audi 2 года
Гарантия на автомобиль Land Rover 5 лет
Гарантия на автомобиль Bmw 3 года
В данном примере с помощью команды мы перебираем весь список автомобилей. Если марка автомобиля соответствует условия if-elif, то выводится для этих марок свое сообщение по условиям гарантии. В случае не совпадения условий, выдается общее сообщение для всех остальных марок.
Please enable JavaScript to view the comments powered by Disqus.
Проверка условий в Python.
Регулярно в программах переменные сравниваются с другими переменными или значениями. Самое простое условия, это проверить равно ли значение переменной конкретному значению.
>>> car = ‘audi’
>>> car == ‘audi’True
Присвоим переменной car значение ‘audi’. Во второй строке проверим равно ли значение переменной car. Двойной знак равно (==) используется для проверки равенства. В итоге Python возвращает значение True, означающий что значения равны. В случае неравенства значений, возвращается False.
>>> car = ‘audi’
>>> car == ‘bmw’False
В Python проверка равенства выполняется с учетом регистра. В случае написания значений с разным регистром, значения получаются не равными.
>>> car = ‘audi’
>>> car == ‘Audi’False
Проверка неравенства.
Проверка неравенства происходит с помощью восклицательного знака и знака равно ( != ). Восклицательный знак представляет отрицание, как и во многих языках программирования.
>>> car = ‘audi’
>>> car != ‘bmw’True
Итерация по Списку в Python С помощью Itertools Grouper
В этом разделе используйте itertools.zip_longest для создания группера. Grouper-это функция, с помощью которой мы можем группировать элементы списка и перебирать их. Это может быть полезно, если вы хотите повторить 2-3 элемента в каждой партии вашей итерации.
Синтаксис
iterable_object | Требуемый. Последовательность списка, коллекции или объекта итератора. |
считать | Требуемый. Количество элементов, группируемых в пакет. |
fillvalue | Необязательный. Значение заполнения для заполнения пакета, если итератор закончил работу до заполнения пакета. |
Пример
from itertools import zip_longest def grouper(iterable_obj, count,): args = * count return zip_longest(*args,) iterable = for x in grouper(iterable, 1, ""): print(*x)
Объяснение
В этом примере мы сначала импортировали модуль zip_longest из itertools. zip_longest – это метод, который агрегирует элементы из каждой итерации. Затем мы создаем функцию grouper. Эта функция принимает итерацию в качестве аргумента и количество элементов для группировки вместе. В этом случае, поскольку мы хотим выполнить итерацию по всему списку, мы сохраним значение count равным 1. 3-й аргумент-fillvalue, этот аргумент используется для заполнения оставшихся значений, если пакет меньше, чем count.Затем мы вызовем функцию grouper get iterable. Мы будем перебирать этот итератор, чтобы получить отдельные элементы из списка.
Примечание: Не забудьте распаковать элемент с помощью*, потому что zip_longest возвращает итератор кортежей.
Сложные логические выражения
Логические выражения типа являются простыми, так как в них выполняется только одна логическая операция. Однако, на практике нередко возникает необходимость в более сложных выражениях. Может понадобиться получить ответа «Да» или «Нет» в зависимости от результата выполнения двух простых выражений. Например, «на улице идет снег или дождь», «переменная news больше 12 и меньше 20″.
В таких случаях используются специальные операторы, объединяющие два и более простых логических выражения. Широко используются два оператора – так называемые логические И (and) и ИЛИ (or).
Чтобы получить при использовании оператора , необходимо, чтобы результаты обоих простых выражений, которые связывает данный оператор, были истинными. Если хотя бы в одном случае результатом будет , то и все сложное выражение будет ложным.
Чтобы получить при использовании оператора , необходимо, чтобы результат хотя бы одного простого выражения, входящего в состав сложного, был истинным. В случае оператора сложное выражение становится ложным лишь тогда, когда ложны оба составляющие его простые выражения.
Допустим, переменной x было присвоено значение 8 (), переменной y присвоили 13 (). Логическое выражение будет выполняться следующим образом. Сначала выполнится выражение . Его результатом будет . Затем выполнится выражение . Его результатом будет . Далее выражение сведется к , что вернет .
>>> x = 8 >>> y = 13 >>> y < 15 and x > 8 False
Если бы мы записали выражение так: , то оно также вернуло бы . Однако сравнение не выполнялось бы интерпретатором, так как его незачем выполнять. Ведь первое простое логическое выражение () уже вернуло ложь, которая, в случае оператора , превращает все выражение в ложь.
В случае с оператором второе простое выражение проверяется, если первое вернуло ложь, и не проверяется, если уже первое вернуло истину
Так как для истинности всего выражения достаточно единственного , неважно по какую сторону от оно стоит
>>> y < 15 or x > 8 True
В языке Python есть еще унарный логический оператор , то есть отрицание. Он превращает правду в ложь, а ложь в правду. Унарный он потому, что применяется к одному выражению, стоящему после него, а не справа и слева от него как в случае бинарных и .
>>> not y < 15 False
Здесь возвращает . Отрицая это, мы получаем .
>>> a = 5 >>> b = 0 >>> not a False >>> not b True
Число 5 трактуется как истина, отрицание истины дает ложь. Ноль приравнивается к . Отрицание дает .
Модуль оператора Python
Модуль оператора Python обеспечивает набор функций, соответствующих операторам в Python. Эти имена функций такие же, как специальные методы, без двойных подчеркиваний.
Давайте посмотрим на пример пользовательского класса, который поддерживает операторы – +,> и *. Мы будем использовать функции модуля оператора для вызова этих методов на объектах класса.
import operator class Data: id = 0 def __init__(self, i): self.id = i def __add__(self, other): return Data(self.id + other.id) def __gt__(self, other): return self.id > other.id def __mul__(self, other): return Data(self.id * other.id) d1 = Data(10) d2 = Data(20) d3 = operator.add(d1, d2) print(d3.id) d3 = operator.mul(d1, d2) print(d3.id) flag = operator.gt(d1, d2) print(flag)
Операторы членства
Оператор членства используется для идентификации членства в любой последовательности (списки, строки, кортежи).
и являются операторами членства.
Возвращает true, если указанное значение найден в последовательности. Возвращает false в противном случае.
Возвращает true, если указанное значение не найдено в последовательности. Возвращает false в противном случае.
a = #Is 3 in the list a? print 3 in a # prints True #Is 12 not in list a? print 12 not in a # prints True str = "Hello World" #Does the string str contain World? print "World" in str # prints True #Does the string str contain world? (note: case sensitive) print "world" in str # prints False print "code" not in str # prints True
Операторы назначения на месте
Операторы назначения на месте (также называется Соединение Операторы присваивания) выполняют операцию на месте на переменной, предоставленной в качестве первого операнда. Они перезаписывают значение первой переменной Operand с результатом работы при выполнении оператора без назначения. Например, такой же, как сначала расчет результата а затем назначить его переменной x.
Оператор | Имя | Короткий пример | Эквивалентный длинный пример |
= | На месте | x | |
+= | Доступен в месте | x | х + 3. |
-= | Вычитание в месте | x | х – 3. |
*= *= | Умножение в месте | x | х * 3. |
/= | В разделе разделение | x | х / 3 |
%= | Удобное модуло | x | x% 3. |
//= | В целочисленном разделении | x | х // 3. |
**= **= **= | На месте | x | x ** 3 x ** 3 |
&= &= | На месте логика И | x | Икс & x & 3 |
|= | На месте логика Или | x | х |. 3. |
^= | Вместое место логика XOR | x | x ^ 3. |
>>= >>= | На месте битовой смены Правильно | x | x >> 3. |
<<= | На месте побитового сдвига осталось | x | х << 5. |
Основные операторы
Оператор
Краткое описание
+
Сложение (сумма x и y)
—
Вычитание (разность x и y)
*
Умножение (произведение x и y)
Деление
Внимание! Если x и y целые, то результат всегда будет целым числом! Для получения вещественного результата хотя бы одно из чисел должно быть вещественным. Пример: 40/5 → 8, а вот 40/5.0 → 8.0
=
Присвоение
+=
y+=x; эквивалентно y = y + x;
-=
y-=x; эквивалентно y = y — x;
*=
y*=x; эквивалентно y = y * x;
/=
y/=x; эквивалентно y = y / x;
%=
y%=x; эквивалентно y = y % x;
==
Равно
!=
не равно
>
Больше
=
больше или равно
Часть после запятой отбрасывается
4 // 3 в результате будет 125 // 6 в результате будет 4
**
Возведение в степень
5 ** 2 в результате будет 25
and
логическое И
or
логическое ИЛИ
not
логическое отрицание НЕ