انواع اعداد
در پایتون ۳ نوع عدد داریم.
عدد صحیح (int)
مثال هایی از اعداد صحیح را مشاهده میکنید.
-1000
-1
0
1
1000
عدد اعشاری (float)
مثال هایی از نحوه نوشتن عدد اعشاری را مشاهده میکنید.
1.5
-1.5
0.4
-0.4
.3
-.3
عدد مختلط (complex)
این نوع اعداد بیشتر در رشته های ریاضی و مهندسی کاربرد دارند. بنابراین این مبحث را مورد بررسی قرار نمیدهیم.
عملیات ریاضی
عملیات ریاضی به شکل زیر روی اعداد قابل انجام خواهد بود.هر کاری که با ماشین حساب میتوانید انجام دهید را با پایتون هم میهوان.
number_2 = 2
number_3 = 3
print(number_2 + number_3) # جمع
print(number_2 - number_3) # تفریق
print(number_2 * number_3) # ضرب
print(number_2 / number_3) # تقسیم
print(number_2 // number_3) # مقسیم صحیح
print(number_2 % number_3) # محاسبه باقیمانده
print(number_2 ** number_3) # تواناولویت عملگر های ریاضی
همانطور که دیدید، برای انجام عملیات ریاضی مانند ضرب و تقسیم و جمع و تفریق و … در برنامهنویسی از علامت هایی مانند * / + – استفاده میکنیم.
برای محاسبه حاصل ۱ + ۲ + ۳، ابتدا ۱ با ۲ جمع شده و حاصلش با ۳ جمع میشود. به عبارت دیگر عملیات جمع از سمت چپ شروع شده و ادامه مییابد تا به پایان برسد.
برای محاسبه ۳ – ۲ – ۱ نیز محاسبه از چپ به راست انجام میشود.
برای محاسبه ۳ + ۲ – ۱ نیز محاسبه از سمت چپ به راست انجام میشود.
اما برای محاسبه ۲ + ۳ * ۴ دیگر اینطور نیست که محاسبه از سمت چپ به راست انجام شود زیرا علامت ضرب در ریاضی اولویت بالاتری نسبت به جمع دارم. بنابراین برای محاسبه حاصل این عبارت، ابتدا حاصل ضرب ۲ * ۴ محاسبه شده و سپس حاصل این ضرب با ۳ جمع خواهد شد. و در نهایت نتیجه برابر ۱۱ خواهد بود.
بنابراین میتوان اینگونه نتیجه گرفت که:
- ابتدا عملگر های ریاضی براساس اولویت شان مشخص میکنند که کدام بخش ابتدا محاسبه شود.
- سپس در جایی که دیگر همه عملگر ها به اولویت برابر برسند، محاسبه از چپ به راست انجام خواهد شد.
اکنون توجه شما را به جدول اولویت عملگر های ریاضی جلب میکنم.
| ردیف | عملگر | توضیح | مثال |
|---|---|---|---|
| 1 | () | پرانتز (بالاترین اولویت) | (2 + 3) * 4 = 20 |
| 2 | ** | توان | 2 ** 3 = 8 |
| 3 | +x ، -x | علامت مثبت/منفی یکتایی | -3 ** 2 = -9 |
| 4 | * ، / ، // ، % | ضرب، تقسیم، تقسیم صحیح، باقیمانده | 10 / 2 * 3 = 15 |
| 5 | + ، – | جمع و تفریق (پایینترین اولویت) | 10 – 2 + 3 = 11 |
اکنون بیایید چند مثال با هم حل کنیم تا درک عمیق تری حاصل شود.
print(2 + 3 * 4) # 14
print((2 + 3) * 4) # 20در مثال بالا، در خط اول ابتدا حاصر ضرب و سپس حاصل جمع محاسبه میشود. اما در خط دوم به خاطر وجود پرانتز، ابتدا داخل پرانتز محاسبه میشود و سپس ضرب انجام میشود.
print(2 * 3 ** 2) # 18 → چون 3**2 اول حساب میشودحاصل کد بالا برابر ۱۸ است زیرا اولویت توان بالاتر از ضرب است.
print(-3 ** 2) # -9
print((-3) ** 2) # 9مثال بالا خیلی مهم است زیرا نشان میدهد که اولویت توان بالاتر ازعلامت منفی است.
print(5 + 10 % 6 * 2) # 9اولویت باقیمانده و ضرب بالاتر از جمع است.
- ابتدا حاصل
10 % 6که برابر4میشود محاسبه میشود. - سپس حاصل
4 * 2محاسبه میشود که مقدارش برابر8میشود. - سپس حاصل
5 * 8محاسبه میشود.
print(-10 / 2) # -5.0در مثال بالا، منفی قبل از عمل تقسیم اعمال میشود.
print(3 + 4 * 2 / (1 - 5) ** 2)مراحل محاسبه در مثال فوق به شرح زیر است.
