python函數(shù)的創(chuàng)建和參數(shù)問題

python——函數(shù)

一药薯,函數(shù)的創(chuàng)建與調(diào)用

? 開展之前薄料,先說一下為什么要有函數(shù)存在:

? 假如每當(dāng)我們實(shí)現(xiàn)同一個(gè)功能,就要重新輸入代碼仍源,是不是太麻煩了心褐?如果我們能把這段代碼封裝起來,用一個(gè)名稱代替笼踩,每次使用到這個(gè)功能就用名稱調(diào)用檬寂,是不是非常爽。這就是函數(shù)存在的意義戳表。

創(chuàng)建函數(shù)的格式:

#####  def function_name () :
#####      代碼塊
>>>def myfirstfunction():
       print("人生苦短,我學(xué)python昼伴!")
## 調(diào)用函數(shù)
>>> myfirstfunction()
人生苦短匾旭,我學(xué)python!

函數(shù)后面的小括號(hào)是什么呢?請(qǐng)看下面:

二圃郊,函數(shù)的參數(shù)

? 同樣价涝,先說一下為什么要有參數(shù)的存在:

? 試想一下,假如括號(hào)里任何東西都沒有持舆,每當(dāng)我們調(diào)用函數(shù)時(shí)色瘩,每次執(zhí)行的語句都一樣,當(dāng)碰到其他情況了怎么辦呢逸寓?所以居兆,參數(shù)的存在就是為了實(shí)現(xiàn)函數(shù)的個(gè)性化,使得函數(shù)能應(yīng)用不同的要求竹伸。

>>> def mysecondfunction(language):
    print("人生苦短泥栖,我學(xué){}".format(language))
>>> mysecondfunction("R")
人生苦短,我學(xué)R
>>> mysecondfunction("python")
人生苦短勋篓,我學(xué)python

對(duì)于.format()字符串格式化的使用吧享,請(qǐng)看Python的基本數(shù)據(jù)類型

我們可以發(fā)現(xiàn),當(dāng)我們通過參數(shù)傳入不同的內(nèi)容時(shí)譬嚣,函數(shù)會(huì)根據(jù)我們的需求钢颂,打印出我們想要的結(jié)果,是不是很神奇拜银?

三殊鞭,函數(shù)的返回值

? 老規(guī)矩,為什么會(huì)有函數(shù)返回值的存在呢:

? 顧名思義盐股,我們執(zhí)行函數(shù)要的就是其返回值钱豁。return語句用來結(jié)束函數(shù)并將程序返回到調(diào)用函數(shù)的位置,繼續(xù)執(zhí)行下面的程序疯汁。

## 很簡(jiǎn)單牲尺,只需要在函數(shù)中使用關(guān)鍵字return,后面跟著指定要返回的值
>>> def add(a,b):
    return a + b
>>> add(1,3)
4

四,函數(shù)參數(shù)的具體理解

? 參數(shù)既然能神奇的讓函數(shù)變得個(gè)性化谤碳,自然它的靈活度就決定了函數(shù)的靈活度溃卡。下面談?wù)勎覍?duì)函數(shù)參數(shù)的一些理解。

1蜒简,形參和實(shí)參:

? 跟絕大多數(shù)編程語言一樣瘸羡,形參指的就是創(chuàng)建函數(shù)時(shí),小括號(hào)里的參數(shù)搓茬,實(shí)參就是你實(shí)際遞給括號(hào)里的參數(shù)

## 形參就是括號(hào)里的language 
>>> def mysecondfunction(language):
    print("人生苦短犹赖,我學(xué){}".format(language))
## “R”就是我們傳給函數(shù)的實(shí)參
>>> mysecondfunction("R")
人生苦短,我學(xué)R

2卷仑,關(guān)鍵字參數(shù):

普通的參數(shù)叫位置參數(shù)峻村,顧名思義就是參數(shù)有順序,我們要按照括號(hào)里給定的參數(shù)順序傳遞給函數(shù)锡凝。但是這樣又有問題粘昨,假如我們粗心記錯(cuò)了參數(shù)的順序,傳入?yún)?shù)的順序不正確怎么辦窜锯?關(guān)鍵字參數(shù)給了一個(gè)好的解決辦法张肾。

>>> def play(name = "keyangou" , game = "LOL"):
    print(name + " play " + game)
