@@ -1184,23 +1184,37 @@ msgid ""
11841184"itself defined in this global scope, and in the next section we'll find some "
11851185"good reasons why a method would want to reference its own class."
11861186msgstr ""
1187+ "متدها ممکن است به نامهای سراسری به همان روشی که توابع معمولی اشاره میکنند، ارجاع دهند. "
1188+ "محدودهی سراسری مرتبط با یک متد، ماژولی است که شامل "
1189+ "تعریف آن است. (یک کلاس هرگز به عنوان محدودهی سراسری استفاده نمیشود.) اگرچه به ندرت "
1190+ "دلیل خوبی برای استفاده از دادههای سراسری در یک متد یافت میشود، اما کاربردهای "
1191+ "مشروع زیادی برای محدودهی سراسری وجود دارد: برای یک چیز، توابع و ماژولهایی "
1192+ "که به محدودهی سراسری ایمپورت شدهاند، میتوانند توسط متدها استفاده شوند، همچنین توابع "
1193+ "و کلاسهای تعریفشده در آن. معمولاً، کلاسی که شامل متد است، "
1194+ "خود در این محدودهی سراسری تعریف میشود، و در بخش بعدی دلایل خوبی "
1195+ "خواهیم یافت که چرا یک متد ممکن است بخواهد به کلاس خودش ارجاع دهد."
11871196
11881197#: ../../tutorial/classes.rst:559
11891198msgid ""
11901199"Each value is an object, and therefore has a *class* (also called its "
11911200"*type*). It is stored as ``object.__class__``."
11921201msgstr ""
1202+ "هر مقدار یک شیء است، و بنابراین دارای یک *کلاس* (که به آن "
1203+ "*تایپ* نیز گفته میشود) میباشد. این مقدار بهصورت ``object.__class__`` ذخیره میشود."
11931204
11941205#: ../../tutorial/classes.rst:566
11951206msgid "Inheritance"
1196- msgstr ""
1207+ msgstr "ارثبری "
11971208
11981209#: ../../tutorial/classes.rst:568
11991210msgid ""
12001211"Of course, a language feature would not be worthy of the name \" class\" "
12011212"without supporting inheritance. The syntax for a derived class definition "
12021213"looks like this::"
12031214msgstr ""
1215+ "مسلماً، یک ویژگی زبانی بدون پشتیبانی از ارثبری، شایستهی نام «کلاس» "
1216+ "نخواهد بود. نحو (سینتکس) تعریف یک کلاس مشتقشده (derived class) "
1217+ "به این شکل است::"
12041218
12051219#: ../../tutorial/classes.rst:572
12061220msgid ""
@@ -1211,6 +1225,12 @@ msgid ""
12111225" .\n"
12121226" <statement-N>"
12131227msgstr ""
1228+ "class DerivedClassName(BaseClassName):\n"
1229+ " <statement-1>\n"
1230+ " .\n"
1231+ " .\n"
1232+ " .\n"
1233+ " <statement-N>"
12141234
12151235#: ../../tutorial/classes.rst:579
12161236msgid ""
@@ -1219,10 +1239,14 @@ msgid ""
12191239"class name, other arbitrary expressions are also allowed. This can be "
12201240"useful, for example, when the base class is defined in another module::"
12211241msgstr ""
1242+ "نام :class:`!BaseClassName` باید در فضای نامی (namespace) تعریف شده باشد که از "
1243+ "محدودهای (scope) که شامل تعریف کلاس مشتقشده است، قابل دسترسی باشد. به جای نام "
1244+ "کلاس پایه، سایر عبارتهای دلخواه (arbitrary expressions) نیز مجاز هستند. این "
1245+ "میتواند مفید باشد، برای مثال، زمانی که کلاس پایه در ماژول دیگری تعریف شده است::"
12221246
12231247#: ../../tutorial/classes.rst:585
12241248msgid "class DerivedClassName(modname.BaseClassName):"
1225- msgstr ""
1249+ msgstr "class DerivedClassName(modname.BaseClassName): "
12261250
12271251#: ../../tutorial/classes.rst:587
12281252msgid ""
@@ -1233,6 +1257,12 @@ msgid ""
12331257"rule is applied recursively if the base class itself is derived from some "
12341258"other class."
12351259msgstr ""
1260+ "اجرای تعریف یک کلاس مشتقشده (derived class) به همان شیوهای است که برای یک کلاس "
1261+ "پایه انجام میشود. هنگامی که شیء کلاس ساخته میشود، کلاس پایه به خاطر سپرده میشود. "
1262+ "این (اطلاعات) برای حل کردن ارجاعات به ویژگیها (attribute references) استفاده میشود: اگر ویژگی درخواستی "
1263+ "در کلاس یافت نشود، جستجو در کلاس پایه ادامه مییابد. این "
1264+ "قاعده بهصورت بازگشتی اعمال میشود اگر خود کلاس پایه از کلاس "
1265+ "دیگری مشتق شده باشد."
12361266
12371267#: ../../tutorial/classes.rst:593
12381268msgid ""
@@ -1242,6 +1272,11 @@ msgid ""
12421272"searched, descending down the chain of base classes if necessary, and the "
12431273"method reference is valid if this yields a function object."
12441274msgstr ""
1275+ "هیچ نکتهی خاصی دربارهی نمونهسازی (instantiation) کلاسهای مشتقشده وجود ندارد: "
1276+ "``DerivedClassName()`` یک نمونهی جدید از کلاس ایجاد میکند. ارجاعهای متد "
1277+ "بهصورت زیر حل میشوند: ویژگی کلاس متناظر "
1278+ "جستجو میشود، در صورت لزوم در زنجیرهی کلاسهای پایه به پایین میرود، و "
1279+ "ارجاع متد در صورتی معتبر است که این جستجو به یک شیء تابع منجر شود."
12451280
12461281#: ../../tutorial/classes.rst:599
12471282msgid ""
@@ -1251,6 +1286,11 @@ msgid ""
12511286"class may end up calling a method of a derived class that overrides it. "
12521287"(For C++ programmers: all methods in Python are effectively ``virtual``.)"
12531288msgstr ""
1289+ "کلاسهای مشتقشده ممکن است متدهای کلاسهای پایهی خود را بازنویسی (override) کنند. از آنجایی که متدها "
1290+ "هنگام فراخوانی سایر متدهای همان شیء، امتیاز ویژهای ندارند، یک "
1291+ "متد از یک کلاس پایه که متد دیگری را که در همان کلاس پایه تعریف شده فراخوانی میکند، ممکن است "
1292+ "در نهایت متدی از یک کلاس مشتقشده را فراخوانی کند که آن را بازنویسی کرده است. "
1293+ "(برای برنامهنویسان C++: تمام متدها در پایتون بهطور مؤثر ``virtual`` هستند.)"
12541294
12551295#: ../../tutorial/classes.rst:605
12561296msgid ""
@@ -1261,17 +1301,26 @@ msgid ""
12611301"to clients as well. (Note that this only works if the base class is "
12621302"accessible as ``BaseClassName`` in the global scope.)"
12631303msgstr ""
1304+ "یک متد بازنویسیشده (override) در یک کلاس مشتقشده ممکن است در واقع بخواهد به جای "
1305+ "اینکه صرفاً متد کلاس پایه را با همین نام جایگزین کند، آن را گسترش دهد. یک "
1306+ "راه ساده برای فراخوانی مستقیم متد کلاس پایه وجود دارد: فقط "
1307+ "``BaseClassName.methodname(self, arguments)`` را فراخوانی کنید. این روش گاهی برای "
1308+ "کاربران (clients) نیز مفید است. (توجه داشته باشید که این روش تنها زمانی کار میکند که کلاس پایه "
1309+ "به عنوان ``BaseClassName`` در محدودهی سراسری (global scope) قابل دسترسی باشد.)"
12641310
12651311#: ../../tutorial/classes.rst:612
12661312msgid "Python has two built-in functions that work with inheritance:"
1267- msgstr ""
1313+ msgstr "پایتون دو تابع داخلی دارد که با ارثبری کار میکنند: "
12681314
12691315#: ../../tutorial/classes.rst:614
12701316msgid ""
12711317"Use :func:`isinstance` to check an instance's type: ``isinstance(obj, int)`` "
12721318"will be ``True`` only if ``obj.__class__`` is :class:`int` or some class "
12731319"derived from :class:`int`."
12741320msgstr ""
1321+ "برای بررسی نوع یک نمونه (instance) از :func:`isinstance` استفاده کنید: ``isinstance(obj, int)`` "
1322+ "تنها زمانی ``True`` خواهد بود که ``obj.__class__`` از نوع :class:`int` باشد یا کلاسی "
1323+ "که از :class:`int` مشتق شده باشد."
12751324
12761325#: ../../tutorial/classes.rst:618
12771326msgid ""
@@ -1280,10 +1329,14 @@ msgid ""
12801329"``issubclass(float, int)`` is ``False`` since :class:`float` is not a "
12811330"subclass of :class:`int`."
12821331msgstr ""
1332+ "برای بررسی ارثبری کلاسها از :func:`issubclass` استفاده کنید: ``issubclass(bool, int)`` "
1333+ "مقدار ``True`` است چون :class:`bool` زیرکلاسی از :class:`int` است. با این حال، "
1334+ "``issubclass(float, int)`` مقدار ``False`` است چون :class:`float` زیرکلاسی از "
1335+ ":class:`int` نیست."
12831336
12841337#: ../../tutorial/classes.rst:628
12851338msgid "Multiple Inheritance"
1286- msgstr ""
1339+ msgstr "ارثبری چندگانه "
12871340
12881341#: ../../tutorial/classes.rst:630
12891342msgid ""
0 commit comments