python что значит процент

What does the percentage sign mean in Python

In the tutorial there is an example for finding prime numbers:

I understand that the double == is a test for equality, but I don’t understand the if n % x part. Like I can verbally walk through each part and say what the statement does for the example. But I don’t understand how the percentage sign falls in.

What does if n % x actually say?

8 Answers 8

The % does two things, depending on its arguments. In this case, it acts as the modulo operator, meaning when its arguments are numbers, it divides the first by the second and returns the remainder. 34 % 10 == 4 since 34 divided by 10 is three, with a remainder of four.

If the first argument is a string, it formats it using the second argument. This is a bit involved, so I will refer to the documentation, but just as an example:

The formatting operations described here exhibit a variety of quirks that lead to a number of common errors (such as failing to display tuples and dictionaries correctly). Using the newer str.format() interface helps avoid these errors, and also provides a generally more powerful, flexible and extensible approach to formatting text.

And thankfully, almost all of the new features are also available from python 2.6 onwards.

python что значит процент. Смотреть фото python что значит процент. Смотреть картинку python что значит процент. Картинка про python что значит процент. Фото python что значит процент

Modulus operator; gives the remainder of the left value divided by the right value. Like:

3 % 1 would equal zero (since 3 divides evenly by 1)

3 % 2 would equal 1 (since dividing 3 by 2 results in a remainder of 1).

While this is slightly off-topic, since people will find this by searching for «percentage sign in Python» (as I did), I wanted to note that the % sign is also used to prefix a «magic» function in iPython: https://ipython.org/ipython-doc/3/interactive/tutorial.html#magic-functions

What does the percentage sign mean?

It’s an operator in Python that can mean several things depending on the context. A lot of what follows was already mentioned (or hinted at) in the other answers but I thought it could be helpful to provide a more extensive summary.

% for Numbers: Modulo operation / Remainder / Rest

The percentage sign is an operator in Python. It’s described as:

So it gives you the remainder/rest that remains if you «floor divide» x by y. Generally (at least in Python) given a number x and a divisor y :

For example if you divide 5 by 2:

In general you use the modulo operation to test if a number divides evenly by another number, that’s because multiples of a number modulo that number returns 0:

That’s how it’s used in your example, it cannot be a prime if it’s a multiple of another number (except for itself and one), that’s what this does:

If you feel that n % x == 0 isn’t very descriptive you could put it in another function with a more descriptive name:

Instead of is_multiple it could also be named evenly_divides or something similar. That’s what is tested here.

Similar to that it’s often used to determine if a number is «odd» or «even»:

And in some cases it’s also used for array/list indexing when wrap-around (cycling) behavior is wanted, then you just modulo the «index» by the «length of the array» to achieve that:

Note that there is also a function for this operator in the standard library operator.mod (and the alias operator.__mod__ ):

But there is also the augmented assignment %= which assigns the result back to the variable:

For strings the meaning is completely different, there it’s one way (in my opinion the most limited and ugly) for doing string formatting:

Here the % in the string represents a placeholder followed by a formatting specification. In this case I used %s which means that it expects a string. Then the string is followed by a % which indicates that the string on the left hand side will be formatted by the right hand side. In this case the first %s is replaced by the first argument this and the second %s is replaced by the second argument ( good ).

Note that there are much better (probably opinion-based) ways to format strings:

% in Jupyter/IPython: magic commands

To Jupyter users: Magics are specific to and provided by the IPython kernel. Whether magics are available on a kernel is a decision that is made by the kernel developer on a per-kernel basis. To work properly, Magics must use a syntax element which is not valid in the underlying language. For example, the IPython kernel uses the % syntax element for magics as % is not a valid unary operator in Python. While, the syntax element has meaning in other languages.

This is regularly used in Jupyter notebooks and similar:

The % operator on arrays (in the NumPy / Pandas ecosystem)

