PYTHON_REAL Telegram 997
Как найти абсолютное значение в Python

В Python для чисел, массивов и собственных объектов используется встроенная функция abs(). В этом кратком руководстве вы узнаете:

* Как реализовать абсолютную функцию вручную.
* Как работает abs() с разными типами данных.
* Как расширить abs() для NumPy, pandas и своих классов.


1. Самостоятельная реализация


def absolute_value(x):
return x if x >= 0 else -x


Или через max:


def absolute_value(x):
return max(x, -x)


Через корень:


def absolute_value(x):
return (x**2) ** 0.5 # возвращает float


Но проще и эффективнее пользоваться abs().


2. Встроенная функция abs()

🔸Для целых и вещественных чисел сохраняет тип:


abs(-5) # 5
abs(-5.2) # 5.2

🔸Для комплексных чисел возвращает модуль:


z = 3 + 4j
abs(z) # 5.0

🔸Для Fraction и Decimal тоже работает «из коробки»:


from fractions import Fraction
abs(Fraction(-3, 4)) # Fraction(3, 4)

from decimal import Decimal
abs(Decimal("-0.75")) # Decimal('0.75')



3. Применение к коллекциям

Если у вас список чисел, используйте списковое включение или map:


temps = [1, -5, 3, -2]
[abs(x) for x in temps] # [1, 5, 3, 2]
list(map(abs, temps)) # [1, 5, 3, 2]



4. NumPy и pandas

🔸NumPy:


import numpy as np
arr = np.array([-1, -4, 0, 7])
abs(arr) # array([1, 4, 0, 7])

🔸pandas:


import pandas as pd
data = pd.Series([-2, 5, -3])
abs(data) # Series([2, 5, 3])



5. Собственные классы

Чтобы abs() работал для объектов вашего класса, определите метод .__abs__():


import math

class Vector:
def __init__(self, *coords):
self.coords = coords

def __abs__(self):
return math.hypot(*self.coords)

v = Vector(3, 4)
abs(v) # 5.0



Вывод:

🔸Для чисел abs() – оптимальный выбор.
🔸Для списков применяйте map или генератор списка.
🔸NumPy и pandas позволяют вызывать abs() прямо на массивах и DataFrame.
🔸Для собственных типов реализуйте .__abs__().

https://realpython.com/python-absolute-value/

#python

👉 @python_real
3👍3



tgoop.com/python_real/997
Create:
Last Update:

Как найти абсолютное значение в Python

В Python для чисел, массивов и собственных объектов используется встроенная функция abs(). В этом кратком руководстве вы узнаете:

* Как реализовать абсолютную функцию вручную.
* Как работает abs() с разными типами данных.
* Как расширить abs() для NumPy, pandas и своих классов.


1. Самостоятельная реализация


def absolute_value(x):
return x if x >= 0 else -x


Или через max:


def absolute_value(x):
return max(x, -x)


Через корень:


def absolute_value(x):
return (x**2) ** 0.5 # возвращает float


Но проще и эффективнее пользоваться abs().


2. Встроенная функция abs()

🔸Для целых и вещественных чисел сохраняет тип:


abs(-5) # 5
abs(-5.2) # 5.2

🔸Для комплексных чисел возвращает модуль:


z = 3 + 4j
abs(z) # 5.0

🔸Для Fraction и Decimal тоже работает «из коробки»:


from fractions import Fraction
abs(Fraction(-3, 4)) # Fraction(3, 4)

from decimal import Decimal
abs(Decimal("-0.75")) # Decimal('0.75')



3. Применение к коллекциям

Если у вас список чисел, используйте списковое включение или map:


temps = [1, -5, 3, -2]
[abs(x) for x in temps] # [1, 5, 3, 2]
list(map(abs, temps)) # [1, 5, 3, 2]



4. NumPy и pandas

🔸NumPy:


import numpy as np
arr = np.array([-1, -4, 0, 7])
abs(arr) # array([1, 4, 0, 7])

🔸pandas:


import pandas as pd
data = pd.Series([-2, 5, -3])
abs(data) # Series([2, 5, 3])



5. Собственные классы

Чтобы abs() работал для объектов вашего класса, определите метод .__abs__():


import math

class Vector:
def __init__(self, *coords):
self.coords = coords

def __abs__(self):
return math.hypot(*self.coords)

v = Vector(3, 4)
abs(v) # 5.0



Вывод:

🔸Для чисел abs() – оптимальный выбор.
🔸Для списков применяйте map или генератор списка.
🔸NumPy и pandas позволяют вызывать abs() прямо на массивах и DataFrame.
🔸Для собственных типов реализуйте .__abs__().

https://realpython.com/python-absolute-value/

#python

👉 @python_real

BY Реальный Python




Share with your friend now:
tgoop.com/python_real/997

View MORE
Open in Telegram


Telegram News

Date: |

Members can post their voice notes of themselves screaming. Interestingly, the group doesn’t allow to post anything else which might lead to an instant ban. As of now, there are more than 330 members in the group. How to Create a Private or Public Channel on Telegram? How to create a business channel on Telegram? (Tutorial) Hui said the messages, which included urging the disruption of airport operations, were attempts to incite followers to make use of poisonous, corrosive or flammable substances to vandalize police vehicles, and also called on others to make weapons to harm police. The main design elements of your Telegram channel include a name, bio (brief description), and avatar. Your bio should be:
from us


Telegram Реальный Python
FROM American