python學習筆記2---函數

來源:互聯網
上載者:User

標籤:分隔字元   split   alt   函數返回   分享   bsp   lis   lambda函數   log   

函數主要是為了代碼複用。

函數分為兩種:系統庫預定義函數,自訂函數。

函數格式:

def functionName():

  statement

函數調用:

funtionName()

函數的參數:形參和實參

形式參數:在定義函數的時候的參數列表裡的參數,簡稱形參。

實際參數: 在調用函數的時候的參數列表裡的參數,簡稱實參。

實參和形參是一一對應的。

預設參數: 在定義函數的時候,給形參賦初始值。

預設參數要注意參數順序。預設參數一般都是在後面部分。

 

函數的變數

全域變數和局部變數

局部變數:在函數體內定義的變數。只能在函數體內使用,不允許函數體外使用。

全域變數:在函數體外定義的變數。既可以在函數體內也可以在函數體外使用。

如果全域變數和局部變數同名的時候:

在函數內部使用的是函數體內的局部變數。

如果在函數體外使用的時候,使用的全域變數。

在函數體內定義一個全域變數:

global y

y=200

 

函數傳回值:

函數必須有傳回值。有三種情況 :

1.return a

2.return ;預設返回None

3預設情況。預設返回一個None.

 

函數的冗餘參數:

多類型傳值和傳值冗餘。

多類型傳值:

傳遞元組: f(*t)

傳遞字典:f(**t)

key 和函數的形參要保持名稱一致。

傳值冗餘:

向函數傳遞多餘的實參:

def function(x,*args):

    print x

    print args

---傳遞元組

 

def function(y="a", **args):     

    print y

    print args

---傳遞字典

 

def f(x,*args, **kwargs):

    print x

    print args

    print kwargs

---傳遞元組和字典

 

lambda函數:

匿名函數:快速定義單行的最小函數。

def f(x,y):

  return x*y

對應的lambda運算式:

g=lambda: x,y: x*y

g(2,3)

lambda的基礎:

分號前面的是參數,多個參數之間用逗號分割。冒號右邊的傳回值。

 

switch語句:

在python中沒有switch關鍵字。需要藉助字典來實現。

 

 內建函數:

絕對值abs,最小值min,最大值max

len(), divmod(),pow(),round()

callable() ,isinstance(),cmp(),rang(),xrang()

type(),int(), long(),list(),complex()...

字串內建函數:(下面的str代表str對象)

str.capitalize() :首字母大寫

str.replace(sourceStr, destStr[,count]):把sourStr替換成destStr

  str.split(分隔字元,最大切割次數n) : 把str用分隔字元分割,最多切成n塊。

string 模組import後,可以使用string.replace(s,old,new,n)

filter(function,sequence), zip(),map(),reduce():  這filter,map,reduce函數的第一個參數都是function.

注意區分zip和map,對與不同長度的list的處理結果不同。

zip按照最小處理。map會把空的補上None。

 

python學習筆記2---函數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.