>>> play("老王" , "王者榮耀")
老王 play 王者榮耀
>>> play("王者榮耀" , "老王")
王者榮耀 play 老王
>>> play(game = "王者榮耀" , name = "老王")
老王 play 王者榮耀

? 當(dāng)我們指定關(guān)鍵詞的時(shí)候,就不用擔(dān)心順序問題啦~~~~

3锚扎,默認(rèn)參數(shù)

? 默認(rèn)參數(shù)很好理解吞瞪,就是在括號(hào)里給形參一個(gè)默認(rèn)值,使得在調(diào)用函數(shù)時(shí)工秩,即使不填寫該參數(shù)尸饺,也不會(huì)報(bào)錯(cuò),并且以給定的默認(rèn)值執(zhí)行函數(shù)助币。

>>> def play(name = "keyangou" , game = "LOL"):
    print(name + " play " + game)
keyangou play LOL    

注意 :大家創(chuàng)建的函數(shù)有默認(rèn)參數(shù)時(shí)浪听,一定要把默認(rèn)參數(shù)放在最后!

4眉菱,收集參數(shù)

? 收集參數(shù)為什么會(huì)存在迹栓?

? 作者寫函數(shù)的時(shí)候,也不知道函數(shù)到底需要幾個(gè)參數(shù)....所以俭缓,這種情況僅需在參數(shù)前面加上星號(hào)(*)即可

>>> def test(*params):
    print("有{}個(gè)參數(shù)".format(params))
    print("第二個(gè)參數(shù)是:",params[1])
>>> test("G" , "o","l","d")
有('G', 'o', 'l', 'd')個(gè)參數(shù)
第二個(gè)參數(shù)是: o

注意:在使用收集參數(shù)時(shí)克伊,收集參數(shù)后面的參數(shù)一定要用關(guān)鍵參數(shù)來指定,否則python都會(huì)把你的實(shí)參列入收集參數(shù)的范疇华坦!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末愿吹,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子惜姐,更是在濱河造成了極大的恐慌犁跪,老刑警劉巖椿息,帶你破解...
    沈念sama閱讀 221,635評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異坷衍,居然都是意外死亡寝优,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門枫耳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來乏矾,“玉大人,你說我怎么就攤上這事迁杨∽晷模” “怎么了?”我有些...
    開封第一講書人閱讀 168,083評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵铅协,是天一觀的道長扔役。 經(jīng)常有香客問我,道長警医,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,640評(píng)論 1 296
  • 正文 為了忘掉前任坯钦,我火速辦了婚禮预皇,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘婉刀。我一直安慰自己吟温,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評(píng)論 6 397
  • 文/花漫 我一把揭開白布突颊。 她就那樣靜靜地躺著鲁豪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪律秃。 梳的紋絲不亂的頭發(fā)上爬橡,一...
    開封第一講書人閱讀 52,262評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音棒动,去河邊找鬼糙申。 笑死,一個(gè)胖子當(dāng)著我的面吹牛船惨,可吹牛的內(nèi)容都是我干的柜裸。 我是一名探鬼主播,決...
    沈念sama閱讀 40,833評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼粱锐,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼疙挺!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起怜浅,我...
    開封第一講書人閱讀 39,736評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤铐然,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體锦爵,經(jīng)...
    沈念sama閱讀 46,280評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡舱殿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了险掀。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沪袭。...
    茶點(diǎn)故事閱讀 40,503評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖樟氢,靈堂內(nèi)的尸體忽然破棺而出冈绊,到底是詐尸還是另有隱情,我是刑警寧澤埠啃,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布死宣,位于F島的核電站,受9級(jí)特大地震影響碴开,放射性物質(zhì)發(fā)生泄漏毅该。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評(píng)論 3 333
  • 文/蒙蒙 一潦牛、第九天 我趴在偏房一處隱蔽的房頂上張望眶掌。 院中可真熱鬧,春花似錦巴碗、人聲如沸朴爬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽召噩。三九已至,卻和暖如春逸爵,著一層夾襖步出監(jiān)牢的瞬間具滴,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評(píng)論 1 272
  • 我被黑心中介騙來泰國打工师倔, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留抵蚊,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,909評(píng)論 3 376
  • 正文 我出身青樓溯革,卻偏偏與公主長得像贞绳,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子致稀,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評(píng)論 2 359

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