この単位では、Pythonのコードを読み始めるための最小限の基礎を扱う。
- 変数
- 数値型
- 文字列
- 真偽値
None- 基本演算
- 型変換
- f文字列
- コメント
- 標準出力の基本
- スクリプト実行の基本
この単位の主な論点は次の通り。
- Pythonでは変数宣言に型名を書かない
- 値には型があり、
type()で確認できる - 同じ変数名に別の型の値を再代入できる
- 数値型には主に
intとfloatがある /と//は意味が異なる- 文字列は
str型の値として扱う - f文字列を使うと、値を文字列に埋め込める
True/Falseはbool型の値となるNoneは「値がない」ことを表す特別な値となるprint()は標準出力に値を表示する基本的な関数となる- コメントと docstring はコードを読む補助として使う
- Pythonファイルはスクリプトとして実行できる
この単位のファイル構成は次の通り。
src/01_basic_syntax_values_and_strings/
main.py
values_and_variables.py
numbers_and_operations.py
strings_and_output.py
booleans_none_and_conversion.py
comments_and_execution.py
各ファイルの役割は次の通り。
main.py- Unit 01 の実行入口
- 各テーマ別ファイルの関数を順番に呼び出す
values_and_variables.py- 値、変数、動的型付けの基本を扱う
numbers_and_operations.py- 数値型、算術演算、数値変換を扱う
strings_and_output.py- 文字列、f文字列、標準出力を扱う
booleans_none_and_conversion.py- 真偽値、
None、基本的な型変換を扱う
- 真偽値、
comments_and_execution.py- コメント、docstring、スクリプト実行の入口を扱う
リポジトリ直下で仮想環境を有効化してから実行する。
PowerShell の場合:
.venv\Scripts\Activate.ps1
python src/01_basic_syntax_values_and_strings/main.pyGit Bash の場合:
source .venv/Scripts/activate
python src/01_basic_syntax_values_and_strings/main.pyRuff の確認は次のコマンドで行う。
python -m ruff check .
python -m ruff format --check .必要に応じてフォーマットを実行する。
python -m ruff format .次の順番で読むと、内容を追いやすい。
main.pyvalues_and_variables.pynumbers_and_operations.pystrings_and_output.pybooleans_none_and_conversion.pycomments_and_execution.py
最初に main.py を読むことで、この単位全体の実行順序を把握できる。
その後、各テーマ別ファイルを読んで、個別の文法や値の扱いを確認する。
Unit 01 全体の処理の流れは次の通り。
main.pyが実行されるmain()が呼び出される- 表示用の見出しを出す
- 値と変数のサンプルを実行する
- 数値型と演算のサンプルを実行する
- 文字列と標準出力のサンプルを実行する
- 真偽値、
None、型変換のサンプルを実行する - コメントとスクリプト実行のサンプルを実行する
- 各ファイル内の
assertにより、軽い期待値確認を行う
Javaでは変数宣言時に型名を書くが、Pythonでは次のように値を代入する。
user_name = "Matsuoka"
years_of_experience = 2ただし、型が存在しないわけではない。
値には型があり、type() で確認できる。
Pythonでは同じ変数名に別の型の値を再代入できる。
value = "text"
value = 100ただし、読みやすいコードでは、同じ変数名に意味の異なる値を入れ直しすぎない方がよい。
Pythonでは / は通常の割り算で、結果は float になる。
// は切り捨て除算となる。
17 / 5 # 3.4
17 // 5 # 3f文字列は、文字列の中に値や式を埋め込むための基本的な書き方。
language = "Python"
unit_number = 1
print(f"Unit {unit_number}: {language}")この書き方は今後も頻繁に使う。
None は「値がない」ことを表す特別な値。
None かどうかを確認するときは、基本的に is None を使う。
selected_book = None
if selected_book is None:
print("未選択")この単位では、軽い確認として assert を使っている。
本格的なテストは Unit 12 で unittest として扱う。
Pythonでは変数宣言に型を書かないが、値には型がある。
「変数に型を書く言語」ではなく、「値の型を実行時に扱う言語」として捉えると理解しやすい。
10 / 2 のように割り切れる場合でも、結果は 5.0 のような float になる。
整数の商がほしい場合は // を使う。
次のような書き方はエラーになる。
"Unit " + 1この場合は f文字列を使う。
f"Unit {1}"== None でも動く場合はあるが、Pythonでは is None が定番の書き方となる。
print() は表示を行う関数であり、表示した文字列を戻り値として返すわけではない。
戻り値の考え方は、関数の単位で改めて扱う。
この単位を読んだ後、次の内容を確認する。
type()で値の型を確認できるint、float、str、bool、NoneTypeの違いを大まかに説明できる/、//、%、**の違いを読める- f文字列の基本形を読める
Noneが値の未設定や不在を表すことを理解できるis Noneの形を読めるmain.pyから別ファイルの関数が呼び出される流れを追えるassertが軽い期待値確認として使われていることを理解できる