エンジニアの備忘録

エンジニアの備忘録

元文系出身のエンジニアが、趣味から現場レベルまで様々なIT技術を紹介します。

PythonでAIをつくろう!~基本の型を学ぼう~

前回までの記事でPC上でpythonの実行や、開発環境の構築が完了しました。

network-engineer.hatenablog.jp

 

今回から実際にpythonでコードの作成を始めたいと思います。

まず最初は基本の型を学び、いくつかの簡単なプログラムを作成したのちにAIの作成に取り組みたいと思います。

pythonのコードにはたくさんの基本形がありますが、ここではよく使うものだけを抑えたいと思います。

実際に使うコードはたくさんありますが、その都度調べて覚えていけば問題ないです。

最初は最低限覚えるものだけを覚えていきましょう。

 

 

 

1.  データ型

 

プログラミングの目的は「値」を操作することです。

値のあるデータを目的のために捜査していくのがプログラミングです。

 

データ型のポイント

Pythonのコードは要素(リテラル予約語、識別子、記号)によって構成される

☆プログラムで扱う数値や文字列のことを「リテラル」と呼ぶ

Pythonではすべてのデータを「データ型」によって区別する

 

リテラル

コードに直接書き込んだ、もしくは別ファイルから読み込んだ値のこと。

予約語 :

特別な意味が割り当てられた単語のこと。あらかじめ決められた処理を行う。

識別子 :

ある処理を行うためのソースコードのまとまりに付ける名前(変数に付ける名前)

記号  :

[]や()など、特別な意味を持つ文字列。

 

次に、データ型でよく使う型について説明します。

 

①数値型

数値型には、整数型「int型」浮動小数点数「float型」があります。

これら2つはよく利用します。

特に、int(整数型)は個数の入力などで頻繁に利用します。

コードの入力はシンプルで、数値の入力を行うだけです。

例:10

数値はそのまま入力するとint型ですが、str(数値)として入力すると文字列型になります。

例:str(10) = '10'

 

例えば、inputという予約語があります。

これは指定した文字列を表示したのちに入力した処理を行うものなのですが、ここで入力した数字(リテラルを直接入れた状態)は文字列型として扱います。

 

②文字列型

文字列型(str型)は文字を扱うデータ型です。

 文字列リテラルは、「'(シングルクォート)」か「"(ダブルクォート)」で囲んで記述します。

例:'Hello'、"こんにちは"

どちらを利用しても大丈夫ですが、統一する必要があります。

ちなみに、どちらを利用することは完全に好みですのでどちらでも大丈夫です。

 

③コメント

先頭に「#」をつけるとデータではなくメモとして利用することができます。

自分が書いたコードについて、どういう処理をさせたくて書いたコードなのかをメモで残しておくと次の人がメンテナンスをする際に非常にスムーズになります。

 

データ型のまとめ

☆数値型は数字をそのまま入力

☆文字列型はクォーツ(''か"")で囲む

#を先頭に付けるとメモとして利用可能

 

f:id:Network_engineer:20210204002024p:plain

 

2. if構文

 if構文は条件分岐処理を行うために利用します。

条件ごとに異なった処理を行うことが可能です。

 

if構文のポイント

☆条件式に一致するかで処理の判断をする

☆上から順に条件に一致するか処理が行われる

☆2つの条件で1つの条件式を作ることも可能

 

if     :

条件式1が一致するときに、処理を実行する。

elif  :

条件式2が一致するときに、処理を実行する。

else :

条件式がすべて一致しないときに処理を実行する。

 

and :

2つの条件が一致するときに処理を実行する。

or   :

2つの条件のうち、どちらかが一致する場合に処理を実行する。

 

①構文

if    条件式1:

   条件式1が一致するときに実行される処理

 

elif 条件式2:

   条件式2が一致するときに事項される処理

 

else  :

   条件式がすべて一致しないときに実行される処理

 

andやorを利用する場合は、条件式同士をつなげます。

 

条件式1 and 条件式2

 

条件式1 or   条件式2

 

②利用例

 例えば、3の倍数を判断するプログラムを作成したいとします。

まずは設計をするのですが、こんな感じになります。

・3で割り切れるかどうかを判断する

・3で割り切れるものである旨を表示する

・3で割り切れないものを判断する

・それ以外は3の倍数じゃないと表示する

これをプログラムするときに、条件分岐を使います。

では、実際にコードを書いてみましょう。

 

if x%3 == 0:

#3で割り切れるかどうかを判断する

 print('3の倍数です!')

 #3で割り切れるものである旨を表示する

else:

#3で割り切れないものを判断する

 print('これは3の倍数ではありません')

 #それ以外は3の倍数じゃないと表示する

 

・3で割り切れるものである旨を表示する

・それ以外は3の倍数じゃないと表示する

 

if構文のまとめ

☆条件分岐のために利用する

☆if,elif,elseの3段階で条件を判断する

 

f:id:Network_engineer:20210208002339p:plain

 

3. for構文

 if構文は条件分岐処理を行うために利用します。

条件ごとに異なった処理を行うことが可能です。

 

for構文のポイント

☆範囲を指定して繰り返し同じ処理を行うことができる

☆範囲指定は主に配列をを利用する

 

for   :

繰り返しの処理を行う

while  :   

特定の条件が一致しなくなるまで繰り返しを継続する

continue  :

特定の処理をスキップして、他の処理を継続する

break  

特定の条件を満たすことで処理を中断させる

 

 

繰り返し処理を行う理由は、元データの修正がしやすくなるからです。

例えば、AAABBBCCCというデータがあったとします。

これをコピーして利用するのは簡単です。

しかし、元データがABCABCABCに変わった場合にすべてのデータを修正しなければいけません。

そこで、繰り返しで同じデータを読み取って処理を行うことで、元データの修正だけで済むようになるのです。

 

※[1,2,3]のようにすると配列と言って複数データをひとまとまりにすることが可能です。

 

①構文

array = [1,2,3]

#arrayは好きな単語で大丈夫です

for v in array:

#vは好きな単語で大丈夫です

  print(v)  

>>1

>>2

>>3 

 

array = [1,2,3,4,5]

for v in array:

  if v == 3:

    break

  print(v)

>>1

>>2

 

array = [1,2,3,4,5]

for v in array:

  if v == 3:

    continue

  print(v)

>>1

>>2

>>4

>>5

 

②利用例

例えば、簡単な授業のカリキュラム票を作成してみましょう。

こちらも設計を行います。

・「〇限目は〇〇です」と表示させる

・1~6までの順に表示させる

・国語・数学・社会・理科・英語・体育の順に表示させる

 

これをプログラムするときに、繰り返し処理を使います。

では、実際にコードを書いてみましょう。

 

 

curriculum = ['国語','数学','社会','理科','英語','体育']
#授業カリキュラムの入れ物

number = 1

#〇限目の表示に利用する
for curriculums in curriculum:

#繰り返し処理
print(str(number) + '限目は' + curriculums + 'です')

#表示させる
number += 1

#数を1つ足すことで〇+1限目にする

 

for構文型のまとめ

☆繰り返し処理のために利用する

☆break,continue,whileを利用することで条件付きで繰り返し処理が可能

 

f:id:Network_engineer:20210208230757p:plain

 

4. def構文

 

一定の処理をまとめてオリジナルの関数として利用することができます。

毎回コードを書くのではなく使いまわしができる非常に便利な構文です。

 

def構文のポイント

☆オリジナルの関数を作成可能

☆複数の処理をまとめて処理することが可能

 

①構文

def 関数名():

    return 処理プログラム

()の中に要素を入れることで、記入する要素数を指定することもできます。

例えば、2つの数を書けるオリジナルプログラムを作成するとします。

def 関数名(a,b):

    return a*b

 

 

②利用例

 

例えば、文字を入力したら擬音をつける関数を作成します。

・語尾に擬音をつけて表示する

これをプログラムするときに、def構文を使います。

では、実際にコードを書いてみましょう。

 

def add_sound(letter):

   print(letter,'"ドンッッ!!"')

#()内の文字に擬音を付け足す処理

result = add_sound('俺はプログラム王になる!!')

 

def構文のまとめ

☆オリジナルの処理を作成できる

☆処理をまとめて使いまわすことができる

 

f:id:Network_engineer:20210208234257p:plain 

5. 基本の型を覚えたら

 

ここまででpythonの構文の基本形を学んでいきました。

これらは基礎中の基礎なので必須の知識になります。

もちろん、これらを覚えただけではプログラムを作るのは難しいです。

ここからは実践経験を積むことが必要になります。

 

次回から簡単なプログラムの作成を行い、実際のプログラム作成の流れを学んでいきたいと思います。

それが終わったらいよいよAIの作成に取り掛かりましょう。 

 

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