Maison  >  Article  >  développement back-end  >  Voici quelques titres basés sur des questions qui correspondent à l'article : Se concentrer sur la distinction clé : * Fonctions, méthodes non liées et méthodes liées en Python : quelle est la différence ? * Python : comment fonctionne Functio

Voici quelques titres basés sur des questions qui correspondent à l'article : Se concentrer sur la distinction clé : * Fonctions, méthodes non liées et méthodes liées en Python : quelle est la différence ? * Python : comment fonctionne Functio

Barbara Streisand
Barbara Streisandoriginal
2024-11-02 13:35:30669parcourir

Here are some question-based titles that fit the article:

Focusing on the Key Distinction:

* Functions, Unbound Methods, and Bound Methods in Python: What's the Difference?
* Python: How do Functions, Unbound Methods, and Bound Methods Differ?
* Unders

Comprendre les différences entre les fonctions, les méthodes non liées et les méthodes liées

Comprendre la distinction entre les fonctions, les méthodes non liées et les méthodes liées est crucial pour la programmation en Python. Ce guide dévoile les différences, explique comment elles sont transformées et fournit des exemples pour illustrer leur utilisation.

Fonctions

Les fonctions sont définies avec l'instruction def ou lambda. Ce sont des instructions autonomes qui effectuent des opérations spécifiques.

Méthodes non liées

Sous Python 2, les fonctions définies dans un corps de classe sont transformées en méthodes indépendantes. Ce sont toujours des fonctions mais ont un premier paramètre implicite, qui est la classe.

Méthodes liées

Lorsqu'une méthode non liée est accédée sur une instance de classe, elle est convertie dans une méthode liée. L'instance de classe est automatiquement passée comme premier paramètre self à la méthode.

Transformation

  • Une fonction peut être transformée en méthode indépendante à l'aide d'une classe de type appel de construction ou le constructeur MethodType.
  • Une méthode non liée peut être convertie en méthode liée en y accédant sur une classe instance.
  • Une méthode liée ne peut pas être retransformée en une méthode non liée ou une fonction.

Utilisation

  • Les fonctions sont appelées comme des fonctions normales : f1()
  • Les méthodes non liées sont appelées avec une instance de la classe comme premier argument : C.f1(instance)
  • Les méthodes liées sont appelées sur les instances de classe : instance.f1()

Exemple

Considérez ce qui suit code :

<code class="python">def f1(self):
    pass

class C(object):
    f1 = f1</code>

Ici, f1 est une fonction, C.f1 est une méthode non liée, et C().f1 est une méthode liée.

Distinction Python 3

Python 3 élimine le concept de méthodes non liées. Les fonctions accessibles sur les instances de classe sont simplement renvoyées en tant que fonction d'origine.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn