day-9總結(jié)

1.什么是函數(shù)

函數(shù)就是對(duì)實(shí)現(xiàn)某一特定功能的代碼的封裝

2.函數(shù)的分類(lèi)

'''
系統(tǒng)函數(shù):系統(tǒng)自己定義的函數(shù)(不需要程序去實(shí)現(xiàn)), 程序猿直接使用兽泄。例如:print(),input()等等
自定義函數(shù):程序猿自己實(shí)現(xiàn)函數(shù)
'''

3.聲明函數(shù)

'''
1)語(yǔ)法
def 函數(shù)名(參數(shù)列表):
函數(shù)體

2)
def — 聲明函數(shù)關(guān)鍵字
函數(shù)名 - 是標(biāo)識(shí)符奏篙,不能是關(guān)鍵字
PEP8命名規(guī)范(所有字母都小寫(xiě)续室,多個(gè)單詞用下劃線(xiàn)隔開(kāi))摇零;
見(jiàn)名知義(根據(jù)名字能夠大概知道函數(shù)的功能)
() - 固定寫(xiě)法
參數(shù)列表 - 又叫形參历帚,以‘變量名1锋恬,變量名2屯换,···’的形式出現(xiàn)
形參可以沒(méi)有,也可以多個(gè)
將函數(shù)外面的數(shù)據(jù)傳遞到函數(shù)里面

函數(shù)體 - 由函數(shù)說(shuō)明文檔和實(shí)現(xiàn)函數(shù)功能的一條或者多條語(yǔ)句

3)初學(xué)聲明函數(shù)的過(guò)程
a. 確定函數(shù)功能
b. 根據(jù)功能去確定函數(shù)名
c. 確定形參:看實(shí)現(xiàn)函數(shù)的功能需不需要從函數(shù)外面?zhèn)鲾?shù)據(jù)伶氢,需要數(shù)據(jù)就對(duì)應(yīng)一個(gè)參數(shù)
d .實(shí)現(xiàn)函數(shù)的功能
e .確定返回值

L司丁1窭簟!蜗巧!注意:聲明函數(shù)的時(shí)后不會(huì)執(zhí)行函數(shù)體掌眠!只有調(diào)用函數(shù)的時(shí)候才會(huì)執(zhí)行函數(shù)體
'''

寫(xiě)一個(gè)函數(shù)求兩個(gè)數(shù)的和

def yt_sum(num1, num2):
"""
1)函數(shù)功能說(shuō)明:求兩個(gè)數(shù)的和
:param num1: 參數(shù)說(shuō)明,要求是一個(gè)數(shù)字
:param num2: 參數(shù)說(shuō)明
:return: 返回值說(shuō)明:
"""

def yt_sum(num1, num2):
print(num1 + num2)

4.函數(shù)的調(diào)用

'''
調(diào)用函數(shù)就是使用函數(shù)
1)語(yǔ)法
函數(shù)名(實(shí)參列表)

2)說(shuō)明
函數(shù)名 — 已經(jīng)聲明過(guò)的函數(shù)名
() - 固定寫(xiě)法
實(shí)參列表 - 實(shí)參是給形參賦值的幕屹;實(shí)參是具體的值蓝丙,比如:數(shù)據(jù), 已經(jīng)賦值過(guò)的變量望拖,運(yùn)算表達(dá)式(不能是賦值語(yǔ)句)

3)函數(shù)調(diào)用過(guò)程
第一步:回到函數(shù)聲明的位置
第二步:傳參渺尘;用實(shí)參給形參賦值
第三步:執(zhí)行函數(shù)體
第四步:執(zhí)行完函數(shù)體,回到函數(shù)調(diào)用的位置接著往后執(zhí)行
'''

yt_sum(20, 30)

練習(xí)1:求三個(gè)數(shù)的最大值


def max_num(num1, num2, num3):
    max1 = num1
    if max1 < num2:
        max1 = num2
    if max1 < num3:
        max1 = num3
        print(max1)


max_num(2, 4, 6)

練習(xí)2:寫(xiě)一個(gè)函數(shù)判斷一個(gè)字符串中是否有中文字符

