最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中函數的多種格式和使用實例及小技巧

 更新時間:2015年04月13日 08:47:08   投稿:junjie  
這篇文章主要介紹了Python中函數的多種格式和使用實例及小技巧,本文講解了普通格式、帶收集位置參數的函數、帶收集關鍵字參數的函數、函數特殊用法、內嵌函數和閉包等內容,需要的朋友可以參考下

這里先解釋一下幾個概念
- 位置參數:按位置設置的參數,隱式用元組保存對應形參.平時我們用的大多數是按位置傳參.比如有函數def func(a,b,c),調用func(1,2,3).即a=1,b=2,c=3
- 關鍵字參數:可以通過關鍵字設置參數,不用關心參數位置,隱式用字典保存形參.比如有函數def func(a,b,c),調用func(b=1,c=2,a=3),即a=3,b=1,c=2

普通格式

復制代碼 代碼如下:

def func(opt_args):
    ...
    return value

帶收集位置參數的函數

格式如下

復制代碼 代碼如下:

def func(*params):
    ...
    return value

用法

使用函數時,不用限制傳參的個數,*params會自動收集傳入的參數作為一個元組.

實例

復制代碼 代碼如下:

def  func(*params):
    print params

a = [1,2,3,4]
b = 'hello'
c = 3
func(a, b, c)

輸出

復制代碼 代碼如下:

