日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

13装饰器和内置函数

發(fā)布時間:2023/11/27 生活经验 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 13装饰器和内置函数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

裝飾器

# 1.裝飾用的工具# import time        ?#內(nèi)置函數(shù)計算函數(shù)運(yùn)行時間
# print(time.time())# import time
# def func():
#     start_time = time.time()  # 代碼運(yùn)行之前的時間
#     print('這是一個func函數(shù)')
#     time.sleep(3)  # 阻塞,睡一下, 1 是睡一秒
#     print(time.time() - start_time)  # 代碼運(yùn)行后的時間
# func()# import time
# def func():
#     print('這是func函數(shù)')
#     time.sleep(1)
#
# def func1():
#     print('這是func1函數(shù)')
#     time.sleep(2)
#
# def func2():
#     print('這是func2函數(shù)')
#     time.sleep(3)
#
# def times():
#     start_time = time.time()  # 代碼運(yùn)行之前的時間
#     func2()
#     print(time.time() - start_time)  # 代碼運(yùn)行后的時間
# times()# import time
# def func():
#     def inner():
#         time.sleep(2)
#         print('這是inner函數(shù)')
#     return inner
# inner = func()
# inner()# 開放封閉原則:# 開放對擴(kuò)展# 封閉修改源代碼# 改變了人家調(diào)用方式
裝飾器在不改變原程序上增加新功能,及可拓展# def warpper(): # print('這是新功能!') # func() # # def func(): # print(1) # # warpper()# def func(): # print('這是主功能') # # def warpper(f): # print('這是新功能!') # return f # func = warpper(func) # func()# def func(): # 我 # print('這是主功能!') # # def warpper(f): # 太白 # def inner(): # f() # print('這是新功能!') # # 擴(kuò)展的功能 # return inner # func = warpper(func) # func() # import time # def func(*args,**kwargs): # 我 # print(args) # print('這是主功能!') # time.sleep(1) # # def warpper(f): # 太白 # def inner(*args,**kwargs): # 帶點(diǎn)禮 # start_time = time.time() # f(*args,**kwargs) # end_time = time.time() # print('%s函數(shù)的運(yùn)行時間:%s'%(f.__name__,end_time - start_time)) # # 擴(kuò)展的功能 # return inner # func = warpper(func) # 問太白 # func(5) # 帶的禮進(jìn)去了import time# def warpper(f): # 接受被裝飾的函數(shù)內(nèi)存地址 # def inner(*args,**kwargs): # 接受被裝飾函數(shù)的參數(shù) # start_time = time.time() # 新功能 # ret = f(*args,**kwargs) # 調(diào)用被裝飾的函數(shù),被裝飾參數(shù)帶上 # end_time = time.time() # print('%s函數(shù)的運(yùn)行時間:%s'%(f.__name__,end_time - start_time)) # return ret # 被裝飾的函數(shù)返回值 # return inner # # @warpper # func = warpper(func) 語法糖 # def func(*args,**kwargs): # print(args) # 打印被裝飾的函數(shù)參數(shù) # print('這是主功能!') # time.sleep(1) # return '大媽' # 返回值 # ret = func(5) #ret = func(5) == inner(5) 返回值 func(5) # print(ret) # 被裝飾的函數(shù)返回值# def func(a): # """ # 被裝飾的函數(shù) # :return: # """ # print(a) # 1 # print('我是被裝飾的函數(shù)') # # # def warpper(f): # 接受一個被裝飾的函數(shù)內(nèi)存地址 # f == <function func at 0x0000023D5CE31E18> # def inner(a): # 接受一個被裝飾的函數(shù)的參數(shù) a = 1 # print('這是被裝飾的函數(shù)調(diào)用之前') # print(f.__name__) # func # f(a) # 調(diào)用被裝飾的函數(shù) f(1) == func(1) # print('這是被裝飾的函數(shù)調(diào)用之后') # return inner # # func = warpper(func) # 這樣要滿足人家規(guī)定的不改表調(diào)用方式 # # func == <function warpper.<locals>.inner at 0x000001BAC19D99D8> # print(func.__name__) # func = inner函數(shù) # func(5) # 調(diào)用inner函數(shù) func(1) == inner(1) # # print(func)# def warpper(f): # 接受一個被裝飾的函數(shù)內(nèi)存地址 # f == <function func at 0x0000023D5CE31E18> # def inner(a): # 接受一個被裝飾的函數(shù)的參數(shù) a = 1 # start_time = time.time() # print('這是warpper') # func # f(a) # 調(diào)用被裝飾的函數(shù) f(1) == func(1) # print('這是warpper') # return inner # # # def auto(f): # 接受一個被裝飾的函數(shù)內(nèi)存地址 # f == <function func at 0x0000023D5CE31E18> # def inner(a): # 接受一個被裝飾的函數(shù)的參數(shù) a = 1 # start_time = time.time() # print('這是auto') # func # f(a) # 調(diào)用被裝飾的函數(shù) f(1) == func(1) # print('這是auto') # return inner # # def login_auot(f): # 接受一個被裝飾的函數(shù)內(nèi)存地址 # f == <function func at 0x0000023D5CE31E18> # def inner(a): # 接受一個被裝飾的函數(shù)的參數(shù) a = 1 # start_time = time.time() # print('這是login_auto') # func # f(a) # 調(diào)用被裝飾的函數(shù) f(1) == func(1) # print('這是login_auto') # return inner # # # @warpper # func = warpper(func) # @login_auot # func = login_auto(func) # @auto # def func(a): # print(1) # # func(1)# 執(zhí)行的時候 從最上層裝飾器開始執(zhí)行 中間執(zhí)行被裝飾的函數(shù) 返回的時候是從下往上走# @warpper # 使用規(guī)范,裝飾放在被裝飾的函數(shù)離它最近正上方 # def func(a): # print('這是登錄') # func(5) # # @warpper # def reg(a): # print('這是注冊') # # reg(3) # # def index(): # print('這是主頁')# index()# from functools import wraps # # def warpper(f): # @wraps(f) #顯示被裝飾的函數(shù) # def inner(*args,**kwargs): # # print(f.__name__) # print(f) # return inner # # # def aa(): # print(1) # aa = warpper(aa) # print(aa.__name__) # 顯示被裝飾的函數(shù)名# def warpper(f): # 接受一個被裝飾的函數(shù)內(nèi)存地址 # f == <function func at 0x0000023D5CE31E18> # def inner(a): # 接受一個被裝飾的函數(shù)的參數(shù) a = 1 # start_time = time.time() # print('這是warpper') # func # f(a) # 調(diào)用被裝飾的函數(shù) f(1) == func(1) # print('這是warpper') # return inner# @warpper # def func(): # print(1) # func()# def func(): # print(1) # func = warpper(func) # func()

