第1部:Web開発の基礎知識 Step 4 / 20

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. コロン(:)に注目

iffordefの後ろにはコロンがあり、次の行からブロックが始まります。

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は大文字始まり
前へ:JavaScript基礎 次へ:React/Next.js基礎