The % operator is still the modulo operator when applied to these arrays, but it returns an array containing the remainder of each element in the array:

Customizing the % operator for your own classes

Of course you can customize how your own classes work when the % operator is applied to them. Generally you should only use it to implement modulo operations! But that’s a guideline, not a hard rule.

Just to provide a simple example that shows how it works:

This example isn’t really useful, it just prints and then delegates the operator to the stored value, but it shows that __mod__ is called when % is applied to an instance:

Note that it also works for %= without explicitly needing to implement __imod__ :

However you could also implement __imod__ explicitly to overwrite the augmented assignment:

Now %= is explicitly overwritten to work in-place:

Источник

Что означает знак процента в Python

В учебнике есть пример для поиска простых чисел:

Что if n % x на самом деле говорит?

8 ответов

Оператор модуля; дает остаток от левого значения, деленного на правое значение. Подобно:

3 % 1 будет равен нулю (так как 3 делится равномерно на 1)

3 % 2 будет равен 1 (поскольку деление 3 на 2 приводит к остатку от 1).

Он проверяет, является ли модуль делением. Например, в случае, если вы перебираете все числа от 2 до n и проверяете, делится ли n на любое из промежуточных чисел. Проще говоря, вы проверяете, является ли данное число n простым. (Подсказка: вы можете проверить до n / 2).

Если первый аргумент является строкой, он форматирует ее, используя второй аргумент. Это немного сложно, поэтому я буду ссылаться на документацию, но только в качестве примера:

Операции форматирования, описанные здесь, обнаруживают различные причуды, которые приводят к ряду распространенных ошибок (таких как неправильное отображение кортежей и словарей). Использование нового str.format() помогает избежать эти ошибки, а также обеспечивает в целом более мощный, гибкий и расширяемый подход к форматированию текста.

И, к счастью, почти все новые функции также доступны начиная с версии Python 2.6.

Оператор модуля. Остаток при делении двух чисел.

В python 2.6 оператор ‘%’ выполнил модуль. Я не думаю, что они изменили его в 3.0.1

Оператор по модулю сообщает вам остаток от деления двух чисел.

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

% для чисел: операция по модулю / остаток / отдых

Например, если вы разделите 5 на 2:

В общем случае вы используете операцию по модулю, чтобы проверить, делит ли число поровну на другое число, потому что по числу, кратному числу, это число возвращает 0:

Вот как он используется в вашем примере, он не может быть простым, если он кратен другому числу (кроме себя и одного), вот что он делает:

Если вы чувствуете, что n % x == 0 не очень описательный, вы можете поместить его в другую функцию с более описательным именем:

Вместо is_multiple его также можно назвать evenly_divides или что-то подобное. Вот что здесь тестируется.

Подобно тому, как это часто используется, чтобы определить, является ли число «нечетным» или «четным»:

И в некоторых случаях он также используется для индексации массивов / списков, когда требуется поведение циклического (циклического) перебора, тогда вы просто модулируете «index» на «length массива», чтобы достичь этого:

Обратите внимание, что в стандартной библиотеке есть также функция для этого оператора operator.mod (и псевдоним operator.__mod__ ):

% для строк: printf форматирование строк в стиле

Для строк значение совершенно иное, есть один способ (на мой взгляд, самый ограниченный и безобразный) для форматирования строк:

Обратите внимание, что есть гораздо лучшие (возможно, основанные на мнении) способы форматирования строк:

% в Jupyter / IPython: магические команды

Это регулярно используется в ноутбуках Jupyter и подобных:

Оператор % для массивов (в экосистеме NumPy / Pandas)

Оператор % по-прежнему является оператором по модулю при применении к этим массивам, но он возвращает массив, содержащий остаток каждого элемента в массиве:

Настройка оператора % для ваших собственных классов

Просто чтобы привести простой пример, который показывает, как это работает:

