Python 竞赛题-01-下面哪个不是 Python 的运算符?

Python七号

共 991字,需浏览 2分钟

 · 2022-08-01

准备收集一些有趣、流行、有一定挑战、长知识的 Python 题目,文章标题均以「Python 竞赛题」开头。

下面哪个不是 Python 的运算符:

  • A) @
  • B) ~
  • C) **
  • D) //
  • E) &
  • F) None of the above?



选好了吗?选好了再往下翻。







正确答案是 F

惊不惊喜、意不意外?

解释:

先看容易的

B) ~ 表示按位取反,比如 ~1 的结果就是 -2:

>>> ~1
-2

如果你想知道为什么是 -2,那就需要知道计算机都是以补码形式保存数字的,可以看看前文关于补码,大学老师讲的很不负责任

C) ** 这个是幂运算,比如 2**3 就表示 2 的 3 次方:

>>>2 ** 3 
8

D) //  这个表示除法取整数:

>>> 3//2
1
>>> 5//2
2

E) & 这个是按位与运算:

>>> 1 & 1
1
>>> 1 & 0
0
>>> 0 & 0
0

A) @ 这个很多人认为不是运算符,其实是的,表示矩阵乘法,我们可以解释器键入 help('NUMBERMETHODS') 查看:


不过,@ 运算符是受限的,只能在特定的库中使用,比如在 numpy 中:

>>> x1
array([[12],
       [34]])
>>> y1
array([[21],
       [43]])
>>> x1 @ y1
array([[10,  7],
       [2215]])

因此答案是 F。

如果有收获,欢迎点赞、转发、评论

浏览 50
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报