ブログに戻る

Python 3: データ型変換ガイド

Python 3: データ型変換ガイド

はじめに

Pythonは、システム統合の目的でよく使用されるプログラミング言語です。この言語では、「データ型」と呼ばれるものが使用されます。これらのデータ型は、特定のデータの種類を分類または定義するのに役立ちます。つまり、特定のデータ型は、それに適用できる特定の値や操作に関連しています。各データ型は異なる方法でプログラムおよび編集されます。これは、各データ型が異なる性質を持っているためです。たとえば、文字列や整数を扱う場合があります。

このガイドの目的は、Pythonのさまざまなデータ型に慣れていただくことです。それだけでなく、データ型を相互に変換する方法についても詳しく説明します。このチュートリアルの終わりまでに、数値、文字列、タプル、リストなどのデータ型と、それらを変換する方法を理解できるようになります。

数値の変換

Pythonで数値について話すとき、2つの選択肢のいずれかを指している可能性があります。扱うのは、整数または浮動小数点数のいずれかです。一方を他方に変換する必要がある場合があります。整数を浮動小数点数に、浮動小数点数を整数に簡単に変換することができます。

  • 変換:整数から浮動小数点数へ

まず、整数を浮動小数点数に変換する方法から始めましょう。これを行うには、float()というコマンドを使用します。この関数は、指定された整数を小数点付きの浮動小数点数に変換します。括弧の中に整数を入れるだけです。たとえば、整数57を浮動小数点数データ型に変換したいとします。変換方法は次のとおりです。

このコマンドを実行した結果、整数 57 は、浮動小数点数である 57.0.

これを行うもう1つの方法は、変数を使用することです。変数を介して整数を表し、上記のコマンドで浮動小数点数を出力できます。たとえば、変数 f の値を 57 と等しいと宣言するとします。この場合の変換は次のようになります。

  • 変換:浮動小数点数から整数へ

浮動小数点数を整数に変換することも可能です。前のコマンドと同様に、この変換はint()関数を使用して行うことができます。前回と同様に、関数の後ろの括弧内に浮動小数点数を追加するだけです。

この例では、浮動小数点数390を整数に変換します。変換を行うには、次のコマンドを実行します。

この関数を実行した結果、390は、浮動小数点形式から次のようになります:390.8.

同様に、変数を使用して変換を実行できます。それだけでなく、複数の変換を同時に実行することもできます。たとえば、b125.0で、c390.8であると仮定します。これらの浮動小数点数を出力する方法は次のとおりです。

ご覧のとおり、整数が浮動小数点数に正常に変換されました。

浮動小数点数から整数への変換において重要な注意点は、関数が値を四捨五入や切り上げしないということです。これは、浮動小数点数の小数点以下が単に切り捨てられることを意味します。この関数は、390.8のような値を切り上げることはなく、単に0.8の部分を取り除いて整数にします。

  • 変換:除算による変換

除算によって整数を浮動小数点数に変換することも可能です。整数同士を分割すると、商が浮動小数点数になる場合があります。たとえば、5を2で割ると、返される答えは浮動小数点数である2.5になります。見てみましょう。

これはPython 3の特別な機能です。Python 2では、このような除算を行うと、次のように整数のみが答えとして返されます。 5 / 2 = 2.

文字列との変換

以下との変換方法について説明する前に:文字列, 文字列が実際に何であるかを知る必要があります。まだご存じないかもしれませんが、文字列とは文字のシーケンスのことです。これは、文字、数字、記号、またはその他の文字のシーケンスになります。コンピュータデータに関連して文字列について知っているかもしれません。これは、コンピュータが処理を実行するためにこのデータ型を頻繁に使用するためです。

ユーザーが生成したデータを扱う場合、これらの変換を頻繁に行う必要があります。そのため、数値を文字列に変換する方法や、文字列を数値に変換する方法を知っておくと便利です。

  • 変換:数値から文字列へ

数値から文字列への変換には、str()関数を使用できます。以前と同様に、変換したい値を括弧内に配置します。この値は数値または変数のいずれかです。まずは、次のような整数を12、文字列値に変換する方法を見てみましょう。

ご覧のとおり、出力は文字列値を示しています。文字列値は引用符で示されます。

一方で、整数の代わりに関数内に変数を配置することもできます。ここからがこの関数の真に便利なところです。たとえば、ユーザーが特定の期間内に書いているコードの行数を追跡して報告したいとします。この情報をユーザーに表示するには、次のように文字列と整数の両方の値を出力する必要があります。

残念ながら、上記のコードを実行しようとすると、次のようなエラーが発生します。

concatenation error

これは、コードを実行できるようにするために、linesの変数を文字列値に変換する必要があることを意味します。

変換関数を配置したため、コマンドを正常に実行できるようになります。出力として次のようなものが表示されます。

同様に、整数の代わりに浮動小数点を文字列に追加したい場合も、同じことを行う必要があります。以前と同様に、値を直接追加するか、変数を使用することができます。たとえば、次のようになります。

値が正しいことを確認したい場合は、次のように文字列と結合できます。

エラーが発生しなかったため、変換が成功したことを意味します。

  • 変換:文字列から数値へ

同様に、文字列を数値に変換することもできます。文字列に小数点がない場合は、整数に変換することをお勧めします。整数への変換には、int()関数を使用します。

引き続き、整数変換の前の例を使用します。したがって、Sammyという名前のユーザーが、毎日コード作成の進捗状況を追跡したいと考えているとします。プログラマーとして、この情報をクリエイティブな方法でユーザーに提示したいと考えています。しかし、これらの値は文字列として保存されているため、–(引き算)のような基本的な演算子を適用することはできません。これは以下で確認できます。

unsupported operand

ご覧のとおり、演算子は文字列値に対して機能しません。代わりにエラーが発生します。値を処理できるようにするには、int()関数を使用して文字列を整数に変換する必要があります。

ここで、lines_more は変数です。この変数は整数であり、この例では結果の値である58に等しくなります。

一方、float() 関数を使用することで、小数点がある場合に文字列を浮動小数点数に変換できます。この例では、ユーザーの Sammy が書いた行数ではなく、獲得したポイントを使用します。ポイントは小数点以下で記録されます。

出力はエラーとしては表示されませんが、それでも正しくありません。この場合、演算子 + または加算は機能しました。しかし、2つの数値を加算する代わりに、単に2つの文字列値を隣り合わせに配置しただけです。

そのため、まず float() 関数を使用して、これらの文字列を浮動小数点数値に変換する必要があります。

上記のように、2つの値が加算されます。注意:小数を含む文字列値を整数に変換しようとすると、次のようなエラーが発生します。

cast error

したがって、まず文字列データ型を数値に変換する必要があります。そうすれば、他の操作を実行したり、数値への変換を簡単に行ったりすることができます。

タプルとリストへの変換

リストとタプルは、Python 3で使用できるいくつかのデータ型です。これらは両方とも要素のシーケンスで構成されています。2つの違いは、リストが変更可能(mutable)であるのに対し、タプルは変更不可能(immutable)である点です。さらに、リストの要素は角括弧[ ]内に配置されますが、タプルの要素は丸括弧内に配置されます。( ).

  • 変換:リストからタプルへ

まず、リストをタプルに変換する方法を見てみましょう。変更不可能なデータ型が必要な場合に、この変換を行う必要があります。この目的のためには、次の関数を使用します。tuple():

ご覧のとおり、リストの項目はタプルになりました。これは、要素を囲む丸括弧によって示されています。

また、tuple() 関数を、項目のリストに等しい変数と一緒に使用することもできます。

便利なことに、任意のデータ型をタプルに変換できます。たとえば、文字列をタプルに変換する方法は次のとおりです。

文字列は反復可能(iterable)であるため、タプルに変換できます。当然ながら、反復不可能なデータ型はタプルに変換できません。たとえば、いくつかの整数または浮動小数点数をタプルに変換したいとします。もしtuple() 関数を実行すると、次のようなエラーが発生します。

型エラー(TypeError)は、整数が反復可能(iterable)ではないことを示しています。そのため、変換を行うことができません。複雑な方法としては、まず整数を文字列に変換し、次にタプルに変換することです。これは以下の関数で行うことができます:tuple(str(5000))。しかし、このような複雑な処理は避けることをお勧めします。

  • 変換:タプルからリストへ

逆に、変更可能な(mutable)データが必要な場合は、タプルをリストに変換する必要があるかもしれません。この目的には、次のlist()関数をこのように使用します:

角括弧の存在は、結果の出力がリストであることを示しています。次の関数を使用してタプルをリストに変換するコードを記述する場合、list()list()メソッドとprint()メソッドの両方に丸括弧を含める必要があります。しかし、これではコードが少し読みにくくなります。複雑さを軽減するために、代わりに変数を使用することで丸括弧を1組減らすことができます:

タプルと同様に、文字列を直接リストに変換することもできます:

結論

このガイドは、Python 3でデータ型を変換する方法を探している場合に役立ちます。さまざまなデータ型と、Pythonの組み込み関数を使用してそれらを相互に変換する方法について詳しく説明しました。これらの変換を理解することで、プログラミングがより簡単になり、より深く理解できるようになります。

Pythonでできることをさらに探索するには、他のガイドを参照してください:

ハッピーコンピューティング!

author

Akshay Nagpal

著者 · CloudSigma

Preslav DobrevはCloudSigmaのクリエイティブデザイナーであり、従来型および革新的なマーケティングチャネルを活用した一貫性のあるビジネスアイデンティティに注力しています。彼は芸術的なビジョンと戦略的マーケティングを融合させ、インパクトのあるブランドナラティブを生み出すことに長けています。

コメント

コメントはまだありません。最初のコメントを投稿しましょう。