python pep8模塊_讀懂PEP8,讓你的Python代碼更加優雅

PEP8

《8 號 Python 增強規范》(Python Enhacement Proposal #8),簡稱PEP8

通俗的來講 PEP8 是針對 python 代碼格式而編訂的風格指南,令代碼更加易讀易懂。像谷歌這樣的大公司是有自己內部的風格規范Google Style,目的就是為了提高開發效率。

據傳聞,Google 馬桶前面的門上,都貼著 Python 編碼規范。小數先生今天就分享一些常用的PEP8編碼規范。

縮進

a.每一級縮進使用4個空格。

b.續行應該與其包裹元素對其。

# 推薦

# 與左括號對齊

fo = dict(name='小數先生', age=18,

gender='男',city='hangzhou')

# 用更多的縮進來與其他行區分

def long_function_name(

var_noe, var_two,

var_three, var_four):

print(var_one)

不推薦

# 不推薦

fo = dict(name='小數先生', age=18,

gender='男',city='hangzhou')

def long_function_name(

var_noe, var_two,

var_three, var_four):

print(var_one)

行的最大長度

a.所有行限制的最大字符串數為79。

b.沒有結構化限制的大塊文本(文檔字符或者注釋),每行最大字符數限制在72。

空行

a.頂層函數和類的定義,前后用兩個空行隔開。

b.類里的方法定義用一個空行隔開。

imports導入

a.導入通常在分開的行。

# 推薦

import os

import sys

# 不推薦

import sys, os

b.導入總是位于文件的頂部,在模塊注釋和文檔字符串之后,在模塊的全局變量與常量之前。

c.導入應該按照以下順序分組標準庫導入

相關第三方庫導入

本地應用/庫特定導入(應該在每一組導入之間加入空行)

d.推薦使用絕對路徑導入,如果導入系統沒有正確的配置,使用絕對路徑會更加可讀并且性能更好。

Comments注釋

a.代碼更改時,優先更新對應的注釋。

b.注釋應該是完整的句子。

c.如果注釋很短,結尾的句號可以省略。

d.在句尾結束的時候應該使用兩個空格

Block Comments 塊注釋

a.塊注釋通常適用于跟隨它們的某些(或全部)代碼,并縮進到與代碼相同的級別。塊注釋的每一行開通使用一個 # 和一個空格(除非塊注釋內部縮進文本)

b.塊注釋內部的段落通過只有一個 # 的空行分隔

Inline Comments 行內注釋

a.有節制地使用行內注釋

b.行內注釋是與代碼語句同行的注釋,行內注釋和代碼至少要有兩個空格分隔。

Documentation Strings文檔字符串

a.要為所有的公共模塊,函數,類已經方法編寫文檔說明

b.多行文檔說明使用的結尾三引號自成一行

# 推薦

"""Return a foobang

Optional plotz says to frobnicate the bizbaz first.

"""

命名規范

a.永遠不要使用字母'l'(小寫的L),'O'(大寫的o),或者'I'(大寫的i)作為單字符變量名

b.函數名要小寫,如果想提高可讀性可以用下劃線分離

c.類名首字母要大寫

更多內容PEP 8 -- Style Guide for Python Code?legacy.python.orgb.Python PEP8 編碼規范中文版?blog.csdn.netstyleguide?google.github.io

作者:小數先生

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/533576.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/533576.shtml
英文地址,請注明出處:http://en.pswp.cn/news/533576.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python數值模擬教程_數值模擬必備random模塊

該模塊實現了各種分布的偽隨機數生成器。可以在區間內抽取一個隨機數,可以在列表中抽取一個元素,可以從分布中抽取樣本 。random模塊不能直接訪問,需要導入 random 模塊,然后通過 random 靜態對象調用該方法。import random1 生成…

php版本哪個沒有面向對象,php面向對象的方法重載兩種版本比較

多個函數用同一個名字,但參數表,即參數的個數或(和)數據類型可以不同,調用的時候,雖然方法名字相同,但根據參數表可以自動調用對應的函數。PHP4 中僅僅實現了面向對象的部分的、簡單的功能,而 PHP5 以后對對…

python實現錄音小程序 界面_小程序如何實現錄音 播放功能

第二步:編輯文件首先在src下創建一個test包并在test包下新建一個類MyRecord具體步驟代碼如下所示:package test;import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.io.*;import javax.sound.sampled.*;public class MyRecord…

織夢php網站修改教程,織夢DEDEcms織夢軟件模型增加圖集功能教程(含修改文件下載)...

這篇文章主要為大家詳細介紹了織夢DEDEcms織夢軟件模型增加圖集功能教程(含修改文件下載),具有一定的參考價值,感興趣的小伙伴們可以參考一下,有需要的朋友可以收藏方便以后借鑒。織夢DEDEcms織夢軟件模型增加圖集功能,這是今天361模板要給大家分享的。下…

python自動截圖發送郵件_PhantomJS按尺寸截取頁面,并用python發送郵件

前言:當前有個任務是要把幾個網站的日志返回狀態碼進行匯總,用餅圖展示,并每天發送郵件。一、分析問題畫出餅圖,這個我用kibana給畫出來了,下面不做講解;截取餅圖,因為kibana是用js展示出來的&a…

nikita popov php,PHP中對performance的考慮點

Nikita Popov 在他的演講中談了幾個PHP 程序中和performance相關的point。1.PHP使用shared memory, preload的方式事先分配,而只有在所有的處理結束之后,share memory 才會斷開和所有進程或者thread之間的聯系。光是opcode,FPM的設定還不足以…

python建模仿真 matlab_清華大學出版社-圖書詳情-《仿真建模與MATLAB實用教程》

MATLAB語言是目前世界上最為流行的科學計算語言之一,它的特點是能夠快速地完成諸如矩陣運算、微分、尋優等計算任務。由于它配備了很多應用領域的專業工具箱,諸如金融、信號處理、圖像處理、神經網絡、嵌入式系統、仿真建模等,而且每個工具箱都包含了該應…

java web使用jquery,JAVA_Web_JQuery

簡介:jquery 全稱 javaScript Query.是js的一個框架。本質上仍然是js。特點:支持各種主流的瀏覽器、使用特別簡單、擁有便捷的插件擴展機制和豐富的插件。一、JQuery內部封裝原理介紹:匿名閉包。下面這兩行代碼是jquery包下的已經封裝的代碼&…

python語法學習_Python學習1——語法

Python語法包括了行、縮進、注釋、標識符、保留關鍵字等方面。打印語句:>>> print(hello,world!)hello,world!輸入語句:>>> input(請輸入你的名字:)請輸入你的名字:哈哈#”哈哈”是你自己輸入的名字哈哈 #打印出…

java 兩個頁面傳遞數據,請問Cookie怎么在兩個頁面間傳遞數據?

參考代碼如下://如果請求的Cookie對象為空if (Request.Cookies["userCookie"] null){//創建一個Cookie對象HttpCookie userCookie new HttpCookie("userCookie");//給對象賦值userCookie.Values["userName"] userInfo.UserName.ToS…

優化matlab作業,現代設計優化算法MATLAB實現

開篇語前陣子做現代設計方法的時候,發現網上很是缺乏這種作業形式的簡易算法實現,所以特地來簡書寫一篇。有兩份,一份是我的(說來慚愧,我的大部分都是在網上找的代碼,然后在自己的電腦上跑一次,跑出來了就行…

怎樣用python畫玫瑰花的簡筆畫_玫瑰花簡筆畫素描作品圖片

玫瑰原產是中國。在古時的漢語,“玫瑰”一詞原意是指紅色美玉。玫瑰花這么漂亮,素描怎么畫得好看呢?你知道玫瑰花的簡筆畫素描是怎樣的嗎?今天先和學習啦小編一起欣賞這些玫瑰花簡筆畫素描圖片,希望你會有所收獲的。玫瑰花簡筆畫素描圖片欣…

多因子選選股MATLAB代碼,金工研報:利用卷積神經網絡進行多因子選股

首先,我們先來看一下通過卷積神經網絡選股模型的整體流程,然后再根據每一步流程進行介紹,具體如下圖所示:1、數據獲取用于歷史回測數據來自所有A股股票,其中剔除了ST股以及上市3個月的股票,另外&#xff0c…

python list tuple 打包 解包_python的打包與解包

python的*與**,在函數的定義與調用過程中,有著不同的作用打包參數:一、函數定義時,形參前加*號(如:*args):收集實參中所有的位置參數,打包成新元組并將該元組賦值給args變量實參位置參數&#x…

python 成員函數 泛型函數_【一點資訊】白學這么多年 Python?連泛型函數都不會寫? www.yidianzixun.com...

泛型,如果你嘗過java,應該對他不陌生吧。但你可能不知道在 Python 中(3.4 ),也可以實現 簡單的泛型函數。在Python中只能實現基于單個(第一個)參數的數據類型來選擇具體的實現方式,官方名稱 是single-dispatch。你或許聽不懂&…

matlab bad apple,【bad apple】matlab制作矩陣蘋果~

有屏幕的地方就有bad apple那么作為一名工科生,熟練的操♂作馬桶蘿卜(matlab)是一項基本技能下面開始講解如何用matlab制作別具一格的“矩陣蘋果”~實驗環境matlab R2018a原版bad apple視頻技術要求可以即時演算圖形可以將處理后的每幀圖形合并成新的視頻先上代碼%t…

服務器ip直接訪問php怎么寫,php - 如何實現用公網ip訪問到服務器上的網頁?

服務器系統是Windows Server 2012 R2,已經部署了IIS、PHP和MySQL,能夠在云服務器上通過localhost打開php網頁,(放在服務器wwwroot上的index.php)已在ISS管理器中添加網站,但編輯網站綁定時,在ip地址中填入了服務器的公…

vb6 打印選項對話框_圖紙打印次數太多,不知道哪次才是最新的?用打印戳記區分效果好...

原創:就說我在開發區使用AutoCAD從事設計工作的朋友們不知道有沒遇到過這種情況:圖紙在反復修改打印的過程中,由于圖紙內容高度相似,往往搞不清究竟哪個才是最新版本的圖紙了。這種情況下,細致入微地去核對非常麻煩&am…

安卓文本編輯器php cpp,用安卓原生控件封裝一個簡易的富文本編輯器

最近接到項目需求:移動端原生寫一個富文本編輯器。 ( ⊙ o ⊙ )從沒遇到過富文本要用原生寫的,然后就查閱各種資料。然后結合自己的思路:其實安卓的富文本編輯器就是一個 “容器”。那么接下來我就帶給大家說一說我自定義這個富文本編…

python和nltk自然語言處理書評_Python和NLTK自然語言處理

模塊1 NLTK基礎知識第 1章 自然語言處理簡介 31.1 為什么要學習NLP 41.2 從Python的基本知識開始 71.2.1 列表 71.2.2 自助 81.2.3 正則表達式 91.2.4 詞典 111.2.5 編寫函數 111.3 NLTK 131.4 試一試 181.5 本章小結 18第 2章 文本的整理和清洗 192.…