函式名 裝飾類

2022-07-10 12:18:13 字數 723 閱讀 9090

今天看到**@加乙個函式名不知道是什麼意思,所以來記錄一下

這是es6的乙個新特性 類的裝飾器

裝飾器可以用來裝飾整個類。

@testable

class mytestableclass

function

testable(target)

mytestableclass.istestable

//true

上面**中,@testable就是乙個裝飾器。它修改了mytestableclass這個類的行為,為它加上了靜態屬性istestabletestable函式的引數targetmytestableclass類本身。

基本上,裝飾器的行為就是下面這樣。

@decorator

class a {}

// 等同於

class a {}

a = decorator(a) || a;

也就是說,裝飾器是乙個對類進行處理的函式。裝飾器函式的第乙個引數,就是所要裝飾的目標類。

function testable(target)

上面**中,testable函式的引數target,就是會被裝飾的類。

函式名用途,初始裝飾器

函式名的使用,第一類物件 單獨的函式名 函式這個整體,加括號代表呼叫函式,會有返回值,單獨使用func 1.函式名可以像變數一樣進行賦值操作 a fun 2.函式可以作為容器 list,tuple,dict 的元素,儲存在容器內 fun fun 3.函式可以作為返回值返回 4.函式可以作為引數進行傳...

函式名應用,閉包,裝飾器初識

一 函式名的應用 函式名是乙個變數,但他是乙個特殊的變數,與括號配合可以執行函式的變數。1 函式名的記憶體位址 def func print 哈哈 print func 結果 2 函式名可以賦值給其他變數 def func print 哈哈 print func a func 把函式當成乙個變數,賦...

函式裝飾器 類裝飾器

一 函式裝飾函式 defwrapfun func definner a,b print function name func.name r func a,b return r return inner wrapfun defmyadd a,b return a b print myadd 2,3 二...