<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          函數(shù)(二)

          共 1338字,需瀏覽 3分鐘

           ·

          2020-09-19 07:16

          一、函數(shù)參數(shù)

          1.定義函數(shù)的參數(shù):固定參數(shù)/可變參數(shù)

          定義函數(shù)時(shí),參數(shù)可以有兩種;一種是在參數(shù)表中寫明參數(shù)名key的參數(shù),固定了順序和數(shù)量,如:

          ? def func(key1, key2, key3…):

          ? def func(key1, key2=value2…)

          另一種是定義時(shí)還不知道會(huì)有多少參數(shù)傳入的可變參數(shù),如:

          ? def func(*args): #不帶key的多個(gè)無名參數(shù)

          ? def func(**kwargs): #key=val形式的多個(gè)命名參數(shù)

          2. 調(diào)用函數(shù)的參數(shù):位置參數(shù)/關(guān)鍵字參數(shù)

          調(diào)用函數(shù)的時(shí)候,可以傳進(jìn)兩種參數(shù);一種是沒有名字的位置參數(shù),如func(arg1,arg2, arg3…),會(huì)按照前后順序?qū)?yīng)到函數(shù)參數(shù)。

          另一種是帶key的關(guān)鍵字參數(shù),如func(key1=arg1,key2=arg2…),由于指定了key,可不按順序?qū)?yīng)。如果混用,所有位置參數(shù)必在前,關(guān)鍵字參數(shù)必在后。


          3.調(diào)用函數(shù)的參數(shù):解包

          對(duì)于有多個(gè)參數(shù)的函數(shù),可以單個(gè)序列或字典“解包”對(duì)應(yīng)到每個(gè)參數(shù),如:func(*aseq):序列解包對(duì)應(yīng)到每個(gè)位置參數(shù),func(**adict):字典解包對(duì)應(yīng)到每個(gè)關(guān)鍵字參數(shù)。


          二、函數(shù)式編程

          相對(duì)于復(fù)雜算法步驟的編程范式,函數(shù)式編程通過表達(dá)式和函數(shù)的操作來定義函數(shù),強(qiáng)調(diào)對(duì)結(jié)果的描述,而不是過程,不會(huì)有副作用(影響函數(shù)之外的數(shù)據(jù),如全局變量),函數(shù)可以是變量的值,函數(shù)可以作為參數(shù)傳遞,函數(shù)可以作為返回值,經(jīng)常使用遞歸定義,而不是迭代和循環(huán)。


          三、map函數(shù)

          有時(shí)候,需要對(duì)列表中每個(gè)元素做一個(gè)相同的處理,得到新列表,例如所有數(shù)據(jù)乘以3 ;例如所有字符串轉(zhuǎn)換為整數(shù);例如兩個(gè)列表對(duì)應(yīng)值相加。map(func, list1, list2….),函數(shù)func有幾個(gè)參數(shù),后面就跟幾個(gè)列表。


          四、函數(shù)表達(dá)式:lambda

          ? 有時(shí)候,函數(shù)只用一次,其名稱也就不重要,可以無需費(fèi)神去def一個(gè)

          ? Lambda表達(dá)式可以返回一個(gè)匿名函數(shù):lambda <參數(shù)表>:<表達(dá)式>



          五、函數(shù)作為參數(shù):reduce函數(shù)

          reduce函數(shù)對(duì)列表進(jìn)行滾動(dòng)式處理,最終得到一個(gè)值,例如,累加,累乘等等。reduce(func, list) 相當(dāng)于:func(func(func(list1,list2),list3),list4)....reduce(lambda x, y: x+y, [1, 2, 3, 4, 5])相當(dāng)于:((((1+2)+3)+4)+5)。


          六、函數(shù)作為參數(shù):filter函數(shù)

          filter函數(shù)對(duì)數(shù)據(jù)集中的對(duì)象逐個(gè)調(diào)用func,如果結(jié)果為真,則保留這個(gè)對(duì)象;否則拋棄這個(gè)對(duì)象。


          推薦閱讀

          函數(shù)


          《數(shù)據(jù)科學(xué)與人工智能》公眾號(hào)推薦朋友們學(xué)習(xí)和使用Python語言,需要加入Python語言群的,請(qǐng)掃碼加我個(gè)人微信,備注【姓名-Python群】,我誠(chéng)邀你入群,大家學(xué)習(xí)和分享。


          ? ? 關(guān)于Python語言,有任何問題或者想法,請(qǐng)留言或者加群討論。

          瀏覽 149
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  99久久精品国产一区色 | 天天撸视频 夜夜撸视频 | 日本内射网站在线观看 | 男人日逼式看 | 射逼网 |