だぶるばいせっぷす 新館

ホワイトカラーではないブルーカラーからの視点

【プログラミング】 python奮闘記 その2 ~プログラムは計算が出来る

前回の第1回では、読んだ書籍について書いていきました。
kimniy8.hatenablog.com
第2回からは、実際に私が学んだことや理解した事について書いていこうと思います。
というのも、私はプログラミングの勉強をしている際に、本だけでなく様々なサイトにも目を通しているのですが、多くのサイトで、アウトプットの重要性について書かれていたんです。
自分で本などを読んで完結するだけでは、理解も浅いし発展もないようなんですね。それよりも、理解した範囲や試したことをアウトプットするほうが、自分自身で整理も出来て良いようなんです。

という事で私も自分自身の発展の為に、プログラミングで理解できた部分などを書いて公開していこうと思い、このシリーズを始めてみました。
プログラミングの超初心者が書いている投稿なので、理解不足の点や間違った知識で書く事も多々あるとは思いますが、その辺りは御了承ください。
この先、自分でプログラムを書いて、その過程を公開する予定ですが、その際にも間違ったり効率が悪い方法で取り組んでいたりする場合も有ると思いますし、詰まって先に進めないといった場合もあるとは思いますが…そういった際は、優しく教えていただければ幸いです。

まず、私の勉強している『python』で何が出来るのかというのを書いていきます。
『プログラミング 出来ること』と書いてgoogleなどで検索すると、質問が漠然とし過ぎているのか、色んな『出来る事』がヒットしてしまい、余計に混乱してしまいます。
まぁ、そうですよね。 電卓のような超簡単な計算や、Twitterの様な世界レベルで展開されているサービスやPS4のゲームまで、同じ『プログラム』によって出来ている為、『何が出来るの?』と漠然とした質問をしても、『何でも出来るよ。何がしたいの?』と質問し返されて終わりです。
こんな状態な為、知識の無い私のようなものからすれば、プログラミングで出来る事を調べてゴールを定めようとしても、余計に混乱してしまうだけです。

そこで、もっと単純に基本に返って『プログラミングで出来る事』を私なりに考えた結果、辿り着いて理解できた答えは、『計算』です。
IT系の仕事をしている人が聞いたら『何当たり前のこと言ってんの?』と怒られそうなんですが、素人はその当たり前が分からなかったりするんですよ。
という事で、私と同じ様にプログラミングを1から勉強する人は、これだけは覚えておいてください。 プログラミングとは、コンピューターに計算させる事なんです。

これを踏まえて、まず、『python』の基本から。
pythonプログラミング言語で、言語とついているので難しそうな印象を受けるんですが、基本的に行っている事は計算です。
まぁ計算と言っても、足し算のように小学生でも分かる計算から、大学を出ても頭を悩ませる計算まで有るわけで、難しい計算方法を知っている人ほど、コンピューターに難しい指示(計算式)を出すことが可能なわけで、より複雑なものを創り出すことが可能になるわけですが…
まぁ、素人がパッと思いつく『作りたいもの』には、そこまで複雑な計算は使われていないと思いますので、その辺りの心配は、今はしなくて良いのかも知れません。 必要になった時に勉強するってレベルで良いのかも?

…と、前半部分が長くなりましたが、それでは本題に入っていきます。
まず、pythonというプログラムを書いて実行するためには、pythonをダウンロードしてきてインストールするという作業が必要になってくるわけですが、その辺りの事は、『python インストール』でgoogle先生に教えてもらってください。
pythonをインストールすると、晴れてpythonでプログラムを書いて実行することが可能になります。
プログラムは、普通にメモ帳に書いて『.py』で保存しても良いのですが、それよりも、エディターを使用したほうが良いと思います。何故なら、エディターで書いた場合は、書いたプログラムが間違っていたりした場合は、その時点で教えてくれたりするからです。

エディターは様々なものがありますが、使いやすくて親切設計になっているものは、お金を払わなければいけないものも有るので、私はマイクロソフトが出している『visual studio code』というフリーソフトを使っています。
プログラミングの先輩方で、『もっと良いのが有るよ!』って方は、教えてください。お願いします。

