乐趣区

Python数据类型

数据类型的概述

什么是数据类型

数据类型是对数据的分类,例如:整数类型、浮点类型、字符串类型,等等。

任何数据都有明确的数据类型,例如:18属于整数类型,5.6属于浮点类型,'Hello'属于字符串类型。

获取数据的数据类型

调用内置函数 type 可以获取数据的数据类型。

print(type(18))        #<class‘int'>
print(type(5.6))    #<class'float'>
print(type('Hello'))#<class'str'>

整数类型

整数的不同进制表示方式

整数有 4 种进制表示方式:

10进制:默认的进制

2进制:以 0b 开头

8进制:以 00 开头

16进制:以 0x 开头

print(118)            #118
print(0b1110110)    #118
print(00166)        #118
print(0×76)            #118

整数转换为不同进制的字符串

可以调用内置函数将十进制整数转换为不同进制的字符串:

bin()将十进制整数转换为 2 进制 binary 字符串

oct()将十进制整数转换为 8 进制 octal 字符串

hex()将十进制整数转换为 16 进制 hexadecimal 字符串

print(bin(118))        #0bl110110
print(oct(118))        #00166
print(hex(118))        #0x76

整数的创建
除了直接创建一个整数,还可以调用内置函数int 创建整数

不传递任何参数时,返回整数 0
只传递一个参数时,将传递的参数转换为整数
传递两个参数时,第一个参数必须是字符串,第二个参数指定进制

  print(int())            #0
  print(int(118))            #118
  print(int(118.2))        #118
  print(int('118'))        #118
  print(int('1110110',2))    #118
  print(int('00166',8))    #118
  print(int('0x76',16))    #118

浮点类型

什么是浮点数类型

浮点数类型用于表示浮点数,也就是小数。

     print(0.123456789)        #0.123456789

浮点数的创建

除了使用小数创建浮点数外,还可以调用内置函数 float 创建浮点数。

不传递任何参数时,返回浮点数 `0.0`
只传递一个参数时,将传递的参数转换为浮点数
print(float())        #0.0
print(float(118))    #118.0
print(float(118.2))    #118.2
print(float('118'))    #118.0

用科学计数法表示浮点数

很大或很小的浮点数可以用科学计数法来表示:men表示:m乘以 10n次方。

print(2.3e8)        #230000000.0
print(2.3e-4)        #0.0002311u

浮点数存储的不精确性

计算机采用二进制存储浮点数时是不精确的,可能会存在误差,因此,对于浮点数的运算需要格外小心

print(1.1+2.2-3.3)        #4.440892098500626e-16
print(1.1+2.2)        #3.3000000000000003111111

解决方案 :导入模块decimalfractions其中,

模块 decimal 用于处理十进制的浮点数

模块 fractions 用于处理分数

from decimal import Decimal 
print(Decimal('1.1')+Decimal('2.2')-Decimal('3.3'))        #0.0
from fractions import Fraction 
print(Fraction(11,10)+Fraction(22,10)-Fraction((33,10))        #0

布尔类型

什么是布尔类型

布尔类型只有两种取值:True or False

例如: 这次数学考试及格了吗?地铁三号线的早班车时间是六点吗?

print(5>3)    #True 
print(5<3)    #False

True 的值为 1,False 的值为 0

  print(True1)        #True 
  print(False==0)        #True
  print(True+False+5)    #6
退出移动版