2.数据类型

type()语句的使用

# type函数读取数据类型


# type函数读取数据类型
print('## type函数读取数据类型')
print(type('dfdfd'))
print(type(16))
print(type(16.6))

#使用变量存储type()语句的结果
string_type = type("dfdfd")
int_type = type(16)
float_type = type(16.6)
print(string_type)
print(int_type)
print(float_type)

# 使用type()语句,查看变量中存储的数据类型信息
name = "python"
name_type = type(name)
print(name_type)
    ## type函数读取数据类型
    <class 'str'>
    <class 'int'>
    <class 'float'>
    <class 'str'>
    <class 'int'>
    <class 'float'>
    <class 'str'>

数据类型转换

int(x) 将x转换为一个整数

float(x) 将x转换为一个浮点数

str(x) 将x转换为字符串

注意:任何类型都可以转换成字符串,但要将字符串转换为数字,必须字符串的内容都是数字


#进制转换
print('#进制转换')
print(bin(23))   # 二进制
print(oct(23))   # 八进制
print(hex(23))   # 16进制

print(bin(int("e4",base=16)))   # 16进制转2进制

print(type(str(23)))   # 整数转换为字符串
print(str(float(13.3)))   # 浮点数转换为字符串
#进制转换
0b10111
0o27
0x17
0b11100100

13.3
#整数 int 传递一个参数时为转换为整数,传递两个参数,第一个为字符串,第二个为进制数
print('#整数 int')
print(int())   #整数0
print(int(18))
print(int(18.6))
print(int('0b10111',2))  #打印二进制整数
print(int('0o27',8))  #打印8进制整数
print(int('0x17',16))  #打印16进制整数
#整数 int
0
18
18
23
23
23
#浮点数 float
print('#浮点数 float')
print(float())  # 0.0
print(float())  # 0.0
print(float(3))  # 3.0
print(float('3'))  # 3.0
print(2.3e8)  #科学计数法 230000000.0
print(2.3e-4)  # 0.00023
print(1.1+2.2-3.3)  # 4.440892098500626e-16    浮点数存储的不精确性
print(1.1+2.2)  # 3.3000000000000003   计算机采用二进制存储浮点数,导致运算不正确
from decimal import Decimal   ## decimal模块处理十进制浮点数
print(Decimal('1.1') + Decimal('2.2') - Decimal('3.3'))    #正确操作
from fractions import  Fraction   ## fractions模块处理分数
print(Fraction(11,10) + Fraction(22,10) - Fraction(33,10))   # 0
#浮点数 float
0.0
0.0
3.0
3.0
230000000.0
0.00023
4.440892098500626e-16
3.3000000000000003
0.0
0

bool布尔

##布尔类型
print('#布尔类型 bool')
print(5>2)  #True
print(5>8)  #False
print(True == 1) #True
print(False == 0) #True
print(True + False + 3)  # 4