python的模組和包

來源:互聯網
上載者:User
文章目錄
  • 模組
模組

一個.py檔案就是一個python模組。

把一堆相關的python模組放在一個目錄下,再加上一個__init__.py檔案就構成了一個python
包,python包可以嵌套,嵌套之後有點像java的包。__init__.py檔案可以為空白,不過,一般它時而會包含一個__version__的變
量,儲存這個包的版本資訊,另外還有一個__all__的列表,包括要import 時要匯入的模組。當然,__init__.py的內容不是絕對的,也可以什麼都不寫,還可以加上其它任何自己認為需要的代碼。


* import 和from... import

匯入模組用import module或者from module import *,它們是有區別的:

import module會匯入module這個模組裡的所有標識,但是這些標識現在都在module名字空間下。

from module import
*也會匯入module中所有標識,但是標識不在module名字空間下了,它放到在當前名字空間裡。並且,這句話執行完之後,當前名字空間中並不存在
module這個標識。from ... import ...語句還可用於從一個模組中匯入部分標識,寫法是"from module import
標識名",這樣就只有指定的標識被匯入,這種方式可以精確控制匯入的內容,防止匯入整個模組造成名稱汙染。

import和from ... import還可用於匯入包。可以from 包.子包.模組 import 函數,也可以form 包.子包 import*,還可以from 包.子包 import 模組。

匯入模組或包按下面順序進行路徑尋找:

1.目前的目錄

2.環境變數PYTHONPATH所指的目錄列表

3.python解譯器的安裝目錄

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.