Day9-總結(jié)

01-recode

1.字典

增:字典[key] = 值 漆枚; 字典.setdefault(key,值) 怎燥;字典.update(字典1)
刪 : del 字典[key] 荠锭; 字典.pop(key)

2.集合 - 無(wú)序呼股,可變

查 - 遍歷
增 - 集合.add(元素)耕魄;集合.updata(序列)
刪 - 集合.remove(元素)

數(shù)學(xué)集合元算:包含(>= , <=)、并集(|)彭谁、交集(&)吸奴、差集(-)、補(bǔ)集(^)

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

a.函數(shù)的聲明

def 函數(shù)名(形參列表):
函數(shù)說(shuō)明文檔
函數(shù)體

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

函數(shù)名(實(shí)參列表)

02-函數(shù)的調(diào)用

1.函數(shù)的調(diào)用過(guò)程(重點(diǎn))

函數(shù)在聲明的時(shí)候不會(huì)執(zhí)行函數(shù)體缠局,只有在調(diào)用函數(shù)的時(shí)候才會(huì)執(zhí)行函數(shù)體

a.物理過(guò)程

第一步:回到函數(shù)聲明的位置
第二步:用實(shí)參給形參賦值(傳參)
傳參一定要保證每個(gè)形參都有值
第三步:執(zhí)行函數(shù)體
第四步:獲取返回值
第五步:回到函數(shù)調(diào)用的位置则奥,接著往后執(zhí)行

b.函數(shù)調(diào)調(diào)用的過(guò)程是一個(gè)壓棧的過(guò)程

當(dāng)函數(shù)調(diào)用的時(shí)候,系統(tǒng)會(huì)自定的在內(nèi)存中棧區(qū)間開(kāi)辟空間狭园,存儲(chǔ)函數(shù)調(diào)用過(guò)程中產(chǎn)生的數(shù)據(jù)
(這兒的數(shù)據(jù)包括參數(shù)和在函數(shù)的聲明的變量)读处。當(dāng)函數(shù)調(diào)用完成后,對(duì)應(yīng)的內(nèi)存空間會(huì)自動(dòng)銷毀

def say_hello(name):
    print('hello')
say_hello('小明')

a = 10
b = 20
def change(a,b):
    a,b = b ,a
    print(a,b)
change(a,b)
print(a,b)

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

1.根據(jù)實(shí)參分為位置參數(shù)和關(guān)鍵字參數(shù)

a.位置參數(shù)

實(shí)參的位置和形參的位置一一對(duì)應(yīng)

b.關(guān)鍵字參數(shù)

實(shí)參以"形參名 = 值"的形式來(lái)傳參

c.位置參數(shù)和關(guān)鍵字參數(shù)混合使用

前提 :保證每個(gè)參數(shù)都有值唱矛;位置參數(shù)要在關(guān)鍵字參數(shù)的前面

def func1(a,b,c):
    print('a:%d b:%d c:%d'%(a,b,c))
func1(10,20,100)
func1(c = 100,b =20 ,a=10)
func1(10,c=100,b=20)

2.從函數(shù)聲明的角度又有:參數(shù)默認(rèn)值罚舱,不定長(zhǎng)參數(shù),參數(shù)類型說(shuō)明

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

聲明函數(shù)的時(shí)候可以給參數(shù)設(shè)置默認(rèn)值绎谦,語(yǔ)法:參數(shù)名 = 默認(rèn)值
如果函數(shù)聲明的時(shí)候參數(shù)有默認(rèn)值管闷,調(diào)用函數(shù)的時(shí)候,有默認(rèn)值得參數(shù)可以不用賦值
如果有的參數(shù)有默認(rèn)值窃肠,有的參數(shù)沒(méi)有默認(rèn)值包个;有默認(rèn)值的參數(shù)一定要放在沒(méi)有默認(rèn)值參數(shù)后面
注意:設(shè)置默認(rèn)值除了可以給參數(shù)一個(gè)默認(rèn)值,也可以對(duì)參數(shù)的類型進(jìn)行說(shuō)明

def func2(a=1,b=2,c=3):
    print('a:%d b:%d c:%d' % (a, b, c))
