پث‌وایز

شروع برنامه‌نویسی با پایتون (Intro to Python) · درس ۱ از ۱۲ · ۱۲ دقیقه

اولین برنامه‌ت (Your First Program)

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

برنامه چیه

دستورهایی که از بالا به پایین اجرا می‌شن

برنامه (program) یه سری دستوره پشت سر هم. پایتون، یعنی مفسر (interpreter)، این دستورها رو یکی‌یکی می‌خونه: از خط اول شروع می‌کنه، دقیقاً همون کاری رو که گفته انجام می‌ده، بعد می‌ره خط بعدی. ترتیب مهمه، پس اگه جای دو تا خط رو عوض کنی ممکنه نتیجه عوض بشه. پایتون هیچ‌وقت حدس نمی‌زنه منظورت چی بوده؛ همون کاری رو می‌کنه که نوشتی.

یه برنامه‌ی سه‌خطی که اول سلام، بعد 7، بعد خداحافظ رو چاپ می‌کنه، دقیقاً به همین ترتیب نشونشون می‌ده، هر کدوم توی یه خط.

print("سلام")
print(7)
print("خداحافظ")

خروجی

سلام
7
خداحافظ

هر print یه مقدار رو نشون می‌ده و بعد می‌ره خط بعد، برای همین سه تا خط می‌گیری. گیومه‌های دور «سلام» چاپ نمی‌شن؛ فقط نشون می‌دن متن از کجا شروع می‌شه و کجا تموم می‌شه. 7 گیومه لازم نداره چون عدده.

خودت رو امتحان کن

امید می‌نویسه print("2 + 3"). چی روی صفحه میاد؟

  1. 5
  2. 2 + 3
  3. "2 + 3"
  4. خطا
جواب رو ببین

2 + 3

درسته. بین گیومه، 2 + 3 فقط یه متنه، پس print دقیقاً همون‌طور که نوشته شده نشونش می‌ده، بدون گیومه‌ها.

پایتون مثل ماشین‌حساب

هفت تا عملگر برای حساب روزمره کافیه

+ جمع می‌کنه، - تفریق و ضرب (یه ستاره، نه حرف x). / تقسیم می‌کنه و همیشه عدد اعشاری می‌ده، حتی وقتی جواب رُنده. // تقسیم می‌کنه و فقط قسمت صحیح رو نگه می‌داره، % باقی‌مونده رو می‌ده، و * به توان می‌رسونه.

10 / 2 می‌شه 5.0، 7 / 2 می‌شه 3.5، 7 // 2 می‌شه 3، 7 % 2 می‌شه 1 و 2 ** 3 می‌شه 8.

