テクノロジー

pythonの基礎:「データ型~型変換~」

k-99's icon'
  • k-99
  • 2022/10/27 15:28
Content image

データ型についての記事で、文字列型(str型)・整数型(int型)・浮動小数点型(float型)について簡単に解説しましたが、異なるデータ型を一緒に使うとエラーが出てしまうことがあります。

 

【この記事はこんな方に向けて書いています】

・pythonのデータ型について勉強したい

・データ型の型変換について勉強したい

 

【目次】

文字列と数値の結合によるエラー

・データ型の確認

・数値を文字列に型変換

・文字列を数値に型変換

・まとめ

 

【文字列と数値の結合によるエラー】

例えば、変数English_score85代入して、print関数で「英語の点数は85点でした」と出力してみます。

Content image

するとこのようにエラーが出てしまいました。

 

TypeError: can only concatenate str (not "int") to str

このエラー「文字列と数値を結合」する時に発生します(記事執筆時点:pythonのバージョン更新時にエラー表現が改善される場合があります)。

 

【データ型の確認】

変数English_scoreに85を代入したので、変数データ型整数型(int型)になっていると考えられます。念のためtype()データ型確認してみます。

Content image
上がコード・下が実行結果

 

 

 

 

intと返ってきたので、やはりデータ型整数型(int型)になっています。

ではどのようにすればいいのでしょうか?

 

【数値を文字列に型変換】

この場合は、数値文字列変換すれば解決します。

以下のようにして、変数English_score文字列型(str型)変換してprint関数で出力します。

Content image
上がコード・下が実行結果

このように、整数型(int型)文字列型(str型)変換することで無事に出力できました。

 

【文字列を数値に型変換】

今度は文字列型(str型)整数型(int型)変換してみます。

まず変数math_score90代入して、英語数学合計得点print関数出力してみます。

Content image

するとこのようにエラーが出てしまいました。

 

TypeError: unsupported operand type(s) for +: 'int' and 'str'

このエラー「整数(int)と文字列(str)を+できない」というエラーです(記事執筆時点:pythonのバージョン更新時にエラー表現が改善される場合があります)。

 

変数math_score90代入する時にシングルクォーテーション(')で囲ってしまったので変数データ型文字列型(str型)になっていると考えられます。念のためtype()データ型確認してみます。

Content image
上がコード・下が実行結果

 

 

 

 

strと返ってきたので、やはりデータ型文字列型(str型)になっています。

ではどのようにすればいいのでしょうか?

 

もちろんシングルクォーテーション(')を外して「math_score = 90」と上書きすれば解決しますが、今回は勉強のため文字列数値変換して解決します。

以下のようにして、変数math_score整数型(int型)変換してprint関数で出力します。

Content image
上がコード・下が実行結果

 

このように、文字列型(str型)整数型(int型)変換することで無事に出力できました。

 

データ型についてはこちらの記事で簡単に解説していますので、よければご覧下さい。

まとめ

・異なるデータ型を一緒に使うとエラーが出てしまうことがある

・変数のデータ型を確認する時はtype()で確認できる

・データ型はstr()やint()などで型変換できる

 

ここまで読んで頂きありがとうございました。

Content image

 

Twitter

 

-------------------------------------------------------------------------------------

当ブログの記事一覧(カテゴリー別)

 

Supporter profile icon
Article tip 1人がサポートしています
獲得ALIS: Article like 58.33 ALIS Article tip 4.10 ALIS
k-99's icon'
  • k-99
  • @k-99
python初学者です。pythonで勉強した内容を自分なりにわかりやすくアウトプットしていきます、よろしくお願いします。Twitter:@python_begin

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
テクノロジー

なぜ、素人エンジニアの私が60日間でブロックチェーンゲームを制作できたのか、について語ってみた

Like token Tip token
270.93 ALIS
Eye catch
クリプト

約2年間ブロックチェ-ンゲームをして

Like token Tip token
56.20 ALIS
Eye catch
クリプト

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

Like token Tip token
46.60 ALIS
Eye catch
テクノロジー

オープンソースプロジェクトに参加して自己肯定感を高める

Like token Tip token
55.05 ALIS
Eye catch
クリプト

ブロックチェーンの51%攻撃ってなに

Like token Tip token
0.00 ALIS
Eye catch
テクノロジー

彼女でも分かるように解説:ディープフェイク

Like token Tip token
32.10 ALIS
Eye catch
クリプト

Bitcoinの価値の源泉は、PoWによる電気代ではなくて"競争原理"だった。

Like token Tip token
59.32 ALIS
Eye catch
クリプト

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

Like token Tip token
947.13 ALIS
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

Like token Tip token
38.31 ALIS
Eye catch
クリプト

Uniswap v3を完全に理解した

Like token Tip token
18.92 ALIS
Eye catch
クリプト

スーパーコンピュータ「京」でマイニングしたら

Like token Tip token
1.06k ALIS
Eye catch
ゲーム

ドラクエで学ぶオーバフロー

Like token Tip token
30.10 ALIS