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
intfloatcomplex
100.03.14j
10015.2045.j
-786-21.99.322e-36j
08032.3e+18.876j
-0490-90.-.6545+0J
-0x260-32.54e1003e+26J
0x6970.2E-124.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 は自然定数です(自然定数)。
その他の拡張