Python3 数値(Number)
Python の数値データ型は数値を格納するために使用します。
データ型は変更できません。つまり、数値データ型の値を変更する場合は、メモリ領域を再割り当てすることになります。
次の例では、変数に代入するときに Number オブジェクトが作成されます:
var1 = 1 var2 = 10
また、del 文を使用して数値オブジェクトの参照を削除することもできます。
del 文の構文は次のとおりです:
del var1[,var2[,var3[....,varN]]]
del 文を使用して、単一または複数のオブジェクトの参照を削除できます。例:
del var del var_a, var_b
Python は次の 3 つの異なる数値型をサポートします:
整数型(int)- 通常は整数型または整数と呼ばれ、正または負の整数で、小数点はありません。Python3 の整数型にはサイズ制限がなく、Long 型として使用できます。そのため Python3 には Python2 の Long 型はありません。ブール(bool)は整数型のサブタイプです。
浮動小数点型(float)- 浮動小数点型は整数部と小数部から構成されます。浮動小数点型は科学的記数法でも表せます(2.5e2 = 2.5 x 102 = 250)
複素数(complex)- 複素数は実数部と虚数部から構成され、a + bj または complex(a,b) で表せます。複素数の実部 a と虚部 b はどちらも浮動小数点型です。
整数を表すために16進数と8進数を使用できます:
>>> number = 0xA0F # 十六进制 >>> number 2575 >>> number=0o37 # 八进制 >>> number 31
| int | float | complex |
|---|---|---|
| 10 | 0.0 | 3.14j |
| 100 | 15.20 | 45.j |
| -786 | -21.9 | 9.322e-36j |
| 080 | 32.3e+18 | .876j |
| -0490 | -90. | -.6545+0J |
| -0x260 | -32.54e100 | 3e+26J |
| 0x69 | 70.2E-12 | 4.53e-7j |
- Python は複素数をサポートします。複素数は実数部と虚数部から構成され、a + bj または complex(a,b) で表せます。 複素数の実部 a と虚部 b はどちらも浮動小数点型です。
Python 数値型変換
データの組み込み型を変換する必要がある場合があります。データ型の変換は、データ型を関数名として使うだけです。
int(x)x を整数に変換します。
float(x)x を浮動小数点数に変換します。
complex(x)x を複素数に変換します。実数部は x、虚数部は 0 です。
complex(x, y)x と y を複素数に変換します。実数部は x、虚数部は y です。x と y は数値式です。
次の例では、浮動小数点変数 a を整数に変換します:
>>> a = 1.0 >>> int(a) 1
Python 数値演算
Python インタプリタは簡単な計算機として使用できます。インタプリタに式を入力すると、その式の値を出力します。
式の構文はとても分かりやすいです:+, -, *と/、他の言語(PascalやCなど)と同じです。例:
>>> 2 + 2 4 >>> 50 - 5*6 20 >>> (50 - 5*6) / 4 5.0 >>> 8 / 5 # 总是返回一个浮点数 1.6
注意:異なるマシンでは、浮動小数点演算の結果が異なる場合があります。
整数除算では、除算/は常に浮動小数点数を返します。整数の結果だけが必要で、小数部分を切り捨てたい場合は、演算子// :
>>> 17 / 3 # 整数除法返回浮点型 5.666666666666667 >>> >>> 17 // 3 # 整数除法返回向下取整后的结果 5 >>> 17 % 3 # %操作符返回除法的余数 2 >>> 5 * 3 + 2 17
注意://得られる結果は必ずしも整数型とは限らず、分母や分子のデータ型に関係します。
>>> 7//2 3 >>> 7.0//2 3.0 >>> 7//2.0 3.0 >>>
等号=は変数に値を代入するために使用します。代入後、インタプリタは次のプロンプト以外には何も表示しません。
>>> width = 20 >>> height = 5*9 >>> width * height 900
Python では**演算で冪乗を計算できます:
>>> 5 ** 2 # 5 的平方 25 >>> 2 ** 7 # 2的7次方 128
変数は使用する前に「定義」(つまり値を代入)する必要があります。そうしないとエラーが発生します:
>>> n # 尝试访问一个未定义的变量 Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'n' is not defined
異なる型の数を混在させて演算すると、整数は浮動小数点数に変換されます:
>>> 3 * 3.75 / 1.5 7.5 >>> 7.0 / 2 3.5
対話モードでは、最後に出力された式の結果が変数_ に代入されます。例:
>>> tax = 12.5 / 100 >>> price = 100.50 >>> price * tax 12.5625 >>> price + _ 113.0625 >>> round(_, 2) 113.06
ここで、_ 変数はユーザーによって読み取り専用変数と見なされるべきです。
数学関数
| 関数 | 戻り値 ( 説明 ) |
|---|---|
| abs(x) | 数値の絶対値を返します。例: abs(-10) は 10 を返します。 |
| ceil(x) | 数値の切り上げ整数を返します。例: math.ceil(4.1) は 5 を返します。 |
cmp(x, y) |
x < y なら -1 を返し、x == y なら 0 を返し、x > y なら 1 を返します。Python 3 では廃止されました。(x>y)-(x<y) を使用してください。。 |
| exp(x) | e の x 乗を返します(ex)、例: math.exp(1) は 2.718281828459045 を返します。 |
| fabs(x) | 数値の絶対値を浮動小数点数として返します。例: math.fabs(-10) は 10.0 を返します。 |
| floor(x) | 数値の切り捨て整数を返します。例: math.floor(4.9) は 4 を返します。 |
| log(x) | 例: math.log(math.e) は 1.0 を返し、math.log(100,10) は 2.0 を返します。 |
| log10(x) | 10 を底とする x の対数を返します。例: math.log10(100) は 2.0 を返します。 |
| max(x1, x2,...) | 指定された引数の最大値を返します。引数はシーケンスでも構いません。 |
| min(x1, x2,...) | 指定された引数の最小値を返します。引数はシーケンスでも構いません。 |
| modf(x) | x の整数部分と小数部分を返します。2つの部分の数値の符号は x と同じで、整数部分は浮動小数点型で表されます。 |
| pow(x, y) | x**y 演算後の値。 |
| round(x [,n]) | 浮動小数点数 x の四捨五入値を返します。n 値を指定すると、小数点以下の桁数に丸められます。 実際には、正確に言うと、保持する値はより近い方の桁に丸められます。 |
| sqrt(x) | 数値 x の平方根を返します。 |
乱数関数
乱数は数学、ゲーム、セキュリティなどの分野で使用でき、アルゴリズムに組み込まれてアルゴリズムの効率を向上させ、プログラムの安全性を高めることもよくあります。
Python には以下の一般的な乱数関数が含まれます:
| 関数 | 説明 |
|---|---|
| choice(seq) | シーケンスの要素からランダムに1つの要素を選びます。例: random.choice(range(10)) は 0 から 9 の間からランダムに整数を選びます。 |
| randrange ([start,] stop [,step]) | 指定された範囲内で、指定された基数で増加する集合から乱数を取得します。基数のデフォルト値は 1 です。 |
| random() | 次の実数をランダムに生成します。範囲は [0,1) です。 |
| seed([x]) | 乱数生成器のシード(seed)を変更します。原理を理解していない場合は、特に seed を設定する必要はありません。Python が seed を選択します。 |
| shuffle(lst) | シーケンスのすべての要素をランダムに並べ替えます。 |
| uniform(x, y) | 次の実数をランダムに生成します。範囲は [x,y] です。 |
三角関数
Python には以下の三角関数が含まれます:
| 関数 | 説明 |
|---|---|
| acos(x) | x のアークコサインをラジアンで返します。 |
| asin(x) | x のアークサインをラジアンで返します。 |
| atan(x) | x のアークタンジェントをラジアンで返します。 |
| atan2(y, x) | 指定された X および Y 座標値のアークタンジェントを返します。 |
| cos(x) | x ラジアンのコサイン値を返します。 |
| hypot(x, y) | ユークリッドノルム sqrt(x*x + y*y) を返します。 |
| sin(x) | x ラジアンのサイン値を返します。 |
| tan(x) | x ラジアンのタンジェント値を返します。 |
| degrees(x) | ラジアンを度に変換します。例: degrees(math.pi/2) は 90.0 を返します。 |
| radians(x) | 度をラジアンに変換します。 |
数学定数
| 定数 | 説明 |
|---|---|
| pi | 数学定数 pi(円周率、通常はπで表します) |
| e | 数学定数 e、e は自然定数です(自然定数)。 |