今日讲解内容:
1,int数字:运算。1 ,2,3...
# 数字类型:int
#范围。用于运算, + - * / // %....
bit_lenth :十进制数字用二进制表示的最小位数
a=10 print(a.bit_length()) # 4
2,bool。判断真假:True, False.
2.1 bool转字符串
b1 = True b2 = False st = str(b2) print(st,type(st)) # False <class 'str'>
2.2 字符串转布尔
除了空字符串以外的的所有字符串转化为bool都是True
# bool--->str值 a = str(True) # 'True' a1 = str(2 > 1) # 'True' print(a1,type(a1)) #True <class 'str'> # 字符串可以做if 条件 #name = input('请输入字符串') # if name: # print('输入正确')
3,str。简单少量的储存数据,并进行相应的操作。
3.1 字符串的索引与切片。
索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推。
注:超出范围不报错
s1 = 'python全栈8期' print(s1[0]); print(s1[1]) ; print(s1[2]) ;print(s1[3]) ;print(s1[4]) ;print(s1[5]) ; # python
print(s1[0:100]) #python全栈8期
3.2切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(索引:索引的形式是左闭右开区间)。
#切片 顾头不顾腚 print(s1[0:6]) # python #倒取值:加步长 print(s1[3::-1]) # htyp print(s1[5:0:-2]) # nhy print(s1) #不变 s2 = s1[-5:-1:1]#n全栈8 s2 = s1[-5:-1:-1]#'' print(s2)
3.3 字符串常用方法。
(1)变大写
a = 'alex' print(a,a.upper()) # alex ALEX
(2)变小写
a = 'Alex' print(a,a.lower()) # Alex alex
(3)除了首字母其他字母全变小写
a = 'alEX' print(a,a.capitalize()) # alEX Alex
(4)中间有字符间隔的首字母大写其他字母小写
a = 'alEX dave +luly,lulcy' print(a,a.title()) # alEX dave +luly,lulcy Alex Dave +Luly,Lulcy
(5)以变量为中心步长变为某个值,然后以空格或者字符填充
a = 'alex' print(a,a.center(6),len(a.center(6))) # 没有长度会报错,长度可以等于本身 长度为奇数,空格在左边 alex alex 6 print(a,a.center(5,'*'),len(a.center(5))) #填充物必须加引号 alex *alex 5
(6)以8为基数,把长度不足8的字符串变成8 把不足16的字符串变成16 达到某种对齐
a = 'alex ' #遇到字符串中含有 可使用否则无效 默认长度是8 可以赋值其他 b = 'aaaaaaaalex ' print(a.expandtabs(),len(a.expandtabs())) # alex 8 print(b.expandtabs(),len(b.expandtabs())) # aaaaaaaalex 16 print(a.expandtabs(10),len(a.expandtabs(10))) # alex 10 print(b.expandtabs(10),len(b.expandtabs(10))) # aaaaaaaalex 20
(7)判断以什么开头 或者一段切片以什么开头
a = 'alex' val = a.startswith('a') print(val) # True val2 = a.startswith('aL') print(val2) # False val3 = a.startswith('al') print(val3) # True val4 = a.startswith('l',1,-1) # 切片中可以是负数,但不能倒叙 print(val4) # True
(8)判断以什么结尾或者一段切片以什么结尾
a = 'alex' val = a.endswith('x') print(val) # True val2 = a.endswith('eX') print(val2) # False val3 = a.endswith('ex') print(val3) # True val4 = a.endswith('e',1,-1) # 切片中可以是负数,但不能倒叙 print(val4) # True
(9)翻转大小写
a = 'alEx' print(a.swapcase()) # ALeX
(10)去除空格,去除左右空格 去除首尾的某些字母
a = ' al ex ' print(a.strip()) # al ex print(a.lstrip()) # al ex 右边有没去掉 print(a.rstrip()) # al ex print(a.strip('abcde')) # 首尾字母在中间字符串中的都被删掉,遇到不在字符串的直接终止 print(a.strip(' ax')) # 不能加数字
(11)计算某个元素出现的个数,或者一个切片中某元素出现的次数
a = 'alexalea' print(a.count(a)) # 元素必须是字符串 print(a.count('a')) # 3 print(a.count('a',0,5,)) # 2
(12)元素分割
a = 'alexalea' print(a.split('a')) # ['', 'lex', 'le', ''] print(a.split('a',2)) # ['', 'lex', 'lea'] print(a.split('a',0)) # ['alexalea'] 最大切割次数可以是0 ,也可是负数也可以比该元素本身大 -1表示全部切割 print(a.split('a',-1)) # ['', 'lex', 'le', ''] print(a.split('al')) # ['', 'ex', 'ea'] #不支持切片 不支持倒序
rsplie 是从右侧开始切割
(13)字符串格式化
a = 'name:{} age:{} high:{}'.format('alex',18,'175cm') print(a) # name:alex age:18 high:175cm a = 'name:{0} age:{1} high:{2} name{2}'.format('alex',18,'175cm') print(a) # name:alex age:18 high:175cm name175cm a = 'name:{name} age:{age} high:{high} name2:{name}'.format(name='alex',age=18,high='175cm') print(a) # name:alex age:18 high:175cm name2:alex
(14)判断字符串的组成类型
a = 'abcd123' print(a.isalnum()) # 判断字符串是否由字母或数字组成 T print(a.isalpha()) # 判断是否全部由字母组成 F print(a.isdigit()) # 判断是否全部由数字组成 F print(a.isdecimal())#判断是否能转化为数字 F
(15)输出某个元素的第一个索引
# * find 通过元素找到索引(找到第一个元素),找不到返回-1 a1 = a.find('a') a2= a.find('W',0,5) a3= a.find('a',2,5) # 输出的是元素原来所在字符串的索引 print(a1) # 0 print(a2) # -1 print(a3) # 3 # #index 和find用法一模一样,找不到元素,就会报错 a5= a.index('a',2,5) print(a5) # 3 # 输出的是元素原来所在字符串的索引 #a4 = a.index('w') # print(a4 # 报错
(16)将字符串中的某个元素替换
a = 'abcdeabcdef' c = a.replace('a','b',1) # 次数为零不替换 b = a.replace('e','x',1) # 从右向左,默认是从左向右的 print(b,c)
(17)for 循环在字符串中的循环
index = 0 while True: print(s[index]) index += 1 if index == len(s):break #for 变量 in 可迭代对象 for i in s: print(i)
4,tupe。(1,'alex')
5,list:大量数据,[1,'ses',True,[1,2,3],{'name':'jinxin'}]
6,dict:字典{'name':'jinxin','age':18,'name_list':['张三','李四']}
7,set。