# SOME DESCRIPTIVE TITLE. # Copyright (C) 2001-2025, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: # Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.12\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-07-25 16:03+0000\n" "PO-Revision-Date: 2025-07-18 19:57+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Chinese (China) (https://app.transifex.com/python-doc/teams/5390/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../../library/array.rst:2 msgid ":mod:`!array` --- Efficient arrays of numeric values" msgstr ":mod:`!array` --- 高效的数字值数组" #: ../../library/array.rst:11 msgid "" "This module defines an object type which can compactly represent an array of" " basic values: characters, integers, floating-point numbers. Arrays are " "sequence types and behave very much like lists, except that the type of " "objects stored in them is constrained. The type is specified at object " "creation time by using a :dfn:`type code`, which is a single character. The" " following type codes are defined:" msgstr "" "此模块定义了一种对象类型,可以紧凑地表示由基本值(字符、整数、浮点数)组成的数组。数组是序列类型,其行为与列表非常相似,不同之处在于其中存储的对象类型是受限的,在数组对象创建时用单个字符的" " :dfn:`类型码` 来指定。已定义的类型码如下:" #: ../../library/array.rst:19 msgid "Type code" msgstr "类型码" #: ../../library/array.rst:19 msgid "C Type" msgstr "C 类型" #: ../../library/array.rst:19 msgid "Python Type" msgstr "Python 类型" #: ../../library/array.rst:19 msgid "Minimum size in bytes" msgstr "最小字节数" #: ../../library/array.rst:19 msgid "Notes" msgstr "备注" #: ../../library/array.rst:21 msgid "``'b'``" msgstr "``'b'``" #: ../../library/array.rst:21 msgid "signed char" msgstr "signed char" #: ../../library/array.rst:21 ../../library/array.rst:23 #: ../../library/array.rst:27 ../../library/array.rst:29 #: ../../library/array.rst:31 ../../library/array.rst:33 #: ../../library/array.rst:35 ../../library/array.rst:37 #: ../../library/array.rst:39 ../../library/array.rst:41 msgid "int" msgstr "int" #: ../../library/array.rst:21 ../../library/array.rst:23 msgid "1" msgstr "1" #: ../../library/array.rst:23 msgid "``'B'``" msgstr "``'B'``" #: ../../library/array.rst:23 msgid "unsigned char" msgstr "unsigned char" #: ../../library/array.rst:25 msgid "``'u'``" msgstr "``'u'``" #: ../../library/array.rst:25 msgid "wchar_t" msgstr "wchar_t" #: ../../library/array.rst:25 msgid "Unicode character" msgstr "Unicode 字符" #: ../../library/array.rst:25 ../../library/array.rst:27 #: ../../library/array.rst:29 ../../library/array.rst:31 #: ../../library/array.rst:33 msgid "2" msgstr "2" #: ../../library/array.rst:25 msgid "\\(1)" msgstr "\\(1)" #: ../../library/array.rst:27 msgid "``'h'``" msgstr "``'h'``" #: ../../library/array.rst:27 msgid "signed short" msgstr "signed short" #: ../../library/array.rst:29 msgid "``'H'``" msgstr "``'H'``" #: ../../library/array.rst:29 msgid "unsigned short" msgstr "unsigned short" #: ../../library/array.rst:31 msgid "``'i'``" msgstr "``'i'``" #: ../../library/array.rst:31 msgid "signed int" msgstr "signed int" #: ../../library/array.rst:33 msgid "``'I'``" msgstr "``'I'``" #: ../../library/array.rst:33 msgid "unsigned int" msgstr "unsigned int" #: ../../library/array.rst:35 msgid "``'l'``" msgstr "``'l'``" #: ../../library/array.rst:35 msgid "signed long" msgstr "signed long" #: ../../library/array.rst:35 ../../library/array.rst:37 #: ../../library/array.rst:43 msgid "4" msgstr "4" #: ../../library/array.rst:37 msgid "``'L'``" msgstr "``'L'``" #: ../../library/array.rst:37 msgid "unsigned long" msgstr "unsigned long" #: ../../library/array.rst:39 msgid "``'q'``" msgstr "``'q'``" #: ../../library/array.rst:39 msgid "signed long long" msgstr "signed long long" #: ../../library/array.rst:39 ../../library/array.rst:41 #: ../../library/array.rst:45 msgid "8" msgstr "8" #: ../../library/array.rst:41 msgid "``'Q'``" msgstr "``'Q'``" #: ../../library/array.rst:41 msgid "unsigned long long" msgstr "unsigned long long" #: ../../library/array.rst:43 msgid "``'f'``" msgstr "``'f'``" #: ../../library/array.rst:43 ../../library/array.rst:45 msgid "float" msgstr "float" #: ../../library/array.rst:45 msgid "``'d'``" msgstr "``'d'``" #: ../../library/array.rst:45 msgid "double" msgstr "double" #: ../../library/array.rst:48 msgid "Notes:" msgstr "注释:" #: ../../library/array.rst:51 msgid "It can be 16 bits or 32 bits depending on the platform." msgstr "可能为 16 位或 32 位,取决于具体的平台。" #: ../../library/array.rst:53 msgid "" "``array('u')`` now uses :c:type:`wchar_t` as C type instead of deprecated " "``Py_UNICODE``. This change doesn't affect its behavior because " "``Py_UNICODE`` is alias of :c:type:`wchar_t` since Python 3.3." msgstr "" "``array('u')`` 现在使用 :c:type:`wchar_t` 作为 C 类型而不是已不建议使用的 " "``Py_UNICODE``。这个改变不会影响其行为,因为 ``Py_UNICODE`` 自 Python 3.3 起就是 " ":c:type:`wchar_t` 的别名。" #: ../../library/array.rst:61 msgid "" "The actual representation of values is determined by the machine " "architecture (strictly speaking, by the C implementation). The actual size " "can be accessed through the :attr:`array.itemsize` attribute." msgstr "值的实际表示是由机器架构(严格说是由 C 实现)决定的。实际大小可以通过 :attr:`array.itemsize` 属性来访问。" #: ../../library/array.rst:65 msgid "The module defines the following item:" msgstr "此模块定义了以下项目:" #: ../../library/array.rst:70 msgid "A string with all available type codes." msgstr "一个由所有可用的类型码组成的字符串。" #: ../../library/array.rst:73 msgid "The module defines the following type:" msgstr "此模块定义了以下类型:" #: ../../library/array.rst:78 msgid "" "A new array whose items are restricted by *typecode*, and initialized from " "the optional *initializer* value, which must be a :class:`bytes` or " ":class:`bytearray` object, a Unicode string, or iterable over elements of " "the appropriate type." msgstr "" "一个由 *typecode* 限定其条目的新数组,并能根据可选的 *initializer* 值来初始化。*initializer* 必须是 " ":class:`bytes` 或 :class:`bytearray` 对象、Unicode 字符串或元素类型合适的可迭代对象。" #: ../../library/array.rst:83 msgid "" "If given a :class:`bytes` or :class:`bytearray` object, the initializer is " "passed to the new array's :meth:`frombytes` method; if given a Unicode " "string, the initializer is passed to the :meth:`fromunicode` method; " "otherwise, the initializer's iterator is passed to the :meth:`extend` method" " to add initial items to the array." msgstr "" "如果给定了一个 :class:`bytes` 或 :class:`bytearray` 对象,则将 *initializer* 传给新数组的 " ":meth:`frombytes` 方法;如果给定了一个 Unicode 字符串,则将 *initializer* 传给 " ":meth:`fromunicode` 方法;在其他情况下,则将 *initializer* 的迭代器传给 :meth:`extend` " "方法以向数组添加初始条目。" #: ../../library/array.rst:90 msgid "" "Array objects support the ordinary sequence operations of indexing, slicing," " concatenation, and multiplication. When using slice assignment, the " "assigned value must be an array object with the same type code; in all other" " cases, :exc:`TypeError` is raised. Array objects also implement the buffer " "interface, and may be used wherever :term:`bytes-like objects ` are supported." msgstr "" "数组对象支持普通的序列操作如索引、切片、拼接和重复等。当使用切片赋值时,所赋的值必须为具有相同类型码的数组对象;所有其他情况都将引发 " ":exc:`TypeError`。数组对象也实现了缓冲区接口,可以用于所有支持 :term:`类字节对象 ` " "的场合。" #: ../../library/array.rst:96 msgid "" "Raises an :ref:`auditing event ` ``array.__new__`` with arguments " "``typecode``, ``initializer``." msgstr "" "引发一个 :ref:`审计事件 ` ``array.__new__`` 并附带参数 ``typecode``, " "``initializer``。" #: ../../library/array.rst:101 msgid "The typecode character used to create the array." msgstr "在创建数组时使用的类型码字符。" #: ../../library/array.rst:106 msgid "The length in bytes of one array item in the internal representation." msgstr "内部表示中,单个数组项的长度。单位为字节。" #: ../../library/array.rst:111 msgid "Append a new item with value *x* to the end of the array." msgstr "添加一个值为 *x* 的新项到数组末尾。" #: ../../library/array.rst:116 msgid "" "Return a tuple ``(address, length)`` giving the current memory address and " "the length in elements of the buffer used to hold array's contents. The " "size of the memory buffer in bytes can be computed as " "``array.buffer_info()[1] * array.itemsize``. This is occasionally useful " "when working with low-level (and inherently unsafe) I/O interfaces that " "require memory addresses, such as certain :c:func:`!ioctl` operations. The " "returned numbers are valid as long as the array exists and no length-" "changing operations are applied to it." msgstr "" "返回一个元组 ``(address, length)`` " "给出存放数组内容的内存缓冲区的当前地址和长度(以元素个数为单位)。以字节为单位的的内存缓冲区大小可通过 ``array.buffer_info()[1]" " * array.itemsize`` 来计算。工作在需要内存地址的底层(因此天然地不够安全)的 I/O 接口上时,这有时会有用,例如某些 " ":c:func:`!ioctl` 操作。只要数组还存在,并且没有对其应用过改变长度的操作,则返回的数值就是有效的。" #: ../../library/array.rst:126 msgid "" "When using array objects from code written in C or C++ (the only way to " "effectively make use of this information), it makes more sense to use the " "buffer interface supported by array objects. This method is maintained for " "backward compatibility and should be avoided in new code. The buffer " "interface is documented in :ref:`bufferobjects`." msgstr "" "只有在使用以 C 或 C++ " "编写的代码中的数组对象时,才能有效利用该信息,但此时,更合理的是,使用数组对象支持的缓冲区接口。因此,该方法的存在仅仅是为了向后兼容性,应避免在新代码中使用。缓冲区接口的文档参见" " :ref:`bufferobjects`。" #: ../../library/array.rst:135 msgid "" "\"Byteswap\" all items of the array. This is only supported for values " "which are 1, 2, 4, or 8 bytes in size; for other types of values, " ":exc:`RuntimeError` is raised. It is useful when reading data from a file " "written on a machine with a different byte order." msgstr "" "“字节对调”所有数组项。此方法只支持大小为 1, 2, 4 或 8 字节的值;对于其它类型的值将引发 " ":exc:`RuntimeError`。当要从另一种字节顺序的机器生成的文件中读取数据时,它很有用。" #: ../../library/array.rst:143 msgid "Return the number of occurrences of *x* in the array." msgstr "返回 *x* 在数组中的出现次数。" #: ../../library/array.rst:148 msgid "" "Append items from *iterable* to the end of the array. If *iterable* is " "another array, it must have *exactly* the same type code; if not, " ":exc:`TypeError` will be raised. If *iterable* is not an array, it must be " "iterable and its elements must be the right type to be appended to the " "array." msgstr "" "将来自 *iterable* 的项添加到数组末尾。如果 *iterable* 是另一个数组,它必须具有 *完全* 相同的类型码;否则将引发 " ":exc:`TypeError`。如果 *iterable* 不是一个数组,则它必须为可迭代对象且其元素的类型须为可添加到数组的适当类型。" #: ../../library/array.rst:156 msgid "" "Appends items from the :term:`bytes-like object`, interpreting its content " "as an array of machine values (as if it had been read from a file using the " ":meth:`fromfile` method)." msgstr "" "添加来自 :term:`bytes-like object` 的条目,将其内容解读为由机器值组成的数组(就像是使用 :meth:`fromfile` " "方法从文件中读取内容一样)。" #: ../../library/array.rst:160 msgid ":meth:`!fromstring` is renamed to :meth:`frombytes` for clarity." msgstr ":meth:`!fromstring` 被重命名为含义更准确的 :meth:`frombytes`。" #: ../../library/array.rst:166 msgid "" "Read *n* items (as machine values) from the :term:`file object` *f* and " "append them to the end of the array. If less than *n* items are available, " ":exc:`EOFError` is raised, but the items that were available are still " "inserted into the array." msgstr "" "从 :term:`file object` *f* 中读取 *n* 项(视为机器值)并将它们添加到数组末尾。如果可用的项少于 *n* 项,则会引发 " ":exc:`EOFError`,但可用的项仍然会被加进数组。" #: ../../library/array.rst:174 msgid "" "Append items from the list. This is equivalent to ``for x in list: " "a.append(x)`` except that if there is a type error, the array is unchanged." msgstr "" "将来自列表的项添加到数组末尾。等价于 ``for x in list: a.append(x)``,而不同之处在于,若发生类型错误,数组则不会被改变。" #: ../../library/array.rst:180 msgid "" "Extends this array with data from the given Unicode string. The array must " "have type code ``'u'``; otherwise a :exc:`ValueError` is raised. Use " "``array.frombytes(unicodestring.encode(enc))`` to append Unicode data to an " "array of some other type." msgstr "" "用给定的 Unicode 字符串中的数据扩展数组。 数组的类型代码必须是 ``'u'``,否则会引发 :exc:`ValueError` 异常。 使用 " "``array.frombytes(unicodestring.encode(enc))`` 可将 Unicode 数据附加到其他类型的数组中。" #: ../../library/array.rst:188 msgid "" "Return the smallest *i* such that *i* is the index of the first occurrence " "of *x* in the array. The optional arguments *start* and *stop* can be " "specified to search for *x* within a subsection of the array. Raise " ":exc:`ValueError` if *x* is not found." msgstr "" "返回以这样的方式找到的最小的 *i*:*i* 为数组中第一个 *x* 的下标。可选参数 *start* 和 *stop* " "用于在数组的一个指定的子段中搜索 *x*。如果未找到 *x* 则会引发 :exc:`ValueError`。" #: ../../library/array.rst:193 msgid "Added optional *start* and *stop* parameters." msgstr "添加了可选的 *start* 和 *stop* 形参。" #: ../../library/array.rst:199 msgid "" "Insert a new item with value *x* in the array before position *i*. Negative " "values are treated as being relative to the end of the array." msgstr "在数组的位置 *i* 之前插入一个值为 *x* 的新项。负值被视为相对于数组末尾的位置。" #: ../../library/array.rst:205 msgid "" "Removes the item with the index *i* from the array and returns it. The " "optional argument defaults to ``-1``, so that by default the last item is " "removed and returned." msgstr "从数组中移除下标为 *i* 的项并将其返回。参数默认值为 ``-1``,因此默认移除并返回末项。" #: ../../library/array.rst:212 msgid "Remove the first occurrence of *x* from the array." msgstr "从数组中移除第一个出现的 *x*。" #: ../../library/array.rst:217 msgid "Reverse the order of the items in the array." msgstr "反转数组中各项的顺序。" #: ../../library/array.rst:222 msgid "" "Convert the array to an array of machine values and return the bytes " "representation (the same sequence of bytes that would be written to a file " "by the :meth:`tofile` method.)" msgstr "将数组转换为一个由机器值组成的数组并返回其字节表示(和用 :meth:`tofile` 方法写入文件的字节序列相同)。" #: ../../library/array.rst:226 msgid ":meth:`!tostring` is renamed to :meth:`tobytes` for clarity." msgstr ":meth:`!tostring` 被重命名为含义更准确的 :meth:`tobytes`。" #: ../../library/array.rst:232 msgid "Write all items (as machine values) to the :term:`file object` *f*." msgstr "将所有项(作为机器值)写入 :term:`file object` *f*。" #: ../../library/array.rst:237 msgid "Convert the array to an ordinary list with the same items." msgstr "将数组转换为由相同的项组成的普通列表。" #: ../../library/array.rst:242 msgid "" "Convert the array to a Unicode string. The array must have a type ``'u'``; " "otherwise a :exc:`ValueError` is raised. Use ``array.tobytes().decode(enc)``" " to obtain a Unicode string from an array of some other type." msgstr "" "将数组转换为 Unicode 字符串。 数组的类型必须是 ``'u'``;否则会引发 :exc:`ValueError` 异常。 使用 " "``array.tobytes().decode(enc)`` 可从其他类型的数组中获取 Unicode字符串。" #: ../../library/array.rst:247 msgid "" "The string representation of array objects has the form ``array(typecode, " "initializer)``. The *initializer* is omitted if the array is empty, " "otherwise it is a Unicode string if the *typecode* is ``'u'``, otherwise it " "is a list of numbers. The string representation is guaranteed to be able to " "be converted back to an array with the same type and value using " ":func:`eval`, so long as the :class:`~array.array` class has been imported " "using ``from array import array``. Variables ``inf`` and ``nan`` must also " "be defined if it contains corresponding floating-point values. Examples::" msgstr "" "数组对象的字符串表示具有 ``array(typecode, initializer)`` 的形式。 当数组为空时,其中的 *initializer* " "字段被省略;若 array 的类型代码是 ``'u'``,则 *initializer* 是一个 Unicode 字符串;其次则是一个数字列表。 " "可以保证,用 :func:`eval` 能够将一个数组对象的字符串表示转换回一个具有相同类型和值的数组对象。 这需要用 ``from array " "import array`` 语句引入 :class:`~array.array` 类。 若数组对象包括 Inf 或 NaN 浮点值,则相对应的 " "``inf`` 和 ``nan`` 变量必须被定义。 举例如下::" #: ../../library/array.rst:259 msgid "" "array('l')\n" "array('u', 'hello \\u2641')\n" "array('l', [1, 2, 3, 4, 5])\n" "array('d', [1.0, 2.0, 3.14, -inf, nan])" msgstr "" "array('l')\n" "array('u', 'hello \\u2641')\n" "array('l', [1, 2, 3, 4, 5])\n" "array('d', [1.0, 2.0, 3.14, -inf, nan])" #: ../../library/array.rst:267 msgid "Module :mod:`struct`" msgstr ":mod:`struct` 模块" #: ../../library/array.rst:268 msgid "Packing and unpacking of heterogeneous binary data." msgstr "打包和解包异构二进制数据。" #: ../../library/array.rst:270 msgid "Module :mod:`xdrlib`" msgstr ":mod:`xdrlib` 模块" #: ../../library/array.rst:271 msgid "" "Packing and unpacking of External Data Representation (XDR) data as used in " "some remote procedure call systems." msgstr "对某些远程过程调用系统中使用的外部数据表示(XDR)数据进行打包和解包 。" #: ../../library/array.rst:274 msgid "`NumPy `_" msgstr "`NumPy `_" #: ../../library/array.rst:275 msgid "The NumPy package defines another array type." msgstr "NumPy 包定义了另一数组类型。" #: ../../library/array.rst:7 msgid "arrays" msgstr "数组"