1. 變量命名總結:
- 1.單下划線開頭變量:protected
- 2.雙下划線開頭變量:private
- 3.雙下划線開頭,雙下划線結尾:系統內置變量
2. 函數命名總結:
- 1.私有方法:小寫和一個前導下划線
- 2.特殊方法(魔術方法):小寫和兩個前導下划線,兩個后置下划線
- 3.函數參數:小寫和下划線,缺省值等號兩邊無空格
3. 類名稱命名:
- 類總是使用駝峰格式命名,即所有單詞首字母大寫其余字母小寫。
#!/usr/bin/env python # -*- coding: utf-8 -*- """ __Title__ = '下划線變量與命名' __Author__ = 'Zhangyf' __Author_email__ ='hpuyanfeng@126.com' __Time__ = '2018/1/22' """ # 變量命名總結: # 1.單下划線開頭變量:protected # 2.雙下划線開頭變量:private # 3.雙下划線開頭,雙下划線結尾:系統內置變量 """ 單下划線開頭變量 _xxx,單下划線開頭的變量,標明是一個受保護(protected)的變量,原則上不允許直接訪問,但外部類還是可以訪問到這個變量。 這只是程序員之間的一個約定,用於警告說明這是一個私有變量,外部類不要去訪問它。 print(stu._name) 當要輸入_name時,pycharm不會進行_name的提示 print(stu.age) 當要顯示age時,pycharm會進行age的提示 """ class Student: def __init__(self, name, sex): self._name = name self.sex = sex stu = Student('zyf', 'Male') print(stu._name) # 單下划線protected的變量,原則上不允許直接訪問 輸出:zyf print(stu.sex) # age可以直接訪問 輸出:Male """ 雙下划線開頭 __xxx,雙下划線開頭的,表示的是私有類型(private)的變量。 只能是允許這個類本身進行訪問了, 連子類也不可以. 用於命名一個類屬性(類變量),調用時名字被改變 (在類Student內部,__name變成_Student__name,如 self._Student__name) 雙下划線開頭的實例變量是不是一定不能從外部訪問呢?其實也不是。仍然可以通過_Student__name來訪問__name變量: """ class Person: def __init__(self, name): self.__name = name per = Person('zyf2') print(per._Person__name) # 輸出zyf2 但是無法直接訪問__name """ 雙下划線開頭,並且以雙下划線結尾 __xxx__,以雙下划線開頭,並且以雙下划線結尾的,是內置變量. 內置變量是可以直接訪問的,不是 private 變量,如__init__,__import__或是__file__。 ★不要自己定義這類變量 xxx_,單下划線結尾的變量一般只是為了避免與 Python 關鍵字的命名沖突 USER_CONSTANT,大寫加下划線,對於不會發生改變的全局變量,使用大寫加下划線 """ # 函數命名總結: # 1.私有方法:小寫和一個前導下划線 # 2.特殊方法(魔術方法):小寫和兩個前導下划線,兩個后置下划線 # 3.函數參數:小寫和下划線,缺省值等號兩邊無空格 """ 函數 總體而言應該使用,小寫和下划線 私有方法 : 小寫和一個前導下划線 這里和私有變量一樣,並不是真正的私有訪問權限。 同時也應該注意一般函數不要使用兩個前導下划線(當遇到兩個前導下划線時,Python 的名稱改編特性將發揮作用)。特殊函數后面會提及。 #特殊方法 : 小寫和兩個前導下划線,兩個后置下划線 #這種風格只應用於特殊函數,比如操作符重載等。 #函數參數 : 小寫和下划線,缺省值等號兩邊無空格 """ # 私有方法 class PrivateCase: @staticmethod def _secrete(): print(r"Don't test me") priC = PrivateCase() priC._secrete() # _secrete為protected member # 特殊方法(魔術方法) def __add__(self, other): return int.__add__(other) # 函數參數 def connect(self, user=None): self._user = user """ ★類名稱命名: 類總是使用駝峰格式命名,即所有單詞首字母大寫其余字母小寫。 類名應該簡明,精確,並足以從中理解類所完成的工作。 常見的一個方法是使用表示其類型或者特性的后綴,例如:SQLEngine ,MimeTypes 對於基類而言,可以使用一個 Base 或者 Abstract 前綴 不要濫用 *args 和 **kwargs,可能會破壞函數的健壯性 """
---------------------
來源:https://blog.csdn.net/feikon2/article/details/79126774