<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>

          詳細說一下 什么是 Python 函數(shù)?

          共 4042字,需瀏覽 9分鐘

           ·

          2020-11-19 18:18



          本文內(nèi)容是介紹什么是函數(shù)?


          如何創(chuàng)建屬于自己的函數(shù),完成想要的功能。




          01

          什么是? 函數(shù)?



          函數(shù)是一個獨立且封閉完成特定功能的代碼塊,可以在任何地方被調(diào)用。

          比如 print()函數(shù),無論你在程序中的任何地方調(diào)用,都是輸出()中的內(nèi)容。


          這種獨立的封閉代碼塊又稱為封裝


          也可以把函數(shù)理解為一個盒子。盒子里面的代碼就是封裝好的,完成特定的功能,外面的代碼不屬于函數(shù)。


          有了封裝以后,我們就可以把代碼塊用一個個函數(shù)表示,然后通過一個個的調(diào)用就可以把復雜的功能拆解,簡單化。


          這個過程就是面向過程的程序設計,與之對應的是面向對象的程序設計在面向過程的程序設計里面,函數(shù)是基本單元。


          在Python中,函數(shù)分為內(nèi)建函數(shù)和用戶自定義函數(shù)。內(nèi)建函數(shù)是Python程序語言已經(jīng)給我們創(chuàng)建好了,直接可以使用。這一類的函數(shù)很多,我們不需要每一個都記住名字,常用的記住即可。


          官方文檔https://docs.python.org/3/library/functions.html給出了很多內(nèi)建函數(shù),如下表所示。


          表? Python內(nèi)建函數(shù)

          Built-in ?Functions

          abs()

          delattr()

          hash()

          memoryview()

          set()

          all()

          dict()

          help()

          min()

          setattr()

          any()

          dir()

          hex()

          next()

          slice()

          ascii()

          divmod()

          id()

          object()

          sorted()

          bin()

          enumerate()

          input()

          oct()

          staticmethod()

          bool()

          eval()

          int()

          open()

          str()

          breakpoint()

          exec()

          isinstance()

          ord()

          sum()

          bytearray()

          filter()

          issubclass()

          pow()

          super()

          bytes()

          float()

          iter()

          print()

          tuple()

          callable()

          format()

          len()

          property()

          type()

          chr()

          frozenset()

          list()

          range()

          vars()

          classmethod()

          getattr()

          locals()

          repr()

          zip()

          compile()

          globals()

          map()

          reversed()

          __import__()

          complex()

          hasattr()

          max()

          round()



          用戶自定義函數(shù)就是自己根據(jù)需要實現(xiàn)的功能設計代碼塊。





          02

          為什么需要用函數(shù)?



          無論任何編程語言,函數(shù)的作用都是一樣的,概括起來主要有以下幾個作用:


          01:解決代碼重復問題


          在實際項目中,我們經(jīng)常會遇到代碼功能一樣,但是參數(shù)不同。也就是給定不同的參數(shù),得出不同的結果,


          比如print(‘你好’) 與print('吃飯了嗎?'),功能都是打印信息。我們不需要為“你好”,“吃飯了嗎”編寫同樣的打印功能代碼,也就是實現(xiàn)print函數(shù)。只需要用同一個函數(shù)(print)就可以完成同樣的任務。


          在代碼中多次執(zhí)行同一項任務時,無需反復編寫該任務的代碼,只需要調(diào)用該任務名稱的代碼塊,也就是函數(shù)即可完成任務。



          2:代碼結構與思維結構一致

          實際生活中,解決問題的方法一般是分步驟:


          比如考大學,先從小學開始讀,然后初中、高中。但是每一個階段學的內(nèi)容不同。我們只需要把每一個階段編寫為一個函數(shù),然后按照我們思考的步驟組織在一起。有人認為從高中開始,再到小學;也有認為從小學到高中,按照自然規(guī)律。


          這個就是思維方式的不同。在編程中,這些都是正確的,沒有對錯之分,能組合在一起完成功能即可。


          例子
          '''
          使用函數(shù)描述:考上大學之前,我們需要經(jīng)歷的階段有
          '''
          # 小學
          primary_school()
          # 初中
          junior_middle_school()
          # 高中
          senior_middle_school()


          3:利于分工合作


          在實際項目中,要實現(xiàn)的功能往往比較復雜。我們只需要按照功能拆解的方法思考問題。


          把一個大問題,拆解為幾個小問題,每一個小問題就是一個函數(shù)。然后再把所有函數(shù)按照思考的過程組織在一起即可。


          拆解問題的事情一般是公司架構師做的事情,定義好每一個函數(shù)的功能以及函數(shù)的接口,然后分配給不同的程序員去完成。


          這個就是多人協(xié)作完成一個大的功能。


          4:代碼清晰、易讀、易修改


          代碼被函數(shù)組織起來以后,整個程序文件變得有調(diào)理、有章法


          我們只需要按照函數(shù)的結構閱讀代碼即可,非常清晰明了。


          每一個函數(shù)完成特定的功能。如果某一個函數(shù)出錯了,我們只需要調(diào)整該函數(shù)即可,方便快捷。


          尤其是在代碼行數(shù)比較多的時候能快速定位到錯誤所在的位置。





          03

          如何定義函數(shù)?



          在Python語言中,函數(shù)的定義語法是:

          ?

          定義函數(shù)語法
          # 定義函數(shù)語法
          def funtion_name(parameter1, parameter2, xxxxx):
          語句1
          語句2
          returnxxxx



          def:為關鍵字,告訴python這是一個函數(shù)


          funtion_name:是函數(shù)名字。函數(shù)是完成特定功能的代碼塊,給這個代碼塊取一個名字就是函數(shù)名,通常用具有描述性的單詞表示,比如check_events(),檢查事件。函數(shù)名命名規(guī)則與變量的一樣。


          parameter1、paramter2 、xxxx:等是函數(shù)的參數(shù),也就是函數(shù)可以加工處理的數(shù)據(jù)。參數(shù)可以有0到多個,但是名字不能重名。所有的參數(shù)用括號括起來(),即使0個參數(shù)也需要。


          冒號(:):函數(shù)定義需要冒號結尾,此為python語法要求


          語句1、語句2、return:函數(shù)的代碼塊,說明函數(shù)具體需要做什么事情,也就是需要實現(xiàn)什么樣的功能。


          (1)函數(shù)代碼塊必須縮進,使用tab建即可,不是空格鍵。這是Python語法要求。具有同樣縮進的代碼塊才是一個完整的代碼塊

          (2)例子:沒有合理縮進,引發(fā)的常見錯誤之一

          ?

          例子:沒有縮進引起的錯誤
          # 定義函數(shù)語法def funtion_name(parameter1,parameter):
          語句1 語句2
          return xxxx


          File"/Users/yoni.ma/PycharmProjects/seven_days_python/Sixth_day/define_fun.py",line 18
          語句1
          ^
          IndentationError: expected an indented block


          (3)語句1、語句2為函數(shù)具體執(zhí)行內(nèi)容,可以有1到多個語句。但是不能沒有任何語句。否則代碼錯誤。


          (4)return:函數(shù)返回值,可有可無。根據(jù)自己設計的函數(shù)功能而決定。


          ①函數(shù)運行完成以后,如果需要返回一個值給調(diào)用該函數(shù)的地方,則使用return。否則不需要。

          ②return還表示函數(shù)的結束。尤其當代碼比較多,各種while、if、 for等都有的函數(shù)。





          04

          如何調(diào)用函數(shù)?



          調(diào)用函數(shù)就是讓Python執(zhí)行函數(shù)的代碼,也就是喊出函數(shù)的名字。


          只有當函數(shù)被調(diào)用時,函數(shù)內(nèi)部的代碼段才會被執(zhí)行


          這點也是新手容易犯的錯誤之一:忘記調(diào)用函數(shù)就運行程序而得不到結果,調(diào)試此類錯誤需要耐心。


          函數(shù)調(diào)用結束時,這個函數(shù)內(nèi)部生成的所有數(shù)據(jù)都會被銷毀。


          根據(jù)程序設計要求,同一個函數(shù)可以被調(diào)用多次或1次。調(diào)用函數(shù)也可以用來測試函數(shù)功能是否正確,比如每次寫完一個函數(shù)的功能,然后調(diào)用并運行以查看是否出錯或期望的結果。


          如果錯誤,則調(diào)試代碼(查找哪里出錯);否則進行下一個函數(shù)的編寫。運用此方法雖然有一點繁瑣,但是可以大大縮減代碼調(diào)試,


          因為我們把錯誤提前解決了。


          調(diào)用函數(shù)語法為:
          funtion_name()

          注意:funtion_name()前面沒有縮進,否則不能正確調(diào)用函數(shù)。




          05

          函數(shù)用定義和調(diào)用的例子


          例子
          """

          函數(shù)的例子:
          知識點:
          1。定義函數(shù)
          2。函數(shù)調(diào)用

          """


          # 定義函數(shù)
          def welcome_python():
          print('歡迎加入Python實戰(zhàn)圈!')


          # 調(diào)用函數(shù)。為了方便閱讀代碼,與定義函數(shù)最好空兩行。
          welcome_python()
          welcome_python()

          歡迎加入Python實戰(zhàn)圈!
          歡迎加入Python實戰(zhàn)圈!

          無論是定義還是調(diào)用函數(shù),常見錯誤有以下幾個情況:
          1) 函數(shù)定義中缺少冒號或者是中文冒號
          2) 函數(shù)體沒有縮進
          3) 調(diào)用函數(shù)的時候縮進了,提示函數(shù)錯誤
          例子:如過welcome_python()縮進了,運行函數(shù)沒有錯誤,但是運行結果是空。
          def welcome_python():
          print('歡迎加入Python實戰(zhàn)圈!')

          ???welcome_python()
          Process finished with exit code 0

          ?以上內(nèi)容摘自《零基礎輕松學 Python》


          零基礎學 Python,看下嘛
          送109元的零基礎視頻課

          ?只需7天時間,跨進Python編程大門,已有3800+加入
          【基礎】0基礎入門python,24小時有人快速解答問題;
          【提高】40多個項目實戰(zhàn),老手可以從真實場景中學習python;
          【直播】不定期直播項目案例講解,手把手教你如何分析項目;
          【分享】優(yōu)質python學習資料分享,讓你在最短時間獲得有價值的學習資源;圈友優(yōu)質資料或學習分享,會不時給予贊賞支持,希望每個優(yōu)質圈友既能賺回加入費用,也能快速成長,并享受分享與幫助他人的樂趣。
          【人脈】收獲一群志同道合的朋友,并且都是python從業(yè)者
          【價格】本著布道思想,只需 69元 加入一個能保證學習效果的良心圈子。
          【贈予】價值109元 0基礎入門在線課程,免費送給圈友們,供鞏固
          瀏覽 20
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <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>
                  日韩中文字幕无码蜜桃 | 国产又粗又黄 | 蘑菇视频 成人精品战指 | 美女操屄| 人人妻人人躁人人DVD |