Python の型変換と型キャスト
Python の型変換と型キャスト
この記事では、型変換と型変換の使用について学習します。
Python で型変換を学習する前に、 Python データ型についての知識が必要です。
型変換
あるデータ型 (integer、string、float など) の値を別のデータ型に変換するプロセスは、型変換と呼ばれます。 Python には 2 種類の型変換があります。
<オール>暗黙の型変換
暗黙的な型変換では、Python はあるデータ型を別のデータ型に自動的に変換します。このプロセスはユーザーの関与を必要としません。
データの損失を避けるために、Python が下位のデータ型 (integer) から上位のデータ型 (float) への変換を促進する例を見てみましょう。
例 1:整数を浮動小数に変換する
num_int = 123
num_flo = 1.23
num_new = num_int + num_flo
print("datatype of num_int:",type(num_int))
print("datatype of num_flo:",type(num_flo))
print("Value of num_new:",num_new)
print("datatype of num_new:",type(num_new))
上記のプログラムを実行すると、出力は次のようになります:
datatype of num_int: <class 'int'> datatype of num_flo: <class 'float'> Value of num_new: 124.23 datatype of num_new: <class 'float'>
上記のプログラムでは、
- 2 つの変数 num_int を追加します および num_flo 、値を num_new に保存します .
- 3 つのオブジェクトすべてのデータ型をそれぞれ見ていきます。
- 出力では、num_int のデータ型を確認できます
integer
です num_flo のデータ型float
です . - また、num_new も見ることができます
float
を持っています これは、データの損失を避けるために、Python が常に小さいデータ型をより大きなデータ型に変換するためです。
それでは、文字列と整数を追加して、Python がそれをどのように処理するかを見てみましょう。
例 2:文字列 (上位) データ型と整数 (下位) データ型の追加
num_int = 123
num_str = "456"
print("Data type of num_int:",type(num_int))
print("Data type of num_str:",type(num_str))
print(num_int+num_str)
上記のプログラムを実行すると、出力は次のようになります:
Data type of num_int: <class 'int'> Data type of num_str: <class 'str'> Traceback (most recent call last): File "python", line 7, in <module> TypeError: unsupported operand type(s) for +: 'int' and 'str'
上記のプログラムでは、
- 2 つの変数 num_int を追加します および num_str .
- 出力からわかるように、
TypeError
を取得しました。 . Python は、このような状況では暗黙の変換を使用できません。 - ただし、Python には明示的な変換として知られている、このような状況に対する解決策があります。
明示的な型変換
明示的な型変換では、ユーザーはオブジェクトのデータ型を必要なデータ型に変換します。 int()
のような事前定義された関数を使用します 、 float()
、 str()
などを使用して、明示的な型変換を実行します。
このタイプの変換は、ユーザーがオブジェクトのデータ型をキャスト (変更) するため、型キャストとも呼ばれます。
構文 :
<required_datatype>(expression)
型キャストは、必要なデータ型関数を式に割り当てることで実行できます。
例 3:明示的な変換を使用した文字列と整数の加算
num_int = 123
num_str = "456"
print("Data type of num_int:",type(num_int))
print("Data type of num_str before Type Casting:",type(num_str))
num_str = int(num_str)
print("Data type of num_str after Type Casting:",type(num_str))
num_sum = num_int + num_str
print("Sum of num_int and num_str:",num_sum)
print("Data type of the sum:",type(num_sum))
上記のプログラムを実行すると、出力は次のようになります:
Data type of num_int: <class 'int'> Data type of num_str before Type Casting: <class 'str'> Data type of num_str after Type Casting: <class 'int'> Sum of num_int and num_str: 579 Data type of the sum: <class 'int'>
上記のプログラムでは、
- num_str を追加します および num_int 変数。
- num_str を変換しました
int()
を使用して文字列 (上位) から整数 (下位) 型へ 加算を実行する関数 - num_str を変換した後 整数値に変換すると、Python はこれら 2 つの変数を加算できます。
- num_sum を取得しました 値とデータ型を整数にします。
覚えておくべき重要なポイント
<オール>Python