目錄
一、什麼是模組
二、使用Python自帶模組
三、安裝使用第三方模組
四、模組搜尋路徑
首頁 後端開發 Python教學 什麼是模組? Python模組中模組module的介紹

什麼是模組? Python模組中模組module的介紹

Sep 19, 2018 pm 04:32 PM
python

這篇文章帶給大家的內容是關於什麼是模組? Python中模組module的介紹,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

一、什麼是模組

Python中,一個.py檔就稱之為一個模組。
那麼使用模組有什麼好處呢?

(1)提高了程式碼的可維護性。

(2)程式碼不必從零開始,當一個模組寫完畢後,就可以被其他地方應用。

(3)可以避免函數名稱和變數名稱衝突,相同的函數名稱和變數可以存放在不同的模組中,但是要注意盡量不要與內建函數名字衝突。
  Python所有的內建函數:https://docs.python.org/3/lib...

為避免模組名衝突,python又引入了按目錄來阻止模組衝突的方法,稱為包(python package)。
一個abc.py的檔案就是一個名字為abc的模組,一個xyz.py的檔案就是一個名字為xyz的模組。假如abc和xyz這兩個模組名字與其他模組衝突了,於是我們可以透過不同的套件來組織模組,避免模組衝突。
則可為:

↓ mycompany      # 按目录存放
     _init_.py   # 模块名:mycompany
     abc.py      # 模块名:mycompany.abc
     xyz.py      # 模块名:mycompany.xyz
登入後複製

引入了套件以後,只要頂層的套件名稱不與別人衝突,那麼所有模組都不會與別人衝突。
每一個套件目錄下都會有一個_init_.py的文件,這個文件是必須存在的,否則python就把這個目錄當成普通目錄,而不是一個包。
_init_.py可以是空文件,也可以有python程式碼,因為_init_.py本身就是一個模組。

二、使用Python自帶模組

Python內建了許多非常有用的模組,只要安裝完畢,這些模組就可以透過import立刻導入使用。
例如下列小程式:以自建的sys模組,寫一個hello的模組hello.py 。

# !/usr/bin/env python    # -1-
# -*-coding:utf-8 -*-     # -2- 
_author_ = 'xionglp'      # 使用_author_变量把作者写进去

import sys   

def test(): 
    args = sys.argv  
    if len(args) == 1: 
        print ('hello,world!') 
    elif len(args) ==2: 
        print('hello,%s !'% args[1]) 
    else: 
        print('too many arguments!') 
if __name__ == '__main__':
    test()
登入後複製

說明:

註解# -1- :讓該.py檔案直接在unix/linux/mac上執行

註解# -2- :.py文件使用標準UTF-8 編碼

import sys:導入sys模組。之後便可以利用sys這個變量,存取sys模組的所有功能。
sys模組有一個argv變量,用list儲存了命令列的所有參數。 argv至少有一個元素,因為第一個參數永遠是該.py檔的名稱。

當在命令列執行hello.py檔時,python解釋器就把一個特殊變數__name__置為__main__。如果在其他地方匯入模組時,if判斷將會失敗,即if僅在此模組單獨執行時生效。因此這種if測試可以讓一個模組透過命令列運行時執行一些額外的程式碼,最常見的就是執行測試。

在互動式環境(cmd)中導入該模組:

>>> import hello                         
>>> hello.test()                   
hello, world!
登入後複製

三、安裝使用第三方模組

除了Python自己的套件,也可以安裝安裝第三方模組。第三方包安裝是透過套件管理工具pip完成的。
一般來說,第三方函式庫都會在Python官方的pypi.python.org網站註冊。所以要安裝第三方函式庫,必須先知道該函式庫的名稱,可以在官網或pypi上搜尋。例如Pillow的名稱叫做Pillow,因此,安裝Pillow的指令就是:pip install Pillow

步驟1:找到安裝Python路徑中的easy_install.exe,例如:D:PythonScripts

#步驟2 :開啟cmd,輸入安裝指令:easy_install.exe pip (pip安裝成功)

