プログラミングの用語一覧へ
このページの目次

スネークケースとは?

読み方:スネークケース

最終更新:2026/08/18

3秒でわかる

単語をすべて小文字にして下線でつなぐ命名規則。Python の変数名や関数名、データベースの列名で標準とされ、読み違いを減らします。

もう少し詳しく

どういうものか

user_name max_retry_count のように、単語の区切りをアンダースコアで表し、文字はすべて小文字で書く命名規則です。地面を這う蛇の姿に見えることからこの名が付きました。

Python の公式スタイルガイド PEP 8 は、変数・関数・メソッドモジュール名にこの形を指定しています。SQLテーブル名や列名でもよく使われ、これは多くのデータベースが識別子の大文字小文字を区別しない、あるいは環境によって挙動が変わるためです。下線で区切っておけば、どこで単語が切れるかが大文字に頼らず伝わります。

なぜ必要か

命名規則そのものに優劣は無く、価値は「そろっていること」から生まれます。同じプロジェクトの中に userNameuser_name が混ざると、変数を書くたびにどちらだったかを確認する手間が増え、タイプミスによる未定義エラーも増えます。

言語ごとの慣習に合わせておく利点もあります。Python のコードに getUserName が出てくると、読み手は「他言語から移植したのか」「意図があるのか」と余計な推測を強いられます。

具体例

# PEP 8 に沿った書き分け MAX_RETRY = 3 # 定数は大文字スネークケース class OrderReport: # <a href="/glossary/class" class="text-primary font-medium underline underline-offset-2 hover:text-primary-dark">クラス</a>だけはパスカルケース def total_price(self): # メソッドはスネークケース unit_price = 120 item_count = 3 return unit_price * item_count
CREATE TABLE order_items ( order_item_id BIGINT PRIMARY KEY, created_at DATETIME NOT NULL );

似た用語との違い

記法主な使いどころ
スネークケースuser_namePython の変数・関数、SQL の列名
キャメルケースuserNameJavaScript, Java の変数・メソッド
パスカルケースUserNameクラス名、React コンポーネント名
ケバブケースuser-nameURL, CSS のクラス名, HTML 属性
大文字スネークUSER_NAME定数、環境変数


つまずきやすいところ

言語をまたぐ境界で命名が混ざります。Python のバックエンドがスネークケースで書いた辞書をそのまま JSON にして返すと、キャメルケースが慣習の JavaScript 側に created_at が流れ込みます。どちらに合わせるかをチームで先に決め、変換するなら API の入口と出口の1か所にまとめると、あちこちで変換関数が増えずに済みます。

Python でもクラス名だけはパスカルケースです。すべてをスネークケースにすると規約から外れます。

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地スネークケースプログラミング

LEARN BY DOING

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

Pythonコースの全編を見る