python筆記:將function儲存在module里

上一篇python筆記學(xué)習(xí)了什么是function(python筆記:Functions)鹉究,以及function的結(jié)構(gòu)和如何call function。這一篇筆記記錄的是如何將你的function儲存在Modules里踪宠。

在你讀python代碼的時候自赔,一定看到過下面這樣的代碼:

import ***
或者
import *** as ***
或者
from *** import ***

你真的明白它們的意思嗎?

通過function的功能柳琢,可以把我們的代碼分成“一塊一塊的”绍妨,通過添加描述,使我們的代碼更加容易閱讀柬脸。進(jìn)一步的他去,我們可以把我們的functions儲存在一個單獨(dú)的文件里,這個文件稱為“module”灾测,使用的時候只需要在我們的主體代碼里import就行了垦巴。使用“import”告訴python蛾号,在當(dāng)前這個運(yùn)行的代碼里,我要使用某個module精刷。

把我們的function儲存在一個單獨(dú)的文件里,可以使你在不同的程序里隨時調(diào)用你的function纫事。同時也方便其他人使用丽惶。

在開始import我們的function之前,我們第一步需要做的是創(chuàng)建一個module抡秆。module文件一般是以“.py”為后綴的文件的止。里面包含了你想import的function。舉個例子权谁,我們創(chuàng)建一個名為“pizza.py”的文件,其中的代碼:

def make_pizza(size, *toppings):
    """Summarize the pizza we are about to make."""
    print(f"\nMaking a {size}-inch pizza with the following toppings:")
    for topping in toppings:
        print(f"- {topping}")

然后將這個文件保存。

現(xiàn)在打開一個新的文件.py文件悯舟,或者.ipynb文件,這時我們想call上面的這個function反惕,實(shí)際上現(xiàn)在的步驟就不是call function了,是import:

import pizza 

pizza.make_pizza(16, 'pepperoni')
pizza.make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')

第一行import pizza,是告訴python打開文件pizza.py,并且復(fù)制function到新的程序里。這時中鼠,在這個pizza.py文件里的所有functions都可以在新的程序里使用。

接著,為了調(diào)用這個function筐赔,首先要先打出module的名字,這里是“pizza”。隨后跟著“.”,然后是function的名字溜哮,這個例子里,function的名字是“make_pizza”。然后括號里是這個function需要的參數(shù)。

這時運(yùn)行這個程序走趋,輸出的結(jié)果是:

Making a 16-inch pizza with the following toppings:
- pepperoni

Making a 12-inch pizza with the following toppings:
- mushrooms
- green peppers
- extra cheese

如果一個module里包含多個function氮唯,你可以使用下面的公式來調(diào)用它們:

module_name.function_name()

(一)import指定的function

在import module時鉴吹,為了import某一個特殊的function,你可以使用下面這個代碼:

#method 1
from moudle_name import function_name
#method 2
from module_name import function_0,function_1,function_2

所以上面的例子惩琉,我們也可以使用這樣的代碼來import module:

from pizza import make_pizza

make_pizza(16, 'pepperoni')
make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')

NOTE: 如果你使用這樣的方法來調(diào)用function豆励,就不用再在make_pizza前加上“pizza.”了。因?yàn)槟阍趇mport里已經(jīng)特定的指出我們使用的是“make_pizza”這個function了瞒渠。

(二)使用as給function一個別名

如果你的這個function的名字與一個已經(jīng)存在的名字沖突了良蒸,或者這個function的名字特別長,你可以給你的function起個別名伍玖。

舉個例子嫩痰,以上面的pizza為例,我們可以把make_pizza這個function名字起個別名“mp”私沮。然后再import:

from pizza import make_pizza as mp

mp(16, 'pepperoni')
mp(12, 'mushrooms', 'green peppers', 'extra cheese')

這里可以看出來始赎,當(dāng)你再call這個function的時候,你只需要使用mp來call它就行了仔燕。

(三)使用as給Module一個別名

同樣的造垛,你也可以給module起個別名:

import pizza as p #給module起個別名p

p.make_pizza(16, 'pepperoni')
p.make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')

(四)importing module里所有的function

你可以使用*來import一個module里的所有function:

from pizza import *

make_pizza(16, 'pepperoni')
make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')

這個星號就是告訴python,我要把這個module里所有的function都import過來晰搀。但是如果你使用的module很大五辽,最好不要這么干。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
禁止轉(zhuǎn)載外恕,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者杆逗。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市鳞疲,隨后出現(xiàn)的幾起案子罪郊,更是在濱河造成了極大的恐慌,老刑警劉巖尚洽,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件悔橄,死亡現(xiàn)場離奇詭異,居然都是意外死亡腺毫,警方通過查閱死者的電腦和手機(jī)癣疟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來潮酒,“玉大人睛挚,你說我怎么就攤上這事〖崩瑁” “怎么了扎狱?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵侧到,是天一觀的道長。 經(jīng)常有香客問我委乌,道長床牧,這世上最難降的妖魔是什么荣回? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任遭贸,我火速辦了婚禮,結(jié)果婚禮上心软,老公的妹妹穿的比我還像新娘壕吹。我一直安慰自己,他們只是感情好删铃,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布耳贬。 她就那樣靜靜地躺著,像睡著了一般猎唁。 火紅的嫁衣襯著肌膚如雪咒劲。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天诫隅,我揣著相機(jī)與錄音腐魂,去河邊找鬼。 笑死逐纬,一個胖子當(dāng)著我的面吹牛蛔屹,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播豁生,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼兔毒,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了甸箱?” 一聲冷哼從身側(cè)響起育叁,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎芍殖,沒想到半個月后豪嗽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡围小,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年昵骤,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片肯适。...
    茶點(diǎn)故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡变秦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出框舔,到底是詐尸還是另有隱情蹦玫,我是刑警寧澤赎婚,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站樱溉,受9級特大地震影響挣输,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜福贞,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一撩嚼、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧挖帘,春花似錦完丽、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至骄崩,卻和暖如春聘鳞,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背要拂。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工抠璃, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人宇弛。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓鸡典,卻偏偏與公主長得像,于是被迫代替她去往敵國和親枪芒。 傳聞我的和親對象是個殘疾皇子彻况,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評論 2 345

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