FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

GitHub Viewer

# SOME DESCRIPTIVE TITLE. # Copyright (C) 2001 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.15\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-09-29 18:58+0000\n" "PO-Revision-Date: 2025-09-16 00:00+0000\n" "Last-Translator: python-doc bot, 2025\n" "Language-Team: Japanese (https://app.transifex.com/python-doc/teams/5390/" "ja/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ja\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../../c-api/structures.rst:6 msgid "Common Object Structures" msgstr "共通のオブジェクト構造体 (common object structure)" #: ../../c-api/structures.rst:8 msgid "" "There are a large number of structures which are used in the definition of " "object types for Python. This section describes these structures and how " "they are used." msgstr "" "Python では、オブジェクト型を定義する上で数多くの構造体が使われます。この節で" "は三つの構造体とその利用方法について説明します。" #: ../../c-api/structures.rst:14 msgid "Base object types and macros" msgstr "" #: ../../c-api/structures.rst:16 msgid "" "All Python objects ultimately share a small number of fields at the " "beginning of the object's representation in memory. These are represented " "by the :c:type:`PyObject` and :c:type:`PyVarObject` types, which are " "defined, in turn, by the expansions of some macros also used, whether " "directly or indirectly, in the definition of all other Python objects. " "Additional macros can be found under :ref:`reference counting " "`." msgstr "" #: ../../c-api/structures.rst:26 msgid "" "All object types are extensions of this type. This is a type which contains " "the information Python needs to treat a pointer to an object as an object. " "In a normal \"release\" build, it contains only the object's reference count " "and a pointer to the corresponding type object. Nothing is actually declared " "to be a :c:type:`PyObject`, but every pointer to a Python object can be cast " "to a :c:expr:`PyObject*`." msgstr "" #: ../../c-api/structures.rst:33 msgid "" "The members must not be accessed directly; instead use macros such as :c:" "macro:`Py_REFCNT` and :c:macro:`Py_TYPE`." msgstr "" #: ../../c-api/structures.rst:36 msgid "" "In the :ref:`Stable ABI ` for Free-Threaded Builds (``abi3t``), " "this struct is opaque; its size and layout may change between Python " "versions. In Stable ABI for non-free-threaded builds (``abi3``), the :c:" "member:`!ob_refcnt` and :c:member:`!ob_type` fields are available, but using " "them directly is discouraged." msgstr "" #: ../../c-api/structures.rst:45 msgid "" "The object's reference count, as returned by :c:macro:`Py_REFCNT`. Do not " "use this field directly; instead use functions and macros such as :c:macro:`!" "Py_REFCNT`, :c:func:`Py_INCREF` and :c:func:`Py_DecRef`." msgstr "" #: ../../c-api/structures.rst:49 msgid "" "The field type may be different from ``Py_ssize_t``, depending on build " "configuration and platform." msgstr "" #: ../../c-api/structures.rst:54 msgid "" "The object's type. Do not use this field directly; use :c:macro:`Py_TYPE` " "and :c:func:`Py_SET_TYPE` instead." msgstr "" #: ../../c-api/structures.rst:60 msgid "" "A :ref:`per-object lock `, present only in the :term:`free-" "threaded ` build (when :c:macro:`Py_GIL_DISABLED` is " "defined)." msgstr "" #: ../../c-api/structures.rst:63 msgid "" "This field is **reserved for use by the critical section API** (:c:macro:" "`Py_BEGIN_CRITICAL_SECTION` / :c:macro:`Py_END_CRITICAL_SECTION`). Do " "**not** lock it directly with ``PyMutex_Lock``; doing so can cause " "deadlocks. If you need your own lock, add a separate :c:type:`PyMutex` " "field to your object struct." msgstr "" #: ../../c-api/structures.rst:74 msgid "" "An extension of :c:type:`PyObject` that adds the :c:member:`~PyVarObject." "ob_size` field. This is intended for objects that have some notion of " "*length*." msgstr "" #: ../../c-api/structures.rst:78 msgid "" "As with :c:type:`!PyObject`, the members must not be accessed directly; " "instead use macros such as :c:macro:`Py_SIZE`, :c:macro:`Py_REFCNT` and :c:" "macro:`Py_TYPE`." msgstr "" #: ../../c-api/structures.rst:82 msgid "" "In the :ref:`Stable ABI ` for Free-Threaded Builds (``abi3t``), " "this struct is opaque; its size and layout may change between Python " "versions. In Stable ABI for non-free-threaded builds (``abi3``), the :c:" "member:`!ob_base` and :c:member:`!ob_size` fields are available, but using " "them directly is discouraged." msgstr "" #: ../../c-api/structures.rst:91 msgid "" "Common object header. Typically, this field is not accessed directly; " "instead :c:type:`!PyVarObject` can be cast to :c:type:`PyObject`." msgstr "" #: ../../c-api/structures.rst:97 msgid "" "A size field, whose contents should be considered an object's internal " "implementation detail." msgstr "" #: ../../c-api/structures.rst:100 msgid "Do not use this field directly; use :c:macro:`Py_SIZE` instead." msgstr "" #: ../../c-api/structures.rst:102 msgid "" "Object creation functions such as :c:func:`PyObject_NewVar` will generally " "set this field to the requested size (number of items). After creation, " "arbitrary values can be stored in :c:member:`!ob_size` using :c:macro:" "`Py_SET_SIZE`." msgstr "" #: ../../c-api/structures.rst:107 msgid "" "To get an object's publicly exposed length, as returned by the Python " "function :py:func:`len`, use :c:func:`PyObject_Length` instead." msgstr "" #: ../../c-api/structures.rst:114 msgid "" "This is a macro used when declaring new types which represent objects " "without a varying length. The PyObject_HEAD macro expands to::" msgstr "" "可変な長さを持たないオブジェクトを表現する新しい型を宣言するときに使うマクロ" "です。\n" "PyObject_HEAD マクロは次のように展開されます::" #: ../../c-api/structures.rst:117 msgid "PyObject ob_base;" msgstr "" #: ../../c-api/structures.rst:119 msgid "See documentation of :c:type:`PyObject` above." msgstr "上にある :c:type:`PyObject` のドキュメントを参照してください。" #: ../../c-api/structures.rst:124 msgid "" "This is a macro used when declaring new types which represent objects with a " "length that varies from instance to instance. The PyObject_VAR_HEAD macro " "expands to::" msgstr "" "インスタンスごとに異なる長さを持つオブジェクトを表現する新しい型を宣言すると" "きに使うマクロです。\n" "PyObject_VAR_HEAD マクロは次のように展開されます::" #: ../../c-api/structures.rst:128 msgid "PyVarObject ob_base;" msgstr "" #: ../../c-api/structures.rst:130 msgid "See documentation of :c:type:`PyVarObject` above." msgstr "上にある :c:type:`PyVarObject` のドキュメントを参照してください。" #: ../../c-api/structures.rst:135 msgid "" "The base class of all other objects, the same as :class:`object` in Python." msgstr "" #: ../../c-api/structures.rst:140 msgid "" "Test if the *x* object is the *y* object, the same as ``x is y`` in Python." msgstr "" #: ../../c-api/structures.rst:147 msgid "" "Test if an object is the ``None`` singleton, the same as ``x is None`` in " "Python." msgstr "" #: ../../c-api/structures.rst:155 msgid "" "Test if an object is the ``True`` singleton, the same as ``x is True`` in " "Python." msgstr "" #: ../../c-api/structures.rst:163 msgid "" "Test if an object is the ``False`` singleton, the same as ``x is False`` in " "Python." msgstr "" #: ../../c-api/structures.rst:171 msgid "Get the type of the Python object *o*." msgstr "" #: ../../c-api/structures.rst:173 msgid "" "The returned reference is :term:`borrowed ` from *o*. Do " "not release it with :c:func:`Py_DECREF` or similar." msgstr "" #: ../../c-api/structures.rst:176 msgid "" ":c:func:`Py_TYPE()` is changed to an inline static function. The parameter " "type is no longer :c:expr:`const PyObject*`." msgstr "" #: ../../c-api/structures.rst:183 msgid "" "Return non-zero if the object *o* type is *type*. Return zero otherwise. " "Equivalent to: ``Py_TYPE(o) == type``." msgstr "" #: ../../c-api/structures.rst:191 msgid "" "Set the type of object *o* to *type*, without any checking or reference " "counting." msgstr "" #: ../../c-api/structures.rst:194 msgid "" "This is a very low-level operation. Consider instead setting the Python " "attribute :attr:`~object.__class__` using :c:func:`PyObject_SetAttrString` " "or similar." msgstr "" #: ../../c-api/structures.rst:198 msgid "" "Note that assigning an incompatible type can lead to undefined behavior." msgstr "" #: ../../c-api/structures.rst:200 msgid "" "If *type* is a :ref:`heap type `, the caller must create a new " "reference to it. Similarly, if the old type of *o* is a heap type, the " "caller must release a reference to that type." msgstr "" #: ../../c-api/structures.rst:210 msgid "Get the :c:member:`~PyVarObject.ob_size` field of *o*." msgstr "" #: ../../c-api/structures.rst:212 msgid "" ":c:func:`Py_SIZE()` is changed to an inline static function. The parameter " "type is no longer :c:expr:`const PyVarObject*`." msgstr "" #: ../../c-api/structures.rst:219 msgid "Set the :c:member:`~PyVarObject.ob_size` field of *o* to *size*." msgstr "" #: ../../c-api/structures.rst:226 msgid "" "This is a macro which expands to initialization values for a new :c:type:" "`PyObject` type. This macro expands to::" msgstr "" "新しい :c:type:`PyObject` 型のための初期値に展開するマクロです。このマクロは" "次のように展開されます。 ::" #: ../../c-api/structures.rst:229 msgid "" "_PyObject_EXTRA_INIT\n" "1, type," msgstr "" #: ../../c-api/structures.rst:235 msgid "" "This is a macro which expands to initialization values for a new :c:type:" "`PyVarObject` type, including the :c:member:`~PyVarObject.ob_size` field. " "This macro expands to::" msgstr "" #: ../../c-api/structures.rst:239 msgid "" "_PyObject_EXTRA_INIT\n" "1, type, size," msgstr "" #: ../../c-api/structures.rst:244 msgid "Implementing functions and methods" msgstr "" #: ../../c-api/structures.rst:248 msgid "" "Type of the functions used to implement most Python callables in C. " "Functions of this type take two :c:expr:`PyObject*` parameters and return " "one such value. If the return value is ``NULL``, an exception shall have " "been set. If not ``NULL``, the return value is interpreted as the return " "value of the function as exposed in Python. The function must return a new " "reference." msgstr "" #: ../../c-api/structures.rst:255 msgid "The function signature is::" msgstr "関数のシグネチャは次のとおりです ::" #: ../../c-api/structures.rst:257 msgid "" "PyObject *PyCFunction(PyObject *self,\n" " PyObject *args);" msgstr "" #: ../../c-api/structures.rst:262 msgid "" "Type of the functions used to implement Python callables in C with " "signature :ref:`METH_VARARGS | METH_KEYWORDS `. " "The function signature is::" msgstr "" #: ../../c-api/structures.rst:266 msgid "" "PyObject *PyCFunctionWithKeywords(PyObject *self,\n" " PyObject *args,\n" " PyObject *kwargs);" msgstr "" #: ../../c-api/structures.rst:273 msgid "" "Type of the functions used to implement Python callables in C with " "signature :c:macro:`METH_FASTCALL`. The function signature is::" msgstr "" #: ../../c-api/structures.rst:277 msgid "" "PyObject *PyCFunctionFast(PyObject *self,\n" " PyObject *const *args,\n" " Py_ssize_t nargs);" msgstr "" #: ../../c-api/structures.rst:283 msgid "" "Type of the functions used to implement Python callables in C with " "signature :ref:`METH_FASTCALL | METH_KEYWORDS `. The function signature is::" msgstr "" #: ../../c-api/structures.rst:287 msgid "" "PyObject *PyCFunctionFastWithKeywords(PyObject *self,\n" " PyObject *const *args,\n" " Py_ssize_t nargs,\n" " PyObject *kwnames);" msgstr "" #: ../../c-api/structures.rst:294 msgid "" "Type of the functions used to implement Python callables in C with " "signature :ref:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS `. The function signature is::" msgstr "" #: ../../c-api/structures.rst:298 msgid "" "PyObject *PyCMethod(PyObject *self,\n" " PyTypeObject *defining_class,\n" " PyObject *const *args,\n" " Py_ssize_t nargs,\n" " PyObject *kwnames)" msgstr "" #: ../../c-api/structures.rst:309 msgid "" "Structure used to describe a method of an extension type. This structure " "has four fields:" msgstr "" "拡張型のメソッドを記述する際に用いる構造体です。この構造体には 4 つのフィール" "ドがあります:" #: ../../c-api/structures.rst:314 msgid "Name of the method." msgstr "" #: ../../c-api/structures.rst:316 msgid "A ``NULL`` *ml_name* marks the end of a :c:type:`!PyMethodDef` array." msgstr "" #: ../../c-api/structures.rst:320 msgid "Pointer to the C implementation." msgstr "" #: ../../c-api/structures.rst:324 msgid "Flags bits indicating how the call should be constructed." msgstr "" #: ../../c-api/structures.rst:328 msgid "Points to the contents of the docstring." msgstr "" #: ../../c-api/structures.rst:330 msgid "" "The :c:member:`~PyMethodDef.ml_meth` is a C function pointer. The functions " "may be of different types, but they always return :c:expr:`PyObject*`. If " "the function is not of the :c:type:`PyCFunction`, the compiler will require " "a cast in the method table. Even though :c:type:`PyCFunction` defines the " "first parameter as :c:expr:`PyObject*`, it is common that the method " "implementation uses the specific C type of the *self* object." msgstr "" #: ../../c-api/structures.rst:338 msgid "" "The :c:member:`~PyMethodDef.ml_flags` field is a bitfield which can include " "the following flags. The individual flags indicate either a calling " "convention or a binding convention." msgstr "" #: ../../c-api/structures.rst:343 msgid "There are these calling conventions:" msgstr "" #: ../../c-api/structures.rst:347 msgid "" "This is the typical calling convention, where the methods have the type :c:" "type:`PyCFunction`. The function expects two :c:expr:`PyObject*` values. The " "first one is the *self* object for methods; for module functions, it is the " "module object. The second parameter (often called *args*) is a tuple object " "representing all arguments. This parameter is typically processed using :c:" "func:`PyArg_ParseTuple` or :c:func:`PyArg_UnpackTuple`." msgstr "" ":c:type:`PyCFunction` 型のメソッドで典型的に使われる呼び出し規約です。関数" "は :c:expr:`PyObject*` 型の引数値を二つ要求します。最初の引数はメソッドの " "*self* オブジェクトです; モジュール関数の場合、これはモジュールオブジェクトで" "す。第二のパラメタ (よく *args* と呼ばれます) は、全ての引数を表現するタプル" "オブジェクトです。パラメタは通常、 :c:func:`PyArg_ParseTuple` や :c:func:" "`PyArg_UnpackTuple` で処理されます。" #: ../../c-api/structures.rst:357 msgid "" "Can only be used in certain combinations with other flags: :ref:" "`METH_VARARGS | METH_KEYWORDS `, :ref:" "`METH_FASTCALL | METH_KEYWORDS ` and :ref:" "`METH_METHOD | METH_FASTCALL | METH_KEYWORDS `." msgstr "" #: ../../c-api/structures.rst:365 msgid ":c:expr:`METH_VARARGS | METH_KEYWORDS`" msgstr "" #: ../../c-api/structures.rst:366 msgid "" "Methods with these flags must be of type :c:type:`PyCFunctionWithKeywords`. " "The function expects three parameters: *self*, *args*, *kwargs* where " "*kwargs* is a dictionary of all the keyword arguments or possibly ``NULL`` " "if there are no keyword arguments. The parameters are typically processed " "using :c:func:`PyArg_ParseTupleAndKeywords`." msgstr "" #: ../../c-api/structures.rst:375 msgid "" "Fast calling convention supporting only positional arguments. The methods " "have the type :c:type:`PyCFunctionFast`. The first parameter is *self*, the " "second parameter is a C array of :c:expr:`PyObject*` values indicating the " "arguments and the third parameter is the number of arguments (the length of " "the array)." msgstr "" #: ../../c-api/structures.rst:385 msgid "``METH_FASTCALL`` is now part of the :ref:`stable ABI `." msgstr "" #: ../../c-api/structures.rst:390 msgid ":c:expr:`METH_FASTCALL | METH_KEYWORDS`" msgstr "" #: ../../c-api/structures.rst:391 msgid "" "Extension of :c:macro:`METH_FASTCALL` supporting also keyword arguments, " "with methods of type :c:type:`PyCFunctionFastWithKeywords`. Keyword " "arguments are passed the same way as in the :ref:`vectorcall protocol " "`: there is an additional fourth :c:expr:`PyObject*` parameter " "which is a tuple representing the names of the keyword arguments (which are " "guaranteed to be strings) or possibly ``NULL`` if there are no keywords. " "The values of the keyword arguments are stored in the *args* array, after " "the positional arguments." msgstr "" #: ../../c-api/structures.rst:406 msgid "" "Can only be used in the combination with other flags: :ref:`METH_METHOD | " "METH_FASTCALL | METH_KEYWORDS `." msgstr "" #: ../../c-api/structures.rst:412 msgid ":c:expr:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS`" msgstr "" #: ../../c-api/structures.rst:413 msgid "" "Extension of :ref:`METH_FASTCALL | METH_KEYWORDS ` supporting the *defining class*, that is, the class that " "contains the method in question. The defining class might be a superclass of " "``Py_TYPE(self)``." msgstr "" #: ../../c-api/structures.rst:418 msgid "" "The method needs to be of type :c:type:`PyCMethod`, the same as for " "``METH_FASTCALL | METH_KEYWORDS`` with ``defining_class`` argument added " "after ``self``." msgstr "" #: ../../c-api/structures.rst:427 msgid "" "Methods without parameters don't need to check whether arguments are given " "if they are listed with the :c:macro:`METH_NOARGS` flag. They need to be of " "type :c:type:`PyCFunction`. The first parameter is typically named *self* " "and will hold a reference to the module or object instance. In all cases " "the second parameter will be ``NULL``." msgstr "" #: ../../c-api/structures.rst:433 msgid "" "The function must have 2 parameters. Since the second parameter is unused, :" "c:macro:`Py_UNUSED` can be used to prevent a compiler warning." msgstr "" #: ../../c-api/structures.rst:439 msgid "" "Methods with a single object argument can be listed with the :c:macro:" "`METH_O` flag, instead of invoking :c:func:`PyArg_ParseTuple` with a " "``\"O\"`` argument. They have the type :c:type:`PyCFunction`, with the " "*self* parameter, and a :c:expr:`PyObject*` parameter representing the " "single argument." msgstr "" #: ../../c-api/structures.rst:445 msgid "" "These two constants are not used to indicate the calling convention but the " "binding when used with methods of classes. These may not be used for " "functions defined for modules. At most one of these flags may be set for " "any given method." msgstr "" #: ../../c-api/structures.rst:455 msgid "" "The method will be passed the type object as the first parameter rather than " "an instance of the type. This is used to create *class methods*, similar to " "what is created when using the :deco:`classmethod` built-in decorator." msgstr "" #: ../../c-api/structures.rst:465 msgid "" "The method will be passed ``NULL`` as the first parameter rather than an " "instance of the type. This is used to create *static methods*, similar to " "what is created when using the :deco:`staticmethod` built-in decorator." msgstr "" #: ../../c-api/structures.rst:469 msgid "" "One other constant controls whether a method is loaded in place of another " "definition with the same method name." msgstr "" "もう一つの定数は、あるメソッドを同名の別のメソッド定義と置き換えるかどうかを" "制御します。" #: ../../c-api/structures.rst:475 msgid "" "The method will be loaded in place of existing definitions. Without " "*METH_COEXIST*, the default is to skip repeated definitions. Since slot " "wrappers are loaded before the method table, the existence of a " "*sq_contains* slot, for example, would generate a wrapped method named :meth:" "`~object.__contains__` and preclude the loading of a corresponding " "PyCFunction with the same name. With the flag defined, the PyCFunction will " "be loaded in place of the wrapper object and will co-exist with the slot. " "This is helpful because calls to PyCFunctions are optimized more than " "wrapper object calls." msgstr "" #: ../../c-api/structures.rst:488 msgid "" "The type object corresponding to Python C method objects. This is available " "as :class:`types.BuiltinMethodType` in the Python layer." msgstr "" #: ../../c-api/structures.rst:494 msgid "" "Return true if *op* is an instance of the :c:type:`PyCMethod_Type` type or a " "subtype of it. This function always succeeds." msgstr "" #: ../../c-api/structures.rst:500 msgid "" "This is the same as :c:func:`PyCMethod_Check`, but does not account for " "subtypes." msgstr "" #: ../../c-api/structures.rst:506 msgid "" "Turn *ml* into a Python :term:`callable` object. The caller must ensure that " "*ml* outlives the :term:`callable`. Typically, *ml* is defined as a static " "variable." msgstr "" #: ../../c-api/structures.rst:510 msgid "" "The *self* parameter will be passed as the *self* argument to the C function " "in ``ml->ml_meth`` when invoked. *self* can be ``NULL``." msgstr "" #: ../../c-api/structures.rst:514 msgid "" "The :term:`callable` object's ``__module__`` attribute can be set from the " "given *module* argument. *module* should be a Python string, which will be " "used as name of the module the function is defined in. If unavailable, it " "can be set to :const:`None` or ``NULL``." msgstr "" #: ../../c-api/structures.rst:520 msgid ":attr:`function.__module__`" msgstr "" #: ../../c-api/structures.rst:522 msgid "" "The *cls* parameter will be passed as the *defining_class* argument to the C " "function. Must be set if :c:macro:`METH_METHOD` is set on ``ml->ml_flags``." msgstr "" #: ../../c-api/structures.rst:531 msgid "" "The type object corresponding to Python C function objects. This is " "available as :class:`types.BuiltinFunctionType` in the Python layer." msgstr "" #: ../../c-api/structures.rst:537 msgid "" "Return true if *op* is an instance of the :c:type:`PyCFunction_Type` type or " "a subtype of it. This function always succeeds." msgstr "" #: ../../c-api/structures.rst:543 msgid "" "This is the same as :c:func:`PyCFunction_Check`, but does not account for " "subtypes." msgstr "" #: ../../c-api/structures.rst:549 msgid "Equivalent to ``PyCMethod_New(ml, self, module, NULL)``." msgstr "" #: ../../c-api/structures.rst:554 msgid "Equivalent to ``PyCMethod_New(ml, self, NULL, NULL)``." msgstr "" #: ../../c-api/structures.rst:559 msgid "" "Get the function's flags on *func* as they were passed to :c:member:" "`~PyMethodDef.ml_flags`." msgstr "" #: ../../c-api/structures.rst:562 ../../c-api/structures.rst:580 #: ../../c-api/structures.rst:600 msgid "" "If *func* is not a C function object, this fails with an exception. *func* " "must not be ``NULL``." msgstr "" #: ../../c-api/structures.rst:565 msgid "" "This function returns the function's flags on success, and ``-1`` with an " "exception set on failure." msgstr "" #: ../../c-api/structures.rst:571 msgid "" "This is the same as :c:func:`PyCFunction_GetFlags`, but without error or " "type checking." msgstr "" #: ../../c-api/structures.rst:577 msgid "" "Get the function pointer on *func* as it was passed to :c:member:" "`~PyMethodDef.ml_meth`." msgstr "" #: ../../c-api/structures.rst:583 msgid "" "This function returns the function pointer on success, and ``NULL`` with an " "exception set on failure." msgstr "" #: ../../c-api/structures.rst:589 msgid "" "This is the same as :c:func:`PyCFunction_GetFunction`, but without error or " "type checking." msgstr "" #: ../../c-api/structures.rst:595 msgid "" "Get the \"self\" object on *func*. This is the object that would be passed " "to the first argument of a :c:type:`PyCFunction`. For C function objects " "created through a :c:type:`PyMethodDef` on a :c:type:`PyModuleDef`, this is " "the resulting module object." msgstr "" #: ../../c-api/structures.rst:603 msgid "" "This function returns a :term:`borrowed reference` to the \"self\" object on " "success, and ``NULL`` with an exception set on failure." msgstr "" #: ../../c-api/structures.rst:609 msgid "" "This is the same as :c:func:`PyCFunction_GetSelf`, but without error or type " "checking." msgstr "" #: ../../c-api/structures.rst:614 msgid "Accessing attributes of extension types" msgstr "" #: ../../c-api/structures.rst:618 msgid "" "Structure which describes an attribute of a type which corresponds to a C " "struct member. When defining a class, put a NULL-terminated array of these " "structures in the :c:member:`~PyTypeObject.tp_members` slot." msgstr "" #: ../../c-api/structures.rst:623 msgid "Its fields are, in order:" msgstr "" #: ../../c-api/structures.rst:627 msgid "" "Name of the member. A NULL value marks the end of a ``PyMemberDef[]`` array." msgstr "" #: ../../c-api/structures.rst:630 msgid "The string should be static, no copy is made of it." msgstr "" #: ../../c-api/structures.rst:634 msgid "" "The type of the member in the C struct. See :ref:`PyMemberDef-types` for the " "possible values." msgstr "" #: ../../c-api/structures.rst:639 msgid "" "The offset in bytes that the member is located on the type’s object struct." msgstr "" #: ../../c-api/structures.rst:643 msgid "" "Zero or more of the :ref:`PyMemberDef-flags`, combined using bitwise OR." msgstr "" #: ../../c-api/structures.rst:647 msgid "" "The docstring, or NULL. The string should be static, no copy is made of it. " "Typically, it is defined using :c:macro:`PyDoc_STR`." msgstr "" #: ../../c-api/structures.rst:651 msgid "" "By default (when :c:member:`~PyMemberDef.flags` is ``0``), members allow " "both read and write access. Use the :c:macro:`Py_READONLY` flag for read-" "only access. Certain types, like :c:macro:`Py_T_STRING`, imply :c:macro:" "`Py_READONLY`. Only :c:macro:`Py_T_OBJECT_EX` (and legacy :c:macro:" "`T_OBJECT`) members can be deleted." msgstr "" #: ../../c-api/structures.rst:660 msgid "" "For heap-allocated types (created using :c:func:`PyType_FromSpec` or " "similar), ``PyMemberDef`` may contain a definition for the special member " "``\"__vectorcalloffset__\"``, corresponding to :c:member:`~PyTypeObject." "tp_vectorcall_offset` in type objects. This member must be defined with " "``Py_T_PYSSIZET``, and either ``Py_READONLY`` or ``Py_READONLY | " "Py_RELATIVE_OFFSET``. For example::" msgstr "" #: ../../c-api/structures.rst:667 msgid "" "static PyMemberDef spam_type_members[] = {\n" " {\"__vectorcalloffset__\", Py_T_PYSSIZET,\n" " offsetof(Spam_object, vectorcall), Py_READONLY},\n" " {NULL} /* Sentinel */\n" "};" msgstr "" #: ../../c-api/structures.rst:673 msgid "(You may need to ``#include `` for :c:func:`!offsetof`.)" msgstr "" #: ../../c-api/structures.rst:675 msgid "" "The legacy offsets :c:member:`~PyTypeObject.tp_dictoffset` and :c:member:" "`~PyTypeObject.tp_weaklistoffset` can be defined similarly using " "``\"__dictoffset__\"`` and ``\"__weaklistoffset__\"`` members, but " "extensions are strongly encouraged to use :c:macro:`Py_TPFLAGS_MANAGED_DICT` " "and :c:macro:`Py_TPFLAGS_MANAGED_WEAKREF` instead." msgstr "" #: ../../c-api/structures.rst:683 msgid "" "``PyMemberDef`` is always available. Previously, it required including " "``\"structmember.h\"``." msgstr "" #: ../../c-api/structures.rst:688 msgid "" ":c:macro:`Py_RELATIVE_OFFSET` is now allowed for " "``\"__vectorcalloffset__\"``, ``\"__dictoffset__\"`` and " "``\"__weaklistoffset__\"``." msgstr "" #: ../../c-api/structures.rst:694 msgid "" "Get an attribute belonging to the object at address *obj_addr*. The " "attribute is described by ``PyMemberDef`` *m*. Returns ``NULL`` on error." msgstr "" #: ../../c-api/structures.rst:700 msgid "" "``PyMember_GetOne`` is always available. Previously, it required including " "``\"structmember.h\"``." msgstr "" #: ../../c-api/structures.rst:705 msgid "" "Set an attribute belonging to the object at address *obj_addr* to object " "*o*. The attribute to set is described by ``PyMemberDef`` *m*. Returns " "``0`` if successful and a negative value on failure." msgstr "" #: ../../c-api/structures.rst:711 msgid "" "``PyMember_SetOne`` is always available. Previously, it required including " "``\"structmember.h\"``." msgstr "" #: ../../c-api/structures.rst:717 msgid "Member flags" msgstr "" #: ../../c-api/structures.rst:719 msgid "The following flags can be used with :c:member:`PyMemberDef.flags`:" msgstr "" #: ../../c-api/structures.rst:723 msgid "Not writable." msgstr "" #: ../../c-api/structures.rst:727 msgid "" "Emit an ``object.__getattr__`` :ref:`audit event ` before " "reading." msgstr "" #: ../../c-api/structures.rst:732 msgid "" "Indicates that the :c:member:`~PyMemberDef.offset` of this ``PyMemberDef`` " "entry indicates an offset from the subclass-specific data, rather than from " "``PyObject``." msgstr "" #: ../../c-api/structures.rst:736 msgid "" "Can only be used as part of the :c:data:`Py_tp_members` :c:type:`slot " "` when creating a class using negative :c:member:`~PyType_Spec." "basicsize`. It is mandatory in that case. When setting :c:member:" "`~PyTypeObject.tp_members` from the slot during class creation, Python " "clears the flag and sets :c:member:`PyMemberDef.offset` to the offset from " "the ``PyObject`` struct." msgstr "" #: ../../c-api/structures.rst:751 msgid "" "The :c:macro:`!RESTRICTED`, :c:macro:`!READ_RESTRICTED` and :c:macro:`!" "WRITE_RESTRICTED` macros available with ``#include \"structmember.h\"`` are " "deprecated. :c:macro:`!READ_RESTRICTED` and :c:macro:`!RESTRICTED` are " "equivalent to :c:macro:`Py_AUDIT_READ`; :c:macro:`!WRITE_RESTRICTED` does " "nothing." msgstr "" #: ../../c-api/structures.rst:762 msgid "" "The :c:macro:`!READONLY` macro was renamed to :c:macro:`Py_READONLY`. The :c:" "macro:`!PY_AUDIT_READ` macro was renamed with the ``Py_`` prefix. The new " "names are now always available. Previously, these required ``#include " "\"structmember.h\"``. The header is still available and it provides the old " "names." msgstr "" #: ../../c-api/structures.rst:771 msgid "Member types" msgstr "" #: ../../c-api/structures.rst:773 msgid "" ":c:member:`PyMemberDef.type` can be one of the following macros " "corresponding to various C types. When the member is accessed in Python, it " "will be converted to the equivalent Python type. When it is set from Python, " "it will be converted back to the C type. If that is not possible, an " "exception such as :exc:`TypeError` or :exc:`ValueError` is raised." msgstr "" #: ../../c-api/structures.rst:781 msgid "" "Unless marked (D), attributes defined this way cannot be deleted using e.g. :" "keyword:`del` or :py:func:`delattr`." msgstr "" #: ../../c-api/structures.rst:785 msgid "Macro name" msgstr "マクロ名" #: ../../c-api/structures.rst:785 msgid "C type" msgstr "C の型" #: ../../c-api/structures.rst:785 msgid "Python type" msgstr "Python の型" #: ../../c-api/structures.rst:787 msgid ":c:expr:`char`" msgstr ":c:expr:`char`" #: ../../c-api/structures.rst:787 ../../c-api/structures.rst:788 #: ../../c-api/structures.rst:789 ../../c-api/structures.rst:790 #: ../../c-api/structures.rst:791 ../../c-api/structures.rst:792 #: ../../c-api/structures.rst:793 ../../c-api/structures.rst:794 #: ../../c-api/structures.rst:795 ../../c-api/structures.rst:796 #: ../../c-api/structures.rst:797 msgid ":py:class:`int`" msgstr "" #: ../../c-api/structures.rst:788 msgid ":c:expr:`short`" msgstr ":c:expr:`short`" #: ../../c-api/structures.rst:789 msgid ":c:expr:`int`" msgstr ":c:expr:`int`" #: ../../c-api/structures.rst:790 msgid ":c:expr:`long`" msgstr ":c:expr:`long`" #: ../../c-api/structures.rst:791 msgid ":c:expr:`long long`" msgstr "" #: ../../c-api/structures.rst:792 msgid ":c:expr:`unsigned char`" msgstr ":c:expr:`unsigned char`" #: ../../c-api/structures.rst:793 msgid ":c:expr:`unsigned int`" msgstr ":c:expr:`unsigned int`" #: ../../c-api/structures.rst:794 msgid ":c:expr:`unsigned short`" msgstr ":c:expr:`unsigned short`" #: ../../c-api/structures.rst:795 msgid ":c:expr:`unsigned long`" msgstr ":c:expr:`unsigned long`" #: ../../c-api/structures.rst:796 msgid ":c:expr:`unsigned long long`" msgstr "" #: ../../c-api/structures.rst:797 msgid ":c:expr:`Py_ssize_t`" msgstr "" #: ../../c-api/structures.rst:798 msgid ":c:expr:`float`" msgstr ":c:expr:`float`" #: ../../c-api/structures.rst:798 ../../c-api/structures.rst:799 msgid ":py:class:`float`" msgstr "" #: ../../c-api/structures.rst:799 msgid ":c:expr:`double`" msgstr ":c:expr:`double`" #: ../../c-api/structures.rst:800 msgid ":c:expr:`char` (written as 0 or 1)" msgstr "" #: ../../c-api/structures.rst:800 msgid ":py:class:`bool`" msgstr "" #: ../../c-api/structures.rst:802 msgid ":c:expr:`const char *` (*)" msgstr "" #: ../../c-api/structures.rst:802 ../../c-api/structures.rst:803 msgid ":py:class:`str` (RO)" msgstr "" #: ../../c-api/structures.rst:803 msgid ":c:expr:`const char[]` (*)" msgstr "" #: ../../c-api/structures.rst:804 msgid ":c:expr:`char` (0-127)" msgstr "" #: ../../c-api/structures.rst:804 msgid ":py:class:`str` (**)" msgstr "" #: ../../c-api/structures.rst:805 msgid ":c:expr:`PyObject *`" msgstr "" #: ../../c-api/structures.rst:805 msgid ":py:class:`object` (D)" msgstr "" #: ../../c-api/structures.rst:808 msgid "" "(*): Zero-terminated, UTF8-encoded C string. With :c:macro:`!Py_T_STRING` " "the C representation is a pointer; with :c:macro:`!Py_T_STRING_INPLACE` the " "string is stored directly in the structure." msgstr "" #: ../../c-api/structures.rst:813 msgid "(**): String of length 1. Only ASCII is accepted." msgstr "" #: ../../c-api/structures.rst:815 msgid "(RO): Implies :c:macro:`Py_READONLY`." msgstr "" #: ../../c-api/structures.rst:817 msgid "" "(D): Can be deleted, in which case the pointer is set to ``NULL``. Reading a " "``NULL`` pointer raises :py:exc:`AttributeError`." msgstr "" #: ../../c-api/structures.rst:843 msgid "" "In previous versions, the macros were only available with ``#include " "\"structmember.h\"`` and were named without the ``Py_`` prefix (e.g. as " "``T_INT``). The header is still available and contains the old names, along " "with the following deprecated types:" msgstr "" #: ../../c-api/structures.rst:851 msgid "" "Like ``Py_T_OBJECT_EX``, but ``NULL`` is converted to ``None``. This results " "in surprising behavior in Python: deleting the attribute effectively sets it " "to ``None``." msgstr "" #: ../../c-api/structures.rst:857 msgid "Always ``None``. Must be used with :c:macro:`Py_READONLY`." msgstr "" #: ../../c-api/structures.rst:860 msgid "Defining Getters and Setters" msgstr "" #: ../../c-api/structures.rst:864 msgid "" "Structure to define property-like access for a type. See also description of " "the :c:member:`PyTypeObject.tp_getset` slot." msgstr "" "型のプロパティのようなアクセスを定義するための構造体です。 :c:member:" "`PyTypeObject.tp_getset` スロットの説明も参照してください。" #: ../../c-api/structures.rst:869 msgid "attribute name" msgstr "属性名" #: ../../c-api/structures.rst:873 msgid "C function to get the attribute." msgstr "" #: ../../c-api/structures.rst:877 msgid "" "Optional C function to set or delete the attribute. If ``NULL``, the " "attribute is read-only." msgstr "" #: ../../c-api/structures.rst:882 msgid "optional docstring" msgstr "任意のドキュメンテーション文字列" #: ../../c-api/structures.rst:886 msgid "" "Optional user data pointer, providing additional data for getter and setter." msgstr "" #: ../../c-api/structures.rst:890 msgid "" "The ``get`` function takes one :c:expr:`PyObject*` parameter (the instance) " "and a user data pointer (the associated ``closure``):" msgstr "" #: ../../c-api/structures.rst:893 msgid "" "It should return a new reference on success or ``NULL`` with a set exception " "on failure." msgstr "" "成功または失敗時に ``NULL`` と例外の集合にされたときは新しい参照を返します。" #: ../../c-api/structures.rst:898 msgid "" "``set`` functions take two :c:expr:`PyObject*` parameters (the instance and " "the value to be set) and a user data pointer (the associated ``closure``):" msgstr "" #: ../../c-api/structures.rst:901 msgid "" "In case the attribute should be deleted the second parameter is ``NULL``. " "Should return ``0`` on success or ``-1`` with a set exception on failure." msgstr "" "属性を削除する場合は、2 番目のパラメータに ``NULL`` を指定します。成功した場" "合は ``0`` を、失敗した場合は ``-1`` を例外として返します。" #: ../../c-api/structures.rst:453 ../../c-api/structures.rst:463 msgid "built-in function" msgstr "組み込み関数" #: ../../c-api/structures.rst:453 msgid "classmethod" msgstr "クラスメソッド" #: ../../c-api/structures.rst:463 msgid "staticmethod" msgstr "静的メソッド" #: ../../c-api/structures.rst:744 msgid "READ_RESTRICTED (C macro)" msgstr "" #: ../../c-api/structures.rst:744 msgid "WRITE_RESTRICTED (C macro)" msgstr "" #: ../../c-api/structures.rst:744 msgid "RESTRICTED (C macro)" msgstr "" #: ../../c-api/structures.rst:757 msgid "READONLY (C macro)" msgstr "" #: ../../c-api/structures.rst:820 msgid "T_BYTE (C macro)" msgstr "" #: ../../c-api/structures.rst:820 msgid "T_SHORT (C macro)" msgstr "" #: ../../c-api/structures.rst:820 msgid "T_INT (C macro)" msgstr "" #: ../../c-api/structures.rst:820 msgid "T_LONG (C macro)" msgstr "" #: ../../c-api/structures.rst:820 msgid "T_LONGLONG (C macro)" msgstr "" #: ../../c-api/structures.rst:820 msgid "T_UBYTE (C macro)" msgstr "" #: ../../c-api/structures.rst:820 msgid "T_USHORT (C macro)" msgstr "" #: ../../c-api/structures.rst:820 msgid "T_UINT (C macro)" msgstr "" #: ../../c-api/structures.rst:820 msgid "T_ULONG (C macro)" msgstr "" #: ../../c-api/structures.rst:820 msgid "T_ULONGULONG (C macro)" msgstr "" #: ../../c-api/structures.rst:820 msgid "T_PYSSIZET (C macro)" msgstr "" #: ../../c-api/structures.rst:820 msgid "T_FLOAT (C macro)" msgstr "" #: ../../c-api/structures.rst:820 msgid "T_DOUBLE (C macro)" msgstr "" #: ../../c-api/structures.rst:820 msgid "T_BOOL (C macro)" msgstr "" #: ../../c-api/structures.rst:820 msgid "T_CHAR (C macro)" msgstr "" #: ../../c-api/structures.rst:820 msgid "T_STRING (C macro)" msgstr "" #: ../../c-api/structures.rst:820 msgid "T_STRING_INPLACE (C macro)" msgstr "" #: ../../c-api/structures.rst:820 msgid "T_OBJECT_EX (C macro)" msgstr "" #: ../../c-api/structures.rst:820 msgid "structmember.h" msgstr ""

Back | FazBrowse Home | New Git URL