什麼是模組? Python模組中模組module的介紹
這篇文章帶給大家的內容是關於什麼是模組? 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
#如下:
安裝成功後便可以使用Pillow了。其他常用的第三方函式庫還有:MySQL的驅動程式、用於科學計算的NumPy函式庫等等。
pip升級:
在使用pip進行安裝時,有時候會提示pip的版本太低,需要upgrade。提示會給予要執行的語句,依照提示執行就行。
執行指令:python –m pip install –upgrade pip
四、模組搜尋路徑
我們也可以匯入自己寫入的模組。當我們試圖載入一個模組時,Python會在指定的路徑下搜尋對應的.py文件,如果找不到,就會報錯,例如:
預設情況下,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中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

熱門話題

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

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

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

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

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

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

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

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