<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      python function learning

      Python函數學習
      這一節還沒有涉及到面向對象, 主要關注如何定義和使用python的函數. 下文以簡單問答形式呈現.

      1. 函數要有一個返回值, 該如何寫?
        這個很簡單, return ret_value


      2. 函數要返回多個返回值, 該如何寫?
        python處理這個也很簡單, 格式可以為:
        return ret_value1,ret_value2 或者為
        return (ret_value1,ret_value2)  這兩種寫法的效果是一樣的, 都是返回一個tuple


      3. 如果一個函數沒有return語句, 那么函數有沒有返回值?
        答案是, 有返回值, 返回值是一個特殊的None值. 


      4. python函數有沒有overload?
        在C#等語言中, 你可以定義一系列同名函數, 這些函數的參數個數或者參數類型可能不同, 但只要這些函數的返回值一樣, 就是允許的,這叫做overload.
         但在python中, 我們不可以有2個同名的函數的, 即使函數的參數個數或類型不同. 但python支持默認參數, 所以overload的意義也就并不大了.

       

      5. 推薦的函數體的注釋形式
      如果函數頭后緊跟一個合法的string(不管這個字符串是以', 還是", 還是'''括起來的), python都認為這個字符串是函數的docstrings. 在這里講一下, 推薦的docstrings寫法, 每個函數都應該在函數頭的下一行, 寫docstrings, 除非這個函數特別簡單. docstrings的是由'''(三個')括起來, 第一個是函數的整體功能介紹, 然后空一行, 第3行是詳細的說明. docstrings不同于一般的注釋, 我們甚至可以通過print(myFunc.__doc__)來輸出docstrings.

       

      6. 關鍵字參數
      一般地, 我們給形參傳值的時候, 都是按照形參的次序, 依次將實參傳過去的. python還支持類似于給形參賦值的傳參方式, 即關鍵字傳參方式. 甚至, 我們可以在調用一個函數時,混用兩種傳參方式(python有自己的規則來將形參和實參對應起來). 我個人不推薦這種混用方式, 程序的可讀性將變得非常差.
      def greetEveryone5(greet, person):   
          print (greet+person)       

      greetEveryone5("hello ","Robert") #這是一般傳參方式
      greetEveryone5(greet="hello ", person="Jason") #這是關鍵字傳參方式
      greetEveryone5(person="Jason", greet="hello ")#這是關鍵字傳參方式, 注意這時, 實參的位置和函數定義可以不同

       

      7. 元組參數(*arg類型的參數)
       C#中有一個開放數組的概念, 即函數數組型形參如果以params 修飾符聲明, 我們就可以將任意個數的參數傳給函數. Python也有類似的東西, 即 *arg類型的參數, 我們可以將任意多個實參傳給一個*arg形參, 在函數中, 該arg參數其實是一個tuple, 注意為*arg參數傳值時, 不能再畫蛇添足地加(), 因為python會自動將函數最后的幾個參數組成一個tuple(這句話不嚴密, 應該是函數最后幾個合適的參數組成一個tuple, 參見下面小節 函數參數調用的順序).
       比如
      def greetEveryone(greet, *people):
          #print(type(people)) #output is:<type 'tuple'>
          for item in people:
              print (greet+item)
      greetEveryone("Hello ", "Jason","David","Harry") #這行是正確的傳值方式
      greetEveryone("Hello ", ("Jason","David","Harry")) #這行是錯誤的傳值方式, 這樣傳值, 在函數內部, arg的第一個item是一個tuple, 其值為("Jason","David","Harry")

       

      8. 字典參數(**arg類型的參數)
      我們可以將任意多的key value pair, 傳給**arg參數, 在函數內部arg其實就是一個dict, 注意傳值時的寫法, 必須是key1=value1, key2=value2, ....  , 這些key一定是str類型, 需要注意的是key, 是不能用""括起來, 另外不能用{}將這些key=value pair括起來.
      def greetEveryone4(period, **greetPeople):   
          #print (type(greetPeople)) #<type 'dict'>
          for item in greetPeople.keys():
              #print (type(item)) #output is:<type 'str'>
              print(period+", "+item+" "+greetPeople[item])

      greetEveryone4('morning', {"Boss" :"drothy",  "Clerk" :"Jason"})#這行是錯誤的傳值方式
      greetEveryone4('morning', "Boss" :"drothy",  "Clerk" :"Jason")#這行是錯誤的傳值方式
      greetEveryone4('morning', "Boss" ="drothy",  "Clerk" ="Jason")#這行是錯誤的傳值方式
      greetEveryone4('morning', Boss ="drothy",  Clerk ="Jason")#這行是正確的傳值方式

       

      9. 函數參數調用的順序
      字典參數的寫法和關鍵字參數一摸一樣, 那么python是如何區分哪個是哪個呢?  答案是python有一套規則(下面內容出自 <從C#到Python —— 3 函數及函數編程>  http://www.rzrgm.cn/yanxy/archive/2010/03/28/c2p_3.html)
      調用Python函數時,參數書寫的順序分別為:非關鍵字參數,關鍵字參數,元組參數,字典參數。請記住以下幾點規則:

          * 通過位置分配非關鍵字參數
          * 通過匹配變量名分配關鍵字參數
          * 其他額外的非關鍵字參數分配到*arg元組中
          * 其他額外的關鍵字參數分配到**arg的字典中
          * 用默認值分配給在調用時未得到分配的參數

      一般說來,實參表中非關鍵字參數在前,關鍵字參數在后,關鍵字名字必須是形參名字。形參有沒有缺省值都可以用關鍵字參數的形式調用。每一形參至多只能對應一個實參,因此,已經由位置參數傳入值的形參就不能在同一調用中再作為關鍵字參數。另外一個函數定義中, 只能使用一個*arg和**arg參數

      posted @ 2011-01-10 15:06  harrychinese  閱讀(772)  評論(7)    收藏  舉報
      主站蜘蛛池模板: 精品无码国产日韩制服丝袜| 亚洲精品一区二区妖精| 人妻熟女欲求不满在线| 精品国产粉嫩一区二区三区| 日韩精品中文字幕亚洲| 少妇极品熟妇人妻无码| 亚洲区激情区无码区日韩区| 免费人成视频在线观看网站| 精选国产av精选一区二区三区| 中文国产成人精品久久一| 强奷漂亮少妇高潮麻豆| 高清无码爆乳潮喷在线观看| 亚洲av优女天堂熟女久久| 亚洲色精品vr一区区三区| 国产精品久久久国产盗摄| 久久精品人妻无码专区| 黑森林福利视频导航| 国产成人精品永久免费视频| 精品中文字幕一区在线| 国产亚洲精品在av| 日韩欧国产美一区二区在线| 亚洲欧美一区二区成人片| 麻豆蜜桃av蜜臀av色欲av| 狠狠做五月深爱婷婷天天综合| 亚洲2022国产成人精品无码区| 亚洲精品成人网久久久久久| 精品国偷自产在线视频99| 毛片无码免费无码播放| 四虎成人精品国产永久免费| 欧美啪啪网| 精品视频在线观看免费观看| 色偷偷亚洲女人天堂观看| 在线观看无码av五月花| 色综合伊人色综合网站| 99精品国产综合久久久久五月天| 精品国偷自产在线视频99| 精品人妻中文字幕av| 精人妻无码一区二区三区| 国产成人精品久久性色av| 最新国产麻豆AⅤ精品无码| 92国产精品午夜福利|