它是乙個string元素組成的list變數,定義了當你使用from import *
匯入某個模組的時候能匯出的符號(這裡代表變數,函式,類等)。
舉個栗子,下面的**在foo.py
中,明確的匯出了符號bar
,baz
__all__ = ['bar', '
baz'
]waz = 5bar = 10
def baz(): return
'baz
匯入實現如下:
from foo import *barprint
baz#
下面的**就會丟擲異常,因為 "waz"並沒有從模組中匯出,因為 __all__ 沒有定義
print waz
如果把foo.py
中__all__
給注釋掉,那麼上面的**執行起來就不會有問題,import *
預設的行為是從給定的命名空間匯出所有的符號(當然下劃線開頭的私有變數除外)。
需要注意的是__all__
只影響到了from import *
這種匯入方式,對於from import
匯入方式並沒有影響,仍然可以從外部匯入。
Python中常見演算法技巧庫
bisect.bisect left list,x 在list中插入x以保證list仍然有序,返回這個x的插入點的index,如果x出現在list中,則返回x第一次出現的左側index 換句話說就是第一次出現這個數字的index bisect.bisect right list,x 在list中插入...
python中常見庫及模組用途
簡介requests是使用apache2 licensed 許可證的http庫。from bs4 import beautifulsoup import requests r requests.session s r.get s.encoding utf 8 text s.text soup bea...
python中常見的問題
python入門所必須掌握的知識 1.python的直譯器的版本太多到底是要哪乙個版本?其實這個問題是非常的難回答的,因為我們每個公司所使用的版本都是不一樣的,儘管這樣。公司和個人都是選擇相當於比較穩定的版本來開發。我目前在學習的版本是python2.7 python入門容易但是精通難啊 千萬別以為...