قدر مطلق (abs) در پایتون با مثال و کد – به زبان ساده

۸
۱۴۰۴/۱۰/۱۶
۱۰ دقیقه
PDF
آموزش متنی جامع
امکان دانلود نسخه PDF

وظیفه تابع abs()  حذف علامت منفی از مقدار دریافت شده و برگرداندن قدر مطلق آن است. اگر مقدار ورودی تابع، مثبت باشد نیز همان مقدار را برمی‌گرداند. در نتیجه خروجی تابع قدر مطلق در پایتون  همیشه مثبت است. برای مثال فرض کنیم که عدد ۲۳- را به این تابع ارسال کرده‌ایم. در خروجی مقدار ۲۳ برگشت داده می‌شود. اگر عدد ۲۳ را هم به این تابع ارسال کنیم، باز هم در خروجی عدد ۲۳ برگردانده می‌شود. تابع abs()  در کتابخانه استاندارد پایتون تعریف شده است. یعنی برای استفاده از آن نیازی به نصب یا وارد کردن ماژول جداگانه ندارد. عبارت abs کوتاه شده کلمه «Absolute» به معنای قدر مطلق است. این تابع، کاربرد‌های زیادی در اجرای مسائل ریاضی‌محور دارد.

آنچه در این مطلب می‌آموزید:
  • با مفهوم قدر مطلق آشنا شده و تابع مورد استفاده برای محاسبه آن را در پایتون می‌شناسید.
  • روش کار تابع abs بر روی اعداد مثبت، اعشار و مختلط را یاد می‌گیرید.
  • متوجه می‌شوید که عدد مختلط چیست و از چه بخش‌هایی تشکیل شده است.
  • با رایج‌ترین خطای استثنا در زمان کار با تابع abs آشنا شده و روش مدیریت آن را متوجه می‌شوید.
  • روش محاسبه قدر مطلق اعداد مختلط را با تابع abs یاد می‌گیرید.
  • با تابع fabs به عنوان جایگزین تابع abs آشنا شده و روش استفاده از آن را یاد می‌گیرید.
قدر مطلق (abs) در پایتون با مثال و کد – به زبان سادهقدر مطلق (abs) در پایتون با مثال و کد – به زبان ساده
997696

در این مطلب از مجله فرادرس با تابع abs()  برای محاسبه قدر مطلق در پایتون آشنا می‌شویم. در ابتدا این تابع را معرفی کرده و روش کار آن را توضیح می‌دهیم. سپس رایج‌ترین خطای مربوط به آن همراه با روش محاسبه قدر مطلق اعداد مختلط بررسی می‌شوند. در نهایت هم بعد از مرور چند مثال کدنویسی شده، کاربرد‌های متداول تابع را معرفی می‌کنیم.

تابع قدر مطلق در پایتون چیست؟

برای محاسبه قدر مطلق در پایتون از تابع abs()  استفاده می‌کنیم. abs()  یکی از توابع مخصوص عملیات ریاضی است. این تابع قدر مطلق تمام اعداد دریافت شده را برمی‌گرداند. اگر عدد ورودی مثبت باشد، همان را بدون تغییر برمی‌گرداند و اگر منفی باشد، مقدار مثبت آن عدد به عنوان خروجی برگردانده می‌شود.

اگر عدد داده شده به تابع abs()  از نوع اعداد مختلط باشد، در خروجی «اندازه» یا «Magnitude» آن عدد برگشت داده می‌شود. منظور از اندازه عدد مختلط، طول بردار از مرکز محور مختصات تا خود عدد است. در بخش‌های بعد روش محاسبه قدر مطلق اعداد مختلط را هم توضیح داده‌ایم.

ماهیت تابع قدر مطلق در پایتون

روش کار تابع قدر مطلق در پایتون

