python Day5
###裝飾器
'''
def f1(arg):
???????? #print 'auth'
???????? arg()
????????
def func():
???????? print '123'
????????
f1(func)
'''
?
def auth(arg):
??? def inner(arg1):
??????? print "hello %s" % arg1
??????? arg()
??? return inner
?
@auth????? #裝飾器執行了2步? 第一步將a1代入到函數auth(a1)? 第二步將結果retur給a1=auth(a1)
def a1():
??? print "a1"
?
'''
a1()
print inner
print auth(a1)
a1 = auth(a1)
'''
a1('a2')
?
==================================================================
def login(key):
??? localkey = 'aassdd123'
??? if localkey == key:
??????? return True
??? else:
??????? return False
?
?
def auth(func):
??? def inner(*args,**kwargs):
??????? userkey = kwargs.pop('token')
??????? re_login = login(userkey)
??????? if not re_login:
??????????? print 'error'
??????????? return 'error'
??????? print 'before'
??????? temp = func(*args,**kwargs)
??????? print 'after'
??????? return temp
?
??? return inner
?
@auth
def flist(*args,**kwargs):
??? slist = ['11','22','33']
??? print slist
??? return slist
?
#a1()
#a1 = auth(a1)
#print a1
?
key = 'aassdd123'
flist('a2',token=key)
?
?
1 裝飾器是一個函數
2 執行裝飾函數 代入被裝飾函數 并將返回結果重新賦值于被裝飾函數
3 動態參數,可以裝飾含有N個參數的函數
4 函數返回值
5 多裝飾器? 盒子模型
6 至少三層
?
?
###遞歸
def shulie(a1,a2):
??? if a1 == 0:
??????? print a1
??????? print a2
??? a3 = a1 + a2
#??? print a3
??? ll.append(a3)
??? if a3 >= 1000:
?#?????? print a3
??????? return a3
#??? print ll
??? return shulie(a2,a3)
ll = [0,1]
print shulie(0,1)
#print ll
?
###模塊
實現某功能,且是實現的所有代碼的集合
存在方式 1 py文件? 2 文件夾 包含__init__.py
import sys
sys.argv
?
from sys import argv
argv
?
from sys import argv as alias
alias?? ===> argv
?
#模塊的默認路徑
import sys
sys.path
?
轉載于:https://www.cnblogs.com/plzros/p/5002109.html
總結
以上是生活随笔為你收集整理的python Day5的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS开发 -------- AFNet
- 下一篇: 用python做自己主动化測试--绘制系