#步驟3:在cmd下執行pip,輸入指令:pip install pillow

#如下:

什麼是模組? Python模組中模組module的介紹

安裝成功後便可以使用Pillow了。其他常用的第三方函式庫還有:MySQL的驅動程式、用於科學計算的NumPy函式庫等等。

pip升級:

在使用pip進行安裝時,有時候會提示pip的版本太低,需要upgrade。提示會給予要執行的語句,依照提示執行就行。
執行指令:python –m pip install –upgrade pip

四、模組搜尋路徑

我們也可以匯入自己寫入的模組。當我們試圖載入一個模組時,Python會在指定的路徑下搜尋對應的.py文件,如果找不到,就會報錯,例如:

什麼是模組? Python模組中模組module的介紹

預設情況下,Python解釋器會搜尋目前目錄、所有已安裝的內建模組和第三方模組,搜尋路徑存放在sys模組的path變數中:

>>>import sys
>>>sys.path
登入後複製

如果我們要新增自己的搜尋目錄,有兩種方法:

法一:直接修改sys.path,加入要搜尋的目錄,這個方法是在執行時修改,執行結束後失效。

>>> import sys
>>> sys.path.append('/Users/xionglp/my_py_scripts')
登入後複製

法二:设置环境变量PYTHONPATH,该环境变量的内容会被自动添加到模块搜索路径中。设置方式与设置Path环境变量类似。注意只需要添加你自己的搜索路径,Python自己本身的搜索路径不受影响。

【补充点能量】if __name__ =="__main__":

__name__:为系统变量,有两个取值。当模块是被调用执行时,取值为模块的名字;当模块是直接执行时,则该变量取值为__name__。

if __name__ == "__main__"实现的功能:可以让模块既可以导入到别的模块中用,也可以自己执行。

英文解释说:make a script both importable and executeable

例如:新建模块atest.py

# !/usr/bin/env python3
# -*- coding:utf-8 -*-
'a test module'
def addFunc(a, b):
    return a + b
print('a_test_module\'s result is ', addFunc(1, 1))
登入後複製

新建模块anothertest.py

# !/usr/bin/env python3
# -*- coding :utf-8 -*-
'another test module'
import  atest
print('调用another test module模块执行的结果时:',atest.addFunc(12,23))
登入後複製

运行:

D:\Python_project>python atest.py
a_test_module's result is  2
D:\Python_project>python anothertest.py
a_test_module's result is  2
调用another test module模块执行的结果时: 35
登入後複製

说明:当运行anothertest.py的时候,先运行了atest.py,再运行anothertest.py。
若不希望出现atest的内容,python提供了一个系统变量:__name__。可以把被调用的测试代码写在if语句里,当调用该module时,此时的__name__取值为该模块的名字,所以if判断为假,不执行后续代码如下:

