Python.中模組和包的概念__Python

來源:互聯網
上載者:User
Python中模組和包的概念 Table of Contents 1 模組(Module)和包(Package) 1.1 命名空間(Namespace) 1.2 模組(Module) 1.3 包(Package) 1 模組(Module)和包(Package) 1.1 命名空間(Namespace)

由於在Python中一切皆為對象(Object), 想要好好理解Module和Package,一定要先理解Namespace的概念。 所謂Namespace,是指標示符的可見範圍。對於Python而言,常見的Namespace主要有以下幾種: Build-in Namespace (內建命名空間) Global Namespace (全域命名空間) Local Namespace (局部命名空間)

有了命名空間的概念,可以有效解決函數或者是變數重名的問題。不同的命名空間中允許出現相同的函數名或者 是變數名。它們彼此之間不會相互影響,例如在Namespace A和B中同時有一個名為var的變數,對A.var賦值並不 會改變B.var的值。 1.2 模組(Module)

Python中的一個Module對應的就是一個.py檔案。其中定義的所有函數或者是變數都屬於這個Module。這個Module 對於所有函數而言就相當於一個全域的命名空間。而每個函數又都有自己局部的命名空間。

# test.py '''This is only a test module'''age = 0def printHello():  print "Hello, world!"if __name__ == '__main__':   printHello()

我們可這樣來使用這個module, 用t來作為test的別名

>>> import test as t>>> t.age0>>> t.age = 11>>> t.printHello()Hello, world!>>> print t.__doc__This is only a test module

當然,我們也可以這樣來使用:

>>> form test import *>>> age0>>> printHello()

你一定有注意到'__main__'的條件判斷,由於每一個module都有__name__的屬性,只有當直接運行 這個module的時候,__name__屬性才會等於__main__。當它被import的時候,你可以完全當它不存在。 1.3 包(Package)

所謂Package, 就是一堆module的集合,也就一堆.py檔案。 你可以用如下方式來建立一個package 建立一個folder名為test 在test檔案夾下建立一個空的__init__.py檔案。 在test檔案夾下建立下py檔案,名為a.py

# a.pydef sayHello():  print "Hello, world!">>> import test.a as t>>> t.sayHello()Hello, world!

Package 提供了一種很好的管理module的方式,可以有效減少module的命名conflict,保持較好的樹型結構。

HTML generated by org-mode 6.31a in emacs 23

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.