一元操作符和函数

这里将详细介绍python中一元操作符的用法 注意:这里的所有操作符均需要提前导入???operator???模块, 且??#???后面的内容为打印结果。???__pos__(self)???:相当于??+object??操作。

代码如下:

import operatorclass Debug: def __init__(self): self.num1 = 5 self.num2 = -5# debugmain = Debug()print(operator.__pos__(main.num1)) # 5print(operator.__pos__(main.num2)) # -5

可以看到无论是??5???还是??-5???所得到的值均为他们本身,因为??+ 5 = 5???, ??+ -5 = -5??。

??__neg__(self)???:相当于??-object???操作。 代码如下:

import operatorclass Debug: def __init__(self): self.num1 = 5 self.num2 = -5# debugmain = Debug()print(operator.__neg__(main.num1)) # -5print(operator.__neg__(main.num2)) # 5

可以看到当输入为是??5???时,输出为??-5???,输入为??-5???时,输出为5,因为??- 5 = – 5???, ??- -5 = 5??。

??__abs__(self)??:相当于绝对值操作。

import operatorclass Debug: def __init__(self): self.num1 = 5 self.num2 = -5# debugmain = Debug()print(operator.__abs__(main.num1)) # 5print(operator.__abs__(main.num2)) # 5

??__invert__(self)???:相当于??~???运算符,二进制中按位取反,类似于??-x-1??。

import operatorclass Debug: def __init__(self): self.num1 = 5 self.num2 = -5# debugmain = Debug()print(operator.__invert__(main.num1)) # -6print(operator.__invert__(main.num2)) # 4

??__round__(self, n)???: 相当于??round()???函数,四舍五入的一种近似运算。 NB:此时不再需要导入???operator??模块。

class Debug: def __init__(self): self.num1 = 5.4 self.num2 = 5.5 self.num3 = -5.4 self.num4 = -5.5# debugmain = Debug()print(main.num1.__round__()) # 5print(main.num2.__round__()) # 6print(main.num3.__round__()) # -5print(main.num4.__round__()) # -6

??__floor__(self)???: 相当于??math.floor()???函数,向下近似。 Tips: 在英语总floor为地板的意思,因此是向下近似。 NB: 这里我们需要导入???math??模块。

import mathclass Debug: def __init__(self): self.num1 = 5.4 self.num2 = 5.5 self.num3 = -5.4 self.num4 = -5.5# debugmain = Debug()print(math.floor(main.num1)) # 5print(math.floor(main.num2)) # 5print(math.floor(main.num3)) # -6print(math.floor(main.num4)) # -6

??__ceil__(self)???: 相当于??math.ceil()???函数,向上近似。Tips: 在英语总ceil为天花板的意思,因此是向上近似。

import mathclass Debug: def __init__(self): self.num1 = 5.4 self.num2 = 5.5 self.num3 = -5.4 self.num4 = -5.5# debugmain = Debug()print(math.ceil(main.num1)) # 6print(math.ceil(main.num2)) # 6print(math.ceil(main.num3)) # -5print(math.ceil(main.num4)) # -5

??__trunc__(self)???: 相当于??math.trunc()???函数,可以理解为??math.floor()???函数与??math.ceil()???函数的结合,负数部分取最近邻大数,正数部分取最近邻小数。返回截断的整数的实数值。 NB: 第二种形式无需导入???math??模块。

import mathclass Debug: def __init__(self): self.num1 = 5.4 self.num2 = 5.5 self.num3 = -5.4 self.num4 = -5.5# debugmain = Debug()print(math.trunc(main.num1)) # 6print(math.trunc(main.num2)) # 6print(math.trunc(main.num3)) # -5print(math.trunc(main.num4)) # -5# another formclass Debug: def __init__(self): self.num1 = 5.4 self.num2 = 5.5 self.num3 = -5.4 self.num4 = -5.5# debugmain = Debug()print(main.num1.__trunc__())print(main.num2.__trunc__())print(main.num3.__trunc__())print(main.num4.__trunc__())

【文章出处:日本大带宽服务器 jap.html 欢迎留下您的宝贵建议】不敢接受失败的人,往往是那些追求完美的人,

一元操作符和函数

相关文章:

你感兴趣的文章:

标签云: