python基本数据类型(一)数字(number)类型

数字(整型、浮点型、复数型)

1. int 整型,表示范围无穷大

a = 1
print(a, "是", type(a), "类型")
a = -1
print(a, "是", type(a), "类型")
a = 2**100
print(a, "是", type(a), "类型")

运行结果:

1 是 <class 'int'> 类型
-1 是 <class 'int'> 类型
1267650600228229401496703205376 是 <class 'int'> 类型
进制 (print进行输出的时候,默认情况下是十进制方式输出)
二进制(0、1)
a = 0b10101
print(a, "是", type(a), "类型")

运行结果:

21 是 <class 'int'> 类型
十六进制(0-9,a-f)
a = 0x1fb
print(a, "是", type(a), "类型")

运行结果:

507 是 <class 'int'> 类型
八进制(1-7)
a = 0o172
print(a, "是", type(a), "类型")

运行结果:

122 是 <class 'int'> 类型
进制转换 bin oct hex
bin()
help(bin) 
#bin(number) => 二进制字符串

a = 10
print(a, "转换为二进制的结果是", bin(a))
a = 0x10
print(a, "转换为二进制的结果是", bin(a))

运行结果:

10 转换为二进制的结果是 0b1010
16 转换为二进制的结果是 0b10000
hex()
help(hex)

a=10
print(a, "转换为十六进制的结果是", hex(a))
a = 0x10
print(a, "转换为十六进制的结果是", hex(a))

运行结果:

10 转换为十六进制的结果是 0xa
16 转换为十六进制的结果是 0x10
oct()
help(oct)

a=10
print(a, "转换为八进制的结果是", oct(a))
a = 0x10
print(a, "转换为八进制的结果是", oct(a))

运行结果:

10 转换为八进制的结果是 0o12
16 转换为八进制的结果是 0o20
int()

int的参数可以是数字也可以是字符串,当参数是一个字符串时,指定base(给的参数是几进制数,默认base是10)返回一个十进制int

a = 10
a_oct = oct(a)
a_int = int(a_oct, base=8)
print(a_int)
a_int = int('111')
print(a_int)
a_int = int('111', base=10)
print(a_int)
a_int = int('1010', base=2)
print(a_int)
a_int = int('0b1010', base=2)
print(a_int)

int的参数是数字时
a = 0b101110
print(int(a))
a = 0o10523
print(int(a))
a = 0x134a
print(int(a))

运行结果:

10
111
111
10
10
46
4435
4938

2. float浮点型

表示方法
b = 1.1
print(b,"的数据类型是",type(b))
b = 1.
print(b,"的数据类型是",type(b))
b = 4.2E-10
print(b,"的数据类型是",type(b))
1.1 的数据类型是 <class 'float'>
1.0 的数据类型是 <class 'float'>
4.2e-10 的数据类型是 <class 'float'>
float是不精确
i = 1
i = i-0.1
print(i)
i = i-0.1
print(i)
i = i-0.1
print(i)
0.9
0.8
0.7000000000000001
不精确的原因:
十进制5表示为101
5 => 101
0.1 =>  0.5 , 0.20 , 0.125 , 0.0625
    =>  部分小数是无法用二进制精确的表示
    =>  0b0.1 => 0.5
条件判断 如果用浮点型数据变量尽量要使用<或>来进行比较
避免使用等于来比较     a==0.6
Decimal 定点型 ,可以表示精确地浮点数
# Decimal 可以表示精确地浮点数
# 2.1 => 整数位和小数位分别存储 => 使用整数的存储方式来存储的
# 2 => 10
# 1 => 1
from decimal import Decimal
# Decimal 数据类型
my_dec = Decimal('0.1') #表示精确的0.1数据
print(my_dec,type(my_dec))

my_dec = Decimal(0.1)
print(my_dec,type(my_dec))

my_dec = Decimal('0.7')
print(my_dec,type(my_dec))

my_dec = Decimal(0.7)
print(my_dec,type(my_dec))

运行结果:

0.1 <class 'decimal.Decimal'>
0.1000000000000000055511151231257827021181583404541015625 <class 'decimal.Decimal'>
0.7 <class 'decimal.Decimal'>
0.6999999999999999555910790149937383830547332763671875 <class 'decimal.Decimal'>

3.复数

c = 1+1j
print(c,type(c))
d = 4-2j
print(d.real,d.imag,type(d))
(1+1j) <class 'complex'>
4.0 -2.0 <class 'complex'>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值