تقریباً همیشه در برنامههای مختلف با اعداد سروکار داریم. اعداد در پایتون به سه دسته صحیح، اعشاری و مختلط تقسیم میشوند. توابع ریاضی مختلفی برای کار با عدد ها در زبان پایتون داریم و کتابخانههای قویای برای محاسبات ریاضی وجود دارد. در این آموزش با مهمترینِ آنها آشنا میشویم.
اگر در اوایل راه یادگیری پایتون هستید، ممکن است با نوعهای دادهای مختلفی آشنا شوید. یادتان باشد که نیازی نیست همه این ساختارها را حفظ کرده یا توابع کار با آنها را تماماً یاد بگیرید. برای اینکه بتوانید با اعداد در پایتون کار کنید، بهتر است انواع اعداد را بشناسید و نحوه تبدیل اعداد به یکدیگر را یاد بگیرید.
همچنین مروری روی توابع مرتبط با عددها کنید؛ در این حد که اگر بعداً در پروژهای لازم شد مثلاً سینوس یک عدد را بگیرید، بدانید به طور پیشفرض در پایتون تابعی برای این کار وجود دارد و نیازی به پیادهسازی آن نیست. حالا میتوانید با مراجعه به مستندات یا جستجو در اینترنت، تابع مورد نظر را پیدا کنید.
عدد در پایتون
انواع اعداد در پایتون به سه دسته تقسیم میشوند. هر سه نوع را در ریاضیات مدرسه خواندهایم و کموبیش با آنها آشناییم:
- عدد صحیح (integer)
- عدد اعشاری (float)
- عدد مختلف یا پیچیده (complex)
سادهترین روش تعریف عدد، استفاده از تعریف متغیر در پایتون است. در قطعه کد زیر، من سه عدد مختلف تعریف کردهام:
x = 13
y = 5.6
z = 3 + 7j
این اعداد به ترتیب، عدد صحیح، عدد اعشاری و عدد مختلف در پایتون هستند. در ادامه بررسی مختصری روی نکات هر کدام از این نوعهای عددی داریم.
عدد صحیح
همانطور که میدانید، همه اعداد مثبت و منفی که هیچ اعشاری ندارند و شمارشی هستند جزء اعداد صحیح به شمار میآیند. در پایتون محدودیت خاصی برای اندازه عدد صحیح نداریم.
x1 = 258
x2 = -32847
x3 = 0
اگر با تابع type()
نوع یکی از این متغیرها را بگیریم، به ما کلاس int را برمیگرداند؛ مشابه خروجیای که در تصویر زیر میبینیم:
عدد اعشاری در پایتون
اعداد اعشاری هم برای همه ما آشنا هستند. این اعداد با نقطه یا point (.
) به دو بخش صحیح و اعشار تقسیم میشوند.
y1 = 15.6
y2 = -265.749
y3 = 6.0
توجه کنید که 6.0 یک عدد اعشاری است! درست است که از نظر مقداری، 6.0
و 6
با هم برابر هستند، اما از نظر نوع، اولی اعشاری و دومی صحیح است. در تصویر زیر میبینید که عملگر برابری (==
) بین این دو عدد نتیجه True برگردانده، اما همین عملگر روی نوع آنها، False داده است.
اگر به ماشین حسابها دقت کرده باشید، در اعداد خیلی بزرگ یا خیلی کوچک، از حرف e برای نمایش توان 10 استفاده میکنند. برای تعریف عدد در پایتون هم چنین ویژگیای داریم.
اگر در انتهای عدد حرف انگلیسی e را قرار داده و یک عدد صحیح مثبت یا منفی بنویسیم، عدد تکه اول در 10 به توان عدد دوم ضرب میشود. کوچک یا بزرگ بودن e فرقی ندارد:
a = 6e15
b = -18.1e21
c = 2.1e-3
دقت کنید که حاصل، همیشه از نوع اعشاری است. یعنی 3e2
معادل عدد اعشاری 300.0
در پایتون است.
عدد مختلط یا پیچیده
ممکن است در یک برنامه با محاسبات ریاضی، به اعداد مختلط ریاضی احتیاج داشته باشید. اگر یادتان باشد، اعداد مختلط از دو بخش حقیقی و موهومی تشکیل میشوند که قسمت موهومی را با حرف j مشخص میکنیم.
این نوع عددی در پایتون به راحتی قابل تعریف است. در قطعه کد زیر، ۳ مثال از این نوع عددی میبینید:
z1 = 3 + 5j
z2 = j
z3 = -9j
تغییر مبنای عدد در پایتون
اگر مهندس کامپیوتر باشید، نوع دیگری از اعداد هم میشناسید! اعداد دودویی (مبنای ۲)، عدد هشت هشتی (مبنای ۸) و عدد شانزده شانزدهی (مبنای ۱۶) از معروفترین این اعداد هستند. اگر بخواهیم این اعداد را در پایتون تعریف کنیم، فقط باید پیشوند مربوط به آن را کنار کد عددی قرار دهیم.
اگر این اعداد را با print چاپ کنیم، یک عدد دسیمال (ده دهی) میبینیم.
a = 0b111001011 # 459
b = 0x5C9 # 1481
c = 0o715 # 461
این اعداد را میتوانیم با استفاده از عملگرهای ریاضی در محاسبات خود وارد کنیم.
# 45 + 63
print(0o55 + 0x3F)
# 108
به طور خلاصه، این سه پیشوند در جدول تصویر زیر مشخص شده است:
تبدیل اعداد در پایتون
در بسیاری از زبانهای برنامه نویسی امکان تبدیل نوعهای مشابه را به یکدیگر داریم؛ در پایتون هم برای تبدیل انواع اعداد به هم توابع از پیش تعریف شدهای وجود دارد.
البته در برخی موارد خاص، میتوانیم نوعهای غیرمشابه را نیز تبدیل کنیم. مثلاً اگر یک رشته متنی در پایتون داشته باشیم که فقط حاوی عدد باشد، مشابه روشی که الآن یاد میگیریم میتوانیم آن را به عدد تبدیل کنیم.
اگر عدد 3
و 2.0
را جمع کنیم، نتیجه یک عدد اعشاری خواهد بود:
>>> 3 + 2.0
5.0
برای تبدیل نتیجه به عدد صحیح از تابع int()
در پایتون استفاده میکنیم:
>>> int( 3 + 2.0 )
5
مشابهاً برای تبدیل یک عدد به نوعهای عددی دیگر، از توابع float()
و complex()
استفاده میکنیم.
ترتیب تبدیل عدد در پایتون
برای تبدیل نوع اعداد این ترتیب را در نظر داشته باشید: صحیح > اعشار > مختلط
اگر تبدیل نوع از نوع پایینتر به بالاتر (از راست به چپ) انجام شود، هیچ چیزی از دست نمیدهیم. اما اگر تبدیل برعکس انجام دهیم، ممکن است بخشهایی از عدد در تبدیل از بین برود.
مثلاً اگر عدد اعشاری 6.4
را به عدد صحیح در پایتون تبدیل کنیم، نتیجه نهایی عدد 6
خواهد بود؛ یعنی 0.4
از عدد اصلی کمتر.
>>> int(6.4)
6
به عملیات تبدیل نوع در زبانهای برنامه نویسی از جمله پایتون، عملیات Type Casting گفته میشود. البته ممکن است بعضاً اسمهای دیگری هم به کار برده شود.
محاسبات ریاضی در پایتون
برای محاسبات معمولی مثل ضرب و جمع و توان میتوانیم از عملگرهای ریاضی استفاده کنیم. خلاصهای از این عملگرها را در جدول زیر میبینید:
عملگر | عملیات |
---|---|
+ | جمع |
– | تفریق |
* | ضرب |
/ | تقسیم |
% | باقیمانده |
** | توان |
برای محاسبات پیچیدهتر، کتابخانههای مختلفی در پایتون وجود دارد که بسته به نیازتان میتوانید از آنها استفاده کنید. یکی از پر کاربردترین کتابخانههایی که به طور پیشفرض همراه با پایتون نصب میشود، کتابخانه math است.
در قطعه کد زیر میبینید که در این کتابخانه، به توابع مختلفی مثل لگاریتم log10()
، تابع نمایی exp()
، توابع مثلثاتی نظیر cos()
و sinh()
و برخی اعداد ثابت مثل عدد پی pi
دسترسی داریم.
import math
print( math.pi )
# 3.141592653589793
print( math.cos(math.pi) )
# -1.0
print( math.sinh(0.5) )
# 0.5210953054937474
print( math.exp(2) )
# 7.38905609893065
همه توابع کتابخانه math در پایتون را میتوانید در مستنداتش ببینید و مثالهای ساده آن را بررسی کنید.
امیدوارم با این آموزش با انواع عدد در پایتون آشنا شده باشید و بتوانید کارهای پایهای با اعداد را به راحتی انجام دهید.