You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: lessons/l01.rst
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@
23
23
24
24
یک سال بعد آقای روسوم از پایتون در پروژه آمیب استفاده میکند؛ نتیجه مطلوب و نیز بازخورد آن در بین همکارانش موجب میشود تا وی به بسیاری از بهینه سازیهای اولیه در پایتون اقدام نماید. این روند ادامه مییابد تا اینکه سرانجام در ماه دوم از سال ۱۹۹۱ میلادی این زبان را با نسخه 0.9.0 و تحت پروانهای مشابه با پروانه `MIT <http://en.wikipedia.org/wiki/MIT_License>`_ از طریق یکی از «گروههای خبری» (یوزنت Usenet) با عنوان `alt.sources <http://www.faqs.org/faqs/alt-sources-intro>`_ منتشر میسازد که با استقبال بالایی نیز رو به رو میگردد.
25
25
26
-
منشا انتخاب نام پایتون توسط آقای روسوم برخلاف تصور عمومی یا آنچه که از لوگوی آن مشاهده میشود به نوع خاصی از مار! مربوط نمیشود، در حقیقت این نام برگرفته از یک سریال کمدی تولید انگلستان با عنوان ”`Monty Python's Flying Circus <http://en.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus>`_“ میباشد که پخش اصلی آن در طی سالهای ۱۹۶۹ تا ۱۹۷۴ میلادی از شبکه BBC One بوده است.
26
+
منشا انتخاب نام پایتون توسط آقای روسوم برخلاف تصور عمومی یا آنچه که از لوگوی آن مشاهده میشود به نوع خاصی از مار مربوط نمیشود!؛ در حقیقت این نام برگرفته از یک سریال کمدی تولید انگلستان با عنوان ”`Monty Python's Flying Circus <http://en.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus>`_“ میباشد که پخش اصلی آن در طی سالهای ۱۹۶۹ تا ۱۹۷۴ میلادی از شبکه BBC One بوده است.
27
27
28
28
توصیفی کوتاه
29
29
--------------
@@ -45,7 +45,7 @@ CPython (سیپایتون) پیادهسازی استاندارد و اصل
45
45
46
46
ویژگیها
47
47
---------
48
-
**پایتون** یک زبان برنامهنویسی رایگان و متن باز (Open Source) است که هماکنون (یعنی از نسخه 2.1 و جدیدتر) پروانه آن توسط «بنیاد نرمافزار پایتون» `PSF <http://www.python.org/psf>`_ اداره میگردد. پروانه پایتون سازگار با پروانه `GPL3 <http://en.wikipedia.org/wiki/GNU_General_Public_License>`_ است، با این حال به برنامهنویس این اجازه را میدهد که بتواند برنامهای با سورس بسته (Closed Source) تولید نماید.
48
+
**پایتون** یک زبان برنامهنویسی رایگان، متن باز (Open Source) و آزاد است که هماکنون (یعنی از نسخه 2.1 و جدیدتر) پروانه آن توسط «بنیاد نرمافزار پایتون» `PSF <http://www.python.org/psf>`_ اداره میگردد. پروانه پایتون سازگار با پروانه `GPL3 <http://en.wikipedia.org/wiki/GNU_General_Public_License>`_ است، با این حال به برنامهنویس این اجازه را میدهد که بتواند برنامهای با سورس بسته (Closed Source) تولید نماید.
49
49
50
50
زبان پایتون از اجزای بسته نرمافزاری LAMP نیز به شمار میرود. این بسته عبارت است از: Linux ~ سیستم عامل / Apache ~ وب سرور / MySQL یا MariaDB ~ پایگاه داده / Python یا Perl یا PHP ~ زبان برنامهنویسی.
51
51
@@ -57,7 +57,7 @@ CPython (سیپایتون) پیادهسازی استاندارد و اصل
57
57
58
58
**پایتون** یک زبان برنامهنویسی پویا (Dynamic) بوده و نیز از قابلیت مدیریت خودکار حافظه برخوردار است. این زبان شباهتهایی با TCL ،Perl ،Ruby ،PHP یا دیگر زبانهای برنامهنویسی پویا دارد. در این نوع زبانها برخلاف زبانهای ایستا (Static) مانند C++ ،C و Java نیازی به تعریف صریح نوع متغیرها [#f7]_ (Variables) نیست و همچنین نوع متغیر در طول برنامه قابل تغییر است. در زبانهای پویا متغیرها از خود نوعی ندارند و تصمیم گیری برای تخصیص نوع در «زمان اجرا» (RunTime) انجام میپذیرد.
59
59
60
-
بر خلاف زبان C، در پایتون اختصاص و آزادسازی حافظه (RAM) به صورت خودکار انجام میشود. پایتون برای آزادسازی حافظه از دو روش «شمارش ارجاع» (Reference Counting) و «زباله روبی» [#f8]_ (Garbage Collection) بهره میگیرد. (البته فراموش نشود که صحبت در مورد پیادهسازی CPython است)
60
+
بر خلاف زبان C، در پایتون اختصاص و آزادسازی حافظه (Memory) به صورت خودکار انجام میشود. پایتون برای آزادسازی حافظه از دو روش «شمارش ارجاع» (Reference Counting) و «زباله روبی» [#f8]_ (Garbage Collection) بهره میگیرد. (البته فراموش نشود که صحبت در مورد پیادهسازی CPython است)
61
61
62
62
با اینکه پایتون یک زبان پویاست ولی در عین حال یک زبان «وابسته شدید به نوع» (Strongly Typed) نیز میباشد. در این نوع زبانها (به مانند Java) تغییر ناگهانی و خودکار نوع داده (یا شی) انجام نمیشود؛ به عنوان نمونه چنانچه در پایتون عمل جمع بین یک نوع داده عددی مانند ``3`` و یک نوع داده غیر عددی مانند ``"7"`` صورت گیرد، یک خطای ``TypeError`` گزارش میگردد. در مقابل، زبانهای «وابسته ضعیف به نوع» (Weak Typed) قرار دارند؛ در این زبانها (به مانند Perl) نوع بر حسب موقعیت به صورت خودکار تغییر داده میشوند. در این مورد زبانهای برنامهنویسی رفتارهای متفاوتی دارند، به عنوان نمونه حاصل عبارت ``"7" + 3`` در زبان Perl با تبدیل (Convert) خودکار نوع داده غیر عددی ``"7"`` به عدد (``7``)، مقدار ``10`` محاسبه میگردد.
63
63
@@ -121,7 +121,7 @@ CPython (سیپایتون) پیادهسازی استاندارد و اصل
121
121
122
122
در هر پروژهای بسته به چیزی که میخواهیم میبایست انتخاب نماییم. اگر مبنای کارایی برای یک پروژه در سرعت بالای اجرا باشد (مانند برنامههای سیستمی)؛ زبان C همیشه بهترین انتخاب است ولی اگر مبنا در سرعت بالای توسعه و صرفه جویی در منابع از جمله هزینه باشد انتخاب مناسب پایتون است. گاهی نیز بهترین کارایی با استفاده ترکیبی از زبانهای متفاوت به دست میآید.
123
123
124
-
در بسیاری از کاربردها سرعت پایتون کاملا قابل قبول است، وجود بایتکد موجب افزایش سرعت در اجراهای بعدی برنامه میشود و نکات برنامهنویسی زیادی برای بهبود سرعت اجرا در پایتون وجود دارد که در این کتاب به تدریج اشاره خواهد شد. نباید فراموش نکنیم که یکی از مهمترین عاملهای کارایی داشتن الگوریتمی بهینه است و البته نوشتن ماژولها به زبان C نیز موجب افزایش قابل توجه کارایی پایتون میشود - `پایتون کند است اگر اشتباه استفاده شود <http://apenwarr.ca/diary/2011-10-pycodeconf-apenwarr.pdf>`_ - با این وجود در حالت عادی اگر هزار مورد وجود داشته باشد که پایتون برای آنها بهترین انتخاب باشد، سرعت یکی از آنها نخواهد بود و برای توسعه برنامههایی که سرعت اجرا نقش تعیین کننده دارد باید از زبانهای دیگری استفاده نمایید.
124
+
در بسیاری از کاربردها سرعت پایتون کاملا قابل قبول است، وجود بایتکد موجب افزایش سرعت در اجراهای بعدی برنامه میشود و نکات برنامهنویسی زیادی برای بهبود سرعت اجرا در پایتون وجود دارد که در این کتاب به تدریج اشاره خواهد شد. نباید فراموش کرد که یکی از مهمترین عاملهای کارایی داشتن الگوریتمی بهینه است و البته نوشتن ماژولها به زبان C نیز موجب افزایش قابل توجه کارایی پایتون میشود - `پایتون کند است اگر اشتباه استفاده شود <http://apenwarr.ca/diary/2011-10-pycodeconf-apenwarr.pdf>`_ - با این وجود در حالت عادی اگر هزار مورد وجود داشته باشد که پایتون برای آنها بهترین انتخاب باشد، سرعت یکی از آنها نخواهد بود و برای توسعه برنامههایی که سرعت اجرا نقش تعیین کننده دارد باید از زبانهای دیگری استفاده نمایید.
125
125
126
126
لازم است به این نکته هم توجه داشته باشیم که تمام این صحبتها در مورد پیادهسازی CPython از زبان پایتون بوده و پیادهسازیهای دیگری نیز از زبان پایتون با هدف سرعت بالای اجرا (به مانند `PyPy <http://pypy.org/>`_) توسعه یافته است.
Copy file name to clipboardExpand all lines: lessons/l02.rst
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@
8
8
9
9
درس ۰۲: نصب و راهاندازی
10
10
==========================
11
-
در این درس به چگونگی نصب و راهاندازی پایتون در دو سیستم عامل ویندوز و گنولینوکس پرداخته و در پایان نیز توضیح مختصری از «سیستم مدیریت بسته» پایتون ارائه شده است.
11
+
در این درس به چگونگی نصب و راهاندازی پایتون در دو سیستم عامل ویندوز و گنولینوکس پرداخته و در پایان نیز توضیح مختصری از «سیستم مدیریت بسته» پایتون ارایه شده است.
Copy file name to clipboardExpand all lines: lessons/l03.rst
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -158,7 +158,7 @@
158
158
159
159
بر همین اساس کدگذاری اسکریپت first_script_2x.py را به دلیل استفاده از کاراکترهایی خارج از مجموعه ASCII (÷ و ×) به UTF-8 تغییر دادهایم. پایتون 3x به صورت پیشفرض از استاندارد یونیکد پشتیبانی میکند.
160
160
161
-
در زبان پایتون هر متنی که بعد از کاراکتر ”Number sign“ یا # (در همان سطر) قرار بگیرد توسط مفسر پایتون نادیده گرفته میشود و تاثیری در روند ترجمه و اجرای کدها ندارد، به این نوع متن «توضیح» (کامنت Comment) گفته میشود و از آن برای مستندسازی (Documentation) ماژول یعنی ارایه توضیح در مورد بخشی از کد استفاده میگردد. ارائه توضیح نقش زیادی در خوانایی ماژول دارد و کمک میکند تا سایر افراد نیز بتوانند عملکرد کدهای ماژول (یا اسکریپت) شما را بفهمند.
161
+
در زبان پایتون هر متنی که بعد از کاراکتر ”Number sign“ یا # (در همان سطر) قرار بگیرد توسط مفسر پایتون نادیده گرفته میشود و تاثیری در روند ترجمه و اجرای کدها ندارد، به این نوع متن «توضیح» (کامنت Comment) گفته میشود و از آن برای مستندسازی (Documentation) ماژول یعنی ارایه توضیح در مورد بخشی از کد استفاده میگردد. ارایه توضیح نقش زیادی در خوانایی ماژول دارد و کمک میکند تا سایر افراد نیز بتوانند عملکرد کدهای ماژول (یا اسکریپت) شما را بفهمند.
162
162
163
163
.. note::
164
164
کاراکتر نخست عبارت تعیین کدگذاری نیز # است ولی این سطر کامنت نبوده و درک آن برای مفسر با ارزش میباشد.
Copy file name to clipboardExpand all lines: lessons/l04.rst
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,7 +18,7 @@
18
18
-------------
19
19
از درس پیش به خاطر داریم که کدهای پایتون را میتوان به دو روش اجرا نمود: ۱- ایجاد اسکریپت و معرفی آن به مفسر پایتون که در همان درس بررسی شد ۲- به شکل تعاملی با مفسر پایتون که موضوع همین درس است.
20
20
21
-
پایتون یک زبان برنامهنویسی با قابلیت «حالت تعاملی» (Interactive Mode) است؛ این قابلیت که مبتنی بر خط فرمان است، امکانی را برای پردازش و اجرای کدهای (دستورها، عبارتها [#f1]_ و تعریفها) زبان پایتون فراهم میآورد. کدنویسی در این حالت به مانند زمانی است که یک اسکریپت را ایجاد مینمایید؛ منتها با هر بار فشردن کلید Enter صفحه کلید، مفسر پایتون آن را به صورت خودکار اجرا میکند.
21
+
پایتون یک زبان برنامهنویسی با قابلیت «حالت تعاملی» (Interactive Mode) است؛ این قابلیت که مبتنی بر خط فرمان است، امکانی را برای پردازش و اجرای کدهای (دستورها، عبارتها [#f1]_ و تعریفها) زبان پایتون فراهم میآورد. کدنویسی در این حالت به مانند زمانی است که یک اسکریپت را ایجاد مینمایید؛ ولی با هر بار فشردن کلید Enter صفحه کلید، مفسر پایتون آن را به صورت خودکار اجرا میکند.
22
22
23
23
البته حالت تعاملی محدودیتهایی دارد که خواهید دید ولی از برخی زوایا بسیار مناسب و کاربردی است؛ به عنوان نمونه ممکن است قصد آزمودن یکی از قابلیتهای زبان پایتون را داشته باشید یا اینکه بخواهید خروجی یک قطعه کد کوتاه را مشاهده نمایید که در این صورت ایجاد اسکریپت و سپس اجرای آن میتواند کار پر زحمتی به نظر برسد!، از طرفی دریافت راهنمایی نیز از دیگر مزایای آن است که در یادآوری، شناخت و کسب آگاهی از موارد زبان پایتون (کلمههای کلیدی، تابعها، کلاسها، ماژولها و...) بسیار کاربردی و مفید میباشد، حتی برخی نیز از این حالت پایتون به عنوان یک ماشین حساب بهره میگیرند!.
24
24
@@ -329,7 +329,7 @@
329
329
330
330
* Qwarn: حاصل تقسیم دو عدد صحیح یک عدد صحیح باشد، به همراه نمایش پیام هشدار به ازای هر عملگر.
331
331
332
-
* Qwarnall: به مانند Qwarn است منتها به ازای تمام عملگرهای تقسیم به کار رفته در اسکریپت تنها یک پیام هشدار نمایش داده میشود.
332
+
* Qwarnall: به مانند Qwarn است ولی به ازای تمام عملگرهای تقسیم به کار رفته در اسکریپت تنها یک پیام هشدار نمایش داده میشود.
0 commit comments