chap5 数字
5.1
1. python数字类型:整型,长整型,布尔型,双精度浮点型,十进制浮点型和复数;特点:标量贮存 直接访问 不可更改类型 使用del彻底删除
2. 布尔型:True False
标准整数类型:32机-2e31~(2e31)-1 八进制以“0”开头 十六进制以“0x”开头
长整型: 只需要加个L或者l就表示是长整型了,长整数类型是标准整数类型的超集
双精度浮点型: 每个浮点数占 8 个字节(64 比特)。浮点数值通常都有一个小数点和一个可选的后缀 e(大写或小写,表示科学计数法)。
复数型:实虚两部分构成 复数不能比较大小
3. 关于复数的内建属性(dir(complex)可看):
real false conjugate
eg. >>> c
(2+3j)
>>> c.imag
3.0
>>> c.real
2.0
>>> c.conjugate() #返回该复数的共轭复数
(2-3j)
4. 运算符
(1)混合模式运算符(不同数据类型之间的运算)
强制类型转换:如果有一个操作数是复数, 另一个操作数被转换为复数。否则,如果有一个操作数是浮点数, 另一个操作数被转换为浮点数。否则, 如果有一个操作数是长整数,则另一个操作数被转换为长整数;否则,两者必然都是普通整数,无须类型转换。内建函数coerce()。
coerce(...)
coerce(x, y) -> (x1, y1)
eg.
>>> coerce(2,1.4)
(2.0, 1.4)
(2)标准类型运算符
(3)算术运算符
正+ 负- 双目运算符 加+ 减- 乘* 除/ 取余%(整数,复数,浮点数取余) 幂运算** 整除//(向下取整)
(4)位运算符(适用于整数)
取反(~),按位 与(&), 或(|) 及 异或(^) 及左移(<<)和右移(>>)
负数会被当成正数的 2 进制补码处理;左移和右移 N 位等同于无溢出检查的 2 的 N 次幂运算: 2**N;对长整数来说, 位运算符使用一种经修改的 2 进制补码形式,使得符号位可以无限的向左扩展。
5. 内建函数与工厂函数
(1) 标准类型函数:例如cmp(), str() 和 type() 内建函数。 这些函数可以用于所有的标准类型。
(2) 数字类型函数:
a.转换工厂函数
函数 int(), long(), float() 和 complex() 用来将其它数值类型转换为相应的数值类型。
eg. >>> obj = 12
>>> obj
12
>>> int(str(obj),10)
12
>>> int(str(obj),16)
18
b.功能函数
绝对值abs(), 类型匹配coerce(), 除法加取余divmod(), 指数运算pow(),浮点数的四舍五入round()
divmod()内建函数把除法和取余运算结合起来, 返回一个包含商和余数的元组。>>> divmod(10,3)返回(3, 1)
(3)只用于整数
进制转换:oct()(to八进制)和 hex()(to十六进制)
ASCII转换函数:函数 chr()接受一个单字节整数值,返回一个字符串,其值为对应的字符。函数 ord()则相反,它接受一个字符,返回其对应的整数值。
6. 其他数字类型
(1)布尔数 True False
有两个永不改变的值 True 或 False。
布尔型是整型的子类,但是不能再被继承而生成它的子类。
没有__nonzero__()方法的对象的默认值是 True。
对于值为零的任何数字或空集(空列表、空元组和空字典等)在 Python 中的布尔值都是 False。
在数学运算中,Boolean 值的 True 和 False 分别对应于 1 和 0。
以前返回整数的大部分标准库函数和内建布尔型函数现在返回布尔型。
True 和 False 现在都不是关键字,但是在 Python 将来的版本中会是。
(2)引入decimal 模块以便使用 Decimal 类十进制浮点数来编写科学计算或金融应用程序
5.1
1. python数字类型:整型,长整型,布尔型,双精度浮点型,十进制浮点型和复数;特点:标量贮存 直接访问 不可更改类型 使用del彻底删除
2. 布尔型:True False
标准整数类型:32机-2e31~(2e31)-1 八进制以“0”开头 十六进制以“0x”开头
长整型: 只需要加个L或者l就表示是长整型了,长整数类型是标准整数类型的超集
双精度浮点型: 每个浮点数占 8 个字节(64 比特)。浮点数值通常都有一个小数点和一个可选的后缀 e(大写或小写,表示科学计数法)。
复数型:实虚两部分构成 复数不能比较大小
3. 关于复数的内建属性(dir(complex)可看):
real false conjugate
eg. >>> c
(2+3j)
>>> c.imag
3.0
>>> c.real
2.0
>>> c.conjugate() #返回该复数的共轭复数
(2-3j)
4. 运算符
(1)混合模式运算符(不同数据类型之间的运算)
强制类型转换:如果有一个操作数是复数, 另一个操作数被转换为复数。否则,如果有一个操作数是浮点数, 另一个操作数被转换为浮点数。否则, 如果有一个操作数是长整数,则另一个操作数被转换为长整数;否则,两者必然都是普通整数,无须类型转换。内建函数coerce()。
coerce(...)
coerce(x, y) -> (x1, y1)
eg.
>>> coerce(2,1.4)
(2.0, 1.4)
(2)标准类型运算符
(3)算术运算符
正+ 负- 双目运算符 加+ 减- 乘* 除/ 取余%(整数,复数,浮点数取余) 幂运算** 整除//(向下取整)
(4)位运算符(适用于整数)
取反(~),按位 与(&), 或(|) 及 异或(^) 及左移(<<)和右移(>>)
负数会被当成正数的 2 进制补码处理;左移和右移 N 位等同于无溢出检查的 2 的 N 次幂运算: 2**N;对长整数来说, 位运算符使用一种经修改的 2 进制补码形式,使得符号位可以无限的向左扩展。
5. 内建函数与工厂函数
(1) 标准类型函数:例如cmp(), str() 和 type() 内建函数。 这些函数可以用于所有的标准类型。
(2) 数字类型函数:
a.转换工厂函数
函数 int(), long(), float() 和 complex() 用来将其它数值类型转换为相应的数值类型。
eg. >>> obj = 12
>>> obj
12
>>> int(str(obj),10)
12
>>> int(str(obj),16)
18
b.功能函数
绝对值abs(), 类型匹配coerce(), 除法加取余divmod(), 指数运算pow(),浮点数的四舍五入round()
divmod()内建函数把除法和取余运算结合起来, 返回一个包含商和余数的元组。>>> divmod(10,3)返回(3, 1)
(3)只用于整数
进制转换:oct()(to八进制)和 hex()(to十六进制)
ASCII转换函数:函数 chr()接受一个单字节整数值,返回一个字符串,其值为对应的字符。函数 ord()则相反,它接受一个字符,返回其对应的整数值。
6. 其他数字类型
(1)布尔数 True False
有两个永不改变的值 True 或 False。
布尔型是整型的子类,但是不能再被继承而生成它的子类。
没有__nonzero__()方法的对象的默认值是 True。
对于值为零的任何数字或空集(空列表、空元组和空字典等)在 Python 中的布尔值都是 False。
在数学运算中,Boolean 值的 True 和 False 分别对应于 1 和 0。
以前返回整数的大部分标准库函数和内建布尔型函数现在返回布尔型。
True 和 False 现在都不是关键字,但是在 Python 将来的版本中会是。
(2)引入decimal 模块以便使用 Decimal 类十进制浮点数来编写科学计算或金融应用程序