Expand Up @@ -4,13 +4,14 @@ # Translators: # Ching-Lung Chuang, 2015 # Liang-Bo Wang <me@liang2.tw>, 2015 # Matt Wang <mattwang44@gmail.com>, 2025 msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-09-08 15:25+0800 \n" "PO-Revision-Date:2017-09-22 18:26 +0000\n" "Last-Translator:Liang-Bo Wang <me@liang2.tw >\n" "POT-Creation-Date: 2025-11-06 00:14+0000 \n" "PO-Revision-Date:2025-11-07 05:06 +0000\n" "Last-Translator:Matt Wang <mattwang44@gmail.com >\n" "Language-Team: Chinese - TAIWAN (https://github.com/python/python-docs-zh-" "tw)\n" "Language: zh_TW\n" Expand All @@ -26,89 +27,123 @@ msgstr "浮點數(Floating-Point)物件" #: ../../c-api/float.rst:13 msgid "" "This subtype of :c:type:`PyObject` represents a Python floating-point object." msgstr "" msgstr "這個 :c:type:`PyObject` 的子型別代表一個 Python 浮點數物件。 " #: ../../c-api/float.rst:18 msgid "" "This instance of :c:type:`PyTypeObject` represents the Python floating-point " "type. This is the same object as :class:`float` in the Python layer." msgstr "" "這個 :c:type:`PyTypeObject` 的實例代表 Python 浮點數型別。這與 Python 層中的 :class:`float` " "物件相同。" #: ../../c-api/float.rst:24 msgid "" "Return true if its argument is a :c:type:`PyFloatObject` or a subtype " "of :c: type:`PyFloatObject`. This function always succeeds." "Return true if its argument is a :c:type:`PyFloatObject` or a subtypeof :c: " "type:`PyFloatObject`. This function always succeeds." msgstr "" "如果其引數是 :c:type:`PyFloatObject` 或 :c:type:`PyFloatObject` 的子型別,則回傳 " "true。這個函式不會失敗。" #: ../../c-api/float.rst:30 msgid "" "Return true if its argument is a :c:type:`PyFloatObject`, but not a subtype " "of :c:type:`PyFloatObject`. This function always succeeds." msgstr "" "如果其引數是 :c:type:`PyFloatObject`,但不是 :c:type:`PyFloatObject` 的子型別," "則回傳 true。這個函式不會失敗。" #: ../../c-api/float.rst:36 msgid "" "Create a :c:type:`PyFloatObject` object based on the string value in *str*, " "or ``NULL`` on failure." msgstr "" msgstr "建立一個基於字串值 *str* 的 :c:type:`PyFloatObject` 物件,失敗時回傳 ``NULL``。 " #: ../../c-api/float.rst:42 msgid "" "Create a :c:type:`PyFloatObject` object from *v*, or ``NULL`` on failure." msgstr "" msgstr "建立一個來自 *v* 的 :c:type:`PyFloatObject` 物件,失敗時回傳 ``NULL``。 " #: ../../c-api/float.rst:47 msgid "" "Return a C :c:expr:`double` representation of the contents of *pyfloat*. If " "*pyfloat* is not a Python floating-point object but has " "a :meth:`~object. __float__` method, this method will first be called to " "convert *pyfloat* into a float. If :meth:`!__float__` is not defined then it " "falls back to : meth:`~object.__index__`. This method returns ``-1.0`` upon " "failure, so one should call :c:func:`PyErr_Occurred` to check for errors." "*pyfloat* is not a Python floating-point object but hasa :meth:`~object. " "__float__` method, this method will first be called to convert *pyfloat* " "into a float. If :meth:`!__float__` is not defined then itfalls back to : " "meth:`~object.__index__`. This method returns ``-1.0`` upon failure, so one " "should call :c:func:`PyErr_Occurred` to check for errors." msgstr "" #: ../../c-api/float.rst:54 msgid "Use :meth:`~object.__index__` if available." msgstr "" msgstr "請使用 :meth:`~object.__index__`\\ (如果可用)。 " #: ../../c-api/float.rst:60 msgid "" "Return a C :c:expr:`double` representation of the contents of *pyfloat*, but " "without error checking." msgstr "" msgstr "回傳 *pyfloat* 內容的 C :c:expr:`double` 表示形式,但不進行錯誤檢查。 " #: ../../c-api/float.rst:66 msgid "" "Return a structseq instance which contains information about the precision, " "minimum and maximum values of a float. It's a thin wrapper around the header " "file :file:`float.h`." msgstr "" "回傳一個 structseq 實例,其中包含有關浮點數的精度、最小值和最大值的資訊。" "它是對標頭檔 :file:`float.h` 的簡單封裝。" #: ../../c-api/float.rst:73 msgid "" "Return the maximum representable finite float *DBL_MAX* as " "C :c:expr: `double`." msgstr "" "Return the maximum representable finite float *DBL_MAX* asC :c:expr: " "`double`." msgstr "將可表示的最大有限浮點數 *DBL_MAX* 作為 C :c:expr:`double` 回傳。 " #: ../../c-api/float.rst:78 msgid "" "Return the minimum normalized positive float *DBL_MIN* as C :c:expr:`double`." msgstr "" msgstr "將最小的正規化浮點數 *DBL_MIN* 作為 C :c:expr:`double` 回傳。" #: ../../c-api/float.rst:83 msgid "Return :data:`math.nan` from a function." msgstr "從函式回傳 :data:`math.nan`。" #: ../../c-api/float.rst:82 #: ../../c-api/float.rst:85 msgid "" "On most platforms, this is equivalent to ``return PyFloat_FromDouble(NAN)``." msgstr "在大多數平台上,這相當於 ``return PyFloat_FromDouble(NAN)``。" #: ../../c-api/float.rst:90 msgid "" "Return :data:`math.inf` or :data:`-math.inf <math.inf>` from a function, " "depending on the sign of *sign*." msgstr "根據 *sign* 的正負號,從函式回傳 :data:`math.inf` 或 :data:`-math.inf <math.inf>`。" #: ../../c-api/float.rst:93 msgid "On most platforms, this is equivalent to the following::" msgstr "在大多數平台上,這相當於以下內容: ::" #: ../../c-api/float.rst:95 msgid "return PyFloat_FromDouble(copysign(INFINITY, sign));" msgstr "return PyFloat_FromDouble(copysign(INFINITY, sign));" #: ../../c-api/float.rst:99 msgid "Pack and Unpack functions" msgstr "" msgstr "打包和解包函式 " #: ../../c-api/float.rst:84 #: ../../c-api/float.rst:101 msgid "" "The pack and unpack functions provide an efficient platform-independent way " "to store floating-point values as byte strings. The Pack routines produce a " "bytes string from a C :c:expr:`double`, and the Unpack routines produce a " "C : c:expr:`double` from such a bytes string. The suffix (2, 4 or 8) " "specifies the number of bytes in the bytes string." "bytes string from a C :c:expr:`double`, and the Unpack routines produce aC : " "c:expr:`double` from such a bytes string. The suffix (2, 4 or 8) specifies " "the number of bytes in the bytes string." msgstr "" "打包和解包函式提供了一種有效的跨平台方式,來將浮點數值儲存為位元組字串。" "打包例程從 C :c:expr:`double` 產生位元組字串,而解包例程則從這樣的位元組字串產生 " "C :c:expr:`double`。後綴(2、4 或 8)標示了位元組字串中的位元組數。" #: ../../c-api/float.rst:90 #: ../../c-api/float.rst:107 msgid "" "On platforms that appear to use IEEE 754 formats these functions work by " "copying bits. On other platforms, the 2-byte format is identical to the IEEE " Expand All @@ -119,104 +154,128 @@ msgid "" "attempting to unpack a bytes string containing an IEEE INF or NaN will raise " "an exception." msgstr "" "在看似使用 IEEE 754 格式的平台上,這些函式是透過複製位元來運作的。" "在其他平台上,2 位元組格式與 IEEE 754 binary16 半精度格式相同," "4 位元組格式(32 位元)與 IEEE 754 binary32 單精度格式相同," "8 位元組格式與 IEEE 754 binary64 雙精度格式相同。" "儘管如此,INF 和 NaN(如果這些東西在平台上存在)的打包並未正確處理," "並且嘗試解包包含 IEEE INF 或 NaN 的位元組字串將引發例外。" #: ../../c-api/float.rst:99 #: ../../c-api/float.rst:116 msgid "" "Note that NaNs type may not be preserved on IEEE platforms (silent NaN " "become quiet), for example on x86 systems in 32-bit mode." msgstr "" "請注意,在 IEEE 平台上可能無法保留 NaN 型別(「靜默型 NaN (silent NaN)」會變成" "「安靜型 NaN (quiet NaN)」),例如在 32 位元模式的 x86 系統上。" #: ../../c-api/float.rst:102 #: ../../c-api/float.rst:119 msgid "" "On non-IEEE platforms with more precision, or larger dynamic range, than " "IEEE 754 supports, not all values can be packed; on non-IEEE platforms with " "less precision, or smaller dynamic range, not all values can be unpacked. " "What happens in such cases is partly accidental (alas)." msgstr "" "在非 IEEE 平台上,如果精度更高或動態範圍比 IEEE 754 支援的更大," "則無法打包所有值;在非 IEEE 平台上,如果精度較低或動態範圍較小," "則無法解包所有值。在這種案例下發生的情況在某種程度上是偶然的(唉)。" #: ../../c-api/float.rst:110 #: ../../c-api/float.rst:127 msgid "Pack functions" msgstr "" msgstr "打包函式 " #: ../../c-api/float.rst:112 #: ../../c-api/float.rst:129 msgid "" "The pack routines write 2, 4 or 8 bytes, starting at *p*. *le* is " "an :c:expr:`int` argument, non-zero if you want the bytes string in little-" "endian format (exponent last, at ``p+1``, ``p+3``, or ``p+6`` ``p+7``), zero " "if you want big-endian format (exponent first, at *p*). " "The :c:macro:`PY_BIG_ENDIAN` constant can be used to use the native endian: " "it is equal to ``1`` on big endian processor, or ``0`` on little endian " "processor." msgstr "" #: ../../c-api/float.rst:119 "The pack routines write 2, 4 or 8 bytes, starting at *p*. *le* is an :c:expr:" "`int` argument, non-zero if you want the bytes string in little-endian " "format (exponent last, at ``p+1``, ``p+3``, or ``p+6`` ``p+7``), zero if you " "want big-endian format (exponent first, at *p*). The :c:macro:" "`PY_BIG_ENDIAN` constant can be used to use the native endian: it is equal " "to ``1`` on big endian processor, or ``0`` on little endian processor." msgstr "" "打包例程會從 *p* 開始寫入 2、4 或 8 位元組。*le* 是一個 :c:expr:`int` 引數," "如果你想要位元組字串為小端序格式(指數在最後,位於 ``p+1``、``p+3``、" "``p+6`` 或 ``p+7``),則用非零值;如果你想要大端序格式(指數在最前,位於 *p*)," "則用零。可以使用 :c:macro:`PY_BIG_ENDIAN` 常數來使用原生端序:" "在大端序處理器上它等於 ``1``,在小端序處理器上它等於 ``0``。" #: ../../c-api/float.rst:136 msgid "" "Return value: ``0`` if all is OK, ``-1`` if error (and an exception is set, " "most likely :exc:`OverflowError`)." msgstr "" "回傳值:如果一切正常則為 ``0``,如果發生錯誤則為 ``-1``\\ (並且會設定一個例外," "最有可能是 :exc:`OverflowError`)。" #: ../../c-api/float.rst:122 #: ../../c-api/float.rst:139 msgid "There are two problems on non-IEEE platforms:" msgstr "" msgstr "在非 IEEE 平台上有兩個問題: " #: ../../c-api/float.rst:124 #: ../../c-api/float.rst:141 msgid "What this does is undefined if *x* is a NaN or infinity." msgstr "" msgstr "如果 *x* 是 NaN 或無窮大,則這樣做是未定義的。 " #: ../../c-api/float.rst:125 #: ../../c-api/float.rst:142 msgid "``-0.0`` and ``+0.0`` produce the same bytes string." msgstr "``-0.0`` 和 ``+0.0`` 會產生同樣的位元組字串。" #: ../../c-api/float.rst:129 #: ../../c-api/float.rst:146 msgid "Pack a C double as the IEEE 754 binary16 half-precision format." msgstr "" msgstr "將 C double 打包為 IEEE 754 binary16 半精度格式。 " #: ../../c-api/float.rst:133 #: ../../c-api/float.rst:150 msgid "Pack a C double as the IEEE 754 binary32 single precision format." msgstr "" msgstr "將 C double 打包為 IEEE 754 binary32 單精度格式。 " #: ../../c-api/float.rst:137 #: ../../c-api/float.rst:154 msgid "Pack a C double as the IEEE 754 binary64 double precision format." msgstr "" msgstr "將 C double 打包為 IEEE 754 binary64 雙精度格式。 " #: ../../c-api/float.rst:141 #: ../../c-api/float.rst:158 msgid "Unpack functions" msgstr "" msgstr "解包函式 " #: ../../c-api/float.rst:143 #: ../../c-api/float.rst:160 msgid "" "The unpack routines read 2, 4 or 8 bytes, starting at *p*. *le* is " "an :c: expr:`int` argument, non-zero if the bytes string is in little-endian " "format (exponent last, at ``p+1``, ``p+3`` or ``p+6`` and ``p+7``), zero if " "big- endian (exponent first, at *p*). The :c:macro:`PY_BIG_ENDIAN` constant " "can be used to use the native endian: it is equal to ``1`` on big endian " "The unpack routines read 2, 4 or 8 bytes, starting at *p*. *le* isan :c: " "expr:`int` argument, non-zero if the bytes string is in little-endian format " "(exponent last, at ``p+1``, ``p+3`` or ``p+6`` and ``p+7``), zero ifbig- " "endian (exponent first, at *p*). The :c:macro:`PY_BIG_ENDIAN` constant can " "be used to use the native endian: it is equal to ``1`` on big endian " "processor, or ``0`` on little endian processor." msgstr "" "解包例程會從 *p* 開始讀取 2、4 或 8 位元組。*le* 是一個 :c:expr:`int` 引數," "如果位元組字串為小端序格式(指數在最後,位於 ``p+1``、``p+3``、" "``p+6`` 或 ``p+7``),則用非零值;如果為大端序格式(指數在最前,位於 *p*),則用零。" "可以使用 :c:macro:`PY_BIG_ENDIAN` 常數來使用原生端序:在大端序處理器上它等於 ``1``," "在小端序處理器上它等於 ``0``。" #: ../../c-api/float.rst:150 #: ../../c-api/float.rst:167 msgid "" "Return value: The unpacked double. On error, this is ``-1.0`` " "and :c:func: `PyErr_Occurred` is true (and an exception is set, most " "likely :exc: `OverflowError`)." "Return value: The unpacked double. On error, this is ``-1.0``and :c:func: " "`PyErr_Occurred` is true (and an exception is set, mostlikely :exc: " "`OverflowError`)." msgstr "" "回傳值:解包後的 double。發生錯誤時,這是 ``-1.0`` 且 :c:func:`PyErr_Occurred` " "為 true(並且會設置一個例外,最有可能是 :exc:`OverflowError`)。" #: ../../c-api/float.rst:154 #: ../../c-api/float.rst:171 msgid "" "Note that on a non-IEEE platform this will refuse to unpack a bytes string " "that represents a NaN or infinity." msgstr "" msgstr "請注意,在非 IEEE 平台上,這將拒絕解包會表示為 NaN 或無窮大的位元組字串。 " #: ../../c-api/float.rst:159 #: ../../c-api/float.rst:176 msgid "Unpack the IEEE 754 binary16 half-precision format as a C double." msgstr "" msgstr "將 IEEE 754 binary16 半精度格式解包為 C double。 " #: ../../c-api/float.rst:163 #: ../../c-api/float.rst:180 msgid "Unpack the IEEE 754 binary32 single precision format as a C double." msgstr "" msgstr "將 IEEE 754 binary32 單精度格式解包為 C double。 " #: ../../c-api/float.rst:167 #: ../../c-api/float.rst:184 msgid "Unpack the IEEE 754 binary64 double precision format as a C double." msgstr "" msgstr "將 IEEE 754 binary64 雙精度格式解包為 C double。 " #: ../../c-api/float.rst:8 msgid "object" Expand Down