プログラミングをしてみよう(Python編)
みなさんこんにちは。
PC・スマホ修理のEye Smartです。
今回は、副業スキルとしても人気を集めつつある「プログラミング」を、実際にやってみよう!というコーナーです。
とはいえ、実際のプログラミング学習はそれなりに難しい内容となってきますので、内容としては「ゼロからプログラミングを学習する方が、最初の入門書を読み始める前の準備体操」くらいにとどめてあります。
さて、プログラミング言語には様々なものがありますが、この度はAI開発でも広く用いられる「Python」という言語を使ってみようと思います。
「AI開発」というと難しく思われるかもしれませんが、Pythonは文法のシンプルさから「プログラミング入門用の言語として優しい」ということも人気の理由です。
また、途中で「難しい」と思われましたら、最初はプログラムをコピペして動かしてみたり、ただコードを眺めてみるだけでもかまいません。
プログラミングの「勉強」というよりも「見学」のつもりで、リラックスしてご覧ください。
尚、学習にあたってPyhtonの開発環境を準備する必要があります。
実際にコードを入力、実行される場合は、下記の記事を参考にPython開発環境を整えられて下さい。
https://eyesmart.digital/フロクラミンク学習環境を整えようpython編
Pythonでプログラムを動かしてみよう!
ここではまず、Python言語を用いて画面に文を表示したり、簡単な計算などを行ってプログラミング作業に慣れていきましょう。
プログラミング入門のお決まり「Hello, World!」
プログラミング学習入門の定番中の定番、「Hello,World!」
あの、画面に「Hello,World!」と表示されることで自分が作ったプログラムが動く喜びを噛み締める、感動の瞬間ですね。
ちなみに「Hello Word」という感動的なアニメ作品があるのを、ご存知でしょうか?
プログラミングファンなら、一度は観ておきたいSF作品です。
では、早速PythonでHello,Worldしてみましょう。
次の操作で、コマンドプロンプトを立ち上げてください。
「Winキーを押しながら、[R]キーを押す」
「「ファイル名を指定して実行」ウィンドウにて、「cmd」と入力してEnterキーを押す」
すると、真っ暗なウィンドウが表示されます。
これがコマンドプロンプトと呼ばれるもので、Windowsを「コマンド」と呼ばれる命令言語の入力によって操作するものです。
Pythonがインストールされていれば、「python」という入力でPythonでのプログラミング画面に切り替えることができます。
Pythonのプログラミング画面になると、現在は「C:¥Users¥<自分のユーザー名>」となっているところにPyhonのバージョン番号が表示されたあと「>>>」という記号に変わり、入力待ち状態となるはずです。
コマンドプロンプトに「python」と入力してみてください。
無事、入力待ち状態が「>>>」となりましたか?
入力待ちとなったら、いよいよ「Hello,World!」の瞬間です。
コマンドプロンプトに、次のように入力してください。
「print(“Hello,World!”)」
そしてEnterキーを押すと、改行後に、
「Hello,World!」
と出力されれば、見事にHello,World成功です!
しかし、この方法だと単に画面に文字列を出力するためのメソッドである「printメソッド」を動作させただけであり、プログラムを作ったわけではありません。
※「メソッド」の説明に関しては、こちらの記事が参考になります。
https://eyesmart.digital/フロクラミンクをしてみようjava編
実際、プログラムは本体となる実行ファイルがあり、それを機械に命令するための命令文「ソースコード」を記述してつくるものです。
では、もう少しプログラミングっぽいスタイルで「Hello,World!」のプログラムを開発してみましょう。
Cドライブ直下に、Pythonプログラムを格納するフォルダを一つ作ってください。
そして、そのフォルダにコマンドプロンプトで移動します。
VSCodeやTeraPadなどのコードエディタにて、次のPythonプログラムのソースコードを記述します。
内容は先ほど入力したのと同じものとなります。
「print(“Hello,World!”)」
入力できたら、次のファイル名で先ほど作成しフォルダに保存します。
Pythonプログラムのソースコードはファイル名自体は自由に決めて良いのですが、拡張子は「py」として下さい。
hello.py
ここまで準備できたら、次のコマンドを実行してください。
python hello.py
これで、先ほどと同じように
「Hello,World!」
と表示されればOKです!
なお、今後Pythonプログラミングの学習をされるのであれば、この方法で自分が作ったプログラムをきちんと残しておくことをオススメします。
その方が、きちんとプログラムが動かなかったときに書き直しをしたり、前に作ったプログラムを改変して、その変化から「なぜそうなるのか?」を考えるといったことができるからです。
簡単な計算をしてみよう!
では、今度は与えられた値同士を計算するプログラムを作ってみましょう。
Pythonに限らず、大抵のプログラミング言語は計算処理をするとき、値を変数というものに代入し、その変数同士を計算します。
これは、計算する値は人間が入力する場合が多いことや、計算結果など計算する値によって答えとなる値が変わるなどの事情に対応するためです。
つまり、値の内容が変化するから「変数」なのですが、逆に計算するにあたって変更されたくない値というものもあります。
例えば「税率」や「円周率」などがそうです。
こうした、常に同じ値を使いたい場合などを代入する変数のことを「定数」といいます。
ここではひとまず、変数の扱い方を紹介しますが、今後Pythonや他のプログラミング言語も勉強する場合、定数の扱い方についても学習することとなるはずですので、頭の片隅にでも置いておきましょう。
では、プログラムを作っていきましょう。
以下は、二つの変数a、bに代入された値をそれぞれ「足し算」「引き算」「掛け算」「割り算」し、答えを出力するプログラムです。
a = 9
b = 3
ans = a + b
print(“変数aと変数bの足し算の結果は” + str(ans))
ans = a – b
print(“変数aと変数bの引き算の結果は” + str(ans))
ans = a * b
print(“変数aと変数bの掛け算の結果は” + str(ans))
ans = a / b
print(“変数aと変数bの割り算の結果は” + str(ans))
Pythonのプログラムでは、四足演算の演算子はそれぞれ次の演算子を使います。
- +・・・足し算
- –・・・引き算
- *・・・掛け算(アスタリスク)
- /・・・割り算(スラッシュ)
掛け算と割り算の時は、一般的な算数とこなりますので注意しましょう。
実行結果は次のとおりです。
変数aと変数bの足し算の結果は12
変数aと変数bの引き算の結果は6
変数aと変数bの掛け算の結果は27
変数aと変数bの割り算の結果は3.0
このプログラムでは、変数aと変数bにそれぞれ計算に使う値を代入し、その計算結果を演算ごとに変数ansに代入しています。
その後、変数ansの値を表示しているのですが、printメソッド内で変数ansの内容を指定している時、
「str(ans)」
と記述していますね。
これは「strメソッド」というもので、数値を文字列に変換するために使用します。
おそらく、「数値を文字列に変換って、どういうこと?」と思われたかもしれません。
これについて、少し詳しく解説しましょう。
例えば、私たち人間は「12」という数字を見た時、これは「数字なんだな」と瞬時に把握することができます。
この「数字」の意味を掘り下げてみると、
- 何かが12個ある
- あと12kmで目的地に辿り着く
- 半日は12時間だ
と、個数や感覚といった「何かしらの量を示すもの」と認識できます。
それが数字だからです。
ですが、数字は「字」でもあります。
同じ「12」でも、手書きと明朝体、ゴシック体では見た目が異なります。
更に、「12」は1と2という、それぞれの文字の並びとも捉えることができます。
もしかしたら、最近プログラミングの書籍を購入した方は再々現れる「文字列」という言い回しに少し違和感を覚えたのではないでしょうか?
文字列とは読んで字の如く「文字の並び」であり、先ほどの「Hello,World!」のようなものを指し示します。
または身近なものですと、Xのポストなどがそうでしょうか?
ですが、日常生活でXのポストの内容を「この文字列が〜」などといった言い方はあまりしません。
「この文章が〜」といった方が自然な言い方ですね。
しかし、プログラミングでは文章のように文字が複数並んでいるものを文章とは言わず「文字列」といいます。
これは、プログラミングでは文字を含むデータを扱う際、「それが一文字なのか、複数文字なのか」を区別する必要があるからです。
更に、文字を含むデータと数値データを区別して考えなくてはなりません。
これは、「12」が与えられた際、それを加算や減算をするのか、書体を変更するのか、何文字であるかのカウントなどでは、そのデータの扱いが全く異なるからです。
Pythonにおけるprintメソッドもそうした事情を挟んでおり、それは「printメソッドで画面に表示できる内容は文字列とする」ということです。
足し算や引き算を行った直後は「数値」の状態ですから、これを「1と2という文字の並びである」すなわち「文字列データである」という解釈に変更してからprintメソッドに指定しているというわけです。
この概念はJavaなど、他のプログラミング言語でも重要となってくることもありますので、覚えておくと便利でしょう。
条件によって、出力される結果を変えてみる
例えば、「数値がある基準以下であれば〜を実行」といった感じで、条件によって実行する処理内容を変えたり、処理をする/しないを決めたい場合があります。
これは「if文」というものを使って実現します。
Excelを使ったことがある方はお馴染みかもしれませんが、文法は異なりますが同様のものです。
では、Pythonでのif文の使い方を見てみましょう。
プログラムコードは以下のとおりです。
price = 500
if price > 300:
print(“予算オーバーです!おやつは300円まで。”)
else:
print(“OK!明日の遠足、楽しみですね。”)
上記のプログラムは、遠足にもっていくおやつの適正価格を判定するものです。
変数priceには、購入したお菓子の金額を入力します。
もし、持っていっていいおやつが300円までだった場合、300円を超えていたら
「予算オーバーです!おやつは300円まで。」
と、注意を促すメッセージを表示し、きちんと300円以内に収まっていれば
「OK!明日の遠足、楽しみですね。」
と、問題ない旨のメッセージを表示します。
もし、遠足前のホームルームで
「今回の遠足は特別に、おやつは500円以内で大丈夫です!」と嬉しい発表があった場合は、if文の条件式となる
if price > 300:
を
if price > 500:
とします。
この「> 500」は「値が500より大きい」を意味する式です。
- >・・・〜より大きい
- <・・・〜より小さい
- >=・・・〜以上
- <=・・・〜以下
「〜より大きい」は基準値ジャストの値は含みませんが、「〜以上は」ジャストの値も含みます。 なので、これを
if price >= 500:
などとしてしまうと、お菓子をギリギリ買えるだけ買ったけど予算内に納めた場合であっても「予算オーバー」と言われてしまうので、注意が必要です。
動作を繰り返す
また、同じような動作は自動で繰り返し実行させるというのも、プログラミングではよく行われる処理です。
Pythonでのfor文は、次のように書きます。
phone = [“iPhone”,”Xperia”,”Pixel”]
for sp in phone:
print(sp)
この時、「print(sp)」はTabキーでインテントする必要があるので注意してください。
実行結果は、次のとおりとなります。
iPhone
Xperia
Pixel
では、プログラムの内容を解説します。
まずphone変数の書き方ですが、
phone = [“iPhone”,”Xperia”,”Pixel”]
のように、スマホの名前を複数代入しています。
これは「リスト」と呼ばれる書き方で、Pythonの特徴とも言える文字列の扱い方です。
次にfor文本体ですが、これは次の文法となっています。
for 取り出した値 in 取り出すデータがあるリスト
このように記述することで、リストにデータがある間、値を一つずつ取り出して画面に出力します。
さて、ここまでPythonを用いてプログラミング操作を少し紹介させていただきましたが、いかがだったでしょうか?
もちろん、今回お話しした内容はプログラミング学習で学ぶべきことの一部であり、まだ準備体操にも満たないものです。
ですが、これでプログラミングにチャレンジしてみる一歩は踏み出せました。
もしプログラミングに興味をお持ちでしたら、これから学習をはじめてみてはいかがでしょうか。
ここまでお読みいただき、ありがとうございました。