小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Python第一章-編碼規(guī)范

 小世界的野孩子 2020-06-05

Python的基礎(chǔ)知識

一、編碼規(guī)范

PEP8[^ 注] 編碼規(guī)范

Guido的關(guān)鍵點之一是:代碼更多是用來讀而不是寫。編碼規(guī)范旨在改善Python代碼的可讀性。

風格指南強調(diào)一致性。項目、模塊或函數(shù)保持一致都很重要。

[^ 注]: PEP是Python Enhancement Proposals的縮寫。一個PEP是一份為Python社區(qū)提供各種增強功能的技術(shù)規(guī)格,也是提交新特性,以便讓社區(qū)指出問題,精確化技術(shù)文檔的提案。《Python Enhancement Proposal #8》 (8號python增強提案)又叫PEP8,他針對的python代碼格式而編訂的風格指南。

1.1 注釋

所謂注釋,就是在程序中添加解釋說明,能夠大大增強程序的可讀性。注釋中的內(nèi)容,不是真正要執(zhí)行的程序,起輔助說明作用

單行注釋

以#開頭,#右邊的所有東西當做說明

# 我是注釋,可以在里寫一些功能說明之類的哦
print('hello world')

多行注釋(文檔注釋)

使用3引號,3個單引號或者3個雙引號

'''
我是多行注釋,可以寫很多很多行的功能說明
        這就是我牛X指出

        哈哈哈。。。
 '''
"""
我也是多行注釋啊,巴拉巴拉。。
"""

1.2 縮進

每級縮進用4個空格

python 不使用 {} 來組織代碼,完全依靠縮進,所以縮進的格式非常重要。

使用4個空格來縮進,不要使用 tab ,更不能 tab 和 空格混用。

使用空格的時候永遠使用4個空格,不能使用其他數(shù)量的空格,否則語法錯誤。

建議把開發(fā)工具的tab改成4個空格。

1.3 分號

python不嚴格要求使用分號( ;)。

理論上應該每行放一句代碼。每行代碼之后可以添加 分號; 也可以不添加 分號;

盡量不要多句代碼放在一行,如果放在一行,則需要添加分號把他們隔開。

1.4 行長度

每行不超過80個字符(最大行寬為79字符,文本長塊,比如文檔字符串或注釋,行長度應限制為72個字符。)

以下情況除外:

  1. 長的導入模塊語句
  2. 注釋里的URL

不要使用反斜杠連接行。
如果一個文本字符串在一行放不下, 可以使用圓括號來實現(xiàn)隱式行連接:

x = ('這是一個非常長非常長非常長非常長 '
     '非常長非常長非常長非常長非常長非常長的字符串')

1.5 空行

兩行空行分割頂層函數(shù)和類的定義。
類的方法定義用單個空行分割。
額外的空行可以必要的時候用于分割不同的函數(shù)組,但是要盡量節(jié)約使用。
額外的空行可以必要的時候在函數(shù)中用于分割不同的邏輯塊,但是要盡量節(jié)約使用。

1.6 源文件編碼

在核心Python發(fā)布的代碼應該總是使用UTF-8(ASCII在Python 2)。

# Python推薦使用 
#-*- coding:utf-8 -*-
# 簡化寫法
# encoding: utf-8  

Python 3(默認UTF-8)不應有編碼聲明。

1.7 導入在單行

import os
from urllib2 import request

導入始終在文件的頂部,在模塊注釋和文檔字符串之后,在模塊全局變量和常量之前。

導入順序如下:標準庫進口,相關(guān)的第三方庫,本地庫。各組的導入之間要有空行。

禁止使用通配符導入。

1通配符導入(from import *)應該避免,因為它不清楚命名空間有哪些名稱存,混淆讀者和許多自動化的工具。

1.8 括號

寧缺毋濫的使用括號,除非是用于實現(xiàn)行連接, 否則不要在返回語句或條件語句中使用括號. 不過在元組兩邊使用括號是可以的.

括號里邊避免空格

# 括號里邊避免空格
# Yes
spam(ham[1], {eggs: 2})
# No
spam( ham[ 1 ], { eggs: 2 } )

1.9 空格

按照標準的排版規(guī)范來使用標點兩邊的空格

1.9.1括號內(nèi)不要有空格.

Yes: spam(ham[1], {eggs: 2}, [])

No:  spam( ham[ 1 ], { eggs: 2 }, [ ] )

1.9.2 不要在逗號, 分號, 冒號前面加空格, 但應該在它們后面加(除了在行尾).

Yes: x = 4
  if x == 4:
    y = 2
    print(x,y)
    x,y = y,x  #交換了兩個數(shù)
    print(x,y)

No:  if x == 4 :
         print(x , y)
     x , y = y , x

1.9.3參數(shù)列表, 索引或切片的左括號前不應加空格.

Yes: spam(1)

no: spam (1)

Yes: dict['key'] = list[index]

No:  dict ['key'] = list [index]

1.9.4在二元操作符兩邊都加上一個空格,

比如賦值(=), 比較(==, <, >, !=, <>, <=, >=, in, not in, is, is not), 布爾(and, or, not). 至于算術(shù)操作符兩邊的空格該如何使用, 需要你自己好好判斷. 不過兩側(cè)務必要保持一致.

Yes: x == 1

No:  x<1

但是注意:當'='用于指示關(guān)鍵字參數(shù)或默認參數(shù)值時, 不要在其兩側(cè)使用空格.

Yes: def complex(real, imag=0.0): return magic(r=real, i=imag)

No:  def complex(real, imag = 0.0): return magic(r = real, i = imag)

用空格來垂直對齊多行間的標記, 因為這會成為維護的負擔(適用于:, #, =等):

Yes:
     foo = 1000   # 注釋
     long_name = 2  # 注釋不需要對齊

     dictionary = {
         "foo": 1,
         "long_name": 2,
         }

No:	./ˉ9*((XQ))
     foo       = 1000  # 注釋
     long_name = 2     # 注釋不需要對齊

     dictionary = {
         "foo"      : 1,
         "long_name": 2,
         }

強烈不建議使用復合語句(Compound statements: 多條語句寫在同一行)。

if foo == 'blah': print(100)

2.1 標識符和關(guān)鍵字

標識符就是對程序中變量,常量,類,方法,參數(shù)等命名時使用的字符序列。

關(guān)鍵字(保留字)就是python中預先保留下來,具有特殊含義的詞。

Python的關(guān)鍵字:

and	as	assert	break	class	continue	def	del	elif	else	except	
exec	finally	for	from	global	if	in	import	is	lambda	not	or	pass
print	raise	return	try	while	with	yield

命名規(guī)則如下(會背)

  1. 標識符由字母,下劃線,和數(shù)字組成,且數(shù)字不能開頭

  2. python 大小寫敏感。 a 和 A 是完全不同的。

  3. 不能是python關(guān)鍵字。

編碼習慣:

  1. 見名知意

  2. 使用有意義的,英文單詞或詞組,絕對不要使用漢語拼音

  3. 下劃線命名和駝峰式命名

    ? 下劃線:student_name

    ? 小駝峰:studentName

    ? 大駝峰:StudentNameTable

  4. 避免采用的名字

決不要用字符'l'(小寫字母el),'O'(大寫字母oh),或 'I'(大寫字母eye) 作為單個字符的變量名。一些字體中,這些字符不能與數(shù)字1和0區(qū)別。用'L' 代替'l'時。


補充:pycharm的一些常用快捷鍵

ctrl+y:刪除當前行

ctrl+d:復制當前行

ctrl+/:添加或刪除注釋

ctrl+alt+L:格式化

shift+enter:強制換行

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多