真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

改善Python程序的建議-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買(mǎi)多久送多久,劃算不套路!

成都創(chuàng)新互聯(lián)公司是少有的網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作、營(yíng)銷(xiāo)型企業(yè)網(wǎng)站、成都小程序開(kāi)發(fā)、手機(jī)APP,開(kāi)發(fā)、制作、設(shè)計(jì)、買(mǎi)友情鏈接、推廣優(yōu)化一站式服務(wù)網(wǎng)絡(luò)公司,從2013年開(kāi)始,堅(jiān)持透明化,價(jià)格低,無(wú)套路經(jīng)營(yíng)理念。讓網(wǎng)頁(yè)驚喜每一位訪客多年來(lái)深受用戶(hù)好評(píng)

改善Python程序的建議?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

建議1:理解Pythonic概念

·Pythonic定義

·pythonic:充分體現(xiàn)Python自身特色的代碼風(fēng)格。

·代碼風(fēng)格

    ·交換兩個(gè)數(shù)字

利用Python的packaging/unpackaging機(jī)制。

a, b = b, a

    ·遍歷一個(gè)容器

for i in alist:
  do_sth_with(i)

    ·安全地關(guān)閉文件描述符

with open(path, 'r') as f:
  do_sth_with(f)

寫(xiě)出來(lái)的代碼具有Python味,而不是看著像C語(yǔ)言代碼。

·標(biāo)準(zhǔn)庫(kù)

字符串格式化一般這樣寫(xiě):

print("Hello %s!" % ('Tom',))

但是真正具有Pythonic的代碼是這樣的:

print("{great} from {language}.".format(greet = 'Hello, World', language = 'Python'))

·Pythonic的庫(kù)或框架

Flask:

from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
  return "Hello, World!"
if __name__ == "__main__":
  app.run()

建議2:編寫(xiě)Pythonic代碼

·避免劣化代碼

    ·避免只用大小寫(xiě)來(lái)區(qū)分不同的對(duì)象。

    ·避免使用容易引起混淆的名稱(chēng)。

    ·不要害怕過(guò)長(zhǎng)的變量名稱(chēng)。

·深入認(rèn)識(shí)Python有助于編寫(xiě)Pythonic代碼

    ·掌握Python提供給我們的語(yǔ)言特性和庫(kù)特性(Language Reference和Library Reference)。

    ·深入學(xué)習(xí)業(yè)界公認(rèn)的比較Pythonic的代碼,比如Flask、gevent和requests等。

    ·pep-8——Python編碼風(fēng)格指南。(其它還有:Pychecker、Pylint、Pyflakes等)

建議3:理解Python與C語(yǔ)言的不同之處(切忌用C語(yǔ)言的思維和風(fēng)格來(lái)編寫(xiě)Python代碼)

·“縮進(jìn)”與“{}”

python使用嚴(yán)格的代碼縮進(jìn)方式分隔代碼塊。(unexpected indent錯(cuò)誤)

·“與”

沒(méi)有區(qū)別,注意轉(zhuǎn)義。

·三元操作符“?:”

三元操作符的語(yǔ)法形式為:C?X:Y,表示當(dāng)條件C為T(mén)rue時(shí),取值X,C為False時(shí),取值Y。在Python中的等價(jià)形式為X if C else Y。

·switch…case

Python沒(méi)有像C語(yǔ)言的switch…case分支語(yǔ)句。

通過(guò)if…elif…else實(shí)現(xiàn):

if n == 0:
  do_sth
elif n > 0:
  do_sth
else:
  do_sth

還可以通過(guò)跳轉(zhuǎn)表實(shí)現(xiàn)。

def f(x):
  return {
    0: "You typedzero.\n",
    1: "You are in top.\n",
    2: "n is an even number.\n"
}.get(n, "Only single-digit numbers are allowed\n")

建議4:在代碼中適當(dāng)添加注釋?zhuān)ㄓ脕?lái)解釋代碼的功能、原因和想法;對(duì)于不再需要的代碼應(yīng)該直接刪除而不是注釋掉,可以使用版本控制工具找回代碼)

·使用塊或者行注釋的時(shí)候僅僅注釋那些復(fù)雜的操作、算法,還有可能別人難以理解的技巧或者不夠一目了然的代碼。

·注釋和代碼隔開(kāi)一定的距離,同時(shí)在塊注釋之后最好能夠多留幾行空白再寫(xiě)代碼。

·給外部可訪問(wèn)的函數(shù)和方法添加注釋文檔。注釋要清楚地描述方法的功能,并對(duì)參數(shù)、返回值以及可能發(fā)生的異常進(jìn)行說(shuō)明,使得外部調(diào)用它的人員僅僅看docstring就能正確使用。較為復(fù)雜的內(nèi)部方法也需要進(jìn)行注釋。(Pycharm可以幫助解決)

·推薦在文件頭中包含copyright申明、模塊描述等。(Pycharm可以幫助解決)

建議5:通過(guò)適當(dāng)添加空行使得代碼布局更為優(yōu)雅合理

·在一組代碼表達(dá)完一個(gè)完整的思路之后,應(yīng)該用空白行進(jìn)行間隔(if塊、while塊等)

·盡量保持上下文語(yǔ)義的易理解性(調(diào)用時(shí)最好調(diào)用者在上,被調(diào)用者在下)

·避免過(guò)長(zhǎng)的代碼行,每行最好不要超過(guò)80個(gè)字符。(Pycharm可以幫助解決)

·不要為了保持水平對(duì)齊而使用多余的空格

·一行不要有多個(gè)命令

·空格的使用能夠在需要強(qiáng)調(diào)的時(shí)候警示讀者,在疏松關(guān)系的實(shí)體間起到分隔作用,而在具有緊密關(guān)系的時(shí)候不要使用空格。

建議6:編寫(xiě)函數(shù)的4個(gè)原則

·函數(shù)設(shè)計(jì)要盡量短小,嵌套層次不宜過(guò)深。

·函數(shù)聲明應(yīng)該做到合理、簡(jiǎn)單、易于使用。

·函數(shù)參數(shù)設(shè)計(jì)應(yīng)該考慮向下兼容。

·一個(gè)函數(shù)只做一件事情,盡量保證函數(shù)語(yǔ)句粒度的一致性。

建議7:將常量集中到一個(gè)文件

·constant.py

class _const:
  class ConstError(TypeError): pass
  class ConstCaseError(ConstError): pass
  def __setattr__(self, name, value):
    if self.__dict__.has_key(name):
      raise(self.ConstError, "Can't change const.%s" % name)
    if not name.isupper():
      raise(self.ConstCaseError, "const name %s is not all uppercase" % name)
    self.__dict__[name] = value
import sys, const
sys.modules[__name__] = _const()
const.MY_CONSTANT = 1
const.MY_SECOND_CONSTANT = 2
const.MY_THIRD_CONSTANT = 'A'
const.MY_FORTH_CONSTANT = 'B'

·其他模塊中引用

from constant import const
print(const.MY_SECOND_CONSTANT)

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。


文章題目:改善Python程序的建議-創(chuàng)新互聯(lián)
標(biāo)題URL:http://weahome.cn/article/idpos.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部