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: |

How to Create a Private or Public Channel on Telegram? 6How to manage your Telegram channel? The administrator of a telegram group, "Suck Channel," was sentenced to six years and six months in prison for seven counts of incitement yesterday. Some Telegram Channels content management tips Although some crypto traders have moved toward screaming as a coping mechanism, several mental health experts call this therapy a pseudoscience. The crypto community finds its way to engage in one or the other way and share its feelings with other fellow members.
from us


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