From 524d5aea3e40ebea3ee06923fbb8d5d9df42020f Mon Sep 17 00:00:00 2001 From: mmcky Date: Tue, 12 Aug 2025 09:41:59 +1000 Subject: [PATCH 1/2] Add back in jupyter-book elements --- lectures/Getting_started.md | 117 +++++++++++++++++++----------------- lectures/_toc.yml | 2 +- lectures/about_py.md | 25 +++++--- lectures/foo.py | 2 + 4 files changed, 84 insertions(+), 62 deletions(-) create mode 100644 lectures/foo.py diff --git a/lectures/Getting_started.md b/lectures/Getting_started.md index 03b0b38..3c75d76 100644 --- a/lectures/Getting_started.md +++ b/lectures/Getting_started.md @@ -1,20 +1,29 @@ +--- +jupytext: + text_representation: + extension: .md + format_name: myst +kernelspec: + display_name: Python 3 + language: python + name: python3 +--- + # بیاین شروع کنیم ## مقدمه در این بخش شما خواهید آموخت که چگونه: - ## پایتون در فضای ابری ساده ترین راه برای شروع کدنویسی در پایتون، اجرای آن در فضای ابری است. ( یعنی با استفاده از یک سرور از راه دور که از قبل روی آن پایتون نصب شده است.) @@ -45,30 +54,30 @@ نکات: - + + اطمینان حاصل کنید که نسخه ی مناسب سیستم عامل خود را نصب می کنید. + اگر در طول فرایند نصب از شما پرسیده شد که آیا آناکوندا را به عنوان نصب پیش فرض پایتون انتخاب می کنید، گزینه "بله" را انتخاب کنید. + ### به روزرسانی آناکوندا آناکوندا ابزاری به اسم `conda` برای مدیریت و ارتقاء بسته های آناکوندای شما فراهم می کند. یکی از دستورات `کوندا` که باید به طور منظم اجرا کنید، دستوری است که کل توزیع آناکوندا را به روز می کند. به عنوان یک تمرین، لطفا مراحل زیر را اجرا کنید: - + برای اطلاعات بیشتر درباره کوندا، در ترمینال عبارت " conda help " را تایپ کنید. ## ژوپیتر نوت بوک [ژوپیتر](http://jupyter.org/) نوت بوک ها یکی از چندین راه های قابل دسترس برای ارتباط برقرار کردن با پایتون هستند. ژوپیتر نوت بوک ها از یک رابط مبتنی بر مرورگر برای دسترسی به پایتون استفاده می کنند که دارای ویژگی های زیر است: - + + قابلیت نوشتن و اجرای دستورات پایتون + خروجی قالب بندی شده در مرورگر، شامل جداول، نمودارها، انیمیشن ها و غیره + امکان ترکیب متن قالب بندی شده و نمایش عبارات ریاضی + به دلیل این قابلیت ها، امروزه ژوپیتر یکی از ابزارهای مهم در اکوسیستم محاسبات علمی محسوب می شود. در [اینجا](http://matplotlib.org/examples/pylab_examples/hexbin_demo.html) تصویری از اجرای کد در یک ژوپیتر نوت بوک آورده شده است. @@ -76,12 +85,12 @@ ![نمونه اجرای کد](images/getting-started/jp_demo.png) درحالیکه ژوپیتر تنها روش برنامه نویسی در پایتون نیست، اما بهترین گزینه برای موقعیت هایی است که: - + + می خواهید برنامه نویسی با پایتون را شروع کنید + ایده های جدید را آزمایش کنید یا فقط بخش های کوچکی از کد را بررسی کنید + قصد دارید از محیط های تعاملی قدرتمند آنلاین مانند Google Colab استفاده کنید + می خواهید ایده های علمی خود را با دانشجویان یا همکاران خود به اشتراک بگذارید و با آنها همکاری کنید + این مجموعه دروس نیز برای اجرا در ژوپیتر نوت بوک ها طراحی شده اند. ### راه اندازی ژوپیتر نوت بوک @@ -89,10 +98,10 @@ بعد از نصب آناکوندا، شما می توانید ژوپیتر نوت بوک را اجرا کنید. برای اینکار می توانید: - + + در منوی برنامه های خود به دنبال Jupyter بگردید + یک ترمینال باز کنید و دستور jupyter notebookرا اجرا کنید + **کاربران ویندوز باید به جای "ترمینال" از "Anaconda Command Prompt" استفاده کنند.** اگر روش دوم را انتخاب کنید، با چیزی مشابه تصویر زیر رو به رو خواهید شد. @@ -100,10 +109,10 @@ ![ترمینال](images/getting-started/starting_nb.png) خروجی نشان می دهد که نوت بوک در `/http://localhost:8888` در حال اجرا است. - + + localhost اسم رایانه ی محلی شماست + 8888 شماره پورتی است که رایانه ی شما از آن استفاده می کند + بنابراین، هسته ی ژوپیتر در حال دریافت دستورات پایتون از طریق پورت 8888 در رایانه ی محلی شماست. @@ -147,22 +156,22 @@ دوحالت اصلی وجود دارد: 1.حالت ویرایش (Edit mode) - + + با یک کادر سبز دور سلول و یک مکان نمای چشمک زن مشخص می شود. + هر چیزی که تایپ کنید، به همان شکل در سلول نوشته می شود. + 2.حالت فرمان (Command mode) - + + کادر سبز با یک کادر آبی جایگزین می شود. + کلیدهای صفحه کلید به عنوان فرمان تفسیر می شوند. (مثلا با زدن کلید b ، یک سلول جدید در زیر سلول فعلی ایجاد می شود). + برای جا به جایی بین حالت ها: - + + برای رفتن از حالت ویرایش به حالت فرمان: کلید Esc یا Ctrl + M را بزنید. + برای رفتن از حالت فرمان به حالت ویرایش: کلید Enter را فشار دهید یا درون یک سلول کلیک کنید. + وقتی به این رفتار حالت محور عادت کنید، کار با ژوپیتر نوت بوک بسیار سریع و کارآمد خواهد بود. #### وارد کردن یونیکد (مثلا حروف یونانی) @@ -213,14 +222,14 @@ plt.show() در جلسه ی قبل این خط از کد را اجرا کردیم: `import numpy as np` - + + Numpy یک کتابخانه ی عددی است که به طور گسترده با آن کار خواهیم کرد. + بعد از این دستور، می توانیم به توابع کتابخانه Numpy با استفاده از نحو `np.function_name`دسترسی داشته باشیم. - + + برای مثال بیاید دستور np.random.randn(3) را امتحان کنید. + می توانیم ویژگی های مختلف `np` را با استفاده از کلید Tab بررسی کنیم. @@ -400,10 +409,10 @@ print("foobar") یک ویرایشگر خوب امکانات زیر را ارائه می دهد: - + + فرمان های کارآمد برای ویرایش متن(مثل کپی، جایگذاری، جست وجو و جایگزینی) + برجسته سازی نحوی (syntax highlighting) برای خوانایی بهتر کد و امکانات مشابه دیگر + در حال حاضر، یکی از محبوب ترین ویرایشگرهای متنی برای برنامه نویسی [VS Code](https://code.visualstudio.com/) است، که کاربری بسیار آسانی دارد و افزونه های باکیفیت زیادی برای آن عرضه شده است. diff --git a/lectures/_toc.yml b/lectures/_toc.yml index c2ff838..2d37226 100644 --- a/lectures/_toc.yml +++ b/lectures/_toc.yml @@ -5,7 +5,7 @@ parts: numbered: true chapters: - file: about_py - - file: Getting_started + - file: getting_started # - file: python_by_example # - file: functions # - file: python_essentials diff --git a/lectures/about_py.md b/lectures/about_py.md index 8e78bae..1dab58b 100644 --- a/lectures/about_py.md +++ b/lectures/about_py.md @@ -1,3 +1,14 @@ +--- +jupytext: + text_representation: + extension: .md + format_name: myst +kernelspec: + display_name: Python 3 + language: python + name: python3 +--- + # درباره ی این دوره ```{epigraph} @@ -11,19 +22,19 @@ _ کریس ویگینس در این درس: - همچنین شما نیازی به درک همه ی مواردی که در این درس خواهید دید، ندارید؛ زیرا در ادامه ی دروس تمامی جزئیات را آموزش خواهیم داد. ### آیا نمیتوانم فقط از ChatGPT استفاده کنم؟ diff --git a/lectures/foo.py b/lectures/foo.py new file mode 100644 index 0000000..14cce62 --- /dev/null +++ b/lectures/foo.py @@ -0,0 +1,2 @@ + +print("foobar") From 53c7174a0d049852491a0540ccd3b19146d468ef Mon Sep 17 00:00:00 2001 From: mmcky Date: Tue, 12 Aug 2025 09:53:44 +1000 Subject: [PATCH 2/2] force rename file --- lectures/{Getting_started.md => getting_started.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename lectures/{Getting_started.md => getting_started.md} (100%) diff --git a/lectures/Getting_started.md b/lectures/getting_started.md similarity index 100% rename from lectures/Getting_started.md rename to lectures/getting_started.md