python從小白到大牛課件-第5章編碼_第1頁
python從小白到大牛課件-第5章編碼_第2頁
python從小白到大牛課件-第5章編碼_第3頁
python從小白到大牛課件-第5章編碼_第4頁
python從小白到大牛課件-第5章編碼_第5頁
已閱讀5頁,還剩14頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

?

5.1?

5.2?

5.3?

5.4命名規范注釋規范導入規范代碼排版課程內容5.1

命名規范?

包名。全部小寫字母,中間可以由點分隔開,不 使用下劃線。作為命名空間,包名應該具有唯一

薦采用公司或組織

的倒置,如com.apple.quicktime.v2。?

模塊名。全部小寫字母,如果是多個單詞構成,可以用下劃線隔開,如dummy_threading。?

類名。采用大駝峰法命名法,如SplitViewController。?

異常名。異常屬于類,命名同類命名,但應該使用Error作為后綴。如FileNotFoundError。?

變量名。全部小寫字母,如果是多個單詞構成,可以用下劃線隔開。如果變量應用于模塊或函數

,則變量名可以單下劃線開頭;如果變量類

私有使用變量名可以雙下劃線開頭。不

名雙下劃線開頭和結尾的變量,這是Python保留的。另外,避免使用小寫L、大寫O和大寫I作為變量名。?

函數名和方法名。命名同變量命名。如balance_account、_push_cm_exit。?

常量名。全部大寫字母,如果是由多個單詞構成,可以用下劃線隔開,如YEAR和WEEK_OF_MONTH。Python中命名規范采用多種不同5.2

注釋規范5.2.1文件注釋2015

智捷東方科技###信息查看LICENSE.txt文件#描述:#

實現日期基本功能#歷史版本:#

2015-7-22:創建關東升#

2015-8-20:添加socket庫#

2015-8-22:添加math庫#5.2.2文檔注釋#!

/usr/bin/env

python3"""Base16,

Base32,

Base64

(RFC

3548),

Base85

and

Ascii85

data

encodings"""

①#

Modified

04-Oct-1995

by

Jack

Jansen

to

use

binascii

module#

Modified

30-Dec-2003

by

Barry

Warsaw

to

add

full

RFC

3548

support#

Modified

22-May-2007

by

Guido

van

Rossum

to

use

bytes

everywhereimport

reimport

structimport

binasciibytes_types

=

(bytes,

bytearray) #

Types

acceptable

as

binary

data……#

Base64

encoding/decoding

uses

binasciidef

b64encode(s,

altchars=None):"""Encode

the

bytes-like

object

s

using

Base64

and

return

a

bytes

object.

③Optional

altchars

should

be

a

byte

string

of

length

2

which

specifies

an

④……5.2.3代碼注釋#

Base32

encoding/decoding

must

be

done

in

Python

①_b32alphabet

=

b'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567'_b32tab2

=

None_b32rev

=

Nonedef

b32encode(s):"""Encode

the

bytes-like

object

s

using

Base32

and

return

a

bytes

object."""global

_b32tab2#

Delay

the

initialization

of

the

table

to

not

waste

memory

②#

if

the

function

is

never

called

③if

_b32tab2

is

None:……#

Pad

the

last

quantum

with

zero

bits

if

necessary

④ifleftover:s

=

s

+

b'\0'

*

(5

-leftover) #

Don't

use

+=

!encoded

=

bytearray()from_bytes

=

int.from_bytesb32tab2

=

_b32tab2……#

Adjust

for

any

leftover

partial

quantaif

leftover

==

1:encoded[-6:]

=

b'======'……5.2.4使用TODO注釋import

com.pkg2. o

as

module1from

com.pkg2. o

import

zy

=

20#

TODO函數print(y)

#

當前模塊變量yprint(module1.y)

#

com.pkg2.

o模塊變量yprint(z)

#

com.pkg2.

o模塊變量z打開TODO視圖查看TODO視圖5.3

導入規范每一個導入語句只能導入一個模塊,示例代碼如下:import

reimport

structimport

binascii不

:import

re,

struct,

binascii但是如何from

import后面可以多個代碼元素。from

codeop

import

piler,mand導入語句應該按照從通用到特殊的順序分組,順序是:標準庫→第庫→自己模塊,每一組之間有一個空行,而且組中模塊是按照英文字典順序排序的。import

io

①import

osimport

pkgutilimport

platformimport

reimport

sysimport

time

②from

html

import

unesc

③from

com.pkg1

import

example

④5.4代碼排版?

1.

import語句塊前后保留兩個空行?

2.函數?

3.類?

4.方法之前保留兩個空行,之前保留兩個空行之前保留一個空行?

5.兩個邏輯代碼塊之間應該保留一個空行5.4.1

空行?

1.

賦值符號“=”前后各有一個空格。?

2.所有的二元運算符都應該使用空格與操作數分開。?

3.一元運算符:算法運算符取反“-”和運算符取反“~”。?

4.括號內不要有空格,Python中括號包括:小括號“()”、中括號“[]”和大括號“{}”。?

5.不要在逗號、分號、冒號前面有空格,在他們后面有一個空格,除非該符號已經是行尾了。?

6.參數列表、索引或切片的左括號前不應有空格。5.4.2

空格5.4.3縮進class

isclassmethod(classmethod):method

=

Truedef

init

(self,

callable):callable.

is

method

=Truesuper().

init

(callable)def

new

(mcls,

name,

bases,

namespace,

**kwargs):cls

=

super().

new

(mcls,

name,

bases,

namespace,

**kwargs)for

base

in

bases:for

name

in

getattr(base,"

methods

",

set()):value

=

getattr(cls,

name,

None)if

getattr(value,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論