400-650-7353
您所在的位置:首頁 > IT干貨資料 > python > 【Python基礎知識】Python函數的返回值和匿名函數

【Python基礎知識】Python函數的返回值和匿名函數

  • 發布: python培訓
  • 來源:python干貨資料
  • 2020-10-30 10:13:49
  • 閱讀()
  • 分享
  • 手機端入口

1)函數返回值

函數返回的值稱為返回值(return value)。在此之前定義的函數均沒有返回值。之前使用過的內建函數,大部分都有返回值,如int()函數:

  1. >>> int(3.14)  # 返回值是3 
  2. 3 

一直使用交互模式常常會讓初學者默認為打印出的內容就是函數的返回值,如這種情況:

  1. >>> def hello_world():   # 這個函數沒有返回值 
  2. ...     print('Hello,world!'
  3. ... 
  4. >>> hello_world()   # 調用這個函數時,誤以為有返回值Hello, world! 
  5. Hello,world! 
  6. >>> h = hello_world()   # 試圖將返回值賦給變量h,因為再次調用函數,所以打印結果 
  7. Hello,world! 
  8. >>> print(h)   # 打印h的值,發現h的值是None,證明該函數沒有返回值 
  9. None 

自定義函數時,使用return語句來返回一個值到調用函數的代碼行。例如,將hello_world()改寫成有返回值的函數:

  1. >>> def hello_world(): 
  2. ...     return 'Hello,world!'  # 返回值是'Hello, world!' 
  3. ... 
  4. >>> h = hello_world()  
  5. >>> print(h)   # 現在h有值了,證明該函數有返回值 
  6. Hello, world! 

寫在return后面的值就是返回值。如果一個函數沒有return語句,或者return語句后面沒有任何值,函數會默認返回None。None和True、False一樣,是一個內建值(類似于內建函數),是由Python解釋器定義的,None代表什么都沒有。

函數在執行return語句之后,就立即返回,不再執行函數體內return語句后面的所有語句:

  1. >>> def f(): 
  2. ...     print('a'
  3. ...     print('b'
  4. ...     return 
  5. ...     print('c'
  6. ...     print('d'
  7. ... 
  8. >>> f() 

可以發現上面的函數只打印了“a”和“b”,這是由于函數在return語句處就終止了。在編程時可以利用這一特性,讓函數在某些條件下終止。

2)匿名函數

Python中的匿名函數(anonymous function)是指沒有名字的函數。一般函數使用def關鍵字定義,而匿名函數使用lambda關鍵字定義,故匿名函數也稱為lambda函數。

匿名函數的語法格式如下:

lambda 參數:表達式

冒號的左邊為函數參數,多個參數使用逗號隔開;冒號的右邊為表達式。匿名函數的參數可以有任意個數的參數,但是只能有一個表達式,這個表達式的計算結果作為匿名函數的返回值(它不能使用return語句,但是會默認返回計算結果)。匿名函數可以在任何需要普通函數(普通函數是指使用def關鍵字定義的函數)的地方使用。下面是一個匿名函數,它計算了兩個數字的乘積:

  1. >>> # 由于匿名函數沒有名字,因此,如果想要重復使用它,需要將它與一個名字綁定 
  2. >>> mul = lambda x, y: x * y 
  3. >>> mul(99
  4. 81 
  5. >>> mul(35
  6. 15 

可以使用def關鍵字來重新定義同一個函數:

  1. >>> def mul(x, y): 
  2. ...     return x * y 
  3. ... 
  4. >>> mul(99
  5. 81 
  6. >>> mul(35
  7. 15 

看起來匿名函數比def關鍵字定義的函數只是簡便了一點,好像沒有必要學習。但實際上,匿名函數很多時候都會作為高階函數(higher-order function)的參數使用。

如果對Python開發感興趣或者想要深入學習的現在可以免費領取學習大禮包哦(點擊領取80G課程資料 備注:領資料)。

文章“【Python基礎知識】Python函數的返回值和匿名函數”已幫助

>>本文地址:http://www.028benet.com/zhuanye/2020/59244.html

THE END  

聲明:本站稿件版權均屬中公教育優就業所有,未經許可不得擅自轉載。

1 您的年齡

2 您的學歷

3 您更想做哪個方向的工作?

獲取測試結果
  • 大前端大前端
  • 大數據大數據
  • 互聯網營銷互聯網營銷
  • JavaJava
  • Linux云計算Linux
  • Python+人工智能Python
  • 嵌入式物聯網嵌入式
  • 全域電商運營全域電商運營
  • 軟件測試軟件測試
  • 室內設計室內設計
  • 平面設計平面設計
  • 電商設計電商設計
  • 網頁設計網頁設計
  • 全鏈路UI/UE設計UI設計
  • VR/AR游戲開發VR/AR
  • 網絡安全網絡安全
  • 新媒體與短視頻運營新媒體
  • 直播帶貨直播帶貨
  • 智能機器人軟件開發智能機器人
 

快速通道fast track

近期開班時間TIME

主站蜘蛛池模板: 厨房切底征服岳| avav片在线看| 亚洲国产精品嫩草影院| 国产免费无码一区二区视频| 尤物网址在线观看日本| 污视频网站在线免费看| 成人看片黄在线观看| 一个人看的视频www在线| 亚洲xxxxxx| 免费a级毛片无码| 国产在线精品一区二区不卡| 女网址www女大全小| 曰本女同互慰高清在线观看| 真实国产乱子伦对白视频37p| 1000部拍拍拍18勿入免费凤凰福利| 中文字幕网站在线观看| 亚洲国产成人精品青青草原| 又大又粗又爽a级毛片免费看 | 精品欧美军人同性videos| 2021免费日韩视频网| 一级有奶水毛片免费看| 乱人伦人妻中文字幕无码| 免费a级毛片在线播放| 国产亚洲精品第一综合| 国产视频一区二区| 妞干网免费观看视频| 日本大乳高潮视频在线观看| 欧美欧美欧美欧美| 玩弄放荡人妻少妇系列视频| 国产福利兔女郎在线观看| 99久久免费精品高清特色大片| 亚洲av无码一区二区三区鸳鸯影院 | 老子影院午夜伦手机不四虎| 激情五月激情综合网| 国产在线乱子伦一区二区| 麻豆视频传媒二区| 色综合久久88色综合天天| 老熟妇乱子伦牲交视频| 精品韩国亚洲av无码不卡区| 韩国三级hd中文字幕| 香蕉app在线观看免费版|