# 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: # python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.9\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-09-22 21:56+0000\n" "PO-Revision-Date: 2025-09-22 17:54+0000\n" "Last-Translator: python-doc bot, 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: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 ``wchar_t`` as C type instead of deprecated " "``Py_UNICODE``. This change doesn't affect to its behavior because " "``Py_UNICODE`` is alias of ``wchar_t`` since Python 3.3." msgstr "" #: ../../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:`itemsize` attribute." msgstr "" #: ../../library/array.rst:65 msgid "The module defines the following type:" msgstr "此模块定义了以下类型:" #: ../../library/array.rst:70 msgid "" "A new array whose items are restricted by *typecode*, and initialized from " "the optional *initializer* value, which must be a list, a :term:`bytes-like " "object`, or iterable over elements of the appropriate type." msgstr "" "一个由 *typecode* 限定类型的新数组,可由可选的 *initializer* 初始化。*initializer* " "必须为一个列表、:term:`bytes-like object` 或在合适类型元素上迭代的可迭代对象。" #: ../../library/array.rst:75 msgid "" "If given a list or string, the initializer is passed to the new array's " ":meth:`fromlist`, :meth:`frombytes`, or :meth:`fromunicode` method (see " "below) to add initial items to the array. Otherwise, the iterable " "initializer is passed to the :meth:`extend` method." msgstr "" "如果是一个列表或字符串,该 initializer 会被传给新数组的 :meth:`fromlist`,:meth:`frombytes` 或 " ":meth:`fromunicode` 方法(见下)以将初始项添加到数组中。其它将可迭代对象将被传给 :meth:`extend` 方法。" #: ../../library/array.rst:80 msgid "" "Raises an :ref:`auditing event ` ``array.__new__`` with arguments " "``typecode``, ``initializer``." msgstr "" "引发一个 :ref:`审计事件 ` ``array.__new__`` 并附带参数 ``typecode``, " "``initializer``。" #: ../../library/array.rst:84 msgid "A string with all available type codes." msgstr "一个由所有可用的类型码组成的字符串。" #: ../../library/array.rst:86 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:92 msgid "The following data items and methods are also supported:" msgstr "" #: ../../library/array.rst:96 msgid "The typecode character used to create the array." msgstr "在创建数组时使用的类型码字符。" #: ../../library/array.rst:101 msgid "The length in bytes of one array item in the internal representation." msgstr "内部表示中,单个数组项的长度。单位为字节。" #: ../../library/array.rst:106 msgid "Append a new item with value *x* to the end of the array." msgstr "添加一个值为 *x* 的新项到数组末尾。" #: ../../library/array.rst:111 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 "" #: ../../library/array.rst:121 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:130 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:138 msgid "Return the number of occurrences of *x* in the array." msgstr "返回 *x* 在数组中的出现次数。" #: ../../library/array.rst:143 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:151 msgid "" "Appends items from the string, interpreting the string as an array of " "machine values (as if it had been read from a file using the " ":meth:`fromfile` method)." msgstr "将来自字节串的项添加到数组末尾,字节串被视为由机器值组成的数组(就像用 :meth:`fromfile` 方法从文件中读取数据一样)。" #: ../../library/array.rst:154 msgid ":meth:`fromstring` is renamed to :meth:`frombytes` for clarity." msgstr "" #: ../../library/array.rst:160 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:168 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:174 msgid "" "Extends this array with data from the given unicode string. The array must " "be a type ``'u'`` array; 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:182 msgid "" "Return the smallest *i* such that *i* is the index of the first occurrence " "of *x* in the array." msgstr "" #: ../../library/array.rst:188 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:194 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:201 msgid "Remove the first occurrence of *x* from the array." msgstr "从数组中移除第一个出现的 *x*。" #: ../../library/array.rst:206 msgid "Reverse the order of the items in the array." msgstr "反转数组中各项的顺序。" #: ../../library/array.rst:211 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:215 msgid ":meth:`tostring` is renamed to :meth:`tobytes` for clarity." msgstr "" #: ../../library/array.rst:221 msgid "Write all items (as machine values) to the :term:`file object` *f*." msgstr "将所有项(作为机器值)写入 :term:`file object` *f*。" #: ../../library/array.rst:226 msgid "Convert the array to an ordinary list with the same items." msgstr "将数组转换为由相同的项组成的普通列表。" #: ../../library/array.rst:231 msgid "" "Convert the array to a unicode string. The array must be a type ``'u'`` " "array; 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:236 msgid "" "When an array object is printed or converted to a string, it is represented " "as ``array(typecode, initializer)``. The *initializer* is omitted if the " "array is empty, otherwise it is a string if the *typecode* is ``'u'``, " "otherwise it is a list of numbers. The string 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``. Examples::" msgstr "" "数组对象被打印或转换为字符串时,会被表示为 ``array(typecode, initializer)``。*initializer* " "在数组为空时会被省略,在数组的 *typecode* 为 ``'u'`` 时是一个字符串,其它时候是一个数字列表。只要 " ":class:`~array.array` 类已用 ``from array import array`` 引入,该字符串保证能被 " ":func:`eval` 转换回具有相同类型和值的数组。例:" #: ../../library/array.rst:253 msgid "Module :mod:`struct`" msgstr ":mod:`struct` 模块" #: ../../library/array.rst:253 msgid "Packing and unpacking of heterogeneous binary data." msgstr "打包和解包异构二进制数据。" #: ../../library/array.rst:257 msgid "Module :mod:`xdrlib`" msgstr ":mod:`xdrlib` 模块" #: ../../library/array.rst:256 msgid "" "Packing and unpacking of External Data Representation (XDR) data as used in " "some remote procedure call systems." msgstr "对某些远程过程调用系统中使用的外部数据表示(XDR)数据进行打包和解包 。" #: ../../library/array.rst:259 msgid "`NumPy `_" msgstr "`NumPy `_" #: ../../library/array.rst:260 msgid "The NumPy package defines another array type." msgstr "NumPy 包定义了另一数组类型。"