# 函式與lambda表示式
## 1. 函式
還記得 python 裡面「萬物皆物件」麼?python 把函式也當成物件,可以從另乙個函式中返回出來而去構建高階函式,比如:
- 引數是函式
- 返回值是函式
def functionname(parameters)
:"函式_文件字串"
function_suite
return
[expression]
### 函式的呼叫
【例子】
def printme(
str)
:print
(str
)printme(
"我要呼叫使用者自定義函式!"
)# 我要呼叫使用者自定義函式!
printme(
"再次呼叫同一函式"
)# 再次呼叫同一函式
temp = printme(
'hello'
)# hello
print
(temp)
# none
【例子】
def add(a, b)
:print
(a + b)
add(1,
2)# 3add([1
,2,3
],[4
,5,6
])# [1, 2, 3, 4, 5, 6]
### 函式文件
def myfirstfunction(name)
:"函式定義過程中name是形參"
# 因為ta只是乙個形式,表示佔據乙個引數位置
print
('傳遞進來的叫做實參,因為ta是具體的引數值!'
.format
(name)
)myfirstfunction(
'老馬的程式人生'
)# 傳遞進來的老馬的程式人生叫做實參,因為ta是具體的引數值!
print
(myfirstfunction.__doc__)
# 函式定義過程中name是形參
help
(myfirstfunction)
# help on function myfirstfunction in module __main__:
# myfirstfunction(name)
# 函式定義過程中name是形參
### 函式引數
python 的函式具有非常靈活多樣的引數形態,既可以實現簡單的呼叫,又可以傳入非常複雜的引數。從簡到繁的引數形態如下:
- 位置引數 (positional argument)
- 預設引數 (default argument)
- 可變引數 (variable argument)
- 關鍵字引數 (keyword argument)
- 命名關鍵字引數 (name keyword argument)
- 引數組合
1. 位置引數
def functionname(arg1)
:"函式_文件字串"
function_suite
return
[expression]
-arg1
- 位置引數 ,這些引數在呼叫函式 (call function) 時位置要固定。
2. 預設引數
def functionname(arg1, arg2=v)
:"函式_文件字串"
function_suite
return
[expression]
-arg2 = v
- 預設引數 = 預設值,呼叫函式時,預設引數的值如果沒有傳入,則被認為是預設值。
- 預設引數一定要放在位置引數後面,不然程式會報錯。
【例子】
def printinfo(name, age=8)
:print
('name:,age:'
.format
(name, age)
)printinfo(
'小馬'
)# name:小馬,age:8
printinfo(
'小馬',10
)# name:小馬,age:10
- python 允許函式呼叫時引數的順序與宣告時不一致,因為 python 直譯器能夠用引數名匹配引數值。
【例子】
def printinfo(name, age)
:print
('name:,age:'
.format
(name, age)
)printinfo(age=
8, name=
'小馬'
)# name:小馬,age:8
3. 可變引數
顧名思義,可變引數就是傳入的引數個數是可變的,可以是 0, 1, 2 到任意個,是不定長的參
python打卡練習之函式與lambda表示式
在python中,使用def可以定義乙個函式。def hello print asdf return 123 a hello print a asdf 123就可以定義乙個名為hello的函式,其中,return後面的就是該函式的返回值。python的變數型別不固定,所以python的返回值也不固定...
Task06 函式與lambda表示式
def myfirstfunction name 函式定義過程中name是形參 因為ta只是乙個形式,表示佔據乙個引數位置 print 傳遞進來的叫做實參,因為ta是具體的引數值!format name myfirstfunction 老馬的程式人生 傳遞進來的老馬的程式人生叫做實參,因為ta是具體...
task 06函式與lambda表示式
def functionname parameters 函式 文件字串 function suite return expression def add a,b print a b add 1,2 3 add 1 2,3 4 5,6 1,2,3,4,5,6 def myfirstfunction n...