三、Python的常用数据类型
- int,整型,如1,2,3,4
- float 浮点型(小数),如3.14
- bool,布尔值,boolean,即真或假(True False)
- str,字符串,如“tester”
- list,列表,如a = []
- tuple,原则,如b = ()
- dict,字典,dictionary,如c = {}
- set,集合,如d = {}
1. 查看数据类型
type()
类型转化:int(),float(),bool(),list(),dict()
注:bool()这个函数对后面理解一些条件判断会有很大的帮助,可以练习一下不同的数据类型,看看他们打印出来是True还是False。
# 整型
data_one = 18
# 字符串
data_two = "测试工程师"
# 浮点型(即小数)
data_three = 3.141
# 布尔类型 Boolean,只有两个值True/False
data_four = True
# 列表 list a = []
data_five = ['tester',1]
# 元组 tuple b = ()
data_six = ('tester',1)
# 字典 dict c = {},键值对的形式存在
data_seven = {"name": "test", "age": 18}
# 查看数据类型 type()
print("data_one的数据类型:", type(data_one))
print("data_two的数据类型:", type(data_two))
2. 字符串的表示
字符串可以用单引号,也可以用双引号,还可以用三引号,但是不要使用混搭使用。
正确的用法
# 单引号
name_one = 'tester zhang'
# 双引号
name_two = "tester zhang"
# 三引号
name_three = """tester zhang"""
name_four = '''tester zhang'''
错误的用法
name_five = "jie"lun"zhou"
这样写会报SyntaxError: invalid syntax错误,如图
合理的写法
name_five = "jie'lun'zhou"
四、字符串序列操作
- 成员运算 in, not in
- 连接操作 + ,前提条件为相同的乐行
- 重复操作 *,后面跟上重复的次数,即数字
- 索引操作
- 切片操作
- 格式化输出
- %s, %d, %f, %.2f
1.索引,获取字符串的某个字符
(1)字符串的拼接,使用 +
# 字符串的拼接
name_one = 'good'
name_two = 'boy'
full_name = name_one + name_two
print(full_name)
执行后的full_name为goodboy,如图
(2)字符串重复多次,使用 *
full_name = 'goodboy'
print(full_name * 3)
上述脚本执行三次,结果如图
(3)获取字符串当中的某个字符串,可以使用索引
# 获取字符串当中的某一个字符
name_three = "韩信 刺客"
name_four = name_three[4]
print(name_four)
注:获取数据索引是从0开始,所以name_three[4]实际取到的是“客”。
从左向右开始数,从0开始,依次为1,2,3,4
从右向左开始数,从-1开始,-2,-3,-4,-5
即name_four = name_three[-1]实际取到的也是“客”。
2.切片,切开分成几个[start: end: step]
(4)获取字符串当中的多个字符,可以使用切片
name_five = "大乔这个辅助真的是太好玩了"
# 切片的用法:name_five[start: end : step], 取左不取右
print(name_five[0:2])
通过切片最终取得的结果是“大乔”,如图
取左不取右,其实就是包含左面的字符,但不包含右面的字符,所以想取到“大乔”,只可以为name_five[0:2]。如果是name_five[0:1],不包含右面的,那最终取到的就是“大”。
# 省略右边的,取剩余的全部
name_five = "大乔这个辅助真的是太好玩了"
print(name_five[0:])
# 省略左边的,取当前坐标之前的全部
name_five = "大乔这个辅助真的是太好玩了"
print(name_five[:13])
# 直接取所有的
name_five = "大乔这个辅助真的是太好玩了"
print(name_five[:])
实际执行结果如下:
注:step,步长,即实现跳过功能。
name_five = "大乔这个辅助真的是太好玩了"
print(name_five[::2])
如step设置为2,即跳过乔、个、助、的、太、玩,实际运行结果如图
注:如果切片超出范围,则直接获取剩下的所有内容,但如果索引超出范围,则会报IndexError错误。
3. 格式化输出 .format()函数
name = input("请输入姓名:")
age = input("请输入年龄:")
hobby= input("请输入兴趣:")
print("""
****************
姓名:{},
年龄:{},
兴趣:{}
****************
""".format(name, age, hobby))