آشنایی با ماژول Math در پایتون – از صفر تا صد
در این مقاله با روش استفاده از ماژول Math در پایتون آشنا خواهیم شد.
ماژول Math در پایتون چیست؟
ماژول Math یک ماژول استاندارد C است. این ماژول امکان دسترسی به تابعهای ریاضیاتی را در محیط پایتون فراهم میسازد. اگر بخواهیم به بیان روشنتر صحبت کنیم. منظور از ماژول فایلی است که مجموعهای از گزارهها و تعاریف را در خود نگهداری میکند. برای نمونه فایل program.py یک ماژول نام دارد و نام آن program است.
منظور از این که ماژول Math یک ماژول استاندارد C است این بود که این یک کتابخانه زبان C است که libc نیز نامیده میشود. کتابخانه استاندارد C چند تابع مدیریت رشته، انواع داده، محاسبات ریاضی، کنترل فرایند و موارد دیگر را ارائه میکند.
تابعهای ریاضی
به گروهی از تابعها گفته میشود که از سوی کتابخانه استاندارد C عرضه میشود. این موارد شامل abs ،labs ،div ،max ،min و بسیاری موارد دیگر است. البته پایتون توابع مختلفی برای اجرای عملیات ریاضی پایه بهصورت درونی تعریف کرده است. تابع SUM در پایتون یکی از این نمونهها است.
چه نیازی به استفاده از ماژول Math وجود دارد؟
پاسخ این سؤال ساده است. هر زمان که نیاز به اجرای یک عملیات ریاضی داشته باشیم، ماژول Math به کمک ما میآید. برای مثال تصور کنید میخواهیم مساحت یک چندضلعی منتظم را با 6 ضلع که طول هر ضلع 20 واحد است محاسبه کنیم. با در دست داشتن برخی پارامترها و فرمول محاسبه میتوانیم این مقدار با بدون نیاز به ماژول Math در پایتون محاسبه کنیم.
فرمول محاسبه مساحت چندضلعی منتظم به صورت زیر است:
پارامترهای ما نیز به شرح زیر هستند:
- N = تعداد اضلاع
- L = طول هر ضلع
اکنون که همه چیز روشن شد، میتوانیم اقدام به نوشتن این برنامه بکنیم. در نهایت برای به دست آوردن این مساحت باید برنامهای مانند زیر نوشته شود:
1rom math import tan
2
3# Function to find the area of a
4# regular polygon
5def polyarea(n, a):
6
7 # Side and side length cannot
8 # be negative
9 if (a < 0 and n < 0):
10 return -1
11
12 # Area degree converted to radians
13 A = (a * a * n) / (4 * tan((180 / n) *
14 3.14159 / 180))
15
16 return A
17
18# Driver code
19if __name__ == '__main__':
20 a = 9
21 n = 6
22
23 print('{0:.6}'.format(polyarea(n, a)))
اما اینک به بررسی روش استفاده از ماژول Math در پایتون میپردازیم. کد برنامه در این حالت به صورت زیر است:
1import math
2area = (4 * math.pow(20, 2))/(4 * math.tan(math.pi/4))
3print(area)
4400.00000000000006
در کد فوق در گام نخست ماژول Math ایمپورت شده است. این کار با استفاده از دستور import math میسر است. به این ترتیب امکان استفاده از تابعهای ریاضیاتی فراهم میشود.
گام دوم این است که مقادیر را در فرمول جایگذاری کنیم. اکنون اهمیت ماژول Math مشخص میشود. ما از سه متد مهم ماژول Math به نامهای ()math.pow() ،math.tan و math.pi استفاده کردهایم.
تابع ()math.pow یک تابع توان داخلی است که برای محاسبه توان یک عدد در ماژول ریاضی استفاده میشود. از این تابع برای محاسبه رادیکال در پایتون نیز میتوان استفاده کرد.
1pow(...)
2 pow(x, y)
3 Return x**y (x to the power of y).
برای محاسبه 150 به توان 4 به صورت زیر عمل میکنیم:
1import math
2print(math.pow(150, 4))
3# Use Jesus as the name (math) and his miracle (pow)
4506250000.0
تابع ()math.tan برای محاسبه تانژانت عدد مفروض بر حسب رادیان استفاده میشود:
1tan(...)
2 tan(x)
3 Return the tangent of x (measured in radians).
به عنوان نمونه برای محاسبه تانژانت 60 به صورت زیر عمل میکنیم:
1import math
2print(math.tan(60))
30.320040389379563
تابع math.pi چنان که از نامش هم مشخص است، به عنوان یک مقدار ثابت عدد پی (3.14159265359) استفاده میشود. این تابع مقدار اعشاری عدد پی را بازگشت میدهد و به جای خاطرسپاری و نوشتن عدد پی میتوانید از آن استفاده کنید.
نمایش مقدار عدد پی
1import math
2print(math.pi)
33.141592653589793
در گام سوم کد فوق نتیجه را نمایش میدهیم. در این حالت مساحت نتیجه نهایی است که به صورت عدد 400.00000000000006 برای مساحت چندضلعی منتظم به دست آمده است.
به این ترتیب به پایان این راهنما میرسیم. در این مقاله با ماژول Math در پایتون و کاربردهای مختلف آن آشنا شدیم.
با سلام چگونه از دستور سنوس و تانژانت برای درجه و نه برای رادیان استفاده کنیم؟
سلام خیلی عالی بود فقط یک سوال داشتم، من دارم برنامه ای مینویسم که مقسوم علیه های عدد ورودی رو بدست بیاره و اون رو چاپ کنه، من الان واقعا به مشکل خوردم. میتونید کمی کمکم کنید؟
سلام مهندس عالی بود. مرسی از زحمتی که کشیدین.واقعا مفید بود. به امید روزی ک بتونم مثل شما اطلاعات مفید در اختیار بقیه بذارم.لطفا از math و کاربرد اون بیشتر بگین