# 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: # oon arfiandwi , 2023 # Ahmad Mustafid, 2024 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-05-09 14:19+0000\n" "PO-Revision-Date: 2021-06-28 00:50+0000\n" "Last-Translator: Ahmad Mustafid, 2024\n" "Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../../c-api/structures.rst:6 msgid "Common Object Structures" msgstr "Struktur Objek Umum" #: ../../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 "" #: ../../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*`. Access to the members must be done by" " using the macros :c:macro:`Py_REFCNT` and :c:macro:`Py_TYPE`." msgstr "" #: ../../c-api/structures.rst:38 msgid "" "This is an extension of :c:type:`PyObject` that adds the " ":c:member:`~PyVarObject.ob_size` field. This is only used for objects that " "have some notion of *length*. This type does not often appear in the " "Python/C API. Access to the members must be done by using the macros " ":c:macro:`Py_REFCNT`, :c:macro:`Py_TYPE`, and :c:macro:`Py_SIZE`." msgstr "" #: ../../c-api/structures.rst:47 msgid "" "This is a macro used when declaring new types which represent objects " "without a varying length. The PyObject_HEAD macro expands to::" msgstr "" #: ../../c-api/structures.rst:50 msgid "PyObject ob_base;" msgstr "" #: ../../c-api/structures.rst:52 msgid "See documentation of :c:type:`PyObject` above." msgstr "" #: ../../c-api/structures.rst:57 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 "" #: ../../c-api/structures.rst:61 msgid "PyVarObject ob_base;" msgstr "" #: ../../c-api/structures.rst:63 msgid "See documentation of :c:type:`PyVarObject` above." msgstr "" #: ../../c-api/structures.rst:68 msgid "" "The base class of all other objects, the same as :class:`object` in Python." msgstr "" #: ../../c-api/structures.rst:73 msgid "" "Test if the *x* object is the *y* object, the same as ``x is y`` in Python." msgstr "" #: ../../c-api/structures.rst:80 msgid "" "Test if an object is the ``None`` singleton, the same as ``x is None`` in " "Python." msgstr "" #: ../../c-api/structures.rst:88 msgid "" "Test if an object is the ``True`` singleton, the same as ``x is True`` in " "Python." msgstr "" #: ../../c-api/structures.rst:96 msgid "" "Test if an object is the ``False`` singleton, the same as ``x is False`` in " "Python." msgstr "" #: ../../c-api/structures.rst:104 msgid "Get the type of the Python object *o*." msgstr "" #: ../../c-api/structures.rst:106 msgid "Return a :term:`borrowed reference`." msgstr "" #: ../../c-api/structures.rst:108 msgid "Use the :c:func:`Py_SET_TYPE` function to set an object type." msgstr "" #: ../../c-api/structures.rst:110 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:117 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:125 msgid "Set the object *o* type to *type*." msgstr "" #: ../../c-api/structures.rst:132 msgid "Get the size of the Python object *o*." msgstr "" #: ../../c-api/structures.rst:134 msgid "Use the :c:func:`Py_SET_SIZE` function to set an object size." msgstr "" #: ../../c-api/structures.rst:136 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:143 msgid "Set the object *o* size to *size*." msgstr "" #: ../../c-api/structures.rst:150 msgid "" "This is a macro which expands to initialization values for a new " ":c:type:`PyObject` type. This macro expands to::" msgstr "" #: ../../c-api/structures.rst:153 msgid "" "_PyObject_EXTRA_INIT\n" "1, type," msgstr "" #: ../../c-api/structures.rst:159 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:163 msgid "" "_PyObject_EXTRA_INIT\n" "1, type, size," msgstr "" #: ../../c-api/structures.rst:168 msgid "Implementing functions and methods" msgstr "" #: ../../c-api/structures.rst:172 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:179 msgid "The function signature is::" msgstr "" #: ../../c-api/structures.rst:181 msgid "" "PyObject *PyCFunction(PyObject *self,\n" " PyObject *args);" msgstr "" #: ../../c-api/structures.rst:186 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:190 msgid "" "PyObject *PyCFunctionWithKeywords(PyObject *self,\n" " PyObject *args,\n" " PyObject *kwargs);" msgstr "" #: ../../c-api/structures.rst:197 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:201 msgid "" "PyObject *PyCFunctionFast(PyObject *self,\n" " PyObject *const *args,\n" " Py_ssize_t nargs);" msgstr "" #: ../../c-api/structures.rst:207 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:211 msgid "" "PyObject *PyCFunctionFastWithKeywords(PyObject *self,\n" " PyObject *const *args,\n" " Py_ssize_t nargs,\n" " PyObject *kwnames);" msgstr "" #: ../../c-api/structures.rst:218 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:222 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:233 msgid "" "Structure used to describe a method of an extension type. This structure " "has four fields:" msgstr "" #: ../../c-api/structures.rst:238 msgid "Name of the method." msgstr "" #: ../../c-api/structures.rst:242 msgid "Pointer to the C implementation." msgstr "" #: ../../c-api/structures.rst:246 msgid "Flags bits indicating how the call should be constructed." msgstr "" #: ../../c-api/structures.rst:250 msgid "Points to the contents of the docstring." msgstr "" #: ../../c-api/structures.rst:252 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:260 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:265 msgid "There are these calling conventions:" msgstr "" #: ../../c-api/structures.rst:269 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-api/structures.rst:279 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:287 msgid ":c:expr:`METH_VARARGS | METH_KEYWORDS`" msgstr "" #: ../../c-api/structures.rst:288 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:297 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:307 msgid "``METH_FASTCALL`` is now part of the :ref:`stable ABI `." msgstr "" #: ../../c-api/structures.rst:312 msgid ":c:expr:`METH_FASTCALL | METH_KEYWORDS`" msgstr "" #: ../../c-api/structures.rst:313 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:328 msgid "" "Can only be used in the combination with other flags: :ref:`METH_METHOD | " "METH_FASTCALL | METH_KEYWORDS `." msgstr "" #: ../../c-api/structures.rst:334 msgid ":c:expr:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS`" msgstr "" #: ../../c-api/structures.rst:335 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:340 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:349 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:355 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:361 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:367 msgid "" "These two constants are not used to indicate the calling convention but the " "binding when use 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:377 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 :func:`classmethod` built-in function." msgstr "" #: ../../c-api/structures.rst:387 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 :func:`staticmethod` built-in function." msgstr "" #: ../../c-api/structures.rst:391 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:397 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:409 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:413 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:417 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:423 msgid ":attr:`function.__module__`" msgstr "" #: ../../c-api/structures.rst:425 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:434 msgid "Equivalent to ``PyCMethod_New(ml, self, module, NULL)``." msgstr "" #: ../../c-api/structures.rst:439 msgid "Equivalent to ``PyCMethod_New(ml, self, NULL, NULL)``." msgstr "" #: ../../c-api/structures.rst:443 msgid "Accessing attributes of extension types" msgstr "" #: ../../c-api/structures.rst:447 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:452 msgid "Its fields are, in order:" msgstr "" #: ../../c-api/structures.rst:456 msgid "" "Name of the member. A NULL value marks the end of a ``PyMemberDef[]`` array." msgstr "" #: ../../c-api/structures.rst:459 msgid "The string should be static, no copy is made of it." msgstr "" #: ../../c-api/structures.rst:463 msgid "" "The type of the member in the C struct. See :ref:`PyMemberDef-types` for the" " possible values." msgstr "" #: ../../c-api/structures.rst:468 msgid "" "The offset in bytes that the member is located on the type’s object struct." msgstr "" #: ../../c-api/structures.rst:472 msgid "" "Zero or more of the :ref:`PyMemberDef-flags`, combined using bitwise OR." msgstr "" #: ../../c-api/structures.rst:476 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:480 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:489 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:496 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:502 msgid "(You may need to ``#include `` for :c:func:`!offsetof`.)" msgstr "" #: ../../c-api/structures.rst:504 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:512 msgid "" "``PyMemberDef`` is always available. Previously, it required including " "``\"structmember.h\"``." msgstr "" #: ../../c-api/structures.rst:517 msgid "" ":c:macro:`Py_RELATIVE_OFFSET` is now allowed for " "``\"__vectorcalloffset__\"``, ``\"__dictoffset__\"`` and " "``\"__weaklistoffset__\"``." msgstr "" #: ../../c-api/structures.rst:523 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:529 msgid "" "``PyMember_GetOne`` is always available. Previously, it required including " "``\"structmember.h\"``." msgstr "" #: ../../c-api/structures.rst:534 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:540 msgid "" "``PyMember_SetOne`` is always available. Previously, it required including " "``\"structmember.h\"``." msgstr "" #: ../../c-api/structures.rst:546 msgid "Member flags" msgstr "" #: ../../c-api/structures.rst:548 msgid "The following flags can be used with :c:member:`PyMemberDef.flags`:" msgstr "" #: ../../c-api/structures.rst:552 msgid "Not writable." msgstr "" #: ../../c-api/structures.rst:556 msgid "" "Emit an ``object.__getattr__`` :ref:`audit event ` before " "reading." msgstr "" #: ../../c-api/structures.rst:561 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:565 msgid "" "Can only be used as part of :c:member:`Py_tp_members " "` :c:type:`slot ` when creating a " "class using negative :c:member:`~PyType_Spec.basicsize`. It is mandatory in " "that case." msgstr "" #: ../../c-api/structures.rst:570 msgid "" "This flag is only used in :c:type:`PyType_Slot`. When setting " ":c:member:`~PyTypeObject.tp_members` during class creation, Python clears it" " and sets :c:member:`PyMemberDef.offset` to the offset from the ``PyObject``" " struct." msgstr "" #: ../../c-api/structures.rst:582 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:593 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:602 msgid "Member types" msgstr "" #: ../../c-api/structures.rst:604 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:612 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:616 msgid "Macro name" msgstr "Nama macro" #: ../../c-api/structures.rst:616 msgid "C type" msgstr "tipe C" #: ../../c-api/structures.rst:616 msgid "Python type" msgstr "tipe Python" #: ../../c-api/structures.rst:618 msgid ":c:expr:`char`" msgstr "" #: ../../c-api/structures.rst:618 ../../c-api/structures.rst:619 #: ../../c-api/structures.rst:620 ../../c-api/structures.rst:621 #: ../../c-api/structures.rst:622 ../../c-api/structures.rst:623 #: ../../c-api/structures.rst:624 ../../c-api/structures.rst:625 #: ../../c-api/structures.rst:626 ../../c-api/structures.rst:627 #: ../../c-api/structures.rst:628 msgid ":py:class:`int`" msgstr "" #: ../../c-api/structures.rst:619 msgid ":c:expr:`short`" msgstr "" #: ../../c-api/structures.rst:620 msgid ":c:expr:`int`" msgstr "" #: ../../c-api/structures.rst:621 msgid ":c:expr:`long`" msgstr "" #: ../../c-api/structures.rst:622 msgid ":c:expr:`long long`" msgstr "" #: ../../c-api/structures.rst:623 msgid ":c:expr:`unsigned char`" msgstr "" #: ../../c-api/structures.rst:624 msgid ":c:expr:`unsigned int`" msgstr "" #: ../../c-api/structures.rst:625 msgid ":c:expr:`unsigned short`" msgstr "" #: ../../c-api/structures.rst:626 msgid ":c:expr:`unsigned long`" msgstr "" #: ../../c-api/structures.rst:627 msgid ":c:expr:`unsigned long long`" msgstr "" #: ../../c-api/structures.rst:628 msgid ":c:expr:`Py_ssize_t`" msgstr "" #: ../../c-api/structures.rst:629 msgid ":c:expr:`float`" msgstr "" #: ../../c-api/structures.rst:629 ../../c-api/structures.rst:630 msgid ":py:class:`float`" msgstr "" #: ../../c-api/structures.rst:630 msgid ":c:expr:`double`" msgstr "" #: ../../c-api/structures.rst:631 msgid ":c:expr:`char` (written as 0 or 1)" msgstr "" #: ../../c-api/structures.rst:631 msgid ":py:class:`bool`" msgstr "" #: ../../c-api/structures.rst:633 msgid ":c:expr:`const char *` (*)" msgstr "" #: ../../c-api/structures.rst:633 ../../c-api/structures.rst:634 msgid ":py:class:`str` (RO)" msgstr "" #: ../../c-api/structures.rst:634 msgid ":c:expr:`const char[]` (*)" msgstr "" #: ../../c-api/structures.rst:635 msgid ":c:expr:`char` (0-127)" msgstr "" #: ../../c-api/structures.rst:635 msgid ":py:class:`str` (**)" msgstr "" #: ../../c-api/structures.rst:636 msgid ":c:expr:`PyObject *`" msgstr "" #: ../../c-api/structures.rst:636 msgid ":py:class:`object` (D)" msgstr "" #: ../../c-api/structures.rst:639 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:644 msgid "(**): String of length 1. Only ASCII is accepted." msgstr "" #: ../../c-api/structures.rst:646 msgid "(RO): Implies :c:macro:`Py_READONLY`." msgstr "" #: ../../c-api/structures.rst:648 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:674 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:682 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:688 msgid "Always ``None``. Must be used with :c:macro:`Py_READONLY`." msgstr "" #: ../../c-api/structures.rst:691 msgid "Defining Getters and Setters" msgstr "" #: ../../c-api/structures.rst:695 msgid "" "Structure to define property-like access for a type. See also description of" " the :c:member:`PyTypeObject.tp_getset` slot." msgstr "" #: ../../c-api/structures.rst:700 msgid "attribute name" msgstr "nama atribut" #: ../../c-api/structures.rst:704 msgid "C function to get the attribute." msgstr "" #: ../../c-api/structures.rst:708 msgid "" "Optional C function to set or delete the attribute. If ``NULL``, the " "attribute is read-only." msgstr "" #: ../../c-api/structures.rst:713 msgid "optional docstring" msgstr "*docstring* pilihan" #: ../../c-api/structures.rst:717 msgid "" "Optional user data pointer, providing additional data for getter and setter." msgstr "" #: ../../c-api/structures.rst:721 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:724 msgid "" "It should return a new reference on success or ``NULL`` with a set exception" " on failure." msgstr "" #: ../../c-api/structures.rst:729 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:732 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 "" #: ../../c-api/structures.rst:375 ../../c-api/structures.rst:385 msgid "built-in function" msgstr "fungsi bawaan" #: ../../c-api/structures.rst:375 msgid "classmethod" msgstr "" #: ../../c-api/structures.rst:385 msgid "staticmethod" msgstr "" #: ../../c-api/structures.rst:575 msgid "READ_RESTRICTED (C macro)" msgstr "" #: ../../c-api/structures.rst:575 msgid "WRITE_RESTRICTED (C macro)" msgstr "" #: ../../c-api/structures.rst:575 msgid "RESTRICTED (C macro)" msgstr "" #: ../../c-api/structures.rst:588 msgid "READONLY (C macro)" msgstr "" #: ../../c-api/structures.rst:651 msgid "T_BYTE (C macro)" msgstr "" #: ../../c-api/structures.rst:651 msgid "T_SHORT (C macro)" msgstr "" #: ../../c-api/structures.rst:651 msgid "T_INT (C macro)" msgstr "" #: ../../c-api/structures.rst:651 msgid "T_LONG (C macro)" msgstr "" #: ../../c-api/structures.rst:651 msgid "T_LONGLONG (C macro)" msgstr "" #: ../../c-api/structures.rst:651 msgid "T_UBYTE (C macro)" msgstr "" #: ../../c-api/structures.rst:651 msgid "T_USHORT (C macro)" msgstr "" #: ../../c-api/structures.rst:651 msgid "T_UINT (C macro)" msgstr "" #: ../../c-api/structures.rst:651 msgid "T_ULONG (C macro)" msgstr "" #: ../../c-api/structures.rst:651 msgid "T_ULONGULONG (C macro)" msgstr "" #: ../../c-api/structures.rst:651 msgid "T_PYSSIZET (C macro)" msgstr "" #: ../../c-api/structures.rst:651 msgid "T_FLOAT (C macro)" msgstr "" #: ../../c-api/structures.rst:651 msgid "T_DOUBLE (C macro)" msgstr "" #: ../../c-api/structures.rst:651 msgid "T_BOOL (C macro)" msgstr "" #: ../../c-api/structures.rst:651 msgid "T_CHAR (C macro)" msgstr "" #: ../../c-api/structures.rst:651 msgid "T_STRING (C macro)" msgstr "" #: ../../c-api/structures.rst:651 msgid "T_STRING_INPLACE (C macro)" msgstr "" #: ../../c-api/structures.rst:651 msgid "T_OBJECT_EX (C macro)" msgstr "" #: ../../c-api/structures.rst:651 msgid "structmember.h" msgstr ""