تابع abs()  فقط یک پارامتر دریافت می‌کند. این پارامتر باید از جنس عدد باشد. سپس در خروجی مقدار قدر مطلق آن را برمی‌گرداند. قدر مطلق عدد برابر با فاصله آن عدد از مرکز محور (یا نقطه ۰) تا خود آن عدد است. این فاصله همیشه مثبت است، زیرا در زمان اندازه‌گیری فاصله جهت آن را در نظر نمی‌گیریم. برای مثال فاصله عدد 5 تا 0 برابر با 5 است. فاصله عدد -5 تا 0 هم 5 است. فاصله عدد 3+4i تا 0 هم 5 است.

تا به اینجای مطلب با مفهوم تابع قدر مطلق در پایتون و روش کار آن آشنا شده‌اید. در ادامه با بررسی سینتکس و مثال‌های مختلف کاربرد صحیح آن را هم یاد می‌گیرید. در صورت علاقه به مطالعه چنین مطالبی، پیشنهاد می‌کنیم که حتما از اپلیکیشن مجله فرادرس استفاده بکنید.

برای نصب اپلیکیشن رایگان مجله فرادرس، کلیک کنید.

سینتکس تابع abs در پایتون

تابع abs()  در پایتون فقط یک پارامتر دریافت می‌کند. در کادر پایین سینتکس این تابع را نوشته‌ایم.

مقدار این پارامتر می‌تواند از نوع «عدد صحیح» (Integer)، «عدد اعشاری» (Float) یا «عدد مختلط» (Complex) در پایتون باشد.

همین‌طور که پارامتر دریافتی این تابع فقط از نوع عدد است، خروجی آن را هم می‌توان به دو دسته کلی تقسیم کرد.

  • اگر پارامتر ورودی، عدد صحیح یا اعشار بود، مقدار خروجی این تابع هم معادل مثبت همان عدد خواهد شد.
  • اگر پارامتر ورودی عدد مختلط بود، تابع abs()  فاصله آن عدد از محور مختصات، یعنی (۰ ,۰) را محاسبه کرده و برمی‌گرداند. داده خروجی ممکن است از نوع اعداد صحیح یا اعشار باشد.
فلوچارت برای نمایش روش کار تابع قدر مطلق در پایتون
روش کار تابع قدر مطلق در پایتون

در کادر زیر، مثالی را درباره کار با تابع abs() بررسی کرده‌ایم.

بعد از اجرای کدهای بالا، خروجی برنامه به این شکل در کنسول پایتون نمایش داده می‌شود.

Absolute value of float:  16.51
Absolute value of int:  21

همین‌طور که در این مثال، مشاهده می‌کنید، مقادیر منفی مانند عدد صحیح -21 و عدد اعشاری -16.51 به اعداد مثبت تبدیل شده‌اند. با کمک تابع abs()  برای محاسبه قدر مطلق در پایتون، علامت منفی آن‌ها حذف شده است.

چطور از فرادرس برای یادگیری پایتون استفاده کنیم؟

فرادرس یکی از بزرگ‌ترین تولید کنندگان محتوای آموزشی آنلاین است. این وب‌سایت، تمرکز ویژه‌ای بر روی تکنولوژی‌های کامپیوتری دارد. یکی از این تکنولوژی‌ها زبان برنامه نویسی پایتون است. فرادرس، مطالب و فیلم‌های آموزشی با کیفیتی درباره پایتون تولید کرده است. پایتون زبان ساده و در عین حال قدرتمندی است. این زبان برنامه نویسی کتابخانه‌های متنوع و بسیار انعطاف‌پذیری دارد. در نتیجه جزو پرکاربرد‌ترین زبان‌های برنامه نویسی دنیاست. کاربرد پایتون در صنعت از امنیت سایبری گرفته تا امور کشاورزی را پوشش می‌دهد. بنابراین افراد زیادی برای رسیدن به موقعیت‌های شغلی، پایتون را یاد می‌گیرند.

مجموعه فیلم‌های آموزش برنامه نویسی پایتون Python – مقدماتی تا پیشرفته فرادرس
با کلیک بر روی تصویر بالا می‌توانید به صفحه اصلی مجموعه فیلم‌های آموزش برنامه نویسی پایتون Python از مقدماتی تا پیشرفته هدایت شوید.

