def 函式名(引數):
語句1語句2
例 判斷回文
#!/usr/bin/env python3
defpalindrome
(s):
#定義函式
return s == s[::
-1]#函式內容,縮排,返回是或否
global a 在函式中宣告全域性變數a
當函式內部更改了a的值,整個**的a都改變了
例
#!/usr/bin/env python3
defchange()
:global a #宣告全域性變數a
a =90print
(a)a =
9print
("before the function call "
, a)
print
("inside change function"
, end=
' ')
#輸出後不換行,加空格
引數賦值規則和c++類似
可以給未賦值引數預設值
當有多個引數時,有預設值的引數,後面的引數也要有預設值
預設值只被賦值一次,如果多次呼叫函式,引數的值會往後順延覆蓋掉預設值,這一點可以用引數的相應關鍵字來對應
比如
>>
>
deffunc
(a, b=
5, c=10)
:...
print
('a is'
, a,
'and b is'
, b,
'and c is'
, c)..
.>>
> func(12,
24)a is
12and b is
24and c is
10>>
> func(
12, c =24)
#明確c的值是24,而不是順延b
a is
12and b is
5and c is
24>>
> func(b=
12, c =
24, a =-1
)a is-1
and b is
12and c is
24
map()
接受乙個函式乙個序列作為輸入
將序列的每個值呼叫函式
輸出乙個序列(呼叫函式後產生的)
例
>>
> lst =[1
,2,3
,4,5
]>>
>
defsquare
(num):.
.."返回所給數字的平方."..
.return num * num..
.>>
>
print
(list
(map
(square, lst)))
[1,4
,9,16
,25]
其他高階函式
sorted()、filter()、functools()
例 讀取檔案內容並提取出字串中的數字並列印
''' 從/tmp/string.txt中讀取字串,read()讀取字串,
for迴圈遍歷i中是否有數字,如果有加入到res中'''
with
open
('/tmp/string.txt'
)as f:
s = f.read(
)res =
""for i in s :
if i.isdigit():
res += i
print
(res)
python之函式基礎
python 函式 python函式可以返回多值 defadd dif x,y,sum x y dif x y return sum,dif a,b add dif 2,3 print a,b 5 1 r add dif 2,3 print r 5,1 本質來說返回多值的函式其實返回乙個元組tupl...
Python基礎之函式
不同型別的引數的優先順序 在引數列表中的順序 def testfunc1 pass這是乙個最簡單的函式,沒有引數,沒有返回,pass表示該函式沒有做任何操作,testfunc1是函式名,def是關鍵字,表示這是乙個函式 呼叫函式時給出函式並給函式傳遞相應的引數,對於命名關鍵字引數需要給出引數名,位置...
Python之函式(基礎)
1.函式的定義 1 函式的定義與呼叫 定義函式 def say hello print hello1 print hello2 print hello3 呼叫函式,函式只有被呼叫了才會有輸出值 示例1 定義求和函式 計算 20 30 2 函式的巢狀 def fun1 print world def ...