Skip to content

Commit 68a1f05

Browse files
fix bullet list markdown, add new lecture python_by_example.md, update toc (#10)
1 parent 7166055 commit 68a1f05

File tree

6 files changed

+970
-62
lines changed

6 files changed

+970
-62
lines changed

lectures/_toc.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ parts:
66
chapters:
77
- file: about_py
88
- file: getting_started
9-
# - file: python_by_example
9+
- file: python_by_example
1010
# - file: functions
1111
# - file: python_essentials
1212
# - file: oop_intro

lectures/about_py.md

Lines changed: 53 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,15 @@ _ کریس ویگینس
2323
در این درس:
2424

2525

26+
* پایتون را معرفی خواهیم کرد
2627

27-
پایتون را معرفی خواهیم کرد
28+
* برخی از ویژگی های پایتون را نشان خواهیم داد
2829

29-
برخی از ویژگی های پایتون را نشان خواهیم داد
30+
* در رابطه با ارتباط پایتون و هوش مصنوعی بحث خواهیم کرد
3031

31-
در رابطه با ارتباط پایتون و هوش مصنوعی بحث خواهیم کرد
32-
33-
توضیح می دهیم که چرا پایتون زبان محبوب ما برای محاسبات علمی است
34-
35-
و شما را به ادامه ی مسیر و اهدافتان تشویق می کنیم.
32+
* توضیح می دهیم که چرا پایتون زبان محبوب ما برای محاسبات علمی است
3633

34+
* و شما را به ادامه ی مسیر و اهدافتان تشویق می کنیم.
3735

3836
همچنین شما نیازی به درک همه ی مواردی که در این درس خواهید دید، ندارید؛ زیرا در ادامه ی دروس تمامی جزئیات را آموزش خواهیم داد.
3937

@@ -60,17 +58,41 @@ _ کریس ویگینس
6058

6159
این موضوع مهم است زیرا:
6260

63-
پولمان را پس انداز می کند، به جای یک شرکت انتفاعی، توسط جامعه ی کاربران کنترل می شود و قابلیت تکثیر و [علم باز](https://en.wikipedia.org/wiki/Open_science) را تشویق می کند.
61+
* پولمان را پس انداز می کند
62+
63+
* به جای یک شرکت انتفاعی، توسط جامعه ی کاربران کنترل می شود
64+
65+
* و قابلیت تکثیر و [علم باز](https://en.wikipedia.org/wiki/Open_science) را تشویق می کند.
6466

6567
### کاربردهای رایج پایتون
6668

6769
پایتون یک زبان همه منظوره است که تقریبا در همه ی حوزه های کاربردی از جمله موارد زیر استفاده می شود:
6870

69-
هوش مصنوعی، محاسبات علمی، ارتباطات، توسعه ی وب، CGI و رابط های کاربری گرافیکی، توسعه ی بازی، محتوای چندرسانه ای و غیره.
71+
* هوش مصنوعی
72+
73+
* محاسبات علمی
74+
75+
* ارتباطات
76+
77+
* توسعه ی وب
78+
79+
* رابط های کاربری گرافیکی و CGI
80+
81+
* توسعه ی بازی
82+
83+
* محتوای چندرسانه ای
84+
85+
* و غیره.
7086

7187
همچنین بطور گسترده ای توسط شرکت های زیر و بسیاری دیگر از شرکت ها مورد استفاده و پشتیبانی قرار می گیرد:
7288

73-
[Google](https://www.google.com/)، [OpenAI](https://openai.com/)، [Netflix](https://www.netflix.com/)، [Meta](https://opensource.fb.com/)، [Dropbox](https://www.dropbox.com/)، [Amazon](https://www.amazon.com/)، [Reddit](https://www.reddit.com/)
89+
* [Google](https://www.google.com/)
90+
* [OpenAI](https://openai.com/)
91+
* [Netflix](https://www.netflix.com/)
92+
* [Meta](https://opensource.fb.com/)
93+
* [Dropbox](https://www.dropbox.com/)
94+
* [Amazon](https://www.amazon.com/)
95+
* [Reddit](https://www.reddit.com/)
7496

7597

7698
### جایگاه محبوبیت
@@ -276,7 +298,15 @@ value
276298

277299
همچنین می توانید نمونه های بیشتری را در [گالری تصاویر Matplotlib](https://matplotlib.org/stable/gallery/index.html) بیابید.
278300

279-
سایر کتابخانه های گرافیکی عبارتند از [seaborn](https://seaborn.pydata.org/)، [Plotly](https://plot.ly/python/) (یک رابط سطح بالا برای Matplotlib می باشد)، [Altair](https://altair-viz.github.io/) و [Bokeh](http://bokeh.pydata.org/en/latest/) .
301+
سایر کتابخانه های گرافیکی عبارتند از:
302+
303+
* [Plotly](https://plot.ly/python/)
304+
305+
* [seaborn](https://seaborn.pydata.org/)(یک رابط سطح بالا برای Matplotlib می باشد)
306+
307+
* [Altair](https://altair-viz.github.io/)
308+
309+
* [Bokeh](http://bokeh.pydata.org/en/latest/) .
280310

281311
همچنین برای مشاهده نمونه های بیشتری از نمودارهای رسم شده با استفاده از کتابخانه های مختلف، می توانید به [گالری نمودارهای پایتون](https://www.python-graph-gallery.com/) مراجعه کنید.
282312

@@ -323,26 +353,27 @@ plt.show()
323353

324354
در اینجا فهرست کوتاهی از چند کتابخانه ی علمی مهم برای پایتون که پیشتر نگفتیم برایتان آورده ایم:
325355

326-
[SymPy](http://www.sympy.org/): برای جبر نمادین، از جمله محاسبه ی حد، مشتق و انتگرال
356+
* [SymPy](http://www.sympy.org/): برای جبر نمادین، از جمله محاسبه ی حد، مشتق و انتگرال
357+
358+
* [statsmodels](http://statsmodels.sourceforge.net/): برای توابع آماری
327359

328-
[statsmodels](http://statsmodels.sourceforge.net/): برای توابع آماری
360+
* [scikit-learn](http://scikit-learn.org/): برای یادگیری ماشین
329361

330-
[scikit-learn](http://scikit-learn.org/): برای یادگیری ماشین
362+
* [Keras](https://keras.io/): برای یادگیری ماشین
331363

332-
[Keras](https://keras.io/): برای یادگیری ماشین
364+
* [Pyro](https://pyro.ai/) و [PyStan](https://pystan.readthedocs.org/en/latest/): برای تحلیل داده های بیزی
333365

334-
[Pyro](https://pyro.ai/) و [PyStan](https://pystan.readthedocs.org/en/latest/): برای تحلیل داده های بیزی
366+
* [GeoPandas](https://geopandas.org/en/stable/): برای تحلیل داده های مکانی
335367

336-
[GeoPandas](https://geopandas.org/en/stable/): برای تحلیل داده های مکانی
368+
* [Dask](https://docs.dask.org/en/stable/): برای پردازش موازی
337369

338-
[Dask](https://docs.dask.org/en/stable/): برای پردازش موازی
370+
* [Numba](http://numba.pydata.org/): اجرای پایتون با سرعت برابر با کدهای سطح پایین قابل اجرا توسط سخت افزار
339371

340-
[Numba](http://numba.pydata.org/): اجرای پایتون با سرعت برابر با کدهای سطح پایین قابل اجرا توسط سخت افزار
372+
* [CVXPY](https://www.cvxpy.org/): برای بهینه سازی محدب
341373

342-
[CVXPY](https://www.cvxpy.org/): برای بهینه سازی محدب
374+
* [scikit-image](https://scikit-image.org/) و [OpenCV](https://opencv.org/): برای پردازش و تحلیل داده های تصویری
343375

344-
[scikit-image](https://scikit-image.org/) و [OpenCV](https://opencv.org/): برای پردازش و تحلیل داده های تصویری
376+
* [BeautifulSoup](https://www.crummy.com/software/BeautifulSoup/bs4/doc/): XML و HTML برای استخراج داده ها از فایل های
345377

346-
[BeautifulSoup](https://www.crummy.com/software/BeautifulSoup/bs4/doc/): XML و HTML برای استخراج داده ها از فایل های
347378

348379
در این مجموعه خواهیم آموخت که چگونه از بسیاری از این کتابخانه ها برای کارهای محاسباتی علمی در اقتصاد و امور مالی استفاده کنیم.

lectures/getting_started.md

Lines changed: 49 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,18 @@ kernelspec:
1212
# بیاین شروع کنیم
1313

1414
## مقدمه
15-
در این بخش شما خواهید آموخت که چگونه:
1615

17-
از پایتون در فضای ابری استفاده کنید
16+
در این بخش شما خواهید آموخت که چگونه:
1817

19-
یک محیط محلی پایتون راه اندازی و اجرا کنید
18+
1. از پایتون در فضای ابری استفاده کنید
2019

21-
دستورات ساده ی پایتون را اجرا کنید
20+
1. یک محیط محلی پایتون راه اندازی و اجرا کنید
2221

23-
یک نمونه از برنامه را اجرا کنید
22+
1. دستورات ساده ی پایتون را اجرا کنید
23+
24+
1. یک نمونه از برنامه را اجرا کنید
2425

25-
کتابخانه های برنامه نویسی موردنیاز برای این دوره را نصب کنید
26+
1. کتابخانه های برنامه نویسی موردنیاز برای این دوره را نصب کنید
2627

2728

2829
## پایتون در فضای ابری
@@ -55,8 +56,9 @@ kernelspec:
5556
نکات:
5657

5758

58-
اطمینان حاصل کنید که نسخه ی مناسب سیستم عامل خود را نصب می کنید.
59-
اگر در طول فرایند نصب از شما پرسیده شد که آیا آناکوندا را به عنوان نصب پیش فرض پایتون انتخاب می کنید، گزینه "بله" را انتخاب کنید.
59+
* اطمینان حاصل کنید که نسخه ی مناسب سیستم عامل خود را نصب می کنید.
60+
61+
* اگر در طول فرایند نصب از شما پرسیده شد که آیا آناکوندا را به عنوان نصب پیش فرض پایتون انتخاب می کنید، گزینه "بله" را انتخاب کنید.
6062

6163

6264
### به روزرسانی آناکوندا
@@ -65,7 +67,7 @@ kernelspec:
6567

6668
1. یک ترمینال باز کنید
6769

68-
2.عبارت ` conda update anaconda ` را تایپ کنید
70+
1. عبارت ` conda update anaconda ` را تایپ کنید
6971

7072

7173
برای اطلاعات بیشتر درباره کوندا، در ترمینال عبارت " conda help " را تایپ کنید.
@@ -74,9 +76,11 @@ kernelspec:
7476
[ژوپیتر](http://jupyter.org/) نوت بوک ها یکی از چندین راه های قابل دسترس برای ارتباط برقرار کردن با پایتون هستند.
7577
ژوپیتر نوت بوک ها از یک رابط مبتنی بر مرورگر برای دسترسی به پایتون استفاده می کنند که دارای ویژگی های زیر است:
7678

77-
قابلیت نوشتن و اجرای دستورات پایتون
78-
خروجی قالب بندی شده در مرورگر، شامل جداول، نمودارها، انیمیشن ها و غیره
79-
امکان ترکیب متن قالب بندی شده و نمایش عبارات ریاضی
79+
* قابلیت نوشتن و اجرای دستورات پایتون
80+
81+
* خروجی قالب بندی شده در مرورگر، شامل جداول، نمودارها، انیمیشن ها و غیره
82+
83+
* امکان ترکیب متن قالب بندی شده و نمایش عبارات ریاضی
8084

8185

8286
به دلیل این قابلیت ها، امروزه ژوپیتر یکی از ابزارهای مهم در اکوسیستم محاسبات علمی محسوب می شود.
@@ -86,10 +90,13 @@ kernelspec:
8690

8791
درحالیکه ژوپیتر تنها روش برنامه نویسی در پایتون نیست، اما بهترین گزینه برای موقعیت هایی است که:
8892

89-
می خواهید برنامه نویسی با پایتون را شروع کنید
90-
ایده های جدید را آزمایش کنید یا فقط بخش های کوچکی از کد را بررسی کنید
91-
قصد دارید از محیط های تعاملی قدرتمند آنلاین مانند <a href="https://research.google.com/colaboratory/">Google Colab</a> استفاده کنید
92-
می خواهید ایده های علمی خود را با دانشجویان یا همکاران خود به اشتراک بگذارید و با آنها همکاری کنید
93+
* می خواهید برنامه نویسی با پایتون را شروع کنید
94+
95+
* ایده های جدید را آزمایش کنید یا فقط بخش های کوچکی از کد را بررسی کنید
96+
97+
* قصد دارید از محیط های تعاملی قدرتمند آنلاین مانند [Google Colab](https://research.google.com/colaboratory/) استفاده کنید
98+
99+
* می خواهید ایده های علمی خود را با دانشجویان یا همکاران خود به اشتراک بگذارید و با آنها همکاری کنید
93100

94101
این مجموعه دروس نیز برای اجرا در ژوپیتر نوت بوک ها طراحی شده اند.
95102

@@ -99,19 +106,20 @@ kernelspec:
99106

100107
برای اینکار می توانید:
101108

102-
در منوی برنامه های خود به دنبال Jupyter بگردید
103-
یک ترمینال باز کنید و دستور <code>jupyter notebook</code>را اجرا کنید
109+
* در منوی برنامه های خود به دنبال Jupyter بگردید
104110

105-
**کاربران ویندوز باید به جای "ترمینال" از "Anaconda Command Prompt" استفاده کنند.**
111+
* یک ترمینال باز کنید و دستور `jupyter notebook`را اجرا کنید
112+
* کاربران ویندوز باید به جای "ترمینال" از "Anaconda Command Prompt" استفاده کنند.
106113

107114
اگر روش دوم را انتخاب کنید، با چیزی مشابه تصویر زیر رو به رو خواهید شد.
108115

109116
![ترمینال](images/getting-started/starting_nb.png)
110117

111118
خروجی نشان می دهد که نوت بوک در `/http://localhost:8888` در حال اجرا است.
112119

113-
<code>localhost</code> اسم رایانه ی محلی شماست
114-
8888 <a href="https://research.google.com/colaboratory/">شماره پورتی</a> است که رایانه ی شما از آن استفاده می کند
120+
* `localhost` اسم رایانه ی محلی شماست
121+
122+
* `8888` [شماره پورتی](https://en.wikipedia.org/wiki/Port_%28computer_networking%29) است که رایانه ی شما از آن استفاده می کند
115123

116124

117125
بنابراین، هسته ی ژوپیتر در حال دریافت دستورات پایتون از طریق پورت 8888 در رایانه ی محلی شماست.
@@ -155,22 +163,25 @@ kernelspec:
155163

156164
دوحالت اصلی وجود دارد:
157165

158-
1.حالت ویرایش (Edit mode)
166+
1. حالت ویرایش (Edit mode)
167+
168+
* با یک کادر سبز دور سلول و یک مکان نمای چشمک زن مشخص می شود.
159169

160-
با یک کادر سبز دور سلول و یک مکان نمای چشمک زن مشخص می شود.
161-
هر چیزی که تایپ کنید، به همان شکل در سلول نوشته می شود.
170+
* هر چیزی که تایپ کنید، به همان شکل در سلول نوشته می شود.
162171

163172

164-
2.حالت فرمان (Command mode)
173+
1. حالت فرمان (Command mode)
165174

166-
کادر سبز با یک کادر آبی جایگزین می شود.
167-
کلیدهای صفحه کلید به عنوان فرمان تفسیر می شوند. (مثلا با زدن کلید <code>b</code> ، یک سلول جدید در زیر سلول فعلی ایجاد می شود).
175+
* کادر سبز با یک کادر آبی جایگزین می شود.
176+
177+
* کلیدهای صفحه کلید به عنوان فرمان تفسیر می شوند. (مثلا با زدن کلید `b` ، یک سلول جدید در زیر سلول فعلی ایجاد می شود).
168178

169179

170180
برای جا به جایی بین حالت ها:
171181

172-
برای رفتن از حالت ویرایش به حالت فرمان: کلید <code>Esc</code> یا <code>Ctrl + M</code> را بزنید.
173-
برای رفتن از حالت فرمان به حالت ویرایش: کلید <code>Enter</code> را فشار دهید یا درون یک سلول کلیک کنید.
182+
* برای رفتن از حالت ویرایش به حالت فرمان: کلید `Esc` یا `Ctrl-M` را بزنید.
183+
184+
* برای رفتن از حالت فرمان به حالت ویرایش: کلید `Enter` را فشار دهید یا درون یک سلول کلیک کنید.
174185

175186
وقتی به این رفتار حالت محور عادت کنید، کار با ژوپیتر نوت بوک بسیار سریع و کارآمد خواهد بود.
176187

@@ -223,13 +234,12 @@ plt.show()
223234
در جلسه ی قبل این خط از کد را اجرا کردیم: `import numpy as np`
224235

225236

226-
Numpy یک کتابخانه ی عددی است که به طور گسترده با آن کار خواهیم کرد.
237+
* Numpy یک کتابخانه ی عددی است که به طور گسترده با آن کار خواهیم کرد.
227238

228239

229240
بعد از این دستور، می توانیم به توابع کتابخانه Numpy با استفاده از نحو `np.function_name`دسترسی داشته باشیم.
230241

231-
برای مثال بیاید دستور <code>np.random.randn(3)</code> را امتحان کنید.
232-
242+
* برای مثال بیاید دستور `np.random.randn(3)` را امتحان کنید.
233243

234244
می توانیم ویژگی های مختلف `np` را با استفاده از کلید Tab بررسی کنیم.
235245

@@ -383,9 +393,9 @@ print("foobar")
383393

384394
اگر با کدی مواجه شدید که در یک فایل با پسوند `*.py` ذخیره شده است، لازم است به این دو سوال توجه کنید:
385395

386-
1.چگونه باید آن را اجرا کرد؟
396+
1. چگونه باید آن را اجرا کرد؟
387397

388-
2.چگونه می توان آن را ویرایش یا تغییری در آن اعمال کرد؟
398+
1. چگونه می توان آن را ویرایش یا تغییری در آن اعمال کرد؟
389399

390400
برای این کارها شما دو گزینه پیش روی خود دارید!
391401

@@ -410,8 +420,8 @@ print("foobar")
410420
یک ویرایشگر خوب امکانات زیر را ارائه می دهد:
411421

412422

413-
فرمان های کارآمد برای ویرایش متن(مثل کپی، جایگذاری، جست وجو و جایگزینی)
414-
برجسته سازی نحوی (syntax highlighting) برای خوانایی بهتر کد و امکانات مشابه دیگر
423+
* فرمان های کارآمد برای ویرایش متن(مثل کپی، جایگذاری، جست وجو و جایگزینی)
424+
* برجسته سازی نحوی (syntax highlighting) برای خوانایی بهتر کد و امکانات مشابه دیگر
415425

416426

417427
در حال حاضر، یکی از محبوب ترین ویرایشگرهای متنی برای برنامه نویسی [VS Code](https://code.visualstudio.com/) است، که کاربری بسیار آسانی دارد و افزونه های باکیفیت زیادی برای آن عرضه شده است.
@@ -434,14 +444,14 @@ print("foobar")
434444

435445
اکنون وقت آن است که:
436446

437-
1.مرورگر خود را اجرا کنید (یا اگر باز است، یک تب جدید باز کنید.)
447+
1. مرورگر خود را اجرا کنید (یا اگر باز است، یک تب جدید باز کنید.)
438448

439-
2.آدرسی که در مرحله قبل داده شده (مثلا `http://localhost:8888`) را در نوار آدرس وارد کنید.
449+
1. آدرسی که در مرحله قبل داده شده (مثلا `http://localhost:8888`) را در نوار آدرس وارد کنید.
440450

441451
اکنون باید بتوانید یک جلسه ی معمولی از نوت بوک ژوپیتر را اجرا کنید.
442452

443453
این روش، جایگزین دیگری برای اجرای نوت بوک است که می تواند در برخی موقعیت ها مفید باشد.
444-
برای نمونه، اگر صفحه ی وب تصادفا بسته شود ولی هسته ی ژوپیتر هنوز فعال باشد، همچنان میتوانید از این طریق دوباره به نوت بوک دسترسی پیدا کنید.
454+
برای نمونه، اگر صفحه ی وب تصادفا بسته شود ولی هسته ی ژوپیتر هنوز فعال باشد، همچنان می توانید از این طریق دوباره به نوت بوک دسترسی پیدا کنید.
445455

446456
```{exercise-end}
447457
```
80.9 KB
Loading
23.5 KB
Loading

0 commit comments

Comments
 (0)