获得徽章 8
@ 早在电子邮件发明之前就出现在机械打字机的键盘上了。而 @ 会被安排进键盘布局说明,在打字机发明之前,它就已经有了广泛的应用。

图中发明于 1895  年的福特打字机(与福特汽车公司无关),是最早一批带有 @ 键(左下角)的打字机之一。

如果我们追溯 @ 的历史,会发现它的故事比我们想象的还要古老。早在 15 ~ 16 世纪, @ 就已经在商业活动中登场,常用于表示重量或体积单位,比如“一个标准的瓶子能装多少酒”、“一个标准的袋子里有多少面粉”这种标准化的度量方式。这也正是为什么, @ 在 Unicode 编码中的正式名称是 **commercial at**——“商业用的 at”。
展开
胡译胡说于2025-05-22 17:41发布的图片
胡译胡说于2025-05-22 17:41发布的图片
1
# Python为什么要特意引入@来做矩阵乘法呢?

Python 从 3.5 开始,引入了 @ 符号来表示矩阵乘法,这是通过 PEP 465 号提案正式确立的。

首先,`A @ B`更贴近数学表达。在数学上,矩阵乘法通常写作 A⋅B(乘号⋅通常省略),而不是写成 `dot(A, B)` 或 `A.matmul(B)` 这种函数调用形式。若写作 `A @ B`,代码就跟数学算式几乎一模一样了,写起来更顺手,看起来也更直观,有助于提升代码的可读性和可维护性。

其次,使用 `@` 可以避免歧义。在数值计算里,以矩阵为对象的乘法不止一种,比如按元素乘(也叫阿达玛乘积)和普通的矩阵乘法。如果全都用 `*` 来表示,容易搞混。特别是在 NumPy 里,不同类型的对象,如 `numpy.ndarray` 和 `numpy.matrix`,对 `*` 的解释还不一样,很容易出错。

PEP 465 号提案中还提到了选择 @ 而不是其他符号表示矩阵乘法的一些理由:

* 各种键盘布局中都有 @ 符号,可以轻松输入
*  @ 看起来像个小漩涡,能使人联想到矩阵乘法中行与列交错扫描的运算过程
*  @ 符号的不对称性暗示了矩阵乘法不满足交换律
* ……
展开
胡译胡说于2025-05-21 16:20发布的图片
胡译胡说于2025-05-21 16:20发布的图片
评论
HTML DOM元素的最大宽度是多少?像 div, p 这样的元素不会是没有尽头的吧,无论如何也应该有个最大宽度吧。 若其中的内容非常多,比如数学中的无限不循环小数,生物的DNA序列,这些数据多到即使是最宽、最最宽的DOM元素也承载不下时,会发生什么呢?当不断滚动屏幕,一直到达这些DOM元素的尽头时,看到的是什么? CSS 设置的最大宽度是 width: 2147483647 px;,用开发者工具查看的宽度是 16777200 px
展开
胡译胡说于2025-03-04 19:53发布的图片
评论
这段Go代码输出什么?4对字母+数字各一次吗?试试不同的版本,试试把 `go` 从 `f()` 前挪到 `myPrint()` 前……太坑了
胡译胡说于2025-02-21 17:36发布的图片
1
下一页
个人成就
文章被点赞 380
文章被阅读 48,822
掘力值 2,641
收藏集
1
关注标签
17
加入于