例で説明されたPythonでの型変換と型キャスト

公開: 2020-02-19

Pythonには多くのデータ型があり、プログラマーとして、Pythonのあるデータ型を別のデータ型に変換する方法を知っておく必要があります。 Pythonには、このタスクのための多くの組み込み関数があります。 そして、この簡単なガイドでは、型変換をよりよく理解するのに役立つようにそれらを見ていきます。

このガイドを読み終えると、文字列を整数に、またはその逆に変換する方法がわかります。 それで、これ以上面倒なことはせずに、始めましょう。

目次

Pythonのデータ型

Pythonでの型変換について説明する前に、この言語に存在するすべてのデータ型について簡単に見てみましょう。

整数

整数値は必要なだけ長くすることができます。 数学と同様に、Pythonの整数も数字です。 ただし、スーパーコンピューターがない限り、整数を無限に長くすることはできません。 Pythonは、プレフィックスのない任意の数値を整数として扱います。 これらの数値には10進数も含まれます。

浮動小数点数

Pythonのフロートは、小数桁と整数を区切るために小数点で書かれた数値です。 浮動小数点数の例としては、4.3、9.18などがあります。Pythonの科学的記数法に「e」を追加することもできます。

複素数

Pythonの複素数は、次の形式に従います:(実数部+虚数部)。 複素数の例としては、(3 + 2i)、(8-2x)などがあります。

文字列

文字列は、Pythonの特定の文字セットにすることができます。 それらはstrと呼ばれます。 引用符を使用して書き込むことができます。 Pythonで文字列を記述するために、一重引用符と二重引用符を使用できます。 文字列は、「91」、「hello」などの引用符で囲まれた任意の文字にすることができます。

整数と同様に、文字列の文字長に制限はありません。 文字列には、トリプルクォートされた文字列、生の文字列など、さまざまな種類があります。 ただし、文字列とその種類について説明し始めると、この記事は長すぎます。

ブールデータ型

ここで説明する最後のデータ型はブールデータ型です。 ブールデータは、trueとfalseの2つの値のいずれかを持つことができます。 Pythonでは、多くの理由からブール値が非常に重要です。 ブール値を使用して、オブジェクトと値の真実性を判断できます。

読む:インド2020年のPython開発者給与

Pythonの論理演算子について詳しく学ぶと、ブールオブジェクトと値を処理する必要があります。

したがって、これらはすべてPythonに存在するデータ型でした。 Pythonのデータ型の詳細をご覧ください。 これらのデータ型とは別に、Pythonにはさまざまなタスクの実行に役立つ多くの組み込み関数もあります。 型変換も実装するには、いくつかの組み込み関数を使用する必要があります。 さまざまなタイプの変換について学ぶために、データサイエンスプログラムをチェックしてください。

データ型について説明したので、型変換に移ります。

Pythonでのさまざまな種類の型変換

Pythonには2種類の型変換があります。 それらは次のとおりです。

暗黙

この場合、Pythonはデータ型を別の型に自動的に変換します。 ユーザーであるあなたは、このプロセスに関与する必要はありません。 Pythonで整数をfloatに暗黙的に変換する例を次に示します。

num_int = 18

num_flo = 1.8

num_new = num_int + num_flo

print( "num_intのデータ型:"、type(num_int))

print( "num_floのデータ型:"、type(num_flo))

print( "num_newの値:"、num_new)

print( "num_newのデータ型:"、type(num_new))

上記のコードの出力は次のようになります。

num_intのデータ型:<class'int'>

num_floのデータ型:<class'float'>

num_newの値:19.8

num_newのデータ型:<class'float'>

ご覧のとおり、目的の出力を取得するには、num_newとともにnum_floとnum_intを追加するだけで済みました。 数行のコードを使用して、整数18をfloat19.8に変換しました。 ここで注意すべき重要なことは、Pythonが整数を自動的にfloatに変換したことです。

明示的

明示的な型変換の場合、変換の目的で関数を使用します。 前に述べた組み込み関数を覚えていますか? このセクションで役立ちます。 明示的な型変換の別名は型キャストです。 ユーザーであるあなたが関係するオブジェクトのデータ型をキャストするため、この名前が付けられています。

Pythonで型キャストを実行するために知っておく必要のある型変換関数がいくつかあります。 Int(a、base)は、任意のデータ型を整数に変換できるため、人気のある関数です。 float()は、任意のデータ型を浮動小数点数に変換できます。 oct()は整数を8進文字列に変換し、hex()は整数を16進文字列に変換します。

oct()を使用した型変換の例を次に示します。

c = oct(80)

print(“出力:“、end =””)

印刷(c)

そして、出力は次のようになります。

出力:0o120

これらの関数を使用するときは、そのような変換の構文は次のようになっている必要があることに注意してください。

(desired_datatype)(expression)

Pythonで実行できる型変換にはさまざまな種類があります。 ただし、最もパフォーマンスが高いのは2種類あります。 文字列を整数に変換したり、その逆を行ったりすることは、優れた出発点になります。 したがって、このトピックをよりよく理解するために、これらの型変換のそれぞれについて個別に説明しましょう。

読む: Python開発者プロジェクトのアイデアとトピック

文字列をintPythonに変換する

int()関数を使用して、文字列をintPythonに変換できます。 クリックするだけで10進整数が得られます。 入力した式は10進整数であると想定されますが、そうでない場合は、ValueErrorが返されます。 そして、私たちはそれを望んでいません。 この問題を回避するために値にベースを与えることにより、必要な記数法に言及できます。

したがって、Pythonで文字列をintに変換する場合は、次のようにすることができます。

int(“ 5”)

または、さまざまな種類の文字列のベースを追加できます。

int(“ 5”、base = 10)

次に、この変換の逆、つまり整数を文字列に変換する必要がある場合について説明します。

intを文字列Pythonに変換する

str()関数を使用して、整数を文字列に変換できます。 前に説明した構文に従ってください。

str(5)

バイナリリテラルを使用する場合、文字列は整数を10進式に変換できます。 ただし、int関数の場合と同様に、必要に応じて、さまざまな変換に関する情報を追加できます。 この関数を使用すると、8進数、2進数、さらには16進数の結果を取得できます。

少し練習した後、型変換を使用してより複雑なタスクを実行することもできます。 型キャストを使用して整数の文字列を追加する例を次に示します。

num_int = 256

num_str =“ 64”

print( "num_intのデータ型:"、type(num_int))

print( "型キャスト前のnum_strのデータ型:"、type(num_str))

num_str = int(num_str)

print( "型キャスト後のnum_strのデータ型:"、type(num_str))

num_sum = num_int + num_str

print( "num_intとnum_strの合計:"、num_sum)

print( "合計のデータ型:"、type(num_sum))

上記のコードの出力は次のようになります。

num_intのデータ型:<class'int'>

型キャスト前のnum_strのデータ型:<class'str'>

型キャスト後のnum_strのデータ型:<class'int'>

num_intとnum_strの合計:320

合計のデータ型:<class'int'>

ご覧のとおり、とても楽しいです。 型変換を自由に試して、知識ベースを拡張してください。

結論

この記事から多くのことを学んだことを願っています。 型変換の実行は、Pythonの関数で実行できる多くのことの1つです。

この記事を読んでいるなら、Python開発者になるという野心を持っている可能性があります。 Pythonの学習に興味があり、さまざまなツールやライブラリを手に入れたい場合は、データサイエンスのIIIT-BのPGディプロマをチェックしてください。

コーディングにおいて、明示的な変換は暗黙的な変換とどのように異なりますか?

暗黙的な型変換は、ユーザーによって定義され、式を特定の型にするように強制する型変換です。 複数のデータ型が式で結合されると、コンパイラーは暗黙的な型変換を実行します。 明示的な変換は、キャストとも呼ばれ、変換先のデータ型に適切な関数を実行して、あるデータ型から別のデータ型に明示的に変換する場合です。 プログラマーの助けがなくても、暗黙の型変換が実行されます。

型キャストは型変換とどう違うのですか?

あるデータ型を別のデータ型に型キャストする場合、宛先データ型はソースデータ型よりも小さくする必要があります。 ただし、あるデータ型を別のデータ型に変換する場合は、ソースデータを宛先データ型よりも小さくする必要があります。 プログラマーは、ある種類のデータを別の種類に手動で型キャストする必要があります。 あるデータ型を別のデータ型に変換する場合、コンパイラーはプログラムの実行中にデータ型を自動的にコンパイルするため、プログラマーの介入は必要ありません。 型キャスト中にデータや情報が失われる可能性があります。 小さなデータ型を大きなデータ型に変換する場合、データが失われる可能性はほとんどありません。

Pythonのタプルとリストのどちらがより効率的ですか?

タプルはPythonオブジェクトのコンマ区切りのコレクションであり、静的な性質があるため、タプルはリストよりも高速です。 タプルは、リストよりもメモリの点で効率的です。 時間効率に関しては、特に値を調べる場合、タプルはリストに対してマイナーな優位性を持っています。 そもそも変更されるべきではないデータがある場合は、リストよりもタプルデータ型を優先する必要があります。 タプルのリストを作成する場合があります。これは、タプルのメンバーをリストにラップできるため、Pythonリストと同じ特性に従うことができることを意味します。 Pythonタプルは占有するスペースが少ないため、タプルのリストを作成する方が実用的です。