Kaydet (Commit) 8ca6c84b authored tarafından Georg Brandl's avatar Georg Brandl

Phase out has_key usage in the tutorial; correct docs for PyMapping_HasKey*.

üst fc8eef3c
...@@ -36,15 +36,15 @@ Mapping Protocol ...@@ -36,15 +36,15 @@ Mapping Protocol
.. cfunction:: int PyMapping_HasKeyString(PyObject *o, char *key) .. cfunction:: int PyMapping_HasKeyString(PyObject *o, char *key)
On success, return ``1`` if the mapping object has the key *key* and ``0`` On success, return ``1`` if the mapping object has the key *key* and ``0``
otherwise. This is equivalent to the Python expression ``o.has_key(key)``. otherwise. This is equivalent to ``o[key]``, returning ``True`` on success
This function always succeeds. and ``False`` on an exception. This function always succeeds.
.. cfunction:: int PyMapping_HasKey(PyObject *o, PyObject *key) .. cfunction:: int PyMapping_HasKey(PyObject *o, PyObject *key)
Return ``1`` if the mapping object has the key *key* and ``0`` otherwise. This Return ``1`` if the mapping object has the key *key* and ``0`` otherwise.
is equivalent to the Python expression ``o.has_key(key)``. This function always This is equivalent to ``o[key]``, returning ``True`` on success and ``False``
succeeds. on an exception. This function always succeeds.
.. cfunction:: PyObject* PyMapping_Keys(PyObject *o) .. cfunction:: PyObject* PyMapping_Keys(PyObject *o)
......
...@@ -260,7 +260,7 @@ A :class:`Message` instance has the following methods: ...@@ -260,7 +260,7 @@ A :class:`Message` instance has the following methods:
:class:`Message` instances also support a limited mapping interface. In :class:`Message` instances also support a limited mapping interface. In
particular: ``m[name]`` is like ``m.getheader(name)`` but raises :exc:`KeyError` particular: ``m[name]`` is like ``m.getheader(name)`` but raises :exc:`KeyError`
if there is no matching header; and ``len(m)``, ``m.get(name[, default])``, if there is no matching header; and ``len(m)``, ``m.get(name[, default])``,
``m.has_key(name)``, ``m.keys()``, ``m.values()`` ``m.items()``, and ``name in m``, ``m.keys()``, ``m.values()`` ``m.items()``, and
``m.setdefault(name[, default])`` act as expected, with the one difference ``m.setdefault(name[, default])`` act as expected, with the one difference
that :meth:`setdefault` uses an empty string as the default value. that :meth:`setdefault` uses an empty string as the default value.
:class:`Message` instances also support the mapping writable interface ``m[name] :class:`Message` instances also support the mapping writable interface ``m[name]
......
...@@ -480,8 +480,7 @@ using a non-existent key. ...@@ -480,8 +480,7 @@ using a non-existent key.
The :meth:`keys` method of a dictionary object returns a list of all the keys The :meth:`keys` method of a dictionary object returns a list of all the keys
used in the dictionary, in arbitrary order (if you want it sorted, just apply used in the dictionary, in arbitrary order (if you want it sorted, just apply
the :meth:`sort` method to the list of keys). To check whether a single key is the :meth:`sort` method to the list of keys). To check whether a single key is
in the dictionary, either use the dictionary's :meth:`has_key` method or the in the dictionary, use the :keyword:`in` keyword.
:keyword:`in` keyword.
Here is a small example using a dictionary:: Here is a small example using a dictionary::
...@@ -497,8 +496,6 @@ Here is a small example using a dictionary:: ...@@ -497,8 +496,6 @@ Here is a small example using a dictionary::
{'guido': 4127, 'irv': 4127, 'jack': 4098} {'guido': 4127, 'irv': 4127, 'jack': 4098}
>>> tel.keys() >>> tel.keys()
['guido', 'irv', 'jack'] ['guido', 'irv', 'jack']
>>> tel.has_key('guido')
True
>>> 'guido' in tel >>> 'guido' in tel
True True
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment