最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中@符號(hào)實(shí)例詳解

 更新時(shí)間:2022年12月20日 07:46:59   作者:ningqingzy  
@是一個(gè)裝飾器,針對(duì)函數(shù),起調(diào)用傳參的作用,下面這篇文章主要給大家介紹了關(guān)于python中@符號(hào)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下

python中@是什么意思

通常我們所見(jiàn)的@符號(hào)是用于郵箱中,而在python中@符號(hào)也有著重要的作用:一個(gè)是表示修飾符,另一個(gè)則是表示矩陣乘法(不常用)。表示修飾符時(shí),可以在模塊或者類(lèi)的定義層內(nèi)對(duì)函數(shù)進(jìn)行修飾。雖然表示矩陣乘法不常用,但是也是很好的一個(gè)方法。值得注意的是@符號(hào)的這兩種含義,都是在python3.5以后的。

一、表示修飾符

用做函數(shù)的修飾符,可以在模塊或者類(lèi)的定義層內(nèi)對(duì)函數(shù)進(jìn)行修飾;

出現(xiàn)在函數(shù)定義的前一行,不允許和函數(shù)定義在同一行。

一個(gè)修飾符就是一個(gè)函數(shù),它將被修飾的函數(shù)作為參數(shù),并返回修飾后的同名函數(shù)或其他可調(diào)用的東西(如果返回不是一個(gè)可調(diào)用的對(duì)象那么會(huì)報(bào)錯(cuò))。

#Example 1
def test(func):
    print("a")
    return func()
    
@test     #從這里可以看出@test等價(jià)于 test(xxx())
def xxx():
    print('Hello world!')

運(yùn)行結(jié)果:

a
Hello world!

可以看出,先執(zhí)行test()下的print(“a”),再return func()即返回xxx()函數(shù)。

那么,如果前后連續(xù)出現(xiàn)兩個(gè)及以上的@修飾器呢?處理的順序如何?看下面的例子:

#Example 2
def FA(fn):
    def warp():
        return "<a>"+fn()+"<a>"
    return warp
def FB(fn):
    def warp():
        return "<b>"+fn()+"<b>"
    return warp
    
@FA         #相當(dāng)于makebold(test1),也就是把當(dāng)前函數(shù)作為入?yún)鬟^(guò)去
def test1():
    return "test1"
 
@FB
def test2():
    return "test2"
    
@FA
@FB
def test3():     #函數(shù)和裝飾器是倒著執(zhí)行的,從下往上,從內(nèi)而外,一層層執(zhí)行
    return "test3"
    
print(test1())
print(test2())
print(test3())

運(yùn)行結(jié)果:

<a>test1<a>
<b>test2<b>
<a><b>test3<b><a>

以上結(jié)果可以看出,函數(shù)前面有兩個(gè)及以上裝飾器時(shí),先執(zhí)行函數(shù),返回的值作為參數(shù)傳入上一層即FA(),F(xiàn)A()返回的值傳入FB(),最終得到FB()返回的值。

二、表示矩陣乘法

#Example 3
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([[1,3],[7,5]])
B = Mat([[6,8],[4,2]])
print(A @ B)

運(yùn)行結(jié)果:

[[18, 14], [62, 66]]

總結(jié) 

到此這篇關(guān)于python中@符號(hào)實(shí)例詳解的文章就介紹到這了,更多相關(guān)python中@詳解內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

通渭县| 北辰区| 犍为县| 龙井市| 奉节县| 建瓯市| 鱼台县| 江孜县| 东光县| 芜湖市| 农安县| 枣强县| 延吉市| 平顺县| 旬阳县| 曲麻莱县| 固阳县| 辽宁省| 图们市| 大洼县| 邢台县| 淳化县| 彭泽县| 阿巴嘎旗| 甘泉县| 阳新县| 扎兰屯市| 邢台县| 鄢陵县| 北辰区| 枝江市| 屏边| 灵宝市| 台北市| 鹤山市| 满洲里市| 蓬溪县| 陈巴尔虎旗| 科技| 乐山市| 沧州市|