Этот пример не очень полезен, он просто печатает и затем делегирует оператор сохраненному значению, но он показывает, что __mod__ вызывается, когда % применяется к экземпляру:

Обратите внимание, что это также работает для %= без явной необходимости реализовать __imod__ :

Однако вы также можете явно реализовать __imod__ для перезаписи расширенного присваивания:

Теперь %= явно перезаписан для работы на месте:

Источник

Знак процента в python

В учебнике приведен пример поиска простых чисел.

Я понимаю, что ****** == является критерием равенства, но я не понимаю часть «if n% x». Как я могу устно пройти через каждую часть и сказать, что делает утверждение для примера. Но я не понимаю, как падает процентный знак. Что означает «если n% x» на самом деле?

Оператор модуля; дает оставшуюся часть левого значения, деленное на правильное значение. Как:

3 % 1 будет равно нулю (поскольку 3 равномерно делит на 1)

3 % 2 будет равно 1 (так как разделение 3 на 2 приводит к остатку 1).

Если первый аргумент является строкой, он форматирует его, используя второй аргумент. Это немного связано, поэтому я буду ссылаться на документацию, но только как пример:

Описанные здесь операции форматирования демонстрируют множество причуд, которые приводят к ряду распространенных ошибок (например, неспособность правильно отображать кортежи и словари). Использование нового интерфейса str.format() помогает избежать этих ошибок, а также обеспечивает более мощный, гибкий и расширяемый подход к форматированию текста.

И, к счастью, почти все новые функции также доступны с версии python 2.6.

в учебнике есть пример поиска простых чисел:

Я понимаю, что двойные == – Это тест на равенство, но я не понимаю if n % x часть. Как будто я могу устно пройти через каждую часть и сказать, что делает утверждение для примера. Но я не понимаю, как падает знак процента.

что значит if n % x на самом деле сказать?

8 ответов

оператор модуля; дает остаток левого значения, разделенного на правое значение. Например:

3 % 1 будет равно нулю (так как 3 делится равномерно на 1)

3 % 2 будет равно 1 (так как деление 3 на 2 приводит к остатку 1).

% делает две вещи, в зависимости от его аргументов. В этом случае он действует как оператор по модулю, то есть, когда его аргументы являются числами, он делит первый на второй и возвращает остаток. 34 % 10 == 4 так как 34 делится на 10-это три, а остальные четыре.

если первый аргумент является строкой, он форматирует его, используя второй аргумент. Это немного связано, поэтому я буду ссылаться на документация, но только в качестве примера:

операции форматирования, описанные здесь, демонстрируют различные причуды, которые приводят к ряду распространенных ошибок (таких как неправильное отображение кортежей и словарей). Использование нового str.format() интерфейс помогает избежать этих ошибок, а также обеспечивает в целом более мощный, гибкий и расширяемый подход к форматированию текста.

и, к счастью, почти все новые функции также доступны с python 2.6 и далее.

хотя это немного не по теме, так как люди найдут это, ища » процентный знак в Python «(как и я), я хотел отметить, что знак % также используется для префикса» волшебной » функции в iPython:https://ipython.org/ipython-doc/3/interactive/tutorial.html#magic-functions

что означает знак процента означает?

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

% для чисел: операция по модулю / остаток / отдых

таким образом, он дает вам остаток/остаток, что остается если вы «разделяете пол» x на y. Обычно (по крайней мере, в Python) задается число x и делитель y :

например, если разделить 5 на 2:

в общем случае вы используете операцию по модулю, чтобы проверить, делится ли число равномерно на другое число, это потому, что кратные числа по модулю это число возвращает 0:

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

если вы чувствуете, что n % x == 0 не очень описательно, вы можете поместить его в другую функцию с более описательным именем:

вместо is_multiple он также может быть назван evenly_divides или что-то подобное. Вот что здесь проверено.

похож на это часто используется для определения, является ли число «нечетным»или » четным»:

