深度之眼 - Python学习笔记——第三章 基本数据类型

第一部分 数字类型

1.1 数字类型的组成

1.1.1 整数——不同进制的转换

  • 默认输入十进制
  • 二进制0b、八进制0o、十六进制0x
16 == 0b10000 == 0o20 == 0x10
True
  • 十进制转其他进制
a = bin(16)   # 十进制转二进制
b = oct(16)   # 十进制转八进制
c = hex(16)   # 十进制转十六进制
print(a, b, c)
0b10000 0o20 0x10

注意:上述转换后结果为字符串类型

print(a == b == c)
False
print(type(a))
str
  • 其他进制转十进制
d = int(a, 2)      # 二进制转十进制
e = int(b, 8)      # 八进制转十进制
f = int(c, 16)     # 十六进制转十进制
print(d, e, f)
16 16 16

1.1.2 浮点数——不确定性

  • 不确定小数问题
print((0.1+0.2) == 0.3)
False
print(0.1+0.2)
0.30000000000000004

为什么会出现上面这样的问题呢?

计算机采用二进制小数来表示浮点数的小数部分

  • 部分小数不能用二进制小数完全表示

    二进制 十进制
    0.00011001100110011001 0.09999942779541016
    0.0011001100110011 0.1999969482421875
    0.01001100110011001 0.29999542236328125
    0.01100110011001101 0.40000152587890625
    0.1 0.5
  • 通常情况下不会影响计算精度

print(0.1 + 0.7)
0.7999999999999999
  • 可以使用round或者%.xf来获得解
a = 3*0.1
print(a)
0.30000000000000004
b = round(a, 1)
print(b)
print(b == 0.3)
0.3
True

1.1.3 复数——a+bj

  • 大写J或小写j均可
3+4j
2+5J
(2+5j)
  • 虚部系数为1时,需要显式写出
2+1j

1.2 数字运算操作符(a 操作符 b)

  • 加减乘除运算   +  -  /  *
print((1+3-4*2)/5)
-0.8
  • 取反  -
x = 1
print(-x)
-1
  • 乘方运算  **
print(2**3)
8
  • 整数商//  和  模运算%
print(13//5)    # 整数商  
2
13 % 5   # 模运算    余数 13=2*5+3
3

几点说明

  • 整数与浮点数运算结果是浮点数
  • 除法运算的结果是浮点数
print(1+1.5)
2.5
print(2/5)
0.4
print(8/4)
2.0

1.3 数字运算操作函数  function(x, …)

  • 求绝对值 abs()
abs(-5)
5
abs(3+4j)  # 对复数a+bj 执行的是求模运算(a^2+b^2)^0.5
5.0
  • 幂次方 pow(x,n)
pow(2, 5)  # pow(x,n) x的n次方  等价于x**n
32

                
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值