Рубрики
Без рубрики

Оператор умножения Python

Оператор умножения Python * умножает два объекта. Семантика умножения зависит от типов данных операндов. Например, умножение двух целых чисел выполняет арифметическое умножение, тогда как умножение списка с целым числом выполняет конкатенацию списка. Конкретное возвращаемое значение оператора умножения определяется в типов данных «__mul __ () Magic Method. https://youtu.be/eaowcdcrl0g есть … Оператор умножения Python Подробнее »

Автор оригинала: Chris.

Оператор умножения Python * умножает два объекта. Семантика умножения зависит от типов данных операндов. Например, умножение двух целых чисел выполняет арифметическое умножение, тогда как умножение списка с целым числом выполняет конкатенацию списка. Конкретное возвращаемое значение оператора умножения определяется в типах данных « __mul __ () магический метод.

Посмотрите на следующие примеры!

Примеры

* Оператор на целочисленных операндах дает еще одно целое – математическое произведение обеих операндов:

>>> 2 * 2
4
>>> 2 * 3
6
>>> 2 * 4
8
>>> 16 * 16
256

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

>>> 2.0 * 44
88.0
>>> 4 * 2.2
8.8
>>> 2.2 * -2.2
-4.840000000000001

Мы также можем умножить строку с целым числом, который выполняет Струнные конкатенации , объединение той же строки N Времена предполагая N это второй целочисленный операнд:

>>> 'boom! ' * 10
'boom! boom! boom! boom! boom! boom! boom! boom! boom! boom! '

На самом деле, вы можете умножить другие типы последовательности с целыми числами, как Списки Отказ Результат такая же последовательность, добавленная к себе N раз. Оригинальные списки остаются неизменными.

>>> [1, 2] * 3
[1, 2, 1, 2, 1, 2]
>>> ('Alice', 'Bob') * 5
('Alice', 'Bob', 'Alice', 'Bob', 'Alice', 'Bob', 'Alice', 'Bob', 'Alice', 'Bob')

Что если два операнда имеют несовместимый тип данных, в отличие от поплавков и целых чисел?

>>> 'hello' * 'hi'
Traceback (most recent call last):
  File "", line 1, in 
    'hello' * 'hi'
TypeError: can't multiply sequence by non-int of type 'str'

Результат несовместимого добавления является Типеррор Отказ Вы можете исправить его, используя только совместимые типы данных для операции.

Можете ли вы использовать оператор умножения на пользовательских объектах? Да!

Магический метод добавления Python

Чтобы использовать оператор умножения на пользовательских объектах, определите __mul __ () “Дунги” или Магический метод Это требует двух аргументов: Я и Другое и возвращает результат Я * Другое Отказ Способ может использовать атрибуты из двух операндов.

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

class Network:
    def __init__(self, value):
        self.value = value

    def __mul__(self, other):
        return Network(self.value * other.value)


# Create two networks:
my_network = Network(2)
your_network = Network(4)

# Multiply two custom Network instances:
our_network = my_network * your_network

print(our_network.value)
# 8

Следовательно, новая сеть, созданная путем умножения вашей сети с моей сетью, имеет значение.

Оператор оператора умножения Python

Вы можете объединить два оператора умножения. Например, выражение x * y * z будет сначала умножить х и уход а затем умножьте Z с результатом. Таким образом, это семантически идентично ( (x * y) * z) Отказ

Вот минимальный пример:

>>> x = 10
>>> y = 5
>>> z = 2
>>> x * y * z
100
>>> ((x * y) * z)
100

Арифметические операторы

Арифметические операторы – синтаксические ярлыки для выполнения основных математических операций по номерам.

Оператор Имя Описание Пример
+ Добавление Расчет суммы двух операндов 3 + 4
Вычитание Вычитание второго операнда с первого операнда 4 – 3
* Умножение Умножить первый со вторым операндом 3 * 4
/ Разделение Разделение первого на второй операнд 3 / 4.75
% Модуль Расчет остатка при делите первого на второй операнд 7 % 4
// Целочисленное разделение, напольное разделение Разделение первого операнда на второй операнд и закругление результата до следующего целого числа 8 // 3
** Экспонент Поднимая первый операнд на силу второго операнда 2 ** 3

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python одноклассники (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

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

Оригинал: “https://blog.finxter.com/python-multiplication-operator/”