Python abs() 함수: 절대값 예제

⚡ 스마트 요약

Python abs()는 숫자의 절댓값, 즉 부호를 제외한 0으로부터의 거리를 반환하는 내장 함수입니다. 정수, 부동 소수점 숫자 및 복소수를 입력으로 받으며, 복소수 입력의 경우 크기를 반환합니다.

  • 🔢 절대값: abs()는 숫자의 부호를 제거하고 0으로부터의 거리를 반환하므로 abs(-25)와 abs(25)는 모두 25를 반환합니다.
  • 🧮 숫자 유형: 단일 인수는 정수, 부동 소수점 숫자 또는 복소수일 수 있으며, 반환 유형은 입력과 일치합니다.
  • 🔟 복소수 크기: (3+10j)와 같은 복소수의 경우, abs() 함수는 복소수의 크기, 즉 실수 부분과 허수 부분을 제곱한 값의 제곱근을 반환합니다.
  • 📋 기울기: abs()는 한 번에 하나의 숫자만 처리하므로 [abs(n) for n in nums]와 같은 구문은 모든 요소에 적용됩니다.
  • ⚖️ abs()와 math.fabs()의 차이점: 내장 함수 abs()는 입력 유형을 유지하고 복소수를 지원하는 반면, math.fabs()는 항상 부동 소수점을 반환하며 math 모듈이 필요합니다.
  • 🤖 AI 지원: GitHub Copilot과 같은 AI 도구는 간단한 입력만으로 평균 절대 오차와 같은 작업을 위해 abs() 및 NumPy의 np.abs() 함수 호출을 생성합니다.

Python ABS() 함수

Python abs ()

Python abs () 는 표준 라이브러리에 포함된 내장 함수입니다. Python이 함수는 주어진 숫자의 절댓값을 반환합니다. 숫자의 절댓값은 부호를 고려하지 않은 값입니다. 숫자는 정수, 부동 소수점 숫자 또는 복소수일 수 있습니다. 주어진 숫자가 복소수인 경우, 그 크기를 반환합니다.

통사론

abs() 함수의 구문은 다음과 같습니다.

abs(value)

매개변수(값)

abs()에 주어지는 입력값으로 절대값을 구합니다. 정수, 실수 또는 복소수일 수 있습니다.

반환 값 :

abs() 함수는 주어진 숫자의 절댓값을 반환합니다.

  • 입력값이 정수이면 반환값도 정수입니다.
  • 입력값이 부동소수점인 경우, 반환값 또한 부동소수점입니다.
  • 입력이 복소수이면 반환 값은 입력 값의 크기가 됩니다.

다음 예제는 abs() 함수를 정수, 부동 소수점 및 복소수 값에 적용한 예를 보여줍니다.

Code 예시 1: 정수와 부동소수점 숫자

정수와 부동소수점 숫자의 절댓값을 구하는 방법은 다음 코드를 참조하세요.

# testing abs() for an integer and float
  int_num = -25
  float_num = -10.50
  print("The absolute value of an integer number is:", abs(int_num))
  print("The absolute value of a float number is:", abs(float_num))

출력:

The absolute value of an integer number is: 25
The absolute value of a float number is: 10.5

예제 2: 복소수

복소수의 절댓값을 구하려면 다음 코드를 사용하세요.

# testing abs() for a complex number
complex_num = (3+10j)
print("The magnitude of the complex number is:", abs(complex_num))

출력:

The magnitude of the complex number is: 10.44030650891055

리스트의 절댓값을 찾는 방법 Python

abs() 함수는 단일 숫자에 대해 작동하므로 전체 리스트를 전달하면 TypeError가 발생합니다. 리스트의 모든 항목에 적용하려면 각 요소에 대해 abs() 함수를 호출하는 리스트 컴프리헨션을 사용하십시오.

numbers = [12, 30, -33, -22, 77, -100]
abs_numbers = [abs(num) for num in numbers]
print(abs_numbers)

출력:

[12, 30, 33, 22, 77, 100]

리스트 컴프리헨션은 원래 순서를 유지하면서 양수 값으로 이루어진 새로운 리스트를 반환합니다. 내장 함수인 `map()`을 사용해도 동일한 결과를 얻을 수 있습니다. list(map(abs, numbers))이는 명시적인 루프를 작성하지 않고 각 요소에 abs() 함수를 적용합니다.

  • 리스트 컴프리헨션을 사용할 때는 값을 필터링하거나 변환하는 작업도 함께 수행해야 합니다.
  • abs() 함수를 직접 적용하는 간결하고 읽기 쉬운 호출을 원하시면 map() 함수를 사용하세요.
  • 대규모 수치 데이터 세트의 경우, np.abs()를 사용하는 NumPy 배열이 보다 빠릅니다. Python 고리.

Python abs()와 math.fabs()의 차이점

Python 절댓값을 구하는 두 가지 방법이 있습니다. 내장 함수인 `abs()`와 `math` 모듈의 `fabs()` 함수입니다. 두 함수는 비슷해 보이지만 동작 방식은 다릅니다.

import math

print(abs(-7))          # 7 (int is unchanged)
print(math.fabs(-7))    # 7.0 (float result)

출력:

7
7.0

두 기능의 주요 차이점은 다음과 같습니다.

  • 반환 유형: abs() 함수는 입력 유형을 유지하고 정수형 입력에는 정수를 반환하는 반면, math.fabs() 함수는 항상 부동 소수점을 반환합니다.
  • 수입: abs() 함수는 항상 사용 가능하지만 math.fabs() 함수를 사용하려면 특정 조건이 필요합니다. import math.
  • 복소수: abs() 함수는 복소수의 크기를 반환하는 반면, math.fabs() 함수는 복소수 입력에 대해 TypeError를 발생시킵니다.

의 실제 응용 프로그램 Python ABS() 함수

abs() 함수는 부호 정보를 버리기 때문에 값의 방향이 아닌 크기만 중요한 경우에 유용합니다. 두 측정값의 차이를 구하는 것이 일반적인 예입니다.

temp_morning = 12
temp_night = -5
print("Temperature change:", abs(temp_morning - temp_night))

출력:

Temperature change: 17

절댓값의 일상적인 사용 예는 다음과 같습니다.

  • 거리와 차이점: 두 지점, 온도 또는 타임스탬프 간의 차이를 측정할 때, 어떤 값이 더 큰지 여부와 관계없이 측정합니다.
  • 오류 측정 항목: 예측값과 실제값 사이의 절대 오차를 계산합니다.
  • 허용 오차 검사: 결과가 목표값에 충분히 근접한지 테스트하는 것, 예를 들어 abs(actual - expected) < 0.01.
  • 금융 : 이익 또는 손실의 크기를 부호 없이 표시하는 것.

마찬가지로 사람들이 미국의 비즈니스 관련 활동에 참석할 수 있도록 하는 round() 함수`abs()`는 모듈을 가져오지 않고 직접 호출할 수 있는 내장 함수입니다.

자주 묻는 질문

아니요. abs() 함수는 새로운 값을 반환하며 인수를 절대 수정하지 않습니다. 왜냐하면 abs() 함수는 숫자의 정수 부분을 그대로 반환하기 때문입니다. Python 결과는 변경할 수 없습니다. 결과를 유지하려면 변수에 할당하세요. 예를 들어 positive = abs(number)와 같이 할당할 수 있습니다. 원래 변수는 여전히 부호 있는 값을 유지합니다.

아니요. 문자열을 전달하면 `abs()` 함수가 정수, 부동 소수점 또는 복소수만 허용하기 때문에 `TypeError: bad operand type for abs(): 'str'` 오류가 발생합니다. 문자열의 길이를 측정하려면 문자열에 포함된 문자 수를 반환하는 `len()` 함수를 사용하세요.

직접 계산할 수도 있습니다. 값 x에 대해 max(x, -x)는 절댓값을 반환하고, (x ** 2) ** 0.5도 실수에 대해서는 같은 방식으로 계산할 수 있습니다. 하지만 내장 함수 abs()를 사용하면 더 명확하고 빠르며 복소수도 처리할 수 있습니다.

아니요. 세로 막대 기호 |x|는 수학적인 표기법이지, Python 구문; 에서 Python | 기호는 비트 단위 OR 연산자입니다. 절댓값을 얻으려면 내장 함수 abs()를 호출해야 합니다. 예를 들어 abs(-8)을 호출하면 8이 반환됩니다.

__abs__는 abs() 함수가 내부적으로 호출하는 메서드입니다. abs(obj)라고 작성하면, Python obj.__abs__()를 실행합니다. 클래스에 __abs__를 정의하면 abs() 함수가 벡터나 금액 유형과 같은 사용자 정의 객체에서 작동할 수 있습니다.

반복문 대신 벡터화된 버전을 사용하세요. NumPy의 `np.abs(array)`는 모든 요소가 양수로 변환된 새로운 배열을 반환하고, pandas의 `Series.abs()`는 절댓값을 모든 요소에 한 번에 적용합니다. 이는 대규모 데이터셋에서 더 빠른 속도를 제공합니다.

`abs()` 함수는 오류 및 거리 측정의 핵심입니다. 평균 절대 오차(MAE)와 L1 손실은 예측값과 목표값 사이의 절대 차이를 합산하며, 절대값은 기울기의 크기를 나타냅니다. NumPy의 `np.abs()` 함수는 배열 전체에 대해 동일한 연산을 효율적으로 적용합니다.

GitHub Copilot은 짧은 주석에서 abs() 호출, [abs(n) for n in nums]와 같은 리스트 컴프리헨션, 그리고 NumPy의 np.abs() 코드 줄을 직접 제안합니다. 또한 평균 절대 오차 함수를 생성하여, 정형화된 코드를 작성하는 대신 논리를 검증할 수 있도록 도와줍니다.

이 게시물을 요약하면 다음과 같습니다.