今日复习内容:数值类型,字符串,类型转换
一.数值类型
1.整数(int)
python 可以处理任意大小的整数,当然也包括负整数,在程序中的表示方法和数学上的写法一 模 一样。
例如:1,100,-1等等
整数的英文为 integer ,简写作 int ,python 世界的整数其实和现实世界数学中定义的一样,是 正整数,负整数和零的统称,是没有小数点的数字。
2.浮点数(float)
浮点数的英文名称为 float ,是指带小数点的数字。
例如:0.0004等
3.布尔类型(bool)
- True 和 False 是 python 的关键字,使用时注意首字母大写,否则会报错。
print(True)
print(type(True)) # bool
- 布尔值可以当做整数来对待,但是在开发中不建议这么用
True 相当于整数值1,False 相当于整数值0
print(True + 2) # 3
print(False - 1) # -1
二.字符串
字符串是 python 中最常用的数据类型,可以使用引号(‘’或“”)来创建字符串。
1.字符串的格式
如下定义的变量a,存储的是数字类型的值
a = 10
print(a)
print(type(a))
运行结果:
b = '10'
print(b)
print(type(b))
运行结果:
注意,双引号或者单引号中的数据就是字符串。
2.当字符串 本身包含了多行时,可以使用三引号
b = '''123456'''
print(b)
print(type(b))
运行结果:
3.字符串运算符
- + 字符串连接
a = 'hello'
b = 'world'
print(a + ' ' + b)
运行结果:
- * 重复输出字符串
a = 'hello'
print(a * 2)
运行结果:
- 成员运算符 用于检查诸如字符串,列表,元组,字典,集合之类的序列中是否存在值/变量的运算符
in 如果字符串中包含给定的字符则返回True
not in 如果字符串中不包含给定的字符则返回True
a = 'hello'
print('h' in a )
print('w' not in a )
运行结果:
三.索引和切片
1.下标/索引
所谓“下标”,就是编号,就好比超市中的存储柜的编号,通过这个编号就能找到相应的存储空间 生活中的 "下标": 超市储物柜、高铁二等座、绿皮车。
通过索引进行取值时,不能超出字符串序列中的索引值范围
a = 'hello'
print(a[0])
print(a[4])
print(a[5])
运行结果:
2.切片
切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。
切片的语法:[起始:结束:步长] 左闭右开原则
注意:选取的区间从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身),步长表示选 取间隔。 步长不指定时步长为1 字符串[开始索引:结束索引],一般情况步长不写,默认为1。
起始索引:step为正从“起点”开始,为负从“终点”开始。 终止索引:step为正时直到“终点”,为负时直到“起点”。
注意:空格,符号也是一个字符
a = 'hello'
name = 'abcdef'
print(name[0:3]) # 取 下标0~2 的字符
name = 'abcdef'
print(name[0:5]) # 取 下标为0~4 的字符
name = 'abcdef'
print(name[3:5]) # 取 下标为3、4 的字符
print(a[3:1]) #取不到数据 step=1,决定了从左往右取值,而3-1是从右往左取,矛盾
name = 'abcdef'
print(name[2:]) # 取 下标为2开始到最后的字符
name = 'abcdef'
print(name[1:-1]) # 取 下标为1开始 到 最后第2个 之间的字符
print(name[-5:-1]) # 从-5的下标开始到-1,从左往右
运行结果:
步长 step 绝对值大小决定切取数据的步长,正负号决定切取方向。# 正表示“从左往右”取值,负表 示“从右往左”取值 , 切取方向非常重要!!!
举个例子:
a = 'hello'
print(a[0:2:-1])
运行结果:
注释:为什么没取到数据呢,step=-1,决定了从右往左取值,下标0-2说明是从左往右 取,矛盾
四.格式化输出
%s 字符串 %f 浮点数
在程序中,看到了`%`这样的操作符,这就是Python中格式化输出。
1.字符串 %s
name = 'xiaowang'
age = '19'
favorlte = 'python'
print('大家好,我叫%s,今年%s岁,我目前正在学%s'%(name,age,favorlte))
运行结果:
st = 'abcd'
print('%10s' % st) #右对齐,占位符10位
print('%.2s' % st) # st
运行结果:
2.浮点数 %f
%a.bf,a表示浮点数的打印长度,b表示浮点数小数点后面的精度且考虑四舍五入
a = 1.23456
print('%f' % a)
print('%.2f' % a) # .2的意思是保留两位小数
print('%2.2f' % a)
print('%.6f' % a)
运行结果:
再举一个例子:
a = 1.245
print('标准输出:%f' % a) # 标准输出:1.234000
print('保留两位有效数字:%.2f' % a) # 保留两位有效数字:1.25
运行结果:
3. round() 函数
round(a,x):round函数用来对某数值进行四舍五入,其中a是对象,x是四舍五入保留即为小数
多说无益,上例子
b = 1.54654
print(round(b)) # 2
print(round(b, 3)) # 1.547
运行结果:
五.类型转换
int(x) 将x转换成一个整数
float(x) 将x转换成一个浮点数
str(x) 将对象x转换成一个字符串
list(x) 将序列x转换成一个列表
tuple(x) 将序列x转换成一个元组
- int()
st = '123'
print(type(st)) # <class 'str'>
st2 = int(st)
print(type(st2)) # <class 'int'>
# 切记int()只能转化由纯数字组成的字符串
# 非纯数字组成的字符串强转为整型会报错:ValueError: invalid literal
运行结果:
- str()
n = 100
print(type(n))
n2 = str(n)
print(type(n2))
运行结果:
OK,今天复习到这里,待会儿继续!