1.数据类型
数字 int 主要是用于计算用的,使用方法并不是很多。如 1 100 1000
布尔值 bool 就两种,True,False。用以反应条件的正确与否。如 True False
字符串 str 用以存储少量数据,进行操作。如 ‘I am a boy’ ‘大量子’
列表 list 储存大量的数据。如 [1,2,3,‘泰哥‘,‘12353234‘,[1,2,3]]
元祖 tuple 只读的列表。如 (1,2,3,‘第三方‘,)
字典 dict:用以储存信息的键值对(关系型数据) 字典{‘云姐‘:[],‘二哥‘:[200,200,200,。。。。。。]}
集合(很少用到):{1,2,34,‘asdf‘}
2.各数据类型的常用功能
1 int i
求位的长度 i.bit_length() 用二进制表示的最小位数
1 bit_length 2 1 0000 0001 1 3 2 0000 0010 2 4 3 0000 0011 2
int 和str的相互转化
1 int ----> str 2 i = 1 3 s = str(i)
str和int的相互转化
1 str ---> int 2 s = ‘123‘ 3 i = int(s)
2 bool
int ----->bool 0 ----False 非0----True
bool(6)---- True
bool(0)----False
bool----> int True----1 False----0
int(True)---- 1
int(False)---- 0
空字符串都是False,非空字符串都是True。
高端条件写法(转化效率高):
1 while True: 2 pass 3 while 1: 效率高 4 pass
判断用户是否输入:
1 s = input(‘xxx’) 2 if s: 3 print(‘你输入的为空,请重新输入‘) 4 else: 5 pass
3 str
s = ‘ABCDLSESRF‘
索引
字符串的第一个字符的位置是 0!!!
1 s1 = s[0] 拿第0个字符 2 s2 = s[2] 拿第2个字符 3 s3 = s[-1] 拿倒数第一个字符 4 s4 = s[-2] 拿倒数第二个字符
切片 :顾头不顾尾
1 s5 = s[0:4] 取前4位字符 2 s6 = s[0:-1] 取从头到尾不包含最后一位的字符 3 s7 = s[:] 取全部内容 4 s8 = s[0:] 取全部内容 5 s9 = s[0:0] 空字符串 啥也没取
s = ‘ABCDLSESRF‘ # s[首:尾:步长]
1 s10 = s[0:5:2] 取前5个 步长为2 2 s11 = s[4:0:-1] 从第4位取到第1位 不包含第1位 3 s12 = s[3::-1] 从第3位取到头 4 s13 = s[3::-2] 从第3为以步长为2的取到头
s = ‘ABCDLSESRF‘
1 s14 = s[-1::-1] 从最后一位取到头 2 s15 = s[::-1] 从最后一位取到头
s = ‘alexWUsir‘
首字母大写 s1 = s.capitalize()
全大写,全小写(可以用在用户输入处理和数据库数据比对)(对数字没有影响)
1 s2 = s.upper() 2 s21 = s.lower()
大小写翻转
1 s3 = s.swapcase()
每个隔开(特殊字符或者数字)的单词首字母大写
1 s = ‘alex*egon-wusir‘ 2 s4 = s.title()(a e w 字母大写了)
1 s = ‘fade,crazy*w4rri0r_songsong node_3‘ 2 s4 = s.title()(f c w r r s n 字母大写了)
居中,空白填充
1 s5 = s.center(20,‘~‘)(填充长度 填充内容)
用8位一组的空格,填充/t之前的内容 超过8位的按照16位 24位计算(不是很常用)
1 s6 = s.expandtabs()
求长度 len(s) (基本字符 能看到的长度)
1 s7 = len(s)(所占字符)
以什么开头结尾
1 s8 =s.startswith(‘alex‘) 2 s81 = s.startswith(‘e‘,2,5) 3 s9 =s.endswith(‘alex‘) 4 s91 = s.endswith(‘e‘,2,5)
find 通过元素找索引,找不到返回-1
index通过元素找索引,找不到报错
1 s8 = s.find(‘A‘) 2 s81 = s.index(‘A‘)
strip 默认删除前后空格lstrip(左删除) rstrip(右删除)
在lstrip()中可以添加要删除的内容(只针对前后内容 不针对中间内容)(可以用在用户输入处理和数据库数据比对)
其工作原理是清理strip()中的内容 碰到不一样的停止清理
1 username = input(‘请输入名字:‘).strip() 2 if username ==‘春哥‘: 3 print(‘恭喜春哥发财‘) 4 5 s = ‘alexWUsir%‘ 6 s9 = s.strip(‘%‘)(去除%) 7 s = ‘ *a%lexWUsi* r%‘ 8 s91 = s.strip(‘ %*‘)(去除 %*)
计算出现的次数s.count(‘内容‘)
1 s = ‘alexaa wusirl‘ 2 s10 = s.count(‘al‘) 3 print(s10)
split分割,可以将字符串转化为列表。
1 s = ‘;alex;wusir;taibai‘ 2 l = s.split(‘a‘)(输入要分割的内容) 3 print(l)
format的三种方法 格式化输出
1 s = ‘我叫{},今年{},爱好{},再说一下我叫{}‘.format(‘太白‘,36,‘girl‘,‘太白‘)(一一对应) 2 name = input(‘请输入名字:‘) 3 s = ‘我叫{0},今年{1},爱好{2},再说一下我叫{0}‘.format(name,36,‘girl‘)(按照位置对应) 4 name = input(‘请输入名字:‘) 5 s = ‘我叫{name},今年{age},爱好{hobby},再说一下我叫{name}‘.format(age=18,name=name,hobby=‘girl‘)(名字对应)
替换s.replace(‘’,‘’,) (原先内容,替换内容,替换次数)
1 s = ‘隔壁老王来街坊探亲,探亲用了2天‘ 2 s11 = s.replace(‘街坊‘,‘老王‘,1) 3 print(s11)
for循环(遍历)
1 s = ‘fhdsklfds‘ 2 for i in s: 3 print(i)
in 在...中(in的条件只能放一个)
s = ‘fdsa苍井空fdsalk‘ if ‘苍井空‘ in s: print(‘您的评论有敏感词...‘)