print(10 / 2)
print(7 / 2)
print(7 // 2)
print(7 % 2)
print(2 ** 3)

خروجی

5.0
3.5
3
1
8

خط به خط: تقسیم همیشه اعشاری می‌ده، پس 10 / 2 چاپ می‌کنه 5.0، نه 5. بعد 7 تقسیم بر 2 می‌شه 3.5؛ قسمت صحیحش 3‌ـه و 1 باقی می‌مونه. خط آخر 2 به توان 3‌ـه، یعنی 2 * 2 * 2.

خودت رو امتحان کن

print(7 // 2)
print(7 % 2)
  1. 3
    1
  2. 3.5
    1
  3. 3
    0.5
  4. 3.5
    0
جواب رو ببین
3
1

ترتیب عملیات

ضرب قبل از جمع، درست مثل ریاضی

وقتی یه خط بیشتر از یه عملگر داره، پایتون همین‌طوری از چپ به راست جلو نمی‌ره. * و / و // و % رو قبل از + و - حساب می‌کنه، همون قانونی که توی مدرسه یاد گرفتی. هر چیزی توی پرانتز اول حساب می‌شه، پس با پرانتز می‌گی کدوم قسمت اول انجام بشه، و این‌طوری منظورت هم راحت‌تر خونده می‌شه.

2 + 3 * 4 یعنی 2 + 12، که می‌شه 14. (2 + 3) * 4 یعنی 5 * 4، که می‌شه 20.

خودت رو امتحان کن

print(2 + 3 * 4)
  1. 14
  2. 20
  3. 24
  4. 2 + 3 * 4
جواب رو ببین
14

قدم‌به‌قدم ببین

  1. پایتون print(2 + 3 * 4) رو می‌خونه

    نوار کد بالا یه خط داره، print(2 + 3 * 4)، و پنل out پایینش هنوز خالیه. قبل از این‌که print بتونه چیزی نشون بده، پایتون باید اون یه مقداری رو که توی پرانتزه حساب کنه.

  2. اول ضرب: 3 * 4 می‌شه 12

    پایتون اول ضرب رو انجام می‌ده، درست مثل ریاضی: 3 * 4 بیرون کشیده می‌شه و تبدیل می‌شه به 12. حالا نوار کد می‌گه print(2 + 12)، و پنل out هنوز خالیه.

  3. بعد جمع: 2 + 12 می‌شه 14

    ضرب که تموم شد، فقط جمع می‌مونه: 2 + 12 درست زیر قدم اول تبدیل می‌شه به 14. حالا نوار کد می‌گه print(14)، یه مقدار تنها که آماده‌ی نشون دادنه.

  4. print عدد 14 رو نشون می‌ده

    عدد 14 از روی فلش می‌ره پایین توی پنل out: این همون چیزیه که روی صفحه می‌بینی. کنارش، کم‌رنگ، اثر پرانتز رو نشون می‌ده: (2 + 3) * 4 اول جمع رو انجام می‌ده و می‌شه 20.

خودت رو امتحان کن

print(10 / 2) عدد 5 رو چاپ می‌کنه.

جواب رو ببین

نادرست

غلطه. چاپ می‌کنه 5.0. عملگر / همیشه عدد اعشاری می‌ده، حتی وقتی تقسیم رُند درمیاد. اگه عدد صحیح می‌خوای، 10 // 2 چاپ می‌کنه 5.

print(2 + 3)
print(4 * 5)
print(10 - 7)

خروجی

5
20
3

سه تا خط، سه تا جواب، به همون ترتیب کد. خودت امتحانش کن: یه عدد یا یه عملگر رو عوض کن و دوباره اجرا کن، و قبل از زدن دکمه‌ی اجرا حدس بزن خروجی چی می‌شه.

خودت رو امتحان کن

  1. print("Start")
  2. print(6 * 7
  3. print("End")
جواب رو ببین

اشکال توی خط ۲.

پیداش کردی. خط ۲ یه پرانتز باز می‌کنه و هیچ‌وقت نمی‌بنده، پس پایتون قبل از چاپ هر چیزی با SyntaxError متوقف می‌شه. باید بشه print(6 * 7).

مرور درس

  • برنامه یه فهرست دستوره که پایتون، یعنی مفسر، یکی‌یکی از بالا به پایین اجراش می‌کنه.
  • print(...) یه مقدار رو نشون می‌ده و می‌ره خط بعد؛ متن گیومه می‌خواد، عدد نه، و گیومه‌ها چاپ نمی‌شن.
  • / همیشه اعشاری می‌ده (10 / 2 می‌شه 5.0)؛ // قسمت صحیح رو نگه می‌داره، % باقی‌مونده رو می‌ده، ** توانه.
  • * و / قبل از + و - انجام می‌شن، پس 2 + 3 * 4 می‌شه 14؛ پرانتز اول حساب می‌شه، پس (2 + 3) * 4 می‌شه 20.
  • پرانتز جاافتاده یا x به‌جای ضرب SyntaxError می‌ده؛ متن بدون گیومه NameError.

فقط نخونش، نگهش دار

پث‌وایز هر ایده رو درست قبل از اینکه فراموشش کنی با یه سؤال کوتاه برمی‌گردونه. رایگان روی اندروید و وب، به فارسی و انگلیسی.

Cafe Bazaar Myket باز کردن نسخه‌ی وب

همه‌ی درس‌های این دوره

  1. اولین برنامه‌ت (Your First Program)
  2. متغیرها: اسم برای مقدارها (Variables)
  3. رشته‌ها: کار با متن (Strings)
  4. ورودی و نوع داده‌ها (Input and Types)
  5. تصمیم‌گیری با if (Conditionals)
  6. لیست‌ها: کلی مقدار یه‌جا (Lists)
  7. حلقه‌ها: دوباره و دوباره (Loops)
  8. تابع‌ها: به یه کار اسم بده، دوباره استفاده‌ش کن (Functions)
  9. دیکشنری‌ها: پیدا کردن با اسم (Dictionaries)
  10. خوندن پیام‌های خطا (Reading Errors)
  11. ذخیره و خوندن فایل (Files)
  12. پروژه‌ی آخر: حساب خرج‌ها (Final Project)