在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Python/ 一、簡(jiǎn)明概述
二、Enum 的源碼
前言
一、Python 模塊簡(jiǎn)介
一、List(列表)
五、匿名函數(shù)
三、什么是元類
二、循環(huán)語(yǔ)句
二、模塊的使用
三、第一個(gè) Python 程序
線程與進(jìn)程
Python
三、條件語(yǔ)句和循環(huán)語(yǔ)句綜合實(shí)例
四、對(duì)象的描述器
三、類的屬性
一、迭代
五、迭代器和生成器綜合例子
六、運(yùn)算符相關(guān)的魔術(shù)方法
一、枚舉類的使用
前言
一、簡(jiǎn)明概述
二、Python 的基本數(shù)據(jù)類型
多線程編程
五、作用域
四、包
四、枚舉的比較
四、Python 中的變量
六、類的多態(tài)
一、Python 中類也是對(duì)象
一、Python 的 Magic Method
前言
四、生成器
一、面向?qū)ο蟮母拍?/span>
五、類的繼承
二、類
二、使用 <code>type()</code> 動(dòng)態(tài)創(chuàng)建類
進(jìn)程
二、set
三、主模塊和非主模塊
一、字典(Dictionary)
前言
前言
前言
前言
四、集成開發(fā)環(huán)境(IDE): PyCharm
前言
四、函數(shù)的參數(shù)
三、lsit 生成式(列表生成式)
四、自定義元類
四、類的方法
二、函數(shù)傳值問題
二、注釋
一、條件語(yǔ)句
一、Python 語(yǔ)法的簡(jiǎn)要說明
三、函數(shù)返回值
三、基本數(shù)據(jù)類型轉(zhuǎn)換
三、屬性的訪問控制
二、Python 的安裝
前言
三、命名規(guī)范
一、Python 自定義函數(shù)的基本步驟
三、自定義類型的枚舉
五、自定義容器(Container)
二、Python 迭代器
前言
二、tuple(元組)
一、Python 簡(jiǎn)介
前言
前言
前言
二、構(gòu)造(<code>__new__</code>)和初始化(<code>__init__</code>)
前言

一、簡(jiǎn)明概述

1、編碼

  • 如無特殊情況, 文件一律使用 UTF-8 編碼
  • 如無特殊情況, 文件頭部必須加入#-*-coding:utf-8-*-標(biāo)識(shí)

2、代碼格式

2.1、縮進(jìn)

  • 統(tǒng)一使用 4 個(gè)空格進(jìn)行縮進(jìn)

2.2、行寬

每行代碼盡量不超過 80 個(gè)字符(在特殊情況下可以略微超過 80 ,但最長(zhǎng)不得超過 120)

理由:

  • 這在查看 side-by-side 的 diff 時(shí)很有幫助
  • 方便在控制臺(tái)下查看代碼
  • 太長(zhǎng)可能是設(shè)計(jì)有缺陷

2.3、引號(hào)

簡(jiǎn)單說,自然語(yǔ)言使用雙引號(hào),機(jī)器標(biāo)示使用單引號(hào),因此 代碼里 多數(shù)應(yīng)該使用 單引號(hào)

  • 自然語(yǔ)言 使用雙引號(hào) "..."
    例如錯(cuò)誤信息;很多情況還是 unicode,使用u"你好世界"
  • 機(jī)器標(biāo)識(shí) 使用單引號(hào) '...' 例如 dict 里的 key
  • 正則表達(dá)式 使用原生的雙引號(hào) r"..."
  • 文檔字符串 (docstring) 使用三個(gè)雙引號(hào) """......"""

2.4、空行

  • 模塊級(jí)函數(shù)和類定義之間空兩行;
  • 類成員函數(shù)之間空一行;
class A:

    def __init__(self):
        pass

    def hello(self):
        pass

def main():
    pass   
  • 可以使用多個(gè)空行分隔多組相關(guān)的函數(shù)
  • 函數(shù)中可以使用空行分隔出邏輯相關(guān)的代碼

2.5、編碼

  • 文件使用 UTF-8 編碼
  • 文件頭部加入#-*-conding:utf-8-*-標(biāo)識(shí)

3、import 語(yǔ)句

  • import 語(yǔ)句應(yīng)該分行書寫
# 正確的寫法
import os
import sys

# 不推薦的寫法
import sys,os

# 正確的寫法
from subprocess import Popen, PIPE
  • import語(yǔ)句應(yīng)該使用 absolute import
# 正確的寫法
from foo.bar import Bar

# 不推薦的寫法
from ..bar import Bar
  • import語(yǔ)句應(yīng)該放在文件頭部,置于模塊說明及docstring之后,于全局變量之前;
  • import語(yǔ)句應(yīng)該按照順序排列,每組之間用一個(gè)空行分隔
import os
import sys

import msgpack
import zmq

import foo
  • 導(dǎo)入其他模塊的類定義時(shí),可以使用相對(duì)導(dǎo)入
from myclass import MyClass
  • 如果發(fā)生命名沖突,則可使用命名空間
import bar
import foo.bar

bar.Bar()
foo.bar.Bar()

4、空格

  • 在二元運(yùn)算符兩邊各空一格[=,-,+=,==,>,in,is not, and]:
# 正確的寫法
i = i + 1
submitted += 1
x = x * 2 - 1
hypot2 = x * x + y * y
c = (a + b) * (a - b)

# 不推薦的寫法
i=i+1
submitted +=1
x = x*2 - 1
hypot2 = x*x + y*y
c = (a+b) * (a-b)
  • 函數(shù)的參數(shù)列表中,,之后要有空格
# 正確的寫法
def complex(real, imag):
    pass

# 不推薦的寫法
def complex(real,imag):
    pass
  • 函數(shù)的參數(shù)列表中,默認(rèn)值等號(hào)兩邊不要添加空格
# 正確的寫法
def complex(real, imag=0.0):
    pass

# 不推薦的寫法
def complex(real, imag = 0.0):
    pass
  • 左括號(hào)之后,右括號(hào)之前不要加多余的空格
# 正確的寫法
spam(ham[1], {eggs: 2})

# 不推薦的寫法
spam( ham[1], { eggs : 2 } )
  • 字典對(duì)象的左括號(hào)之前不要多余的空格
# 正確的寫法
dict['key'] = list[index]

# 不推薦的寫法
dict ['key'] = list [index]
  • 不要為對(duì)齊賦值語(yǔ)句而使用的額外空格
# 正確的寫法
x = 1
y = 2
long_variable = 3

# 不推薦的寫法
x             = 1
y             = 2
long_variable = 3

5、換行

Python 支持括號(hào)內(nèi)的換行。這時(shí)有兩種情況。

1) 第二行縮進(jìn)到括號(hào)的起始處

foo = long_function_name(var_one, var_two,
                         var_three, var_four)

2) 第二行縮進(jìn) 4 個(gè)空格,適用于起始括號(hào)就換行的情形

def long_function_name(
        var_one, var_two, var_three,
        var_four):
    print(var_one)

使用反斜杠\換行,二元運(yùn)算符+ .等應(yīng)出現(xiàn)在行末;長(zhǎng)字符串也可以用此法換行

session.query(MyTable).\
        filter_by(id=1).\
        one()

print 'Hello, '\
      '%s %s!' %\
      ('Harry', 'Potter')

禁止復(fù)合語(yǔ)句,即一行中包含多個(gè)語(yǔ)句:

# 正確的寫法
do_first()
do_second()
do_third()

# 不推薦的寫法
do_first();do_second();do_third();

if/for/while一定要換行:

# 正確的寫法
if foo == 'blah':
    do_blah_thing()

# 不推薦的寫法
if foo == 'blah': do_blash_thing()

6、docstring

docstring 的規(guī)范中最其本的兩點(diǎn):

  1. 所有的公共模塊、函數(shù)、類、方法,都應(yīng)該寫 docstring 。私有方法不一定需要,但應(yīng)該在 def 后提供一個(gè)塊注釋來說明。
  2. docstring 的結(jié)束"""應(yīng)該獨(dú)占一行,除非此 docstring 只有一行。
"""Return a foobar
Optional plotz says to frobnicate the bizbaz first.
"""

"""Oneline docstring"""