- Python物理建模初學者指南(第2版)
- (美)杰西·M.金德 (美)菲利普·納爾遜
- 605字
- 2025-05-19 16:00:22
1.3.2 from ... import
導入函數還有另一種方法。例如,你可能希望訪問NumPy中的所有函數,但又不想在函數前面輸入“numpy.
”前綴。不妨嘗試以下命令:
from numpy import * sqrt(2)
這很方便,但如果你想同時使用兩個不同的模塊,這可能會導致麻煩。有一個名為math
的模塊,它也有一個sqrt
函數。如果同時從math
和numpy
導入所有函數,那么在輸入sqrt(2)
時會調用哪個模塊的函數?這在處理數字數組時很重要。為了保持直觀,最好不要使用“from
模塊名import
*
”命令,而是導入模塊,并根據需要顯式調用numpy.sqrt
或math.sqrt
。不過,這里還有一個折中的方案:你可以給模塊取別名。嘗試以下命令:
import numpy as np np.sqrt(2)
如此一來,當不同的模塊具有相同名稱的函數時,我們既可以節省輸入,又可以避免混淆。
在某些情況下,你可能只需要一個特定的函數,而不需要整個函數庫。你可以通過函數名稱導入特定的函數:
from numpy import sqrt, exp sqrt(2) exp(3)
我們只導入了NumPy模塊中的兩個函數,無須使用“numpy.
”前綴即可訪問這些函數。請注意,這里的導入命令和“from numpy import *
”命令很相似。星號是一個“通配符”,它告訴導入命令需要獲取所有內容。
稍微改變一下導入語句,你就可以為導入的函數提供自定義別名:
from numpy.random import random as rand rand()
現在,我們有了一個隨機數生成器,它有一個很方便輸入的別名:rand
。
該示例還展示了模塊中還有模塊的現象:numpy
模塊包含numpy.random
模塊,而numpy.random
模塊又包含numpy.random.random
函數。當我們輸入import numpy
時,我們導入了許多這樣的子模塊。當然,我們也可以只導入一個函數,方法是使用from
,并提供目標函數的準確名稱、目標函數所在的模塊,以及目標函數的別名。
推薦閱讀
- 編程卓越之道(卷3):軟件工程化
- 青少年軟件編程基礎與實戰(圖形化編程三級)
- Python深度學習
- Git高手之路
- Easy Web Development with WaveMaker
- Azure Serverless Computing Cookbook
- Python商務數據分析(微課版)
- Python 3 Object:oriented Programming(Second Edition)
- Visual C++開發寶典
- 軟件測試技術
- Clojure for Finance
- Android熱門應用開發詳解
- Building Scalable Apps with Redis and Node.js
- Getting Started with Hazelcast
- SEO的藝術(原書第2版)