Il metodo int () restituisce un oggetto intero da qualsiasi numero o stringa.
La sintassi del int()
metodo è:
int (x = 0, base = 10)
parametri int ()
int()
metodo accetta due argomenti:
- x - Numero o stringa da convertire in oggetto intero.
L'argomento predefinito èzero
. - base - Base del numero in x .
Può essere 0 (codice letterale) o 2-36.
Valore restituito da int ()
int()
restituisce il metodo:
- un oggetto intero dal numero o dalla stringa forniti considera la base predefinita come 10
- (Nessun parametro) restituisce 0
- (Se base data) tratta la stringa nella base data (0, 2, 8, 10, 16)
Esempio 1: come funziona int () in Python?
# integer print("int(123) is:", int(123)) # float print("int(123.23) is:", int(123.23)) # string print("int('123') is:", int('123'))
Produzione
int (123) è: 123 int (123.23) è: 123 int ('123') è: 123
Esempio 2: come funziona int () per decimale, ottale ed esadecimale?
# binary 0b or 0B print("For 1010, int is:", int('1010', 2)) print("For 0b1010, int is:", int('0b1010', 2)) # octal 0o or 0O print("For 12, int is:", int('12', 8)) print("For 0o12, int is:", int('0o12', 8)) # hexadecimal print("For A, int is:", int('A', 16)) print("For 0xA, int is:", int('0xA', 16))
Produzione
Per 1010, int è: 10 Per 0b1010, int è: 10 Per 12, int è: 10 Per 0o12, int è: 10 Per A, int è: 10 Per 0xA, int è: 10
Esempio 3: int () per oggetti personalizzati
Internamente, il int()
metodo chiama il metodo di un oggetto __int__()
.
Quindi, anche se un oggetto non è un numero, puoi convertire l'oggetto in un oggetto intero.
Puoi farlo sovrascrivendo __index__()
e __int__()
metodi della classe per restituire un numero.
Questi due metodi dovrebbero restituire lo stesso valore delle versioni precedenti di Python __int__()
, mentre le versioni più recenti utilizzano il __index__()
metodo.
class Person: age = 23 def __index__(self): return self.age def __int__(self): return self.age person = Person() print('int(person) is:', int(person))
Produzione
int (persona) è: 23