Python 浮动的含义是什么?
我正在写一个函数计算,比如Python 浮动的含义是什么?,python,Python,我正在写一个函数计算,比如eval。当我谈到浮动时,我真的不知道为什么会有这样一个无用的函数。因为: >>> float.__pos__(-1.0) -1.0 >>> float.__pos__(1.0) 1.0 而float.\uuuu neg\uuuu则完全不同: >>> float.__neg__(1.0) -1.0 那么,float.\uuuuu pos\uuuuuu的含义是什么?>>帮助(float.\uuuuu pos\uuu
eval
。当我谈到浮动时,我真的不知道为什么会有这样一个无用的函数。因为:
>>> float.__pos__(-1.0)
-1.0
>>> float.__pos__(1.0)
1.0
而float.\uuuu neg\uuuu
则完全不同:
>>> float.__neg__(1.0)
-1.0
那么,float.\uuuuu pos\uuuuuu
的含义是什么?>>帮助(float.\uuuuu pos\uuuu)
>>> help(float.__pos__)
Help on wrapper_descriptor:
__pos__(...)
x.__pos__() <==> +x
有关wrapper\u描述符的帮助:
__位置(…)
x、 位置+x
它是“一元加号”运算符,当您使用x
浮点数执行+x
操作时调用。正如您所发现的,它基本上对浮动没有任何作用;-)但是,您可以定义一个子类,该子类对它做了一些非常重要的事情。这就是它出现的原因。>>帮助(浮动)
有关wrapper\u描述符的帮助:
__位置(…)
x、 位置+x
它是“一元加号”运算符,当您使用
x
浮点数执行+x
操作时调用。正如您所发现的,它基本上对浮动没有任何作用;-)但是,您可以定义一个子类,该子类对它做了一些非常重要的事情。这就是它存在的原因。方法定义了任何对象的一元+运算符的效果
正如Tim Peters提到的,它对浮动没有影响
有关用于执行某些操作的示例,请参见。方法定义任何对象的一元+运算符的效果 正如Tim Peters提到的,它对浮动没有影响
请参阅一个用于执行某些操作的示例。Python有一个一元否定运算符来否定数字,您可能很清楚:
>>> x = 5
>>> print(-x)
-5
>>> x = -5
>>> print(-x)
5
不过,假设你正在列一个数字清单。如果在正数的前面加上+
,则可能会更加一致,因此Python也有一元+
运算符:
>>> numbers = [-3, -2, -1, 0, +1, +2, +3]
当您对一个数字使用一元+
运算符时,它没有任何作用,这是正确的;这只是为了保持一致性
现在,当您在Python中考虑时,可以重写类型上的运算符,当然,您需要一个
来…不否定该类型的实例\uuuuu pos\uuuu
,与覆盖这些运算符的所有其他类型一样,遵循此协议,float
对float
的实现只是标识函数。\uuuuuu pos\uuuuu
>>> x = 5
>>> print(-x)
-5
>>> x = -5
>>> print(-x)
5
不过,假设你正在列一个数字清单。如果在正数的前面加上+
,则可能会更加一致,因此Python也有一元+
运算符:
>>> numbers = [-3, -2, -1, 0, +1, +2, +3]
当您对一个数字使用一元+
运算符时,它没有任何作用,这是正确的;这只是为了保持一致性
现在,当您在Python中考虑时,可以重写类型上的运算符,当然,您需要一个
来…不否定该类型的实例\uuuuu pos\uuuu
,就像所有其他类型覆盖这些操作符一样,遵循这个协议,float
对float
的实现就是身份函数。\uuuuuu pos\uuuuuu
一个子类用它做了一些不平凡的事情
,比如什么?我的意思是,如果没有手帕会发生什么。我也看到了同样的问题,也知道了原因。@Pythoner,请参阅链接@DavidGinsburg,以获取Python中的数字类型示例,在这些示例中,一元加号做了一些非常重要的事情。如果float(或int)不支持\uuu pos\uuuuu()
,表达式+3.0
(或+3
)将在运行时爆炸,带有属性错误查找\uuu pos\uuuu
:-)一个子类,该子类用它做了一些不平凡的事情
,比如什么?我的意思是,如果没有手帕会发生什么。我也看到了同样的问题,也知道了原因。@Pythoner,请参阅链接@DavidGinsburg,以获取Python中的数字类型示例,在这些示例中,一元加号做了一些非常重要的事情。如果float(或int)不支持\uuu pos\uuu()
,则表达式+3.0
(或+3
)将在运行时爆炸,并出现属性错误查找\uuu pos\uu
:-)@Doorknob谢谢。现在我知道了关键字unary
…@doorknoble谢谢。现在我知道了关键字unitary
。。。