bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

Python中的裝飾器Decorators的使用方法

本篇文章給大家分享的是有關(guān)Python中的裝飾器 Decorators的使用方法,小編覺得挺實用的,因此分享給大家學(xué)習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

縉云ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

python的五大特點是什么

python的五大特點:

1.簡單易學(xué),開發(fā)程序時,專注的是解決問題,而不是搞明白語言本身。

2.面向?qū)ο?,與其他主要的語言如C++和Java相比, Python以一種非常強大又簡單的方式實現(xiàn)面向?qū)ο缶幊獭?/p>

3.可移植性,Python程序無需修改就可以在各種平臺上運行。

4.解釋性,Python語言寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序。

5.開源,Python是 FLOSS(自由/開放源碼軟件)之一。

def my_logging(func):
   def wrapper():
       print('logging - {} is running'.format(func.__name__))
       func()  # run func()  Equivalent run f1()

   return wrapper


def bold(func):
   def wrapper():
       print("<b>")
       func()
       print("</b>")

   return wrapper


def italic(func):
   def wrapper():
       print("<i>")
       func()
       print("</i>")

   return wrapper


@my_logging
@bold
@italic
def f1():
   print("f1")


f1()

其實上面這段 code 也相當這樣的

def my_logging(func):
   def wrapper():
       print('logging - {} is running'.format(func.__name__))
       func()  # run func()  Equivalent run f1()

   return wrapper


def bold(func):
   def wrapper():
       print("<b>")
       func()
       print("</b>")

   return wrapper


def italic(func):
   def wrapper():
       print("<i>")
       func()
       print("</i>")

   return wrapper


def f1():
   print("f1")


f1 = my_logging(bold(italic(f1)))
f1()

這邊只需要稍微注意一下執(zhí)行的順序????,剛剛的 f1() 是沒有帶入?yún)?shù)的,今天假如我希望帶入?yún)?shù)呢?

def my_logging(func):
   def wrapper(*args, **kwargs):
       print('logging - {} is running'.format(func.__name__))
       func(*args, **kwargs)

   return wrapper


@my_logging
def f1(*args, **kwargs):
   print("f1")

   for thing in args:
       print('hello {}'.format(thing))

   for name, value in kwargs.items():
       print('{0} = {1}'.format(name, value))


f1('twtrubiks', apple='fruit', cabbage='vegetable')

使用 *args **kwargs 這樣寫的話,不管 f1() 帶入什麼參數(shù)都不用擔心????。裝飾器還有更大的彈性,像是今天如果我希望將裝飾器帶入?yún)?shù)。

def my_logging(level):
   def decorator(func):
       def wrapper(*args, **kwargs):
           if level == "1":
               print('level {} logging - {} is running'.format(level, func.__name__))
           elif level == "2":
               print('level {} logging - {} is running'.format(level, func.__name__))

           func(*args, **kwargs)

       return wrapper

   return decorator


@my_logging(level="1")
def f1(*args, **kwargs):
   print("f1")

   for thing in args:
       print('hello {}'.format(thing))

   for name, value in kwargs.items():
       print('{0} = {1}'.format(name, value))


f1('twtrubiks', apple='fruit', cabbage='vegetable')

這邊簡單說明,就是為了要將裝飾器帶入?yún)?shù),我們必須再包一層。

以上就是Python中的裝飾器 Decorators的使用方法,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


新聞標題:Python中的裝飾器Decorators的使用方法
分享URL:http://vcdvsql.cn/article8/gjioop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、動態(tài)網(wǎng)站網(wǎng)站策劃App開發(fā)、企業(yè)網(wǎng)站制作、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管