2014-10-20 7 views
11

ich in dieser Zeile von Python-Code suchen (das scheint richtig zu laufen):Was bedeutet ein Punkt nach einer Ganzzahl in Python?

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

Was der Punkt nach den 35 zu tun ist? was tut es? Ist es ein Signal für Python, dass 35 ein Float und keine ganze Zahl ist? Ich habe das vorher nicht gesehen. Vielen Dank!

+1

Es ist das gleiche wie '35.0', ein' float'. Ähnlich können Sie '.5' für' 0.5' verwenden, aber Sie können '.' nicht für' 0.0' verwenden. – zch

Antwort

12

Dies ist einfach zu testen, und Sie haben Recht. Der Punkt signalisiert einen Float.

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

Float

Das nächste Mal versuchen, diese mit Python

r= 34. 

print type(r) 

Ausgang zu erkunden: <type 'float'>

0

Es erzählt Python 3 als float() zu behandeln. Es ist nur ein bequemer Weg, um eine Zahl zu Divisionszwecken zu einem Float zu machen, und dann explizit float() darauf zu nennen.

Zum Beispiel:

my_float = 3. 

typed_float = float(3) 

my_float == typed_float 
#=> True 

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

In diesem Fall, dass Sie mit einem Schwimmer typisieren müssen die Gefahren der Integer-Division zu vermeiden.

+0

Beachten Sie, dass dies ab Python 3 nicht mehr notwendig ist. Das Sagen von "1/3" funktioniert so, wie Sie es erwarten würden, und ergibt 0,333 ... als Ergebnis, anstatt Null. –