Pythonクイズの回答
- Pythonクイズ: mopemopeのおらっちゃ富山県民やちゃあ (http://d.hatena.ne.jp/mopemope/20081016/p1)
Python 2.5.2 (r252:60911, Feb 21 2008, 13:11:45) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> 3.0//2 1.0 >>> 3.0.__floordiv__(2) 1.0 >>> 3.0/2 1.5 >>> 3.0.__div__(2) # 3.0では__truediv__ 1.5
強制型変換をまとめると以下の通り。
- Python 2.5
op | int op int | float op int (int op float) | float op float |
---|---|---|---|
+ | int | float | float |
- | int | float | float |
* | int | float | float |
/ | int | float | float |
// | int | float | float |
- Python 3.0
op | int op int | float op int (int op float) | float op float |
---|---|---|---|
+ | int | float | float |
- | int | float | float |
* | int | float | float |
/ | float | float | float |
// | int | float | float |
3.0では、int、floatの__div__はなくなり、__truediv__が追加された。intの__div__と__truediv__の違いは表の通りだと思うが、floatの__div__と__truediv__の違いがいまいち分からない。