[Python-de] Warum liefert // ein float?
Florian Lindner
mailinglists at xgm.de
Do Apr 6 05:02:59 EDT 2017
Am 06.04.2017 um 10:12 schrieb Christopher Arndt:
> Am 06.04.2017 um 09:52 schrieb Florian Lindner:
>> Warum liefert // ein float zurück, obwohl das Ergebnis, immer eine eine Ganzzahl ist (in dem Sinne, dass es keine
>> Nachkommestellen hat)?
>
> Der Grund ist die Python Type Coercion. Bei Operationen mit
> unterschiedlichen Typen der Argumente, werden beide vor der Operation zu
> einem gemeinsamen, kompatiblen Typ konvertiert, der dann auch den Typ
> des Ergebnisses bestimmt.
>
> Daher auch:
>
> 10 // 3 == 3
aber:
>>> type(6 / 3)
<class 'float'>
siehe https://www.python.org/dev/peps/pep-0238/
Finde es so auch logisch, also 6 / 3 -> float.
Fände es aber umgedreht auch logischer, wenn 6.0 // 3.0 -> int, da (. // .) prinzipiell eine Ganzzahl zurückgibt.
Grüße,
Florian
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : signature.asc
Dateityp : application/pgp-signature
Dateigröße : 833 bytes
Beschreibung: OpenPGP digital signature
URL : <http://mail.python.org/pipermail/python-de/attachments/20170406/b6b3fe79/attachment.sig>
Mehr Informationen über die Mailingliste python-de