自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺析Python模塊的引入和調(diào)用

開發(fā) 后端
本文詳細的講解了Python基礎(chǔ) ( 模塊 )的引入,調(diào)用 。介紹了常用的三種模塊。模塊時的需要注意的事項,以及在實際操作中會遇到的問題,提供了解決方案。希望可以幫助你更好的學習Python。

[[391833]]

大家好,我是IT共享者,人稱皮皮。這篇文章我們來淺析Python模塊的引入和調(diào)用。

一、前言

Python中的模塊,有過C語言編程經(jīng)驗的朋友都知道在C語言中如果要引用sqrt函數(shù),必須用語句#include引入math.h這個頭文件,否則是無法正常進行調(diào)用的。

那么在Python中,如果要引用一些其他的函數(shù),該怎么處理呢?

在Python中有一個概念叫做模塊(module),這個和C語言中的頭文件以及Java中的包很類似,比如在Python中要調(diào)用sqrt函數(shù),必須用import關(guān)鍵字引入math這個模塊,下面就來了解一下Python中的模塊。

說的通俗點 :模塊就好比是工具包,要想使用這個工具包中的工具(就好比函數(shù)),就需要導(dǎo)入這個模塊。

二、模塊引入

1. import

在Python中用關(guān)鍵字import來引入某個模塊,比如要引用模塊math,就可以在文件最開始的地方用import math來引入。

形如 :

  1. import module1,mudule2... 

當解釋器遇到import語句,如果模塊在當前的搜索路徑就會被導(dǎo)入。

在調(diào)用math模塊中的函數(shù)時,必須這樣引用:

  1. 模塊名.函數(shù)名 

為什么必須加上模塊名調(diào)用呢?

因為可能存在這樣一種情況:在多個模塊中含有相同名稱的函數(shù),此時如果只是通過函數(shù)名來調(diào)用,解釋器無法知道到底要調(diào)用哪個函數(shù)。所以如果像上述這樣引入模塊的時候,調(diào)用函數(shù)必須加上模塊名。

  1. import math 
  2.  
  3.  #這樣會報錯 
  4.  print sqrt(2) 
  5.  
  6.  #這樣才能正確輸出結(jié)果 
  7.  print math.sqrt(2) 

有時候我們只需要用到模塊中的某個函數(shù),只需要引入該函數(shù)即可,此時可以用下面方法實現(xiàn):

  1. from 模塊名 import 函數(shù)名1,函數(shù)名2.... 

不僅可以引入函數(shù),還可以引入一些全局變量、類等。

注意:

1.這種方式引入的時候,調(diào)用函數(shù)時只能給出函數(shù)名,不能給出模塊名,但是當兩個模塊中含有相同名稱函數(shù)的時候,后面一次引入會覆蓋前一次引入。也就是說假如模塊A中有函數(shù)function( ),在模塊B中也有函數(shù)function( ),如果引入A中的function在先、B中的function在后,那么當調(diào)用function函數(shù)的時候,是去執(zhí)行模塊B中的function函數(shù)。

2. 如果想一次性引入math中所有的東西,還可以通過from math import 來實現(xiàn)

2. from…import

Python的from語句讓你從模塊中導(dǎo)入一個指定的部分到當前命名空間中。

語法如下:

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

例如,要導(dǎo)入模塊fib的fibonacci函數(shù),使用如下語句:

  1. from fib import fibonacci 

注意:

不會把整個fib模塊導(dǎo)入到當前的命名空間中,它只會將fib里的fibonacci單個引入。

3. from … import *

把一個模塊的所有內(nèi)容全都導(dǎo)入到當前的命名空間也是可行的,只需使用如下聲明:

  1. from modname import * 

注意:

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

4 . 定位模塊

當你導(dǎo)入一個模塊,Python解析器對模塊位置的搜索順序是:

  1. 當前目錄
  2. 如果不在當前目錄,Python則搜索在shell變量PYTHONPATH下的每個目錄。
  3. 如果都找不到,Python會察看默認路徑。UNIX下,默認路徑一般為/usr/local/lib/python/
  4. 模塊搜索路徑存儲在system模塊的sys.path變量中。變量里包含當前目錄,PYTHONPATH和由安裝過程決定的默認目錄。

三、as 的三種用法

1. with...as...

第一種是和with結(jié)合使用,主要用于文件的讀寫操作,省去了關(guān)閉文件的麻煩。

寫法:

  1. with open("文件路徑","讀寫方式"as 賦值變量: 
  2.     #  執(zhí)行代碼塊 

實例:

  1. #test.py 
  2. with open("1.txt"as f: 
  3.     print f.read() 
  4.  
  5. #1.txt(兩個文件在同一目錄下) 

運行結(jié)果:

[[391834]]

2. 導(dǎo)入模塊起別名

導(dǎo)入模塊是對模塊進行重命名,也就是給模塊起一個別名。示例代碼在下方的第三點有演示。

3. except結(jié)合使用

第一種:給traceback模塊起別名為a

示例代碼 :

  1. import traceback as a 
  2. try: 
  3.     while 1/0 < 0: 
  4.         print True 

第二種:和except組合使用,將捕獲到的異常對象賦值給e。

實例代碼 :

  1. except Exception as e: 
  2.     print "e=",e 
  3.     a.print_exc() 

四、總結(jié)

本文詳細的講解了Python基礎(chǔ) ( 模塊 )的引入,調(diào)用 。介紹了常用的三種模塊。模塊時的需要注意的事項,以及在實際操作中會遇到的問題,提供了解決方案。希望可以幫助你更好的學習Python。

 

責任編輯:姜華 來源: IT共享之家
相關(guān)推薦

2017-07-21 09:40:35

Python類、繼承和多態(tài)

2009-10-16 10:20:37

Python的GIL

2020-12-25 10:28:41

JavaScript模塊module

2010-03-22 10:47:17

Python常用模塊I

2009-07-03 13:22:37

調(diào)用Servlet

2009-08-04 09:30:33

C#調(diào)用ImageAn

2009-07-20 16:23:01

ASP.NET授權(quán)模塊

2017-07-13 11:08:52

PythonC模塊性能分析

2023-12-22 08:38:02

Pythondatetimetime

2009-08-12 10:35:50

C#調(diào)用ActiveX

2009-07-31 17:28:35

C#語言調(diào)用DLL

2009-08-14 09:15:28

C#調(diào)用構(gòu)造函數(shù)

2009-09-18 13:47:17

CLR類庫

2009-08-17 13:18:01

C#調(diào)用Windows

2014-09-02 09:17:51

400G以太網(wǎng)

2021-03-03 10:00:52

Python函數(shù)Python基礎(chǔ)

2021-03-29 15:32:31

Python函數(shù)參數(shù)

2025-03-19 10:26:12

Python參數(shù)開發(fā)

2009-04-16 09:24:48

TierLayer系統(tǒng)架構(gòu)

2009-07-08 17:59:51

JDK JRE
點贊
收藏

51CTO技術(shù)棧公眾號