官术网_书友最值得收藏!

1.3.2 from ... import

導(dǎo)入函數(shù)還有另一種方法。例如,你可能希望訪問NumPy中的所有函數(shù),但又不想在函數(shù)前面輸入“numpy.”前綴。不妨嘗試以下命令:

from numpy import *
sqrt(2)

這很方便,但如果你想同時使用兩個不同的模塊,這可能會導(dǎo)致麻煩。有一個名為math的模塊,它也有一個sqrt函數(shù)。如果同時從mathnumpy導(dǎo)入所有函數(shù),那么在輸入sqrt(2)時會調(diào)用哪個模塊的函數(shù)?這在處理數(shù)字數(shù)組時很重要。為了保持直觀,最好不要使用“from 模塊名import *”命令,而是導(dǎo)入模塊,并根據(jù)需要顯式調(diào)用numpy.sqrtmath.sqrt。不過,這里還有一個折中的方案:你可以給模塊取別名。嘗試以下命令:

import numpy as np
np.sqrt(2)

如此一來,當(dāng)不同的模塊具有相同名稱的函數(shù)時,我們既可以節(jié)省輸入,又可以避免混淆。

在某些情況下,你可能只需要一個特定的函數(shù),而不需要整個函數(shù)庫。你可以通過函數(shù)名稱導(dǎo)入特定的函數(shù):

from numpy import sqrt, exp
sqrt(2)
exp(3)

我們只導(dǎo)入了NumPy模塊中的兩個函數(shù),無須使用“numpy.”前綴即可訪問這些函數(shù)。請注意,這里的導(dǎo)入命令和“from numpy import *”命令很相似。星號是一個“通配符”,它告訴導(dǎo)入命令需要獲取所有內(nèi)容。

稍微改變一下導(dǎo)入語句,你就可以為導(dǎo)入的函數(shù)提供自定義別名:

from numpy.random import random as rand
rand()

現(xiàn)在,我們有了一個隨機數(shù)生成器,它有一個很方便輸入的別名:rand

該示例還展示了模塊中還有模塊的現(xiàn)象:numpy模塊包含numpy.random模塊,而numpy.random模塊又包含numpy.random.random函數(shù)。當(dāng)我們輸入import numpy時,我們導(dǎo)入了許多這樣的子模塊。當(dāng)然,我們也可以只導(dǎo)入一個函數(shù),方法是使用from,并提供目標(biāo)函數(shù)的準(zhǔn)確名稱、目標(biāo)函數(shù)所在的模塊,以及目標(biāo)函數(shù)的別名。

主站蜘蛛池模板: 扶余县| 定陶县| 凌海市| 张家港市| 孟连| 宜春市| 镶黄旗| 公安县| 芒康县| 元氏县| 拜泉县| 永年县| 永春县| 株洲市| 北流市| 璧山县| 洛隆县| 临高县| 扎囊县| 电白县| 桐梓县| 龙陵县| 拉孜县| 那坡县| 金坛市| 宝坻区| 亚东县| 丹江口市| 郑州市| 木兰县| 巫溪县| 句容市| 玉溪市| 荆州市| 齐河县| 维西| 商城县| 大兴区| 柳州市| 杨浦区| 花垣县|