数字类型

1.计算

1.1、支持混合运算

当一个二元算术运算符的操作数有不同数值类型时,"较窄"类型的操作数会拓宽到另一个操作数的类型,其中整数比浮点数窄,浮点数比复数窄

1.2、逻辑值检测

任何对象都可以进行逻辑值的检测,以便在 if 或 while 作为条件或是作为下文所述布尔运算的操作数来使用。

在默认情况下,一个对象会被视为具有真值

例外:

定义了返回 False 的 bool() 方法

定义了返回零的 len() 方法

具有假值的内置对象

被定义为假值的常量: None 和 False

任何数值类型的零: 0, 0.0, 0j, Decimal(0), Fraction(0, 1)

空的序列和多项集: '', (), [], {}, set(), range(0)

1.3、布尔运算

x or y --> 如果 x 为真值,则 x,否则 y

短路运算符,因此只有在第一个参数为假值时才会对第二个参数求值。

x and y --> if x is false, then x, else y

短路运算符,因此只有在第一个参数为真值时才会对第二个参数求值。

not x --> if x is false, then True, else False

1.4、常见的运算

abs(x) --> x 返回一个数字的绝对值。 参数可以是整数、浮点数或任何实现了 abs() 的对象。 如果参数是一个复数,则返回它的模。

pow(x, y) --> 同 x ** y --> x 的 y 次幂

Python 将 pow(0, 0) 和 0 ** 0 定义为 1

math.trunc(x) --> x 截断为 Int

math.floor(x) --> <= x 的最大 Int

math.ceil(x) --> >= x 的最小 Int

round(x[, n]) --> x 舍入到 n 位小数,半数值会舍入到偶数。 如果省略 n,则默认为 0。

284

is 和 ==

is 是判断两个标识符是不是引用自一个对象,类似id(x) == id(y)

==只是比价对象的值是否一致

<> 不等于

python3 已废弃

// 整除

返回商的整数部分(向下取整)

% 取模运算

与数学取余运算有区别,主要在负数运算时不同。原因和//有关

10%4 = 2 10//4=2 10-2*4=2
-10%7= 4 -10//7=-2 -10-(-2*7)=4

2.int(整数形)

构造函数 int()

int(string,base)
base
  • 默认0
  • 允许的基数为 0 和 2--36
进制转换10进制 16-->10
int('0xa', 16)
int('a', 16)
8进制/2进制同上

2.2、 在 3.6 版本发生变更 --> 可以使用下划线将代码文字中的数字进行分组。

2.3、转换-->16进制 --> hex()

2.4、转换-->8进制 --> oct()

2.5、转换-->2进制 --> bin()

2.6、CPython 对于 int 和 str 之间的转换有一个全局限制以缓解拒绝服务攻击。 此限制 仅会 作用于十进制或其他以非二的乘方为基数的数字

默认限制为 4300
超出限制时,将引发 ValueError

3.float(浮点型)

构造函数 float()

"Infinity" | "inf" --> 无穷大

"inf", "Inf", "INFINITY" 和 "iNfINity" 都是正无穷可接受的拼写形式

"nan" --> 空

在 3.6 版本发生变更 --> 可以使用下划线将代码文字中的数字进行分组。

3.1、float.hex()

以十六进制字符串的形式返回一个浮点数表示。 对于有限浮点数,这种表示法将总是包含前导的 0x 和尾随的 p 加指数。

>>> float.hex(3740.0)

'0x1.d380000000000p+11'

3.2、float.fromhex(s)

返回以十六进制字符串 s 表示的浮点数的类方法。 字符串 s 可以带有前导和尾随的空格。

>>> float.fromhex('0x3.a7p10')

3740.0

4.complex(复数)

构造函数 complex(re, im)
实部 re 、虚部 im,im默认0

5.bool(布尔值)

bool类型只有两个常量实例
True 表示真
False 表示假

bool() 可将任意值转换为布尔值

注意

bool 是 int 的子类 。 在许多数字场景下,False 和 True 的行为分别与整数 0 和 1 类似。 但是,不建议这样使用;请使用 int() 显式地执行转换。

posted on 2024-10-31 22:20  莫名丨其妙  阅读(7)  评论(0编辑  收藏  举报