欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中規(guī)范定義命名空間的一些建議

 更新時(shí)間:2016年06月04日 12:03:17   作者:mattkang  
命名空間是Python程序的一大根本,編程時(shí)持命名空間的整潔還是十分必要的,這里就來(lái)為大家總結(jié)Python中規(guī)范定義命名空間的一些建議,需要的朋友可以參考下

API的設(shè)計(jì)是一個(gè)藝術(shù)活。往往需要其簡(jiǎn)單、易懂、整潔、不累贅。
很多時(shí)候,我們?cè)诘讓臃庋b一個(gè)方法給高層用,而其它的方法只是為了輔助這個(gè)方法的。
也就是說(shuō)我們只需要暴露這個(gè)方法就行,不用關(guān)心這個(gè)方法是怎么實(shí)現(xiàn)的,不用關(guān)心其它輔助方法的存在。
在Python中,有幾種策略來(lái)保持命名空間的整潔。

1.變量命名用下劃線_開(kāi)頭
下劃線_開(kāi)頭的變量在其它模塊from xxx import *的時(shí)候不被import。
如果你看decimal的源碼,就會(huì)發(fā)現(xiàn)多次把import 的模塊弄成下劃線_開(kāi)頭的別名。
http://hg.python.org/cpython/file/2.7/Lib/decimal.py
比如

import copy as _copy
import math as _math
import numbers as _numbers

這不是蛋疼,是為了不污染命名空間

2.定義__all__
python的魔術(shù)方法實(shí)在是靈活。
假設(shè)我模塊中有3個(gè)方法a(),b(),c()
我只是要暴露a而已,不需要暴露b和c。
這時(shí)__all__=[a]
在其它模塊from xxxmodule import *的時(shí)候就只import了a了。
而且在開(kāi)發(fā)者閱讀源碼的時(shí)候,看到了__all__,一下子就知道要暴露的是哪些方法,而不是一堆代碼無(wú)從下手。

3.在使用了這個(gè)變量后刪掉
通過(guò)del xxx刪掉。
這樣在dir(xxxmodule)的時(shí)候就減少了dir出來(lái)滿屏的變量了。
同樣在decimal的源碼,可以看到使用了正則表達(dá)式模塊re之后,用del re刪掉了。
還有一種方法就是把import語(yǔ)句放在函數(shù)內(nèi),將其限制在局部作用域中。感覺(jué)這種方法不pythonic,就不推薦了。

相關(guān)文章

  • Tensorflow卷積實(shí)現(xiàn)原理+手寫(xiě)python代碼實(shí)現(xiàn)卷積教程

    Tensorflow卷積實(shí)現(xiàn)原理+手寫(xiě)python代碼實(shí)現(xiàn)卷積教程

    這篇文章主要介紹了Tensorflow卷積實(shí)現(xiàn)原理+手寫(xiě)python代碼實(shí)現(xiàn)卷積教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-05-05
  • python中模塊查找的原理與方法詳解

    python中模塊查找的原理與方法詳解

    這篇文章主要給大家介紹了python中模塊查找的原理與方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08
  • Python3寫(xiě)入文件常用方法實(shí)例分析

    Python3寫(xiě)入文件常用方法實(shí)例分析

    這篇文章主要介紹了Python3寫(xiě)入文件常用方法,以實(shí)例形式較為詳細(xì)分析了常規(guī)寫(xiě)入文件方法與改進(jìn)方法,以及分段寫(xiě)入文件的技巧,需要的朋友可以參考下
    2015-05-05
  • Windows下安裝python2.7及科學(xué)計(jì)算套裝

    Windows下安裝python2.7及科學(xué)計(jì)算套裝

    這篇文章主要向大家介紹的是在windows系統(tǒng)下安裝python 2.7以及numpy安裝、six安裝、dateutil安裝、pyparsing安裝、matplotlib安裝和scipy安裝的方法,分享給大家,需要的小伙伴可以參考下,相對(duì)來(lái)說(shuō),windows下的安裝還是比較簡(jiǎn)單的。
    2015-03-03
  • 將字典轉(zhuǎn)換為DataFrame并進(jìn)行頻次統(tǒng)計(jì)的方法

    將字典轉(zhuǎn)換為DataFrame并進(jìn)行頻次統(tǒng)計(jì)的方法

    下面小編就為大家分享一篇將字典轉(zhuǎn)換為DataFrame并進(jìn)行頻次統(tǒng)計(jì)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • python3實(shí)現(xiàn)表白神器

    python3實(shí)現(xiàn)表白神器

    這篇文章主要為大家詳細(xì)介紹了python3實(shí)現(xiàn)表白神器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • 關(guān)于numpy和torch.tensor的張量的操作

    關(guān)于numpy和torch.tensor的張量的操作

    這篇文章主要介紹了關(guān)于numpy和torch.tensor的張量的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Python?NumPy教程之?dāng)?shù)據(jù)類(lèi)型對(duì)象詳解

    Python?NumPy教程之?dāng)?shù)據(jù)類(lèi)型對(duì)象詳解

    每個(gè)?ndarray?都有一個(gè)關(guān)聯(lián)的數(shù)據(jù)類(lèi)型?(dtype)?對(duì)象。這個(gè)數(shù)據(jù)類(lèi)型對(duì)象(dtype)告訴我們數(shù)組的布局。本文將通過(guò)示例詳細(xì)講講NumPy的數(shù)據(jù)類(lèi)型對(duì)象,需要的可以參考一下
    2022-08-08
  • Python?pytorch實(shí)現(xiàn)繪制一維熱力圖

    Python?pytorch實(shí)現(xiàn)繪制一維熱力圖

    熱力圖是非常特殊的一種圖,可以顯示不可點(diǎn)擊區(qū)域發(fā)生的事情,這篇文章主要為大家介紹了如何利用pytorch實(shí)現(xiàn)繪制一維熱力圖,感興趣的可以了解一下
    2023-05-05
  • tensorflow中Dense函數(shù)的具體使用

    tensorflow中Dense函數(shù)的具體使用

    本文主要介紹了tensorflow中Dense函數(shù)的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03

最新評(píng)論