100日後にエンジニアになるキミ - 24日目 - Python - Python言語の基礎1

本日はPython言語についてのお話です。

本格的にプログラム言語をやっていきましょう。
(とはいえ昨日までのJavaScriptもプログラム言語ではありますが)

プログラミングのツール類のインストールについては
こちらを参照ください。

[100日後にエンジニアになるキミ - 5日目 - 環境構築 - プログラム言語やツール類のインストール](https://qiita.com/otupy/items/95db32eebe22a9a78988)

## Python言語について

この言語は教育現場だけではなく
数多くの現場で用いられていますので
単なる学習や研究だけでなく
実務をこなすのにも大いに役立つため
初めて学ぶ言語には最適です。

プログラム言語の特性としては
・非常に簡単で分かりやすい文法であること
・ライブラリという、再利用可能なプログラムが豊富
・プログラム実装の事例が豊富
ということです。

プログラム言語の人気度では上位3位以内に入り
今最も注目を集めている言語になります。

特に統計解析や機械学習、AI関連の研究者は必ずと言って良いほど
Pythonを習得していますし国内でもその需要が増えてきています。

また一度Pythonを学習し終えたら
他の言語もすぐに覚えることができるようになります。

それくらいに初めて学ぶ言語には適していると思います。
おそらくこの講座を終える頃には、他の言語へも興味が湧き、
もっともっと学んでみたいという意欲が
高まってくるんではないかと、期待しています。

ぜひPythonを主軸にプログラミングを習得していきましょう。


## JupyterNotebookの使い方

解説動画はこちら

[![表示されなかったらすみません](https://img.youtube.com/vi/xSh2jIA3PFA/0.jpg)](https://youtu.be/xSh2jIA3PFA)

Anacondaをインストールしていただいたら
JupyterNotebookが使えるようになっているはずです。

**JupyterNotebookの起動の仕方**


windows:
プログラムの中からAnaconda Promptを探して起動する。

macos:
アプリケーションの中からターミナルを探して起動する
以下のコマンドを打ち込んでエンターキーを押す

`jupyter notebook`

以下のような画面がブラウザーで立ち上がればOK
![alt](https://d2l930y2yx77uc.cloudfront.net/production/uploads/images/10960515/picture_pc_490cb93c4ca473de7f92e9e3152e6779.png)

※　表示されるフォルダなどは各自の構成により異なります。

jupyter notebook　を起動した後は

`http://localhost:8888/tree`

でjupyter notebookの基本画面にアクセスできる。




























**基本画面での操作の仕方**

基本画面での操作は以下のようになっています。

画面右上：
New　をクリックして新規作成
・Text File (テキストファイル)
・Folder (フォルダ)
・Python(Python実行用のノートブック)
Upload　をクリックして他ファイルの追加(読み込み)
![alt](
https://d2l930y2yx77uc.cloudfront.net/production/uploads/images/10960524/picture_pc_1be899ad58f3032921a4f5fd61c3d82e.png)

画面左上：
フォルダやファイルの左側に表示される四角ボタンをクリックして選択
選択後、リネームや削除が実行できるようになる。
![alt]
(https://d2l930y2yx77uc.cloudfront.net/production/uploads/images/10960529/picture_pc_906ed7a141c9108954c162e8c86f4be7.png)





**新規ノートブックの作成**

画面右上：
New　をクリックして
・Python
を選択してクリックすると新規のノートブックが作成できる。
※インストールしたバージョンによってはPython3 などの表記になることも有り。

ノートブックでの操作
画面左上：
新規作成後は以下のような画面が表示される。
画面上部のメニューからノートブックの操作が行える。
以下はよく使う操作。

![alt](https://d2l930y2yx77uc.cloudfront.net/production/uploads/images/10960545/picture_pc_d004f6a29a9771b744ad76aad5f5310f.png)

プログラムの入力、実行方法
プログラムは「セル」と呼ばれる入力欄にコードを入力して実行する。
プログラムの実行は入力後に　　Shiftキー　+ エンターキー
もしくは画面上部の「Cell」　から「Run Cells」を選択で実行できる。
(Shiftキー　+ エンターキー が一番楽)
最下段の場合、実行後にセルが下に追加される。
それ以外の場合はセルの選択が下に移動する。

![alt](https://d2l930y2yx77uc.cloudfront.net/production/uploads/images/10960553/picture_pc_0d8536f2b1062e207cbf346466c29dc2.png)

上からまとめて実行したい場合は
画面上部の「Cell」から「Run All」で全て実行できる。

セルの追加、移動、削除
画面上部の「プラスボタン」　もしくは
「Insert」から「Insert Cell」　などでセルを追加できる。
セルの移動は、まずはセルをクリックして選択し、
画面上部の上下矢印をクリックすることで移動できる。
セルを選択した状態で
画面上部の「ハサミ」マーク　もしくは
「Edit」から「Cut Cells」　などでセルを削除できる。

ノートブックの保存、変換、リネーム
ノートブックを保存するには
画面左上の「フロッピーマーク」をクリックするか
「File」メニューから「Save and Checkpoint」をクリックする。
ノートブックを他の形式に変換する場合は
「File」メニューから「Download as」を選択して様々な形式に変換できる。
ノートブックの名称を変更するには
ノートブックのタイトルをクリックするか
「File」メニューから「Rename」をクリックして変更する。

![alt](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/379626/e5173eaf-69c2-6ff5-754b-2cadde330b69.png)


ノートブックのリスタート(再起動)
プログラムを実行していて、おかしくなったりしたら
ノートブックを再起動する事で直す事ができる。
画面上部のメニュー「Kernel」から「Restart」
もしくは「リスタートマーク」を選択する事で再起動画面が表示され
「Restart」をクリックすると再起動する。

![alt](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/379626/93998c52-13fe-1a5d-a06c-7b8d4e9adbc2.png)
)

## 演算

[![表示されなかったらすみません](https://img.youtube.com/vi/oLDGFXgy2zQ/0.jpg)](https://youtu.be/oLDGFXgy2zQ)

プログラミングの基本は「演算」です。
演算とは様々な計算を行うことです。

プログラムの基本は
1.入力
2.演算
3.出力
この3つ

プログラムというのは基本的には文字と数値を組み合わせて入力し
何かしらの計算を行い、その結果を出す、という仕組みになっています。
演算は大きく分けると「文字」と「数値」の計算を取り扱います。

四則計算

```
加算(足し算)) +
減算(引き算) -
乗算(掛け算) *
除算(割り算) /
剰余(余り) %
べき乗 **
```

計算する際に使う数値や文字のことを「リテラル」
プラスなどの記号( + - など)は「演算子」と呼んでいます。

そのなかでも四則計算に使われるのは
「算術演算子」（または代数演算子）と読んでいます。

セルに以下を入力して結果をみてみましょう。
実行の仕方はShift + Enterキーです。

```
# 足し算(加算)
1+2

# 引き算(減算)
1-3

# かけ算(乗算)
2*3

# x は使えないのでエラーになる
2 x 3

# 割り算(除算)
10/3

# 割り算(余りなし、切り捨て除算)
10//3

# べき乗
2**3

# ルート
2**0.5

# 剰余(割った際の余り)
5%3

# 掛け算や引き算の優先順位は算数と一緒
2 * 3 + 4
```

計算する際に使う数値や文字のことを「リテラル」
プラスなどの記号( + - など)は「演算子」と呼んでいます。

そのなかでも四則計算に使われるのは
「算術演算子」（または代数演算子）と読んでいます。

そのほか
・ビット演算子
・代入演算子
・比較演算子
・ブール演算子
・条件演算子
など、演算子にはたくさん種類があります。



## 文字

[![表示されなかったらすみません](https://img.youtube.com/vi/DeVDT6Ry280/0.jpg)](https://youtu.be/DeVDT6Ry280)

文字列の取り扱いも演算になります。

プログラミングを簡単に表現すると
壮大な文字列操作を行うもの　
と表現することができると思います。



























































































































































































**Pythonで文字の取り扱い方**

文字列として扱うには
`'`シングルクォートか`"`ダブルクォートで囲む

```
'最初の一歩'

"二歩目"
```

プログラムでは文字と数値は別もの
囲まないとエラーになる

```
三歩目
```

NameError Traceback (most recent call last)
<ipython-input-3-c86df676a821> in <module>()
----> 1 三歩目
NameError: name '三歩目' is not defined







**画面への表示方法**

プログラム上で文字を表示させたい場合は
`print関数`を使う。

関数では()　カッコの中に入れるものを　「引数」と呼ぶ

```
print('あの')
print('バランスの良い')
print('山本選手が！！')
```
あの
バランスの良い
山本選手が！！




**シングルクォートとダブルクォートの使い分け**

文字にシングルクォートを用いたい場合はダブルクォートで囲みます
文字にダブルクォートを用いたい場合はシングルクォートで囲みます

```
print("moco’s kitchen")
print('この " とはなんて読むんですか？')
```
moco’s kitchen
この " とはなんて読むんですか？

文字は　`+`(足す)　と　`*`(かける)　の演算子を用いることができます。

足した場合は　文字列の連結
かけた場合は　文字列の繰り返し

```
print('ダチョウ' + '倶楽部')
print('聞いてないよ' * 10)
```
ダチョウ倶楽部
聞いてないよ聞いてないよ聞いてないよ聞いてないよ聞いてないよ聞いてないよ聞いてないよ聞いてないよ聞いてないよ聞いてないよ


文字と数値をひとまとめに取り扱うことができません。
文法上間違いのためエラーが発生します。

```
print('M' + 1 + '知らんぷり')
```
TypeError Traceback (most recent call last)
<ipython-input-7-a36c92488eb2> in <module>()
----> 1 print('M' + 1 + '知らんぷり')
TypeError: Can't convert 'int' object to str implicitly

シングルウォートなどで囲み、数字として扱えば
文法のエラーを回避することができます。

```
print('M' + '1' + '知らんぷり')
```
M1知らんぷり

**print関数の仕組み**

print関数は最後に改行コードが含まれる形になるので
改行コードを出したくなければ
`end=` を付け足して改行コードの代わりになるものを入力する。
`end=''`　とした場合は空白が出力される

```
print("無駄", end="")
print("無駄")
print("無駄", end="")
```
無駄無駄
無駄


**コメント**

Pythonでは `#` (シャープ記号)　はコメントの機能を表す文字で
これを入力した以降のコードは無視される

これを利用してプログラム内にコメントを残すことができる。
コメントは英語で入力すると　多分カッコイイ www

```
### ここがコメント
print('上記のコメント行は実行時に影響しない') #こんな所にコメントしてもなにも起きない
# ここもコメント
```

上記のコメント行は実行時に影響しない

まとめてコメントしたいときは

macなら`コマンドキー`を押しながら`スラッシュキー`
windowsは`コントロールキー`を押しながら`スラッシュキー`


## まとめ

Python言語を使うためのツールの簡単な説明と
簡単な文法だけやりました。

すぐに実行できるようにしておきましょう。

君がエンジニアになるまであと76日

## 作者の情報

乙pyのHP：
http://www.otupy.net/

Youtube：
https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw

Twitter：
https://twitter.com/otupython