Skip to content

Commit 2ebd471

Browse files
author
Saeid
committed
add banner to index
1 parent f3cc449 commit 2ebd471

2 files changed

Lines changed: 21 additions & 4 deletions

File tree

index.rst

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,17 @@
99
کتاب آزاد آموزش پایتون
1010
========================
1111

12+
13+
::
14+
15+
.-=-. .--.
16+
__ .' '. / " )
17+
_ .' '. / .-. \ / .-'\ PYTHON TUTORIAL
18+
( \ / .-. \ / / \ \ / / ^ IN PERSIAN
19+
\ `-` / \ `-' / \ `-` / "BATTERIES INCLUDED", ENJOY!
20+
jgs`-.-` '.____.' `.____.'
21+
22+
1223
این کتاب تلاشی است برای آموزش زبان برنامه‌نویسی پایتون (Python) بر پایه‌ پیاده‌سازی استاندارد آن (CPython)، به شکلی کامل و ساده که بتواند هر دو شاخه از پایتون (نسخه‌های 3x و 2x) را البته با محوریت نسخه 3x پوشش دهد و همچنین برای افرادی که تاکنون سابقه‌ برنامه‌نویسی نداشته‌اند نیز کاربردی و مفید باشد. یادگیری پایتون نیازی به پیش‌زمینه برنامه‌نویسی ندارد و تنها پیش‌نیاز آن علاقه خوانندگان به فن برنامه‌نویسی است.
1324

1425
.. toctree::
@@ -36,7 +47,7 @@
3647
log
3748
donate-report
3849
python-interactive
39-
50+
4051
|
4152
4253
.. note::

lessons/l18.rst

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -351,13 +351,19 @@
351351
param_4: 4
352352

353353

354-
**شیوه دوم:** فراخوانی تابع ``super`` یک سینتکس معادل نیز دارد که می‌توانیم از آن استفاده کنیم.
355-
356354
357355

358356

359-
**شیوه سوم:** رفتار تابع ``super`` را عمیق‌تر بشناسیم و درست از آن بهره بگیریم:
357+
**شیوه دوم:** رفتار تابع ``super`` را عمیق‌تر بشناسیم و درست از آن بهره بگیریم:
358+
359+
لازم است با **Method Resolution Order** یا به اختصار **MRO** در زبان برنامه‌نویسی پایتون آشنا شویم. همانطوری که از نام آن نیز مشخص است، **MRO** ترتیبی که می‌بایست بر اساس آن متدها به ارث برده شوند را مشخص می‌کند. پایتون برای این منظور از الگوریتم C3 linearization بهره گرفته است [`ویکی‌پدیا <https://en.wikipedia.org/wiki/C3_linearization>`__]. هر کلاس پایتون یک Special Attribute به اسم ``__mro__`` دارد که حاوی یک تاپل از ترتیب کلاس‌هایی است که در فرآیند MRO نقش دارند [`اسناد پایتون <https://docs.python.org/3/library/stdtypes.html#class.__mro__>`__]::
360+
361+
362+
>>> SubClass.__mro__
363+
(<class '__main__.SubClass'>, <class '__main__.SuperClassA'>, <class '__main__.SuperClassB'>, <class '__main__.SuperClassC'>, <class 'object'>)
364+
360365

366+
می‌دانیم که هر کلاس پایتون به صورت پیش‌فرض از کلاس ``object`` ارث‌بری دارد. از طرفی در فرآیند وراثت چندگانه ترتیب نوشتن superclassها در سرآیند subclass مهم است به این صورت که MRO پایتون برای یافتن متد مورد نظر کلاس‌های superclass را به ترتیب از سمت چپ به راست مورد جستجو قرار می‌دهد.
361367

362368
.. code-block:: python
363369
:linenos:

0 commit comments

Comments
 (0)