| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -523,7 +523,7 @@ msgid "Create a new value based on a format string similar to those accepted by | |||
| 523 | 523 | msgstr "یک مقدار جدید بر اساس یک رشته قالببندی مشابه رشتههای پذیرفتهشده توسط خانوادهی توابع ``PyArg_Parse*`` و یک دنباله از مقادیر ایجاد میکند. مقدار یا ``NULL`` را در صورت وقوع خطا برمیگرداند؛ اگر ``NULL`` برگردانده شود، استثنا ایجاد خواهد شد." | |
| 524 | 524 | ||
| 525 | 525 | msgid ":c:func:`Py_BuildValue` does not always build a tuple. It builds a tuple only if its format string contains two or more format units. If the format string is empty, it returns ``None``; if it contains exactly one format unit, it returns whatever object is described by that format unit. To force it to return a tuple of size 0 or one, parenthesize the format string." | |
| 526 | - msgstr ":c:func:`Py_BuildValue` همیشه تاپل نمیسازد. این تابع تنها زمانی تاپل میسازد که رشته قالببندی آن شامل دو واحد قالببندی یا بیشتر باشد. اگر رشته قالببندی خالی باشد، ``None`` برمیگرداند؛ و اگر دقیقاً یک واحد قالببندی داشته باشد، هر شیئی را که آن واحد قالببندی توصیف میکند برمیگرداند. برای وادار کردن آن به برگرداندن تاپلی با اندازه ۰ یا یک، رشته قالببندی را داخل پرانتز قرار دهید." | ||
| 526 | + msgstr ":c:func:`Py_BuildValue` همیشه تاپل نمیسازد. این تابع تنها زمانی تاپل میسازد که رشته قالببندی آن شامل دو واحد قالببندی یا بیشتر باشد. اگر رشته قالببندی خالی باشد، ``None`` برمیگرداند؛ و اگر دقیقاً یک واحد قالببندی داشته باشد، هر شیءای را که آن واحد قالببندی توصیف میکند برمیگرداند. برای وادار کردن آن به برگرداندن تاپلی با اندازه ۰ یا یک، رشته قالببندی را داخل پرانتز قرار دهید." | ||
| 527 | 527 | ||
| 528 | 528 | msgid "When memory buffers are passed as parameters to supply data to build objects, as for the ``s`` and ``s#`` formats, the required data is copied. Buffers provided by the caller are never referenced by the objects created by :c:func:`Py_BuildValue`. In other words, if your code invokes :c:func:`malloc` and passes the allocated memory to :c:func:`Py_BuildValue`, your code is responsible for calling :c:func:`free` for that memory once :c:func:`Py_BuildValue` returns." | |
| 529 | 529 | msgstr "هنگامی که بافرهای حافظه بهعنوان پارامتر برای تأمین دادههای ساخت اشیاء ارسال میشوند — مانند قالبهای ``s`` و ``s#`` — دادههای مورد نیاز کپی میشوند. اشیایی که :c:func:`Py_BuildValue` ایجاد میکند، هرگز به بافرهای فراهمشده توسط فراخوانکننده ارجاعی ندارند. به عبارت دیگر، اگر کد شما :c:func:`malloc` را فراخوانی کند و حافظهی تخصیصیافته را به :c:func:`Py_BuildValue` منتقل کند، کد شما مسئول است که بهمحض بازگشت :c:func:`Py_BuildValue`، :c:func:`free` را برای آن حافظه فراخوانی کند." | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -47,7 +47,7 @@ msgid "Simple objects such as :class:`bytes` and :class:`bytearray` expose their | |||
| 47 | 47 | msgstr "اشیاء سادهای مانند :class:`bytes` و :class:`bytearray` بافر زیرین خود را به شکل بایتمحور در دسترس قرار میدهند. شکلهای دیگری نیز ممکن است؛ برای مثال، عناصری که یک :class:`array.array` در دسترس قرار میدهد میتوانند مقادیر چندبایتی باشند." | |
| 48 | 48 | ||
| 49 | 49 | msgid "An example consumer of the buffer interface is the :meth:`~io.BufferedIOBase.write` method of file objects: any object that can export a series of bytes through the buffer interface can be written to a file. While :meth:`!write` only needs read-only access to the internal contents of the object passed to it, other methods such as :meth:`~io.BufferedIOBase.readinto` need write access to the contents of their argument. The buffer interface allows objects to selectively allow or reject exporting of read-write and read-only buffers." | |
| 50 | - msgstr "نمونهای از مصرفکنندگان رابط بافر، متد :meth:`~io.BufferedIOBase.write` در شیءهای پرونده است: هر شیئی که بتواند دنبالهای از بایتها را از طریق رابط بافر اکسپورت کند، میتواند در پروندهای نوشته شود. در حالی که :meth:`!write` تنها به دسترسی فقطخواندنی به محتوای درونی شیئی که به آن پاس داده شده نیاز دارد، متدهای دیگری مانند :meth:`~io.BufferedIOBase.readinto` به دسترسی نوشتن به محتوای آرگومان خود نیاز دارند. رابط بافر به شیءها اجازه میدهد تا اکسپورت کردن بافرهای خواندنی-نوشتنی و فقطخواندنی را بهصورت انتخابی بپذیرند یا رد کنند." | ||
| 50 | + msgstr "نمونهای از مصرفکنندگان رابط بافر، متد :meth:`~io.BufferedIOBase.write` در شیءهای پرونده است: هر شیءای که بتواند دنبالهای از بایتها را از طریق رابط بافر اکسپورت کند، میتواند در پروندهای نوشته شود. در حالی که :meth:`!write` تنها به دسترسی فقطخواندنی به محتوای درونی شیءای که به آن پاس داده شده نیاز دارد، متدهای دیگری مانند :meth:`~io.BufferedIOBase.readinto` به دسترسی نوشتن به محتوای آرگومان خود نیاز دارند. رابط بافر به شیءها اجازه میدهد تا اکسپورت کردن بافرهای خواندنی-نوشتنی و فقطخواندنی را بهصورت انتخابی بپذیرند یا رد کنند." | ||
| 51 | 51 | ||
| 52 | 52 | msgid "There are two ways for a consumer of the buffer interface to acquire a buffer over a target object:" | |
| 53 | 53 | msgstr "دو راه وجود دارد که مصرفکنندهی رابط بافر بتواند بافری را روی یک شیء هدف به دست آورد:" | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -100,7 +100,7 @@ msgid "Whenever they can do so cheaply (without additional allocation), callers | |||
| 100 | 100 | msgstr "هرگاه بتوانند این کار را با هزینهی اندکی انجام دهند (بدون تخصیص اضافی)، به فراخوانکنندگان توصیه میشود که از :c:macro:`PY_VECTORCALL_ARGUMENTS_OFFSET` استفاده کنند. انجام این کار به فراخوانیپذیرهایی مانند متدهای مقید اجازه میدهد تا فراخوانیهای بعدی خود (که آرگومان *self* در ابتدای آنها افزوده شده است) را بهطور بسیار کارآمد انجام دهند." | |
| 101 | 101 | ||
| 102 | 102 | msgid "To call an object that implements vectorcall, use a :ref:`call API <capi-call>` function as with any other callable. :c:func:`PyObject_Vectorcall` will usually be most efficient." | |
| 103 | - msgstr "برای فراخوانی شیئی که vectorcall را پیادهسازی میکند، مانند هر فراخوانیپذیر دیگری از یک تابع :ref:`API فراخوانی <capi-call>` استفاده کنید. :c:func:`PyObject_Vectorcall` معمولاً کارآمدترین خواهد بود." | ||
| 103 | + msgstr "برای فراخوانی شیءای که vectorcall را پیادهسازی میکند، مانند هر فراخوانیپذیر دیگری از یک تابع :ref:`API فراخوانی <capi-call>` استفاده کنید. :c:func:`PyObject_Vectorcall` معمولاً کارآمدترین خواهد بود." | ||
| 104 | 104 | ||
| 105 | 105 | msgid "Recursion Control" | |
| 106 | 106 | msgstr "کنترل بازگشت" | |
@@ -310,7 +310,7 @@ msgid "Regardless of which protocol is used internally, a conversion of argument | |||
| 310 | 310 | msgstr "صرفنظر از اینکه کدام پروتکل بهطور داخلی استفاده میشود، باید تبدیلی روی آرگومانها انجام شود. بنابراین، این تابع تنها زمانی باید استفاده شود که فراخوانکننده از قبل دیکشنری آمادهای برای آرگومانهای کلیدواژهای داشته باشد، اما تاپلی برای آرگومانهای جایگاهی نداشته باشد." | |
| 311 | 311 | ||
| 312 | 312 | msgid "Call a method using the vectorcall calling convention. The name of the method is given as a Python string *name*. The object whose method is called is *args[0]*, and the *args* array starting at *args[1]* represents the arguments of the call. There must be at least one positional argument. *nargsf* is the number of positional arguments including *args[0]*, plus :c:macro:`PY_VECTORCALL_ARGUMENTS_OFFSET` if the value of ``args[0]`` may temporarily be changed. Keyword arguments can be passed just like in :c:func:`PyObject_Vectorcall`." | |
| 313 | - msgstr "یک متد را با استفاده از قرارداد فراخوانی vectorcall فراخوانی کنید. نام متد به صورت رشته پایتون *name* داده میشود. شیئی که متد آن فراخوانی میشود *args[0]* است و آرایه *args* که از *args[1]* آغاز میشود، آرگومانهای فراخوانی را نشان میدهد. باید حداقل یک آرگومان جایگاهی وجود داشته باشد. *nargsf* تعداد آرگومانهای جایگاهی شامل *args[0]* است، بهعلاوه :c:macro:`PY_VECTORCALL_ARGUMENTS_OFFSET` در صورتی که مقدار ``args[0]`` ممکن است بهطور موقت تغییر کند. آرگومانهای کلیدواژهای را میتوان دقیقاً مشابه :c:func:`PyObject_Vectorcall` ارسال کرد." | ||
| 313 | + msgstr "یک متد را با استفاده از قرارداد فراخوانی vectorcall فراخوانی کنید. نام متد به صورت رشته پایتون *name* داده میشود. شیءای که متد آن فراخوانی میشود *args[0]* است و آرایه *args* که از *args[1]* آغاز میشود، آرگومانهای فراخوانی را نشان میدهد. باید حداقل یک آرگومان جایگاهی وجود داشته باشد. *nargsf* تعداد آرگومانهای جایگاهی شامل *args[0]* است، بهعلاوه :c:macro:`PY_VECTORCALL_ARGUMENTS_OFFSET` در صورتی که مقدار ``args[0]`` ممکن است بهطور موقت تغییر کند. آرگومانهای کلیدواژهای را میتوان دقیقاً مشابه :c:func:`PyObject_Vectorcall` ارسال کرد." | ||
| 314 | 314 | ||
| 315 | 315 | msgid "If the object has the :c:macro:`Py_TPFLAGS_METHOD_DESCRIPTOR` feature, this will call the unbound method object with the full *args* vector as arguments." | |
| 316 | 316 | msgstr "اگر شیء قابلیت :c:macro:`Py_TPFLAGS_METHOD_DESCRIPTOR` را داشته باشد، این، شیء متد غیرمقید را با بردار کامل *args* بهعنوان آرگومانها فراخوانی میکند." | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -26,7 +26,7 @@ msgid "Concrete Objects Layer" | |||
| 26 | 26 | msgstr "لایه اشیاء عینی" | |
| 27 | 27 | ||
| 28 | 28 | msgid "The functions in this chapter are specific to certain Python object types. Passing them an object of the wrong type is not a good idea; if you receive an object from a Python program and you are not sure that it has the right type, you must perform a type check first; for example, to check that an object is a dictionary, use :c:func:`PyDict_Check`. The chapter is structured like the \"family tree\" of Python object types." | |
| 29 | - msgstr "توابع این فصل مخصوص نوعهای شیء خاصی از پایتون هستند. پاس دادن شیئی از نوع نادرست به آنها ایده خوبی نیست؛ اگر شیئی را از یک برنامه پایتون دریافت میکنید و مطمئن نیستید که نوع درستی دارد، باید ابتدا یک بررسی نوع انجام دهید؛ برای مثال، برای بررسی اینکه شیئی دیکشنری است، از :c:func:`PyDict_Check` استفاده کنید. ساختار این فصل مانند «درخت خانوادگی» نوعهای شیء پایتون است." | ||
| 29 | + msgstr "توابع این فصل مخصوص نوعهای شیء خاصی از پایتون هستند. پاس دادن شیءای از نوع نادرست به آنها ایده خوبی نیست؛ اگر شیءای را از یک برنامه پایتون دریافت میکنید و مطمئن نیستید که نوع درستی دارد، باید ابتدا یک بررسی نوع انجام دهید؛ برای مثال، برای بررسی اینکه شیءای دیکشنری است، از :c:func:`PyDict_Check` استفاده کنید. ساختار این فصل مانند «درخت خانوادگی» نوعهای شیء پایتون است." | ||
| 30 | 30 | ||
| 31 | 31 | msgid "While the functions described in this chapter carefully check the type of the objects which are passed in, many of them do not check for ``NULL`` being passed instead of a valid object. Allowing ``NULL`` to be passed in can cause memory access violations and immediate termination of the interpreter." | |
| 32 | 32 | msgstr "در حالی که توابع توصیفشده در این فصل نوع اشیایی را که به آنها پاس داده میشود با دقت بررسی میکنند، بسیاری از آنها بررسی نمیکنند که به جای یک شیء معتبر، ``NULL`` پاس داده شده باشد. اجازهی پاس دادن ``NULL`` میتواند باعث نقض دسترسی به حافظه و خاتمه فوری مفسر شود." | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -264,7 +264,7 @@ msgid "On the free-threaded build, this function can be used safely inside a cri | |||
| 264 | 264 | msgstr "در نسخهی نخآزاد، میتوان از این تابع بهطور ایمن درون بخش بحرانی استفاده کرد. با این حال، ارجاعهای برگرداندهشده برای *pkey* و *pvalue* :term:`امانتی <borrowed reference>` هستند و تنها تا زمانی که بخش بحرانی برقرار است معتبرند. اگر نیاز دارید از این اشیاء خارج از بخش بحرانی یا در زمانی که بخش بحرانی ممکن است معلق شود استفاده کنید، یک :term:`ارجاع قوی <strong reference>` ایجاد کنید (برای مثال، با استفاده از :c:func:`Py_NewRef`)." | |
| 265 | 265 | ||
| 266 | 266 | msgid "Iterate over mapping object *b* adding key-value pairs to dictionary *a*. *b* may be a dictionary, or any object supporting :c:func:`PyMapping_Keys` and :c:func:`PyObject_GetItem`. If *override* is true, existing pairs in *a* will be replaced if a matching key is found in *b*, otherwise pairs will only be added if there is not a matching key in *a*. Return ``0`` on success or ``-1`` if an exception was raised." | |
| 267 | - msgstr "بر روی شیء نگاشت *b* پیمایش میکند و جفتهای کلید-مقدار را به دیکشنری *a* اضافه میکند. *b* میتواند یک دیکشنری یا هر شیئی باشد که از :c:func:`PyMapping_Keys` و :c:func:`PyObject_GetItem` پشتیبانی کند. اگر *override* درست باشد، جفتهای موجود در *a* در صورتی که کلید مطابقی در *b* یافت شود جایگزین میشوند، در غیر این صورت جفتها تنها در صورتی اضافه میشوند که کلید مطابقی در *a* وجود نداشته باشد. در صورت موفقیت ``0`` و در صورت ایجاد استثنا ``-1`` بازگردانده میشود." | ||
| 267 | + msgstr "بر روی شیء نگاشت *b* پیمایش میکند و جفتهای کلید-مقدار را به دیکشنری *a* اضافه میکند. *b* میتواند یک دیکشنری یا هر شیءای باشد که از :c:func:`PyMapping_Keys` و :c:func:`PyObject_GetItem` پشتیبانی کند. اگر *override* درست باشد، جفتهای موجود در *a* در صورتی که کلید مطابقی در *b* یافت شود جایگزین میشوند، در غیر این صورت جفتها تنها در صورتی اضافه میشوند که کلید مطابقی در *a* وجود نداشته باشد. در صورت موفقیت ``0`` و در صورت ایجاد استثنا ``-1`` بازگردانده میشود." | ||
| 268 | 268 | ||
| 269 | 269 | msgid "In the :term:`free-threaded build`, when *b* is a :class:`dict` (with the standard iterator), both *a* and *b* are locked for the duration of the operation. When *b* is a non-dict mapping, only *a* is locked; *b* may be concurrently modified by another thread." | |
| 270 | 270 | msgstr "در :term:`free-threaded build`، وقتی *b* یک :class:`dict` (با پیمایشگر استاندارد) باشد، هر دو *a* و *b* در طول عملیات قفل میشوند. وقتی *b* یک نگاشت غیردیکشنری باشد، فقط *a* قفل میشود؛ *b* ممکن است توسط نخ دیگری بهطور همزمان تغییر یابد." | |
| Back | FazBrowse Home | New Git URL |
0 commit comments