Python学習ノート(三):数字


Mark Lutz著の「Python学習マニュアル」をチュートリアルに、毎日1時間ほど勉強し、2週間で完成するように努力しています.---前に書いてあると
2013-7-16 16:30学習ノート
1,Pythonは、複数タイプ、無限精度整数タイプ、固定精度10進タイプをサポートします.
2,Pythonでは,整数は一般にC言語の長整数で表され(注意:Pythonの長整数ではない),1つの整数が32ビットを超えると自動的に長整数に変換される.複素数は内部では一対の浮動小数点数で表される.
数値
を選択します.
1234,-24,0
一般整型(C言語における長整型)
9999999999999999L
ロングフォーム(無限サイズ)
1.23,3.14e-10,4E210,4.0e+210
浮動小数点数(C言語での二重精度浮動小数点数)
0177,0x9ff,0XFF
8進数と16進数
3+4j,3.0+4.0j,3J
複数
3,Python式オペレータ
オペレータ
説明
x if y else z
さんげんオペレータ
x or y,x and y,not x
論理演算子
xy,x>=y,x==y,x!=y
比較演算子
x is y,x is not y
オブジェクト認証テスト
x in y,x not in y
シーケンスメンバーテスト
x|y,x&y,x^y,~x
ビット演算
x+y,x-y,x*y,x/y,x//y
しじえんざん
x**y
べき乗演算
4,int(),float(),long()などを用いてタイプ変換を強制することができる.
5,x/yとx//yの違いは、前者は整数に対して小数部を省略し、浮動小数点数に対して小数部を保持することである.後者はどのタイプに対しても小数点を省く.
6は、関数oct()を内蔵し、hex()は10進数を8進数と16進数の文字列に変換することができ、int()は任意の進数の文字列を10進数に変換することができる.例:
print oct(64),hex(64)
print int('0100'),int('0100',8),int('0x40',16),int('40',16)
実行結果:
0100 0x40
100 64 64 64

7,Decimalモジュールは固定精度の小数を実現した.例:
import decimal
print Decimal('0.1') - Decimal('0.1')
decimal.getcontext().prec = 4
print Decimal('1') / Decimal('7') 
出力結果:
0.0
0.1429