и в некоторых случаях он также используется для индексирования массива/списка, когда требуется обертывание (циклическое) поведение, тогда вы просто по модулю «индекс» по «длине массива» для достижения этого:

обратите внимание, что в стандартной библиотеке есть также функция для этого оператора operator.mod (и псевдоним operator.__mod__ ):

% для строк: printf стиль форматирования строк

для строк значение совершенно другое, вот оно в одну сторону (на мой взгляд, самый ограниченный и уродливый) для форматирования строк:

здесь % в строке представляет собой заполнитель, за которым следует спецификация форматирования. В этом случай я использовал %s что означает, что он ожидает строку. Затем за строкой следует % что означает, что строка с левой стороны будет отформатирована с правой стороны. В этом случае первый %s заменяется первым аргументом this и второй %s заменяется вторым аргументом ( good ).

обратите внимание, что есть гораздо лучшие (возможно, основанные на мнении) способы форматирования строк:

% in Jupyter / IPython: магические команды

для пользователей Jupyter: магия специфична и предоставляется ядром IPython. Доступны ли магии в ядре-это решение, которое принимается разработчиком ядра на основе каждого ядра. Чтобы правильно работать, магия должна использовать синтаксический элемент, который недопустим в базовом языке. Например, ядро IPython использует % элемент синтаксиса для магии, как % не является допустимым унарным оператором в Python. В то время как элемент синтаксиса имеет значение в других языках.

это регулярно используется в ноутбуках Jupyter и подобных:

на % оператор на массивах (в экосистеме NumPy / Pandas)

на % оператор по-прежнему является оператором по модулю при применении к этим массивам, но он возвращает массив, содержащий остаток каждого элемента в массив:

настройка % оператор для ваших собственных классов

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

просто предоставить простой пример, который показывает, как это работает:

этот пример не очень полезный, он просто печатает и затем делегирует оператору сохраненное значение, но он показывает, что __mod__ называется, когда % применяется к экземпляру:

обратите внимание, что он также работает для %= без явной необходимости внедрения __imod__ :

однако вы также можете реализовать __imod__ явно перезаписать дополненное назначение:

теперь %= явно переписаны для работы на месте:

в python 2.6 оператор » % «выполнил модуль. Я не думаю, что они изменили его в 3.0.1

оператор по модулю сообщает вам остаток деления двух чисел.

Он проверяет, если по модулю деления. Например, в случае, если вы перебираете все числа от 2 до n и проверить, если N делится на любое из чисел между ними. Проще говоря, вы проверяете, является ли данное число n простым. (Подсказка: вы можете проверить до n/2).

оператор модуля. Остальное при делении на два числа.

Blockquote x % n ==0 это означает, что x / n и значение напоминания будут взяты в результате и сравниваться с нулем.

В уроке есть пример для поиска простых чисел:

Я понимаю, что double == – это тест на равенство, но я не понимаю, if n % x part. Как я могу устно пройтись по каждой части и сказать, что утверждение делает для примера. Но я не понимаю, как знак процента падает.

Что if n % x самом деле говорит?

8 ответов

Оператор модуля; дает остаток от левого значения, деленного на правое значение. Подобно:

3 % 1 будет равно нулю (так как 3 делится равномерно на 1)

3 % 2 будет равно 1 (поскольку деление 3 на 2 приводит к остатку от 1).

Операции форматирования, описанные здесь, демонстрируют различные причуды, которые приводят к ряду распространенных ошибок (таких как неправильное отображение кортежей и словарей). Использование более нового интерфейса str.format() помогает избежать этих ошибок, а также обеспечивает в целом более мощный, гибкий и расширяемый подход к форматированию текста.

И, к счастью, почти все новые функции также доступны начиная с версии Python 2.6.

Хотя это немного не по теме, поскольку люди найдут это, выполнив поиск «знак процента в Python» (как я это сделал), я хотел отметить, что знак% также используется для добавления префикса к «волшебной» функции в iPython: https : //ipython.org/ipython-doc/3/interactive/tutorial.html#magic-functions

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

