0
在閱讀Python 3詞法分析時,我對操作符[1]和分隔符的最後一節略感困惑。 @
字符被列爲運算符和分隔符,並且@=
也被列爲增強賦值運算符。繼其他賦值運算的形式,我希望這意味着@
字符可以像這樣使用:Python 3中的@操作符/分隔符是什麼?
x = x @ y
或
x @= y
我以這種方式與整數使用它試圖和字符串沒有任何成功。我熟悉使用@
作爲裝飾器,但未能看到擴展賦值運算符如何與裝飾器兼容。
當用作Python 3中的運算符和/或分隔符時,@
和@=
的用途是什麼?
[1]的Python 3 - 運營商:https://docs.python.org/3/reference/lexical_analysis.html#operators
作爲一個運算符,它是一個矩陣乘法。 'a = np.arange(4).reshape(2,2); b = np.arange(4).reshape(2,2); print(a @ b)'顯示'array([[2,3],[6,11]])'。我只看到它與numpy數組一起工作。 – Elliot
@Elliot你確實看起來是正確的,但我很想知道這是否在numpy之外工作。使用你的例子,我嘗試了'a @ = b',並收到以下錯誤: 'TypeError:原地矩陣乘法不被支持。使用'a = a @ b'而不是'a @ = b'.' –