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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

47 单例模式 和装饰器

發布時間:2025/3/20 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 47 单例模式 和装饰器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.裝飾 器?

  不改變被裝飾函數原來的執行方式 給原函數增加一些額外的功能,登錄驗證,打印日志,測試效率等。

?

1.簡單版裝飾器

import?time

#裝飾器
def
timer(f) :def inner():#被裝飾函數執行前 要做的事情
start_time = time.time()res = f() #被裝飾的函數#被裝飾函數執行后 要做的事情end_time = time.time()print("函數執行時間:",end_time-start_time)return resreturn inner @timer #相當于 func = timer(func)
#被裝飾函數
def func(x,y):
  print(x+y)
  return x+y

func()

2.帶參數的裝飾器

  帶參數裝飾器一? ?:控制裝飾器的關和開

# 帶參數的裝飾器 可以同時控制裝飾器的啟用和關閉 import time def timmer(flag):def wrapper(f):def inner(*args, **kwargs):if flag:start_time = time.time()ret = f(*args, **kwargs)end_time = time.time()print('執行時間%s' % (end_time-start_time))return retelse:ret = f(*args, **kwargs)return retreturn innerreturn wrapperflag1 = False @timmer(flag1) # 第一步,將@ 與后面 分開,只是單純的執行timmer(flag1)函數 第二步 將@ 與 wrapper相結合,形成裝飾器 def func1():time.sleep(0.3)print('in func1')@timmer(flag1) def func2():time.sleep(0.3)print('in func2')@timmer(flag1) def func3():time.sleep(0.3)print('in func3')func1() func2() func3()

  帶參數裝飾器二 :?

# 做一個帶參數的裝飾器: # 訪問JD JD_shop 輸入京東的賬號密碼 # 訪問taobao tianmao_shop() 輸入支付寶的賬號密碼 status = {"username":None,"京東":False,"淘寶":False } def login(flag):def wapper(f):def inner(*args,**kwargs):if status[flag]:res = f(*args,**kwargs)return reselse:print("-----登錄頁面-------")username = input("請輸入用戶名:").strip()password = input("請輸入密碼:").strip()with open(flag,"r",encoding="utf-8") as f1:for line in f1:user,pwd = line.strip().split("|")if user.strip() == username and password == pwd.strip():status [flag] = Trueprint("登錄成功!")res = f(*args, **kwargs)return reselse:print("登錄失敗!")return innerreturn wapper@login('京東') def JD():print("-----歡迎進入京東首頁!------") @login('京東') def JD_shop():print("-----歡迎進入京東商店!------")@login('淘寶') def taobao():print("-----歡迎進入淘寶首頁!------") @login('淘寶') def tianmao_shop():print("-----歡迎進入天貓超市!------")JD() JD_shop() taobao() tianmao_shop()

?

3. 多個裝飾器,裝飾同一個函數

#多個裝飾器 裝飾一個函數def wrapper1(func): # func == f 函數名def inner1():print('wrapper1 ,before func') # 2 func()print('wrapper1 ,after func') # 4return inner1def wrapper2(func): # func == inner1def inner2():print('wrapper2 ,before func') # 1 func()print('wrapper2 ,after func') # 5return inner2# 就近原則 @wrapper2 # f = wrapper2(f) 里面f == inner1 外面的f == inner2 @wrapper1 # f = wrapper1(f) 里面的f == 函數名f 外面的f == inner1 def f():print('in f') # 3 f() # inner2()

二. 單例模式

#單例模式 :只能創建同一個實例對象 class A:def __new__(cls, *args, **kwargs):print(111)obj = object.__new__(cls)return objdef __init__(self):print(222) obj1 = A()class A:__instance = Nonedef __new__(cls, *args, **kwargs):if A.__instance is None:obj = object.__new__(cls)A.__instance = objreturn A.__instance obj1 = A() obj2 = A() obj3 = A() obj4 = A() print(obj1) print(obj2) print(obj3) print(obj4)

?

轉載于:https://www.cnblogs.com/knighterrant/p/10159182.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的47 单例模式 和装饰器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 淫片一级国产 | 一区二区三区视频免费 | 少妇激情视频 | 三级黄色片免费观看 | 国产精品免费看久久久无码 | 亚洲精品在线观看av | av噜噜在线观看 | 欧美啪啪网站 | 国产区小视频 | 午夜视频在线免费播放 | 把高贵美妇调教成玩物 | av免费观看网站 | www.国产色| 72pao成人国产永久免费视频 | 欧美人与性动交ccoo | 蜜臀久久99精品久久久画质超高清 | 大香蕉视频一区二区 | 丁香八月婷婷 | 狠狠干在线 | 青青在线免费观看 | 国产人妖在线视频 | 成人免费看 | 黄色片视频免费看 | 日韩六九视频 | 精品久久久久久久久久久久久久 | 国产人妻人伦精品1国产丝袜 | 国产精品无码一区二区桃花视频 | 美女视频黄色免费 | 白丝美女被草 | 国产精品无码成人片 | 色多多视频在线观看 | www.四虎影视| 一本到久久 | 日本久久久久久久久久久 | 午夜一区二区三区四区 | 丁香七月婷婷 | 91精品国产成人观看 | 日本高清视频一区二区三区 | 国产三级国产精品 | 九九精品视频在线观看 | 全黄毛片| www国产亚洲精品久久网站 | 自拍偷拍中文字幕 | 欧美精品一区二区蜜臀亚洲 | 狠狠撸视频 | 日本一区二区视频在线观看 | 殴美一区二区 | 91九色论坛 | 毛片直接看 | 亚洲av成人一区二区 | 日韩欧美精品中文字幕 | 女人的洗澡毛片毛多 | 欧美一级黄 | gai视频在线观看资源 | 91免费网址 | 在线看黄免费 | 欧美日韩不卡一区二区三区 | 色婷婷成人网 | 精品久久在线观看 | 一级少妇女片 | 一区在线观看视频 | 久久人爽 | 强videoshd酒醉| 九九热最新 | av在线播放器 | 大地资源在线观看免费高清版粤语 | 丝袜制服影音先锋 | 欧美狠狠 | 乱一色一乱一性一视频 | 男人的影院 | 91成人免费观看 | 一二三四av | 婷婷深爱激情 | 亚洲一区二区三区四区av | 欧美成人视屏 | 伊人久久狼人 | 夜夜操女人 | 禁断介护av一区二区 | 超碰在线伊人 | 欧美熟妇精品久久久久久 | 国产日日操 | 国产精品一区二区三区免费 | 肉色丝袜脚交一区二区 | 精品久久久无码中文字幕边打电话 | 免费一区二区三区 | 色哟哟网站| 国产美女主播在线观看 | 九七超碰在线 | 深夜视频在线 | 午夜视频福利在线 | 欧美精品黄 | 亚洲欧洲一区二区 | 久热热 | 91久久国产综合久久91精品网站 | 免费毛片软件 | 亚洲色诱| 欧美视频区 | 可以直接在线观看的av | 乖女从小调教h尿便器小说 欧美韩一区二区 |