函式
定義乙個函式
任何傳入引數和自變數必須放在圓括號中間,圓括號之間可以用於定義引數。
函式的第一行語句可以選擇性地使用文件字串—用於存放函式說明。
函式內容以冒號起始,並且縮排。
return [表示式] 結束函式,選擇性地返回乙個值給呼叫方。不帶表示式的return相當於返回 none。
2.語法
python定義函式使用def關鍵字,一般格式如下
"""
del 函式名(引數列表):
函式體"""
#取餘
defa
(b,c)
:return b%cb=8
c=3print
(a(b,c)
)#2
3.函式呼叫
定義乙個函式:給了函式乙個名稱,指定了函式裡包含的引數,和**塊結構。這個函式的基本結構完成以後,你可以通過另乙個函式呼叫執行,也可以直接從 python 命令提示符執行。
def
a(b,c)
: x=b%c
print
(x)returna(8
,3)#2
4.引數傳遞
在 python 中,型別屬於物件,變數是沒有型別的:
a=[1
,2,3
]a="number"
上**中,[1,2,3] 是 list 型別,「number」 是 string 型別,而變數 a 是沒有型別,她僅僅是乙個物件的引用(乙個指標),可以是指向 list 型別物件,也可以是指向 string 型別物件。
可更改(mutable)與不可更改(immutable)物件
在 python 中,strings, tuples, 和 numbers 是不可更改的物件,而 list,dict 等則是可以修改的物件。
不可變型別:變數賦值 a=5 後再賦值 a=10,這裡實際是新生成乙個 int 值物件 10,再讓 a 指向它,而 5 被丟棄,不是改變a的值,相當於新生成了a。
python 函式的引數傳遞:
def
changeint
(a):
a=10b=
2changeint(b)
print
(b)#2
def
changeme
(a):[1
,2,3
,4])
print
("函式內建值:"
,a)returna=[
10,20]
changeme(a)
print
("函式外接值:"
,a)"""
函式內建值: [10, 20, [1, 2, 3, 4]]
函式外接值: [10, 20, [1, 2, 3, 4]]
"""
python 中一切都是物件,嚴格意義我們不能說值傳遞還是引用傳遞,我們應該說傳不可變物件和傳可變物件。
引數必需引數
def
printme
(str):
print
(str
)return
a="你好!我是長江"
printme(a)
defprintme
(str):
print
(str
)return
printme(
)"""
你好!我是長江
"""
關鍵字引數
def
printme
(str
,str2)
:print
(str
)print
(str2)
return
printme(str2=
"你好!我是黃河"
,str
="你好!我是長江"
)"""
你好!我是長江
你好!我是黃河
"""
預設引數
def
printinfo
(name,year=
2019):
print
("地點:"
,name)
print
(,year)
return
printinfo(name=
"beijing"
)print
("-----------------"
)printinfo(year=
1949
,name=
"beijing"
)"""
地點: beijing
-----------------
地點: beijing
"""
不定長引數
你可能需要乙個函式能處理比當初宣告時更多的引數。這些引數叫做不定長引數,和上述 2 種引數不同,宣告時不會命名。
匿名函式
python 使用 lambda 來建立匿名函式。
所謂匿名,意即不再使用 def 語句這樣標準的形式定義乙個函式。
雖然lambda函式看起來只能寫一行,卻不等同於c或c++的內聯函式,後者的目的是呼叫小函式時不占用棧記憶體從而增加執行效率。
lambda匿名函式的格式:冒號前是引數,可以有多個,用逗號隔開,冒號後邊為表示式。(如 lambda x,y:x*y)
a=
lambda x,y,z:x*y%z
print
(a(2,5
,3))
#1
return函式
return [表示式] 語句用於退出函式,選擇性地向呼叫方返回乙個表示式。不帶引數值的return語句返回none。
def
sum(a,b)
: w=a+b
print
("函式內:"
,w)return w
s=sum(5
,3)print
("函式外:"
,s)"""
函式內: 8
函式外: 8
"""
Python基礎05 函式與lambda表示式
函式是組織好的,可重複使用的,用來實現單一,或相關聯功能的 段。1 定義乙個函式 定義函式的規則 語法 def functionname parameters 函式 文件字串 function suite return expression 例項 呼叫 def sum x,y z x y retur...
Python基礎 05 函式與Lambda表示式
匿名函式lambda表示式 定義函式 呼叫函式 有必須引數 關鍵字引數 不定長引數 引數型別 必須引數 呼叫時引數數量型別必須和宣告時一樣 defprintme str 列印任何傳入的字串 print str printme str 如果此處不加引數的話會報錯 關鍵字引數 呼叫時引數順序可以與宣告時...
Python匿名函式(lambda函式)
python使用lambda關鍵字創造匿名函式。所謂匿名,意即不再使用def語句這樣標準的形式定義乙個函式。這種語句的目的是由於效能的原因,在呼叫時繞過函式的棧分配。其語法是 lambda arg1 arg2,argn expression其中,引數是可選的,如果使用引數的話,引數通常也會在表示式之...