def chinese_char(str1):
    for ch in str1:
        if '\u4e00'<= ch <= '\u9fa5':
            print('%s中包含中文字符' % str1)
            break
    else:
        print('%s中不包含中文字符' % str1)


chinese_char('ag啥技術(shù)')

練習(xí)3:寫(xiě)一個(gè)函數(shù)實(shí)現(xiàn)將一個(gè)數(shù)據(jù)插入到列表的最前面

def insert_front(list1, item):
    list1.insert(0, item)
    print(list1)
nums = [1, 3, 5, 100]
insert_front(nums, 200)

函數(shù)的參數(shù)

1.位置參數(shù)和關(guān)鍵字參數(shù)(實(shí)參)

'''
1)位置參數(shù):讓實(shí)參和形參的位置一一對(duì)應(yīng)
2).關(guān)鍵字參數(shù): 調(diào)用函數(shù)的時(shí)候说敏,以’形參=實(shí)參‘的形式傳參鸥跟;位置可以亂
注意:1:不管使用哪種方式傳參,要保證每個(gè)參數(shù)都有值
2:如果既有位置參數(shù)又有關(guān)鍵字參數(shù)盔沫,位置參數(shù)一定要在關(guān)鍵字參數(shù)的前面
'''

def fun1(x, y, z):
    print('x:%s y:%s z:%s' % (x, y, z))

#### 位置參數(shù)
fun1(10, 20, 30)

####關(guān)鍵字參數(shù)
fun1(x=100, y=200, z=300)

2.參數(shù)默認(rèn)值(形參)

'''
聲明函數(shù)的時(shí)候可以給參數(shù)設(shè)置默認(rèn)值医咨,以'形參=值'的方式來(lái)設(shè)置
設(shè)置了默認(rèn)值的參數(shù),在調(diào)用函數(shù)的時(shí)候可以不用傳參
如果有的參數(shù)有默認(rèn)值架诞,有的參數(shù)沒(méi)有默認(rèn)值拟淮;有默認(rèn)值的參數(shù)必須放在沒(méi)有默認(rèn)值參數(shù)的后面
'''


def func2(x=10, y=20, z=30):
    print('x:%s y:%s z:%s' % (x, y, z))

func2()
func2(99, 89, 80)
func2(z=999)   # 跳過(guò)前面的參數(shù)直接給后面的參數(shù)傳參


def func3(x, z, y=998):
    print('x:%s y:%s z:%s' % (x, y, z))

func3(10, 20)

3.參數(shù)類(lèi)型的說(shuō)明

'''
1)賦默認(rèn)值
2)以’形參:類(lèi)型名‘的方式說(shuō)明類(lèi)型
對(duì)參數(shù)類(lèi)型進(jìn)行說(shuō)明可以引導(dǎo)函數(shù)調(diào)用者正確的傳參;也可以讓實(shí)現(xiàn)函數(shù)體的時(shí)候代碼有提示
'''

def func4(x: list, y: str, z=0):
    print(x, y, z)


func4()

4.不定長(zhǎng)參數(shù)

'''
1)
聲明函數(shù)的時(shí)候在參數(shù)前加谴忧,就變成不定長(zhǎng)參數(shù)了很泊,可以同時(shí)接受多個(gè)實(shí)參
(不定長(zhǎng)參數(shù)實(shí)質(zhì)就是一個(gè)元祖,接收到的實(shí)參就是元祖的元素)
帶一個(gè)
的不定長(zhǎng)參數(shù)沾谓,調(diào)用的時(shí)候需要使用位置參數(shù)

2)聲明函數(shù)的時(shí)候在參數(shù)前加**委造,就變成不定長(zhǎng)參數(shù)了,可以同時(shí)接受多個(gè)實(shí)參
(實(shí)質(zhì)是一個(gè)字典搏屑,調(diào)用的時(shí)候必須使用關(guān)鍵字參數(shù))

注意:參數(shù)中帶的參數(shù)需要放在不帶參數(shù)的后面
帶一個(gè)需要放在帶兩個(gè)的前面

面試題:

def func(*args, **kwargs)
    pass

既可以用位置參數(shù)又可以用關(guān)鍵字參數(shù)接受多個(gè)實(shí)參
'''