プログラミングを書ける環境が揃う事で、準備は万端となるわけですが、ここで、初心者である私達はつまづくことになります。
『何を書いて良いのかわからない…』『ってか、したいことって何? 何が出来るの?』
ここで、先程の私が理解した基本に立ち返ってください。 プログラミングを使うと、『計算』出来るんです!

visual studio codeを使っている人の場合は、ソフトを立ち上げると、画面が上下に二分割されていると思いますが、その下の部分に『ターミナル』というタブがありますが、それをクリックすると、コマンドプロンプトと同じ様な画面になります。
その部分に『python』と入力すると、pythonが実行されて使用可能になり、その合図として、『>>>』と表示されるようになります。

その状態で、1+3と入力してreturnを押すと、4と表示されます。
『+』の部分に『-』を入れると引き算になり、『*』を入れると掛け算になり、『/』を入れると割り算になります。
当然ですが、複数の数値を入れても計算は可能です例えば
1+3*8の様な感じも可能ということ。

計算方法は普通の算数と同じで、掛け算と足し算がある場合には掛け算が優先されますので、答えは25ということになります。
足し算を優先させたい場合は、これまた算数と同じで、足し算部分を()で囲ってしまえばよいというわけ。
(1+3)*8とすれば、答えは32になります。

その他にも、このpythonという超凄い計算機では、文字も計算式に組み込めます。例えば
"だぶる"+"ばいせっぷす"
と書いてreturnを押せば、『だぶるばいせっぷす』と返ってきますし、"だぶる"*2 と書くと、『だぶるだぶる』と返ってきます。

文字でも数値でも、なんでも計算に組み込めるのが、このスーパー計算機の凄いところなんですが、一つ気をつけなければならないのが、値の属性です。
ソシャゲでも、水属性のキャラに合成できるのは水属性だけ!みたいなルールがあるゲームもありますよね。それと同じで、pythonでも、計算する際には、式に含まれる値の属性に気をつけなければなりません。
属性は3つで、int(整数) float(不動小数点) str(文字列)で、扱う属性がどのようになっているのかに気を配っておく必要があります。

例えば、100+100という計算をした場合、普通なら200という答えが返ってこないといけませんが、この『100』という数字が、str(文字列)として認識されている場合は、答えとして『100100』という値が返ってきてしまいます。
プログラムでは、自分で数字を入力して計算させるという機会は少なく、何処かから値を取ってくるという方法で計算式に数値を組み込んでいきますが、取りに行く数値が文字列型となっている場合は、これを数字に変換して扱う必要が出てきます。
そういった場合は、int(整数に変換したい対象)と言いた感じで、intの後に()を付けて変換したい対象を書き込めばOKです。 小数点にしたい場合も同じで、float()とし、数値を文字列に変換したい場合はstr()で書くと、数字が文字として扱われます。

ただ、これだけでは、ただのちょっと凄い計算機に過ぎません。
プログラミングの凄いところは、変数というものを利用して数値を代入できるところにあります。

例えば
a=3
b=4
a+b
とした場合、答えが7になるという事。
ちなみに言っておきますと、『a=3』の『=』は、算数でいうところのイコール(同じ)という意味ではありません。 右辺を左辺に代入するという記号です。
pythonで同じという表現を行いたい場合は、『==』とイコールを2個続ける必要があります。ただややこしいのが、『<=』の場合は、普通に『小なりイコール』になり、『<==』と書かなくて良かったりしますが…この辺りは暗記でしょうね。

代入の話に戻ると『で?何が凄いの?』と思われる方も多いでしょう。私もそうでした。でも、この代入できる事が凄いことで、おそらくプログラミングで一番多く使用するのが、この代入だと思います。
一番良く使うし、代入が無いプログラムなんて考えられないって感じで、代入を制するものがプログラムを制するといっても良い程に代入は凄かったりするのですが、続きはまた、『奮闘記その3』で書いていこうと思います。
kimniy8.hatenablog.com