7--python的函數

函數的調用

>>> def MyFirstFunction():
	print('這是我創建的第一個函數')
	print('我感覺很開心')

>>> MyFirstFunction
<function MyFirstFunction at 0x0000021ED6188048>
>>> MyFirstFunction()
這是我創建的第一個函數
我感覺很開心

>>> def MySecondFunction(name):
	print(name+'你最好看!')
MySecondFunction('小明')
小明你最好看!

>>> def add(num1,num2):
	result=num1+num2
	print(result)
	
>>> add(1,3)
4

函數的返回值

>>> def add(num1,num2):
	return num1+num2

>>> add(3,4)
7

形參和實參

函數文檔

在這裏插入圖片描述

關鍵字參數

關鍵字參數和函數調用關係緊密,函數調用使用關鍵字參數來確定傳入的參數值。
使用關鍵字參數允許函數調用時參數的順序與聲明時不一致,因爲 Python 解釋器能夠用參數名匹配參數值。
在這裏插入圖片描述

默認參數:

調用函數時,默認參數的值如果沒有傳入,則被認爲是默認值。

在這裏插入圖片描述

收集參數(不定長參數)

你可能需要一個函數能處理比當初聲明時更多的參數。這些參數叫做不定長參數

在這裏插入圖片描述

函數與過程

Python嚴格來說只有函數沒有過程
在這裏插入圖片描述

變量返回多個值

在這裏插入圖片描述

全局變量和局部變量

在這裏插入圖片描述

內嵌函數

在這裏插入圖片描述

閉包

lambda函數

python 使用 lambda 來創建匿名函數。
• lambda只是一個表達式,函數體比def簡單很多。
• lambda的主體是一個表達式,而不是一個代碼塊。僅僅能在lambda表達式中封裝有限的邏輯進去。
• lambda函數擁有自己的命名空間,且不能訪問自有參數列表之外或全局命名空間裏的參數。
• 雖然lambda函數看起來只能寫一行,卻不等同於C或C++的內聯函數,後者的目的是調用小函數時不佔用棧內存從而增加運行效率。
在這裏插入圖片描述

python寫一些執行腳本時,使用lambda就可以省下定義函數過程,比如說我們只是需要寫個簡單的腳本來管理服務器時間,我們就不需要專門定義一個函數然後再寫調用,使用lambda就可以使得代碼更加精簡

對於一些比較抽象並且整個程序執行下來只需要調用一兩次的函數,有時候給函數起個名字也是比較頭疼的問題,使用lambda就不需要考慮命名的問題了

兩個比較牛逼的bif

(Built-in Functions,即內置函數)
== 1、filter()==
filter() 函數用於過濾序列,過濾掉不符合條件的元素,返回一個迭代器對象,如果要轉換爲列表,可以使用 list() 來轉換。
該接收兩個參數,第一個爲函數,第二個爲序列,序列的每個元素作爲參數傳遞給函數進行判,然後返回 True 或 False,最後將返回 True 的元素放到新列表中。
在這裏插入圖片描述
2、map() ,映射
map() 會根據提供的函數對指定序列做映射。
第一個參數 function 以參數序列中的每一個元素調用 function 函數,返回包含每次 function 函數返回值的新列表。

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章