if __name__ == '__main__':`
       print ('atest的计算结果:',addFunc(1,1))
登入後複製

则运行结果为:

D:\Python_project>python anothertest.py
调用another test module模块执行的结果时: 35
登入後複製

此时我们就得到了预期结果,不输出多余的结果。

以上是什麼是模組? Python模組中模組module的介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

mysql 是否要付費 mysql 是否要付費 Apr 08, 2025 pm 05:36 PM

MySQL 有免費的社區版和收費的企業版。社區版可免費使用和修改,但支持有限,適合穩定性要求不高、技術能力強的應用。企業版提供全面商業支持,適合需要穩定可靠、高性能數據庫且願意為支持買單的應用。選擇版本時考慮的因素包括應用關鍵性、預算和技術技能。沒有完美的選項,只有最合適的方案,需根據具體情況謹慎選擇。

mysql安裝後怎麼使用 mysql安裝後怎麼使用 Apr 08, 2025 am 11:48 AM

文章介紹了MySQL數據庫的上手操作。首先,需安裝MySQL客戶端,如MySQLWorkbench或命令行客戶端。 1.使用mysql-uroot-p命令連接服務器,並使用root賬戶密碼登錄;2.使用CREATEDATABASE創建數據庫,USE選擇數據庫;3.使用CREATETABLE創建表,定義字段及數據類型;4.使用INSERTINTO插入數據,SELECT查詢數據,UPDATE更新數據,DELETE刪除數據。熟練掌握這些步驟,並學習處理常見問題和優化數據庫性能,才能高效使用MySQL。

如何針對高負載應用程序優化 MySQL 性能? 如何針對高負載應用程序優化 MySQL 性能? Apr 08, 2025 pm 06:03 PM

MySQL數據庫性能優化指南在資源密集型應用中,MySQL數據庫扮演著至關重要的角色,負責管理海量事務。然而,隨著應用規模的擴大,數據庫性能瓶頸往往成為製約因素。本文將探討一系列行之有效的MySQL性能優化策略,確保您的應用在高負載下依然保持高效響應。我們將結合實際案例,深入講解索引、查詢優化、數據庫設計以及緩存等關鍵技術。 1.數據庫架構設計優化合理的數據庫架構是MySQL性能優化的基石。以下是一些核心原則:選擇合適的數據類型選擇最小的、符合需求的數據類型,既能節省存儲空間,又能提升數據處理速度

HadiDB:Python 中的輕量級、可水平擴展的數據庫 HadiDB:Python 中的輕量級、可水平擴展的數據庫 Apr 08, 2025 pm 06:12 PM

HadiDB:輕量級、高水平可擴展的Python數據庫HadiDB(hadidb)是一個用Python編寫的輕量級數據庫,具備高度水平的可擴展性。安裝HadiDB使用pip安裝:pipinstallhadidb用戶管理創建用戶:createuser()方法創建一個新用戶。 authentication()方法驗證用戶身份。 fromhadidb.operationimportuseruser_obj=user("admin","admin")user_obj.

Navicat查看MongoDB數據庫密碼的方法 Navicat查看MongoDB數據庫密碼的方法 Apr 08, 2025 pm 09:39 PM

直接通過 Navicat 查看 MongoDB 密碼是不可能的,因為它以哈希值形式存儲。取回丟失密碼的方法:1. 重置密碼;2. 檢查配置文件(可能包含哈希值);3. 檢查代碼(可能硬編碼密碼)。

mysql 需要互聯網嗎 mysql 需要互聯網嗎 Apr 08, 2025 pm 02:18 PM

MySQL 可在無需網絡連接的情況下運行,進行基本的數據存儲和管理。但是,對於與其他系統交互、遠程訪問或使用高級功能(如復制和集群)的情況,則需要網絡連接。此外,安全措施(如防火牆)、性能優化(選擇合適的網絡連接)和數據備份對於連接到互聯網的 MySQL 數據庫至關重要。

mysql workbench 可以連接到 mariadb 嗎 mysql workbench 可以連接到 mariadb 嗎 Apr 08, 2025 pm 02:33 PM

MySQL Workbench 可以連接 MariaDB,前提是配置正確。首先選擇 "MariaDB" 作為連接器類型。在連接配置中,正確設置 HOST、PORT、USER、PASSWORD 和 DATABASE。測試連接時,檢查 MariaDB 服務是否啟動,用戶名和密碼是否正確,端口號是否正確,防火牆是否允許連接,以及數據庫是否存在。高級用法中,使用連接池技術優化性能。常見錯誤包括權限不足、網絡連接問題等,調試錯誤時仔細分析錯誤信息和使用調試工具。優化網絡配置可以提升性能

mysql 需要服務器嗎 mysql 需要服務器嗎 Apr 08, 2025 pm 02:12 PM

對於生產環境,通常需要一台服務器來運行 MySQL,原因包括性能、可靠性、安全性和可擴展性。服務器通常擁有更強大的硬件、冗餘配置和更嚴格的安全措施。對於小型、低負載應用,可在本地機器運行 MySQL,但需謹慎考慮資源消耗、安全風險和維護成本。如需更高的可靠性和安全性,應將 MySQL 部署到雲服務器或其他服務器上。選擇合適的服務器配置需要根據應用負載和數據量進行評估。

See all articles