2014-10-20 18 views
11

sto guardando questa riga di codice Python (che sembra funzionare correttamente):Cosa significa un punto dopo un intero significa in python?

import numpy as np 
yl = 300 + 63*np.exp(-x/35.) 

Qual è il punto facendo dopo il 35? Che cosa fa? E 'un segnale per Python che 35 è un float e non un intero? Non l'ho mai visto prima. Grazie!

+1

È uguale a '35.0', a' float'. Allo stesso modo puoi usare '.5' per' 0.5', ma non puoi usare '.' per' 0.0'. – zch

risposta

12

Questo è facile da testare e hai ragione. Il punto segnala un galleggiante.

$ python 
>>> 1. 
1.0 
>>> type(1.) 
<type 'float'> 
3

Float

La prossima volta, cercare di esplorare questo utilizzando Python

r= 34. 

print type(r) 

uscita: <type 'float'>

0

Racconta pitone per il trattamento di 3 come float(). È solo un modo conveniente per rendere un numero un float a fini di divisione, quindi chiamare esplicitamente float() su di esso.

Ad esempio:

my_float = 3. 

typed_float = float(3) 

my_float == typed_float 
#=> True 

type(my_float) 
#=> <type 'float'> 

In questo caso è necessario typecast ad un galleggiante per evitare le insidie ​​di divisione intera.

+0

Si noti che a partire da Python 3, questo non è più necessario. Dire "1/3" funziona nel modo in cui ci si aspetterebbe che fosse, dando 0.333 ... come risultato, piuttosto che zero. –