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

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

var1 = 10
var2 = 20

هنگام ساخت یک متغیر در پایتون، فضایی از حافظه رم به آن اختصاص داده می شود که اگر قصد داشته باشید آن را حذف نمایید می توانید از دستور del استفاده نمایید.

del var1, var2

 

زبان برنامه نویسی پایتون از اعداد مختلف پشتیبانی می کند که شرح آنها به شکل زیر می باشد:

  • int: اعداد صحیح که می تواند شامل اعداد مثبت و منفی و باشد.
  • long: از این نوع متغیرها برای ذخیره سازی اعداد بزرگتر استفاده می شود.
  • float: برای ذخیره سازی اعداد اعشاری مورد استفاده قرار می گیرد.
  • complex: از این نوع متغیرها در زبان برنامه نویسی پایتون برای ذخیره سازی اعداد مختلط (پیچیده) استفاده می شود.

از نسخه سوم به بعد پایتون، محدودیت مربوط به متغیر int از بین رفته و دیگر متغیری از نوع long وجود ندارد. به عبارتی دیگر، متغیرهای int و long با یکدیگر ادغام شده اند.

اعداد مختلطف (Complex) در پایتون

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

c =  a + bj

 که در آن a  و b دو مقدار صحیح می باشند و در مثال واقعی، شکل آن به صورت زیر است:

c =  3 + 6j

حال اگر با استفاده از متد type اقدام به چاپ نوع متغیر c نمایید مشاهده خواهید نمود که در خروجی عبارت complex نمایش داده خواهد شد:

c = 3 + 6j
print(type(c))

خروجی
<class 'complex' >

روش دیگر ساخت متغیرهای مختلط استفاده از متد complex می باشد.

c = complex(3, 6)
print(c)

حاصل اجرای دستورات فوق به شکل زیر خواهد بود.

(3+6j)

در اعداد مختلط از حرف j برای معرفی بخش موهومی عدد (imaginary part) استفاده می شود به عبارتی دیگر دستورات فوق را می توان اینگونه تفسیر نمود که متغیر c، متغیری از نوع مختلط است که دارای بخش حقیقی 3 و بخش موهومی 6 می باشد.

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

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

  • int(x): تبدیل به int
  • float(x): تبدیل به float
  • complex(x): تبدیل به عدد مختلط

در مثال های فوق منظور از x اطلاعات یا متغیری می باشد که قصد دارید محتوای آن را به فرمت دلخواه تبدیل کنید. نمونه این تغییر نوع را در مثال های قبل مشاهده کرده بودید، هنگامی که قصد داشتیم اطلاعات دریافت شده از کاربر را به int تبدیل کنیم.

num = int(input('please enter a number : '))

در این دستور از آنجا که خروجی متد input از نوع رشته (متن) می باشد بنابراین برای تبدیل به عدد از تابع int استفاده شده است. حال اگر قصد داشته باشید عدد دریافت شده از کاربر را به float تبدیل کنید، می توانید به جای تابع int از float استفاده نمایید.

num = float(input('please enter a number : '))

توابع محساباتی و ریاضی در پایتون

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

ceil(x): برای بدست آوردن سقف یک عدد استفاده می شود. منظور از سقفف رند کردن عدد به سمت بالا می باشد.

floor(x): برای بدست آوردن کف یک عدد استفاده می شود. منظور از کف، کردن عدد به سمت پایین می باشد.

exp(x): برای محاسبه تابع نمایی e به توان x کاربرد دارد.

pow(x,y): محاسبه توان. عدد x را به توان y می رساند.

sqrt(x): محاسبه جذر x.

این توابع در فضای کاری math می باشند و برای استفاده از آنها ابتدا باید این namespace را به پروژه خود اضافه نمایید.

import math

پس از افزودن این فضای کاری، به راحتی می توانید از توابع موجود در آن استفاده نمایید.

import math
print(math.ceil(8.4))
print(math.floor(6.9))
print(math.exp(3))
print(math.pow(2, 8))
print(math.sqrt(64))

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

علاوه برای موارد توضیح داده شده در بخش فوق، توابع دیگری جهت انجام عملیات بر روی اعداد وجود دارند که برای استفاده از آنها نیازی به import کردن فضای کاری math نمی باشد. لیست این توابع به شرح زیر می باشند.

  • abs(x): محاسبه قدر مطلق یک عدد.
  • max(x1, x2, …): بدست آوردن بزرگترین عدد.
  • min(x1, x2, …): بدست آورد کوچکترین عدد.
  • round(x): رند کردن کردن عدد به سمت بالا.

نحوه استفاده از این توابع به شکل زیر می باشد.

print(abs(-8))
print(max(8, 3, 9, 1, 11, 4))
print(min(8, 3, 9, 1, 11, 4))
print(round(4.6))