day5学python 基础+装饰器内容
生活随笔
收集整理的這篇文章主要介紹了
day5学python 基础+装饰器内容
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
基礎(chǔ)+裝飾器內(nèi)容
遞歸特性# 1.必須有一個明確的結(jié)束條件
# 2.每次進入更深一層遞歸時,問題規(guī)模相比上次遞歸應有所減少
# 3.遞歸效率不高 def run(n):print(n)if int(n/2)>0:return run(n / 2)print("-->",n) run(10)
?
=============================================================
局部變量與全局變量知識
1.全局變量中 數(shù)字/字符串不能在函數(shù)中修改 列表和字典可以修改
names=["xiao","mibg","ming"] def change():names[0]="cf"print(names) change() print(names)?
==============================================================
函數(shù)即”變量“! (函數(shù)名-代表函數(shù)地址 || 函數(shù)名()-代表調(diào)用函數(shù))
高階函數(shù)
1 把一個函數(shù)名當作實參傳給另一個函數(shù)(在不修改被裝飾函數(shù)源代碼的情況下為其添加功能)
2 返回值中包含函數(shù)名(不修改函數(shù)的調(diào)用方式)
?
==============================================================
裝飾器
高級函數(shù)+嵌套函數(shù)==>裝飾器 #嵌套函數(shù)-函數(shù)套著函數(shù)# 定義:本質(zhì)是函數(shù),(裝飾其他函數(shù))為其他函數(shù)添加附加功能
# 原則: 1.不能修改被裝飾的函數(shù)的源代碼
# 2.不能修改被裝飾的函數(shù)的調(diào)用方式
?
import timeuser,word="cf","123" def auth(auth_type): print("auth_type",auth_type)def out_wrapper(func): def wrapper(*args,**kwargs):if(auth_type=="local"):usename=input("usename:").strip()psword= input("psword:").strip()if(user==usename and psword==word):print("\033[32;1m HI boy \033[0m")func(*args,**kwargs)else:exit("failed")elif(auth_type=="ldap"):func()return wrapperreturn out_wrapper def index():print("index")@auth(auth_type="local") #home=auth(local)==>wrapper() def home():print("home") @auth(auth_type="ldap") def bbs():print("bbs")index() home() bbs()?
轉(zhuǎn)載于:https://www.cnblogs.com/cc123nice/p/10468446.html
總結(jié)
以上是生活随笔為你收集整理的day5学python 基础+装饰器内容的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: # 2019-2020.3 《java程
- 下一篇: sublime python配置运行