func2(10,20,30)
func2()

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

不定長(zhǎng)參數(shù):聲明函數(shù)的時(shí)候冤留,函數(shù)的參數(shù)不確定

a.在聲明函數(shù)的時(shí)候赃蛛,參數(shù)名前加一個(gè)*,會(huì)將這個(gè)參數(shù)編程元祖搀菩,來(lái)獲取多個(gè)實(shí)參的值(通過(guò)位置參數(shù)傳參)

調(diào)用參數(shù)是不定長(zhǎng)參數(shù)的函數(shù)的時(shí)候呕臂,不定長(zhǎng)參數(shù)對(duì)應(yīng)的位置,可以傳任意個(gè)實(shí)參

b.在聲明函數(shù)的時(shí)候肪跋,參數(shù)名前加**歧蒋,會(huì)將參數(shù)變成字典,來(lái)獲取多個(gè)實(shí)參的中(必須使用關(guān)鍵字參數(shù))

如果是調(diào)用不定長(zhǎng)關(guān)鍵字參數(shù)(參數(shù)名前加**),調(diào)用的時(shí)候關(guān)鍵字可以隨便命名

c.在聲明函數(shù)時(shí)候谜洽,參數(shù)名前加*一起使用萝映,用來(lái)表示不定長(zhǎng)參數(shù),

調(diào)用的時(shí)候更靈活阐虚,可以用位置參數(shù)傳參序臂,也可以用關(guān)鍵字傳參
要求:一顆參數(shù)要放在兩顆參數(shù)的前面

4.參數(shù)類型說(shuō)明

參數(shù)類型說(shuō)明,只是對(duì)參數(shù)類型進(jìn)行提示实束,不能限制參數(shù)的類型

a.設(shè)置默認(rèn)值

b.參數(shù)名:類型名

注意:類型除了說(shuō)明類型以外奥秆,還可以做相應(yīng)類型對(duì)應(yīng)的語(yǔ)法提示

# 聲明一個(gè)函數(shù),功能是求多個(gè)數(shù)的和
def my_sum(*num):
    print(num,type(num))
my_sum(1,2,3,4,5,6,7)
my_sum()
def fun5(**num):
    print(num)
fun5(a=1,b=2,c=3)
def fun6(a,**b):
    print(a,b)
fun6('abc',x=10,y=20)
def func7(*args,**kwargs):
    print(args,kwargs)
func7(8,9,10,29)
func7(a=10,b=20)
func7()
func7(1,2,3,x=10,y=20)
# 練習(xí):求多個(gè)數(shù)的和咸灿,齊奧球調(diào)用函數(shù)的時(shí)候可以多樣性(位置构订、關(guān)鍵字)
def my_sum(*args,**kwargs):
    sum1 = 0

    for x in kwargs:
     sum1 = sum1+ kwargs[x]
    for item in args:
        sum1 += item
    print(sum1)
my_sum(1,2,3,4,a=1,b=2)

def fun8(a:int,b=''):
    print(a,b)
fun8(10,'abc')
fun8([1,2,3],12)

04-函數(shù)的返回值

1.返回值

a.函數(shù)的返回值就是return關(guān)鍵值后面表達(dá)式的值,就是函數(shù)調(diào)用表達(dá)式的值

b.python中所有的函數(shù)都有返回值避矢,默認(rèn)是None

return - 關(guān)鍵字:
1.返回返回值
2.結(jié)束函數(shù)(當(dāng)函數(shù)在執(zhí)行的過(guò)程中遇到了return悼瘾,函數(shù)直接結(jié)束) , 如果函數(shù)體中沒(méi)有return,函數(shù)會(huì)在函數(shù)體執(zhí)行完成后將None作為返回值
函數(shù)調(diào)用表達(dá)式 - 調(diào)用函數(shù)的語(yǔ)句审胸;當(dāng)函數(shù)調(diào)用完成后亥宿。函數(shù)調(diào)用表達(dá)式的結(jié)果就是返回值

看一個(gè)函數(shù)的返回值,永遠(yuǎn)只看是否遇到return砂沛,遇到了就是return后面的值箩绍,遇不到就是None