با اینکه یادگیری پایتون ساده است اما برای درک مفاهیم پیشرفته آن به منابع قوی و اساتید باتجربه‌ نیاز دارید. به همین دلیل باید منابع درست و باکیفیتی برای آموزش پایتون انتخاب کنید. فیلم‌های فرادرس از بهترین منابع برای آموزش پایتون در سطوح مختلف هستند. این فیلم‌های آموزشی، مطالب پیشرفته را با زبانی شیوا و مثال‌های فراوان آموزش می‌دهند. در ضمن، یادگیری با کمک فیلم‌های فرادرس یکی از مقرون‌به‌صرفه‌ترین روش‌ها برای آموزش پایتون است.

در فهرست پایین، چند مورد از فیلم‌های آموزش پایتون را معرفی کرده‌ایم.

در بخش بعد با رایج‌ترین خطای مربوط به کار با تابع abs()  آشنا می‌شوید.

خطای استثنا در زمان کار با تابع abs

در قسمت‌های ابتدایی مطلب اشاره کردیم که تابع abs()  فقط اعداد صحیح، اعشار و مختلط را دریافت می‌کند. در این بخش می‌خواهیم بررسی کنیم که عکس‌العمل این تابع در مقابل دریافت پارامتری از نوع رشته چیست.

بعد از اجرای کد بالا، خروجی زیر در کنسول پایتون نمایش داده می‌شود.

TypeError: bad operand type for abs(): 'str'
    abs("string")
Line 1 in  (Solution.py)

در این مثال، مقداری با نوع رشته به تابع abs()  ارسال کرده‌ایم. مفسر پایتون بعد از رسیدن به این کد، خطای TypeError  را با پیغام bad operand type for abs: 'str'  برگردانده است. این خطا به معنای آن است که نوع داده پارامتر ارسال شده به تابع abs()  مناسب نیست.

در صورتی که داده‌هایی به غیر از عدد صحیح، اعشار و مختلط به تابع abs() ارسال شود، این خطا روی می‌دهد. در واقع این خطا رایج‌ترین خطای مربوط به کار با تابع abs()  در پایتون است. برای مدیریت وقوع خطاهای ناخواسته، می‌توانیم از بلوک try except در پایتون استفاده کنیم. در صورت تمایل به آشنایی با این مفهوم بسیار کاربردی، پیشنهاد می‌کنیم که مطلب مربوط به آن را در مجله فرادرس مطالعه بکنید.

خطای استثنا در زمانی که پایتون با عملگر‌های قدر مطلب کار می‌کند.

محاسبه قدر مطلق اعداد مختلط در پایتون

در پایتون می‌توان از تابع abs()  برای محاسبه قدر مطلق اعداد مختلط هم استفاده کرد. عدد مختلط به ترکیبی از اعداد حقیقی و موهومی گفته می‌شود. در واقع هر عدد مختلط از دو بخش حقیقی و موهومی (مشخص شده با i) ساخته می‌شود. اعداد موهومی با کمک ریشه دوم عدد «۱-» نوشته می‌شوند. برای نمایش این اعداد از حروف «i» یا «j» استفاده می‌شود. این کاراکتر‌ها به عنوان نمادی از 1\sqrt{-1} نوشته می‌شوند.

اعداد موهومی به پرکردن شکاف‌های زیادی در ریاضیات کمک کرده‌اند. بنابراین کاربرد زیادی نیز در صنایع وابسته به ریاضیات برای آن‌ها وجود دارد. برای مثال می‌توان به مهندسی برق اشاره کرد. در تصویر پایین، مثال ساده‌ای را درباره اعداد موهومی نمایش می‌دهیم.

ماهیت اعداد مختلط و روش نوشتن آن‌ها در پایتون
ماهیت اعداد مختلط و روش نوشتن آن‌ها در پایتون

در کد پایین، روش ساخت عدد مختلط در پایتون را نشان داده‌ایم. سپس اندازه این عدد را با کمک تابع abs()  محاسبه کردیم.

بعد از اجرای برنامه بالا عدد 9.219544457292887 به عنوان پاسخ نمایش داده می‌شود. تابع abs()  برای محاسبه قدر مطلق اعداد مختلط در پایتون از «قضیه فیثاغورس» (Pythagorean Theorem) استفاده می‌کند. یعنی به صورت زیر اندازه عدد مختلط 6 + 7j در کد بالا حل شده است.

6+7j=62+729.22|6+7j| = \sqrt{6^{2}+7^{2}}\approx9.22

نکته: در زبان برنامه نویسی پایتون برای نمایش اعداد موهومی از کاراکتر j  استفاده می‌کنیم. زیرا کاراکتر i  اغلب اوقات برای نشان دادن اندیس‌ها (مخصوص در شمارنده حلقه) به کار برده می‌شود.

چند مثال درباره محاسبه قدر مطلق در پایتون

در این بخش از مطلب با کمک چند مثال مختلف، عملکرد تابع abs()  را برای محاسبه قدر مطلق بررسی می‌کنیم. می‌توان گفت یکی از بهترین روش‌ها برای یادگیری هر زبانی، اجرای کدهای آن بر روی مثال‌های عملی است. زبان پایتون هم از این قائده مستثنا نیست. برای یادگیری بهتر و دقیق‌تر پایتون پیشنهاد می‌کنیم که فیلم آموزش برنامه نویسی پایتون همراه با بررسی مثال های عملی در Python + گواهینامه را در فرادرس مشاهده کنید. برای کمک به مخاطبان مجله، لینک دسترسی به این فیلم را در پایین نیز قرار داده‌ایم.

مثال اول: محاسبه قدر مطلق اعداد مثبت

در مثال پایین روش کار تابع abs()  در پایتون را بر روی اعداد حقیقی مثبت، بررسی کرده‌ایم.

بعد از اجرای کدهای بالا، خروجی زیر در کنسول پایتون نمایش داده می‌شود.

Absolute Value of an Integer: 45
Absolute Value of an Float: 100.12

مثال دوم: محاسبه قدر مطلق اعداد منفی

همین‌طور که قبلا توضیح دادیم، تابع abs() فقط اندازه اعداد را در نظر می‌گیرد. یعنی علامت منفی را (در صورت وجود) از عدد حذف می‌کند. در این مثال، چند عدد منفی ساخته و مقدار آن‌ها را به تابع abs()  ارسال می‌کنیم. در نهایت، تابع abs()  قدر مطلق این اعداد را محاسبه کرده و در خروجی برمی‌گرداند.

بعد از اجرای کدهای بالا، خروجی زیر در کنسول پایتون نمایش داده می‌شود.

Absolute Value of an Integer: 34
Absolute Value of an Float: 154.32

مثال سوم: محاسبه قدر مطلق اعداد مختلط

می‌دانیم که در صورت ارسال عدد مختلط به عنوان پارامتر به این تابع، در خروجی اندازه آن عدد محاسبه شده و برگشت داده می‌شود.

یک دستگاه برای محاسبه قدر مطلق اعداد مختلط. لوگوی پایتون بر روی آن قرار دارد.

در این مثال، دو متغیر ساخته‌ایم. به هر کدام از آن‌ها یک عدد مختلط اختصاص می‌دهیم. یکی از این اعداد مختلط مثبت بوده و دیگری منفی است. با استفاده از تابع abs()  قدر مطلق هر دو عدد را محاسبه کرده و در خروجی چاپ می‌کنیم.

بعد از اجرای کدهای بالا، خروجی زیر در کنسول پایتون نمایش داده می‌شود.

Absolute Value of a positive complex number: 16.278820596099706
Absolute Value of a negative complex number: 65.5133574166368

مثال چهارم: محاسبه قدر مطلق با مقادیر خاص

