Pythonでの型キャストを5分で学ぶ

非常に非冗長な方法でのPythonでの型キャストと型変換に関するクラッシュコース

TypeCasting

あるデータ型を別のデータ型に変換するプロセスは、型キャストまたは型強制または型変換と呼ばれます。

この記事で焦点を当てるトピックは次のとおりです。

  1. 暗黙的な型変換
  2. 明示的な型変換
  3. 利点
  4. 短所

暗黙的な型変換

型変換がプログラマーの介入なしにインタープリターによって自動的に実行される場合、その型変換は暗黙的な型変換と呼ばれます。

プログラム例:

myInt = 143 # Integer value.myFloat = 1.43 # Float value.
myResult = myInt + myFloat # Sum result
print("datatype of myInt:",type(myInt))print("datatype of myFloat:",type(myFloat))
print("Value of myResult:",myResult)print("datatype of myResult:",type(myResult))

出力:

上記のプログラムの出力は次のようになります。

datatype of myInt: datatype of myFloat: Value of myResult: 144.43datatype of myResult: 

上記のプログラムでは、

  • 2つの変数myIntとmyFloatを追加し、値をmyResultに格納します。
  • 3つのオブジェクトすべてのデータ型をそれぞれ見ていきます。
  • 出力では、我々はミントのデータ型がある見ることができinteger、myFloatのデータ型がありますfloat
  • また、floatPythonはデータの損失を回避するために小さいデータ型を大きいデータ型に変換するため、myFloatにはデータ型があることがわかります。

このタイプの変換は、暗黙的なタイプ変換(または)UpCastingと呼ばれます。

明示的な型変換

明示的な型変換では、ユーザーはオブジェクトのデータ型を必要なデータ型に変換します。次のような定義済みの組み込み関数を使用します。

  1. int()
  2. 浮く()
  3. 繁雑()
  4. bool()
  5. str()

明示的な型変換の構文は次のとおりです。

(required_datatype)(expression)

このタイプの変換は、明示的な型変換(または)DownCastingと呼ばれます。

Int変換

この関数を使用して、値を他の型からintに変換できます。

例えば:

>>> int(123.654)123
>>>int(False)0
>>> int("10")10
>>> int("10.5")ValueError: invalid literal for int() with base 10: '10.5'
>>> int("ten")ValueError: invalid literal for int() with base 10: 'ten'
>>> int("0B1111")ValueError: invalid literal for int() with base 10: '0B1111'
>>> int(10+3j)TypeError: can't convert complex to int

注意:

  1. 複雑なデータ型をintに変換することはできません
  2. 文字列型をint型に変換する場合、文字列リテラルにはBase-10の値が含まれている必要があります

フロート変換

この関数は、任意のデータ型を浮動小数点数に変換するために使用されます。

例えば:

>>> float(10) 10.0
>>> float(True)1.0
>>> float(False)0.0
>>> float("10")10.0
>>> float("10.5")10.5
>>> float("ten")ValueError: could not convert string to float: 'ten'
>>> float(10+5j)TypeError: can't convert complex to float
>>> float("0B1111")ValueError: could not convert string to float: '0B1111'

注意:

  1. 複素数型を浮動小数点型の値に変換できます。
  2. 文字列型を浮動小数点型に変換する場合、文字列リテラルには基数10の値が含まれている必要があります。

複雑な変換

この機能実数を複素数(実数、虚数)に変換するために使用されます。

フォーム1:複雑(x)

この関数を使用して、単一の値を実数部xと虚数部0の複素数に変換できます。

例えば:

>>> complex(10)10+0j
>>> complex(10.5)10.5+0j
>>> complex(True)1+0j
>>> complex(False)0+0j
>>> complex("10")10+0j
>>> complex("10.5")10.5+0j
>>> complex("ten")ValueError: complex() arg is a malformed string

フォーム2:複合(x、y)

XとYを複素数に変換して、Xが実数部、Yが虚数部になるようにする場合。

例えば:

>>> complex(10,-2)10-2j
>>> complex(True, False)1+0j

ブール変換

この関数は、任意のデータ型をブールデータ型に簡単に変換するために使用されます。これは、Pythonで最も柔軟なデータ型です。

例えば:

>>> bool(0)False
>>> bool(1)True
>>> bool(10)True
>>> bool(0.13332)True
>>> bool(0.0)False
>>> bool(10+6j)True
>>> bool(0+15j)True
>>> bool(0+0j)False
>>> bool("Apple")True
>>> bool("")False
注:bool関数を使用すると、任意のタイプのデータ型をブール値に変換でき、出力は次のようになります。0、0 + 0j、および空の文字列を除くすべての値に対してTrueが生成されます。

文字列変換

この関数は、任意の型を文字列型に変換するために使用されます。

例えば:

>>> str(10)'10'
>>> str(10.5)'10.5'
>>> str(True)'True'
>>> str(False)'False'
>>> str(10+5j)'10+5j'
>>> str(False)'False'

プログラム例:

integer_number = 123 # Intstring_number = "456" # String
print("Data type of integer_number:",type(integer_number))print("Data type of num_str before Type Casting:",type(num_str))
string_number = int(string_number)print("Data type of string_number after Type Casting:",type(string_number))
number_sum = integer_number + string_number
print("Sum of integer_number and num_str:",number_sum)print("Data type of the sum:",type(number_sum))

出力:

上記のプログラムを実行すると、出力は次のようになります。

Data type of integer_number: Data type of num_str before Type Casting: Data type of string_number after Type Casting: Sum of integer_number and num_str: 579Data type of the sum: 

上記のプログラムでは、

  • string_number変数とinteger_number変数を追加します。
  • int()関数を使用してstring_numberをstring(higher)タイプからinteger(lower)タイプに変換して加算を実行しました。
  • After converting string_number to an integer value Python adds these two variables.
  • We got the number_sum value and data type to be an integer.

Advantages Of Typecasting

  1. More convenient to use

Disadvantages Of Typecasting

  1. More complex type system
  2. Source of bugs due to unexpected casts

I covered pretty much everything that is required to perform any type of typecasting operation in Python3.

Hope this helped you learn about Python Typecasting in a quick and easy way.

If you liked this article please click on the clap and leave me your valuable feedback.