([1, 2, 3, 4], ‘hello', 3)

帶收集關鍵字參數的函數

格式如下

復制代碼 代碼如下:

def func(**params):
    ...
    return value

用法
按關鍵字傳參時,**params會自動收集傳入的參數作為一個字典.

實例

復制代碼 代碼如下:

def  func(**params):
    print params
func(a=1, b=2, c=3)

輸出
復制代碼 代碼如下:

{‘a': 1, ‘c': 3, ‘b': 2}

函數特殊用法

默認參數

格式

復制代碼 代碼如下:

def func(a = 1, b = 2)

等號(=)號是默認值,調用函數時可以不用傳參給默認參數.
實例
復制代碼 代碼如下:

def  func(a = 1, b = 2):
    print a, b 
func(a=3)

輸出
復制代碼 代碼如下:

3 2

函數可以返回多個值

格式

復制代碼 代碼如下:

return a, b, c

實例
復制代碼 代碼如下:

def  func(a = 1, b = 2):
    return a, b

print func(a=3)


輸出
復制代碼 代碼如下:

(3, 2)

內嵌函數和閉包

格式

復制代碼 代碼如下:

def foo()    #外部函數
    def bar()    #內嵌函數
        ....
    ....

如果內嵌函數引用了外部函數的變量(包括外部函數參數),這個引用的變量稱為自由變量, 那么稱這個內嵌函數是閉包.再來看看專業(yè)的解釋:閉包(Closure)是詞法閉包(Lexical Closure)的簡稱,是引用了自由變量的函數。這個被引用的自由變量將和這個函數一同存在,即使已經離開了創(chuàng)造它的環(huán)境也不例外。

實例

復制代碼 代碼如下:

def foo(a, b):
    x = 4
    def bar():
        return x * a + b;
    return bar

f1= foo(1, 2)
f2= foo(2, 3)

print f1(), f2()


輸出
復制代碼 代碼如下:

6 11

傳遞函數

Python一切皆對象,函數這一語法結構也是一個對象, 可以將函數名作為參數傳遞
格式

復制代碼 代碼如下:

def bar(*param1, **param2):
    ....

def foo(bar, *param1, **param2):
    bar(*param1, **param2)


實例
復制代碼 代碼如下:

def bar(*param1, **param2):
    print param1
    print param2

def foo(bar, *param1, **param2):
    bar(*param1, **param2)

foo(bar,  1, 2, 3,  a = 111, b = 222, c = 333)


輸出
復制代碼 代碼如下:

(1, 2, 3)
{‘a': 111, ‘c': 333, ‘b': 222}

匿名函數與lambda

lambda語法可以創(chuàng)建一個匿名的函數,主要作用是簡化書寫,是一種語法糖.
- 格式

復制代碼 代碼如下:

lambda [arg1[, arg2, … argN]] : expression

實例
復制代碼 代碼如下:

def foo(x, y):
    return x + y
print  "call foo function, result is: ", foo(3, 4)

bar = lambda x = 2, y = 3 : x + y
print  "call lambda fucntion, result is:", bar(3,4)


輸出
復制代碼 代碼如下:

call foo function, result is: 7
call lambda fucntion, result is: 7

相關文章

  • Python流程控制if條件選擇與for循環(huán)

    Python流程控制if條件選擇與for循環(huán)

    這篇文章主要介紹了Python流程控制if條件選擇與for循環(huán),文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-07-07
  • Python3一行代碼實現圖片文字識別的示例

    Python3一行代碼實現圖片文字識別的示例

    本篇文章主要介紹了Python3一行代碼實現圖片文字識別的示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • Python JWT認證與pyjwt包詳細介紹

    Python JWT認證與pyjwt包詳細介紹

    JWT的聲明一般被用來在身份提供者和服務提供者間傳遞被認證的用戶身份信息,以便于從資源服務器獲取資源,也增加一些額外的其它業(yè)務邏輯所必須的聲明信息,該token也可直接被用于認證,也可被加密,這篇文章主要介紹了Python JWT認證與pyjwt包簡介,需要的朋友可以參考下
    2023-05-05
  • Python實現按當前日期(年、月、日)創(chuàng)建多級目錄的方法

    Python實現按當前日期(年、月、日)創(chuàng)建多級目錄的方法

    這篇文章主要介紹了Python 按當前日期(年、月、日)創(chuàng)建多級目錄的方法,實現代碼很簡單,需要的朋友可以參考下
    2018-04-04
  • Python大數據用Numpy Array的原因解讀

    Python大數據用Numpy Array的原因解讀

    一個Numpy數組由許多值組成,所有值的類型是相同的,Numpy 是Python科學計算的一個核心模塊,本文重點給大家介紹Python大數據Numpy Array的相關知識,感興趣的朋友一起看看吧
    2022-02-02
  • Python調用DeepSeek?API的案例詳細教程

    Python調用DeepSeek?API的案例詳細教程

    這篇文章主要為大家詳細介紹了以?Python?為例的調用?DeepSeek?API?的小白入門級詳細教程,文中的示例代碼講解詳細,感興趣的小伙伴可以了解下
    2025-02-02
  • Python嵌套循環(huán)的使用

    Python嵌套循環(huán)的使用

    本文主要介紹了Python嵌套循環(huán)的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧<BR>
    2023-02-02
  • Python箱型圖處理離群點的例子

    Python箱型圖處理離群點的例子

    今天小編就為大家分享一篇Python箱型圖處理離群點的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python實現一次創(chuàng)建多級目錄的方法

    python實現一次創(chuàng)建多級目錄的方法

    這篇文章主要介紹了python實現一次創(chuàng)建多級目錄的方法,涉及Python中os模塊makedirs方法的使用技巧,非常簡單實用,需要的朋友可以參考下
    2015-05-05
  • 面向初學者的Python編輯器Mu

    面向初學者的Python編輯器Mu

    今天小編就為大家分享一篇關于一個面向初學者的Python編輯器Mu,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10

最新評論

平昌县| 定州市| 齐河县| 府谷县| 吴江市| 乐清市| 丹东市| 乐清市| 唐山市| 达日县| 华宁县| 剑阁县| 福安市| 永川市| 长岛县| 五峰| 双牌县| 巢湖市| 得荣县| 嘉峪关市| 许昌县| 屯昌县| 信阳市| 萨迦县| 阜南县| 平阳县| 扬中市| 黄山市| 周宁县| 陵川县| 务川| 江川县| 瓮安县| 郸城县| 濉溪县| 安图县| 伊宁县| 梧州市| 勃利县| 壤塘县| 沁水县|