Python 裝飾器之前奏

2021-08-30 21:45:39 字數 1113 閱讀 2383

如果要學習什麼是裝飾器,那麼就要先知道裝飾器的構成,可以說裝飾器是由以下三方面構成,分別為:

說是作用域,其實就是在python中的l_e_g_b的查詢順序,看**吧

a = abs(-2)              #abs是python內建的函式,其實這時的abs()就相當於是乙個built-in變數

b = 3 #這就相當於是乙個global變數

def one_function():

c = 1 #這就是乙個enclosing變數

def two_function():

d = -1 #這就是乙個local變數

e = c+b

return e

#比如說在函式two_function中,變數d中呼叫b,就會先在自身的函式中查詢b這個變數,如果未查找到,則會進入上一層函式中進行查詢,即one_function函式中查詢b這個變數。

#查詢到時被呼叫.如果未查找到,則會進入全域性變數進行查詢.

關於裝飾器的第二個方面就是關於高階函式

首先來說說高階函式的條件:

1、函式名可以進行賦值。

2、函式名可以作為函式引數,還可以作為函式的返回值。

#首先建立乙個函式

def add(x,y,f):

return f(x)+f(y)

#然後我們呼叫這個函式

add(-5,9,abs) #14

#等價於abs(-5)+abs(9)

接下來說一說閉包

#接下來說一說閉包,首先我們建立乙個函式

def foo3():

def inner():

return 8

return inner

#在這個函式中,我們如何得到8這個值呢,

foo3()()

8 inner()

traceback (most recent call last):

file "", line 1, in nameerror: name 'inner' is not defined

1 設計模式之前奏

一 設計模式的分類 總體來說設計模式分為三大類 建立型模式 共五種 工廠方法模式 抽象工廠模式 單例模式 建造者模式 原型模式。結構型模式 共七種 介面卡模式 裝飾器模式 模式 外觀模式 橋接模式 組合模式 享元模式。行為型模式 共十一種 策略模式 模板方法模式 觀察者模式 迭代子模式 責任鏈模式 ...

串列埠程式設計之前奏篇

眾所周知嵌入式系統之間採用通訊方式交換資料,由於各類cpu均整合了uart部件。所以序列通訊是一種最基本的通訊手段。因此,我們也對它進行深入的了解 1.通訊協議設計 在進行通訊時,每次需要傳送的資訊一般超過1位元組。為此,通訊雙方必須約定通訊資料的排列格式,即通訊協議。通常把一次通訊過程的全部內容稱...

python裝飾器 Python 裝飾器

簡言之,python裝飾器就是用於拓展原來函式功能的一種函式,這個函式的特殊之處在於它的返回值也是乙個函式,使用python裝飾器的好處就是在不用更改原函式的 前提下給函式增加新的功能。一般而言,我們要想拓展原來函式 最直接的辦法就是侵入 裡面修改,例如 這是我們最原始的的乙個函式,然後我們試圖記錄...