1.基本数据类型概况    1.int  整数    2.str   字符串    3.bool   布尔值    4.list >= []   列表,一般存放大量数据,举例:["门神xxxx","元素","人名xxx"]      取值的话直接按照位置取s[0], s[1]    5.tuple  >= () 元组, 只读列表,只能看啥也不能干.(元素,元素)    6.dict  >= {}  字典.{"王力宏","sho","等等"}    7.set  >= ()  集合,不重复 .{"王力宏","sho","等等"}    8.bytes   一堆字节,最小数据单元 2.int类型的相关操作 数字没办法执行其他操作,操作只有  +,-,*,/,//,%,** 8bit = 1byte bit_length()  显示二进制长度 a = 5   # 1+1+1+1+1=101 print(a.bit_length()) b = 17 print(b.bit_length()) c = 1   #1变成二进制是1 print(c.bit_length()) d = 2   #2变成二进制是10,逢二进一 print(d.bit_length())   3.bool类型的操作,基本类型转换的问题 bool类型没有操作, 字符串  >= 数字    int() 数字  >=  字符串   str() x   >=  y类型   y(x) a = 10 print(type(a))   #<class 'int'> b = str(a) print(type(b))    # <class 'str'> 结论一:想把XXX数据转化成yy类型的数据.yy() 把数字转化成bool a = 10 print(bool(a))  #True print(bool(1))   #True print(bool(0))  #false print(bool(-1))  #True 0是false,非零是True print(bool("哈哈")) # True print(bool(" ")) # 空格是True print(bool("")) # 空字符串是false 结论二:能够表示false的数据:0,"",[],{},set(),tuple(),None,false(空字符串表示false,所有的空可以表示false) print(bool([]))  # False 空列表 print(bool({}))   # False 空字典 print(bool(set()))   # False 空集合 None 空,真空 print(bool(None))   #false # while 1:  # while True: # 底层一定会有 True => 1的过程 #     print("还我钱") 4.str 认识字符串(重点,多) 字符:单一的文字符号 字符按照固定的顺序连成串 字符串:被''或者""'或者'''或者"""括起来的内容就是字符串 索引:  编号,顺序  从0开始 索引使用[下标]获取数据,索引还可以到这数,起始位置 -1 s = "今天中午吃胡辣汤"   # 索引使用[下标]获取数据 print(s[3])   #午 print(s[2])   #中   print(s[-5])  #午 print(s[-3])  #胡 print(s[-6])   #中 切片  s[start:end:step]     start:开始    end:结束,取不到    step:步长,控制方向,每xxx个取一个(+代表从左往右取值,-代表从右往左取值) 切片:从一个字符串中截取出一部分字符串       [strat:end]    顾头不顾尾,end取不到,默认的是从左往右切. s = "中间的,你们为什么不说话.难受" print(s[3:7])  # ,你们为 print(s[5:9])  # 们为什么 print(s[-3: -7])  # 切不到东西, 默认是从左往右切 print(s[-7: -3])  # 么不说话 print(s[:6])  # 从头开始切 print(s[6:])  # 切到末尾 print(s[:])  # 从开始到结束     [start:end;step]  步长step:默认是1,每xxx个取一个,默认是从左往右切 s = "abcdefghiklmn" print(s[::2])    #acegiln print(s[1:5:3])  #be print(s[7:3])    # 默认步长1 从左往右切 print(s[7:3:-1])  # 从右往左切,顾头不顾尾,取第7位不取第3位,反过来取值 # step可以控制方向. 如果step是正数. 从左往右切. 如果是负数 . 从右往左切 print(s[-1:-8: -2]) # nljh       step可以控制方向,如果step是证书,从左往右切,如果是负数,从右往左切 s = "分出你我的什么队不是迅达看得开科技联合" print(s[3:9])   #我的什么队不 print(s[-2:-7:-2])    #联科得 print(s[3::-3])     #我分 print(s[::-1])  #合联技科开得看达迅是不队么什的我你出分   判断是否是回文 s = "黄山落叶松叶落山黄" s2 = s[::-1] # 翻过来 if s == s2:     print("是回文") else:     print("不是回文")   一大波操作 字符串是不可变的类型,不论如何操作,对原来的字符串是不会有任何改变 s1    capitalize()   把首字母变成大写,返回给你一个新的字符串 s = "qwertuio" s1 = s.capitalize() print(s1)   title()  标题,把字符串中每个单词的首字母大写 s = "qwertuio" s1 = s.title() print(s1) 1. upper() 转换成大写,忽略大小写(主要是用在验证码) s = "alex sb dsb bigsb" s1 = s.upper() print(s1) while True:     content = input("请输入你要说的话 输入Q退出:")     if content.upper() == "Q": # 当需要忽略大小写的时候         break     print("你想对打野说", content)  # 验证码  verifyCode = "aEmn"  veri = input("请输入你的验证码(%s)" % verifyCode)  if veri.upper() == verifyCode.upper(): # 忽略掉用户输入的大小写      print("验证码是正确的")  else:      print("验证码错误") lower() 转换成大写,忽略大小写(主要是用在验证码) lower() 和upper()相反 center()   中间,居中,括号里面的是长度 s = "alex" s6 = s.center(10, "*") # 长度, 用_填充 print(s6) strip()  去掉左右两端的空白(空格,  \t,      \n),所有用户输入的内容都要去空白,中间的内容不会动    \t就是tab,    \n是换行 s = "\n\nalex    is      sb      " print(s) s1 = s.strip() # 去掉左右两端的空白(空格, \t, \n), 中间的内容不会动 print(s1) 结果:alex    is      sb uname = input("请输入你用户名:").strip()  # 干掉用户的空格 upws = input("请输入你的密码:").strip()  # 干掉用户的空格 if uname =="alex" and upws == "123":     print("登录成功") else:     print("登录失败")   s = "sbalexsbwusirsb" print(s.strip("sb")) # 去掉左右两端的sb  2.字符串的替换 replace(old,new) 把old换成new s = "       good alex good wusir good 大虾 good 胡辣汤     " s8 = s.replace("good", "sb")     # 把s中的good替换成sb print(s8) s9 = s.replace(" ", "") print(s9) s10 = s.replace("good", "sb", 2) # 字符串替换2次 print(s10) 字符串的切割  split  切出来的结果互放到列表中,刀如果把头切割,一定有空字符串 s = "alex 昨天给我们涨工资了? 不可能" lst = s.split("alex") # 切出来的结果会放在列表中, 刀如果把头了. 一定会产生空字符串 print(lst) #['', ' 昨天给我们涨工资了? 不可能'] s = "不知道你这个是什么,你在说一次" s1 = s.split("不知道") print(s1)   #['', '你这个是什么,你在说一次'] startswith()判断是否已什么开头,endswith()判断是否已什么结尾. name = input("请输入你的名字:")  # 张开 if name.startswith("张"):     print("领钱") else:     print("不领钱") count()计数 s = "alex 昨天给我们涨工资了? 不可能" lst = s.count("x") # 切出来的结果会放在列表中, 刀如果把头了. 一定会产生空字符串 print(lst) 结果:主要记住这个数字出现的次数 find()查找,如果存在,返回索引,如果不存在返回-1 s = "滋滋冒油的猪蹄子" print(s.find("牛")) # 用这个 结果:-1 index()如果找到了返回索引,找不到,报错 条件判断    isalpha() 是否有基本的文字组成,是否是有字母组成(包括中文) isdigit()   判断时候是数字组成     digit  数字  %d len()   字符串长度,内置函数 s = "6690701704707" print(len(s))   #13  # 用while循环. 获取到每一个字符  i = 0  # 索引  while i < len(s):      print(s[i])      i += 1 for变量in  可迭代的对象:       无法看到字符的索引           循环体(break,countinue) for c in s: # c: charactor(字符) s: string             print(c)  
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