<button id="2ddn7"><acronym id="2ddn7"></acronym></button>

<button id="2ddn7"><acronym id="2ddn7"></acronym></button>

  • <button id="2ddn7"><object id="2ddn7"></object></button>
      1. <s id="2ddn7"></s>
        更多課程 選擇中心


        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號 達內時代科技集團有限公司 版權所有

        選擇城市和中心
        黑龍江省

        吉林省

        河北省

        湖南省

        貴州省

        云南省

        廣西省

        海南省

        青青青草网站免费观看|青青青视频在线观看 超真实强奷视频在线看 百度 好搜 搜狗
        <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>