<wbr id="wsjqy"></wbr>

          <form id="wsjqy"></form>
          <sub id="wsjqy"></sub>
          <nav id="wsjqy"><listing id="wsjqy"></listing></nav>
          更多課程 選擇中心


          Python培訓

          400-111-8989

          Python函數基礎知多少 ,Python函數基礎知識詳解

          • 發布:lavenliu
          • 來源:小白的技術客棧
          • 時間:2017-10-30 16:28

          函數基礎

          簡單地說,一個函數就是一組Python語句的組合,它們可以在程序中運行一次或多次運行。Python中的函數在其他語言中也叫做過程或子例程,那么這些被包裝起來的語句通過一個函數名稱來調用。

          有了函數,我們可以在很大程度上減少復制及粘貼代碼的次數了(相信很多人在剛開始時都有這樣的體驗)。我們可以把相同的代碼提煉出來做成一個函數,在需要的地方只需要調用即可。那么,這樣就提高了代碼的復用率了,整體代碼看起來比較簡練,沒有那么臃腫了。

          函數在Python中是最基本的程序結構,用來最大化地讓我們的代碼進行復用;與此同時,函數可以把一個錯綜復雜的系統分割為可管理的多個部分,簡化編程、代碼復用。

          接下來我們看看什么是函數,及函數該如何定義。有兩種方式可以進行函數的定義,分別是def及lambda關鍵字。

          函數定義

          先總結一下為什么要使用函數?

          代碼復用最大化及最小化冗余代碼;

          過程分解(拆解)。把一個復雜的任務拆解為多個小任務。

          函數定義的語法為(使用def關鍵字創建了一個函數對象,并把該對象賦值給了一個函數名稱。):

          def func_name(arg1, arg2, arg3, ..., argN): statement return value

          根據上面定義,可以簡單地描述為:Python中的函數是具有0個或多個參數,具有若干行語句并且具有返回值(返回值可有可無)的一個語句塊(注意縮進)。

          那么我們就定義一個比較簡單的函數,該函數沒有參數,進入ipython交互式環境:

          In[1]: def hello(): ...: print('Leave me alone, the world') ...:

          def語句定義了一個函數,但是并不會調用該函數。我們在代碼中可以調用已定義的函數,在函數的名稱后面加上一對小括號就可以調用,小括號中還有可選的函數參數。接下來調用(執行)該函數。

          In[2]: hello()Leave me alone, the world

          我們發現hello()函數并沒有return語句,在Python中,如果沒有顯式的執行return語句,那么函數的返回值默認為None。

          我們說過,定義函數有兩種形式,另外一種形式是使用lambda來定義。使用lambda定義的函數是匿名函數,這個我們在后面的內容進行講解,這里暫且不表。

          接下來我們看看一個帶參數的函數定義及調用:

          >>> def intersect(seq1, seq2):... res = []... for x in seq1:... if x in seq2:... res.append(x)... return res... >>> s1 = 'SPAM'>>> s2 = 'SCAM'>>> intersect(s1, s2)['S', 'A', 'M']

          這個例子主要作用是:傳入兩個列表,求它們的共同的元素。當我們調用該函數時,需要給此函數傳入兩個參數。這里我們把s1傳遞給了函數體中的seq1,把s2傳遞給了seq2,然后把返回值res返回給調用者。上面的演示中我們并沒有接收該函數的返回值,如果在后面的代碼中需要用到該函數的返回值,那么可以把該函數的返回值賦值給一個變量即可。如:

          >>> result = intersect(s1, s2)>>> result['S', 'A', 'M']

          針對上面的例子,可以使用前面文章中介紹過的列表推導式:

          >>> [x for x in s1 if x in s2]['S', 'A', 'M']

          函數實戰

          函數基礎就介紹到這里,接下來上一個實際的小示例,通過requests庫查詢手機號的歸屬地信息。如果系統沒有安裝requests包,使用pip或easy_install進行安裝:

          pip install requests

          代碼為(在ipython交互式環境中執行的該代碼):

          In[1]: import requestsIn[2]: def phone(): ...: num = input('Enter your phone number>>> ') ...: api = 'http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=' ...: r = requests.get(api + num.strip()) ...: if r.ok: ...: print(r.text) ...: r.close() ...: return None ...: In[3]: phone()Enter your phone number>>> 13651813235__GetZoneResult_ = { mts:'1365181', province:'上海', catName:'中國移動', telString:'13651813235',areaVid:'29423',ispVid:'3236139',carrier:'上海移動'}

          上面示例中的函數并沒有接收參數,接下來把該函數改造為帶參數的。代碼為:

          In[4]: def phone(phone_num): ...: api = 'http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=' ...: res = requests.get(api+phone_num) ...: if res.ok: ...: print(res.text) ...: res.close() ...: return None ...: In[5]: phone('13651813235')__GetZoneResult_ = { mts:'1365181', province:'上海', catName:'中國移動', telString:'13651813235',areaVid:'29423',ispVid:'3236139',carrier:'上海移動'}

          估計大家會對requests庫的使用比較陌生,關于requests的使用,其官方網站有詳細的介紹,大家可以看一看如何使用,比標準庫的urllib模塊要好用一些。

          本文內容轉載自網絡,本著分享與傳播的原則,版權歸原作者所有,如有侵權請聯系我們進行刪除!

          預約申請免費試聽課

          填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

          上一篇:Python入門三部曲,教你快速高效入門Python開發
          下一篇:Python函數參數之全面講解

          2021年Python面試題及答案匯總詳解

          python數據分析,你需要這些工具

          Python培訓講解二叉樹的三種深度

          Python培訓:如何實現窮舉搜索?

          • 掃碼領取資料

            回復關鍵字:視頻資料

            免費領取 達內課程視頻學習資料

          • 視頻學習QQ群

            添加QQ群:1143617948

            免費領取達內課程視頻學習資料

          Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

          選擇城市和中心
          黑龍江省

          吉林省

          河北省

          湖南省

          貴州省

          云南省

          廣西省

          海南省

          网友自拍 偷拍 校园性爱青青草曰逼视屏老鸭窝国产偷自视频区视频 百度 好搜 搜狗
          <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>