一、整数类型
- 正整数、负整数、0
- 理论上取值范围(-∞~+∞)
进制种类 | 引导符号 | 描述 |
---|---|---|
十进制 | 无 | 默认情况,如123,456 |
二进制 | 0b或0B | 由0和1组成,如0b10011,0B10100 |
八进制 | 0o或0O | 由0-7组成,如0o234,0O234 |
十六进制 | 0x或0X | 由0-9,a-f或A-F组成,如0x783A,0X568B |
num1=234#十进制
num2=0b10010#二进制
num3=0o1234#八进制
num4=0x236B#十六进制
print(num1)
print(num2)
print(num3)
print(num4)
运行结果:
可以利用电脑的程序员计算器进行检验
二、浮点数类型
- 带有小数点的数值
- 由整数部分与小数部分组成
- 必须带有小数部分,小数部分可以为0
- 浮点数运算之后会产生不确定的尾数
- 使用round()函数限定运算结果保留的小数位数
height=187.5
print(height)
print(type(height))#查询height的数据类型
x=10
y=10.0
print('x的数据类型是:',type(x))
print('y的数据类型是:',type(y))
print(0.1+0.2)
print(round(0.1+0.2,1))#1指保留1位小数
运行结果:
复数
- 复数由实部与虚部组成
- j是复数的一个基本单位
- .real可用来获取实数部分,.imag获取虚数部分
x=456+45j
print('实部:',x.real)
print('虚部:',x.imag)
运行结果:
三、字符串类型
- 单行字符串使用'....'或"....."
- 多行字符串使用"'......'"或"""...."""
#单行字符串
name='张张'
address="火星星云小区"
print(name)
print(address)
print('----------------')
#多行字符串
info='''地址:火星星云小区
姓名:张张
'''
print(info)
运行结果:
转义字符:
- 反斜杠(\)表示转义
- 常见转义字符如下:
转义字符 | 含义 |
---|---|
\n | 换行 |
\t | 水平制表位,用于横跳到下一制表位 |
\" | 双引号 |
\' | 单引号 |
\\ | 反斜杠 |
print('张张\n在火星')#换行
print('----------------')
print('张张\t在火星')
print('我说:\"张张你好\"')#双引号
print('我说:\'张张你好\'')#单引号
print('1\\3')#反斜杠
运行结果:
- 在字符串界定符前加上r或R,转义字符失效,原样输出
print(r'张张\n在火星')
print(R'张张\n在火星')
运行结果:
字符串的索引:
- 对字符串中某个字符的检索称为索引
- 语法结构:字符串或字符串变量[序号]
正向递增序号:从0开始,从左往右递增
反向递减序号:从-1开始,从右往左递减
#01234567
#-8 -7 -6 -5 -4 -3 -2 -1
s='anecdote'
print(s[2],s[-6])
运行结果:
字符串的切片:
- 对字符串中某个字串或区间的检索称为切片
- 语法结构:字符串或字符串变量[N:M],N默认从0开始,M默认到结尾为止
获取从N到M(不包括M)的字符串
s='anecdote'
print(s[0:3])#正向递增序列
print(s[-8:-5])#逆向递减序列
运行结果:
字符串类型的操作:
操作符 | 描述 |
---|---|
x+y | 连接字符串x与y |
x*n或n*x | 复制n次字符串 |
x in s | 如果x是s的字串,结果为True,否则为False |
x='张张'
y='在火星'
print(x+y)#拼接字符串
print(5*(x+y))#输出5次张张在火星
print('火星' in y)#判断火星是否是y的子字符串
print('水星' in y)#判断水星是否是y的子字符串
运行结果:
eval()函数:
- eval(s)函数用来去掉字符串s最外侧的引号
- 语法格式:变量=eval(s)
- eval()常与input()一起使用,用来获取输入的数值类型
str='1+1'
print(str,type(str))
a=eval(str)
print(a,type(a))
age=eval(input('请输入年龄:'))
print(age,type(age))
运行结果:
四、布尔类型
- 用来表示真或假,使用True或False来表示
- 布尔类型可转化为数值,True表示1,False表示0
- 所有对象都有一个布尔值,用bool()进行测试
- 布尔值为假的情况:
1. False或None
2.数值中的0
3.空序列,包括空字符串、空元组、空列表
4.自定义对象情况
x=True
print(x)
print(type(x))
print(bool(x))
print(x+1)
y=False
print(y+1)
print('----------------------')
print(bool(None))
print(bool(0))#数值0
print(bool(''))#空字符串
运行结果:
五、数据类型转换
1.隐式类型转换
通过数学运算隐式的转换数据类型
x=20
y=3
z=x/y
print(z)#隐式转换
运行结果:
2.显式类型转换
函数 | 含义 |
---|---|
int(x) | 将x转换为整数类型 |
float(x) | 将x转换为浮点数类型 |
str(x) | 将x转换为字符串类型 |
chr(x) | 将整数x转换为一个字符 |
ord(x) | 将一个字符转换为对应的整数 |
hex(x) | 将一个整数x转换为十六进制字符串 |
oct(x) | 将一个整数x转换为八进制字符串 |
bin(x) | 将一个整数x转换为二进制字符串 |
nu=123.45
print(int(nu))#将浮点数转换为整数,只保留整数部分
nu1=123
print(float(nu1))#将整数转换为浮点数
print(int('100'))#将str类型转换为int类型
print(float('1.11'))#将str类型转换为float类型
print(ord('张'))#将字符转换为整数
print(chr(24352))#将整数转换为字符
print('十六进制:',hex(12))#将整数转换为16进制
print('八进制:',oct(12))#将整数转换为8进制
print('二进制:',bin(12))#将整数转换为2进制
运行结果: