您好扁位,我是碼農(nóng)飛哥,感謝您閱讀本文趁俊,歡迎一鍵三連哦域仇。
這是Pyhon系列文章的第三篇,本文主要介紹Python程序的編碼規(guī)范则酝。
干貨滿滿殉簸,建議收藏,需要用到時彻炼铮看看般卑。 小伙伴們?nèi)缬袉栴}及需要,歡迎踴躍留言哦~ ~ ~爽雄。
@[TOC]
前言
上一篇文章我們介紹如何運行Python程序蝠检,如何安裝PyCharm開發(fā)工具以及如何用PyCharm來運行Python程序,這些都只是開發(fā)前的準(zhǔn)備工作而已挚瘟,也就是說僅僅是弄好了腳手架叹谁。接下來就是開始編碼了。不過在編碼之前我們還是先需要了解一下Python的編碼規(guī)范乘盖。為什么要了解編碼規(guī)范呢焰檩?不看行不行呀! 如果我們想在別人看我們代碼的時候大罵一聲订框,臥槽析苫,這代碼跟shi一樣,鬼看的懂呀穿扳。那就不看吧衩侥,寫自己的代碼讓別人說去,哈哈哈哈矛物。
注釋
首先介紹的是Python的注釋茫死,Python的注釋分為兩種:單行注釋和多行注釋。
- 單行注釋
Python使用 # 號作為單行注釋的符號履羞,其語法格式為:#注釋內(nèi)容
從#號開始直到這行結(jié)束為止的所有內(nèi)容都是注釋峦萎。例如:
# 這是單行注釋
- 多行注釋
多行注釋指一次注釋程序中多行的內(nèi)容(包含一行) ,Python使用三個連續(xù)的 單引號''' 或者三個連續(xù)的雙引號""" 注釋多行內(nèi)容吧雹。其語法格式是如下:
'''
三個連續(xù)的單引號的多行注釋
注釋多行內(nèi)容
'''
或者
"""
三個連續(xù)的雙引號的多行注釋
注釋多行內(nèi)容
"""
多行注釋通常用來為Python文件骨杂、模塊、類或者函數(shù)等添加版權(quán)或者功能描述信息(即文檔注釋)
縮進(jìn)規(guī)則
不同于其他編程語言(如Java雄卷,或者C)采用大括號{}
分割代碼塊搓蚪,Python采用代碼縮進(jìn)和冒號 : 來區(qū)分代碼塊之間的層次。如下面的代碼所示:
a = -100
if a >= 0:
print("輸出正數(shù)" + str(a))
print('測試')
else:
print("輸出負(fù)數(shù)" + str(a))
其中第一行代碼a = -100
和第二行代碼if a >= 0:
是在同一作用域(也就是作用范圍相同)丁鹉,所以這兩行代碼并排妒潭。而第三行代碼print("輸出正數(shù)" + str(a))
的作用范圍是在第二行代碼里面悴能,所以需要縮進(jìn)。第五行代碼也是同理雳灾。第二行代碼通過冒號和第三行代碼的縮進(jìn)來區(qū)分這兩個代碼塊漠酿。
Python的縮進(jìn)量可以使用空格或者Tab鍵來實現(xiàn)縮進(jìn),通常情況下都是采用4個空格長度作為一個縮進(jìn)量的谎亩。
這里需要注意的是同一個作用域的代碼的縮進(jìn)量要相同炒嘲,不然會導(dǎo)致IndentationError異常錯誤,提示縮進(jìn)量不對匈庭,如下面代碼所示:第二行代碼print("輸出正數(shù)" + str(a))
縮進(jìn)了4個空格夫凸,而第三行代碼print('測試')
只縮進(jìn)了2個空格。
if a >= 0:
print("輸出正數(shù)" + str(a))
print('測試')
在Python中阱持,對于類定義夭拌,函數(shù)定義,流程控制語句就像前面的if a>=0:
衷咽,異常處理語句等鸽扁,行尾的冒號和下一行縮進(jìn),表示下一個代碼塊的開始镶骗,而縮進(jìn)的結(jié)束則表示此代碼的結(jié)束桶现。
編碼規(guī)范
說完了代碼的縮進(jìn)規(guī)則之后,接下來看看Python的編碼規(guī)范鼎姊,Python采用PEP 8作為編碼規(guī)范巩那,其中PEP是Python Enhancement Proposal(Python增強建議書) 的縮寫,8代表的是Python代碼的樣式指南此蜈。這里介紹幾個初學(xué)者需要掌握的編碼規(guī)范
- 每個import 語句只導(dǎo)入一個模塊,盡量避免一次導(dǎo)入多個模塊
#推薦
import sys
import os
#不推薦
import sys,os
- 不要在行尾添加分號噪生,也不要用分號將兩條命令放在同一行裆赵,不推薦下面的寫法
print('你好');print('我好');
- 建議每行不超過80個字符,如果超過跺嗽,建議使用小括號將多行內(nèi)容隱式的連接起來战授,而不推薦使用反斜杠\進(jìn)行連接。
#推薦
s=('沒有耕耘就沒有收獲桨嫁,'
'好好學(xué)習(xí)天天向上')
#不推薦
s='沒有耕耘就沒有收獲植兰,' \
'好好學(xué)習(xí)天天向上'
其他的可參考官網(wǎng) PEP8官網(wǎng)
標(biāo)識符命令規(guī)范
標(biāo)識符就是一個名字,就好像是我們每個人都一個屬于自己的名字一樣的璃吧。它的主要作用就是作為變量楣导,函數(shù),類畜挨,模塊以及其他對象的名稱筒繁。
標(biāo)識符遵循的規(guī)則
標(biāo)識符不是隨便胡亂命令的噩凹,也是要遵循一定的規(guī)則的。應(yīng)該要遵循下列規(guī)則
- 標(biāo)識符是由字符(AZ和az)毡咏、下劃線和數(shù)字組成驮宴,但第一個字符不能是數(shù)字
#合法示范
userId
user_id
user2
非法的標(biāo)識符
2user
- 標(biāo)識符不能和Python中的保留字相同,有關(guān)保留字呕缭,后續(xù)章節(jié)會介紹
- Python中的標(biāo)識符中堵泽,不能包含空格、@恢总、%以及$等特殊字符串迎罗。比如這樣
@user
- 在Python中,標(biāo)識符中的字母是嚴(yán)格區(qū)分大小寫的离熏,也就是說佳谦。兩個同樣的單詞,如果大小寫格式不一樣滋戳,那么代表的意義也是完全不同的钻蔑,比如,下面這3個變量之間奸鸯,就是完全獨立的咪笑,毫無關(guān)系
number=2
Number=2
NUMBER=3
- Python中,以下劃線開頭的標(biāo)識符有特殊含義娄涩,例如:
- 以單下劃線開頭的標(biāo)識符(如_height),表示不能直接訪問的類屬性窗怒,其無法通過 from ... import * 的方式導(dǎo)入
- 以雙下劃線開頭的標(biāo)識符(如__add)表示類的私有成員
- 以雙下劃線作為開頭和結(jié)尾的標(biāo)識符(如init)是專用標(biāo)識符
6.不同場景中的標(biāo)識符,其名稱也有一定的規(guī)范可循 - 當(dāng)標(biāo)識符用作模塊名時蓄拣,應(yīng)盡量短小扬虚,并且全部使用小寫字母,可以使用下劃線分割多個字母球恤,例如 user_login
- 當(dāng)標(biāo)識符用作包的名稱時辜昵,應(yīng)盡量短小,也全部使用小寫字母咽斧,不推薦使用下劃線堪置,例如: com.jay,com.jay.er等
- 當(dāng)標(biāo)識符用作類名時张惹,應(yīng)采用單詞首字母大寫的形式舀锨,例如,定義一個學(xué)生類宛逗,可以命名為Student
- 模塊內(nèi)部的類名坎匿,可以采用“下劃線+首字母大寫”的形式,如_Student
- 函數(shù)名、類中的屬性名和方法名碑诉,應(yīng)全部使用小寫字母彪腔,多個單詞之間可以用下劃線分割
- 常量命令全部使用大寫字母,單詞之間可以用下劃線分割进栽。
關(guān)鍵字
說完了標(biāo)識符的命名規(guī)范德挣,本文也接近尾聲了,最后要介紹的是Python中的關(guān)鍵字快毛,前面說了標(biāo)識符的命令不用使用關(guān)鍵字格嗅,那么Python中有哪些關(guān)鍵詞呢?可以通過如下語句進(jìn)行查看
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
所有的關(guān)鍵詞如下表所示:
表一 Python關(guān)鍵詞一覽表
and | as | assert | break | class | continue |
---|---|---|---|---|---|
def | del | elif | else | except | finally |
for | from | False | global | if | import |
in | is | lambda | nonlocal | not | None |
os | pass | raise | return | try | True |
while | with | yield |
總結(jié)
本文主要介紹了Python的編碼規(guī)范唠帝,包括Python的注釋屯掖,編碼規(guī)范,標(biāo)識符命名等等襟衰,希望對讀者朋友們有所幫助贴铜。
我是碼農(nóng)飛哥,再次感謝您讀完本文瀑晒。
全網(wǎng)同名【碼農(nóng)飛哥】绍坝。不積跬步,無以至千里苔悦,享受分享的快樂
我是碼農(nóng)飛哥轩褐,再次感謝您讀完本文。