Python abs() Fonksiyonu: Mutlak Değer Örnekleri

⚡ Akıllı Özet

Python `abs()` fonksiyonu, bir sayının mutlak değerini, yani sıfırdan olan uzaklığını işaretsiz olarak döndüren yerleşik bir fonksiyondur. Tamsayıları, ondalık sayıları ve karmaşık sayıları kabul eder ve karmaşık girdiler için büyüklüğü döndürür.

  • 🔢 Mutlak değer: abs() fonksiyonu bir sayının işaretini kaldırır ve sıfırdan olan uzaklığını döndürür; bu nedenle abs(-25) ve abs(25) her ikisi de 25 sonucunu verir.
  • 🧮 Sayı türleri: Tek argüman bir tamsayı, ondalık sayı veya karmaşık sayı olabilir ve dönüş türü girişe uyar.
  • 🔟 Karmaşık büyüklük: (3+10j) gibi karmaşık bir sayı için abs() fonksiyonu, sayının büyüklüğünü, yani gerçek ve sanal kısımlarının karelerinin karekökünü döndürür.
  • ???? Listesi: abs() fonksiyonu her seferinde yalnızca bir sayıyı işler, bu nedenle [abs(n) for n in nums] gibi bir listeleme, bu fonksiyonu her elemana uygular.
  • 🇧🇷 abs() ve math.fab() karşılaştırması: Dahili abs() fonksiyonu giriş türünü korur ve karmaşık sayıları desteklerken, math.fabs() her zaman ondalık sayı döndürür ve math modülüne ihtiyaç duyar.
  • 🤖 Yapay zeka yardımı: GitHub Copilot gibi yapay zeka araçları, kısa bir komut isteminden yola çıkarak ortalama mutlak hata gibi görevler için abs() ve NumPy np.abs() çağrıları üretir.

Python abs() Fonksiyon

Python abs()

Python abs() standart kütüphanesinde bulunan yerleşik bir işlevdir. PythonVerilen sayının mutlak değerini döndürür. Bir sayının mutlak değeri, işaretini dikkate almadan elde edilen değerdir. Sayı bir tamsayı, ondalık sayı veya karmaşık sayı olabilir. Verilen sayı karmaşık bir sayı ise, büyüklüğünü döndürür.

Sözdizimi

abs() fonksiyonunun sözdizimi aşağıda gösterilmiştir:

abs(value)

Parametreler (değer)

Mutlak değeri elde etmek için abs()'a verilecek girdi değeri. Bir tam sayı, bir kayan nokta veya karmaşık bir sayı olabilir.

Geri dönüş değeri:

abs() fonksiyonu, verilen sayının mutlak değerini döndürür.

  • Giriş bir tamsayı ise, dönüş değeri de bir tamsayı olacaktır.
  • Giriş değeri ondalık sayı ise, dönüş değeri de ondalık sayı olacaktır.
  • Eğer girdi karmaşık bir sayı ise, dönüş değeri girdinin büyüklüğü olacaktır.

Örnekler

Aşağıdaki örnekler, abs() fonksiyonunun tamsayı, ondalık sayı ve karmaşık sayılara uygulanmasını göstermektedir.

Code Örnek 1: Tam sayı ve ondalık sayı

Bir tamsayının ve bir ondalık sayının mutlak değerini almak için şu koda bakın:

# 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))

Çıktı:

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

Örnek 2: Karmaşık Sayı

Karmaşık bir sayının mutlak değerini elde etmek için şu kodu kullanın:

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

Çıktı:

The magnitude of the complex number is: 10.44030650891055

Bir listedeki öğenin mutlak değerini nasıl bulabilirim? Python

`abs()` fonksiyonu tek bir sayı üzerinde çalışır, bu nedenle ona tam bir liste geçirmek `TypeError` hatasına neden olur. Listedeki her öğeye uygulamak için, her öğe üzerinde `abs()` fonksiyonunu çağıran bir liste anlama ifadesi kullanın:

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

Çıktı:

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

Bu liste anlama işlemi, orijinal sırayı korur ve pozitif değerlerden oluşan yeni bir liste döndürür. Aynı sonucu, örneğin yerleşik map() fonksiyonuyla da elde edebilirsiniz. list(map(abs, numbers))Bu, açık bir döngü yazmadan her öğeye abs() işlevini uygular.

  • Değerleri filtrelemek veya dönüştürmek istediğinizde liste anlama ifadesini kullanın.
  • abs() fonksiyonunu doğrudan uygulayan kısa ve anlaşılır bir çağrı için map() fonksiyonunu kullanın.
  • Büyük sayısal veri kümeleri için, np.abs() kullanan bir NumPy dizisi, başka bir yönteme göre daha hızlıdır. Python döngü.

Python abs() ve math.fab() karşılaştırması

