初めての本格的なプログラミング学習にはPythonがおススメです。
Pythonは、他のプログラミング言語に比べるとコードが読みやすく初心者向きと言われているからです。
私は、経済学部出身で、文系の道を進んできましたのでこれまでにプログラミングを学んだことがありませんでしたが
今回、初めて本格的にプログラミングに挑戦してみようと思い、Pythonをやってみました。
この記事の最後まで読んでもらえれば、
私のような初心者でもインストールから基礎的な学習が出来ると思います。
Pythonの勉強を始めていきましょう!
最終的にはPythonを使ってWebスクレイピングを行っていきますよ
プログラミング初心者の私が初めての言語にpythonを選んだ理由
本題に入る前に、なぜプログラミング初心者の私がPythonを選んだのかをお話しします。
プログラミングを学習する上では、「なぜどの言語を学ぶのか」「最終的に何が作りたいのか」
という目標を明確にしておくことがとても大切です。
目標もなく学習を始めてしまうと挫折してしまいます。
最も大切なのはプログラミングを学習した先に何がしたいのかということ
前置きが長くなりましたが、早速Pythonの学習を始めてみたいと思います。
Pythonをインストールする【Anacondaをインストールする】
Pythonをインストールする方法
基本のインストール方法は、Python公式サイトからダウンロードする方法です。
Python公式サイト(https://www.python.org/downloads/)にアクセスし、
ダウンロードから、Pythonをクリックすると自動でダウンロードが始まります。
python-3.8.5.exeというのがダウンロードされているので、ダブルクリックします。
インストール画面がでてくるので、「インストール」をクリックします。
この方法だと、Python本体のインストールだけになります。
それ以外にも便利な機能がパッケージ化されている
Anacondaをインストールするという方法もあります。
Anaconda のインストールをする
Anacondaの公式サイト(https://www.anaconda.com/)にアクセスし、
ProductsからindividualEditionを選択します。
そして、一番下までスクロールしていくと、
OS別のインストーラーがありますので、そこからダウンロードしていきます。
ダウンロードできたら
Anaconda3-2020.07-Windows-x86_64.exe
ダブルクリックすると、インストールが始まります。
この時、2か所だけ注意が必要です。
Anaconda のインストールを確認する
スタートメニュー⇒Anaconda3⇒Anaconda Promptを起動します。
黒い画面が表示され、「(base) C:¥Users¥AAA>」と出てくるので、
python と入力しエンターを押す。
(base) C:¥Users¥AAA>python
Python 3.8.3 (default, Jul 2 2020, 17:30:36) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
と表示されますので
>>>の後ろにprint(‘Hello Python!’)と入力しエンターを押してみます。
(base) C:¥Users¥AAA>python
Python 3.8.3 (default, Jul 2 2020, 17:30:36) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>print('Hello Python!')
Hello Python!
>>>
こんな感じでHello Python! と表示されれば、うまくインストールが完了しています。
Python本体のインストールだけでもいいのですが、
コードが保存できません。
コードの保存ができないとあとから修正をしたりすることが出来ないので不便です。
Anaconda3の中に入っているJupyter Notebookを使用していく方が
初心者にはお勧めですよ!
Jupyter Notebook(Anaconda3)の使い方
では、Jupyter Notebookの使い方について学んでいきます。
Jupyter Notebookの起動の仕方
スタートメニューの「Anaconda3」のフォルダから「Jupyter Notebook」を選択
黒い画面が自動で出てきて、しばらく待つとJupyter Notebookの画面が起動されます。
※htmlをエクスプローラーで開く設定にしておく必要があります。
Jupyter NotebookでPythonコードを入力する
Jupyter Notebookの画面の右側のNEW⇒Python3をクリックすると
Pythonコード入力画面が出ます。
「セル」と呼ばれる入力スペースに
Pythonコード「print(‘Hello Python!’)」を入力して
[Run]ボタンを(もしくは[Shift]+[Enter]キー)クリックして実行します。
Jupyter Notebookで入力したPythonコードを保存する
作成したPythonコードを保存するには
ファイルメニューの Download を選択して、拡張子をPython (py) を選択します。
Jupyter Notebookを終了する
Jupyter Notebook を終了するには、
まず、Jupyter Notebookのブラウザを閉じます。
次に黒い画面の状態で[Ctrl]+[c]キーを何度か押すとシャットダウンします。
これで、基本的な操作方法は完了です!
続いて、実際にPythonの言語について基礎を学んでいきましょう!
Pythonの基本関数と変数について
Pythonの基本関数とは(print 関数)
勉強1日目・2日目に、
print(‘Hello Python!’)というPythonコードを入力し
実行結果に「Hello Python! 」と表示させていますが
これが、「標準出力を行う」という「print 関数」と言われるものです。
>>>print(‘Hello Python!’)
Hello Python!
「print 関数」はPython が予め用意してくれている「組み込み関数」の一つです。
文字列は
「’(シングルクォーテーション)」もしくは、「”(ダブルクォーテーション)」
で括ります。
その他の基本関数には
abs 関数:絶対値を返す
int 関数:文字列を整数に変換する
len 関数:オブジェクトの長さ (要素の数) を返す
などがありますが、
ここれは、input 関数について少し詳しく学習します。
input() は要は入力ボックスです。
例えば、
x = input()
y = input()
と入力しRun(もしくはShift+エンター)を押すと
このような入力ボックスが出てきます。
ここに例えば、3⇒エンター⇒2エンター通すと
xには3が、yには2が入ります。
確認してみると確かに、このように返してくれます。
ここで、注意なのがこのテキストボックスから入力できるのは文字列なので
x+yをしても計算してくれません。(6にはなりません。)
文字をつなげるだけなので32になります。
その他の組み込み関数一覧はこちらにありますが、
現段階ではあまり深く理解できなくでもOKです。
https://docs.python.org/ja/3/library/functions.html
Pythonの変数について学ぶ
変数というのは、
値を一時的に保存するための箱と思ってもらえればOKです。
よく中学の数学などで、
x=1 y=2として、数式「x+2y」の値を求める。みたいな問題ありましたよね?
この場合は答えは5になります。
この、「x」や「y」にのように値を一時的に定義するものを変数と呼びます。
プログラミング言語によっては、
変数を利用する時は、型を指定して変数名を決める必要がありますが
Python ではその必要はありません。
その代わり、変数の命名規則があります。
大文字と小文字が区別される
文字目以降は、半角英「数」文字かアンダースコア
※変数名に Python の予め定義されているキーワード(False/None/if等)は使用できな
※値を変更されたくない変数を作りたいときは、「JUPYTER_NOTEBOOK」のように大文字で作る
例えば、
x = 1
x
と、入力して実行してみると
1と実行結果が表示されると思います。
Pythonで使う算術演算子
次に、Pythonで使う演算式です。
数学だと、「たす・ひく・かける・わる」しかないですが、
Pythonでは、以下のような演算式があります。
演算子 | 意味 | 演算子 | 意味 | 演算子 | 意味 |
+ | 加算 | / | 除算(小数点あり) | ** | べき乗 |
– | 減算 | // | 除算(切り捨て) | ||
* | 乗算 | % | 剰余(割った余りの値) |
例えば、
「2 / 5」とコードを打つと、0.4と実行結果が表示されますが
「2 // 5」とコードを打つと、切り捨てなので0と実行結果が表示されます。
Pythonの数値とリストついて
Pythonの数値!整数型(int)とは
整数は通常10進数で表記されます。
print(100)
と入力し、実行すると
100
という値が帰ります。
10進数表記以外に、16進数、8進数、2進数でも表記できます。
16進数は「0x」で始め、数値は 0 ~ 9、a ~ f(大文字も可)で表記します。
8進数は「0o」で始め、数値は 0 ~ 7 で表記します。
2進数は「0b」で始め、数値は 0 と 1 で表記します。
print(0x10)
print(0o20)
print(0b10000)
これらの実行結果は全て16になります。
16進数と8進数と2進数について
そもそも〇〇進数がよく分からない!と躓く人(私)はまず進数を勉強します。
私たちが普段使う数字は10進数です。
10進数は 0 から 9 までの 10種類の数字を使って数を表し、
数が 0 から 1、2、3… と順に増えていくとき、7、8、9 までは 1桁ですが、
次は桁上がりして 10 になります。
同じように2進数は
0 と 1 の 2種類の数字を使って数を表し、
数が 0 から 1… と順に増えていくとき、 1桁で表せるのはここまでで、
次はやはり桁上がりして 10 になります
同様に、 16進数には 16種類の数字がありますが、
文字としての数字は 0 から 9 までの 10種類しかないので、
アルファベットの A ~ F を 「数字」 として借用します。
16進数は 0 から F までの 16種類の数字を使って数を表し、
数が 0 から 1、2、3… と順に増えていくとき、
7、8、9 の次は A、B、C と続き、 D、E、F までは 1桁ですが、
次に桁上がりして 10 になります 。
ここで本題に戻ると
print(0x10)は、”0x” 16進数の “10” ということになり、16を表す
print(0o20)は、”0o”8進数の “20” ということになり、16を表す
print(0b10000)は、”0b”2進数の “10000” ということになり、16を表す
という事になります。
Pythonの数値!浮動浮動小数点数型(float)とは
浮動小数点数とは、小数点を持った数値のことです。
例えば、10.0 のというように小数点があれば、浮動小数点数型になります。
Pythonのリストとは「複数の変数」
リストは、複数の値をまとめたもので、
複数の変数をまとめて 1 つの変数名で利用できるようにしたデータです。
変数とは、値を入れておく箱のことです。
それぞれの変数を「要素」と呼び、要素には番号が振られています。
番号は通常0 から始まります。
例えば、上記のイラストのリストだと以下のようなコードを書きます。
train=['うざき','ねこ','くま','りす']
train
実行結果は
['うざき', 'ねこ', 'くま', 'りす']
となります。
Pythonでのリスト操作方法
リストには、指定の要素を切り出したり並べ変えたりする機能があります。
①要素を表示する
要素を表示するにはリスト名に角括弧を付けて番号を指定します。
train=[1]
を実行すると、リストの1の要素を取り出すので実行結果は
'ねこ'
となります。
②要素数を調べる
リストの要素数を調べるときは、 len 関数を使います。
len(train)
と実行すると4つの要素があるので
4
という実行結果が返ってきます。
③要素の変更
要素の値を変更するには、リスト名に変更する番号と、変更後の値を代入します。
train[2]='いぬ'
train
と実行すると、2番目の要素(現在はくま)を変更するので
['うざき', 'ねこ', 'いぬ', 'りす']
という結果になります。
④要素の追加・削除
リストの最後に、要素を追加するには、append
特定の位置に要素を挿入したい場合は、insert
要素を削除する場合は、remove
を使います。
それぞれの実行結果は以下のようになります。
train.append('いるか')
train
['うざき', 'ねこ', 'いぬ', 'りす', 'いるか']
train.insert(2,`'ぱんだ')
train
['うざき', 'ねこ', 'ぱんだ', 'いぬ', 'りす', 'いるか']
train.remove('ぱんだ')
train
['うざき', 'ねこ', 'いぬ', 'りす', 'いるか']
⑤要素を抜き出し
要素の抜き出しをするには、範囲を [ 開始位置 : 終了位置 ] のように指定します。
開始位置はインデックス番号を直接指定しますが、
終了位置は終了するインデックス番号に 1 を加えた値を指定します。
train[1:3]
この場合、抜き出した結果は
['ねこ', 'いぬ']
になります。
ここでのポイントは終了するインデックス番号に 1 を加えた値を指定することです。
リストとタプルとセットとの違いについて
リストに似た複数の値をまとめたもので、「タプル」というものがありますが
タプルの場合は、要素を変更することができません。
タプルのコードの書き方は以下のようになります。
train='うざき','ねこ','くま','りす'
train
('うざき', 'ねこ', 'くま', 'りす')
同じくリストに似た複数の値をまとめたものに「セット」がありますが
要素を重複させることができないのと、
セットには順序がないため、順番を指定して要素を取得するということはできません。
セットの書き方は以下のようになります。
train={'うざき', 'くま', 'ねこ', 'りす'}
train
{'うざき', 'くま', 'ねこ', 'りす'}
Pythonの制御文ついて【順次・条件分岐・繰り返し】
プログラミングには処理の流れがあり、大きく分けて
「順次」「条件分岐(選択、判断)」「繰り返し(ループ)」の 3 種類があります。
順次とは
プログラムは、上から下に向かって処理が実行されていきます。
単純に、処理を1つずつ順番に実行することを「順次」と呼びます。
例えば、
「野菜を切る⇒肉を切る⇒炒める⇒水を入れる⇒カレールーを入れる」
みたいな手順のことです。
条件分岐とは
条件を満たすかどうかにより、進む先が変わる構造を「条件分岐」と呼びます。
条件判断の結果が「yes」なら処理を実行し、「no」なら実行しません。
例えば、
「冷蔵庫に肉があるか確認する⇒肉がある(yes)ならカレーを作る
⇒肉がない(no)なら終了(何もしない)」
という感じで、条件を満たせば、そのあとの処理を実行し、
条件に合わなければ処理を実行しないという手順のことです。
繰り返し(ループ)とは
「繰り返し」とは、条件を満たすまでもしくは条件を満たしている間「処理を繰り返す」事です。
例えば、
「料理開始!⇒(条件判断)野菜が生の状態である⇒(処理)野菜を炒める(ループ)⇒終了」
※処理をしたらループして、条件判断に戻る。
つまり、野菜が生の状態であるという条件を満たす場合は
野菜を炒めるという処理を繰り返し行います。
そして、野菜が生の状態でなくなった(条件を満たさなくなった)場合に終了するという事です。
条件分岐の方法「if」文について
「if」文の基本的な書き方
Python で条件分岐を行うには、if 文を使用します。
if 文の書き方は、
「if」の後に「条件式」と「:(コロン)」を書き、
改行してから段落を下げて条件式がTureの場合に実行する処理内容を書きます。
再度改行して「else:」を書き、
改行してから段落を下げて条件式がfalseの場合に実行する処理内容を書きます。
if 条件式 :
条件式がTureの場合に実行する処理内容
else:
条件式がFalseの場合に実行する処理内容
例えば、input関数で文字を入力させて、その文字がかどうかで処理内容を分岐させてみます。
※input関数については、勉強3日目に学んだ入力ボックスのことです。
x = input('文字の入力1:')
y = input('文字の入力2:')
if x == y :
print('同じ文字です')
else:
print('違う文字です')
比較演算子と論理演算子
ここで、x==yというのが出てきましたが、これを比較演算子と言います。
比較演算子は、右辺と左辺の値が「同じか?」「違うか?」「大小は?」といった比較をします。
Python の比較演算子には、
== | a == b の場合、b と a が等しい |
!= | a != b の場合、b と a が等しくない |
> | a > b の場合、b より a が大きい |
< | a < b の場合、b より a が小さい |
>= | a >= b の場合、b と a が等しいか、b より a が大きい |
<= | a <= b の場合、b と a が等しいか、b より a が小さい |
もう一つ、True、Falseといった論理値を演算する論理演算子があります。
Python の論理演算子には、
and | 左から評価し False と同等であればその時点でその項の値となり、すべて True と同等であれば最後の項の値となる |
or | 左から評価し True と同等になった項があればその時点でその項の値となり、すべて False と同等なら最後の項の値となる |
not | not a の場合、a が True なら False、False なら True |
があります。
「elif」文について
複数の条件を順番にチェックしたいときは、if 文と elif 文を組み合わせます。
elif 文を使うと、上から順番に条件式が判断されていき、
もし True になる条件式があった時点でそのブロック内のコードが実行され
ブロック内コードの実行が完了すると、if 文全体が終了します。
例えば、以下のようなコードの場合、
if False :
print('犬の散歩')
elif True :
print('猫の昼寝')
elif True :
print('ハムスターのひまわり')
else :
print('else')
最初にTrueになる条件式の処理結果が表示されますので処理結果は、
猫の昼寝
となります。
Python基礎学習のまとめ
いかがでしたでしょうか?
今回は、Pythonで初めてプログラミングをやってた実際の記録を元に
インストールするところから、基礎的な考え方や構文をまとめてみました。
次の記事では、少し応用編としてより具体的なPython言語を学んでいきたいと思います。
ここまで読んでいただきありがとうございました。