鍍金池/ 教程/ Python/ 二、模塊的使用
二、Enum 的源碼
前言
一、Python 模塊簡介
一、List(列表)
五、匿名函數(shù)
三、什么是元類
二、循環(huán)語句
二、模塊的使用
三、第一個 Python 程序
線程與進程
Python
三、條件語句和循環(huán)語句綜合實例
四、對象的描述器
三、類的屬性
一、迭代
五、迭代器和生成器綜合例子
六、運算符相關(guān)的魔術(shù)方法
一、枚舉類的使用
前言
一、簡明概述
二、Python 的基本數(shù)據(jù)類型
多線程編程
五、作用域
四、包
四、枚舉的比較
四、Python 中的變量
六、類的多態(tài)
一、Python 中類也是對象
一、Python 的 Magic Method
前言
四、生成器
一、面向?qū)ο蟮母拍?/span>
五、類的繼承
二、類
二、使用 <code>type()</code> 動態(tài)創(chuàng)建類
進程
二、set
三、主模塊和非主模塊
一、字典(Dictionary)
前言
前言
前言
前言
四、集成開發(fā)環(huán)境(IDE): PyCharm
前言
四、函數(shù)的參數(shù)
三、lsit 生成式(列表生成式)
四、自定義元類
四、類的方法
二、函數(shù)傳值問題
二、注釋
一、條件語句
一、Python 語法的簡要說明
三、函數(shù)返回值
三、基本數(shù)據(jù)類型轉(zhuǎn)換
三、屬性的訪問控制
二、Python 的安裝
前言
三、命名規(guī)范
一、Python 自定義函數(shù)的基本步驟
三、自定義類型的枚舉
五、自定義容器(Container)
二、Python 迭代器
前言
二、tuple(元組)
一、Python 簡介
前言
前言
前言
二、構(gòu)造(<code>__new__</code>)和初始化(<code>__init__</code>)
前言

二、模塊的使用

1、import

Python 模塊的使用跟其他編程語言也是類似的。你要使用某個模塊,在使用之前,必須要導(dǎo)入這個模塊。導(dǎo)入模塊我們使用關(guān)鍵字 import

import 的語法基本如下:

import module1[, module2[,... moduleN]

比如我們使用標(biāo)準(zhǔn)庫模塊中的 math 模塊。當(dāng)解釋器遇到 import 語句,如果模塊在當(dāng)前的搜索路徑就會被導(dǎo)入。

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-

import math

_author_ = '兩點水'

print(math.pi)

輸出的結(jié)果:

3.141592653589793

一個模塊只會被導(dǎo)入一次,不管你執(zhí)行了多少次 import。這樣可以防止導(dǎo)入模塊被一遍又一遍地執(zhí)行。

當(dāng)我們使用 import 語句的時候,Python 解釋器是怎樣找到對應(yīng)的文件的呢?

這就涉及到 Python 的搜索路徑,搜索路徑是由一系列目錄名組成的,Python 解釋器就依次從這些目錄中去尋找所引入的模塊。這看起來很像環(huán)境變量,事實上,也可以通過定義環(huán)境變量的方式來確定搜索路徑。搜索路徑是在 Python 編譯或安裝的時候確定的,安裝新的庫應(yīng)該也會修改。搜索路徑被存儲在sys 模塊中的 path 變量 。

因此,我們可以查一下路徑:

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

import sys

print(sys.path)

輸出結(jié)果:

['C:\\Users\\Administrator\\Desktop\\Python\\Python8Code', 'G:\\PyCharm 2017.1.4\\helpers\\pycharm', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36\\python36.zip', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36\\DLLs', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36\\lib', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36\\lib\\site-packages', 'C:\\Users\\Administrator\\Desktop\\Python\\Python8Code\\com\\Learn\\module\\sys']

2、from···import

有沒有想過,怎么直接導(dǎo)入某個模塊中的屬性和方法呢?

Python 中,導(dǎo)入一個模塊的方法我們使用的是 import 關(guān)鍵字,這樣做是導(dǎo)入了這個模塊,這里需要注意了,這樣做只是導(dǎo)入了模塊,并沒有導(dǎo)入模塊中具體的某個屬性或方法的。而我們想直接導(dǎo)入某個模塊中的某一個功能,也就是屬性和方法的話,我們可以使用 from···import 語句。

語法如下:

from modname import name1[, name2[, ... nameN]]

看完簡介后可能會想, from···importimport 方法有啥區(qū)別呢?

想知道區(qū)別是什么,觀察下面兩個例子:

import 導(dǎo)入 sys 模塊,然后使用 version 屬性

from···import和 import的區(qū)別1

from···import 直接導(dǎo)入 version 屬性

from···import和 import的區(qū)別2

3、from ··· import *

通過上面的學(xué)習(xí),我們知道了 from sys import version 可以直接導(dǎo)入 version 屬性。但是如果我們想使用其他的屬性呢?比如使用 sys 模塊中的 executable ,難道又要寫多一句 from sys import executable ,兩個還好,如果三個,四個呢?難道要一直這樣寫下去?

這時候就需要 from ··· import * 語句了,這個語句可以把某個模塊中的所有方法屬性都導(dǎo)入。比如:

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-

from sys import *

print(version)
print(executable)

輸出的結(jié)果為:

3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)]
C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe

注意:這提供了一個簡單的方法來導(dǎo)入一個模塊中的所有方法屬性。然而這種聲明不該被過多地使用。