一文提升你的編程能力,Python能力提升系列——模塊化編程

首先說一下:對于一個真實的Python程序祟霍,我們自己完成所有的工作是不太現(xiàn)實的杏头,通常都是需要借助第三方類庫。而且浅碾,咱們編寫一個完整的程序的源代碼也不可能放在同一個源文件中大州,對吧,因此這些都需要以模塊化的方式來組織項目的源代碼垂谢。

好了厦画,下面說一下Python相關(guān)的模塊化編程吧!

首先,導入模塊的簡單語法需要去進行一下了解的根暑。

下面的要牢記哦力试,import在Python中是被利用來導入模塊的,那就說一下import的用法吧排嫌,主要有兩種用法哦畸裳,分別如下:

  1. import 模塊名1[ as 別名1], 模塊名2[ as 別名2], …

注意上面“[ ]”中的是可選項哦,上面語句的意思就是整個模塊的導入淳地。

  1. from 模塊名 import 成員名1[ as 別名1], 成員名2[ as 別名2], …

這個語句的意思就是 導入模塊中指定的成員怖糊。

推薦 :020 持續(xù)更新,精品小圈子每日都有新內(nèi)容颇象,干貨濃度極高伍伤。
結(jié)實人脈、討論技術(shù) 你想要的這里都有遣钳!
搶先入群扰魂,跑贏同齡人!(入群無需任何費用)
點擊此處蕴茴,與Python開發(fā)大牛一起交流學習劝评。
群號:745895701
申請即送:
Python軟件安裝包,Python實戰(zhàn)教程
資料免費領取倦淀,包括 Python基礎學習蒋畜、進階學習、爬蟲晃听、人工智能百侧、自動化運維砰识、自動化測試等

上面兩種import語句的 區(qū)別 主要如下:

1. 第一種import語句導入整個模塊內(nèi)的所有成員能扒,這些成員包括變量、函數(shù)辫狼、類等初斑;而第二種import語句則只導入模塊內(nèi)的指定成員,當然除非你使用from 模塊名 import *膨处,但這種方式通常是不推薦使用的见秤。

2. 使用第一種import語句導入模塊中的成員時,必須添加模塊名或模塊別名前綴哦真椿;當使用第二種import語句導入模塊中的成員時鹃答,就不必使用任何的前綴啦,直接使用成員名或者成員別名就可以啦突硝。

# 舉個“栗子”:

#導入整個sys模塊

import sys

#導入sys整個模塊测摔,并指定其別名s

import sys as s

#導入sys、os兩個模塊

import sys, os

#導入sys、os兩個模塊锋八,并為sys指定別名s浙于,為os指定別名o

import sys as s, os as o

#導入sys模塊內(nèi)的argv成員

from sys import argv

#導入sys模塊內(nèi)的argv成員,并為其指定別名v

from sys import argv as v

#導入sys模塊內(nèi)的argv挟纱、winver成員

from sys import argv, winver

#導入sys模塊內(nèi)的argv羞酗,winver成員,并分別指定別名為v紊服、w

from sys import argv as v, winver as w

#導入sys模塊中的所有成員

from sys import    

下面再來說一下檀轨,為什么使用from 模塊名 import 這種導入所有成員的形式不推薦大家使用吧

原因如下,還是舉個“栗子”吧欺嗤!

因為這種方式是有潛在風險的裤园,比如說通過這種形式同時導入module1和module2內(nèi)的所有成員,如果這兩個模塊內(nèi)都有一個ex()函數(shù)剂府,那問題就來了拧揽,當執(zhí)行如下代碼:ex()

這個同時存在于兩個模塊中的函數(shù)到底是在module1模塊中的呢?還是module2模塊中的呢腺占?所以說嘛淤袜,這種導入方式是有潛在風險的哦!

當然還是有辦法來進行規(guī)避的衰伯,你可以通過下面的方式:

import module1 as m1

import module2 as m2

這樣分別給兩個模塊起個別名就能區(qū)分開了铡羡,這時再調(diào)用ex()函數(shù)時,就可以按下面方式寫啦:

m1.ex()

m2.ex()

這樣就很清晰了哦意鲸!

還有沒有其他方法呢烦周?當然有啦,你還可以采用下面的方式怎顾,就是給模塊中的重名方法起個“外號”(別名)唄:

from module1 import ex as ex1

from module2 import ex as ex2

這樣就可以直接調(diào)用ex()方法啦读慎!

ex1()

ex2()

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市槐雾,隨后出現(xiàn)的幾起案子夭委,更是在濱河造成了極大的恐慌,老刑警劉巖募强,帶你破解...
    沈念sama閱讀 222,464評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件株灸,死亡現(xiàn)場離奇詭異,居然都是意外死亡擎值,警方通過查閱死者的電腦和手機慌烧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鸠儿,“玉大人屹蚊,你說我怎么就攤上這事。” “怎么了淑翼?”我有些...
    開封第一講書人閱讀 169,078評論 0 362
  • 文/不壞的土叔 我叫張陵腐巢,是天一觀的道長。 經(jīng)常有香客問我玄括,道長冯丙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,979評論 1 299
  • 正文 為了忘掉前任遭京,我火速辦了婚禮胃惜,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘哪雕。我一直安慰自己船殉,他們只是感情好,可當我...
    茶點故事閱讀 69,001評論 6 398
  • 文/花漫 我一把揭開白布斯嚎。 她就那樣靜靜地躺著利虫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪堡僻。 梳的紋絲不亂的頭發(fā)上糠惫,一...
    開封第一講書人閱讀 52,584評論 1 312
  • 那天,我揣著相機與錄音钉疫,去河邊找鬼硼讽。 笑死,一個胖子當著我的面吹牛牲阁,可吹牛的內(nèi)容都是我干的固阁。 我是一名探鬼主播,決...
    沈念sama閱讀 41,085評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼城菊,長吁一口氣:“原來是場噩夢啊……” “哼备燃!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起役电,我...
    開封第一講書人閱讀 40,023評論 0 277
  • 序言:老撾萬榮一對情侶失蹤赚爵,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后法瑟,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,555評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡唁奢,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,626評論 3 342
  • 正文 我和宋清朗相戀三年霎挟,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片麻掸。...
    茶點故事閱讀 40,769評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡酥夭,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情熬北,我是刑警寧澤疙描,帶...
    沈念sama閱讀 36,439評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站讶隐,受9級特大地震影響起胰,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜巫延,卻給世界環(huán)境...
    茶點故事閱讀 42,115評論 3 335
  • 文/蒙蒙 一效五、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧炉峰,春花似錦畏妖、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,601評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至婆廊,卻和暖如春谱仪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背否彩。 一陣腳步聲響...
    開封第一講書人閱讀 33,702評論 1 274
  • 我被黑心中介騙來泰國打工疯攒, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人列荔。 一個月前我還...
    沈念sama閱讀 49,191評論 3 378
  • 正文 我出身青樓敬尺,卻偏偏與公主長得像,于是被迫代替她去往敵國和親贴浙。 傳聞我的和親對象是個殘疾皇子砂吞,可洞房花燭夜當晚...
    茶點故事閱讀 45,781評論 2 361

推薦閱讀更多精彩內(nèi)容