6尿庐、函數(shù)定義與實(shí)現(xiàn)

6.1 函數(shù)的定義

函數(shù)是實(shí)現(xiàn)具有特定功能的代碼
函數(shù)的特點(diǎn):
?隱藏實(shí)現(xiàn)功能的細(xì)節(jié)
?重用代碼
?提高可讀性啡莉,便于調(diào)試
函數(shù)的定義:
def 函數(shù)名(形式參數(shù)(形參)1,形式參數(shù)2,......形式參數(shù)n):
?要運(yùn)行的代碼(函數(shù)體)
?return 輸出的數(shù)據(jù)(返回值)

6.2 函數(shù)的形參和實(shí)參

參數(shù)就是函數(shù)的輸入數(shù)據(jù)港准,在程序運(yùn)行時(shí)根據(jù)參數(shù)不同,執(zhí)行不同代碼咧欣。
形參:是定義函數(shù)時(shí)括號(hào)內(nèi)的內(nèi)容浅缸,是格式上的約定,沒(méi)有實(shí)際數(shù)據(jù)實(shí)參魄咕,形參用于約束
實(shí)參:是使用函數(shù)時(shí)括號(hào)內(nèi)的內(nèi)容衩椒,是根據(jù)約定,傳入實(shí)際的數(shù)據(jù)哮兰,實(shí)參用于傳值

def oper(num, num1, num2):
    # num, num1, num2是函數(shù)oper的形參
    if num < 100:
        print(num1 * num2)
    else:
        print(num1 + num2)


# 1314, 52, 0是實(shí)參
oper(1314, 52, 0)
# 5,2,0是實(shí)參
oper(5, 2, 0)

6.3 函數(shù)的返回值

參數(shù)是函數(shù)的輸入數(shù)據(jù)毛萌,而返回值則是函數(shù)的輸出結(jié)果。
return 不是必須的喝滞,但是return語(yǔ)句執(zhí)行后阁将,return 后面的語(yǔ)句將不會(huì)被執(zhí)行,函數(shù)將中斷執(zhí)行右遭。
若傳入的實(shí)參在函數(shù)體中沒(méi)有對(duì)應(yīng)的執(zhí)行語(yǔ)句時(shí)做盅,即 return 返回值為空,最終返回:None

6.4 函數(shù)的使用技巧

(1)設(shè)置參數(shù)默認(rèn)值
為參數(shù)設(shè)置默認(rèn)值窘哈,只需要在形參后面增加 "=具體值"即可吹榴,如果不傳入實(shí)參就用默認(rèn)的具體值,否則用傳入的具體值
(2)關(guān)鍵字傳參
函數(shù)名(形參1 = "具體值1",形參2 = "具體值2",形參3 = "具體值3",...)滚婉;調(diào)用函數(shù)時(shí)图筹,以形參 = "具體值"的方式賦值
(3)混合形式傳參(既可以包含按位置傳參,又可以強(qiáng)制指定按關(guān)鍵字傳參)
在定義函數(shù)時(shí)满哪,設(shè)置""之后必須用關(guān)鍵字傳參婿斥,""之前只傳入對(duì)應(yīng)參數(shù)的具體值即可。

# desc為位置傳參哨鸭,birth必須是關(guān)鍵字傳參民宿,name是默認(rèn)傳參
def info(desc, *, birth, name='imooc'):
    print('{n}-dbfz3vv出生于'.format(n=name, d=desc, b=birth))


# birth必須是關(guān)鍵字傳參像鸡,否則報(bào)錯(cuò)
info('程序員的夢(mèng)工廠', birth='2013年8月')

(4)序列傳參
利用序列為參數(shù)進(jìn)行賦值

def oper(num, num1, num2):
    if num < 100:
        return num1 * num2
    else:
         return num1 + num2


# 列表傳參
list1 = [1314, 52, 0]
print(oper(*list1))
# 元組傳參
tuple1= (5, 2, 0)
print(oper(*tuple1))

(5)字典傳參
利用字典為參數(shù)進(jìn)行賦值活鹰,使用字典傳參時(shí),字典的key必須為字符串類型

def fun_dict(name, hiredate, tel, dept):
    print('{n}隸屬于{h}只估,電話:{t}, 入職日期:hplxl3j'.format(n=name, h=hiredate, t=tel, d=dept))


dict1 = {'name': '小葫蘆', 'hiredate': '2017-9-23', 'tel': 18795642135, 'dept': '技術(shù)部'}
# 使用**dict1可實(shí)現(xiàn)對(duì)字典dict1的解包
fun_dict(**dict1)

(6) 返回值包含多個(gè)數(shù)據(jù)
返回包含多個(gè)數(shù)據(jù),字典通過(guò)key包含不同類型的數(shù)據(jù)志群,如果每個(gè)key又包含多個(gè)子數(shù)據(jù),就用列表進(jìn)行囊括蛔钙,再用字典表示子數(shù)據(jù)

def get_detail_info():
    dict1 = {
        "employee": [
            {"name": "張三", "salary": 1800},
            {"name": "李四", "salary": 2000}
        ],
        "device": [
            {"id": "8881292", "title": "xx筆記本"},
            {"id": "8881234", "title": "xx臺(tái)式機(jī)"}
        ]
    }
    return dict1


print(get_detail_info())

# 調(diào)用函數(shù)
d = get_detail_info()
# 取值
name = d.get("employee")[0].get("name")
print(name)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末锌云,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子吁脱,更是在濱河造成了極大的恐慌桑涎,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件兼贡,死亡現(xiàn)場(chǎng)離奇詭異攻冷,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)遍希,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門等曼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人凿蒜,你說(shuō)我怎么就攤上這事禁谦。” “怎么了废封?”我有些...
    開封第一講書人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵枷畏,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我虱饿,道長(zhǎng)拥诡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任氮发,我火速辦了婚禮渴肉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘爽冕。我一直安慰自己仇祭,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開白布颈畸。 她就那樣靜靜地躺著乌奇,像睡著了一般没讲。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上礁苗,一...
    開封第一講書人閱讀 51,488評(píng)論 1 302
  • 那天爬凑,我揣著相機(jī)與錄音,去河邊找鬼试伙。 笑死嘁信,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的疏叨。 我是一名探鬼主播潘靖,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼蚤蔓!你這毒婦竟也來(lái)了卦溢?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤秀又,失蹤者是張志新(化名)和其女友劉穎既绕,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體涮坐,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡凄贩,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了袱讹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片疲扎。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖捷雕,靈堂內(nèi)的尸體忽然破棺而出椒丧,到底是詐尸還是另有隱情,我是刑警寧澤救巷,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布壶熏,位于F島的核電站,受9級(jí)特大地震影響浦译,放射性物質(zhì)發(fā)生泄漏棒假。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一精盅、第九天 我趴在偏房一處隱蔽的房頂上張望帽哑。 院中可真熱鬧,春花似錦叹俏、人聲如沸妻枕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)屡谐。三九已至述么,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間愕掏,已是汗流浹背度秘。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留亭珍,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓枝哄,卻偏偏與公主長(zhǎng)得像肄梨,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子挠锥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

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