python3 修飾器簡單理解

2022-09-11 10:00:14 字數 1169 閱讀 5974

### 修飾器幹嘛的,有什麼作用

比如說a現在已經寫好了乙個專案,但是現在b接管了這個專案,b需要對專案中的某個函式進行修改,乙個乙個修改然後複製,貼上?這時候修飾器就開始大顯身手了。修飾器可以避免許多重複的動作。用@+修飾函式放在待修飾的函式頭上就可以實現優化函式的功能

### 修飾器的理解

####原函式沒有引數

修飾器可以看作是乙個接收函式的函式,內部再定義區域性函式用來修飾傳進來的函式引數

```def makebold(fn):

return "" + fn() + ""

@makebold

@makeitalic

def hello():

return "hello world"

print hello() ## 返回hello world

####原函式有引數

修飾函式還是傳函式引數,修飾函式裡面的區域性函式傳入原函式的引數

@w2

def hello(name,name2):

print("hello"+name+name2)

hello("world","!!!")

####需要有返回值
@w3

def hello():

print("hello")

return "test"

####類修飾器

大體上和函式修飾器差不多,只是類不能直接呼叫要加上__call__方法。

class test(object):

definit(self, func):

print('test init')

print('func name is %s ' % func.name)

self.__func = func

def __call__(self, *args, **kwargs):

self.__func()

@test

def test():

print('this is test func')

test()

python 3直譯器 Python3 直譯器

linux unix的系統上,python直譯器通常被安裝在 usr local bin python3.4 這樣的有效路徑 目錄 裡。我們可以將路徑 usr local bin 新增到您的linux unix作業系統的環境變數中,這樣您就可以通過 shell 終端輸入下面的命令來啟動 python...

python 3直譯器 Python3 直譯器

python3 直譯器 linux unix的系統上,一般預設的 python 版本為 2.x,我們可以將 python3.x 安裝在 usr local python3 目錄中。安裝完成後,我們可以將路徑 usr local python3 bin 新增到您的 linux unix 作業系統的環境...

python3 迭代器 python3 迭代器

auther aaron fan 可以直接作用於for迴圈的物件統稱為可迭代物件 iterable 可以使用isinstance 判斷乙個物件是否是iterable物件 from collections import iterable isinstance iterable true isinsta...