object doesn't have an __enter__/__exit__ yet docs say it does

Ouverte
#97,699 8 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
48/100
Type d'issue
Documentation
Clarté
Clairement spécifiée
Activité
À l'abandon
Stack technique
python
Domaine
documentation

Piste de recherche

Commencez par les sections de la documentation du modèle de données Python consacrées à object.enter et object.exit, liées dans l’issue, et vérifiez leur formulation actuelle par rapport à Python 3.10.3. Mettez à jour la documentation pour préciser que ces méthodes ne sont pas définies dans object et expliquer que les objets gestionnaires de contexte les définissent afin de fournir l’interface ; le travail est considéré comme terminé lorsque le comportement documenté correspond au comportement à l’exécution.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

docs

Documentation

Here's the current docs in the Python data model on object.__enter__:

object.__enter__(self)

And object.__exit__:

object.__exit__(self, exc_type, exc_value, traceback)

However, with Python 3.10.3, we see neither of these methods belong to object:

>>> object.__enter__
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: type object 'object' has no attribute '__enter__'. Did you mean: '__ne__'?
>>> object.__exit__
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: type object 'object' has no attribute '__exit__'. Did you mean: '__init__'?

I think the docs could be:

  • More clear that __enter__ and __exit__ are not methods on object
  • Mention where they come from (just being defined within your object to match the interface)

Thank you for your consideration!

Langage dominant
Python
Étoiles
77.2k
Forks
36k
Merge moyen
1 j 9 h
PR mergées (30 j)
558

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de python/cpython

Toutes les issues de python/cpython

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.