国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

python 裝飾器 遞歸函數 記錄

2019-11-14 12:28:44
字體:
來源:轉載
供稿:網友
第一步:簡單實現裝飾器def login(func): 第二步:同上 效果相同,但是使用的是@logindef login(func): print("in Login") return func@logindef tv(name): print("{name} in TV".format(name = name))#tv = login(tv)tv('Jack')# out:# in Login# Jack in TV

但是出現問題,注銷最后的執行語句仍有輸出,原因在于@login的調用,即@login相當于執行了tv = login(tv) 所以才有輸出。

def login(func): print("in Login") return func@logindef tv(name): print("{name} in TV".format(name = name))#tv = login(tv)#tv('Jack')# out:# in Login

如下調整可解決

def login(func): def inner(arg): print("in Login") # return func func(arg) return inner@logindef tv(name): print("{name} in TV".format(name = name))#tv = login(tv)tv('Jack')# out:# in Login# Jack in TV

簡單的遞歸函數

#!/usr/bin/env python#遞歸函數def calc(num): print("Number:",num) if num/2 > 1: calc(num/2) print("After Number:",num/2)calc(10)# Number: 10# Number: 5.0# Number: 2.5# Number: 1.25# After Number: 1.25# After Number: 2.5# After Number: 5.0

遞歸實現斐波那契數列

# Fibonacci sequence# F[n]=F[n-1]+F[n-2](n>=2,F[0]=1,F[1]=1)# 斐波那契數列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...fibList = [1,1]def getFib(fibList): print(fibList) if fibList[-1] + fibList[-2] < 300: fibList.append(fibList[-1] + fibList[-2]) getFib(fibList) pass passgetFib(fibList)print("[FINAL]:",fibList)# [1, 1]# [1, 1, 2]# [1, 1, 2, 3]# [1, 1, 2, 3, 5]# [1, 1, 2, 3, 5, 8]# [1, 1, 2, 3, 5, 8, 13]# [1, 1, 2, 3, 5, 8, 13, 21]# [1, 1, 2, 3, 5, 8, 13, 21, 34]# [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]# [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]# [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144]# [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233]# [FINAL]: [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233]
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安西县| 涟水县| 崇信县| 金乡县| 辛集市| 安平县| 吉木萨尔县| 泰和县| 炎陵县| 沧州市| 贵溪市| 开平市| 西丰县| 武胜县| 南岸区| 汾西县| 云安县| 嵩明县| 桐柏县| 罗源县| 高邑县| 泰顺县| 紫云| 沭阳县| 满洲里市| 双柏县| 隆德县| 永康市| 麻城市| 阳山县| 文昌市| 田东县| 来宾市| 林甸县| 江都市| 工布江达县| 新龙县| 莎车县| 寿阳县| 杨浦区| 四川省|