% для чисел: операция по модулю / остаток / остаток

Таким образом, он дает вам остаток / остаток, который остается, если вы «разделите пол» x на y. Обычно (по крайней мере, в Python) задается число x и делитель y :

Например, если вы разделите 5 на 2:

Обычно вы используете операцию по модулю, чтобы проверить, делит ли число поровну на другое число, потому что по числу, кратному числу, это число возвращает 0:

Вот как он используется в вашем примере, он не может быть простым, если он кратен другому числу (кроме себя и одного), вот что он делает:

Если вы чувствуете, что n % x == 0 не очень наглядно, вы можете поместить его в другую функцию с более наглядным названием:

Вместо is_multiple его также можно назвать evenly_divides или что-то подобное. Вот что здесь тестируется.

Подобно тому, как это часто используется, чтобы определить, является ли число «нечетным» или «четным»:

А в некоторых случаях он также используется для индексации массивов / списков, когда требуется поведение циклического (циклического) перебора, тогда вы просто модулируете «index» на «length массива», чтобы достичь этого:

Обратите внимание, что в стандартной библиотеке operator.mod (и operator.__mod__ псевдонима operator.__mod__ ) есть функция для этого оператора:

Но есть также расширенное присваивание %= которое присваивает результат переменной:

Для строк значение совершенно иное, есть один способ (на мой взгляд, самый ограниченный и некрасивый) для форматирования строк:

Здесь % в строке представляет собой заполнитель, за которым следует спецификация форматирования. В этом случае я использовал %s что означает, что он ожидает строку. Затем за строкой следует % что указывает на то, что строка слева будет отформатирована правой стороной. В этом случае первый %s заменяется первым аргументом this а второй %s заменяется вторым аргументом ( good ).

Обратите внимание, что есть намного лучшие (вероятно, основанные на мнении) способы форматирования строк:

% в Jupyter / IPython: магические команды

Для пользователей Jupyter: Магия специфична для ядра IPython и предоставляется им. Доступность магий в ядре – это решение, принимаемое разработчиком ядра для каждого ядра. Для правильной работы Magics должен использовать синтаксический элемент, который недопустим в базовом языке. Например, ядро IPython использует элемент синтаксиса % для магии, поскольку % не является допустимым унарным оператором в Python. В то время как элемент синтаксиса имеет значение в других языках.

Это регулярно используется в ноутбуках Jupyter и подобных:

Оператор % на массивах (в экосистеме NumPy / Pandas)

Оператор % по-прежнему является оператором по модулю при применении к этим массивам, но он возвращает массив, содержащий остаток от каждого элемента в массиве:

Настройка оператора % для ваших собственных классов

Просто чтобы привести простой пример, который показывает, как это работает:

Этот пример не очень полезен, он просто печатает и затем делегирует оператор сохраненному значению, но показывает, что __mod__ вызывается, когда % применяется к экземпляру:

Обратите внимание, что он также работает для %= без необходимости явной реализации __imod__ :

Однако вы можете также явно реализовать __imod__ чтобы перезаписать расширенное назначение:

Теперь %= явно перезаписывается для работы на месте:

Источник

Есть ли оператор для расчета процентов в Python?

Недавно я узнал, что знак «%» используется для вычисления остатка целого числа в Python. Однако я не смог определить, есть ли другой оператор или метод для вычисления процентов в Python.

Как и в случае с «/», который даст вам частное, если вы просто используете число с плавающей запятой для одного из целых чисел, это на самом деле даст вам ответ, как при традиционном делении. Так есть ли способ рассчитать процент?

4 ответа

В Python такого оператора нет, но его легко реализовать самостоятельно. На практике в вычислениях проценты не так полезны, как по модулю, поэтому ни один язык, о котором я могу подумать, не реализует один.

