خانه / آموزش‌ها / کتابخانه Math و توابع ریاضی در پایتون

کتابخانه Math و توابع ریاضی در پایتون

🐍 HomeOfPython
|
📅 1404/10/20

سطح مقدماتی (Beginner Level)

پایتون به صورت پیش‌فرض قابلیت‌های ریاضی قدرتمندی دارد. در سطح مقدماتی، ابتدا با توابع داخلی (Built-in) که نیازی به import ندارند آشنا می‌شویم و سپس سراغ ماژول استاندارد math برای محاسبات رایج می‌رویم.

۱. توابع ریاضی داخلی (Built-in Math Functions)

این توابع همیشه در دسترس هستند و برای محاسبات سریع استفاده می‌شوند. مهم‌ترین آن‌ها abs (قدر مطلق)، round (گرد کردن) و pow (توان) هستند.

مثال اول: قدر مطلق و توان

تابع abs عدد منفی را مثبت می‌کند و pow عدد را به توان می‌رساند (مشابه عملگر **).

Python

مثال دوم: گرد کردن اعداد (Round)

تابع round اعداد اعشاری را به نزدیک‌ترین عدد صحیح (یا تعداد اعشار مشخص) گرد می‌کند.

Python

۲. شروع کار با ماژول math

برای دسترسی به توابع پیشرفته‌تر مثل رادیکال، سینوس یا ثابت‌های ریاضی، باید ماژول math را وارد کنید.

python
# نحوه وارد کردن ماژول
import math

۳. گرد کردن پیشرفته (Ceil و Floor)

برخلاف round که به نزدیک‌ترین عدد گرد می‌کند، ماژول math توابعی برای "همیشه گرد کردن به بالا" (ceil) و "همیشه گرد کردن به پایین" (floor) دارد.

مثال اول: تفاوت Ceil و Floor

Python

مثال دوم: کاربرد عملی

فرض کنید می‌خواهید ۴۵ نفر را در ماشین‌هایی با ظرفیت ۴ نفر جا دهید. حتی اگر یک نفر باقی بماند، به یک ماشین کامل نیاز دارید (کاربرد ceil).

Python

۴. جذر و ثابت‌های ریاضی

تابع sqrt برای گرفتن جذر (ریشه دوم) و ثابت‌های pi و e از پرکاربردترین ویژگی‌های این ماژول هستند.

Python

سطح پیشرفته (Professional Level)

در سطح حرفه‌ای، با دقت محاسبات اعشاری (Floating Point Precision)، توابع ترکیبیاتی، و تفاوت‌های ظریف توابع math با عملگرهای معمولی آشنا می‌شویم.

۱. مشکل مقایسه اعداد اعشاری و math.isclose

در برنامه‌نویسی، اعداد اعشاری (Float) دقت صددرصد ندارند. بنابراین مقایسه مستقیم آن‌ها با == اغلب با شکست مواجه می‌شود. روش حرفه‌ای استفاده از math.isclose است.

مثال اول: شکست در مقایسه مستقیم

Python

مثال دوم: راه حل با isclose

Python

۲. توابع ترکیبیاتی (Combinatorics)

برای محاسبات احتمال و آمار، توابع فاکتوریل (factorial)، ترکیب (comb) و جایگشت (perm) بسیار حیاتی هستند و از نوشتن حلقه‌های تکراری جلوگیری می‌کنند.

مثال اول: فاکتوریل و انتخاب

Python

۳. جمع دقیق با math.fsum

تابع داخلی sum() برای لیست‌هایی از اعداد اعشاری ممکن است خطای گرد کردن (Rounding Error) ایجاد کند. math.fsum این خطاها را پیگیری کرده و نتیجه دقیق‌تری می‌دهد.

Python

۴. کوتاه کردن عدد (Truncate)

تفاوت math.trunc() با floor() در اعداد منفی مشخص می‌شود. trunc فقط بخش اعشار را حذف می‌کند (به سمت صفر می‌رود)، در حالی که floor به سمت منفی بی‌نهایت می‌رود.

Python

۵. توابع لگاریتمی

پایتون از لگاریتم در مبناهای مختلف پشتیبانی می‌کند.

python
# ساختار کلی توابع لگاریتم
math.log(x)      # لگاریتم طبیعی (پایه e)
math.log(x, base)# لگاریتم در پایه مشخص
math.log10(x)    # لگاریتم در پایه 10
math.log2(x)     # لگاریتم در پایه 2

مثال کاربردی: محاسبه بیت‌های مورد نیاز

لگاریتم در پایه ۲ در علوم کامپیوتر برای محاسبه تعداد بیت مورد نیاز برای ذخیره یک عدد استفاده می‌شود.

Python