欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python程序設(shè)計(jì)入門(4)模塊和包

 更新時(shí)間:2014年06月16日 09:43:07   投稿:shichen2014  
Python語(yǔ)言功能非常強(qiáng)大,除了類之外,還有模塊和包的概念,這有點(diǎn)像perl,本文主要介紹了包和模塊,需要的朋友可以參考下

Python語(yǔ)言功能非常強(qiáng)大,除了類之外,還有模塊和包的概念,這有點(diǎn)像perl,此處簡(jiǎn)單說(shuō)說(shuō)包和模塊。

一、Python中的模塊

模塊——其實(shí)就是我們說(shuō)的庫(kù)(lib)的概念,不過(guò)它不僅只是可以包含一系列函數(shù),也可以包含類,python里是沒(méi)有像C語(yǔ)言之類,直接include某文件的,包正是這種類似的東西。

Python 引入模塊的方法有兩種:

1、import 模塊名(實(shí)際是對(duì)應(yīng)的就是 文件名.py )

2、模塊名 = __import__("模塊文件名(不帶擴(kuò)展名)")

也可以" import 模塊名  as  別名 "這樣用

例如:

復(fù)制代碼 代碼如下:
test.py
# -*- coding: gb18030 -*-
#引入模塊
import test_mod

#調(diào)用模塊里的函數(shù)
test_mod.my_func()

#調(diào)用模塊里的類
tc = test_mod.test_cls()
tc.test_func()

test_mod.py源碼如下:
# -*- coding: gb18030 -*-

def my_func():
    print 'I am a function in the module! '

class test_cls:
    def test_func(self):
        print 'I am a mothod in the class! '

調(diào)用模塊里的函數(shù)或類一定要用 “模塊名.類名|函數(shù)名” 的方式。

正是因?yàn)檫@種特性,python里很多 os.xx 、 sys.xx 之類的語(yǔ)法,但它不一定是對(duì)象(對(duì)象和非對(duì)象之間顯得極混亂,或者可以認(rèn)為模塊也是一個(gè)對(duì)象吧,只是比較特殊),這是python語(yǔ)言的一個(gè)嚴(yán)重的缺點(diǎn),不過(guò)當(dāng)你習(xí)慣這些的時(shí)候,就比較容易讀懂python的腳本了。

sys 和 os 是 python 里最常用的模塊,需要了解一下它們。

二、Python中的包

包實(shí)際上就是對(duì)一系列模塊的封裝,以防止模塊名之間發(fā)生沖突,對(duì)于一個(gè)標(biāo)準(zhǔn)的python程序,通常的結(jié)構(gòu)為:

復(fù)制代碼 代碼如下:
app.py
    appname
        __init__.py
        son_pack1
            __init__.py
            son_mod_1_1.py
            son_mod_1_2.py
         son_pack2
            __init__.py
            son_mod_2_1.py
            son_mod_2_2.py
        son_mod_1.py
        .......

如果學(xué)過(guò)Java就會(huì)明顯,這是一種按目錄來(lái)查找文件的方法,不過(guò)不同之處是每個(gè)目錄必須帶 __init__.py 否則將不會(huì)被識(shí)別為包的子目錄。

在有__version__、__all__、__path__ 三個(gè)特殊變量,可以指定,也可以讓這文件為空。

調(diào)用包里的類或函數(shù)的方法是:

包名.子包名.類名|函數(shù)名 

這實(shí)際上就相當(dāng)于C++或C#里的名字空間。

在調(diào)用包時(shí),需要注冊(cè)目錄和具體模塊的調(diào)用方法

如,要調(diào)用 son_mod_1_1.py

那么就是:

復(fù)制代碼 代碼如下:
appname.son_pack1.son_mod_1_1

此外還有一種方法是用  form 關(guān)鍵字,方法為:

復(fù)制代碼 代碼如下:
from appname.son_pack1 import son_mod_1_1

如果要喜引入 appname.son_pack1 里的所有模塊,那么為:

復(fù)制代碼 代碼如下:
from appname.son_pack1 import *


對(duì)于使用 import * 的情況,必須在 __init__.py 中用 __all__ 指明,如:

復(fù)制代碼 代碼如下:
__all__ = ["son_mod_1_1", "son_mod_1_2"]

相關(guān)文章

  • 詳解Python import方法引入模塊的實(shí)例

    詳解Python import方法引入模塊的實(shí)例

    這篇文章主要介紹了詳解Python import方法引入模塊的實(shí)例的相關(guān)資料,在Python用import或者from…import或者from…import…as…來(lái)導(dǎo)入相應(yīng)的模塊,需要的朋友可以參考下
    2017-08-08
  • python翻譯軟件實(shí)現(xiàn)代碼(使用google api完成)

    python翻譯軟件實(shí)現(xiàn)代碼(使用google api完成)

    這篇文章主要介紹了python結(jié)合google api完成的翻譯軟件實(shí)現(xiàn)代碼,大家參考使用
    2013-11-11
  • 基于TensorBoard中g(shù)raph模塊圖結(jié)構(gòu)分析

    基于TensorBoard中g(shù)raph模塊圖結(jié)構(gòu)分析

    今天小編就為大家分享一篇基于TensorBoard中g(shù)raph模塊圖結(jié)構(gòu)分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • 帶你一文讀懂Python垃圾回收機(jī)制

    帶你一文讀懂Python垃圾回收機(jī)制

    這篇文章主要介紹了帶你一文讀懂Python垃圾回收機(jī)制,如果對(duì)其垃圾回收機(jī)制不了解,很多時(shí)候?qū)懗龅?nbsp;Python 代碼會(huì)非常低效,需要的朋友可以參考下
    2023-04-04
  • python導(dǎo)出mysql指定binlog文件實(shí)現(xiàn)demo

    python導(dǎo)出mysql指定binlog文件實(shí)現(xiàn)demo

    這篇文章主要介紹了python導(dǎo)出mysql指定binlog文件實(shí)現(xiàn)demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • python中os模塊詳解

    python中os模塊詳解

    os模塊提供了多數(shù)操作系統(tǒng)的功能接口函數(shù).當(dāng)os模塊被導(dǎo)入后,它會(huì)自適應(yīng)于不同的操作系統(tǒng)平臺(tái),如posix或NT系統(tǒng)平臺(tái),os模塊會(huì)根據(jù)不同的平臺(tái)進(jìn)行相應(yīng)的操作.本節(jié)內(nèi)容將對(duì)os模塊提供的函數(shù)進(jìn)行詳細(xì)的解讀.
    2016-10-10
  • Python get獲取頁(yè)面cookie代碼實(shí)例

    Python get獲取頁(yè)面cookie代碼實(shí)例

    利用Python get獲取頁(yè)面cookie代碼實(shí)例,簡(jiǎn)單易懂
    2018-09-09
  • python刪除某個(gè)目錄文件夾的方法

    python刪除某個(gè)目錄文件夾的方法

    在本篇文章里小編給大家分享的是關(guān)于python刪除某個(gè)目錄文件夾的方法,有興趣的朋友們可以學(xué)習(xí)下。
    2020-05-05
  • 解決ImportError:cannot import name ‘Flatten‘ from ‘torch.nn‘問(wèn)題

    解決ImportError:cannot import name ‘Flatten‘&nb

    這篇文章主要介紹了解決ImportError:cannot import name ‘Flatten‘ from ‘torch.nn‘問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Python如何把字典寫入到CSV文件的方法示例

    Python如何把字典寫入到CSV文件的方法示例

    這篇文章主要介紹了Python如何把字典寫入到CSV文件的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08

最新評(píng)論