返回值就是函式執行以後返回的結果
我們可以通過乙個變數來接收return來指定函式的返回值
return後面可以跟任意物件,返回值甚至可以是乙個函式
return以後的**將不會再執行
如果僅僅寫乙個return,或者不寫return,則相當於return none
def fn():
return
r = fn()
print(r)
none
不寫return,則相當於return none
def fn2():
print('hello')
print(123)
r = fn2()
print(r)
hello
123none
return以後的**將不會再執行
def fn3():
for i in range(5):
if i == 3:
return #用了結束函式
print(i)
print('列印結束') #return 後面**不會執行
fn3()
0 12 fn 和fn() 的區別
fn表示 函式物件,fn()表示函式返回結果
help()是python中內建的函式,通過help()函式可以查詢python中函式的用法
在定義函式時,可以在函式內部編寫文件字串,文件字串就是對函式的說明
print('www','baidu','com',sep='.') www.baidu.com 空格替換為點
def fn5(a:bool,b:int,c:str)->int:
'''a: 作業與型別預設值
b: 作業與型別預設值
c: 作業與型別預設值
:return: 返回int
'''return 100
help(fn5)
fn5(a: bool, b: int, c: str) -> int
a: 作業與型別預設值
b: 作業與型別預設值
c: 作業與型別預設值
:return: 返回int
作用域:函式變數生效的區域
在python中一共有兩種作用域
全域性作用域
全域性作用域在程式執行時建立,在程式執行結束時銷毀
所以函式以外的區域的區域都是全域性作用域
在全域性作用域中定義的變數,都是全域性變數,全域性變數可以在程式任何位置進行訪問
函式作用域
函式作用域在函式呼叫是建立,在呼叫結束時銷毀
函式每呼叫一次就會產生乙個新的函式作用域
在函式作用域中定義的變數,都是區域性變數,它只能在函式內部被訪問
如果希望在函式內部修改全域性變數,則使用global關鍵字,來說宣告變數
宣告在函式內部使用的變數a是全域性變數,則此時在去修改a時,就是在修改全域性變數
命名空間實際上就是乙個字典,是乙個專門用來儲存變數的字典。
locals()用來獲取當前作用域的命名空間
a = 20
def fn():
print('a = ',a)
s = locals() #獲取函式全域性命名空間
print(s)
, '__builtins__': , '__file__': 'g:/python/邏輯教育/jarry班/基礎班/day09/test.py', '__cached__': none, 'a': 20, 'fn': , 's': }
如果在全域性作用域中呼叫locals()則獲取全域性命名空間,如果在函式作用域中呼叫locals()則獲取函式命名空間
返回值是乙個字典
遞迴是解決問題的一種方式,它的整體思想是將乙個大問題分解為乙個乙個的小問題,直到問題無法分解時,在去解決問題。
遞迴式函式有2個條件
1.基線條件,問題可以被分解為最小問題,當滿足基線條件時,遞迴就不執行
2.遞迴條件可以將問題急需分解的條件
如何求10 的階乘(10!)
1!=1
2! = 1.* 2 =2
3.!= 1*2*3 = 2!*3 = 6
4! = 1*2*3*4 = 3!*4 =24
.....*8*9*10 = 3628800
n = 10 建立乙個變數
for i in range(1,10):
n *= i
print(n)
求任意數的階乘
def fn(n):
引數n要求階乘的數字
result = n
for i in range(1,n):
result *= i
return result
print(fn(20)) 2432902008176640000
10! = 10* 9!
9! = 9*8!
8! = 8 *7!
....
1!= 1
def fn2(n):
#引數 你要求階乘的數字
#1.基線條件
if n == 1:
#1的階乘就是1,直接返回結果
return 1
#2遞迴條件
retutn n * fn2(n-1)
print(fn2(10)) 3628800
第一乙個函式來計算任意數的冪運算
def fn(n,i):
#1 基線條件 i =1 返回值你
if i== 1:
return n
return n * fn(n,i-1)
print(fn(6,5)) 7776
python語法之filter 函式
filter 函式是 python 內建的另乙個有用的高階函式,filter 函式接收乙個函式 f 和乙個list,這個函式 f 的作用是對每個元素進行判斷,返回 true或 false,filter 根據判斷結果自動過濾掉不符合條件的元素,返回由符合條件元素組成的新list。例如,要從乙個list...
python語法之map 函式
將乙個function作用於sequence中每個元素身上,最後返回這個被function作用後的list。在python3中map被封裝成了乙個類,功能依舊是將function作用於要被遍歷的序列,但是最後返回的結果就是乙個物件了。通過 舉乙個將int轉換為float的例子 if name mai...
二 python語法之內置函式
目錄 輸入 name input 請輸入您的姓名 返回字串 輸出 print hello name 格式化輸出 print 2d 02d 1,1 1 01 print a 1,sep end a,1 format格式化輸出 print format a b a,b print format a a ...