欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

python學(xué)習(xí)之模塊與包

模塊
python學(xué)習(xí)之模塊與包
python學(xué)習(xí)之模塊與包
如何導(dǎo)入模塊?
為什么必須加上模塊名調(diào)用呢?
因?yàn)榭赡艽嬖谶@樣一種情況:在多個(gè)模塊中含有相同名稱的函數(shù),
如果只是通過(guò)函數(shù)名來(lái)調(diào)用,解釋器無(wú)法知道到底要調(diào)用哪個(gè)函數(shù)。
所以如果像上述這樣引入模塊的時(shí)候,調(diào)用函數(shù)必須加上模塊名。
如何導(dǎo)入模塊?
如果只需要用到模塊中的某個(gè)函數(shù)/變量/類,如何導(dǎo)入呢?
通過(guò)這種方式引入的時(shí)候,調(diào)用函數(shù)時(shí)只能給出函數(shù)名,不能給出模塊名,
但是當(dāng)兩個(gè)模塊中含有相同名稱函數(shù)的時(shí)候,后面一次引入會(huì)覆蓋前一
次引入。
如果導(dǎo)入的模塊名/函數(shù)名/變量名過(guò)長(zhǎng),該如何操作呢?
import numpy as np
import os.path as pth
from random import randint as rint
如果把一個(gè)模塊的所有內(nèi)容全都導(dǎo)入,如何操作呢?
這提供了一個(gè)簡(jiǎn)單的方法來(lái)導(dǎo)入一個(gè)模塊中的所有項(xiàng)目。然而這種聲
明不該被過(guò)多地使用
模塊中的 all有什么作用?
如果一個(gè)文件中有all變量,那么也就意味著這個(gè)變量中的元素,不會(huì)被
from xxx import *時(shí)導(dǎo)入

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供樂(lè)平網(wǎng)站建設(shè)、樂(lè)平做網(wǎng)站、樂(lè)平網(wǎng)站設(shè)計(jì)、樂(lè)平網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、樂(lè)平企業(yè)網(wǎng)站模板建站服務(wù),十多年樂(lè)平做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

10_模塊.py

#1). Python內(nèi)置模塊
#2). 第三方模塊: 不是Python官方提供的模塊, 需要使用pip工具取安裝
"""
安裝方式:

  1. pip install 模塊名
  2. pip install -i https://pypi.douban.com/simple 模塊名
  3. 在Pycharm的解釋器環(huán)境中添加并實(shí)現(xiàn)安裝
    """

#3). 自定義模塊
#導(dǎo)入模塊的過(guò)程: 實(shí)質(zhì)是執(zhí)行模塊內(nèi)容的過(guò)程

from day09_code import website

website.login()
website.register()
print(website.name)

import  verifycode
verify_string = verifycode.generate_str_code()
im = verifycode.draw_code_image(verify_string)
im.save('./hello.png')

"""

11_all屬性的用法.py

#導(dǎo)入所有信息時(shí), 判斷模塊中是否有all屬性,
#沒(méi)有的話, 所有信息均可導(dǎo)入。
#有的話, 只有all列表里面指定的變量可以導(dǎo)入.

from day09_code.website import  *
print(name)
print(passwd)

login()"""

包將有聯(lián)系的模塊組織在一起,有效避免模塊名稱沖突問(wèn)題,讓?xiě)?yīng)用組織結(jié)構(gòu)更加清晰。
一個(gè)普通的python應(yīng)用程序目錄結(jié)構(gòu):
python學(xué)習(xí)之模塊與包
python學(xué)習(xí)之模塊與包
import sound.efforts.echo 導(dǎo)入 sound.effects.echo 子模塊。但必須通過(guò)完整的名稱來(lái)引用
from sound.effects import echo
加載了 echo 子模塊,且使得在沒(méi)有包前綴的情況下也可以使用
from sound.effects.echo import echofilter
加載了 echo 字模塊,但這樣就可以直接調(diào)用它的 echofilter() 函數(shù)
import * 理論上是希望文件系統(tǒng)找出包中所有的子模塊,然后導(dǎo)入它們。
But 會(huì)花長(zhǎng)時(shí)間,并出現(xiàn)邊界效應(yīng)等。Python 解決方案是提供一個(gè)明確的包索引。
這個(gè)索引由 init.py 定義 all變量,該變量為一列表, 只會(huì)導(dǎo)入指定的內(nèi)容

12_包的導(dǎo)入.py

"""
#導(dǎo)入模塊的過(guò)程, 實(shí)質(zhì)時(shí)執(zhí)行模塊的內(nèi)容.
#導(dǎo)入包的過(guò)程, 實(shí)質(zhì)是執(zhí)行包里面的init.py初始化文件
"""

website.py

name = 'root'
passwd = 'westos'

def login():
    print('login......')

def register():
    print('register.......')

__all__ = ['login', 'register', 'name', 'passwd']
if __name__ == '__main__':
    """
    __name__: 模塊的名稱, 
        如果是當(dāng)作模塊導(dǎo)入, 結(jié)果為模塊名稱, 此處為website
        如果不是當(dāng)作模塊導(dǎo)入時(shí), 結(jié)果為_(kāi)_main__
    """
    print("正在調(diào)用website模塊.......")
    print(__file__)  # 打印文件的絕對(duì)路徑
    print(__doc__)  # 打印模塊的幫助文檔

模塊制作與發(fā)布

1.為模塊文件創(chuàng)建一個(gè)文件夾,并將模塊文件復(fù)制到這個(gè)文件中(一般,文件夾的名字和模塊的名字一樣)

  1. 在文件夾中創(chuàng)建一個(gè)名為『setup.py』的文件,內(nèi)容如下:
    python學(xué)習(xí)之模塊與包
    py_modules=[你需要發(fā)布的模塊名, 不需要.py]

  2. 構(gòu)建模塊并一個(gè)發(fā)布文件
    python setup.py build
    python setup.py sdist

2.將發(fā)布安裝到你的Python本地副本中:
python setup.py install

  1. 發(fā)布預(yù)覽
    python學(xué)習(xí)之模塊與包

    模塊安裝與使用

    找到模塊的壓縮包
    解壓
    進(jìn)入文件夾
    執(zhí)行命令sudo python setup.py install

當(dāng)前文章:python學(xué)習(xí)之模塊與包
當(dāng)前地址:http://chinadenli.net/article36/gohcsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、全網(wǎng)營(yíng)銷推廣軟件開(kāi)發(fā)、動(dòng)態(tài)網(wǎng)站、定制開(kāi)發(fā)、外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司