1.list 列表 [] 放入各种数据类型的数据
2.tuple 元组 () 也可以放多个类型 但是是只读. 元组又叫只读列表.
3.dict 字典 {"name',"哈哈哈"} 键值对的形式. 存储大量的数据. 存的是关系型的数据. 字典内可以存列表.
4.set 集合 {} 也是以大括号的元素 但是 里面是一个一个元素.
5.切片:顾头不顾腚: s = "多多多多多多赚赚赚" s6 = s[0:6] s6 = s[ : 6] 起始为0 则不写0 也行.
6.步长 s6 = s[:5:2] 取0-5 然后 隔两个去一个字符.
7.s = "liuBingYin" s1 = s.capitalize() capitalize 意思是转换字符串中的大小写 转变为 首字母大写.
8.s = "liubingyin" s1 = s.center(20,"*") 第一个参数 是两边的间距 第二个是 两边空出来的部分填充什么内容.
9.s1 = s.upper() upper 是全大写. s1 = s.lower() lower 全小写. 这两个用途主要是验证码部分.
eg:code = "QaE".
upper() your_code = input("输入验证码,不区分大小写:").upper()
if your_code == code:
print("验证成功")
10.s = "lbylbylbylby"
s1 = s.startwith("l")
s1 = s.startwith("y",3,6)
这个发 在3-6 中间是不是以 y 开头呢. 返回的都是bool值返回.
数据处理 会用到这个startwith.
11. swap 大小写翻转. title 非字母隔开的每个单词的首字母大写.
12.s = "qwer" find 找元素角标 s1 = s.find("w") 角标是1 index 通过元素找索引, 可切片, 找不到 -1
13.strip 去处前后的空格,换行符,制表符.
14.split 分割 以空格隔开 分割成了列表 s1 = s.split(",",2)
转换出来的 样子就是 如果括号内是逗号 就是元素内 是以逗号分割的.
后面的参数是分割次数.被分割的就没了.
15. join 在某些情况下,list ---> str l = ["aaa","bbb","ccc"]
s1 = "".join(l) print(s1) : aaabbbccc
形式是 字符串形式.
16.s = "小刚是一个人" s1 = s.replace("小刚","小红") print(s1) 小红是一个人
17.len 看字符串总个数. 个 数是20 索引就是19 数出 某个元素 出现的次数. c1 = s.count("f") print(c1)
18.format 格式化输出.
1.msg = "我叫{},今年{},爱好{}".format("刘丙寅","26","篮球") {}相当于%s
2.msg = "我叫{0},今年{1},爱好{2},我依然叫{0}".format("刘丙寅","26","篮球") {}相当于%s
3.msg = "我叫{name}今年{age}爱好{hobby}".format(name = "刘丙寅",age = "26",hobby = "篮球") {}相当于%s 不局限于顺序.
19.应该能应用在比如说注册时候密码的验证上面.
判断全部是数字 isdigit()
判断全部是字母 isalpha()
判断是数字或者字母 isalnum()
20.for i in s: for循环
列表的增删改查:
增:
形式1:
append 追加
li = [aa, "bb", 11]
li.append("ddd") print(li) li = [aa, "bb", 11,"dd"]
形式2
insert 添加 根据索引在对应的位置添加.
li.insert(1,"哪吒")
形式3:
li = [123, "jkjsdkl", 222]
li.extend("的撒旦的")
print(li) [123, 'jkjsdkl', 222, '的', '撒', '旦', '的'] 迭代追加.
删:
形式1: 根据索引,删除元素
li = [123, "jkjsdkl", 222]
li.pop(0)
形式2: 按照元素去删除
li.remove("123")
形式3: 清空这个列表里面的内容.
li.clear()
形式4: del 整个列表全部删除.
改:
形式1: 按照索引去修改.
li[0] ="小六"
形式2:
按照切片去修改. 先将切片的区域内的内容全部删除 然后再 迭代着添加内容.
li[:3] = "qwer"
查:
形式1: 按照索引切片去查找 或者 for 循环查
for i in li: print(i)
形式2:
cou = len(li) 查看元素个数.
形式3:
count 同一个元素 出现的次数.
index 通过元素 找索引 li.index("123")
形式4: sort: 从小到大 排序
l2.sort()
l2.sort(reverse=True) 加了参数 就是 倒序排列.
无大小之分 根据当前顺序进行翻转排列.
l2.reverse()
元组:
1.被称为只读列表 只能查 不能进行增删改.
元组可以用index len count 儿子不能改 孙子可以改动.
# 元组可以用index len count
儿子不能改 孙子可以改动.
tu1 = ("sds","ererer0",111,[111,"222"])
#[]里面的东西可以改动
tu1[3].append("liubingyin")
range是什么?
#range 范围 是一个自定义的数字范围列表 与for循环结合使用.
# 循环输入 100 for i in range(0,101):
#满足顾头不顾腚的原理. 0 可以取到 101不可以. #print(i)
#敏感词的替换
str = "小姐姐代收款附件克里斯丁就发,附件快乐圣诞节"
str = str.replace("小姐姐","*")
字典:
基础数据类型之一 {} 以键值对的形式来进行存储数据. 字典的增删改查. key value 的形式 也是映射数据类型.存储的都是关系型数据.
容器类的数据类型:list[], dict{}, tuple().
非容器类的数据类型:str,int,bool.
字典的key 必须是不可变的数据类型. 只能从:str tuple()元素 int bool布尔值.中设置类型.
字典的value 可以是任意的数据类型.
字典的查询速度非常快. 键是唯一的.存在一个hash算法. 字典的键都会通过hash表 转换成数字.
字典的增删改查:
增:
形式1:
dic = { name : "刘丙寅" , age:26}
dic["sex"] = "男" 有就会覆盖掉原来的数据.没有的话就会添加数据.
形式2:
#设置一个只有键没有值得,进行占位.
dic.setdefault("sex")
dic.setdefault("sex",24) #有则不做修改,没有则添加数据.
删:
形式1:
dic.pop("age") #按照键去删除整个键值对
dic.pop("age","没有这个键..") #后面增加这个参数 如果字典里面没有这个键也不会报错.
形式2:
#清空字典 dic.clear()
#随机删除 dic.popitem()
#删除整个字典 del dic
#删除字典里面的键值对. del dic["name"]
改:
dic["sex"] = "男"
#这也叫修改 #update 是针对两个字典的更改.
查:
形式1:
dic.get("name") #有则取出来 没有则返回none 后面添加参数的话, 就返回该参数.
dic = {"name":"刘丙寅","age":26,"name_list":["反面","正面","左面","右面"]}
形式2:
#for循环查询 dic.keys()
#找出来所有的键 放在一个特殊的类型中. 这个类型 类似于列表 但不是列表的容器.
dic.values() dic.items()
#这三个可以for循环 for keys in dic.keys(): print(keys)
dic.keys() dic.values() dic.items()
返回的都是类似于列表的数据类型. 可遍历 没有索引. 直接用list将这个包裹 便可转换为列表
直接循环遍历一个字典 就是 去的所有的键.
is 比较的是内存地址是否相同.
小数据池 只存在于int 和str中 在一定范围内 如果两个数值相同.为了节省内存.公用一个内存地址.
读取一个文件 或者传输一个文件 要先转换成 bytes类型. 才能传输.
在文件的存储或传输,编码是除unicode以外的任意编码.
utf-8 和 gbk 不能直接转换 需要用unicode来做承接.
utf-8先转换为unicode 解码(decode) 然后unicde再转换成gbk 编码(encode)
元组中如果只有一个元素 并且没有都逗号那么 该数据类型是对应的元素类型
如果有逗号 那么该元素就是 元组类型.
("你好",) 和 ("你好") type 不同
dic = dict.fromkeys("abc" ,666)
print(dic) 效果:{'a': 666, 'b': 666, 'c': 666}
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中.
dic = dict.fromkeys("abc" ,666)
Python 字典 fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。
print(dic)
效果:{'a': 666, 'b': 666, 'c': 666}
集合:
集合: set 可变的数据类型. 是以{}的形式存在的. 字典也是但是字典是键值对的形式. 而集合是一个元素.
空集合:set() 空字典 {}
集合是可变的 但是集合内部的元素 是不能变的 是能是 元组,数字,字符串,boolean值.
集合是无序的.不重复的.
集合作用:
1.去重. 列表扔进去集合中 再拿出来的时候 就是
2.关系测试. set1 = {1,2,3,"abc",(1,2,3),True} print(set1)
集合的增删查: (因为集合是无序的 没有索引 所以不能修改.)
1.增加:
set1 = {"sds","收到","sdsd","gfg","rtrtrt"}
set1.add("刘丙寅") print(set1)
2.删除: 按照元素删除
set1.remove("sds") print(set1)
随机删除:
set1 = {"sds","收到","sdsd","gfg","rtrtrt"}
set1.pop() print(set1)
清空: set1.clear()
删除整体: del set1
查询: for i in set1: print(set1) print(i)
文件操作:
world wps 等 需要知道这个文件的路径
path 例如 d:\ddd.txt encoding
编码方式: utf-8 gbk 等
mode 操作方式: 只读,只写,追加,读写,写读.
绝对路径. f1 = open("d:\xxoo.txt",encoding="utf-8",mode="r") f1.close() f1 产生的一个变量. 又叫文件句柄.
open就是对文件操作用的. open就是python的内置函数. 底层是调用windows的open功能用的.
linux系统也有一个open功能.
windows 这个系统 默认的编码方式为 gbk
linux macos :默认编码格式:utf-8
流程: 文件操作:
1.打开文件,产生文件句柄 f1 = open("d:\xxoo.txt",encoding="utf-8",mode="r")
2.对文件句柄产生相应的操作. f1.read()
3.关闭文件. f1.close()
相对路径: 当txt文档等 放在python上的时候,就用相对路径.
f1 = open('aaa.txt', encoding='utf-8')
print(f1.read(3))
f1.close()
r模式:read(n) n 是按照字符读取。
rb模式:read(n) n 是按照字节读取。