笑うPython男のアイコン

トップ > 文法のキモ

文法のキモ|Pythonらしさを決める5つの要点

文法を全部覚える必要はありません。この記事では「ここを押さえればPythonらしいコードが書ける」5つだけに絞ります。インデント、リスト内包表記、辞書、クラス、例外処理。どれも短いコード例で確認できます。

笑うPython男

笑うPython男

文法書を1ページ目から読むタイプ? 几帳面だねえ。ボクは要点だけつまむ派。ここにある5つが分かれば、他は「必要になったら調べる」で生きていけるよ。

キモ1:インデントが文法そのもの

Pythonでは、字下げ(インデント)が「ここからここまでがひとかたまり」という意味を持ちます。他の言語の波かっこの代わりです。標準はスペース4つ。タブとスペースを混ぜるとエラーになります。

score = 85 if score >= 80: print("合格") # 字下げされた部分だけが実行される print("よくできた") print("判定おわり") # これは常に実行される

逆に言うと、字下げが揃っているコードは見た目そのままに読めます。「見た目と意味が一致する」のがPythonの美しさです。

キモ2:リスト内包表記

「リストをぐるっと回して新しいリストを作る」処理を、1行で書ける書き方です。最初は魔法に見えますが、左から「作りたいもの → 元データ → 条件」の順に読むだけです。

# 1〜5の2乗のリスト squares = [n * n for n in range(1, 6)] print(squares) # [1, 4, 9, 16, 25] # 条件つき(偶数だけ2倍) evens = [n * 2 for n in range(1, 11) if n % 2 == 0] print(evens) # [4, 8, 12, 16, 20]

ただし、条件が複雑になって読みにくいときは無理に1行にしないこと。普通のfor文のほうが正解な場面もあります。

キモ3:辞書は「名前で引く」データ

リストが「順番で並んだ箱」なら、辞書は「名前札のついた箱」です。キー(名前)と値のペアでデータを管理します。設定情報や、JSONのようなデータを扱うときに主役になります。

user = {"name": "タロウ", "level": 15, "job": "エンジニア"} print(user["name"]) # タロウ user["level"] += 1 # 値を更新 print(user.get("team")) # None(無いキーはエラーにせず聞ける)
笑うPython男

笑うPython男

辞書とリスト、この2つを使い分けられたら、データの扱いはだいたい何とかなる。世の中のデータは、だいたいこの組み合わせでできてる。断言してもいいくらいだよ。

キモ4:クラスは「設計図」

クラスは、データと操作をひとまとめにした設計図です。設計図から実物(インスタンス)を作って使います。最初は「データに専用の関数がくっついたもの」と捉えれば十分です。

class Dog: def __init__(self, name): self.name = name # 実物ごとに持つデータ def bark(self): print(self.name + ":ワン!") pochi = Dog("ポチ") # 設計図から実物を作る pochi.bark() # ポチ:ワン!

self は「その実物自身」のことです。最初に戸惑うポイントですが、書いているうちに手が覚えます。

キモ5:例外処理は「転んだときの受け身」

プログラムはファイルが無い、入力が変、通信が切れる、といった理由で平気で転びます。例外処理は、転んでも全体が止まらないようにする受け身です。

try: age = int(input("年齢は? ")) print("来年は", age + 1, "歳") except ValueError: print("数字で入れてね") # 数字以外が来たらこちら

ポイントは、エラーが起きそうな場所だけを絞って囲うこと。全部を try で包むと、本当のバグまで隠れてしまって逆に困ります。

まとめ:5つのキモの地図

分からなくなったら、この記事の地図に戻ってきてください。次はこの文法を使って、実際に小さなWebアプリを作ります。

笑うPython男

笑うPython男

どう、思ったより少なくて済んだでしょ。文法は「覚える」ものじゃなくて「手で書いて慣れる」ものだからね。次はWebアプリ。ボクの本領発揮だよ。

次の記事:Webアプリ開発(Flask/FastAPIで作って公開まで)

学んだ文法で、実際に動くWebアプリをひとつ完成させます。

次の記事へ進む