- Python物理建模初學(xué)者指南(第2版)
- (美)杰西·M.金德 (美)菲利普·納爾遜
- 605字
- 2025-05-19 16:00:22
1.3.2 from ... import
導(dǎo)入函數(shù)還有另一種方法。例如,你可能希望訪問NumPy中的所有函數(shù),但又不想在函數(shù)前面輸入“numpy.
”前綴。不妨嘗試以下命令:
from numpy import * sqrt(2)
這很方便,但如果你想同時使用兩個不同的模塊,這可能會導(dǎo)致麻煩。有一個名為math
的模塊,它也有一個sqrt
函數(shù)。如果同時從math
和numpy
導(dǎo)入所有函數(shù),那么在輸入sqrt(2)
時會調(diào)用哪個模塊的函數(shù)?這在處理數(shù)字數(shù)組時很重要。為了保持直觀,最好不要使用“from
模塊名import
*
”命令,而是導(dǎo)入模塊,并根據(jù)需要顯式調(diào)用numpy.sqrt
或math.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ù)的別名。
- JBoss Weld CDI for Java Platform
- Web程序設(shè)計及應(yīng)用
- 單片機C語言程序設(shè)計實訓(xùn)100例:基于STC8051+Proteus仿真與實戰(zhàn)
- Learning Data Mining with Python
- 區(qū)塊鏈架構(gòu)與實現(xiàn):Cosmos詳解
- Julia機器學(xué)習(xí)核心編程:人人可用的高性能科學(xué)計算
- Python貝葉斯分析(第2版)
- Mastering Apache Spark 2.x(Second Edition)
- C#程序設(shè)計
- The HTML and CSS Workshop
- 單片機應(yīng)用與調(diào)試項目教程(C語言版)
- Node.js Design Patterns
- Node.js:來一打 C++ 擴展
- 響應(yīng)式架構(gòu):消息模式Actor實現(xiàn)與Scala、Akka應(yīng)用集成
- 基于ARM Cortex-M4F內(nèi)核的MSP432 MCU開發(fā)實踐