@@ -27,7 +27,7 @@ msgstr ""
2727
2828#: ../../tutorial/classes.rst:5
2929msgid "Classes"
30- msgstr "کلاسها "
30+ msgstr "کلاسها "
3131
3232#: ../../tutorial/classes.rst:7
3333msgid ""
@@ -37,7 +37,7 @@ msgid ""
3737"attributes attached to it for maintaining its state. Class instances can "
3838"also have methods (defined by its class) for modifying its state."
3939msgstr ""
40- "کلاسها وسیلهای را برای بستهبندی کردن داده و عملکرد با هم فراهم میکنند. "
40+ "کلاسها وسیلهای را برای بستهبندی کردن داده و عملکرد با هم فراهم میکنند. "
4141"ایجاد یک کلاس جدید، نوع جدیدی ایجاد میکند که اجازه میدهد موارد جدیدی از آن "
4242"نوع ساخته شود. هر نمونه از کلاس میتواند صفاتی داشته باشد که به آن متصل شدهاند "
4343"تا وضعیت آن را حفظ کنند. نمونههای کلاس میتوانند همچنین متدهایی (که "
@@ -56,14 +56,14 @@ msgid ""
5656"nature of Python: they are created at runtime, and can be modified further "
5757"after creation."
5858msgstr ""
59- "در مقایسه با دیگر زبانهای برنامهنویسی، مکانیزم کلاس در پایتون کلاسها را "
59+ "در مقایسه با دیگر زبانهای برنامهنویسی، مکانیزم کلاس در پایتون کلاسها را "
6060"با حداقل قواعد و معناشناسی جدید اضافه میکند. این مکانیزم ترکیبی از مکانیزمهای "
61- "کلاسی است که در C++ و Modula-3 یافت میشود. کلاسهای پایتون تمام ویژگیهای "
62- "استاندارد برنامهنویسی شیءگرا را فراهم میکنند: مکانیزم ارث بری کلاسها "
63- "اجازه میدهد کلاسهای پایهی متعددی داشته باشید، یک کلاس مشتق میتواند هر یک "
64- "از متدهای کلاسهای پایهی خود را بازنویسی کند و یک متد میتواند متدی از کلاس "
61+ "کلاسی است که در C++ و Modula-3 یافت میشود. کلاسهای پایتون تمام ویژگیهای "
62+ "استاندارد برنامهنویسی شیءگرا را فراهم میکنند: مکانیزم ارث بری کلاسها "
63+ "اجازه میدهد کلاسهای پایهی متعددی داشته باشید، یک کلاس مشتق میتواند هر یک "
64+ "از متدهای کلاسهای پایهی خود را بازنویسی کند و یک متد میتواند متدی از کلاس "
6565"پایه با همان نام را فراخوانی کند. اشیاء میتوانند حاوی مقادیر و انواع دادهای "
66- "دلخواه باشند. همانطور که برای ماژولها صادق است، کلاسها نیز از طبیعت "
66+ "دلخواه باشند. همانطور که برای ماژولها صادق است، کلاسها نیز از طبیعت "
6767"پویا در پایتون برخوردارند: آنها در زمان اجرا ایجاد میشوند و میتوانند پس "
6868"از ایجاد بیشتر تغییر داده شوند."
6969
@@ -86,9 +86,9 @@ msgstr ""
8686"مجازی هستند. همانطور که در Modula-3، هیچ میانبرهایی برای ارجاع به اعضای "
8787"شیء از متدهای آن وجود ندارد: تابع متد با یک آرگومان اول صریح که نمایانگر شیء "
8888"است، اعلام میشود که این آرگومان به صورت ضمنی توسط فراخوانی فراهم میشود. "
89- "همانطور که در Smalltalk، خود کلاسها اشیاء هستند. این ویژگی معناشناسی برای "
89+ "همانطور که در Smalltalk، خود کلاسها اشیاء هستند. این ویژگی معناشناسی برای "
9090"وارد کردن و تغییر نام را فراهم میآورد. برخلاف C++ و Modula-3، نوعهای داخلی "
91- "میتوانند بهعنوان کلاسهای پایه برای توسعه توسط کاربر استفاده شوند. همچنین، "
91+ "میتوانند بهعنوان کلاسهای پایه برای توسعه توسط کاربر استفاده شوند. همچنین، "
9292"مانند C++، بیشتر عملگرهای داخلی با نحوی خاص (عملگرهای ریاضی، زیرنویسی و "
9393"غیره) میتوانند برای نمونههای کلاس بازتعریف شوند."
9494
@@ -99,7 +99,7 @@ msgid ""
9999"since its object-oriented semantics are closer to those of Python than C++, "
100100"but I expect that few readers have heard of it.)"
101101msgstr ""
102- "(با نبود اصطلاحات پذیرفته شده جهانی برای صحبت دربارهی کلاسها ، گاهی از "
102+ "(با نبود اصطلاحات پذیرفته شده جهانی برای صحبت دربارهی کلاسها ، گاهی از "
103103"اصطلاحات Smalltalk و C++ استفاده خواهم کرد. من از اصطلاحات Modula-3 استفاده "
104104"میکردم، چون معنای شیءگرای آن به پایتون نزدیکتر از C++ است، اما انتظار دارم "
105105"که تعداد کمی از خوانندگان با آن آشنا باشند.)"
@@ -148,8 +148,8 @@ msgid ""
148148"understand what's going on. Incidentally, knowledge about this subject is "
149149"useful for any advanced Python programmer."
150150msgstr ""
151- "قبل از معرفی کلاسها ، ابتدا باید چیزی دربارهی قوانین حوزه در پایتون به شما "
152- "بگویم. تعریف کلاسها چند ترفند جالب با فضاهای نام انجام میدهد و برای اینکه "
151+ "قبل از معرفی کلاسها ، ابتدا باید چیزی دربارهی قوانین حوزه در پایتون به شما "
152+ "بگویم. تعریف کلاسها چند ترفند جالب با فضاهای نام انجام میدهد و برای اینکه "
153153"بهطور کامل متوجه شوید چه میگذرد، باید بدانید که حوزهها و فضاهای نام چگونه "
154154"کار میکنند. ضمناً، آگاهی از این موضوع برای هر برنامهنویس پیشرفتهی پایتون "
155155"مفید است."
@@ -323,7 +323,7 @@ msgid ""
323323msgstr ""
324324"معمولاً، محدودهی محلی به نامهای محلی تابع جاری (از نظر متنی) ارجاع میدهد. "
325325"در خارج از توابع، محدودهی محلی به همان فضای نامی ارجاع میدهد که محدودهی سراسری "
326- "به آن ارجاع میدهد: فضای نام ماژول. تعاریف کلاسها ، فضای نام دیگری را در محدودهی محلی قرار میدهند."
326+ "به آن ارجاع میدهد: فضای نام ماژول. تعاریف کلاسها ، فضای نام دیگری را در محدودهی محلی قرار میدهند."
327327
328328#: ../../tutorial/classes.rst:138
329329msgid ""
@@ -472,14 +472,14 @@ msgstr ""
472472
473473#: ../../tutorial/classes.rst:212
474474msgid "A First Look at Classes"
475- msgstr "در نگاه اول به کلاسها "
475+ msgstr "در نگاه اول به کلاسها "
476476
477477#: ../../tutorial/classes.rst:214
478478msgid ""
479479"Classes introduce a little bit of new syntax, three new object types, and "
480480"some new semantics."
481481msgstr ""
482- "کلاسها کمی نحو جدید، سه نوع شیء جدید، و "
482+ "کلاسها کمی نحو جدید، سه نوع شیء جدید، و "
483483"مفاهیم معنایی جدیدی را معرفی میکنند."
484484
485485#: ../../tutorial/classes.rst:221
@@ -513,7 +513,7 @@ msgid ""
513513"a class definition in a branch of an :keyword:`if` statement, or inside a "
514514"function.)"
515515msgstr ""
516- "تعاریف کلاسها ، مانند تعاریف توابع (دستورات :keyword:`def`)، "
516+ "تعاریف کلاسها ، مانند تعاریف توابع (دستورات :keyword:`def`)، "
517517"باید قبل از اینکه تأثیری داشته باشند، اجرا شوند. (بهطور تئوری میتوانید "
518518"یک تعریف کلاس را در یک شاخه از دستور :keyword:`if` یا داخل یک تابع قرار دهید.)"
519519
@@ -642,7 +642,7 @@ msgid ""
642642"named :meth:`~object.__init__`, like this::"
643643msgstr ""
644644"عملیات نمونهسازی (که «فراخوانی» یک شیء کلاس است) یک شیء خالی ایجاد میکند. "
645- "بسیاری از کلاسها ترجیح میدهند اشیایی با نمونههایی ایجاد کنند که به یک حالت اولیهی خاص سفارشیسازی شدهاند. "
645+ "بسیاری از کلاسها ترجیح میدهند اشیایی با نمونههایی ایجاد کنند که به یک حالت اولیهی خاص سفارشیسازی شدهاند. "
646646"بنابراین، یک کلاس ممکن است یک متد ویژه به نام :meth:`~object.__init__` تعریف کند، "
647647"مانند این::"
648648
@@ -768,7 +768,7 @@ msgstr "متد اشیاء"
768768
769769#: ../../tutorial/classes.rst:358
770770msgid "Usually, a method is called right after it is bound::"
771- msgstr "معمولاً، یک متد بلافاصله پس از اتصال فراخوانی میشود::" "
771+ msgstr "معمولاً، یک متد بلافاصله پس از اتصال فراخوانی میشود::"
772772
773773#: ../../tutorial/classes.rst:360
774774msgid "x.f()"
@@ -1041,7 +1041,7 @@ msgid ""
10411041"can be used by extensions to Python written in C.)"
10421042msgstr ""
10431043"ویژگیهای داده ممکن است هم توسط متدها و هم توسط کاربران عادی "
1044- "(\" clients\" ) یک شیء ارجاع داده شوند. به عبارت دیگر، کلاسها برای "
1044+ "(\" clients\" ) یک شیء ارجاع داده شوند. به عبارت دیگر، کلاسها برای "
10451045"پیادهسازی انواع دادهی انتزاعی خالص قابل استفاده نیستند. در واقع، هیچ چیزی در پایتون "
10461046"امکان اعمال پنهانسازی داده را فراهم نمیکند --- همهچیز بر اساس قرارداد است. (از "
10471047"سوی دیگر، پیادهسازی پایتون که به زبان C نوشته شده است، میتواند جزئیات پیادهسازی را کاملاً پنهان کند "
@@ -1190,7 +1190,7 @@ msgstr ""
11901190"دلیل خوبی برای استفاده از دادههای سراسری در یک متد یافت میشود، اما کاربردهای "
11911191"مشروع زیادی برای محدودهی سراسری وجود دارد: برای یک چیز، توابع و ماژولهایی "
11921192"که به محدودهی سراسری ایمپورت شدهاند، میتوانند توسط متدها استفاده شوند، همچنین توابع "
1193- "و کلاسهای تعریفشده در آن. معمولاً، کلاسی که شامل متد است، "
1193+ "و کلاسهای تعریفشده در آن. معمولاً، کلاسی که شامل متد است، "
11941194"خود در این محدودهی سراسری تعریف میشود، و در بخش بعدی دلایل خوبی "
11951195"خواهیم یافت که چرا یک متد ممکن است بخواهد به کلاس خودش ارجاع دهد."
11961196
@@ -1272,10 +1272,10 @@ msgid ""
12721272"searched, descending down the chain of base classes if necessary, and the "
12731273"method reference is valid if this yields a function object."
12741274msgstr ""
1275- "هیچ نکتهی خاصی دربارهی نمونهسازی کلاسهای مشتقشده وجود ندارد: "
1275+ "هیچ نکتهی خاصی دربارهی نمونهسازی کلاسهای مشتقشده وجود ندارد: "
12761276"``DerivedClassName()`` یک نمونهی جدید از کلاس ایجاد میکند. ارجاعهای متد "
12771277"بهصورت زیر حل میشوند: ویژگی کلاس متناظر "
1278- "جستجو میشود، در صورت لزوم در زنجیرهی کلاسهای پایه به پایین میرود، و "
1278+ "جستجو میشود، در صورت لزوم در زنجیرهی کلاسهای پایه به پایین میرود، و "
12791279"ارجاع متد در صورتی معتبر است که این جستجو به یک شیء تابع منجر شود."
12801280
12811281#: ../../tutorial/classes.rst:599
@@ -1286,7 +1286,7 @@ msgid ""
12861286"class may end up calling a method of a derived class that overrides it. "
12871287"(For C++ programmers: all methods in Python are effectively ``virtual``.)"
12881288msgstr ""
1289- "کلاسهای مشتقشده ممکن است متدهای کلاسهای پایهی خود را بازنویسی کنند. از آنجایی که متدها "
1289+ "کلاسهای مشتقشده ممکن است متدهای کلاسهای پایهی خود را بازنویسی کنند. از آنجایی که متدها "
12901290"هنگام فراخوانی سایر متدهای همان شیء، امتیاز ویژهای ندارند، یک "
12911291"متد از یک کلاس پایه که متد دیگری را که در همان کلاس پایه تعریف شده فراخوانی میکند، ممکن است "
12921292"در نهایت متدی از یک کلاس مشتقشده را فراخوانی کند که آن را بازنویسی کرده است. "
@@ -1329,7 +1329,7 @@ msgid ""
13291329"``issubclass(float, int)`` is ``False`` since :class:`float` is not a "
13301330"subclass of :class:`int`."
13311331msgstr ""
1332- "برای بررسی ارثبری کلاسها از :func:`issubclass` استفاده کنید: ``issubclass(bool, int)`` "
1332+ "برای بررسی ارثبری کلاسها از :func:`issubclass` استفاده کنید: ``issubclass(bool, int)`` "
13331333"مقدار ``True`` است چون :class:`bool` زیرکلاسی از :class:`int` است. با این حال، "
13341334"``issubclass(float, int)`` مقدار ``False`` است چون :class:`float` زیرکلاسی از "
13351335":class:`int` نیست."
@@ -1376,7 +1376,7 @@ msgstr ""
13761376"ویژگیهای بهارثبردهشده از یک کلاس والد را بهصورت عمقاول، چپبهراست، "
13771377"بدون جستجوی دوباره در همان کلاس در جایی که همپوشانی در سلسلهمراتب وجود دارد، "
13781378"در نظر بگیرید. بنابراین، اگر ویژگیای در :class:`!DerivedClassName` یافت نشد، "
1379- "در :class:`!Base1` جستجو میشود، سپس (بهصورت بازگشتی) در کلاسهای پایهی "
1379+ "در :class:`!Base1` جستجو میشود، سپس (بهصورت بازگشتی) در کلاسهای پایهی "
13801380":class:`!Base1`، و اگر در آنجا یافت نشد، در "
13811381":class:`!Base2` جستجو میشود، و به همین ترتیب."
13821382
@@ -1410,16 +1410,16 @@ msgid ""
14101410"multiple inheritance. For more detail, see :ref:`python_2.3_mro`."
14111411msgstr ""
14121412"ترتیبدهی پویا ضروری است زیرا همهی موارد ارثبری چندگانه "
1413- "دارای یک یا چند رابطهی الماسی هستند (جایی که حداقل یکی از کلاسهای "
1413+ "دارای یک یا چند رابطهی الماسی هستند (جایی که حداقل یکی از کلاسهای "
14141414"والد از طریق چندین مسیر از پایینترین کلاس قابل دسترسی است). "
1415- "برای مثال، همهی کلاسها از :class:`object` ارثبری میکنند، بنابراین هر موردی از "
1415+ "برای مثال، همهی کلاسها از :class:`object` ارثبری میکنند، بنابراین هر موردی از "
14161416"ارثبری چندگانه بیش از یک مسیر برای رسیدن به :class:`object` فراهم میکند. "
1417- "برای جلوگیری از دسترسی بیش از یک بار به کلاسهای پایه، الگوریتم پویا "
1417+ "برای جلوگیری از دسترسی بیش از یک بار به کلاسهای پایه، الگوریتم پویا "
14181418"ترتیب جستجو را بهگونهای خطیسازی میکند که ترتیب چپبهراست "
14191419"مشخصشده در هر کلاس را حفظ کند، که هر والد را فقط یک بار فراخوانی میکند، "
14201420"و یکنواخت است (به این معنی که یک کلاس میتواند زیرکلاس داشته باشد بدون "
14211421"اینکه بر ترتیب اولویت والدین آن تأثیر بگذارد). این ویژگیها در کنار هم، "
1422- "طراحی کلاسهای قابل اعتماد و قابل توسعه با "
1422+ "طراحی کلاسهای قابل اعتماد و قابل توسعه با "
14231423"ارثبری چندگانه را ممکن میسازند. برای جزئیات بیشتر، به :ref:`python_2.3_mro` مراجعه کنید."
14241424
14251425#: ../../tutorial/classes.rst:670
@@ -1454,7 +1454,7 @@ msgid ""
14541454"the identifier, as long as it occurs within the definition of a class."
14551455msgstr ""
14561456"از آنجا که یک مورد استفادهی معتبر برای اعضای خصوصی کلاس وجود دارد (بهویژه برای جلوگیری از "
1457- "برخورد نامها با نامهای تعریفشده توسط زیرکلاسها )، پشتیبانی محدودی "
1457+ "برخورد نامها با نامهای تعریفشده توسط زیرکلاسها )، پشتیبانی محدودی "
14581458"برای چنین مکانیزمی، به نام :dfn:`name mangling` (دستکاری نام) وجود دارد. هر شناسهای "
14591459"به شکل ``__spam`` (حداقل دو زیرخط در ابتدا، حداکثر یک "
14601460"زیرخط در انتها) بهصورت متنی با ``_classname__spam`` جایگزین میشود، که در آن "
@@ -1475,7 +1475,7 @@ msgid ""
14751475"Name mangling is helpful for letting subclasses override methods without "
14761476"breaking intraclass method calls. For example::"
14771477msgstr ""
1478- "دستکاری نام برای این مفید است که به زیرکلاسها اجازه دهد متدها را بدون "
1478+ "دستکاری نام برای این مفید است که به زیرکلاسها اجازه دهد متدها را بدون "
14791479"شکستن فراخوانیهای متد درونکلاسی بازنویسی کنند. برای مثال::"
14801480
14811481#: ../../tutorial/classes.rst:699
@@ -1733,7 +1733,7 @@ msgid ""
17331733"``self``::"
17341734msgstr ""
17351735"حالا که با سازوکار پشت پروتکل تکرارگر آشنا شدید، اضافه کردن "
1736- "رفتار تکرارگر به کلاسهایتان آسان است. یک متد :meth:`~container.__iter__` تعریف کنید "
1736+ "رفتار تکرارگر به کلاسهایتان آسان است. یک متد :meth:`~container.__iter__` تعریف کنید "
17371737"که یک شیء با متد :meth:`~iterator.__next__` برمیگرداند. اگر "
17381738"کلاس :meth:`!__next__` را تعریف کرده باشد، آنگاه :meth:`!__iter__` میتواند فقط "
17391739"``self`` را برگرداند::"
0 commit comments