سرنخ — خودآموز برنامه‌نویسی برای هوش مصنوعی (مقدماتی)

فصل ۱ از ۱۱

پیشرفت ترم
۰٪

ترم ۱ · پایتون از صفر، داخلِ Colab

اولین سلول: پایتون در مرورگر

فصل ۱پیش‌نمایش رایگان
۱۰ دقیقه مطالعه فصل ۱

در این فصل چه یاد می‌گیری#

برای نوشتنِ اولین برنامهٔ پایتون هیچ‌چیز نصب نمی‌کنی. نه پایتون، نه ویرایشگر، نه هیچ ابزارِ دیگری. یک مرورگر و یک حسابِ گوگل کافی است. در این فصل محیطِ کارِ کلِ دوره را باز می‌کنی — Google Colab — اولین دستورت را اجرا می‌کنی، می‌بینی پایتون چطور با عدد و متن رفتار می‌کند، و عمداً یک خطا می‌سازی تا بفهمی خطا چه شکلی است و چرا اصلاً ترسناک نیست.

یک صفحهٔ نوت‌بوک که به دو نوار افقی تقسیم شده: یک نوار متن و یک نوار کد با یک فلش که خروجی را به زیرِ آن هدایت می‌کند

آخر این فصل می‌توانی:

  • یک نوت‌بوک را در Google Colab باز کنی و کد داخلش اجرا کنی
  • با print() هر چیزی را روی صفحه چاپ کنی
  • فرقِ سلولِ کد و سلولِ متن را بگویی و هرکدام را بسازی
  • تفاوتِ عدد و متن را در پایتون تشخیص بدهی
  • یک پیامِ خطا را بخوانی و بگویی پایتون از چه چیزی شکایت دارد

قبل از شروع#

این اولین فصلِ دوره است، پس هیچ پیش‌نیازی ندارد. فقط دو چیز لازم داری: یک مرورگر و یک حسابِ گوگل.

📓 نوت‌بوک: نوت‌بوک این فصل را در Colab باز کن — همهٔ کدهای این فصل آماده و به‌ترتیب داخلش هست.

بارِ اول چطور بازش کنی؟ سه قدم، و از فصلِ بعد دیگر لازم نیست دنبالش بگردی:

  1. روی لینکِ بالا بزن. یک فایل با پسوندِ .ipynb دانلود می‌شود. این فایل خودِ نوت‌بوک است.
  2. به نشانیِ colab.research.google.com برو. پنجره‌ای باز می‌شود؛ از بالای آن تبِ Upload را انتخاب کن.
  3. فایلِ دانلودشده را داخلِ پنجره بکش. تمام — نوت‌بوک باز است.

از بارِ دوم به بعد، همان نوت‌بوک در تبِ Recent همان پنجره منتظرت است.

💡 نکته: اگر می‌خواهی تغییرهایت ذخیره شود، یک بار از منوی File گزینهٔ Save a copy in Drive را بزن. آن‌وقت یک نسخهٔ شخصی در Google Drive خودت ساخته می‌شود که هر چه در آن بنویسی می‌ماند.

۱. Colab چیست، و چرا از اینجا شروع می‌کنیم#

Google Colab یک محیطِ پایتون است که روی سرورهای گوگل اجرا می‌شود و تو فقط از داخلِ مرورگر با آن کار می‌کنی. کد را در مرورگر می‌نویسی، کد روی کامپیوترِ گوگل اجرا می‌شود، و نتیجه برمی‌گردد جلوی چشمت.

سه دلیل که کلِ این دوره در Colab است:

  • هیچ نصبی لازم نیست. پایتون و همهٔ کتابخانه‌های مهمِ کارِ داده از قبل آنجا هستند. بزرگ‌ترین دلیلی که آدم‌ها یادگیریِ برنامه‌نویسی را نصفه رها می‌کنند «نصب کار نکرد» است، و این را از ریشه حذف می‌کنیم.
  • روی هر دستگاهی یکسان است. کدی که تو می‌نویسی روی همان سیستمی اجرا می‌شود که کدِ من. اگر چیزی کار نکرد، تقصیرِ کامپیوترِ تو نیست.
  • همان جایی است که کارِ واقعی انجام می‌شود. پژوهشگرها و مهندس‌های هوش مصنوعی واقعاً در همین محیط کار می‌کنند. تو از روزِ اول در ابزارِ واقعی تمرین می‌کنی، نه در یک اسباب‌بازیِ آموزشی.

فایلی که در Colab باز می‌کنی یک notebook است. نوت‌بوک از تکه‌هایی به‌نام cell ساخته شده. دو نوع سلول داری: سلولی که داخلش کد می‌نویسی و اجرا می‌شود، و سلولی که داخلش متن می‌نویسی و فقط خوانده می‌شود. همین صفحه‌ای که الان می‌خوانی، اگر در Colab بازش کرده باشی، دقیقاً از همین دو نوع سلول ساخته شده.

۲. اولین سلول#

