Python變量、方法、類的命名規則


 

 


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM