Реальный Python
3.78K subscribers
801 photos
10 videos
7 files
848 links
Все о пайтон, новости, подборки на русском и английском. По всем вопросам @evgenycarter
Download Telegram
Как найти абсолютное значение в 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
Определение собственной функции в Python

Функции — это фундаментальный строительный блок в Python. Они позволяют организовать код, переиспользовать его и сделать программу более читаемой. Создание собственной функции — это важный шаг на пути к более эффективной разработке.

Основы: def и имя функции

Функции в Python определяются с помощью ключевого слова def, за которым следует имя функции, круглые скобки (в которых можно указать параметры), и двоеточие:


def greet():
print("Привет!")


Теперь ты можешь вызвать функцию:


greet()


Аргументы и параметры

Ты можешь передавать данные в функцию через параметры:


def greet(name):
print(f"Привет, {name}!")


Вызов:


greet("Oleg")


Возврат значения

С помощью ключевого слова return можно вернуть результат из функции:


def add(a, b):
return a + b



result = add(3, 4)
print(result) # 7


Аргументы по умолчанию

Функции могут иметь параметры с значениями по умолчанию:


def greet(name="друг"):
print(f"Привет, {name}!")



greet() # Привет, друг!
greet("Oleg") # Привет, Oleg!


Именованные аргументы

Можно передавать аргументы явно по имени:


def describe_pet(animal, name):
print(f"У меня есть {animal}, его зовут {name}.")



describe_pet(animal="кот", name="Барсик")


Возвращение нескольких значений

Функции могут возвращать несколько значений с помощью кортежей:


def get_point():
return (3, 4)

x, y = get_point()



https://realpython.com/defining-your-own-python-function/

#python

👉 @python_real