Python基礎
PythonはFastAPI(バックエンド)で使用する言語です。読みやすくシンプルな文法が特徴で、初心者にも学びやすい言語です。
前ページでJavaScriptを学んだ方へ:PythonはJavaScriptと似た概念が多いです。違いを意識しながら学ぶと効率的です。
変数
Pythonでは型を指定せずに変数を宣言できます。
# Pythonは let や const がなく、そのまま代入 name = "田中" age = 25 is_active = True # 変数の上書き age = 26 # OK
JavaScriptとの比較
| JavaScript | Python |
|---|---|
| const name = "田中"; | name = "田中" |
| let age = 25; | age = 25 |
| セミコロンが必要 | セミコロン不要 |
命名規則:Pythonではsnake_case(アンダースコア区切り)が一般的です。
データ型
文字列(str)
message = "こんにちは" name = '太郎' # f文字列で変数を埋め込み greeting = f"{name}さん"
f""で変数を埋め込める(JSの`${}`と同じ)
数値(int, float)
age = 25 # 整数 (int) price = 1980.5 # 小数 (float) total = age + 10 # 35
整数(int)と小数(float)は別の型
真偽値(bool)
is_active = True # 頭文字が大文字 is_done = False
True/False(大文字始まり)
リスト(list)
fruits = ["りんご", "バナナ", "みかん"] fruits[0] # "りんご" len(fruits) # 3
JSの配列と同じ。要素数はlen()で取得
辞書(dict)
user = { "name": "田中太郎", "age": 25, "is_admin": False } user["name"] # "田中太郎" user.get("age") # 25
JSのオブジェクトと同じ。キーは文字列で書く
条件分岐(if文)
age = 20 if age >= 20: print("成人です") elif age >= 13: print("中高生です") else: print("子供です")
JavaScriptとの違い
| JavaScript | Python |
|---|---|
| if (条件) { } | if 条件: |
| else if | elif |
| { } で囲む | インデント(字下げ)で範囲を示す |
重要:Pythonではインデント(スペース4つ)が必須です。インデントがずれるとエラーになります。
繰り返し(ループ)
for文
# リストをループ fruits = ["りんご", "バナナ", "みかん"] for fruit in fruits: print(fruit) # 0から4まで5回繰り返す for i in range(5): print(i) # 0, 1, 2, 3, 4
リスト内包表記(便利な書き方)
# 通常のfor文 doubled = [] for x in [1, 2, 3]: doubled.append(x * 2) # リスト内包表記(1行で書ける) doubled = [x * 2 for x in [1, 2, 3]] # [2, 4, 6]
ポイント:リスト内包表記はJavaScriptのmapと似た機能です。
関数
# 関数の定義 def greet(name): return f"こんにちは、{name}さん!" # 関数の呼び出し message = greet("太郎") print(message) # "こんにちは、太郎さん!" # 引数にデフォルト値を設定 def greet(name="ゲスト"): return f"こんにちは、{name}さん!" greet() # "こんにちは、ゲストさん!"
JavaScriptとの比較
| JavaScript | Python |
|---|---|
| function greet(name) { } | def greet(name): |
| const greet = (name) => { } | アロー関数はない |
型ヒント(FastAPIで使用)
Pythonでは型を指定しなくても動きますが、FastAPIでは型ヒントを使うことが推奨されます。
# 型ヒントなし def greet(name): return f"こんにちは、{name}さん" # 型ヒントあり(FastAPI推奨) def greet(name: str) -> str: return f"こんにちは、{name}さん" # 変数にも型ヒントを付けられる age: int = 25 items: list[str] = ["a", "b", "c"]
メリット:型ヒントを使うと、AIがコードを生成する際により正確なコードを書いてくれます。
コードの読み方のコツ
1. インデントに注目
Pythonではインデントでブロックを表します。同じインデントレベルの行は同じブロックに属します。
2. コロン(:)に注目
if、for、defの後ろにはコロンがあり、次の行からブロックが始まります。
3. print()でデバッグ
JavaScriptのconsole.log()と同じように使えます。
print("userの値:", user)
練習問題
Q1. Pythonで真(true)を表すのは?
Q2. 次のPythonコードの問題点は?
if age >= 20: print("成人です")
Q3. Pythonで関数を定義するキーワードは?
まとめ
-
✓
Pythonは
let/constなしで変数を宣言 - ✓ リスト(配列)と辞書(オブジェクト)はJavaScriptと似ている
- ✓ インデントでブロックを表す({ }は使わない)
-
✓
関数は
defで定義 - ✓ True/Falseは大文字始まり