返回值的作用:就是將在函數(shù)內(nèi)部產(chǎn)生的數(shù)據(jù),傳遞到函數(shù)外面尺上,防止在函數(shù)調(diào)用完成后被銷毀
什么時(shí)候使用返回值:如果實(shí)現(xiàn)函數(shù)的功能會(huì)產(chǎn)生新的數(shù)據(jù)材蛛,一般都會(huì)將這個(gè)數(shù)據(jù)返回

def func1(m,n):
    print(m,n)
    return 100 # 將100作為函數(shù)func1的返回值
def func2(m,n):
    return m+n # m+n 的結(jié)果就是返回值
def func3(m,n):
    return None  #None作為返回值,在這兒結(jié)束怎抛。函數(shù)體后面的其他語(yǔ)句不會(huì)執(zhí)行
    print(m,n)
def func4():
    print('hello')
print(func4())

2.同時(shí)返回多個(gè)值

python的函數(shù)支持返回多個(gè)值

return 返回值1卑吭,返回值2,返回值3... : 實(shí)質(zhì)是以元祖的形式返回

# 寫(xiě)一個(gè)函數(shù)求多個(gè)數(shù)的和以及平均值

def average_sum(*n):
        sum1 = sum(n)
        average = sum1 / len(n)
        return sum1,average


print(average_sum(1,2,3,4,5,6))

05-返回值的應(yīng)用

返回值能做的事情马绝,函數(shù)調(diào)用表達(dá)式都可以做

# 1.用函數(shù)調(diào)用表達(dá)式給變量賦值
def fun1():
    return 'hello'

str1 =fun1()
print(str1)

2.通過(guò)函數(shù)調(diào)用表達(dá)式使用相應(yīng)的方法

def fun2():
    return [1,2]
item = fun2()[0]

item = fun2().append(3)
print(item) #item獲取的append函數(shù)的返回值豆赏,append函數(shù)沒(méi)有返回值
# 3.將函數(shù)調(diào)用表達(dá)式作為容器的元素,函數(shù)的參數(shù)富稻,函數(shù)的返回值
def fun3():
    return 100
print(fun3()+3) #print(100+3)
list2 = [fun3(),'abc']
print('list2:',list2)#作為列表元素
dict = {fun3():fun3()}#作為字典的key和value
def fun4(m):
    print(m)
    return  fun3()#作為函數(shù)的返回值
re = fun4(fun3())
print(re)#作為實(shí)參

06-匿名函數(shù)

匿名函數(shù)還是函數(shù)掷邦,除了聲明的語(yǔ)法以外,函數(shù)其他的語(yǔ)法椭赋,匿名函數(shù)都支持

1.匿名函數(shù)的聲明

a.語(yǔ)法:

函數(shù)名 = lambda 參數(shù)列表:返回值

b.說(shuō)明:

函數(shù)名 - 變量名
lambda - 關(guān)鍵字
參數(shù)列表 - 和普通函數(shù)的參數(shù)列表的作用和要求一樣
返回值 - 相當(dāng)于普通函數(shù)return關(guān)鍵字后面的表達(dá)式
注意:匿名函數(shù)中冒號(hào)后面的語(yǔ)句屬于函數(shù)體抚岗。在聲明的時(shí)候不會(huì)執(zhí)行
匿名函數(shù)的調(diào)用和普通函數(shù)一模一樣

# 用匿名函數(shù)求兩個(gè)數(shù)的和
my_sum = lambda  num1 ,num2 :num1 +num2
print(my_sum(1,2))
# 寫(xiě)一個(gè)匿名函數(shù):求兩個(gè)數(shù)的最大值
max_number = lambda  num1 ,num2 :max(num1,num2)
num3=max_number(1,20)
print(num3)

2.補(bǔ)充:python中的三目運(yùn)算符

a.

c中的三目運(yùn)算符:條件語(yǔ)句?值1:值2 - 條件語(yǔ)句為T(mén)rue哪怔,整個(gè)表達(dá)式的結(jié)果是值1宣蔚,否則是值2

b.

python 中的三目運(yùn)算符:值1 if 條件語(yǔ)句 else 值2
x = 10
y = 20
max1 = x if x > y else y

# 寫(xiě)一個(gè)匿名函數(shù):求兩個(gè)數(shù)的最大值
max_number = lambda  num1 ,num2 :num1 if num1 > num2 else num2
num3=max_number(21,20)
print(num3)
# 寫(xiě)一個(gè)匿名函數(shù)向抢,獲取字典中指定的key對(duì)應(yīng)的值

values = lambda  dict1,key :dict1[key]
print(values({'a':100,'b':200},'a'))
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市胚委,隨后出現(xiàn)的幾起案子挟鸠,更是在濱河造成了極大的恐慌,老刑警劉巖亩冬,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件艘希,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡硅急,警方通過(guò)查閱死者的電腦和手機(jī)覆享,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)铜秆,“玉大人,你說(shuō)我怎么就攤上這事讶迁×耄” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵巍糯,是天一觀的道長(zhǎng)啸驯。 經(jīng)常有香客問(wèn)我,道長(zhǎng)祟峦,這世上最難降的妖魔是什么罚斗? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮宅楞,結(jié)果婚禮上针姿,老公的妹妹穿的比我還像新娘。我一直安慰自己厌衙,他們只是感情好距淫,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著婶希,像睡著了一般榕暇。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上喻杈,一...
    開(kāi)封第一講書(shū)人閱讀 52,156評(píng)論 1 308
  • 那天彤枢,我揣著相機(jī)與錄音,去河邊找鬼筒饰。 笑死缴啡,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的瓷们。 我是一名探鬼主播盟猖,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼讨衣,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了式镐?” 一聲冷哼從身側(cè)響起反镇,我...
    開(kāi)封第一講書(shū)人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎娘汞,沒(méi)想到半個(gè)月后歹茶,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡你弦,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年惊豺,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片禽作。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡尸昧,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出旷偿,到底是詐尸還是另有隱情烹俗,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布萍程,位于F島的核電站幢妄,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏茫负。R本人自食惡果不足惜蕉鸳,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望忍法。 院中可真熱鬧潮尝,春花似錦、人聲如沸饿序。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)嗤堰。三九已至戴质,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間踢匣,已是汗流浹背告匠。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留离唬,地道東北人后专。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像输莺,于是被迫代替她去往敵國(guó)和親戚哎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子裸诽,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

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

  • 一.函數(shù)的調(diào)用 函數(shù)在聲明的時(shí)候不會(huì)執(zhí)行函數(shù)體, 只有在調(diào)用函數(shù)的時(shí)候才會(huì)執(zhí)行函數(shù)體 1.函數(shù)的調(diào)用過(guò)程(重點(diǎn)型凳!)...
    熙包包閱讀 255評(píng)論 0 0
  • 這是16年5月份編輯的一份比較雜亂適合自己觀看的學(xué)習(xí)記錄文檔丈冬,今天18年5月份再次想寫(xiě)文章,發(fā)現(xiàn)簡(jiǎn)書(shū)還為我保存起的...
    Jenaral閱讀 2,767評(píng)論 2 9
  • 1.函數(shù)函數(shù)在聲明的時(shí)候不會(huì)執(zhí)行函數(shù)體甘畅, 只有在調(diào)用函數(shù)的時(shí)候才會(huì)執(zhí)行函數(shù)體埂蕊。 1.函數(shù)的調(diào)用過(guò)程(重點(diǎn)!)a.物...
    9527神經(jīng)閱讀 318評(píng)論 0 0
  • 角色的轉(zhuǎn)換意味著心態(tài)的轉(zhuǎn)換疏唾。當(dāng)你突然從一個(gè)角色中抽脫出來(lái)蓄氧,帶著不同的心態(tài),看著“原來(lái)的你”生活在水深火熱之中槐脏,一種...
    迷彩校尉閱讀 218評(píng)論 0 0
  • 1 你買了新褲子興沖沖打電話讓我看看喉童。一上車你就迫不及待展示《偬欤“怎么買條這顏色的褲子堂氯,可惜了這兩條大長(zhǎng)腿,讓人不忍...
    流失的青春閱讀 988評(píng)論 45 57