-2
votes

Quelle est la différence entre int et int () en python

J'essaie simplement de comprendre quelle est la différence entre INT et INT (). Voici mon code: xxx

et il renvoie: désolé xxx


3 commentaires

Bien qu'il soit important de connaître la différence, vous ne pouvez pas appeler len sur l'une ou l'autre de ces choses.


Cela ne revient pas désolé, il soulève une TypeError sur l'autre ligne ... Avez-vous lu le message d'erreur du tout?


De plus, il semble que vous ayez peut-être réaffecté int .


3 Réponses :



0
votes

int est utilisé pour faire des choses comme déterminer le type d'une variable (comme vous l'avez fait dans votre exemple). int () est utilisé pour convertir une variable non INT à un int (c'est-à-dire "45" devient 45). Je ne suis pas vraiment sûr de ce que vous obtenez avec votre exemple. Tout semble fonctionner correctement, puis vous venez de coller les erreurs sans aucune sorte d'explication.


1 commentaires

je vous remercie beaucoup. Explication vraiment simple et utile



1
votes

Pour répondre à votre question, techniquement int code> est une classe mais vous pouvez également y penser comme un type de données que d'autres ont noté. Puisqu'il s'agit d'un objet appelable int () code> invoquerait la méthode __ __ code> pour la classe int code>. Par souci de cette question, vous pouvez y penser comme un constructeur qui prend une représentation de chaîne d'un entier et retourne un int.

Voici un exemple dans le Python Replément de clarté. P>

Python 3.7.0 (default, Sep 22 2018, 18:29:00)
[Clang 9.1.0 (clang-902.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> int
<class 'int'>
>>> int('1')
1
>>> int('a')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'a'
>>> int.__call__('1')
1
>>> isinstance(int('1'), int)
True
>>> type(1) is int
True


0 commentaires