day9Function

列表(list)

[元素1和蚪,元素2...]
可變迁央,有序
元素可以是任意類型的數(shù)據(jù)爬坑,可以重復(fù)
元素的增刪改查

元祖(tuple)

(元素1,元素2...) 元素1递礼,元素2... (元素1惨险,)
不可變,有序
元素可以是任意類型的數(shù)據(jù)脊髓,可以重復(fù)
獲取元素

字典(dict)

{'key1':value1,'key2':value2,....} {}
可變辫愉,無序
元素是鍵值對;鍵 不可變将硝,唯一恭朗;值 可以是任意類型的數(shù)據(jù)屏镊,可以重復(fù)
元素的增刪改查

集合(set)

{元素1,元素2...} set()
可變痰腮,無序
元素不可變 唯一
元素的增刪查而芥;數(shù)學(xué)集合運算

Function

  1. 什么是函數(shù)
    函數(shù)就是實現(xiàn)某一特定功能的代碼段的封裝

  2. 函數(shù)的分類
    系統(tǒng)函數(shù):系統(tǒng)已經(jīng)給我們定義好的函數(shù),程序員直接調(diào)用函數(shù)膀值,使用功能棍丐。
    自定義函數(shù):需要程序員自己去定義的函數(shù)

  3. 函數(shù)的定義:(聲明函數(shù))
    a. 語法
    def 函數(shù)名(參數(shù)列表):
    函數(shù)體

b. 說明
def - Python中聲明函數(shù)的關(guān)鍵字

  • 函數(shù)名 - 標(biāo)識符,不能是關(guān)鍵字沧踏;
    PEP8命名規(guī)范歌逢,見名知意(看到函數(shù)就知道函數(shù)的功能)
  • () - 固定寫法
  • 參數(shù)列表 - 參數(shù)1,參數(shù)2翘狱,參數(shù)3...這兒的參數(shù)叫形參
    定義的時候形參就是一個變量
    功能是將函數(shù)外面的數(shù)據(jù)傳遞到函數(shù)里面
  • : - 固定格式
  • 函數(shù)體 - 一個完整的函數(shù)體包含:函數(shù)說明文檔秘案、實現(xiàn)函數(shù)功能的代碼段、函數(shù)返回值潦匈。

c. 初學(xué)者聲明函數(shù)的步驟
第一步:確定函數(shù)的功能
第二部:根據(jù)函數(shù)的功能確定函數(shù)名
第三部:確定形參(確定需不需要參數(shù)阱高,確定需要幾個參數(shù))
看實現(xiàn)函數(shù)的功能需不需要從函數(shù)外邊傳值進(jìn)來?需要傳幾個
第四部:實現(xiàn)函數(shù)的功能
第五步:確定函數(shù)返回值

(重點@取L殖汀辟癌!)注意:聲明函數(shù)的時候不會執(zhí)行函數(shù)體寒屯!只有在調(diào)用的時候才會執(zhí)行

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

a. 語法

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

b. 說明
函數(shù)名 - 這個函數(shù)名對應(yīng)的函數(shù)名必須是已經(jīng)聲明過的函數(shù)
() - 固定寫法
實參列表 - 實參是給形參賦值的(用實參給形參賦值的過程叫 傳參)
實參和形參要一一對應(yīng)
c. 函數(shù)的調(diào)用過程(重點!J蛏佟9鸭小)
第一步:回到函數(shù)聲明的位置
第二步:使用實參給形參賦值(傳參)
第三步:執(zhí)行函數(shù)體
第四步:執(zhí)行完函數(shù)體就確定并返回返回值
第五步:再回到函數(shù)調(diào)用的位置,接著執(zhí)行后面的其他代碼

寫一個函數(shù)厂置,求兩個數(shù)的和
def yj_sum (num1,num2):

求兩個數(shù)的和(函數(shù)功能說明)num1: 求和的第一個數(shù)num2: 求和的第二個數(shù):return: 無(函數(shù)返回值說明)

print(num1+num2)
調(diào)用函數(shù)
yj_sum(1,2)
print('====')
練習(xí):聲明一個函數(shù)菩掏,打印指定的 n!
def yj(n):
    """求指定數(shù)的階乘"""
    sum1 = 1
    for x in range(1,n+1):
        sum1 *= x
    print('%d的階乘是:%d' % (n,sum1))

yj(5)
yj(10)
練習(xí):聲明一個函數(shù),打印指定列表中指定元素對應(yīng)的下標(biāo)
def list_index(list1, item):
    """打印指定列表(list1)中指定元素(item)對應(yīng)的下標(biāo)"""
    count = 0  # 保存指定列表中指定元素的個數(shù)
    for index in range(len(list1)) :
        if list1[index] == item:
            print(index)
            count += 1
    if count == 0:
        print('列表中沒有指定元素')


list_index([1,2,3,3,1,2,3],3)
練習(xí):聲明一個函數(shù)昵济,函數(shù)功能是猜數(shù)字游戲:隨機(jī)產(chǎn)生一個0-100數(shù)字智绸,直到輸入的數(shù)字和產(chǎn)生數(shù)字一樣游戲結(jié)束當(dāng)猜錯了, 可以給出‘大了’/ ‘小了’ 這樣的顯示
導(dǎo)入random模塊
import  random
randint(m,n)  產(chǎn)生一個m到n的隨機(jī)整數(shù)
num = random.randint(0,10)
 print(num)
def yi_random():
    # print(num)
    num = random.randint(0,100)
    while True:
        num1 = int(input('輸入數(shù)字:'))
        if num1 == num:
            print('游戲結(jié)束')
            break
        else:
            if num1 < num:
                print('小了')
            else:
                print('大了')

yi_random()

參數(shù)

1.位置參數(shù)和關(guān)鍵字參數(shù)(根據(jù)實參的傳遞方式對參數(shù)進(jìn)行的分類)

a. 位置參數(shù):實參的位置和形參位置保持一致访忿,按位置先后順序一一賦值
b.關(guān)鍵字參數(shù):掉用函數(shù)的時候以 形參 = 實參 的方式來傳參瞧栗,這個時候?qū)崊⒌捻樞驘o所謂 (特殊情況使用)

def func1(a,b,c):
    print(a,b,c)

通過位置參數(shù)進(jìn)行傳參

func1(10,20,30)

通過關(guān)鍵字參數(shù)傳參

func1(a=10,b=20,c=30)

通過位置和關(guān)鍵字傳參結(jié)合(關(guān)鍵字參數(shù)在位置參數(shù)后面)

  1. 參數(shù)默認(rèn)值
    聲明函數(shù)的時候,可以給參數(shù)賦默認(rèn)值海铆。
    如果一個形參有默認(rèn)值迹恐,那么調(diào)用函數(shù)的時候,這個參數(shù)就可以不用傳參了
    注意:有形參的默認(rèn)值要放在沒有默認(rèn)值形參的后面*

調(diào)用函數(shù)要保證每個參數(shù)都有值卧斟!

參數(shù)默認(rèn)值 有默認(rèn)值的放在默認(rèn)值的后面E贡摺T髅!

def func(a,b,c=20):
    print(a,b,c)

func(10,32)
func(100,200,300)

  1. 參數(shù)的類型說明 - 類型說明只有提示的功能锤岸,沒有約束功能
    a.給參數(shù)設(shè)置默認(rèn)值竖幔,默認(rèn)值的類型就是參數(shù)的類型
    b. 在形參的后面加 :類型名,來說明參數(shù)類型。這種方式調(diào)用的時候必須傳參是偷;
    c. 括號后面加 ->類型名赏枚,來說明函數(shù)返回值的類型

類型說明的好處:a.對實參的類型進(jìn)行指導(dǎo) b.實現(xiàn)函數(shù)功能的時候有類型相關(guān)的語法提示

def list_item(list1:list,index:[]) ->int:
    print(list1[index])

