section6
Python Programming: An Introduction to Computer Science
- 作者: John M. Zelle
- 出版社/メーカー: Franklin Beedle & Assoc
- 発売日: 2003/12
- メディア: ペーパーバック
- 購入: 1人 クリック: 4回
- この商品を含むブログ (5件) を見る
3.6 Type Conversions
pythonは整数型で表されている数字が大きくなりすぎた時には、それを自動的にlong型に変換してくれる。このような変換はこういう式を評価するときにも起こる:
5.0 / 2
pythonはこれをどう評価するか。一般的に浮動小数点型が整数型に変換すると多くの情報が失われる。逆に整数型を浮動小数点型に変換しても情報は失われない。したがって、このような混合型の式ではpythonは自動的に整数型を浮動小数点型に変換する。
自分自身で型変換を行いたいときには、明示的型変換(explicit type conversion)を行う。例えば、平均値を計算する時、素朴に
average = sum / n
としても正しい答えは出ない。この場合にはfloat()関数を用いる。これは整数型を浮動小数点型に変換する。
average = float(sum) / n
とすれば正しい平均値が計算される。ちなみに
average = float(sum / n)
はだめである。実際、これは最初に整数型の割り算が行われた後に型変換が行われるだけである。
この他にもint(), long()関数があり、使い方はfloat()の場合と同様である。
int()関数は数の小数部分を単に無視する。つまり四捨五入(数の丸め)をしない。数の丸めをしたいときには、用意されているround関数を用いると良い。round関数は浮動小数点型の値を返す。