亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

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

系統(tǒng) 1698 0

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

一、Python中的模塊

模塊――其實(shí)就是我們說的庫(kù)(lib)的概念,不過它不僅只是可以包含一系列函數(shù),也可以包含類,python里是沒有像C語言之類,直接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 之類的語法,但它不一定是對(duì)象(對(duì)象和非對(duì)象之間顯得極混亂,或者可以認(rèn)為模塊也是一個(gè)對(duì)象吧,只是比較特殊),這是python語言的一個(gè)嚴(yán)重的缺點(diǎn),不過當(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é)過Java就會(huì)明顯,這是一種按目錄來查找文件的方法,不過不同之處是每個(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"]


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 激情综合婷婷亚洲图片 | 国产欧美精品一区二区三区四区 | 成人久久精品 | 青草国产 | 精品在线视频观看 | 亚洲欧美国产高清va在线播放 | 精品久久国产视频 | 久久久久久88色愉愉 | 手机看片精品高清国产日韩 | 成人毛片免费网站 | 亚洲国产高清视频在线观看 | 国产精品21区 | 国产福利视精品永久免费 | 久久人视频 | 狠狠的日| 日日摸夜夜添夜夜添影院视频 | 日本视频h | 福利影院在线播放 | 欧美aⅴ片 | 亚洲国产精品欧美日韩一区二区 | 九九福利| 视频一区二区欧美日韩在线 | 日日操狠狠干 | 成年人福利网站 | 国产一级精品视频 | 国产欧美视频综合二区 | 四虎影视永久在线精品免费播放 | 欧美日韩免费大片 | 俄罗斯aaaa一级毛片 | 精品国产一区二区麻豆 | 精品免费久久久久久影院 | 热久久久久 | 久久机热这里只有精品无需 | 亚洲一区免费看 | 热99re久久国超精品首页 | 午夜视频久久久久一区 | xxx国产老太婆视频 xxx毛片 | 国产精品亚洲欧美日韩一区在线 | 中国一级毛片免费观看 | 天天干天天爽 | 欧美激情精品久久久久久久九九九 |