一、函式的返回值可以通過人return 來指定函式的返回值
用乙個變數來接收返回值
return 後面跟什麼值,函式就會返回什麼值
# 在函式中return後的**都不會被執行,return一旦執行,函式自定結束
例如: print('jaaj')
return '3'
print('123')
print(fn) # fn是函式物件,列印fn 就是在列印函式物件,
print(fn()) # fn() 是在呼叫函式,列印fn() 實際上就是在列印fn()的返回值
二、函式的作用域(scope): 作用域指的是變數生效的區域
scope = locals() # 要獲取函式內部的命名空間
# globals() # 這個函式可以在任意位置獲全域性的取命名空間
遞迴函式-- - -- - - - - - - - - - - -- - - -
遞迴:自己去引用自己
遞迴函式就是在函式中呼叫自己
遞迴是解決問題的一種方式
整體思想就是將乙個大問題分解為乙個乙個的小問題,直到問題無法分解時在去解決問題
# 遞迴函式的兩個條件
1.基線條件 問題可以被分解為最小的問題,當滿足基線條件時,遞迴就不在執行了
2.遞迴條件 將問題繼續分解的條件
3.用遞迴方法求階乘:
def fn2(n):
# 引數n 要求階乘的數字
# 基線條件 判斷n為1的時候,就不遞迴了
if n == 1:
return 1
# 遞迴條件
return n * fn2(n-1)
print(fn2(10))
4.定義乙個函式,來為任意數字做任意冪運算
def fn1(n,i):
# 基線條件
if i == 1:
return n
# 遞迴條件
return n * fn1(n,i-1)
print(fn1(5,8))
5.先檢查最後乙個字元和第乙個字元是否相等,如果不是,一定不是回文
def fn2(s):
# 引數s 要檢查的字串
# 基線條件
if len(s) < 2:
# 字串的長度小於2,一定是回文
return true
elif s[0] != s[-1]:
# 不是回文
return false
# 遞迴條件
return fn2(s[1:-1])
print(fn2('abcdefedcba'))
Python函式練習
def upperandlowercount str upper count,lower count 0,0for i in str if i.isupper upper count 1elif i.islower lower count 1else continue return upper co...
Python 函式 練習
def sum args val 0 for i in args val i val return val a 10 b 20 def test a,b print a,b c test b,a print c a 20,b 10 c none 因為函式中沒有return,因此返回的是none a ...
python 類的練習及內建函式過載
有關python類的練習題 定義乙個n維向量類 1 建立乙個初始化向量的成員函式 2 過載格式化輸出函式 3 將向量的模裝飾成屬性函式 4 過載向量加法運算 5 過載向量減法運算 6 求兩向量的點積 7 給出測試主程式 具體 如下 class vector 建立成員函式 def init self,...