- 投稿日:2020-04-03T23:06:15+09:00
C#とPythonの命名規則をまとめました。
こんにちは。
いつも 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 すべて小文字 HappyBirthday happybirthday クラス 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)
- 投稿日:2020-04-03T23:06:15+09:00
C#とPythonの命名規則を比較してみた。
こんにちは。
いつも 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)