• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    如何定義和調用python中的函數

    函數是可以反復利用的代碼段,在python中利用好函數可以提高系統的整體性和代碼的反復利用率。所以若何建立和挪用函數是很主要的。今天小編就給大師介紹下若何python中的一些函數根本。

    方式/步調

    1. 1

      起首,我們需要先界說一個函數,以 def 關頭詞開首,后面加上函數名稱和圓括號 ()。這里小編建立一個eat的函數,具體如下:

      def eat():   

      print("I want eat mango")

      注:若是函數體這里一時候不知道寫什么可以先填pass用來占個位置,防止語法報錯

    2. 2

      編寫好上面的代碼點擊運行我們會發現并沒有輸出我們想要的成果,這是為什么呢,這個是因為我們固然界說了函數,可是沒有去利用它。那么若何去利用呢,很簡單,經由過程函數名加圓括號 ()就可以挪用這個函數了。具體代碼如下:

      def eat():

      print("I want eat mango")

      eat()

      注:這里我們需要注重的是eat()挪用只能寫在界說的函數后面,不克不及寫在函數前面。

    3. 3

      當我們經由過程print(函數名())來打印函數的時辰我們會發現獲得的成果是函數名()先挪用這個函數,在返回一個值,而這個值是有return來決議的。

      def eat():

      print("I want eat mango")

      return "不給"

      print(eat() )

      注:若是我們沒有填return,那么返回值默認為none。而且return要放到函數體最后面,不然代碼執行時碰到return就會跳出函數,后面的將不會在執行。

    4. 4

      添加必備參數,在函數名后面的圓括號()里輸入一個變量名。這個變量不需要界說,一般填寫我們想要代表內容的名稱就可以了。具體代碼如下:

      def eat(name):

      print("%s想吃芒果"%name)

      eat("小五")

      注:當圓括號()里填寫了變量名,那么在挪用函數的時辰就必需進行傳參(半斤八兩于給變量名賦值),不然會呈現報錯。

    5. 5

      若是不想經由過程挪用時進行傳參,我們可以利用函數中的默認參數,在填寫變量名的時辰就直接賦值。具體如下:

      def eat(name,weather="冬天"):

      print("%s想吃芒果,氣候%s"%(name,weather))

      eat("小五")

      若是在挪用的時辰也給默認參數傳參那么之前的值會被籠蓋失落的。

    6. 6

      有時我們可能只想先界說一個參數,不想立即傳參,這個時辰就可以用不心猿意馬長參數來解決這個問題了,不心猿意馬長參數是經由過程警號加變量名(*args),具體操作如下:

      def eat(*args):

         print(args)   

      eat("春","夏","秋","冬")

      注:這里的args為常規寫法,當然你也自已界說名稱,*args返回的是一個元組。

    7. 7

      除此之外,還有一個返回值為字典的不心猿意馬長參數**kwargs。而且這個不心猿意馬長參數只能放在參數的最后面,不然會呈現報錯現象。具體如下:

    8. 8

      在上面界說參數的時辰我們一向都是經由過程位置傳參的方式進行傳參,也是就要傳的參數名稱對應界說的參數挨次。那么可以不按挨次指心猿意馬某個參數進行傳參嗎,謎底當然是可以的,我們可以經由過程指心猿意馬參數傳參來實現。例如:

      def eat(weather,name):    print("%s喜好在%s吃芒果"%(name,weather))eat(name="小五",weather="冬天")

    • 發表于 2018-10-01 00:00
    • 閱讀 ( 1147 )
    • 分類:其他類型

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