سراغِ اولین سلولِ کد برو. برای اجرایش یا روی دکمهٔ ▶ کنارش بزن، یا کلیدهای Shift و Enter را با هم فشار بده — که خیلی سریع‌تر است و بهتر است از همین حالا عادتش کنی.

print("سلام دنیا")

زیرِ سلول این ظاهر می‌شود:

سلام دنیا

بیا خط‌به‌خط ببینیم چه اتفاقی افتاد. print نامِ یک تابع (function) است — یک دستورِ آماده که کارِ مشخصی می‌کند، و کارِ این یکی «نشان بده» است. دو پرانتزِ بعدش می‌گویند «این تابع را اجرا کن»، و هر چیزی که داخلِ پرانتز بگذاری همان چیزی است که نشان داده می‌شود. علامت‌های گیومه (") هم به پایتون می‌گویند «چیزی که بینِ ماست، متن است، نه دستور».

حالا خودت امتحان کن: متنِ داخلِ گیومه را به اسمِ خودت عوض کن و دوباره اجرا کن.

چک کن: بلافاصله زیرِ سلول باید همان متنی که نوشتی ظاهر شود، بدونِ گیومه‌ها. اگر چیزی زیرِ سلول نیامد، احتمالاً سلول اصلاً اجرا نشده — علامتِ ▶ کنارش را دوباره بزن و منتظر بمان تا حلقهٔ چرخانش تمام شود.

۳. سلولِ کد و سلولِ متن#

نوت‌بوک فقط برای کد نیست؛ برای توضیح‌دادنِ کد هم هست. برای همین کنارِ سلولِ کد، سلولِ متن هم داری.

بالای هر نوت‌بوک دو دکمه می‌بینی: + Code و + Text. اولی یک سلولِ کدِ خالی اضافه می‌کند و دومی یک سلولِ متن. سلولِ متن هیچ‌وقت اجرا نمی‌شود؛ فقط نمایش داده می‌شود.

این یک تزئین نیست، یک عادتِ حرفه‌ای است. کدی که سه ماهِ دیگر بازش کنی، بدونِ توضیح تقریباً ناخواناست — حتی کدِ خودت. از همین اولین نوت‌بوک عادت کن قبل از هر تکه کدِ مهم یک جملهٔ کوتاه بنویسی که می‌گوید چرا این کد اینجاست.

قبل از ادامه، جواب بده: اگر یک دستورِ پایتون را اشتباهاً داخلِ سلولِ متن بنویسی، چه اتفاقی می‌افتد؟ جواب: هیچ. اجرا نمی‌شود و فقط به‌عنوانِ نوشته نمایش داده می‌شود. این یکی از اولین گیج‌کننده‌هاست — کد نوشته‌ای و هیچ خروجی‌ای نمی‌بینی، چون اصلاً در سلولِ کد نبوده.

۴. عدد و متن: پایتون فرقشان را می‌داند#

پایتون فقط چاپگر نیست؛ ماشین‌حساب هم هست.

print(2 + 3)
print(10 / 4)
print(7 * 6)
5
2.5
42

توجه کن که اینجا هیچ گیومه‌ای نیست. 2 + 3 داخلِ پرانتز یک محاسبه است: پایتون اول حسابش می‌کند و بعد نتیجه را به print می‌دهد. علامتِ تقسیم / است و علامتِ ضرب * — نه ×.

حالا همان چیز را با گیومه امتحان کن و تفاوت را ببین:

print("2 + 3")
print(2 + 3)
2 + 3
5

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

این تفاوت — بینِ «متن» و «عدد» — یکی از پایه‌ای‌ترین چیزهای پایتون است و در فصلِ بعد کاملاً بازش می‌کنیم. فعلاً همین‌قدر بدان: گیومه یعنی متن، بدونِ گیومه یعنی مقدارِ محاسباتی.

چک کن: خروجیِ سلولِ بالا باید دقیقاً دو خط باشد — اولی 2 + 3 با فاصله‌ها، دومی 5. اگر هر دو خط 5 شد، یعنی گیومه‌ها را جا انداخته‌ای.

💡 نکته: 10 / 4 جوابش 2.5 شد، نه 2. پایتون در تقسیم به‌طورِ پیش‌فرض عددِ اعشاری می‌دهد، حتی وقتی جواب رُند باشد. 8 / 2 را امتحان کن؛ نتیجه 4.0 است نه 4. دلیلش را در فصلِ بعد می‌بینی.

۵. اولین خطا — که قرار است تجربهٔ خوبی باشد#

هر برنامه‌نویسی، از روزِ اول تا آخرِ عمر، خطا می‌گیرد. تفاوتِ تازه‌کار و حرفه‌ای این نیست که یکی خطا می‌گیرد و دیگری نه؛ این است که حرفه‌ای خطا را می‌خواند.

پس بیا عمداً یکی بسازیم. یک سلولِ کدِ خالی اضافه کن (دکمهٔ + Code) و دقیقاً این را داخلش بنویس — با گیومهٔ جامانده:

print("سلام)

اجرایش کن. چیزی شبیهِ این می‌بینی:

  Cell In[1], line 1
    print("سلام)
          ^
SyntaxError: unterminated string literal (detected at line 1)

ترسناک به‌نظر می‌رسد ولی در واقع دارد خیلی دقیق کمکت می‌کند. سه چیز به تو گفت:

  • کجا: خطِ ۱، و آن علامتِ ^ دقیقاً زیرِ جایی است که مشکل از آنجا شروع شده.
  • چه نوع خطایی: SyntaxError یعنی خطای نگارشی — پایتون اصلاً نتوانست جمله‌ات را بخواند، چه رسد به اجرا.
  • چه چیزی: unterminated string literal یعنی «متنی شروع شد ولی تمام نشد». گیومه را باز کردی و نبستی.

رفعش یک کاراکتر است: گیومهٔ بسته را قبل از پرانتز بگذار.

🔧 اگر کار نکرد: اگر به‌جای SyntaxError چیزِ دیگری دیدی، متنِ آخرین خط را بخوان — همیشه دقیق‌ترین توضیح آنجاست. دو خطای رایجِ دیگرِ این فصل: NameError: name 'Print' is not defined یعنی print را با حرفِ بزرگ نوشته‌ای (پایتون به بزرگی و کوچکیِ حروف حساس است)، و SyntaxError: '(' was never closed یعنی پرانتز را نبسته‌ای.

⚠️ مواظب باش: پیامِ خطا را نبند و ردش نکن. مهم‌ترین اطلاعاتِ اشکال‌زدایی همیشه در همان چند خط است. در فصلِ ۸ یاد می‌گیری این پیام‌ها را کامل و حرفه‌ای بخوانی؛ فعلاً فقط عادت کن بخوانی‌شان.

۶. عددِ کنارِ سلول: چیزی که خیلی‌ها نادیده می‌گیرند#

کنارِ هر سلولِ کدی که اجرا کرده‌ای، داخلِ کروشه یک عدد می‌بینی: [1]، [2]، [3]… آن عدد نمی‌گوید سلول کجای صفحه است؛ می‌گوید چندمین سلولی است که اجرا کرده‌ای.

این تفاوت مهم‌تر از چیزی است که به‌نظر می‌رسد. تو می‌توانی سلولِ آخرِ صفحه را اول اجرا کنی و سلولِ اول را آخر. نوت‌بوک جلویت را نمی‌گیرد — و دقیقاً همین‌جاست که سردردهای بعدی متولد می‌شوند.

فعلاً فقط یک عادت را بگیر: نوت‌بوک را از بالا به پایین اجرا کن. در فصلِ ۱۰ یک فصلِ کامل به این موضوع اختصاص داده‌ایم، چون یکی از بزرگ‌ترین تله‌های کارکردن با نوت‌بوک است.

🤖 از دستیارت بپرس: اگر یک دستیارِ هوش مصنوعی در دسترس داری، این سؤال را از او بپرس: «در پایتون فرقِ print(2+3) و print("2+3") چیست؟ خط به خط توضیح بده.» جوابش را با چیزی که در بخشِ ۴ خواندی مقایسه کن. هدف این نیست که کد برایت بنویسد — این است که یک توضیحِ دوم بشنوی. در فصلِ ۹ کاملاً می‌گوییم چطور از دستیار برای یادگرفتن استفاده کنی، نه برای دورزدنِ یادگیری.

واژه‌های تازهٔ این فصل#

کلمه تلفظ به حروف فارسی یعنی چه
notebook نوت‌بوک فایلی که از سلول‌های کد و متن ساخته شده؛ محیطِ کارِ کلِ این دوره
cell سِل یک تکهٔ نوت‌بوک؛ یا کد است و اجرا می‌شود، یا متن است و فقط خوانده می‌شود
runtime رانتایم ماشینی روی سرورِ گوگل که کدِ تو واقعاً روی آن اجرا می‌شود
function فانکشِن دستورِ نام‌داری که کارِ مشخصی می‌کند؛ print اولین نمونه‌اش
SyntaxError سینتَکس اِرور خطای نگارشی — پایتون نتوانست جمله را بخواند

تمرین‌ها

اول خودت فکر کن یا امتحان کن — بعد اینجا را باز کن.

در فصل بعد#

حالا می‌توانی کد اجرا کنی و خروجی ببینی، ولی هر بار همه‌چیز را از نو می‌نویسی. فصلِ بعد اولین ابزارِ واقعیِ برنامه‌نویسی را می‌آورد: متغیر — راهی برای اینکه یک مقدار را نگه داری، اسم بگذاری رویش، و بعداً دوباره به‌کارش ببری. همان‌جا هم بدهیِ این فصل را می‌پردازیم و دقیق می‌گوییم پایتون چند نوع مقدار می‌شناسد و چرا 8 / 2 جوابش 4.0 است نه 4.

به آخر این فصل رسیدی!

اگر ساختی و جواب داد، این دکمه مال توست.