Вы можете просто разделить два числа и умножить на 100. Обратите внимание, что это приведет к ошибке, если «целое» равно 0, поскольку спрашивать, какой процент от 0 является числом, не имеет смысла:

Или если вопрос, на который вы хотели ответить, был «что составляет 5% от 20», а не «какой процент составляет 5 из 20» (другая интерпретация вопроса навеяна ответ Карла Смита ), вы бы написали:

Ответ Брайана (пользовательская функция) является правильным и простым делом в целом.

Это может быть опасно, если вы когда-либо используете оператор ‘%’ для смеси MyNumberClasswithPct с обычными целыми числами или числами с плавающей точкой.

В этом коде также утомительно то, что вы также должны определить все 21 другой метод Integral или Real, чтобы избежать следующих раздражающих и неясных TypeError при его создании

Источник

Что означает знак процента в Python

В учебнике есть пример для поиска простых чисел:

8 ответов

Операции форматирования, описанные здесь, обнаруживают различные причуды, которые приводят к ряду распространенных ошибок (таких как неправильное отображение кортежей и словарей) Использование более нового интерфейса str.format() помогает избежать этих ошибок, а также обеспечивает в целом более мощный, гибкий и расширяемый подход к форматированию текста.

И, к счастью, почти все новые функции также доступны в Python 2. 6 лет.

Оператор модуля; дает остаток от левого значения, деленного на правое значение. Нравится:

3 % 1 будет равно нулю (так как 3 делится равномерно на 1)

3 % 2 будет равен 1 (поскольку деление 3 на 2 приводит к остатку 1).

Хотя это немного не по теме, так как люди найдут это с помощью поиска «знак процента в Python» (как я это сделал), я хотел отметить, что знак% также используется для добавления префикса к «магической» функции iPython: https: // ipython. орг / IPython-DOC / 3 / интерактивный / учебное пособие. html # magic-functions

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

% для номеров: Операция по модулю / Остаток / Остальное

Например, если вы разделите 5 на 2:

Обычно вы используете операцию по модулю, чтобы проверить, делит ли число поровну на другое число, потому что по числу, кратному числу, это число возвращает 0:

Вот как он используется в вашем примере, он не может быть простым, если он кратен другому числу (кроме себя и одного), вот что он делает:

Если вы считаете, что n % x == 0 не очень наглядно, вы можете поместить его в другую функцию с более наглядным названием:

Вместо is_multiple его также можно назвать evenly_divides или что-то подобное. Вот что здесь тестируется.

Подобно тому, как это часто используется, чтобы определить, является ли число «нечетным» или «четным»:

И в некоторых случаях он также используется для индексации массивов / списков, когда требуется поведение циклического (циклического) преобразования, тогда вы просто модулируете «index» на «length массива», чтобы достичь этого:

Обратите внимание, что в стандартной библиотеке также есть функция для этого оператора operator.mod (и псевдоним operator.__mod__ ):

Для строк значение совершенно иное, в одну сторону (на мой взгляд, наиболее ограниченный и безобразный) для форматирования строк:

Обратите внимание, что есть гораздо лучшие (возможно, основанные на мнении) способы форматирования строк:

% в Jupyter / IPython: магические команды

Это регулярно используется в ноутбуках Jupyter и подобных:

Оператор % для массивов (в экосистеме NumPy / Pandas)

Оператор % по-прежнему является оператором по модулю при применении к этим массивам, но возвращает массив, содержащий остаток каждого элемента в массиве:

Настройка оператора % для собственных классов

Просто приведу простой пример, который показывает, как это работает:

Этот пример не очень полезен, он просто печатает и затем делегирует оператор сохраненному значению, но показывает, что __mod__ вызывается, когда % применяется к экземпляру:

Обратите внимание, что он также работает для %= без явной необходимости реализации __imod__ :

Теперь %= явно перезаписан для работы на месте:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *