آشنایی با انواع عددی در زبان برنامه نویسی پایتون


همان طور که از نام گذاری این نوع داده ها مشخص است، داده‌های عددی یا اصطلاحاً Numeric Types برای استفاده از اعداد با همان مفهومی که در علوم ریاضی از عدد در ذهن داریم تعریف شده اند. می دانید که در علم ریاضی اعداد بر اساس معیارهای متفاوتی در مجموعه های مختلفی مانند اعداد طبیعی، اعداد صحیح، اعداد حقیقی، و ... دسته بندی می شوند که بعضی از آن ها اعضای مشترکی دارند، بعضی کاملاً جدا از هم هستند، و بعضی مجموعه ها شامل تمام اعضای یک یا چند مجموعه ی دیگر می شوند. در بیش تر زبان های برنامه نویسی -از جمله پایتون- نیز همین رویه برقرار است و اعداد در قالب انواع مختلفی دسته بندی می شوند. انواع عددی از پیش تعریف شده در زبان پایتون عبارتند از:

- عدد صحیح یا Integer
- عدد اعشاری یا Floating Point
- عدد مختلط یا Complex و
- نوع بولی یا Boolean

اعداد صحیح یا Integer
این نوع داده ها نماینده ی اعداد صحیح شامل همه ی اعداد کامل مثبت، منفی و صفر مثل 90، 0، -4 و ... هستند. منظور از اعداد کامل، اعدادی هستند که ممیز اعشاری نداشته باشند. در زبان برنامه نویسی پایتون اعداد صحیح نمونه هایی از کلاس int می باشند.

به خاطر داشته باشید
در نسخه های قبلی پایتون محدودیتی برای تعریف داده های نوع صحیح وجود داشت و نمی توانستیم از مقادیری کم تر یا بیش تر از آن محدوده در برنامه های خود استفاده کنیم. البته این بازه ی محدود شده هم بسیار بزرگ بود و غالباً مقادیر بین 9,223,372,036,854,775,808- تا 9,223,372,036,854,775,807 را در بر می گرفت که پاسخ گوی نیاز بسیاری از برنامه نویسان بود. با این وجود، در نسخه ی جدید پایتون -نسخه ی 3.5.0- این محدودیت برداشته شده است و تا جایی که حافظه ی کامپیوتر شما جا برای ذخیره ی داده ها داشته باشد می توانید اندازه ی این اعداد را به دلخواه بزرگ کنید.

به صورت معمول ما از اعداد در مبنای 10 استفاده می کنیم. اعداد مبنای 10 می توانند ارقام 0 تا 9 را داشته باشند. فرض کنید بخواهیم تعداد چند مکعب را در مبنای 10 به دست آوریم. برای این کار از جدولی به شکل زیر استفاده می کنیم:

Digit 1 Digit 2 Digit 3
     

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

Digit 1 Digit 2 Digit 3
                          

ارقام را از سمت راست به چپ می نویسیم: 385. به این ترتیب تعداد مکعب ها را با تقسیم بندی آن ها به دسته های 10 تایی و در واقع در مبنای 10 به دست می آوریم. برای نمایش اعداد در سایر مبناها هم تقسیم بندی به دسته های متناسب با آن اعداد صورت می گیرد. مثلاً برای به دست آوردن نمایش تعداد n مکعب در مبنای 2 آن ها را به دسته های 2 تایی تقسیم می کنیم. پایتون هم این قابلیت را دارد که اعداد صحیح را در پایه های 2، 8، و 16 نیز بشناسد و به کار گیرد. از آن جا که فعلاً در مرحله ی آموزش مقدماتی هستیم خود را درگیر کار با این نوع داده ها نمی کنیم و در مراحل پیشرفته تر درباره ی این موارد توضیح خواهیم داد.

اعداد اعشاری
در حالت معمول وقتی ما با اعداد کار می کنیم تفاوتی بین 1 و 1.0 قائل نمی شویم اما باید بدانیم که مفسر زبان برنامه نویسی پایتون آن ها را دو عدد متفاوت در نظر می گیرد و اگر بخواهیم این اعداد را به صورت داده هایی در برنامه وارد کنیم، پایتون برای نمونه سازی از دو کلاس متفاوت استفاده خواهد کرد. تمام اعدادی که شامل یک نقطه اعشار باشند از کلاسی با نام float ساخته می شوند. به طور مثال اعداد 3.14 یا 0.5498- و یا حتی عدد .4 که بعد از نقطه اعشار رقمی برای آن وجود ندارد و معادل 4.0 است، همگی نمونه های ساخته شده از این کلاس هستند. برای وارد کردن نوع داده های اعشاری در برنامه دو راه داریم:

روش اول درج اعداد به صورت معمولی با استفاده از نقطه اعشار است. به طور مثال وارد کردن عدد 3.14.

روش دوم درج اعداد به صورت نماد علمی است. برای مثال برای وارد کردن داده ای با مقدار 314 × 2-10 که معادل 3.14 است از عبارتی به شکل 314e-2 یا 314E-2 استفاده می کنیم که در آن ها از حرف e یا E به جای ضرب در 10 به توان استفاده می کنیم. با وارد کردن داده ها به شکل زیر در پنجره ی Shell در IDLE، خروجی ها را به صورت اعداد اعشاری مشاهده می کنیم:

>>> 3.14
3.14
>>> 314e-2
3.14
>>> 314E-2
3.14
>>> 3e2
300.0

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

همان طور که در تصویر می بینید، هر عدد مختلط از دو بخش تشکیل شده است: بخش Real یا حقیقی که فاصله ی افقی نقطه از مبدأ مختصات را نشان می دهد و بخش Imaginary یا انتزاعی که بیان گر فاصله ی عمودی نقطه از مبدأ مختصات است. یکی از شیوه های معمول نمایش اعداد مختلط نوشتن آن به صورت جمع قسمت حقیقی و انتزاعی است که برای ایجاد تمایز بین این دو قسمت حرف j را به عنوان واحد انتزاعی در کنار این قسمت قرار می دهیم. پایتون نیز از همین الگو برای تعریف نوع داده های مختلط که نمونه هایی از کلاس complex می باشند استفاده می کند. بنابراین عباراتی مانند 3+2j، -2+8j، و -7j داده هایی با نوع مختلط را به مفسر پایتون معرفی می کنند.

اعداد بولی
گاهی اوقات لازم است در زمان اجرای کدهای برنامه، مفسر پایتون درست یا نادرست بودن چیزی را ارزیابی کند. مثلاً فرض کنید که در زمان کدنویسی یک بازی کامپیوتری بگوییم که در صورت برخورد موشک به سفینه، یک انفجار رخ دهد. برای اجرای این دستور در زمان بازی، مفسر دائماً این شرط را بررسی می کند که آیا موشک با سفینه برخورد کرده است یا نه. در واقع باید داده ای در اختیار کامپیوتر قرار بگیرد که درست یا نادرست بودن این شرط را نشان دهد. بدین منظور در زبان برنامه نویسی پایتون از نوع داده هایی که از کلاس bool ساخته می شوند استفاده می کنیم که در حقیقت زیر مجموعه ای از نوع int است، چرا که این نوع داده ها تنها می توانند دو مقدار 0 یا 1 را داشته باشند. مقدار 0 نشان دهنده ی حالت False یا نادرست و مقدار 1 نشان دهنده ی حالت True یا درست است. تا وقتی که داده ای با مقدار False در اختیار مفسر قرار بگیرد انفجار صورت نمی گیرد، اما به محض آن که مفسر داده ای را دریافت کند که در ارزیابی مقدار آن را True تشخیص دهد، سفینه منفجر می شود!

نکته
مفسر پایتون بعضی از اشیا مانند انواع مختلف داده ی عددی صفر یعنی 0، 0.0 و 0j را برابر با مقدار بولی False ارزیابی می کند. در ادامه ی آموزش ها با اشیایی از این قبیل آشنا خواهیم شد.

اکنون که با مهم ترین انواع عددی در زبان برنامه نویسی پایتون آشنا شدیم می توانیم از آن ها در برنامه های آتی خود استفاده کنیم. باید بدانید که در پایتون انواع عددی دیگری مانند دسیمال و کسر نیز تعریف شده اند که در آموزش های بعدی در کنار سایر نکات جزئی تر آن ها را معرفی خواهیم کرد.

لیست نظرات
کاربر میهمان
دیدگاه شما چیست؟
کاربر میهمان
amirjavadazadi
amirjavadazadi
سلام
عالیه👍👍
ممنون
فقط چطور میتونم این مقاله رو به بوک مارکس خودم کنم
amirjavadazadi
amirjavadazadi
اضافه کنم

در پاسخ به

کاربر میهمان
کاربر میهمان
سلام
مثالاتون واقعا عالیه
در حهت تفهیم مطالب
اینجا یه کلاس واقعیه
که البته اصلا خسته کننده نیست مثل بعضی از کلاسا
کاربر میهمان
کاربر میهمان
سلام چرا وقتی من تویه بخضه تعاملی سه تقسیم بر چهار رو وارد می کنم
جواب رو به من صفر میده ؟
کاربر میهمان
کاربر میهمان
گمونم قسمت اعداد اعشاری یه جا اشتباه شده
314*10 به توان دو=31400
100÷314=3.14