Python基础学习(1)基本知识
Python基础学习(2)序列类型方法与数据类型转换
Python基础学习(3)进阶字符串(格式化输出)
Python基础学习(4)散列类型(无序序列)
Python基础学习(5)流程控制
Python基础学习(6)函数基础与函数参数
Python基础学习(7)函数作用域与名称空间
一.序列类型方法与数据类型转换
序列类型的概念: 数据的集合 再序列类型里面可以存放任意的数据也可以对这个数据进行更方便的操作 这个操作叫增删改查(crud)
1.列表方法
①增
1.append: 添加一个数据 (添加到列表最后一位 追加)(这里的数据也可以是序列)
语法格式:列表名.append(数据)
2.insert: 添加一个数据 用下标指定位置 原数据会被挤到后面(插队)一个位置只能增加一个数据 一个罗比一个坑
语法格式:列表名.insert(下标,数据)
3.extend: 追加一个序列类型的数据到最后一位 把数据打散(字符串属于每一个字符结合的序列)
语法格式:列表名.extend(数据)
注意:
append和extend区别:
append的添加将我们的新增元素视为一个整体进行添加
extend的添加将元素初步拆分之后进行添加
追加的数据他可以是单个元素 也可以是列表 元组等等 但是不能是单个数字
#列表方法
#增
#先写方法,再输出
name=['高启强','杨奇鑫','荷包蛋','李明天']
#name.append('刘天成') #添加数据到最后一位
#name.append('知风')
#name.insert(1,'莎娃')#根据下标插入新数据
#name.insert(1,'莎娃','婷婷') #报错 一个萝卜一个坑
#name.extend('潘俊余') #打散数据到最后一位
#name.extend(['潘俊余','卢顺宽'])
#name.extend(222) #不能数值打散
print(name)
②删
1.pop: 在有指定下标删除一个值 没有指定的下标时 会默认删除最后一个数据
语法格式:列表名.pop(下标)
2.remove: 删除一个指定的数据 当列表里有很多个此数据时 从第一个开始删除
语法格式:列表名.remove(数据)
3.clear: 清空列表全部数据():列表还在
语法格式:列表名.clear()
4.del:
del name[2]
del name[2:5]
del name[::2] 从第一个删起,算上第一个,每两个删一次
del name (列表直接无了)
#删除
name=['高启强','杨奇鑫','荷包蛋','李明天','何家辉','于健康','肖思宇','高启强']
#name.pop() #默认最后一个
#name.pop(1)
#name.remove('高启强')
#name.clear() #全部清空
#name.remove('婷婷')#不存在会报错
#name.remove('高启强') #多个存在的时候 删除第一个
#del name[2]
#del name[2:5]
del name[::2] #输出的内容是删除后留下的数据
#del name #直接干掉了列表 程序不知道有这个列表的存在了
print(name)
③改
1.单个修改: 直接通过下标修改
语法格式:列表名[下标]=新的值
2.多个修改: 通过切片的方式进行修改 修改之后的数据 只能多不能少(多了整体是元组类型)
语法格式:列表名[起点:终点]=数据1,数据2
#修改
#name=['高启强','杨奇鑫','荷包蛋','李明天','何家辉']
#name[2]='陈同旺'
#name[4:]='隔壁老王'
#name[4:]='隔壁老王','婷婷','小李','小周'
#name[1]='隔壁老王','婷婷','小李','小周' #一对多 数据为元组类型存放
#print(name)
#name=[1,2,3,4,5]
#name[2:]=12,4
#name[2]=12,4
#print(name)
name=['高启强','杨奇鑫','荷包蛋','李明天','何家辉']
name[1:3]='w'
print(name)
#对序列类型没有用 针对数字只能多不能少
name=[1,2,3,4,5]
name[:2]=12,4
print(name)
④查
查询方法: 要显示内容都要用print输出
1.index: 根据内容获取指定数据下标
语法格式: 列表名.index(数据)
列表名.index(数据,起点值)
2.count: 求和 统计数据出现的次数
语法格式: 列表名.count(数据)
name=['高启强','杨奇鑫','荷包蛋','李明天','何家辉','高启强']
print(name.index('高启强',1)) #通过设置范围 去查询数据
print(name.count('高启强'))
⑤其他
sort: 对列表内容进行排序
语法格式: 列表名.sort() 升序(从小到大)
列表名.sort(reverse=True) 降序(从大到小)
2.元组方法
①查
查询方法: 要显示内容都要用print输出
1.index: 根据内容获取指定数据下标
语法格式: 元组名.index(数据)
元组名.index(数据,起点值)
2.count: 求和 统计数据出现的次数
语法格式: 元组名.count(数据)
3.字符串方法
字符串和元组是一样的不可变类型 里面的数据是不可以更改的 除非重新赋值 否则里面的东西是修改不了的 (所以字符串的方法都是要用print输出才看的到)
所以字符串严格意义来说不能增删改查的操作
字符串的本体是不会被修改 但是可以通过方法给你看一下效果
①增
字符串没有专门的增加方法 直接用+号拼接即可
print(‘喜欢’+‘喝水水’)
②替
replace:可以删除/可以替换
语法格式:
字符名.replace(‘替换数据’,‘’)
字符名.replace(‘替换数据’,‘新值’)
字符名.replace(‘替换数据’,‘新值’,修改次数) 从左开始
a='adaadasxbd'
print(a)
print(a.replace('x',''))
print(a)
print(a.replace('a','d',3))
③改
1.upper:字母全大写
语法格式:字符名.upper()
2.lower:字母全小写
语法格式:字符名.lower()
3.title:单词首字母大写 以空格区分
语法格式:字符名.title()
4.strip:去除字符串左右两边的空格
语法格式:字符名.strip()
5.split:划分 根据指定的内容 切分字符串 得到的结果为一个列表
语法格式:
字符名.split(‘切割对象’)
字符名.split(‘切割对象’,修改次数)
字符名.split()(默认空格分隔)
talk=' woquzHenhaowan '
print(talk.upper())
print(talk.lower())
print(talk.title())
print(talk.strip())
print(talk.split('o',2))
WOQUZHENHAOWAN
woquzhenhaowan
Woquzhenhaowan
woquzHenhaowan
[’ w’, ‘quzHenha’, 'wan ']
④查
1.find:通过内容 获取数据下标
语法格式:
字符名.find(‘数据’)
字符名.find(‘数据’,起点)
2.count: 求和 统计数据出现的次数
语法格式: 字符名.count(‘数据’)
3.isdigit: 判断字符串是否为纯数字
语法格式: 字符名.isdigit()
4.isalpha: 判断字符串是否为纯字母/字符
语法格式: 字符名.isalpha()
5.endswith :判断字符串后缀 是否与数据相等
语法格式: 字符名.endswith(‘数据’)
6.len函数 – 获取序列类型的长度 一个序列类型有几个数据
语法格式: len(数据)
talk=' woquzHenhaowan '
print(talk.find('o'))
print(talk.find('o',5))
print(talk.find('o'))
print(talk.isdigit())
print(talk.endswith(' '))
print(len(talk))
2
11
2
False
True
16
二,数据类型转换
数据类型的转换有两种形式: 自动转换 强制转换
#自动转换 bool(不用改变强行转换)
->3+True
4
-> False+True
1
#强制转换
可以把一些数据在一个合法的情况下转换为其他类型
->>> a=‘很牛’
->>> int(a)
#转换为新的数据需要重新赋值
->>> a=88
->>> str(a) #转换为字符串形式
‘88’
->>> a #这个还是整数形式
88
->>> b=str(a) #这个情况下 就是b的变量接收了字符串形式的88
->>> b
‘88’
int(数据) — 把数据转为整形
float(数据) — 把数据转为浮点型
bool(数据) — 把数据转为布尔类型
str(数据) — 把数据转为字符串
list(数据) — 把数据转为列表
tuple(数据) — 把数据转为元组
a=int(input())
b=input()
print(type(a))
print(type(b))
int(b)
print(type(b))
print(a+15)
15
23
<class ‘int’>
<class ‘str’>
<class ‘str’>
30