Python中函數的定義、傳參和lambda函數是什麼?他們有什麼用?

2020-12-03 大葉科技
Python

大家好!我們已經學過了Python的條件語句條件語句:if elif else pass,還有循環語句:while循環、for循環break和continuerange,random。今天我們來學習函數的定義、傳參和lambda函數。開發工具:IDLE (Python 3.7 64-bit或者32-bit) (註:不需要3.7版本的也行,只需要Python3的版本都可以,在語法方面沒有什麼不同。)

人生苦短,我用Python

1.函數的定義

如何查看內置函數呢?需要用到dir(__builtins__)來查看內置函數。Python將經常用到的函數封裝起來,自帶的常用函數。

內置函數

函數就是對代碼進行一個封裝。把實現,某一功能的相同代碼,進行封裝到一起。下次需要使用時,就不需要再進行代碼編寫,直接調用即可。這樣做的好處:增加代碼的復用性,增加代碼可讀性,減少代碼的編寫量,降低維護成本 函數可以看成,解決某類問題的 '工具'。

函數定義的方法
定義函數

2.Python中函數的參數形式

不傳參數的形式

必備參數:參數沒有默認值,必須傳參數。只要定義的時候傳入參數,當運行時候不給其傳入參數的時候會報錯。

必備參數

默認參數:參數是有默認值的,調用函數是可以傳參也可以不傳參,不傳參數的時候,參數是默認值。默認參數可以傳參數也可以不傳參數,只要是參數都可以傳入,字符串也是可以的。

默認參數

可選參數:可以傳入多個參數並用元組的形式輸出參數。

可選參數

關鍵字參數:關鍵字參數需要指定位置。其實也就是必備參數指定了參數之後就變成了關鍵字參數。

關鍵字參數

將傳入的參數以字典的形式輸出。

輸出字典形式的傳參方法

3.參數形式的混合運用(關鍵字參數要放在最後,必備參數才能取到值)

必備參數+默認參數:默認參數必須放到後面

必備參數+默認參數

必備參數+默認參數+*arg

必備+默認+*arg

*arg+**kwarg

*arg+**kwarg

4.return 返回值

return有兩個作用:第一個:用來返回函數的運行結果,或者調用另外一個函數。比如max()函數。第二個:函數結束的標誌。只要運行了return,就強制結束了函數。return後面的程序都不會被執行。

如果函數中沒有寫return,其實函數運行結束時,默認執行了 return None。return語句的位置是可選的,不是固定出現在函數的最後,可以自定義在函數中的任何地方。

示列
return

print輸出的參數沒有類型,return輸出的參數有類型。return還是函數結束的標誌。

return函數結束的標誌
print輸出可以運行到最後

return函數可以放在任何地方,可以自定義安排它的位置。

return可以放在任何位置

5.lambda(匿名函數)不是很常用的函數

沒有函數名的函數,g = lambda x:x+1,x相當於參數,x+1相當於return。lambda簡化了函數定義的書寫形式。是代碼更為簡潔,使用函數的定義方式更為直觀,易於理解 。lambda的適用場景:1.對於只是臨時一用的函數,而且它的邏輯也很簡單時,就沒必要用def 來定義,這個時候就可以用lambda來簡化代碼。2.只要是函數支持函數作為參數,那麼lambda 函數就可以放心的運用了。

lambda函數
lambda函數的運用
擴展

好了今天和大家分享的內容都在上面了,大家記得要多練習啊!那麼就繼續加油吧!我們一起努力共同進步。

相關焦點

  • python入門基礎之lambda匿名函數詳解
    python入門基礎之lambda匿名函數詳解剛開始學習python的時候很多人可能對於lambda函數不了解,感覺和def很混亂,下面我來介紹一下lambda函數我從一下幾個方面來介紹lambda:lambda作為一個表達式,定義了一個匿名函數,上例的代碼x,y為入口參數,x+y為函數體。在這裡lambda簡化了函數定義的書寫形式。python允許用lambda關鍵字創造匿名函數。匿名是不需要以標準的方式來聲明,比如說使用 def 語句。(除非賦值給一個局部變量,這樣的對象也不會在任何的名字空間內創建名字,上面的例子中會創建名字。)
  • Python每天一分鐘:lambda表達式 (匿名函數)及用法詳解
    lambda表達式介紹python中有一種靈活,便捷的且具有函數功能的表達式:lambda表達式!,它可以在程序中被傳遞和調用。一個lambda表達式範例本例中使用了多種python的小技巧,包括python推導式,map函數,lambda表達式等。
  • Python的一行代碼有何魅力?lambda匿名函數都自嘆不如
    其中,一行代碼編寫與lambda表達式是最具代表性的方法,下面分別來介紹一行代碼編寫和lambda表達式的代碼之美。一行代碼我們都知道,創建列表的方式有多種,比如直接定義、使用list()函數轉換、使用for循環迭代輸出等等。
  • Python學習第40課-Lambda表達式創建匿名函數
    【每天幾分鐘,從零入門python編程的世界!】之前我們學習了使用def關鍵字來創建自定義函數,這種方式創建的函數都是有函數名的,我們也可以創建沒有函數名的函數,這種函數叫做匿名函數。Python中可以使用Lambda表達式來創建匿名函數。
  • Python基礎教程(一) - 函數和函數式編程
    什麼是函數函數是對程序邏輯進行結構化或過程化的一種編程方法。能將整塊代碼巧妙地隔離成易於管理的小塊,把重複的代碼放在函數中而不是進行大量的copy。前面使用過很多print()來進行列印,這是python提供的內建函數,你也可以自己創建函數,這叫做用戶自定義函數。創建函數你可以定義一個由自己想要功能的函數,用def語句來創建,標題行由def關鍵字,函數的名字,以及參數的集合(如果有的話)組成。
  • Python零基礎入門教程,如何使用lambda、filter和map函數?
    大綱函數類型定義及特性lambda函數定義及使用filter函數定義及使用map函數定義及使用引入函數類型概念函數類型定義:python中任意一個函數都有數據類型,這種數據類型是function(函數類型)
  • Python匿名函數:Lambda表達式
    我們以一張圖形進入主題:從圖中我們可以看出lambda表達式幾點特徵:簡潔性,符合了Python的一貫宗旨;起到了函數的作用,但未顯示函數名稱,這就是匿名函數;>有形參;有返回值的。首先,看一個返回所有參數和的函數:# 返回所有參數和def pSum(a,b,c):return a + b + cpSum(10,40,50)函數中必須要用
  • Python面試題推薦:什麼是lambda函數?
    Python允許你定義一種單行的小函數。定義lambda函數的形式如下:labmda 參數:表達式lambda函數默認返回表達式的值。你也可以將其賦值給一個變量。lambda函數可以接受任意個參數,包括可選參數,但是表達式只有一個:>>> g = lambda x, y: x*y>>> g(3,4)12>>> g = lambda x, y=0,
  • 「數據清洗」lambda表達式配合使用的四種函數
    標籤:數據清洗、pythonlambda表達式配合使用的四種函數一、什麼是lambda表達式基本特性使用方法filter函數map函數sorted函數reduce函數總結什麼是lambda表達式其形式如下:lambda argument_list: expression我們可以有很多個參數,但是只能有一個表達式。lambda操作符不能有任何聲明,它返回一個函數對象。其中,lambda是Python預留的關鍵字,argument_list和expression由用戶自定義。
  • Lambda表達式在Python事件中的運用
    本篇筆記內容:Lambda表達式詳解Lambda表達式在事件中的應用【1】Lambda表達式詳解lambda 表達式定義的是一個匿名函數,只適合簡單輸入參數,簡單計算返回結果,不適合功能複雜情況。lambda 定義的匿名函數也有輸入、也有輸出,只是沒有名字。語法格式如下:lambda 參數值列表:表達式其中,參數值列表即為輸入,表達式計算的結構即為輸出。看一個案例:求三個數的和。
  • python高階函數:map、filter、reduce的替代品
    什麼是高階函數?高階函數是一種將函數作為參數,或者把函數作為結果返回的函數,map函數、sorted函數就是高階函數的典型例子。map函數在小編以前的文章中做過相應的知識分享。sorted函數是python的內置函數,它的可選參數key用於提供一個函數,它可以將函數應用到各個元素上進行排序。
  • 《Python語言程序設計》學習筆記-函數的定義與使用
    1 函數的理解和定義函數是一段代碼的表示,所指定的參數是一種佔位符,如果不經過調用,不會被執行,參數是輸入、函數體是處理、結果是輸出 (IPO)。函數是一段具有特定功能的、可重用的語句組函數是一種功能的抽象,一般函數表達特定功能兩個作用:降低編程難度和代碼復用2 函數的使用及調用過程函數的調用是運行函數代碼的方式,調用時要給出實際參數,用實際參數替換定義中的參數-,函數調用後得到返回值。3 函數的參數傳遞函數可以有參數,也可以沒有,但必須保留括號。
  • 寫Python 代碼不可不知的函數式編程技術
    因而,我們可以將函數賦值給變量,也可以將其作為參數傳入其他函數,將它們存儲在其他數據結構(如 dicts)中,並將它們作為其他函數的返回值。把函數作為對象由於其他數據類型(如 string、list 和 int)都是對象,那麼函數也是 Python 中的對象。
  • Python中的Lambda表達式
    Lambda表達式當我們需要做一些簡單的事情並且更希望快速完成工作而不是正式命名函數時,Lambda表達式是理想的選擇。Lambda表達式也稱為匿名函數。Python中的Lambda表達式是聲明小型匿名函數的一種簡短方式(沒有必要為Lambda函數提供名稱)。
  • 雲計算開發學習筆記:Python3匿名函數
    來源:TechWeb.com.cnpython 使用 lambda 來創建匿名函數。所謂匿名,意即不再使用 def 語句這樣標準的形式定義一個函數。lambda 只是一個表達式,函數體比 def 簡單很多。lambda的主體是一個表達式,而不是一個代碼塊。僅僅能在lambda表達式中封裝有限的邏輯進去。lambda 函數擁有自己的命名空間,且不能訪問自己參數列表之外或全局命名空間裡的參數。
  • python入門教程NO.8 用python寫個存款利息計算器
    本文涉及的python基礎語法為def函數,return,函數的各參數示例,匿名函數等函數初識函數是一段組織好的\ 可重複使用的\ 用來實現特定功能的代碼塊。自定義函數定義一個自定義函數需要遵循以下的規則:函數代碼塊以def 關鍵字開頭,後接函數標識符名稱和圓括號():def 是函數定義的關鍵字(define 的縮寫),example是我們自定義的一個函數名稱,括號裡面的x表示一個參數這裡提醒一下各位新手工程獅,千萬不要忘記括號後面這個英文 :!
  • 大家都在說的「Lambda 表達式」到底是什麼?
    花10分鐘認真的看完一篇文章,或許會有意想不到的收穫!自從java8中引入了Lambda表達式之後,使用的人也越來越多了,這篇文章我們就來看看什麼是Lambda表達式。廢話少說,先看定義!01定義Lambda表達式也被稱為箭頭函數,匿名函數,閉包Lambda表達式體現的是輕量級函數式編程思想『->』符號式Lambda表達式核心操作符號,符號左側是操作參數,符號右側是操作表達式1、在定義中有一個比較重要的詞就是「函數式編程」現在「
  • 理解什麼是反函數,從反函數的定義出發
    函數是兩個集合之間的映射,每個自變量值只能對應一個函數值。數學中有很多「求逆」的思想,函數中也不例外。已知函數y=f(x)是x到y的映射。如果已知y,能得到對應的x,那麼y到x也可看作一個映射,但是一個y並不一定只對應一個x,不一定滿足函數的定義。
  • python中函數的運用(1)
    世界一切皆函數! 提到函數,定義我們就不說了。 大白話就是提供某個功能的黑盒子。 你提供一個數值,或者一個字符串,或者提供一個功能,或者子函數,然後函數輸出一個變量或者其他應該輸出的內容 我們先從最簡單的開始,就先計算加,減,乘,除中的一個。 我們先來計算加法。 比如我們計算1.5+2。
  • Python小白學習記錄-匿名函數lambda
    匿名函數就是不需要通過def定義及顯示地指定函數名的函數匿名函數的特性(1)匿名函數只能有一個表達式,不用寫return,返回值就是該表達式的結果。(2)匿名函數沒有名字,不必擔心函數名衝突。(3)匿名函數也是一個函數對象,可以把匿名函數賦值給一個變量,再利用變量來調用該函數。(4)有些函數在代碼中只用一次,而且函數體比較簡單,不需要賦值給變量,直接調用可以減少代碼量,看起來比較」優雅「。