python學習筆記5-函數

來源:互聯網
上載者:User
文章目錄
  • 一、函數定義
  • 二、函數傳回值
  • 三、函數參數
一、函數定義

我們可以比較容易定義一個函數,比如之前談過的列印Fibonacci序列,可見下面例子

def fib(n):     a, b = 0, 1     while b < n:          print b,          a, b = b, a + b# now call the function:fib(100)

上面例子中,def關鍵詞代表了函數的定義,在def之後必須接函數名稱和括弧括起來的一連串參數。接下來就是函數主體,必須縮排。
執行函數的時候會產生一個local的符號表(system table),這個表是用來記錄函數中的所有local變數。更精確的來說,所有在函數中變數的設定值都會記錄在這個system table中,所以當你要使用(reference)一個變數時,會先檢查local的system table,然後是整個程式(global)的system talbe,這些和c語言都比較類似。

二、函數傳回值

如果你希望函數返回一個包含Fibonacci序列的list,而不是列印,也很簡單:

def fib(n):     result = []     a, b = 0, 1     while b < n:          result.append(b)          a, b = b, a + b     return resultf100 = fib(100)print f100

從這個例子大家可能發現了,result是一個list,list實際相當於c++中的類,有它自己的方法可以調用。

三、函數參數

函數的參數可以和c一樣設定預設數值,如def fib(n = 100)則可傳參,也可不傳,不傳則預設為100。
另外,我們還可以讓函數接受任意數目的參數,將這些參數放進一個tuple,比如

def fprintf(file, format, *args):     file.write(format % args)
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.