وقتی که مقدار None  به عنوان آرگومان به تابع abs()  ارسال شود با خطای TypeError  روبه‌رو می‌شویم. اما اگر عدد 0  را به عنوان آرگومان به آن ارسال کنیم، در خروجی تابع همان مقدار 0  برگشت داده می‌شود.

بعد از اجرای کدهای بالا، خروجی زیر در کنسول پایتون نمایش داده می‌شود.

Absolute Value of Zero: 0
Traceback (most recent call last):
  File "main.py", line 7, in 
print("Absolute Value of a Null:", abs(null))
TypeError: bad operand type for abs(): 'NoneType'

یادگیری اجرای پروژه با پایتون

امروزه پایتون در اجرای پروژه‌های بسیار متنوعی به کار برده می‌‌شود. از طراحی سایت گرفته تا هوش مصنوعی و بازی‌سازی، در همه این موارد، پایتون ورود کرده است. به این خاطر، موقعیت‌های شغلی زیادی هم برای توسعه‌دهندگان این زبان وجود دارد. برنامه نویسان پایتون باید بتوانند پروژه‌های خود را با این زبان پیاده‌سازی کنند. یکی از روش‌های مؤثر برای کسب تجربه در این زمینه، استفاده از فیلم‌های پروژه‌محور فرادرس است. فرادرس بزرگ‌ترین و حرفه‌ای‌ترین تولیدکننده فیلم‌های آموزشی به زبان فارسی است. این وب‌سایت، فیلم‌های پروژه‌محور زیادی برای پایتون تولید کرده است.

تماشا و تمرین همراه با این فیلم‌ها علاوه بر افزایش توانایی برنامه نویسان، رزومه مناسبی هم برای آنان ایجاد می‌کند. در فهرست زیر، چند مورد از فیلم‌‌های آموزشی پروژه‌محور پایتون را معرفی کرده‌ایم.

برای مشاهده فیلم‌های بیشتر بر روی این تصویر کلیک کرده و به صفحه اصلی مجموعه آموزشی پروژه‌محور پایتون هدایت شوید.

مجموعه آموزش پروژه محور برنامه نویسی پایتون (Python)
با کلیک بر روی تصویر بالا می‌توانید به صفحه اصلی مجموعه فیلم‌های آموزش پروژه محور برنامه نویسی پایتون هدایت شوید.

جایگزین تابع abs در پایتون

برای محاسبه قدر مطلق در پایتون می‌توانیم از تابع دیگری هم استفاده بکنیم. این تابع، fabs() نام دارد. تابع fabs() در ماژول Math تعریف شده است. بنابراین قبل از استفاده از آن باید ماژول math را به محیط کدنویسی خود ایمپورت (Import) کنیم.

در کادر زیر، سینتکس استفاده از تابع fabs() را نوشته‌ایم.

دو تفاوت اصلی بین توابع fabs() و abs()  وجود دارد.

  1. تابع abs()  بخشی از کتابخانه استاندارد پایتون است. بنابراین برای استفاده از آن نیاز به ایمپورت کردن هیچ چیز ندارم. اما برای استفاده از تابع fabs() باید آن را از کتابخانه math  ایمپورت بکنیم.
  2. تابع fabs() همیشه عددی از جنس اعشار یا Float را برمی‌گرداند. فرقی نمی‌کند که پارامتر ورودی از چه نوع داده‌ای تشکیل شده بود. در حالی که تابع abs()  اگر داده ورودی از جنس عدد صحیح بود، در خروجی هم عدد صحیح برمی‌گرداند. در غیر این صورت عدد اعشاری برمی‌گرداند.
تابعنیاز به ایمپورتنوع خروجی
abs()ندارد.اگر ورودی عدد صحیح باشد عدد صحیح در غیر این صورت عدد اعشاری
fabs()باید از ماژول math  ایمپورت شود.همیشه عدد اعشاری (Float)

کاربرد قدر مطلق در پایتون

با اینکه تابع abs()  به نظر ساده می‌آید، کاربرد‌ گسترده‌ای در حوزه‌های مختلف دارد. برای مثال می‌توان به حوزه‌های ریاضیات، محاسبات مالی و یادگیری ماشین اشاره کرد.

