python:@运算符(numpy库中的运算符)

你们的每个赞都能让我开心好几天✿✿ヽ(°▽°)ノ✿

前言

我在《python数学实验与建模》这本书中发现了@运算符,这可真是个奇怪的符号!我大量的尝试与查资料后,终于揭开这个@的意义


一、@运算符

1.仅仅支持数组运算

因此,必须用到numpy.array()才能使用这个运算符

2.这是python3.5后的新运算符

它与numpy.dot()的作用是一样的,矩阵乘法(就是线性代数里学的)!
举个例子:

from numpy import array,dot
a=array([[1,2],
        [1,2]])
b=array([[5,6],
        [5,6]])
print(a@b)
print(dot(a,b))

结果是:

[[15 18]
 [15 18]]
[[15 18]
 [15 18]]

说明了这两种运算方法是一样的

二、注意事项

1.矩阵@向量

这是个特殊情况,我在这卡了挺久的。如果第二个位置放的是向量(向量可以看作是1行n列的矩阵)的话,那么向量会转置!
举个例子:

from numpy import array,dot
f=array([1,2])#1*2
g=array([[1,2],
         [1,2],
         [1,2]])
#print(f@g)#好像并不能自动转置
print(g@f)#草,我懂了,f看做向量,如果把f放在第二位,会自动转置
print(dot(g,f))

结果:

[5 5 5]
[5 5 5]

由于向量转置了,因此可以相乘。注意结果还是向量

你们的每个赞都能让我开心好几天✿✿ヽ(°▽°)ノ✿

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

若oo尘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值