Python中@符號(hào)的具體使用
Python 中 @ 符號(hào)最常見(jiàn)的用例是裝飾器。 裝飾器允許您更改函數(shù)或類(lèi)的行為。
@ 符號(hào)也可以用作數(shù)學(xué)運(yùn)算符,因?yàn)樗梢栽?Python 中乘以矩陣。 本教程將教您使用 Python 的 @ 符號(hào)。
在 Python 的裝飾器中使用 @ 符號(hào)
裝飾器是一個(gè)函數(shù),它接受一個(gè)函數(shù)作為參數(shù),向它添加一些功能,并返回修改后的函數(shù)。
例如,請(qǐng)參見(jiàn)以下代碼。
def decorator(func): ? ? return func @decorator def some_func(): ? ? pass This is equivalent to the code below. def decorator(func): ? ? return func def some_func(): ? ? pass some_func = decorator(some_func)
裝飾器修改原始函數(shù)而不改變?cè)己瘮?shù)中的任何腳本。
讓我們看一下上述代碼片段的實(shí)際示例。
def message(func): ? ? def wrapper(): ? ? ? ? print("Hello Decorator") ? ? ? ? func() ? ? return wrapper def myfunc(): ? ? print("Hello World")
@ 符號(hào)與裝飾器函數(shù)的名稱(chēng)一起使用。 它應(yīng)該寫(xiě)在將被裝飾的函數(shù)的頂部。
@message def myfunc(): print("Hello World") myfunc()
輸出:
Hello Decorator
Hello World
上面的裝飾器示例與這段代碼做同樣的工作。
def myfunc(): print("Hello World") myfunc = message(myfunc) myfunc()
輸出:
Hello Decorator
Hello World
Python 中一些常用的裝飾器是@property、@classmethod 和 @staticmethod 。
在 Python 中使用 @ 符號(hào)乘以矩陣
從 Python 3.5 開(kāi)始,@ 符號(hào)也可以用作在 Python 中執(zhí)行矩陣乘法的運(yùn)算符。
以下示例是 Python 中乘法矩陣的簡(jiǎn)單實(shí)現(xiàn)。
class Mat(list): ? ? def __matmul__(self, B): ? ? ? ? A = self ? ? ? ? return Mat([[sum(A[i][k]*B[k][j] for k in range(len(B))) ? ? ? ? ? ? ? ? ? ? for j in range(len(B[0])) ] for i in range(len(A))]) A = Mat([[2,5],[6,4]]) B = Mat([[5,2],[3,5]]) print(A @ B)
輸出:
[[25, 29], [42, 32]]
就是這樣。 Python 中的 @ 符號(hào)用于裝飾器和矩陣乘法。
到此這篇關(guān)于Python中@符號(hào)的具體使用的文章就介紹到這了,更多相關(guān)Python @符號(hào)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)的計(jì)數(shù)排序算法示例
這篇文章主要介紹了Python實(shí)現(xiàn)的計(jì)數(shù)排序算法,簡(jiǎn)單描述了計(jì)數(shù)排序的算法原理并結(jié)合具體實(shí)例形式分析了Python計(jì)數(shù)排序的相關(guān)實(shí)現(xiàn)與使用技巧,需要的朋友可以參考下2017-11-11python 使用pdfminer3k 讀取PDF文檔的例子
今天小編就為大家分享一篇python 使用pdfminer3k 讀取PDF文檔的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08用Python實(shí)現(xiàn)童年貪吃蛇小游戲功能的實(shí)例代碼
這篇文章主要介紹了用Python實(shí)現(xiàn)童年貪吃蛇小游戲功能的實(shí)例代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12python3.6之xlwt如何設(shè)置單元格對(duì)齊方式
這篇文章主要介紹了python3.6之xlwt如何設(shè)置單元格對(duì)齊方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06Django model反向關(guān)聯(lián)名稱(chēng)的方法
今天小編就為大家分享一篇Django model反向關(guān)聯(lián)名稱(chēng)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12