python的命名規則


python命名規則

命名風格

python幾種不同命名風格
1. 駝峰式命名法(WjW) 2. 混合式命名法(wjWj) 3. 大寫(WJWJWJ)或大寫加下划線(WJWJWJ)
4. 前綴(wjing)或后綴(ingwj)下划線,有時雙下划線

變量

python變量分為:
1. 常量
2. 公有和私有變量

1.常量

常量全局變量,使用大寫加下划線。指定的變量表示一個常數值

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))  
2.命名和使用

常量定義的是一組值,程序需要依賴的一組不變值,大多數就是配置文件名,最好的做法是將所有常量放到一個文件中,例如django的settings文件

SECRET_KEY = '(5hjjo=-=r1s43d+=yu(ay2vy_pe53ut0kzd5skzxa9@5#qf_x'

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

ALLOWED_HOSTS = []


# Application definition

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'helloapp',
]

也可以使用Configparser模塊創建配置文件。這種沒有上一種好。
一段很好的像標記的代碼,可以給定一些是無標記屬性等

OPTIONS={}
def register_option(name):
return OPTIONS.setdefault(name,1<<len(OPTIONS))#bin(len(OPTIONS))查看二進制數據
def has_option(options,name):
return bool(options&name)
#定義標簽
BLUE=register_option('BLUE')
RED=register_option('RED')
YELLOW=register_option('YELLOW')
#設置標簽
SET=BLUE|RED
#判斷標簽是否存在設置中
has_option(SET,BLUE)
has_option(SET,YELLOW)
3.公有和私有變量

對於可變的且可以通過導入自由訪問的全局變量,如果它們需要被保護,那么應該使用下划線加小寫字母變成私有變量。

4.函數和方法

函數和方法盡量使用小寫加下划線,有些情況也使用混合大小寫

5.私有元素的正義

對於私有方法和函數,通常是前綴兩個下划線,這樣在運行時會被解釋器重命名,這樣可以避免與任何子類沖突。舉例說明

class Base(object):
def __secret(self):
print("don't tell")
def public(self):
self.__secret()
class Top(Base):
def __secret(self):
print("never say never")

print(dir(Base))

b=Base()

b._Base__secret()

print(dir(Top))

Top().public()

輸出

['_Base__secret',..., 'public']

don't tell

['_Base__secret', '_Top__secret', ..., 'public']

don't tell

這樣就會重命名帶有雙下划線的函數和方法

6.特殊方法

特殊方法就是使用雙下划線開始和結尾,常規的方法不應該使用這樣的寫法。

def __init__(self):
    pass  
def __add__(self):
    pass  
7.參數

參數都是用小寫,有時可以加下划線

8.property

屬性都是用小寫或小寫加下划線

9.類

類名使用駝峰法WjWj

10.模塊和包

模塊通常都是小寫,不帶下划線,出了特殊的如init模塊,如果模塊是包的私有模塊會使用前綴加一個下划線。包也是一樣

命名

用'has'或'is'前綴命名布爾元素

is_life=True#是否活着
is_connected=True#是否連接
has_cache=True#是否有內存

復數命名集合

users=['zhangsan','lisi']

顯示命名字典

個人地址用全稱

persons_addresses={'zhangsan':'beijing','lisi':'shanghai'}  

類的名稱

類的名稱簡明扼要
SQLEngine
BaseCookie

模塊和包名稱

模塊和包要小寫,簡短sqlite,sha1,如果是協議加lib后綴,urllib


免責聲明!

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



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