Python初心者による実行・動作確認

Python初心者です。
実際にPythonを実行し、動作確認しながら基本事項を整理していきます。


# 対話モード
Pythonには対話モードというものがあります。
プログラムを入力するとその場で実行できます。

### 開始と終了

開始方法：コマンドプロンプトでpythonと入力する
終了方法：Ctrl+z

対話モードを開始していくつかプログラムを実行し、終了してみました。
```
PS C:\code> python
Python 3.11.1 (tags/v3.11.1:a7a450f, Dec  6 2022, 19:58:39) [MSC v.1934 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Hello")
Hello
>>> 2*3+4
10
>>> ^Z

PS C:\code>
```



### 画面のクリア

対話モード中に画面をクリアできます。

**入力（Windowsの場合）**
```Python
import os
ret = os.system('cls')
```
**実行後**
```
>>>


```


### メリットとデメリット

**メリット**
プログラムを1行づつ実行できるので、動作確認したいときに便利

**デメリット**
大きなプログラムだと実行に時間がかかる
対話モード中の実行結果は保存されない

# ファイルの実行
該当フォルダ上にあるhello.pyというファイルを実行してみました。
正しく結果が表示されています。
```
PS C:\code\python\practice> Python hello.py
Hello,Python
```


# 基本文法

### 区切り文字
1行で区切りたいときにセミコロン（;）を使用

**入力**
```Python
a=1;b=2;c=3;
print(a+b+c)
```

**出力**
```
6
```


### 改行
1行が長くなりそうなときにバックスラッシュ（\）を使用

**入力**
```Python
a=1+2+3+4+\
  5+6+7
print(a)
```

**出力**
```
28
```


### コメントアウト
行頭に「#」もしくは「""" """」


**入力**
```Python
# コメント
print("Hello, Python") 

"""
複数行コメント
複数行コメント
"""
```

**出力**
```
Hello, Python
```


### インデント
Pythonにおける「インデント」とは、行の最初に空白を入れて文字開始位置を下げること
「字下げ」ともいう
インデントは影響範囲を示す（if文やfor文）
同じ命令文の範囲内ではインデントの幅をそろえる

**入力1**
```Python
a = 1;　b = 1

if a == b:
    print('a')
    print('b')
else:
    print('aとbは異なる')
```

**出力1**
```
a
b
```


**入力2（インデントがずれている場合）**
```Python
a = 1; b = 1

if a == b:
    print('a')
print('b')
else:
    print('aとbは異なる')
```

**出力2（エラー発生）**
```
  File "C:\code\python\practice\sample_indent2.py", line 6
    else:
    ^^^^
SyntaxError: invalid syntax
```


### 文字コード
Pythonの標準文字コードはUTF-8
UTF-8以外を利用する場合はコードの先頭で宣言する
`# coding: shift_jis`または`# coding = shift_jis`で宣言

**入力1**
```Python
# coding: shift_jis
print("こんにちは")
```

**出力1**
```
こんにちは
```


**入力2（文字コードの宣言なし）**
```Python
print("こんにちは")
```

**出力2（エラー発生）**
```
SyntaxError: Non-UTF-8 code starting with '\x82' in file C:\code\python\practice\sample_shift_jis2.py on line 1, but no encoding declared; see https://peps.python.org/pep-0263/ for details
```



### 文字列
シングルクォーテーションまたはダブルクォーテーションで括る
文字列の連結も可能

**入力**
```Python
print("Hello")
print("Hello" + "World")
```
**出力**
```
HelloWorld
```


### 数値演算
足し算、引き算、掛け算、割り算、余り、べき乗
括弧で優先順位変更
数値はクォーテーションマーク不要

**入力**
```Python
print(2 + 3)  # 足し算
print(5 - 3)  # 引き算
print(2 * 3)  # 掛け算
print(8 / 4)  # 割り算
print(9 % 2)  # 割った余り
print(3 ** 4)  # べき乗

# 括弧で優先順位変更
print((20 - 8) / 2)  
```

**出力**
```
5
2
6
2.0
1
81
6.0
```


### 変数
Pythonでは変数宣言は不要
変数に任意の値を入れると自動で型を認識

**入力**
```
name = "Tarou"

print(name)    #「Tarou」を出力
print("name")  #「name」を出力
```

**出力**
```
Tarou
name
```


### 条件分岐文
if, elif, elseを使用
条件文の後はコロン（:）を付ける


**入力**
```Python
a = 10
b = 5

if a < b:
    print("aはbより小さい")
elif a > b:
    print("aはbより大きい")
else:
    print("aとbは同じ値")
```

**出力**
```
aはbより大きい
```



### 繰り返し文（for文）
range関数で開始数、終了数、ステップ数を指定
条件文の後はコロン（:）を付ける

**入力**
```Python
for num in range(3):
    print(num)
for num in range(0,2):
    print(num)
for num in range(0,8,2):
    print(num)
```

**出力**
```
0
1
2
0
1
0
2
4
6
```


### 繰り返し文（while文）
条件文の後はコロン（:）を付ける

**入力**
```Python
i = 2
while i < 5:
    print(i)
    i = i + 1
```

**出力**
```
2
3
4
```



### リスト
複数のデータ(変数)を管理
C言語でいう配列と似ている
異なる型の要素のリストも作成可能

**入力**
```Python
a = [1, 2, 3, 4]
b = ["red", "blue", "green"]
c = [5,"yellow"]

print(a[0])
print(b[2])
print(c)
```

**出力**
```
1
green
[5, 'yellow']
```


### タプル
要素を並べたもの
リストとほぼ同じように使用可能
要素の変更ができない


**入力**
```Python
kotoshi = ('令和', 5)
print(kotoshi)
```

**出力**
```
('令和', 5)
```

### 辞書
{}内にkeyとvalueの組み合わせが含まれるデータ
要素を直接{}内に書く

**入力**
```Python
dict = {"apple":1, "orange":2, "banana":3}
val = dict["apple"]
print(val)
```

**出力**
```
1
```



### 関数
def文を用いて関数を定義


**入力**
```Python
def sample():
      print("Hello")

sample()
```

**出力**
```
Hello
```



# Jupyter Notebook
Jupyter Notebookは、ブラウザ上で記述・実行できる統合開発環境です。
開発業務において、チームでのコード共有やデバッグ作業などを効率良く行うことができます。

### インストール

インストール方法は2つあります。
①Anaconda（Pythonの実行環境）からインストール
②Jupyter Notebookのみインストールする

今回、Anacondaからインストールしました。

### 起動方法
Anaconda Prompt上でJupyter Notebookと入力します。
すると、以下のようなページが開きます。
![Jupyter Notebook.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3110675/b1477655-c1fb-8cfa-5def-0566a6600adb.jpeg)

### 終了方法
Ctrl+c
```
[I 17:30:49.127 NotebookApp] Interrupted...
[I 17:30:49.129 NotebookApp] Shutting down 0 kernels
[I 17:30:49.130 NotebookApp] Shutting down 0 terminals
```

### ヘルプ
以下のコマンドでオプションのヘルプを表示することもできます。
`jupyter notebook --help`

### デフォルトの作業フォルダ変更
デフォルトの作業フォルダを変更する場合は、Anaconda Prompt (anaconda3)のプロパティを開き、作業フォルダを書き換えます。
![Jupyter Notebook_作業フォルダ変更.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3110675/49fcf2c4-0620-1590-3259-5e085a727628.jpeg)

書き換えてから再起動すると、変更されていることが確認できます。
```
(base) C:\code\python\jupyter>
```


### ノートブックの作成
new → Python 3 (ipykernel) 
![Jupyter Notebook_ノートブックの作成.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3110675/d660845a-dffe-f851-dc91-c110decd0391.jpeg)

### プログラムの実行
Shift ＋ Enter
![Jupyter Notebook_プログラムの実行.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3110675/f5299b49-e68f-51ea-79da-526a5888d1d9.jpeg)


### プログラムの保存
File → Save as...
※htmlやPDFでの保存も可
![Jupyter Notebook_プログラムの保存.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3110675/fe6b1cf5-2dd0-9043-5ef3-54c60a58f685.jpeg)


### プログラムの終了
File → Close and Halt
![Jupyter Notebook_プログラムの終了.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3110675/827674ce-49c2-3c9d-afbe-dbbd60366d8c.jpeg)

# 終わりに

対話モード及びファイル実行、基本文法、Jupyter Notebookについて、動作確認しながら基本事項を簡単に整理してみました。

もっと深い内容についてはまだまだこれからですが、引き続き学んでいきます。


エンジニアファーストの会社　[株式会社CRE-COエンジニアリングサービス](https://www.cre-co.jp/)