Python3数据类型
一、字符串
1、单引号、双引号、三引号(支持回车换行)
2、输出:input接受,输出都为字符串类型
age = input('请输入年龄:')
print("您的年龄是%d "%age) 格式化
print(f'您的年龄是{age}')
print(type(age))
3、下标/索引:即编号,通过下标快速找到对应的数据
序列名[下标编号数字]
str1="abcde"
print(str1[2])
输出:c
4、切片:截取其中一部分的操作
序列[开始位置下标:结束位置下标:步长]
- 不包含结束位置下标对应的数据, 正负整数均可
- 步长是选取间隔,正负整数均可,默认步长为1
name = "abcdefg"
print(name[2:5:1])
输出:cde
print(name[2:5])
输出:cde 不写默认步长为1
print(name[:5])
输出:abcde 不写开始默认从0开始
print(name[1:])
输出:bcdefg 不写结果默认到最后
print(name[:])
输出abcdefg 全部选取
print(name[::-1])
输出:gfedcba 步长为负数,表示倒叙选取
5、操作之查找:位置、次数
5.1 find():检测某个子串是否包含在字符串,存在返回开始下标,否则-1
语法:字符串序列.find(子串, 开始位置下标, 结束位置下标)
5.2 index():检测某个子串是否包含在字符串,存在返回开始下标,否则报异常
语法:字符串序列.index(子串, 开始位置下标, 结束位置下标)
5.3 count():返回某个子串在字符串中出现的次数
语法:字符串序列.count(子串, 开始位置下标, 结束位置下标)
mystr = "hello world and itcast and itheima and Python"
print(mystr.index('and'))
print(mystr.find('and'))
输出:12
print(mystr.count('and'))
输出:3
6、查找之修改
6.1 replace():替换
语法:字符串序列.replace(旧子串, 新子串, 替换次数)
注意:替换次数如果查出子串出现次数,则替换次数为该子串出现次数。
6.2 split():按照指定字符分割字符串
语法:字符串序列.split(分割字符, num)
注意:num表示的是分割字符出现的次数,即将来返回数据个数为num+1个
6.3 join():用一个字符或子串合并字符串,即是将多个字符串合并为一个新的字符串
语法:字符或子串.join(多字符串组成的序列)
6.4 大写转小写/小写转大写/每个单词首字母转大写/:lower()/upper()/title()
6.5
lstrip():删除字符串左侧空白字符
rstrip():删除字符串右侧空白字符
strip():删除字符串两侧空白字符
7、查找之判断
7.1 startswith():检查字符串是否是以指定子串开头,是则返回 True,否则返回 False
语法:字符串序列.startswith(子串, 开始位置下标, 结束位置下标)
二、列表list:[,,,,,]
1、查找
1.下标
name_list = ['Tom', 'Lily', 'Rose']
print(name_list[0])
输出:Tom
2、函数
2.1 index
2.2 count
2.3 len():列表数据个数
语法:len(序列名)
name_list = ['Tom', 'Lily', 'Rose']
print(len(name_list))
输出结果:3
3、判断是否存在in/not in
3.1 in:判断指定数据在某个列表序列,如果在返回True,否则返回False
name_list = ['Tom', 'Lily', 'Rose']
name = input('请输入您要搜索的名字:')
if name in name_list:
print(f'您输入的名字是{name}, 名字已经存在')
else:
print(f'您输入的名字是{name}, 名字不存在')
4、增加
4.1 append:列表结尾加数据
语法:列表序列.append(数据)
name_list = ['Tom', 'Lily', 'Rose']
name_list.append('xiaoming')
输出:['Tom', 'Lily', 'Rose', 'xiaoming']
print(name_list)
4.2 extend:列表结尾加数据
语法:列表序列.extend(数据)
注意:如果数据是一个序列,则将这个序列的数据逐一添加到列表
4.3 insert:指定位置新增数据
语法:列表序列.insert(位置下标, 数据)
5、删除
5.1 del
语法:del 目标
5.2pop:删除指定下标的数据(默认为最后一个),并返回该数据
语法:列表序列.pop(下标)
6、修改
6.1 修改指定下标数据:
name_list = ['Tom', 'Lily', 'Rose']
name_list[0] = 'aaa'
输出结果:['aaa', 'Lily', 'Rose']
6.2逆序:reverse()
num_list = [1, 5, 2, 3, 6, 8]
num_list.reverse()
输出结果:[8, 6, 3, 2, 5, 1]
6.3排序:sort()
语法:列表序列.sort( key=None, reverse=False)
注意:reverse = True** 降序, reverse = False 升序(默认)
6.4复制copy 将列表数据存在另一个变量
name_list = ['Tom', 'Lily', 'Rose']
name_li2 = name_list.copy()
print(name_li2)
输出结果:
['Tom', 'Lily', 'Rose']
7、列表循环遍历
7.1 while
i=0
name=["gaby","lee","bob"]
while i<len(name):
print(name[i])
i+=1
7.2 for
name=["gaby","lee","bob"]
for b in name:
print(b)
8、列表嵌套
8.1列表嵌套指的就是一个列表里面包含了其他的子列表
即:[ [,,,,,,],[,,,,,],[,,,,,] ]
name_list = [['小明', '小红', '小绿'], ['Tom', 'Lily', 'Rose'], ['张三', '李四', '王五']]
```
> 思考: 如何查找到数据"李四"?
# 第一步:按下标查找到李四所在的列表
print(name_list[2])
# 第二步:从李四所在的列表里面,再按下标找到数据李四
print(name_list[2][1])
9、练习题:
需求:有三个办公室,8位老师,8位老师随机分配到3个办公室
三、元组tuple:(,,,,,,)
1、(,,,,,,):小括号定义,数据用逗号隔开
注意:
①元组数据不能修改
②如果定义的元组只有一个数据,那么这个数据后面也好添加逗号,否则数据类型为唯一的这个数据的数据类型
2、查找:下标、index、count、len
按下标查找数据
tuple1 = ('aa', 'bb', 'cc', 'bb')
print(tuple1[0])
- index():查找某个数据,如果数据存在返回对应的下标,否则报错,语法和列表、字符串的index方法相同。
tuple1 = ('aa', 'bb', 'cc', 'bb')
print(tuple1.index('aa')) # 0
- count():统计某个数据在当前元组出现的次数。
tuple1 = ('aa', 'bb', 'cc', 'bb')
print(tuple1.count('bb')) # 2
- len():统计元组中数据的个数。
tuple1 = ('aa', 'bb', 'cc', 'bb')
print(len(tuple1)) # 4
四、字典 {:, }
1、键值对
2、操作
2.1增加/修改:字典序列[key]=值
注:存在修改,不存在新增
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
dict1['id']=110
print(dict1)
2.2删除
del:删除字典或删除字典中指定键值对
clear():清空字典
3.3查询
key值查找
get():字典序列.get(key, 默认值)
keys():查找字典所有key,返回可迭代对象
values():查找字典所有value,返回可迭代对象
items():
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1['name'])
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1.get('name'))
4、循环遍历
4.1遍历字典的key:
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
for key in dict1.keys():
print(key)
4.2遍历字典的value:
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
for value in dict1.values():
print(value)
4.3遍历字典的元素:
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
for item in dict1.items():
print(item)
4.4遍历字典的键值对:将得到的数据拆包
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
for a,b in dict1.items():
print(a)
print(b)