溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python怎么使用模塊

發(fā)布時(shí)間:2021-12-31 14:11:40 來源:億速云 閱讀:207 作者:小新 欄目:開發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)Python怎么使用模塊的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

    1.1 導(dǎo)入模塊

    • import 模塊名

    • form 模塊名import 功能名

    • form 模塊名 import *

    • import 模塊名 as 別名

    • import 模塊名 import 功能名 as 別名

    以下用math模塊下的 sqrt 驗(yàn)證

    1.1.1 import 模塊名

    語法

     # 1 導(dǎo)入模塊
     import 模塊名  # 推薦使用此種格式
     import 模塊名1,模塊名2.... # 不推擠
       # 2 調(diào)用
     模塊名.功能名()

    體驗(yàn)

    	import math
    	print(math.sqrt(9))

    1.1.2 from 模塊名 import 功能名

    語法

    # 1 導(dǎo)入
    from 模塊名 import 功能1,功能2....
    # 2 調(diào)用
    功能()

    體驗(yàn)

    	from sqrt import math
    	print(sqrt(9))

    1.1.3 from …import*

    語法

    from 模塊名 import*

    體驗(yàn)

    	from math import*
    	print(sqrt(9))

    1.1.4 as 定義別名

    把復(fù)雜的長(zhǎng)的 不好記的模塊名\功能名, as成簡(jiǎn)單的

    語法

    # 模塊定義別名
    import 模塊名 as 別名
    # 功能定義別名
    from 模塊名 import 功能 as 別名

    體驗(yàn)

    import math as  m
    print(m.srqt(9))
    from math import srqt as s
    print(s(9))

    代碼

    # --*coding:utf-8*--
    # 需求 驗(yàn)證math模塊下的 sqrt()開平方計(jì)算
    """
    步驟
    1 導(dǎo)入math模塊
    2  驗(yàn)證sqrt功能 : 調(diào)用該模塊下的sqrt功能
    """
    # 方法一 : import 模塊名;模塊名.功能
    import math
    print(math.sqrt(9))
    # 方法二 :from 模塊名 import 功能,功能...;功能調(diào)用(功能())
    from math import sqrt
    print(sqrt(6))
    # 方法三 :from 模塊名 import*  ;調(diào)用功能
    from math import *
    print(sqrt(16))
    # 方法四-模塊別名: import 模塊名 as 別名;調(diào)用功能  別名.功能
    import math as mm
    print(mm.sqrt(16))
    # 方法四-功能別名: from math import sqrt as ss
    from math import sqrt as ss
    print(ss(9))

    1.2 制作模塊

    在Python中,每個(gè)Python文件都可以作為一個(gè)模塊,模塊的名字就是文件名

    自定義模塊名必須符合標(biāo)識(shí)符命名規(guī)則

    目標(biāo)

    • 作用

    • 制作步驟和書寫代碼

    • 掌握注意事項(xiàng)

    為啥要制作模塊:

    程序員在開發(fā)中,對(duì)于一些頻繁使用的代碼,進(jìn)行封裝 ,制作成一個(gè)滿足需要的模塊,在之后的工資中再去調(diào)用

    1.2.1 定義模塊

    新建一個(gè)Python文件,命名my_module1.py,并定義testA函數(shù)

    	# 此處 : 此模塊相關(guān)的解釋性文字,如 一個(gè)函數(shù) 完成任意兩個(gè)數(shù)字相加
    	def testA(a,b):
    		print(a+b)

    1.2.2 測(cè)試模塊

    寫完一個(gè)模塊, 測(cè)試?yán)锩媸欠裼衎ug

    在實(shí)際的開發(fā)中, 當(dāng)一個(gè)開發(fā)人員編寫完一個(gè)模塊后, 為了讓模塊能夠在項(xiàng)目中達(dá)到想要的效果, 這個(gè)開發(fā)人員會(huì)自行在py文件中加入一些測(cè)試信息,例如在 my_module1.py中添加測(cè)試代碼.

    def testA(a,b):
    	print(a+b)
    testA(5,6)			

    此時(shí),無論當(dāng)前文件,還是其他導(dǎo)入了該模塊的文件, 在運(yùn)行時(shí),都會(huì)執(zhí)行testA函數(shù)的調(diào)用. 特別是 其他函數(shù)調(diào)用是 會(huì)一并調(diào)用了 測(cè)試函數(shù),這是我們不希望看到的.

    解決辦法如下:

    引入 name 系統(tǒng)變量, 上面的代碼變成

    # --*coding:utf-8*--
    # 需求 :一個(gè)函數(shù)  完成任意兩個(gè)數(shù)字相加
    def testA(a,b):
        print(a+b)
    # 測(cè)試信息
    # text(5,6)  # 驗(yàn)證1  這樣會(huì)在其他函數(shù)調(diào)用時(shí),被執(zhí)行
    """
     驗(yàn)證2  print(__name__) 
     測(cè)試 在當(dāng)前函數(shù)下,和被其他文件調(diào)用時(shí),返回結(jié)果:
     內(nèi)部  返回  __main__  
     外部  返回 本函數(shù)名 
    """
    # 根據(jù) __name__ 特性,做if 判斷
    if __name__ == "__main__":
        testA(2,5)
    """=====輸出==自身調(diào)用的時(shí)候 執(zhí)行測(cè)試語句=="""    
    7

    1.2.3 外部調(diào)用

    # --*coding:utf-8*--
    # 導(dǎo)包
    import my_module1
    # 調(diào)用 模塊名.功能
    my_module1.testA(6,12)
    """==輸出==外部調(diào)用是 不執(zhí)行測(cè)試代碼=="""
    18

    1.3 模塊定位順序

    當(dāng)導(dǎo)入一個(gè)模塊,Python解析器對(duì)模塊位置的搜索順序是 由近及遠(yuǎn)

    • 當(dāng)前模塊

    • 當(dāng)前沒有, 則搜索在shell變量PYTHONPATH下的每個(gè)目錄

    • 還沒有,Python會(huì)查看默認(rèn)路徑(不同的系統(tǒng)不一樣),如 unix下,默認(rèn)路徑為 /usr/local/lib/Python

    ** PYTHONPATH 安裝程序是的默認(rèn)目錄

    注意

    • 自己的文件名 不要和已有的模塊名重復(fù), 否則會(huì)導(dǎo)致模塊功能無法使用

    • 使用from 模塊名 import 功能 的時(shí)候, 如果功能名字重復(fù), 誰后面 ,誰起作用.

    1.4 all

    目標(biāo)

    • 什么是__all__列表

    • 作用

    • 寫代碼 分析作用 體驗(yàn)

    什么是all列表 就是模塊中的一個(gè)變量,取值是一個(gè)列表[]的形式

    作用:當(dāng)模塊中有__all__時(shí),如果使用from 模塊名 import * 導(dǎo)入時(shí),只能導(dǎo)入這個(gè)all后面列表的元素

    my_module1模塊代碼

    ___all__=["testA]
    def testA():
    	print("我是testA")
    def testB():
    	print("我是testB")

    執(zhí)行結(jié)果是 :

    我是testA

    如果沒有__all__=[] 變量

    執(zhí)行結(jié)果將是: all 所有的

    我是testA
    我是testB

    感謝各位的閱讀!關(guān)于“Python怎么使用模塊”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

    向AI問一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI