見出し画像

Pythonの基礎の基礎の基礎 パート1

Pythonはプログラミング初心者に学びやすい言語でありながら、人工知能や機械学習など最先端の分野でも使われている汎用性が高い言語です。
Pythonで出来ることを簡単に纏めると以下の6つがあります。

1. Webサービス、Webアプリケーション制作
2. Web上の画層データ・テキストデータの自動収集
3. 自動データ処理や分析
4. アプリ制作
5. フィンテック・ブロックチェーン技術の開発
6. 機械学習を使った人工知能の開発

これからプログラミングを始めるのにどの言語から手を付ければよいか解らないと言った方々にはお勧めです。

ここからはPythonを学ぶ上での基礎中の基礎を説明していきます。

1. 文字を表示させる

文字を出力(表示)するには以下のように記載します。
print('〇〇○')

2. コメント

プログラミングを進めていくと、書いたコードを一目みただけではその役割が把握出来ないことがあります。その不便さを解消するために説明文を書き込む事ができます。これがコメントと呼ばれるものです。行頭に「#」を書くことで、行末までコメントとみなされます。

3. 数値

数値とは、言い換えると数字です。コード内では数値を記載することができます。
数値と相対するものが文字列です。文字列は、文字が羅列されたものです。この2つの違いを理解する理由は、コード内に混在させれないからです。
2つを区別してPC側につたえなくては混乱してコードを読み込めなくなります。区別する方法は、文字列は「’(クオテーション)」で囲います。一方で数値は、クオテーションで囲わなくてよい。
詳しくは「5. データ型」で説明します。

4. 変数


変数とは、データ(値)を入れておく箱のようなもの。この箱(変数)に名前(変数名)をつけることで、変数に値を入れることや、変数から値を取り出すことができる。


変数の定義
「変数=値」と定義します。プログラミングでの「=」は「右辺を左辺に代入する」という意味になります。


変数名のルール
変数を命名するときにはルールがあります。例えば、頭文字を数字にすることはできません。「user_name」のように2語以上の変数名を使う時は単語と単語を「_」(アンダーバー)で区切ります。


変数を使う意義
1.データに名前がつくので、扱っているデータの中身が何を表しているか明確になる。
2.同じデータを繰り返し利用することができる
3.数値の値に変更が必要になった場合、変更する箇所が一箇所で済む。


変数の更新
一度定義した変数の値も「変数=新しい値」とすることで値を上書きすることができる。
すでに定義された変数に数値を足す場合は、変数自身に数値を足したものを再び同じ変数に代入する。「x=x+5」
文字列の連結
「+」は、数値の和だけでなく、文字列の連結を行うことができる。


5. データ型


文字列型や数値型の総称。

型変換
データ型の異なる文字列型と数値型を連結すると、エラーが発生する。数値型を文字列に変換する必要があり「str」を用いる。strはstring(文字列型)を短縮したものです。price = 200print(‘ レモンの価格は’ + str(price) + ‘円です。’)
先とは反対に、文字列を数値型に変換したい場合は「int」を用いる。


6. 条件分岐


If文を用いる。
「もし〇〇ならば✗✗を行う」という条件の分岐が可能。


条件の作り方
「比較演算子」がよく使われる。
「x == y」 左右の値が等しい
「x != y」左右の値が等しくない


インデント
If文の条件式が成立したときの処理を書くときには、インデント(字下げ)をします。逆に、条件式が成立しないときはインデントをとらないようにする。
Pythonではインデントがそのままプログラムの動作に影響するため注意が必要です。


真偽値
真偽値を扱うデータ型には「True」と「False」の2種類がある。
If文では条件式がTrueのときには処理が実行され、Falseのときは実行されない。


Else
「もし〇〇ならば✗✗を行う、そうでなければ△△を行う」の「そうでなければ△△を行う」を実行。
If文の条件がFalseのとき、elseの処理が実行される。


Elif
「もし〇〇ならば✗✗を行う、△△ならば▲▲を行う、そうでなければ□□を行う」の「△△ならば▲▲を行う」を実行。
If文の中にいくつでも書くことができる。


And
「条件1も条件2も成り立つ」というような場合に「条件1 and 条件2」のように書く。


Or
「条件1か条件2が成り立つ」というような場合に「条件1 or 条件2」のように書く。


Not
条件の否定をすることが出来る。「not 条件式」と記載すると条件式が「true」であれば全体が「false」に、「false」であれば「true」になる。


7. Input


コードを実行した際にコンソールに文字を入力できるようになり、その入力された値を受け取ることができます。「変数=input(‘コンソールに表示したい文字列’)のように使うとコンソールに入力された値が変数に代入されます。

8. 辞書


