1. 怎麼給函式編寫⽂檔?
為了其他⼈能夠理解程式,需要給函式編寫⽂檔,可以通過以下兩種⽅式 :
1)新增注釋(以 # 開頭的內容):
2)新增獨⽴的文件字串
在 def 語句後(函式的第一行)新增⼀段說明性的字元,稱為⽂檔字串(docstring),這將作為函式的⼀部分被儲存。
下⾯的**演示了如何給函式新增⽂檔字串:
def
test
(a,b)
:'''⽤來完成對2個數求和
引數:a:第⼀個加數
b:第⼆個加數
返回值:
這個函式沒有返回值'''
print
(a+b)
訪問說明⽂檔和⽂檔字串可以通過以下形式:
print
(test.__doc__)
#第一種方式
test? #第二種方式
help
(test)
#第三種方式
2. 怎麼給函式引數和返回值註解?
def
accumlate
(x:int
, y:
int)
:return x*y
def
accumlate
(x:int
, y:
int)
->
int:
return x*y
這些註解都會以字典的形式存在函式的 .annotations屬性中。
accumlate.__annotations__
print
(accumlate.__annotations__)
輸出字典中的value存的是資料的type,即型別。
3. 閉包中,怎麼對數字、字串、元組等不可變元素更新?
如果要修改閉包作用域中的變數則需要 nonlocal 關鍵字
4. 分別根據每一行的首元素和尾元素大小對二維列表 a = [[6, 5], [3, 7], [2, 8]] 排序。(利用lambda表示式)
a =[[
6,5]
,[3,
7],[
2,8]
]a.sort( key=
lambda a:a[0]
)print
(a)a.sort( key=
lambda a:a[1]
)print
(a)
[[2, 8], [3, 7], [6, 5]]
[[6, 5], [3, 7], [2, 8]]
5. 利用python解決漢諾塔問題
def
f(a)
: new=
list
(reversed
(a))
return new
a=list
(range(64
))c=f(f(a)
)print
(c)
函式與lambda表示式
lambda表示式是python中一類特殊的定義函式的形式,使用它可以定義乙個匿名函式。與其它語言不同,python的lambda表示式的函式體只能有單獨的一條語句,也就是返回值表示式語句。其語法如下 lambda 形參列表 函式返回值表示式語句 常規函式 def comp x return x a...
函式與Lambda表示式
def myfirstfunction name 函式定義過程中name是形參 因為ta只是乙個形式,表示佔據乙個引數位置 print 傳遞進來的叫做實參,因為ta是具體的引數值!format name myfirstfunction 老馬的程式人生 傳遞進來的老馬的程式人生叫做實參,因為ta是具體...
函式與Lambda表示式
學習人員 賈其豪 函式定義預設值引數 函式定義時,給形參設定預設值,只有與預設值不符的時候才需要傳遞實參 deffun a,b 10 b稱為預設值引數 print a,b 函式的呼叫 fun 100 fun 20,30 個數可變的位置引數 定義函式時,可能無法事先確定傳遞的位置實參的個數時,使用可變...