gpt4 book ai didi

python - 什么是 `1..__truediv__` ? Python 是否有 .. ("dot dot") 表示法语法?

转载 作者:IT老高 更新时间:2023-10-28 12:19:18 26 4
gpt4 key购买 nike

我最近遇到了一种我在学习 python 时从未见过的语法,在大多数教程中,.. 表示法,它看起来像这样:

f = 1..__truediv__ # or 1..__div__ for python 2

print(f(8)) # prints 0.125

我认为它与(当然,除了更长)完全相同:

f = lambda x: (1).__truediv__(x)
print(f(8)) # prints 0.125 or 1//8

但我的问题是:

  • 它怎么能做到这一点?
  • 这两个点的实际含义是什么?
  • 如何在更复杂的语句中使用它(如果可能)?

这可能会在未来为我节省很多代码行...:)

最佳答案

你所拥有的是一个没有尾随零的 float 文字,然后你可以访问它的 __truediv__ 方法。它本身不是运算符;第一个点是浮点值的一部分,第二个是点运算符,用于访问对象的属性和方法。

您可以通过执行以下操作达到相同的点。

>>> f = 1.
>>> f
1.0
>>> f.__floordiv__
<method-wrapper '__floordiv__' of float object at 0x7f9fb4dc1a20>

另一个例子

>>> 1..__add__(2.)
3.0

这里我们把 1.0 加到 2.0 上,显然是 3.0。

关于python - 什么是 `1..__truediv__` ? Python 是否有 .. ("dot dot") 表示法语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43487811/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com