寫(xiě)一個(gè)函數(shù)求多個(gè)數(shù)的和:yt_sum(1, 2)争涌,yt_sum(2, 67辣恋, 78)

def yt_sum(*nums):
    print(sum(nums))


yt_sum(1, 3, 5, 6)




def student_info(name, *scores):
    print(name, scores)


student_info('小明', 89)
student_info('小明', 89, 79, 90, 78)


def func11(**x):
    print(x)


func11(a=1, b=2, c=3)   # {'a': 1, 'b': 2, 'c': 3}


def func15(*args, **kwargs):
    print(args, kwargs)


func15(1, 2, 3)  # (1, 2, 3) {}
func15(a=1, b=99)   # () {'a': 1, 'b': 99}
func15(1, 2, 3, a=1, b=99)   # (1, 2, 3) {'a': 1, 'b': 99}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末亮垫,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子伟骨,更是在濱河造成了極大的恐慌饮潦,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件携狭,死亡現(xiàn)場(chǎng)離奇詭異继蜡,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)稀并,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)仅颇,“玉大人,你說(shuō)我怎么就攤上這事碘举⊥撸” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵引颈,是天一觀的道長(zhǎng)耕皮。 經(jīng)常有香客問(wèn)我,道長(zhǎng)蝙场,這世上最難降的妖魔是什么凌停? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮售滤,結(jié)果婚禮上罚拟,老公的妹妹穿的比我還像新娘。我一直安慰自己完箩,他們只是感情好舟舒,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著嗜憔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪氏仗。 梳的紋絲不亂的頭發(fā)上吉捶,一...
    開(kāi)封第一講書(shū)人閱讀 51,443評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音皆尔,去河邊找鬼呐舔。 笑死,一個(gè)胖子當(dāng)著我的面吹牛慷蠕,可吹牛的內(nèi)容都是我干的珊拼。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼流炕,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼澎现!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起每辟,我...
    開(kāi)封第一講書(shū)人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤剑辫,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后渠欺,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體妹蔽,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了胳岂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片编整。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖乳丰,靈堂內(nèi)的尸體忽然破棺而出掌测,到底是詐尸還是另有隱情,我是刑警寧澤成艘,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布寄锐,位于F島的核電站片仿,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜讯柔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望犁罩。 院中可真熱鬧插佛,春花似錦、人聲如沸剑勾。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)虽另。三九已至暂刘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間捂刺,已是汗流浹背谣拣。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留族展,地道東北人森缠。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像仪缸,于是被迫代替她去往敵國(guó)和親贵涵。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

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

  • 函數(shù)在聲明的時(shí)候不會(huì)執(zhí)行函數(shù)體,只有在調(diào)用的時(shí)候才會(huì)執(zhí)行函數(shù)體.* 函數(shù)的使用: 1.1函數(shù)的調(diào)用過(guò)程(重點(diǎn)) 第...
    學(xué)python的鐵頭娃閱讀 134評(píng)論 0 0
  • day_9_梳理數(shù)據(jù)類(lèi)型 容器型數(shù)據(jù)類(lèi)型 1.列表 1)數(shù)據(jù): [元素1, 元素2, 元素3, ...] -> ...
    生命在于不睡覺(jué)閱讀 167評(píng)論 0 0
  • 1.什么是函數(shù)函數(shù)就是對(duì)實(shí)現(xiàn)某一特定功能的代碼段的封裝 2.函數(shù)的分類(lèi)系統(tǒng)函數(shù): 系統(tǒng)已經(jīng)給我們定義好的函數(shù)恰画,程序...
    為了生活的茍且閱讀 196評(píng)論 0 0
  • """author = drh""" """0.列表(list)[元素1, 元素2,...] [元素]可變宾茂,有...
    LittleBear_6c91閱讀 284評(píng)論 0 0
  • 你有你的西風(fēng)烈馬, 我有我的小橋流水锣尉。 竹林一遇刻炒, 竟傾心墜落。 你說(shuō)自沧, 跟你走坟奥,能護(hù)我一世周全树瞭。 離家出走,親人...
    落城Angel閱讀 250評(píng)論 0 0