?

什么是內(nèi)置函數(shù)? 就是python給你提供的. 拿來直接用的函數(shù), 比如print., input等等.

截止 到python版本3.6.2 python一共提供了68個內(nèi)置函數(shù). 有 一些我們已經(jīng)用過了. 有一些還沒有用過. 還有一些需要學(xué)完了面向?qū)ο蟛拍芾^續(xù)學(xué)習(xí)的.

今 天我們就認(rèn)識一下python的內(nèi)置函數(shù).

# 1.記住怎么用# print(abs(-98))          # 求絕對值  正的負(fù)的 出來后全都是正的  **# print(all([1,0,3,4]))    # all 判斷元素中都為真的才是真  *# print(any([1,False,0]))  # any 判斷元素中只要有一個為真就是真 *# print(ascii('你'))       #  查看元素對應(yīng)的內(nèi)容# print(bin(10))           # 將10進(jìn)制轉(zhuǎn)行2進(jìn)制       **# print(bool([1]))         # 將內(nèi)容轉(zhuǎn)換成布爾值# b = bytearray('meet'.encode('utf-8'))
# # 返回一個新的元組,元組可以切片,切片的內(nèi)容對應(yīng)的ascii表
# print(b[3])# print(bytes('你',encoding='utf-8'))                *
# print('你'.encode('utf-8'))# def func():
#     pass
#
# print(callable(func))   # 檢查這個對象是否可以調(diào)用          **# print(chr(65))  # 輸入數(shù)字,返回對應(yīng)的ascii表位上對應(yīng)的內(nèi)容   **# a = compile('input(">>>")','','exec')
# exec(a)# print(complex(8))  # 復(fù)數(shù)             *# print(dict(key=1,name=2))# print(dir([1,2]))  # 查看對象的所有方法     ***# print(divmod(5,2))   # 返回一個元組,元組的第一個元素是商,第二個元素是余數(shù)  **# print(enumerate)   # 枚舉# li = [1,2,3,4,5,6,7]
#
# for i,em in enumerate(li,1):  # enumerate不寫值默認(rèn)是0         ****
#     # enumerate  第一個參數(shù)是可迭代對象,第二參數(shù)是計數(shù)
#     print(i,em)# s = """9+4+3"""    # 將字符串中內(nèi)容執(zhí)行
# print(eval(s))     # 上班以后禁止使用# li = [1,23,4,]
# s = """
# def func():
#     print(1)
# func()
# """
# g = exec(s)
# print(g)
# print(li)         # 公司非常禁止# print(float(20))# i = 3.56
# print(int(i))# python3  6 / 3  2.0
# python2  6 / 3  2# 's'.format()  # 字符串的方法
# print(format('a','>10'))      # 公用函數(shù)  右對齊
# print(format('a','<10'))      # 公用函數(shù)  左對齊
# print(format('a','^10'))      # 公用函數(shù)  居中# print(format(3,'b'))# print(format(3,'08b'))  # 00000011   二進(jìn)制
# print(format(3,'o'))    # 八進(jìn)制
# print(format(3,'x'))    # 八進(jìn)制# a = 1
# def func():
#     pass# print(globals())  # 查看全局都哪些內(nèi)容            **
# print(b)
# print(globals().get('b'))# dic = {[1,2,3]:1}
# print(hash([1,2,3]))  #求對象的哈希值             *# print(help(input))      # 不知道怎么用的時候可以使用help查看一下# print(hex(33))           #  將10進(jìn)制轉(zhuǎn)換成16進(jìn)制  *# print(id('s'))             # 查看數(shù)據(jù)的內(nèi)存地址   ***# print(input(">>>"))         # 獲取用戶輸入的內(nèi)容  *****# print(int())                  # 將數(shù)據(jù)轉(zhuǎn)換成整型    *****# print(isinstance([1,2,3],str))   #判斷這個數(shù)據(jù)時什么類型  ***# iter                             # 判斷是不是可迭代對象   ***# len()                              # 獲取數(shù)據(jù)的長度     *****# list()                              # 轉(zhuǎn)換成一個列表  ***# def func():
#     a = 1
#     print(locals())  # 查看局部空間的內(nèi)容       ***
#
# func()# print(max(1,2,3,4,5))   # 求最大值              ***# print(min(1,2,3,4))       # 求最小值            ***# print(memoryview(b'a'))        # 查看字節(jié)的內(nèi)存地址# print(next())               # 迭代器中的取下一個值  ***# print(oct(9))                 # 將10進(jìn)制轉(zhuǎn)換成8進(jìn)制  **# open(文件名,對這個文件要操作的模式,編碼)# '你好'.encode('utf-8')
# coding:utf-8# print(ord('中'))     # 輸入的是unicode編碼的內(nèi)容    **
# print(chr(20013))    # 輸入的是unicode的內(nèi)容        **# print(pow(2,3))  #兩個參數(shù)的時候求冪運(yùn)算
# print(pow(2,3))    #三個參數(shù)的時候先求冪運(yùn)算在取余# print('你好','我好',sep=' ',end='')
# print('大家好')# print('你好',file=open('a','w',encoding='utf-8'))# print('123')         # 是處理后給你顯示的    *****
# print(repr('123'))   # 顯示的是原數(shù)據(jù)        ***# print(list(reversed()))  # 反轉(zhuǎn) 元組,列表,字符串    ****# print(round(5.472343212,3))   #四舍五入      ***# li = [1,2,3,4]
# # s = slice(2)   #切片
# print(li[3])# print(sum({1:4,2:5}))   #求和     ***# print(type('aasas'))    # 獲取數(shù)據(jù)類型# print(vars(str))
# print(locals())# li = [1,2,3,4]
# ls = [5,6,7,4,5,6]
# lst = ['a','b','c','d','e']
# print(list(zip(li,ls,lst)))  #拉鏈                  ****# __import__('time')   # 導(dǎo)入的方式 ---- > 反射# 重要的:*************************************************# 匿名函數(shù):# lambda 關(guān)鍵字  x參數(shù):x是返回值
# 一行函數(shù) 用于簡單需求
# print((lambda x:x)(5))
# lambda 的返回值只能是一個# f = lambda x,y:x*y
# print(f.__name__)     #<lambda>
# print(f(5,6))# print(sorted([7,2,3,4],reverse=True))# li = ['你好啊','我好','大家都挺好']# def func(li):
#     return len(li)
# print(sorted(li,key=func)) # key指定一個排序的規(guī)則# print(sorted(li,key=lambda x:len(x)))# li = [
#     {'age':19},
#     {'age':52},
#     {'age':48},
#     {'age':30},
# ]# def func(li):
#     return li['age']
# print(sorted(li,key=func))# print(sorted(li,key=lambda x:x['age']))# li = [1,2,3,4]
#
# def func(a):
#     if a > 2:
#         return a
# print(list(filter(func,li)))# def func(li):
#     for i in li:
#         if i > 2:
#             print(i)
#
# func(li)# li = [1,2,3,4]
#
# print(list(filter(lambda x:x>2,li)))# li = [1,2,3,4,5]
#
# def func(i):
#     return i+10
# print(list(map(func,li)))  #映射# li = [1,2,3,4,5]
# print(list(map(lambda x:x+10,li)))# from functools import reduce
#
# li = [1,2,3,4,5]
#
# def func(x,y):        # x=12345
#     return x*10+y     # reduce 是做累計算的
# print(reduce(func,li))

?

轉(zhuǎn)載于:https://www.cnblogs.com/xiaozhu1993/p/10554309.html

總結(jié)

以上是生活随笔為你收集整理的13装饰器和内置函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。