Python Mutlak değer elde etmek için iki yol sunar: yerleşik abs() fonksiyonu ve math modülünün fabs() fonksiyonu. Benzer görünseler de farklı şekilde çalışırlar:

import math

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

Çıktı:

7
7.0

İki işlev arasındaki temel farklar şunlardır:

  • Dönüş türü: abs() fonksiyonu giriş türünü korur ve tamsayı için tamsayı döndürürken, math.fabs() her zaman ondalık sayı döndürür.
  • İthalat: abs() her zaman kullanılabilirken, math.fabs() bazı gereksinimler gerektirir. import math.
  • Karmaşık sayılar: abs() fonksiyonu karmaşık bir sayının büyüklüğünü döndürürken, math.fabs() fonksiyonu karmaşık girdi için TypeError hatası verir.

Pratik Uygulamaları Python abs() Fonksiyon

İşaret bilgisini yok saydığı için, abs() fonksiyonu yalnızca değerin büyüklüğünün önemli olduğu ve yönünün önemli olmadığı durumlarda kullanışlıdır. Yaygın bir örnek, iki okuma arasındaki farkı bulmaktır:

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

Çıktı:

Temperature change: 17

Mutlak değerin günlük hayattaki kullanım alanları şunlardır:

  • Mesafeler ve farklılıklar: İki nokta, sıcaklık veya zaman damgası arasındaki farkı, hangi değerin daha büyük olduğuna bakılmaksızın ölçmek.
  • Hata ölçütleri: Tahmin edilen değer ile gerçek değer arasındaki mutlak hatayı hesaplamak.
  • Tolerans kontrolleri: Bir sonucun hedefe yeterince yakın olup olmadığını test etmek, örneğin abs(actual - expected) < 0.01.
  • Finans: Kazanç veya kaybın büyüklüğünü, işaretini belirtmeden bildirmek.

Gibi yuvarlak() işlevi`abs()` yerleşik bir fonksiyondur ve herhangi bir modül içe aktarmanıza gerek kalmadan doğrudan çağırabilirsiniz.

SSS

Hayır. abs() yeni bir değer döndürür ve argümanını asla değiştirmez, çünkü sayılar... Python Bunlar değiştirilemezdir. Sonucu korumak için, onu bir değişkene atayın, örneğin positive = abs(number). Orijinal değişken hala işaretli değerini korur.

Hayır. Bir dize geçirmek, `TypeError: bad operand type for abs(): 'str'` hatasına neden olur, çünkü `abs()` yalnızca tamsayıları, ondalık sayıları veya karmaşık sayıları kabul eder. Bunun yerine bir dizeyi ölçmek için, içerdiği karakter sayısını döndüren `len()` işlevini kullanın.

Bunu manuel olarak hesaplayabilirsiniz. x değeri için max(x, -x) mutlak değeri döndürür ve (x ** 2) ** 0.5 de gerçek sayılar için çalışır. Ancak, yerleşik abs() fonksiyonu daha açık, daha hızlıdır ve karmaşık sayıları da işler.

Hayır. Dikey çizgi gösterimi |x| matematikseldir, sayısal değil. Python sözdizimi; içinde Python | sembolü bit düzeyinde VEYA operatörüdür. Mutlak değer elde etmek için yerleşik abs() fonksiyonunu çağırmanız gerekir, örneğin abs(-8) 8 değerini döndürür.

__abs__, abs() metodunun arka planda çağırdığı dunder metodudur. abs(obj) yazdığınızda, Python `obj.__abs__()` fonksiyonunu çalıştırır. `__abs__` fonksiyonunu kendi sınıfınızda tanımlamak, `abs()` fonksiyonunun vektör veya para birimi türü gibi özel nesneler üzerinde çalışmasına olanak tanır.

Döngü yerine vektörleştirilmiş versiyonları kullanın. NumPy'nin np.abs(array) yöntemi, her elemanı pozitif hale getirilmiş yeni bir dizi döndürür ve pandas Series, Series.abs() yöntemini sunar. Her ikisi de mutlak değeri tüm elemanlara aynı anda uygular, bu da büyük veri kümeleri için daha hızlıdır.

`abs()` fonksiyonu hata ve mesafe ölçümlerinin temelini oluşturur. Ortalama mutlak hata (MAE) ve L1 kaybı, tahminler ve hedefler arasındaki mutlak farkları toplar ve mutlak değerler gradyan büyüklüklerini ölçer. Tüm diziler için, NumPy `np.abs()` aynı işlemi her elemana verimli bir şekilde uygular.

GitHub Copilot, kısa bir yorumdan doğrudan abs() çağrılarını, [abs(n) for n in nums] gibi liste anlama ifadelerini ve NumPy np.abs() satırlarını önerir. Ayrıca, tekrarlayan kod yazmak yerine mantığı doğrulamanıza olanak tanıyan bir ortalama mutlak hata fonksiyonu da oluşturabilir.

Bu yazıyı şu şekilde özetleyin: