1. 深夜のカラアゲ定食 #ごはん大盛り
  2. #21 しっかりPythonをやるとき..
#21 しっかりPythonをやるときに、型を知っていてほしいと言うのが自分の方針なんです。
2026-05-16 19:56

#21 しっかりPythonをやるときに、型を知っていてほしいと言うのが自分の方針なんです。

spotify apple_podcasts

前回に続いてPythonを勉強する回です。

ガチなので、ますだに操作してもらっているところもフル収録・・・映像ないのに。

誰が聞くんやこれ、と思いつつ、たとえばプログラミング初心者の方の復習用、確認用とかいかがでしょうか。いないと思うけどプログラミングを教える立場の人には教え方の参考になるかも・・・?しれません。

まあプログラミングを教えるって、プロじゃなくても絶対ありますからね。
部活の先輩と後輩、職場の先輩と後輩、といったシチュエーションなら多少は参考になるかもなので、聞いてみてください。

というか、ますだの理解力、地頭の良さを楽しむ番組ですね。

感想

まだ感想はありません。最初の1件を書きましょう!

サマリー

このエピソードでは、Pythonの基本的な概念である変数とデータ型について解説します。変数を「箱」に例え、文字列型(STR)と整数型(int)の基本的な使い方と、それぞれの型が計算や処理にどう影響するかを具体例を交えて説明します。さらに、真偽値型(BOOL)についても触れ、オンオフの切り替えのような概念で使われることを解説し、プログラミングにおける型の重要性を強調しています。

変数とデータ型の基本
ということで、ハローワールドができました。 無事。
基本的なところはこんな感じで、本当は色々環境周りってまだまだ追い込むことはできるんだけど、とりあえずはこんなもんにしておいて、
プログラミングのちょっとしたお勉強に入りますか?という、そういう感じです。
そうね、まあ最初変数とデータ型とか言ってるけど、変数はだいたいわかるよね。どう?
変数? a とか? x とか?
そうそう、数学とかでね、関数でやったと思うけど、よく変数の話をするときに出てくるのは、箱のイメージなんだよね。
実際にちょっと書いてから説明をしようか。
じゃあずっと今、ハローワールドにしてるんだけど、そのプリントのところの一番左にカーソルを持っていって、エンターを押して下に下ろしてください。
エンターを押して、そしたら下に行きます。
で、その一個上のところにコードを書いていきます。
なんだろうな、じゃあメッセージとかにしようか。メッセージって書いて。
メッセージ。
メッセージって言って、スペースを押して、イコールを押して、スペース。
だいたいこんな感じで書きます。
そこに今書いてたプリントハローワールドのハローワールドを持っていきます。
コッペっていうかカットペーストで。
で、ダブルクオーテーションの部分をビッてマウスで選択してあげて、コントロールXでカットができるんで、カット。
で、持っていって、ペースト、コントロールV、そうそうそう。
じゃあこれで今度どうしようかってなったら、プリントの括弧の中、ここにやっぱり出力したい内容を入れるんで、そこにさっきのメッセージを入れてあげてください。
じゃあこれでもう一回保存を押して、コントロールSで実行を押しますと。
そしたらさっきと同じようにハローワールドが出てきましたと。
めっちゃわかりやすいな。
プリントは括弧の中のものを見えるようにする、プリントする。
さっきはハローワールドって直接入力したけど、今回はメッセージっていう名前の変数にして、
1行目でメッセージっていう変数の中身を、ハローワールドですよっていう風に決めたから、
ハローワールドが見えるようになったっていうことかな。
そうなんです。
じゃあもし仮にですよ、これ書かずに答えてほしいんですけど、
このプリント括弧メッセージって書いてあるとこのメッセージの左右にダブルクオーテーションを書いたら出力はどうなると思いますか?
メッセージ。
そうです。
このダブルクオーテーションはすごく大事な役割をしていて、このダブルクオーテーションの間に入っているものはただの文字列です。
要するに変数とかじゃないです。
逆に言うと、
言葉ですよってこと?
そうそうそうそう。
だからプログラミングの世界って変数の名前とかっていうのはルールがあって、一番代表的なものが全角文字が使えません。
日本語でメッセージってカタカナで書いてもそれは変数になりません、全部エラーですっていうのがあるんだけど、
このダブルクオーテーションの中はただの文字列として扱われるので、そこにカタカナでメッセージって書いても何の問題もないです。
だから極端な話、これカタカナでハローワールドって書いてても、
出力はされる。
出力されます。
っていう風なところで、それが次の型の話に繋がるんだけど、
Pythonにおける型の重要性
自分はこのデータ型っていう考え方はすごく大事にしてて、
もっと言うと、パイソンが結構型を大事にする言語だったりもするので、
型を大事にするっていうか、逆なんだよね。
パイソンが型の部分をいい感じに解釈して、
言語の側で良しなにやってくれるからこそ、
人間サイドが型っていう意識をしっかり持っていないと、あれあれってなっちゃうっていう、
そういうところがあるんで、
しっかりパイソンやるときに型を知っておいてほしいなっていうのは自分の方針なんです。
それで言うと、型っていうのは何かっていうと、
最初に種類からいくと、
日本語で言った方が分かりやすいと思うんで、
整数型、小数型、文字列型みたいなのがあるんです。
っていうことはどういうことかっていうと、文字列型っていうのは文字列が入ってます。
整数型っていうのは整数が入ってます。
っていうことを真面目にしてるだけなんですけど、
当たり前の話、整数型の中に文字列は入ってませんし、入れてはいけません。
っていう風にルールを決めてあげましょうっていうことなんですね。
そこをやるときに、今このメッセージっていうのは文字列のハローワールドっていうのが入ってるわけですよね。
プログラミングでのイコールって代入っていう意味なので、
その中に入っているので、このメッセージっていう変数は文字列型になるんです。
これはどういうことかっていうと、このメッセージっていう変数は文字列型になりました。
この代入によって。
そうしたら、そのメッセージに対して、今度はやっぱり整数の13とか入れますっていうのはできないはずです。
なぜなら文字列型になったから。
それは、私がメッセージという変数を文字列型の倍における変数として決めたのか、
そもそもメッセージみたいな変数として決められた単語が何かあって、
それはそれぞれ整数型、文字列型とかにカテゴライズされているのかどっちですか?
変数の命名と型の柔軟性
順番としては、変数を作るっていうときには、まず変数の名前を決めます。
で、それに代入するものを決めます。
それによって人間の名前の変数に値を代入できたりとかするっていう流れになるので、
このメッセージっていうのは我々が勝手に好きに決められ、名前を付けられるものだっていうふうに思っています。
今このメッセージは、この場合においては文字列型だよっていう話をしたけれども、
それは今私たちがHello Worldっていう文字列を代入するというふうに、文字列を代入する変数ですよというふうに自分たちが定めたから文字列型になったわけで、
例えば、そもそもメッセージという変数に整数の値を代入するんだって決めて、その変数の名前をメッセージというふうにしたいというこだわりがあった場合、そのメッセージは整数型の変数になるわけですか?
おっしゃる通りです。なのでメッセージっていう名前なんだけど、整数型です、小数型ですっていうのも可能です。
ただややこしいからそんなことはしなさそうだけどな。
そうそうそう。だから逆に言うと、名前を決められるっていうのはこちら側のやつなので、わかりやすい名前を決めてあげるっていうのはすごいプログラミングでは大事なことです。
じゃあ例えばですけど、変数の中におにぎりの具の名前を入れますってなったとき、その変数の名前をアルファベットでおにぎりとかにしてもいいってことですか?
そうです。おっしゃる通りです。ちょっと待ってくださいね。ちょっと覚えてなくて申し訳ないんですけど。
面白いね。そこは自由に決められるんや。
データ型の確認と文字列型
じゃあちょっと型の部分をもうちょっと深掘りしていきましょうか。今メッセージ、ハローワールド代入してて、プリントメッセージなんでハローワールドが出ますっていうのはわかりましたと。
じゃあちょっとそれをちょびっとだけ改造していきます。メッセージのプリント括弧メッセージのところなんですけど、そのメッセージの前にタイプって書いてもらって括弧してメッセージを括ってあげてください。
これをまたコントロールレースで保存して実行してみてください。
このタイプっていうのは、今言ったデータの型っていうのを返してくれる関数なので、このメッセージはなんていう型ですかっていうのを出してくれる。それをプリントしてるっていう感じになるので。
型の名前を出力してくれる。
今言ってた整数型、小数型っていうやつなんですけど、もちろんプログラミングの世界では整数型みたいな風には言わないので、今回文字列型っていうのはSTRって出てるんですけど、これストリング型です。
ストリング型。
ストリングっていう英語があるので、そういうものの略称だと思ってください。
STRって出てますけど、これはこのメッセージという変数はストリング型、文字列型の変数ですよっていうことを表してるんですね。
はい、おっしゃる通りです。
整数型とその特徴
じゃあ今度はHello Worldを今文字列型なんで、さっき言ってたみたいに整数型にしてみましょう。
じゃあ整数型にしたいので、Hello Worldを一回消してもらってダブルクオーテーションをと。
整数型にする場合は整数を入れるっていう時にダブルクオーテーションを使わずに入れます。
なので適当にこのダブルクオーテーションを全部消した状態で好きな数字を入れてください。
ありがとうございます。
じゃあそれで保存して実行してみましょう。
保存してを忘れそうな気がするな。
うん、それは保存しないとダメですよ。
それはまず身に染み込ませてください。
はい。
すると出力がですね、今度はintって言ってください。
classindint
これはインテジャーの略で
インテジャー
インテジャーが整数っていう意味の英語なんですけれども、
それの略なのでこのintっていうのを見たらこれは整数型なんだっていう風に思ってください。
今メッセージという変数に7っていう整数を入れたので
それをプリントタイプメッセージ
メッセージの変数の型を教えてくださいねという出力をしたところ
classindint
インテジャー
整数型ですよっていう風に返ってきた。
はい。
この整数型っていうのは特徴を言うと
プログラミングと言えばやっぱり計算ですよね。
イメージある。
計算してほしいですよね。
こういう整数の指則演算とかをしてもらうときには
必ず文字列型ではなく
整数とか小数とかっていうところの型を使ってもらうことになります。
型が違うことによるエラー
もし仮にですよ、この7の左右にダブルクオーテーションを付けたら
変化はあると思いますか?この出力に。
メッセージイコールダブルクオーテーション7にした場合
左右にダブルクオーテーションを付けるだけです。
出力されるクラスはSTRになるのかな?
文字列型。
なので逆にこのダブルクオーテーションを付けて
文字列型にした場合は7たす3みたいな
指則演算みたいなことはできなくなります。
なぜなら文字列だからです。
そのまま7たす3っていう言葉たちが
出力される感じになるんですかね。
ちなみに文字列型も足し算をすることができて
その場合は本当にただ単純にガツッと
接続されることになります。
要は文字列型の7と文字列型の3を
足し算した場合73になります。
要は文字列として合体するんです。
横に並べる。
そうです。
ちなみに文字列型の7と整数型の3を
足し算しようとしたらエラーになります。
タイプが違いますよってことですか。
つまり型が違うと計算ができない。
これはとってもよくあるエラーです。
なのでしっかり型を意識して
これは型が違うなっていう風になっておかないといけない
ということなんです。
っていう感じかな。
開発環境での変数情報表示
型もいろいろ話はできるんだけど
あれですよね。
メモとかできたら便利ですよね。
どういうと?
例えば。
今は2行だからいいけど
めっちゃ長いコートとか書いてるときに
このメッセージっていう変数
文字列型やっけ、整数型やっけってなったときに
ちょっとメモで
メッセージは文字列の変数だよ
みたいに書いとけると
作業してるときにやりやすいなって思うけど
多分このタイプかっこメッセージのところに
カーソルを持っていって
ダブルクリックしてもらっていいですか?
メッセージのところ。
メッセージに熱い思いを込めて
ダブルクリックをすると
そうですね、それだったのかな。
さっきマウスをメッセージの上に乗っけたときに
何か出てきたと思うんだけど
こういうふうに情報が出てくるんです。
まずここに書いてあるのはバリアブルって書いてあるんですけど
分かります?これ変数です。
なのでメッセージは変数だよっていうことが分かるんです。
ここメッセージって書いてあるのはそのまま変数名ですと
その後ろに書いてあるこれ何だと思います?
インテラル?
これリテラルだからおかしいのか
リテラルちょっとごめんわからないわ
こういうふうにVSCodeの機能の側で
変数の情報を見たりすることができる
そういう機能があるので
そういうものをうまく活用をしながら
実際のコードっていうのはやっていくことになります。
多分文字列的な意味だよね
リテラルの7って書いてあるから
これメッセージの文字数なんじゃないかな
多分これメッセージっていう変数名の情報を
出してくれてる感じがするんですけど
データそのもの
変数に入れる変わらないデータ
なるほど
7っていうのは変数の中で固定されちゃってますよってことですね
7が入ってるのか
真偽値型 (BOOL)
っていうのが変数とか
データ型の部分かな
あともう一つやっとこうか
7を今度は特殊な型をいきたいと思います
決して英語でtrueって書いてください
trueって入れて保存して
このタイプで括ったやつのやると
これはどうなんでしょうかってことなんですけど
Tが大文字ですねごめんなさい
T大文字でした
小文字だと思ってた
これで保存
メッセージイコールトゥルーT大文字に変えましたね
予測みたいに出してくれたから
気にせずもう一回やると今度は新しいのが出てきます
メッセージイコールT大文字のトゥルー
2行目にプリントタイプメッセージってしたら
クラスBOOLが出ましたね
これはね
BOOL型ってやつなんですけど
これはプログラミングをやらないとあんまり概念として出てこないタイプの
これなんていうか真理
trueとfalseっていう2つの値だけが存在する型なんです
BOOL型っていうのはたった2つの値しかない
これはどういうときに使うかっていうと
要するにオンオフの切り替えなんですね
オンオフを管理したいときに3つ目の値があったりとか
自由に好き勝手入れられたら困るでしょ
文字列型とかでトゥルーって文字列が入ってたらみたいな感じにしたら
なんかの表紙の中身がトゥルーにとか
ちょっと変わってしまうっていうことがあり得るっていうときに
トゥルルーとかになっちゃったら困るもんな
そういうことが起こらない型なんです
だから例えばゲームとかでも
こういう条件をいくつもいくつもクリアして
5つの条件をクリアしたっていうときに
次のステージに進めますみたいなものを作りたいときっていうのは
絶対にこのブール型を使います
4つのステージクリアしてるときはフォルスです
5つクリアしたついにその瞬間トゥルーになる
トゥルーになったらこういう操作をしてみたいなのがあるのかな
トゥルーになったら6つ目のステージが選択できるようになるみたいな
そういうものを管理するときとかに使います
だからよく言うのはイメージは電気のスイッチですよね
カチカチのタイプのスイッチね
電気のスイッチに3番目の状態ないでしょ
間とかないよね
今時は家のそういうやつを自動で操作するやつとかあるじゃないですか
朝何時になったら電気をつけるみたいな
朝の6時になったらカーテン開けるとか
そういうのもあるのでそういうものも含めてイメージがしやすいかな
オフですぐ分かりやすいかな
っていうところもアプリケーションを作るとか
そういうときにはすごく大事になってくるので
これも覚えておきましょうというところになります
次のステップへの予告
次は演算のところですけどささっとやりますか
簡単やし
数学ができる人にとっては余裕ですよという感じで
私数学できないんですけどできないのでどうなることやらという感じがしますけど
じゃあ次は計算をするっていうところで一旦切ろうか
切ります
19:56

コメント

スクロール