در فهرست پایین، به برخی از مهم‌ترین سناریوهای کاربردی برای استفاده از تابع قدر مطلق در پایتون اشاره کرده‌ایم.

  • محاسبه فاصله: از تابع abs()  برای محاسبه فاصله بین اعداد استفاده می‌شود. با کمک این تابع می‌توان تفاوت بین مقادیر مختلف، اندازه فاصله‌های اقلیدسی در فیزیک و رباتیک و حتی مختصات GPS را به دست آورد.
  • تحلیل‌های اقتصادی: در محاسبات مالی از تابع abs()  برای اندازه‌گیری مقدار واقعی تغییرات قیمت استفاده می‌شود. این تابع، علامت منفی را حذف می‌کند. بنابراین مقدار دقیق تغییرات قیمت سهام به‌دست می‌آید. بعد از آن که تجزیه و تحلیل نوسانات بازار به درستی محاسبه شدند، مدیریت ریسک هم به خوبی انجام می‌شود. این تابع در مدل‌‌سازی‌های اقتصادی هم به کار برده می‌‌شود.
  • پیش‌پردازش داده‌ها در یادگیری ماشین: پیش‌پردازش داده‌ها در یادگیری ماشین، اهمیت زیادی دارد. اغلب اوقات در زمان طراحی مدل‌های یادگیری ماشین باید داده‌ها را نرمالایز کنیم. تابع abs()  به استاندارد‌سازی مقادیر منفی کمک می‌کند. از این تابع در زمان اندازه‌گیری معیار‌های خطا مانند «میانگین خطای مطلق» (Mean Absolute Error | MAE) نیز استفاده می‌‌شود. با به کارگیری تابع abs() عملکرد مدل‌ها به صورت دقیق‌تر و بی‌طرفانه ارزیابی می‌شود.
کاربردحوزه استفادهتوضیح کوتاه
محاسبه فاصلهریاضیات، فیزیک، رباتیک، مختصات GPSاندازه‌گیری تفاوت بین اعداد و فاصله اقلیدسی
تحلیل‌های اقتصادیمالی و بورسمحاسبه تغییرات واقعی قیمت، کمک به مدیریت ریسک
پیش‌پردازش داده‌هایادگیری ماشیناستانداردسازی مقادیر منفی و محاسبه معیارهایی مثل MAE

جمع‌بندی

تابع abs()  همیشه مقدار مثبت عددی را برمی‌گرداند که به آن ارسال شده است. این تابع فقط یک پارامتر ورودی می‌پذیرد. اگر این پارامتر از جنس عدد مختلط باشد، در خروجی اندازه بردار یا فاصله این عدد با نقطه (0 ,0)  برگشت داده می‌شود. تابع abs()  در سناریو‌های مختلفی به کار برده می‌‌شود. برای مثال می‌توان به اندازه‌گیری فاصله بین نقاط مختلف و سرعت حرکت بدون توجه به جهت آن اشاره کرد. رایج‌ترین خطا در زمان کار با این تابع، خطای TypeError  است. این خطا به دلیل ارسال آرگومان‌هایی با انواع غیرعددی به وجود می‌آید.

در این مطلب از مجله فرادرس، روش محاسبه قدر مطلق در پایتون را بررسی کرده‌ایم. این عملیات ساده ریاضی کاربردهای مهمی در حوزه‌های مختلف دارد. برای مثال می‌توان به محاسبات مالی، هوش مصنوعی و غیره اشاره کرد. برنامه نویسان فعال در این حوزه‌ها باید درک درستی از ریاضیات و ابزارهای آن در پایتون داشته باشند.

بر اساس رای ۰ نفر
آیا این مطلب برای شما مفید بود؟
اگر پرسشی درباره این مطلب دارید، آن را با ما مطرح کنید.
منابع:
SCALERtutorialspointcodecademyLearnDataSci
PDF
مطالب مرتبط
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *