python 2乱码,源码混了,代码重复,ascii码 一个字节表示 显示中文 只有英文 python 3 utf-8 三个字节 表示中文 int 整型 str 字符串 类型 bool 布尔值 True False 运算符: 逻辑运算:not and or 比较运算:< > = 赋值运算;*= -= += //= %= 算法运算:- + * ** / 成员运算: in not in if 语句 if 条件: 结果 if 条件: 结果 else: 二选一 if elif;(在如果) elif:(在如果) while 条件: 循环体 while : else: while : if: if: if: 嵌套型语句 () not and or 依次优先 not 1>2 and 3 or 3 and 5>6 or 3 结果为 3 索引 元素的下表 例 s = "dsfdsg" 从左向右数 零开始 从 右向左 -1 -2 -3 负一开始 当你准确取某一个元素时 减一 s1 = s[0] 则 s1 = d 前片 s2 = s[1:2:2] 分号的顺序依次是 起点终点 步长 [-4:-1:1] 输出结果 为左到右 要是从右到左的话 在步长前加一个负号 [头减一 :尾不变] 步长 开始位置后数起 字符串的表示 变量名.swapcase()大小写转化 当也有一个人大写时全部转化为大写 变量名.upper()表示全部大写 变量名.lower()表示全部小写 变量名.capitalize()表示首字母大写 变量名.starswith('')判断以什么开头 输出Boolz值 变量名.endswith('')判断以什么结束输出bool 变量名.split('')表示分割 变量名.replace('老东西','旧东西')替换 len(变量名)取长 name = " aleX leNb " n = name.strip() n = n.find('e') 下标为2 n = n.find('e',3) 从位置去找 3第个位置起 下标 为6 变量名.find('元素'),查下标 没有的输出 -1 变量名.index('元素')查下表 没有的报错 变量名.isdigit()判断是不是纯数字,输出bool值 变量名.count('元素')统计出现的次数 n = n.count('l',1,5) #count 可以切片去找 例 s = 'dafdg' print('_'.join(s)) 下划线 等 d_a_f_d_g 变量名.strip()表示默认删除空格与换行符 变量名.strip('')表示删除''里的内容 +++不能用在列表后边 list 列表 [] '增删改查' 增 li = [1,2,3,'nihao','n','你好啊'] li.append('对了')#只能 在后边添加 print(li) li.insert(0,'gg')#根据索引来添加,是没有默认在后边添加的 print(li) li.extend('qwer')#把 qwer拆分开 分别加到列表后边,只能有一个''的内容 print(li) 删 li.pop(1)#按索引删除,不能切片删除, print(li.pop(1))#有返回你要删除的元素 del li#删除整列表 print(li) del li[1:3]#按切片切忘记了.就长这样的 print(li) li = [1,2,3,'nihao','n','你好啊'] li = li.clear()#输出 None没有用内容 表示已经清空 print(li) li.remove('你好啊')# 按元素删除 ,移除的意思 print(li) 改 li[1] = '替换内容' li[1] = [123,'大宝哥']#列表嵌套列表 print(li) li[0:3] = 'dasfggdfh'#把字符串改成字符放进去 print(li) li[0:3] = ('练啊','人才','胸带')#一个位置一个的放进去()与[]是一样的,('练啊','人才','胸带')等于['练啊','人才','胸带'] print(li) li = [1,2,3,'nihao','n','你好啊'] 查 li = li[2]#索引查找 li = li[1:4]#切片查找 for i in li : print(i) print(li[3]) 公用方法 数字列表排序 li = [1,23,4,6,9,4,2,] li.sort()#不能写成li =li.sort(),否则输出None.正向排序 print(li) li = li.sort()#输出None print(li) 逆向排序 li.sort(reverse=True)#把里边的False改为True print(li) 反转 li.reverse()#把li反过来 print(li) 元组 uplit 只读 不可更改, 元组里的列表可以改 (儿子不能改,孙子可以改) li = ('ho','gg',1,3,['cp',75],689,0) print(li[4][0][1])#找出p 只能查,孙子可改的跟列表一样 数字元组(1,100)表示1234567...100 用range for i in range(1,88,2): #有步长 print(i) for i in range(0,10,2):#偶数 print(i) for i in range(1,10,2):#奇数 print(i) for i in range(1,88,2): 不可变数据型 列如 bool 元组 int str 字典 用二分法 可以存储大量的数据 dic1 = {'name':'beibi','age':'18','sex':'male'}#键值对 有增删查改 增 dic1['big']= 66 #直接加入键值对.不重复的话直接加入,重复的话直接覆盖 print(dic1) dic1['name']='gegu' print(dic1) 用setdefault 去添加.好处是原有的不会被覆盖 dic1.setdefault('name',88)#(键,值)当没有值的时候默认值为None print(dic1) dic1 = {'ka':'v1','k2':'v2','ae':'66'} n = dic1['ka']#输出来的是键对应的值 ka:v1 是一对 所以输出的是 v1 print(n) # 删 一#删,一样都是用pop dic1.pop('name')#有返回值 ('键'),当键不存在的话报错 可以改为这样('键','提示语') print(dic1) print(dic1.pop('n','不存在')) dic1.clear()#清空字典{} print(dic1) del dic1#删除整个字典 print(dic1) del dic1['name']#按键删除 键值对 print(dic1) 改 覆盖 dic1['name'] = 14 #直接覆盖了 字典更新 把一更新到原来的 dic1 = {'age':'18','name':'jon','sex':'male',} dic2 = {'name':'jgv','age':'8','weight':'66',} dic2.update(dic1) # print(dic1) print(dic2) 把一更新到二中 爬虫时用 b1 = 'alexgdgj' b2=b1.upper().replace('E','o',1).capitalize().split('o') print(b2) name = ' 1 + 2 +3+4+5 +6+ 7' b = name.strip().split('+') print(b) 格式化输出 format 变量名.format('','','') s2 = 'fdsa,{2} {1} {0}' print(s2.format('爱 ','不爱','你猜 ','佛挡 杀佛'))格式化输出的下标 一个逗号隔开来数 输出 e 的下标 name = " aleX leNb " n = name.strip() c = 0 for i in n: print(i) if i =='e': print(c) c +=1