Python Naming
參數命名規則
1. Packages
字母全部小寫。
多個單字以底線(”_”)分隔。
最好堅持以一個單字為命名。
# packages example:
from your_packages import your_modules
from oam_core import config
from rest_framework import status
2. Modules
字母全部小寫。
多個單字以底線(”_”)分隔。
最好堅持以一個單字為命名。
# modules example:
from your_packages import your_modules
from oam_system import oam_system_config
3. Classes
每個字母開頭均大寫,如
ActivityLogMiddleware。異常類別以 “Error” 結尾。
# classes example:
class ActivityLogMiddleware:
pass
class ValueError(Exception):
pass
4. Global (module-level) Variables
字母全部小寫。
多個單字以底線(”_”)分隔。
# global variables example:
global_variable = 42 # global variable
def my_function():
a = 40 # local variable
...
5. Instance Variables
字母全部小寫。
多個單字以底線(”_”)分隔。
非公共(Non-public)變數以底線(”_”)開頭。
名稱修飾(Name Mangling)以雙底線(”__”)開頭。
# instance variables example:
class MyClass:
def __init__(self):
self.instance_variable = 1
self.__private_variable = 2
self.__variable_with_name_mangling = 3
6. Methods
字母全部小寫。
多個單字以底線(”_”)分隔。
非公共(Non-public)方法則以底線(”_”)開頭。
名稱修飾(Name Mangling)以雙底線(”__”)開頭。
# methods example:
class MyClass:
def my_method(self):
pass
def _my_private_method(self):
pass
def __my_private_method_with_name_mangling(self):
pass
7. Method Arguments
Instance methods 以
self開頭。Class methods 以
cls開頭。
# method arguments example:
class MyClass:
def __init__(self):
...
def my_function(self, my_args):
pass
@classmethod
def my_class_method(cls, cls_arg):
pass
def video_capture(self, video_queue):
...
8. Functions
字母全部小寫。
多個單字以底線(”_”)分隔。
# functions example:
def my_function():
pass
def video_capture():
...
9. Constants
字母全部大寫。
多個單字以底線(”_”)分隔。
# constants example:
VIDEO_EXTENSION = ".mp4"
FOUR_CC = "mp4v"
LOG_EXTENSION = ".json"
MAX_RETRIES = 5
10. Interface
命名名稱以 “I” 開頭。
# interface example:
class IMyInterface:
pass