4.不定長參數(shù) - 函數(shù)的參數(shù)個數(shù)不確定
a.在聲明函數(shù)的時候,在參數(shù)名前加晓猛,可以用來同時獲取多個實參的值
-- 實質(zhì)是將帶
的參數(shù)編程元祖饿幅,將多個實參的值作為元祖的元素

注意:如果有普通參數(shù),不定長參數(shù)必須放在普通參數(shù)的后面

寫一個函數(shù)戒职,計算多個數(shù)的和

def yj_sum(name,*nums):
    print(name,nums)

b. 在參數(shù)名前加兩個* 會將這個參數(shù)變成一個字典來獲取關(guān)鍵字參數(shù)的值栗恩,其他關(guān)鍵字作為key,實參作為value
兩個的要放在一個的后面

def func3(**nums):
    print(nums)

func3(a=10,b=20)

def func3(*args,**nums):
    print(args,nums)
func3(10,20,30,52)
func3(a=25,b=32,c=52)
func3(25,32,a=25,b=63)

練習(xí):寫一個函數(shù),計算多個數(shù)的和(要求可以使用位置參數(shù)也可以使用關(guān)鍵字參數(shù))

def yj_sum(*nums:int):
    nums = sum(nums)
    print(nums)
yj_sum(1,2,3,4,5)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末洪燥,一起剝皮案震驚了整個濱河市磕秤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌捧韵,老刑警劉巖市咆,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異再来,居然都是意外死亡蒙兰,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進(jìn)店門芒篷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來搜变,“玉大人,你說我怎么就攤上這事针炉∧铀” “怎么了?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵篡帕,是天一觀的道長殖侵。 經(jīng)常有香客問我,道長镰烧,這世上最難降的妖魔是什么拢军? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮拌滋,結(jié)果婚禮上朴沿,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好赌渣,可當(dāng)我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布魏铅。 她就那樣靜靜地躺著,像睡著了一般坚芜。 火紅的嫁衣襯著肌膚如雪览芳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天鸿竖,我揣著相機(jī)與錄音沧竟,去河邊找鬼。 笑死缚忧,一個胖子當(dāng)著我的面吹牛悟泵,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播闪水,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼糕非,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了球榆?” 一聲冷哼從身側(cè)響起朽肥,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎持钉,沒想到半個月后衡招,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡每强,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年始腾,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片舀射。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡窘茁,死狀恐怖怀伦,靈堂內(nèi)的尸體忽然破棺而出脆烟,到底是詐尸還是另有隱情,我是刑警寧澤房待,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布邢羔,位于F島的核電站,受9級特大地震影響桑孩,放射性物質(zhì)發(fā)生泄漏拜鹤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一流椒、第九天 我趴在偏房一處隱蔽的房頂上張望敏簿。 院中可真熱鬧,春花似錦、人聲如沸惯裕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蜻势。三九已至撑刺,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間握玛,已是汗流浹背够傍。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留挠铲,地道東北人冕屯。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像拂苹,于是被迫代替她去往敵國和親愕撰。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,700評論 2 354

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

  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,516評論 1 51
  • 〇醋寝、前言 本文共108張圖搞挣,流量黨請慎重! 歷時1個半月音羞,我把自己學(xué)習(xí)Python基礎(chǔ)知識的框架詳細(xì)梳理了一遍囱桨。 ...
    Raxxie閱讀 18,954評論 17 410
  • HTML 5 HTML5概述 因特網(wǎng)上的信息是以網(wǎng)頁的形式展示給用戶的,因此網(wǎng)頁是網(wǎng)絡(luò)信息傳遞的載體嗅绰。網(wǎng)頁文件是用...
    阿啊阿吖丁閱讀 3,887評論 0 0
  • 概要 64學(xué)時 3.5學(xué)分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,184評論 0 3
  • 其實多芬從洗發(fā)到沐浴的產(chǎn)品舍肠,博主一直都有在用,畢竟價格親民窘面,產(chǎn)品效果好翠语,性價比很高,屯起貨來也不肉疼财边!想要剁手的妹...
    Amybubu閱讀 170評論 0 0