123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200 |
- /*[clinic input]
- preserve
- [clinic start generated code]*/
- #if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE)
- # include "pycore_gc.h" // PyGC_Head
- # include "pycore_runtime.h" // _Py_ID()
- #endif
- PyDoc_STRVAR(dict_fromkeys__doc__,
- "fromkeys($type, iterable, value=None, /)\n"
- "--\n"
- "\n"
- "Create a new dictionary with keys from iterable and values set to value.");
- #define DICT_FROMKEYS_METHODDEF \
- {"fromkeys", _PyCFunction_CAST(dict_fromkeys), METH_FASTCALL|METH_CLASS, dict_fromkeys__doc__},
- static PyObject *
- dict_fromkeys_impl(PyTypeObject *type, PyObject *iterable, PyObject *value);
- static PyObject *
- dict_fromkeys(PyTypeObject *type, PyObject *const *args, Py_ssize_t nargs)
- {
- PyObject *return_value = NULL;
- PyObject *iterable;
- PyObject *value = Py_None;
- if (!_PyArg_CheckPositional("fromkeys", nargs, 1, 2)) {
- goto exit;
- }
- iterable = args[0];
- if (nargs < 2) {
- goto skip_optional;
- }
- value = args[1];
- skip_optional:
- return_value = dict_fromkeys_impl(type, iterable, value);
- exit:
- return return_value;
- }
- PyDoc_STRVAR(dict___contains____doc__,
- "__contains__($self, key, /)\n"
- "--\n"
- "\n"
- "True if the dictionary has the specified key, else False.");
- #define DICT___CONTAINS___METHODDEF \
- {"__contains__", (PyCFunction)dict___contains__, METH_O|METH_COEXIST, dict___contains____doc__},
- PyDoc_STRVAR(dict_get__doc__,
- "get($self, key, default=None, /)\n"
- "--\n"
- "\n"
- "Return the value for key if key is in the dictionary, else default.");
- #define DICT_GET_METHODDEF \
- {"get", _PyCFunction_CAST(dict_get), METH_FASTCALL, dict_get__doc__},
- static PyObject *
- dict_get_impl(PyDictObject *self, PyObject *key, PyObject *default_value);
- static PyObject *
- dict_get(PyDictObject *self, PyObject *const *args, Py_ssize_t nargs)
- {
- PyObject *return_value = NULL;
- PyObject *key;
- PyObject *default_value = Py_None;
- if (!_PyArg_CheckPositional("get", nargs, 1, 2)) {
- goto exit;
- }
- key = args[0];
- if (nargs < 2) {
- goto skip_optional;
- }
- default_value = args[1];
- skip_optional:
- return_value = dict_get_impl(self, key, default_value);
- exit:
- return return_value;
- }
- PyDoc_STRVAR(dict_setdefault__doc__,
- "setdefault($self, key, default=None, /)\n"
- "--\n"
- "\n"
- "Insert key with a value of default if key is not in the dictionary.\n"
- "\n"
- "Return the value for key if key is in the dictionary, else default.");
- #define DICT_SETDEFAULT_METHODDEF \
- {"setdefault", _PyCFunction_CAST(dict_setdefault), METH_FASTCALL, dict_setdefault__doc__},
- static PyObject *
- dict_setdefault_impl(PyDictObject *self, PyObject *key,
- PyObject *default_value);
- static PyObject *
- dict_setdefault(PyDictObject *self, PyObject *const *args, Py_ssize_t nargs)
- {
- PyObject *return_value = NULL;
- PyObject *key;
- PyObject *default_value = Py_None;
- if (!_PyArg_CheckPositional("setdefault", nargs, 1, 2)) {
- goto exit;
- }
- key = args[0];
- if (nargs < 2) {
- goto skip_optional;
- }
- default_value = args[1];
- skip_optional:
- return_value = dict_setdefault_impl(self, key, default_value);
- exit:
- return return_value;
- }
- PyDoc_STRVAR(dict_pop__doc__,
- "pop($self, key, default=<unrepresentable>, /)\n"
- "--\n"
- "\n"
- "D.pop(k[,d]) -> v, remove specified key and return the corresponding value.\n"
- "\n"
- "If the key is not found, return the default if given; otherwise,\n"
- "raise a KeyError.");
- #define DICT_POP_METHODDEF \
- {"pop", _PyCFunction_CAST(dict_pop), METH_FASTCALL, dict_pop__doc__},
- static PyObject *
- dict_pop_impl(PyDictObject *self, PyObject *key, PyObject *default_value);
- static PyObject *
- dict_pop(PyDictObject *self, PyObject *const *args, Py_ssize_t nargs)
- {
- PyObject *return_value = NULL;
- PyObject *key;
- PyObject *default_value = NULL;
- if (!_PyArg_CheckPositional("pop", nargs, 1, 2)) {
- goto exit;
- }
- key = args[0];
- if (nargs < 2) {
- goto skip_optional;
- }
- default_value = args[1];
- skip_optional:
- return_value = dict_pop_impl(self, key, default_value);
- exit:
- return return_value;
- }
- PyDoc_STRVAR(dict_popitem__doc__,
- "popitem($self, /)\n"
- "--\n"
- "\n"
- "Remove and return a (key, value) pair as a 2-tuple.\n"
- "\n"
- "Pairs are returned in LIFO (last-in, first-out) order.\n"
- "Raises KeyError if the dict is empty.");
- #define DICT_POPITEM_METHODDEF \
- {"popitem", (PyCFunction)dict_popitem, METH_NOARGS, dict_popitem__doc__},
- static PyObject *
- dict_popitem_impl(PyDictObject *self);
- static PyObject *
- dict_popitem(PyDictObject *self, PyObject *Py_UNUSED(ignored))
- {
- return dict_popitem_impl(self);
- }
- PyDoc_STRVAR(dict___reversed____doc__,
- "__reversed__($self, /)\n"
- "--\n"
- "\n"
- "Return a reverse iterator over the dict keys.");
- #define DICT___REVERSED___METHODDEF \
- {"__reversed__", (PyCFunction)dict___reversed__, METH_NOARGS, dict___reversed____doc__},
- static PyObject *
- dict___reversed___impl(PyDictObject *self);
- static PyObject *
- dict___reversed__(PyDictObject *self, PyObject *Py_UNUSED(ignored))
- {
- return dict___reversed___impl(self);
- }
- /*[clinic end generated code: output=c0064abbea6091c5 input=a9049054013a1b77]*/
|