リストと同じように複数のデータをまとめて管理するのに用いられる。リストとの違いは、個々の要素をインデックス番号ではなくキーとされる名前をつけて管理する点。
{キー1:値1,キー2:値2, …} のように作る。リストは[]で囲み、辞書は{}で囲む。
取り出したい場合は「辞書名[キー]」と記載する。
要素を更新する場合は「辞書名[キー]=値」と書く。
要素を追加する場合は「辞書名[新しいキー]=値」と書く。
要素を全て取得する場合は「for 変数名 in 辞書:」と記載する。


9. while文


繰り返し処理には、for文以外にも、while文がある。
While文では「ある条件に当てはまる間、処理を繰り返す」ことが可能。
「while 条件文: 」と記載する。


処理の流れ
While文の前で変数を定義する。
この変数をWhile文の条件式で用い、処理を繰り返すか判断する。
While文内の処理が一周終わると、その度に変更は更新され、再び条件式がチェックされる。
Trueであればもう一周処理を行い、Falseであれば繰り返しを終了する。


無限ループ
処理の最後に変数の値を更新し扠すれると、条件が常にTrueになって、繰り返し処理が無限に行われてしまう。必ずどこかで条件がFalseになるように実装しましょう。

Breakを用いると繰り返し処理を終了することができる。
if 値 == 値:
 break

Continueはその周の処理だけをスキップすることが出来る。

10. 関数


「Def 関数名():」と定義する。
関数は定義しただけでは実行されない。呼び出して実行する。
「関数名()」


引数
関数に値を渡すものを引数と呼びます。
複数の引数を受け取るためには、仮引数を「,」(コンマ)で区切って定義する。
引数は初期値を設定することができる。


仮引数
関数に引数をわたすためには、まず引数を受け取れる関数を定義しなければなりません。そのためには、関数の定義部分で、引数を受け取るための箱となる変数(仮引数)を指定します。
def 関数名(仮引数):
 実行する処理


スコープ
仮引数や関数の中で定義した変数の数値は関数の中だけ使える。


戻り値
戻り値を呼び出し元に戻すには、関数の中でreturnを使う。
Returnは戻り値を呼び出し元に戻すだけではく、関数内の処理を終了させる性質を持っている。

11. モジュール


長くなったコードは分ける。
「Import モジュール名」を使うことでモジュールを読み込むことが出来る。


ライブラリ
あらかじめ準備されているモジュールを標準ライブラリと呼ぶ。

12. クラス


プログラミングで「もの」を生成するには、まずその設計図を用意する必要がある。設計図のことを「クラス」、もののことを「インスタンス」と呼ぶ。

クラスの定義
class MenuItem(クラス名): ⇒ ※クラス名は大文字で始めること。
クラスの中身は、クラスの定義の下の次号で「インデント」をして書いていく。処理を追加する必要がないのであれが「pass」と書く。

インスタンスの生成
「クラス名()」とそのクラスを呼び出すことで、クラスを用いて新しいインスタンスを生成することが出来る。
「変数名=クラス名()」とすることで、生成したインスタンスを変数に代入することが出来る。menu_item1 = MenuItem() ⇒ MenuItemクラスからインスタンスを生成

インスタンス変数
「menu_item1.name =‘サンドイッチ’」 とすることで、menu_item1にnameがサンドイッチであるという情報を追加出来る。
このときのnameのことを「インスタンス変数」と呼ぶ。
「print(menu_item1.name)」することでインスタンス変数の値を用いることが出来る。

メソッド
クラスの中で定義した関数のこと。
メソットの定義の方法(def 関数名:)は通常の関数と同じですが、第一引数に「self」を追加する必要がある。


インスタンスメソッド
クラスの中で定義し、インスタンスに対して呼び出すメソッドのことを「インスタンスメソッド」と呼ぶ。
インスタンスメソッドでは、呼び出したインスタンス自身が「self」に代入されている。


「__init__」メソッド
「クラス名」でインスタンスを生成した直後に自動で呼び出される。

インスタンスを生成すると同時にインスタンス変数に値を代入することが出来る。


通常のインスタンスメソッドと同じように、引数を受け取ることも出来る。インスタンスを生成している「クラス名()」に対して引数を渡すことで、__init___メソッドにその値を渡すことができる。


13. クラスの継承


あるクラスを元にして新たなクラスをつくることを「継承」と呼びます。「class 新しいクラス名(元となるクラス名:」とすることで他のクラスを継承して、新しいクラスを定義することができる。このとき、新しいクラスは「子クラス」、元となるクラスは「親クラス」と呼ばれる。
子クラスは、親クラス内に定義されているメソッドの他に「独自に定義したメソッド」を追加することができる。



この記事が気に入ったらサポートをしてみませんか?