10
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Python入門】C#とPythonの命名規則を比較してみた。

Last updated at Posted at 2020-04-03

こんにちは。

いつも C# で開発することが多いのですが、最近 Python に触れる機会がありました。
C# 感覚でコーディングをした後に、改めてPythonのコーディング規約であるPEP8で確認したところ、変数宣言など地味なところで命名規則に違いがありましたので、ざっくりC#とPythonの命名規則をまとめてみました。

なおPEP8では、以下のようにプロジェクトのコーディング規約を衝突する場合は、プロジェクトをコーディング規約を優先するようにと書かれています。

多くのプロジェクトには、自分たちのコーディングスタイルに関するガイドラインがあります。それとこの文書の規約の内容が矛盾した場合は、そのプロジェクトのガイドラインが優先します。

#はじめに
はじめに命名規則の簡単な説明です。

命名規則 説明
キャメルケース(CamelCase) 先頭以外は単語の先頭を大文字にする。 happyNewYear
パスカルケース(PascalCase) 先頭含めは単語の先頭を大文字にする。 HappyNewYear
スネークケース(SnakeCase) すべて単語は小文字。アンダースコアでつなぐ。 happy_new_year
コンスタントケース(ConstantCase) すべて単語は大文字。アンダースコアでつなぐ。 HAPPY_NEW_YEAR
※パスカルケースは、アッパーキャメルケースとも呼ばれます。
※コンスタントケースは、アッパースネークケースとも呼ばれます。
PEP8では、CapWords形式と表現されてますが、Pascal形式との違いが分からなかったので、以下ではPascal形式として整理しています。

#命名規則の比較一覧
C#とPythonの命名規則を簡単にまとめた比較一覧です。

識別子 C# Python
パッケージ(名前空間) PascalCase すべて小文字
HappyBirthday happybirthday
モジュール PascalCase すべて小文字 / SnakeCase
HappyBirthday happybirthday / happy_birthday
クラス PascalCase PascalCase
HappyBirthday HappyBirthday
型変数 PascalCase PascalCase
HappyBirthday HappyBirthday
例外 PascalCase PascalCase
HappyBirthdayException HappyBirthdayError
グローバル変数 Pascal SnakeCase
HappyBirthday happy_birthday
パラメータ(引数) CamelCase SnakeCase
happyBirthday happy_birthday
メソッド(関数) PascalCase SnakeCase
GetHappyBirthday get_happy_birthday
変数 CamelCase SnakeCase
happyBirthday happy_birthday
定数 PascalCase ConstantCase
HappyBirthday HAPPY_BIRTHDAY

その他にPEP8にも書かれているインデントやコメント、IFなどの制御文にクラス定義やメソッド定義などの記述の違いについては、別の機会にまとめていこうと思います。

参考)
Python コードのスタイルガイド(PEP8

10
13
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?