English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Il metodo int() restituisce un oggetto intero da qualsiasi numero o stringa.
La sintassi del metodo int() è:
int(x=0, base=10)
Il metodo int() accetta due parametri:
x- Il numero o la stringa da convertire in oggetto intero.
Parametro predefinitoè zero.
basein -xBase del numero.
Può essere 0 (litterale di codice) o tra 2 e 36.
Il metodo int() restituisce:
Data un numero o un oggetto intero nella stringa, considera la base predefinita come 10
(Senza parametri) restituisce 0
(Se specificata una base) elabora la stringa con la base specificata (0, 2, 8, 10, 16)
# Intero print("int(123) è:", int(123)) # Punto fluttuante print("int(123.23) è:", int(123.23)) # Stringa print("int('123') è:", int('123'))
Quando si esegue questo programma, l'output è:
int(123) è: 123 int(123.23) è: 123 int('123') è: 123
# Binario 0b o 0B print('Per 1010, int è:', int('1010', 2)) print('Per 0b1010, int è:', int('0b1010', 2)) # Ottale 0o o 0O print('Per 12, int è:', int('12', 8)) print('Per 0o12, int è:', int('0o12', 8)) # Esadecimale print('Per A, int è:', int('A', 16)) print('Per 0xA, int è:', int('0xA', 16))
Quando si esegue questo programma, l'output è:
Per 1010, int è: 10 Per 0b1010, int è: 10 Per 12, int è: 10 Per 0o12, int è: 10 Per A, int è: 10 Per 0xA, int è: 10
Internamente, il metodo int() chiama il metodo __int__() dell'oggetto.
Quindi, anche se un oggetto non è un numero, può essere convertito in un oggetto numerico.
Puoi restituire un numero utilizzando la ricorsione dei metodi __index__() e __int__() di questa classe.
Questi due metodi dovrebbero restituire lo stesso valore, perché le vecchie versioni di Python utilizzavano __int__(), mentre le versioni più recenti di Python utilizzano il metodo __index__().
class Person: age = 23 def __index__(self): return self.age def __int__(self): return self.age person = Person() print('int(person) è:', int(person))
Quando si esegue questo programma, l'output è:
int(person) è: 23