La différence entre le type de programmation Python avancé, l'objet et la classe Fonctions magiques de type intégrées communes en python

Tout est un objet en python

bloc de code :

a = 1
print(type(a))
print(type(int))

Sortie console :

<class 'int'>
<class 'type'>

C'est-à-dire que la classe int est générée par la classe de type en python, et le nombre 1 est généré par la classe int.

bloc de code :

b = "abc"
print(type(b))
print(type(str))

Sortie console :

<class 'str'>
<class 'type'>

De même, la classe str est également générée par la classe type, et la chaîne « abc » est générée par str.

class Student:
    pass

stu = Student()
print(type(stu))
print(type(Student))

La sortie est :

<class '__main__.Student'>
<class 'type'>

Expliquez que la classe Student personnalisée est également générée par la classe de type.

classe d'objet

La classe obj est la classe de niveau supérieur (classe de base) dont toutes les classes héritent.
Remarque : type est également une classe et type est également un objet.

print(type.__base__)
print(type(object))

sortir:

<class 'object'>
<class 'type'>

C'est-à-dire que le type et l'objet sont des pointeurs l'un vers l'autre, la classe de type est l'instanciation de l'objet et l'objet est l'héritage du type.

insérez la description de l'image ici

Trois caractéristiques d'un objet

  • identité (identifiant)
  • taper
  • valeur

Types intégrés courants en python

Aucun (il n'y en a qu'un dans le monde)

Lorsque l'interpréteur python démarre, il génère automatiquement un objet None (le seul au monde)

a = None
b = None
print(id(a),id(b))
140717902960768 140717902960768

On peut constater que les identifiants de a et b sont les mêmes, indiquant qu'ils pointent vers la même adresse, ce qui prouve que le type None est le seul type au monde.

type de valeur

  • entier
  • flotter
  • complexe
  • bourdonner

mappage (dict)

Les objets mappent des valeurs immuables à des objets arbitraires. Les cartes sont des objets modifiables. Actuellement, il n'y a qu'un seul dictionnaire de type de mappage standard

rassembler

  • ensemble
  • gelé

type de gestionnaire de contexte (avec)

Un gestionnaire de contexte est un objet qui implémente le protocole de gestion de contexte. Il est principalement utilisé pour sauvegarder et restaurer divers états globaux, fermer des fichiers, etc. Le gestionnaire de contexte lui-même est une sorte de décorateur.

type de séquence

  • liste
  • octets
  • gamme
  • tuple
  • chaîne
  • déployer

autre

Type de module, classe et instance, type de fonction, type de méthode, type de code, objet objet, type type, type type...

fonction magique

Qu'est-ce qu'une fonction magique

Les fonctions définies en python qui commencent et se terminent par des doubles traits de soulignement sont appelées fonctions magiques

class Company(object):
    def __init__(self,employee_list):
        self.employee = employee_list

    def __getitem__(self, item):
        return self.employee[item]

company = Company(['tom','bob','xiaoming'])
for i in company:
    print(i)
tom
bob
xiaoming

Lorsque la boucle for parcourt l'objet company, elle recherchera automatiquement la fonction magique __getitem__ dans la classe qui constitue l'objet

Le modèle de données en python et l'impact du modèle de données sur la syntaxe python

Les modèles de données ne sont vraiment que des fonctions magiques. Parce que nous définissons un modèle de données qui déclare que sa définition utilisera la fonction magique. Par exemple, la classe après la définition de la fonction magique __getitem__ ci-dessus devient un objet itérable.

Guess you like

Origin blog.csdn.net/fuhao6363/article/details/129970023