day3_课程

一、什么是数据据类型   

1、int为数字类型,例:1,2,3用于计算。

2、bool为布尔型:Ture,Flase,用户判断。

3、str为字符型:存储少量数据,进行操作。 'fjdsal' '二哥','`13243'等等。

4、list为表单型:存储大量的数据,[1,2,3,'泰哥','12353234',[1,2,3]]等等。

5、元组型:为只读数据,  (1,2,3,'第三方',)等等。

6、dict为字典型:字典{{'name':'云姐','age':16}, 字典{'云姐':[],'二哥':[200,200,200,。。。。。。]}

7、集合:{1,2,34,'asdf'}

二、课堂内容   

 

#int型数据所占的二进制位数
i = 100
print(i.bit_length()) #7位

 

#int类型转换成str
i = 1
s = str(i)
print(s)
#str型转换为int
s = '123'
i = int(s)
#int型转换为bool  只要是0 ----》False  非0就是True
i = 1
b = bool(i)
print(b)  #返回true
while True:
    pass
while 1:
    pass
#使用这种循环结构,效率比较高
#str型转换为bool,非空字符串都是True,空格也范围True
s = '我爱你'
i = bool(s)
print(i)   #返回True
#判断输入字符为空
s = input('请输入:')
if s:
    print('你输入的为空,请重新输入')
else:
    pass

 

三、字符串的索引与切片

#索引切片,从字符串中挑
s = 'ABCDLSESRF'
s1 = s[0]   #输出A
print(s1)
s2 = s[2]   #输出C
print(s2)
s3 = s[-1]   #输出F
print(s3)
s4 = s[-2]   #输出R
print(s4)
#可自由支配切片范围
s = 'ABCDLSESRF'
s5 = s[0:4]
print(s5)             #输出ABCD
s6 = s[0:-1]
print(s6)             #ABCDLSESR
s7 = s[:]
s8 = s[0:]
s10 = s[:-1]
print(s7, s8, s10)   #ABCDLSESRF ABCDLSESRF ABCDLSESR
s9 = s[0:0]
print(s9)           #没有任何输出
s11 = s[0:12]
print(s11)           #ABCDLSESRF
s12 = s[-12:12]
print(s12)           #ABCDLSESRF
s13 = s[-12:]
print(s13)           #ABCDLSESRF
s = 'ABCDLSESRF'  # s[首:尾:步长]
s10 = s[0:5:2]    #从s字符中下标为0的字符,正方向,间隔1位取L至A共3个字符,为ACL
print(s10)
s11 = s[4:0:-1]   #从s字符中下标为4的字符,反方向取L至B共4个字符,为LDCB
print(s11)
s12 = s[3::-1]    #从s字符中下标为3的字符,反方向全取字符,为DCBA
print(s12)
s13 = s[3::-2]    #从s字符中下标为3的字符,反方向间隔取字符,为DB
print(s13)
s14 = s[-1::-2]    #从s字符中下标为-1的字符,反方向间隔取字符,为FSSDB
print(s14)
s15 = s[-2::-3]    #从s字符中下标为-2的字符,反方向间两个间隔取字符,为RSC
print(s15)
s = 'ABCDLSESRF'
s14 = s[-1::-1] #FRSESLDCBA
print(s14)
s15 = s[::-1]  #FRSESLDCBA
print(s15)

四、字符串操作     

#转换首字母大写
s = 'alexWUsir'
s1 = s.capitalize()  # 首字母大写
print(s1)  #输出Alexwusir
ss = 'ALEXWUSIR'
s2 = ss.capitalize()  # 首字母大写
print(s2)  #输出Alexwusir
# 全大写,全小写
s = 'alexWUsir'
s2 = s.upper()  # 全大写
s21 = s.lower()# 全小写
print(s2, s21)#输出ALEXWUSIR alexwusir
#输入验证码,不区分大小写
s_str = 'acEQ1'
you_input = input('请输入验证码,不区分大小写')
if s_str.upper() == you_input.upper():
    print('输入成功')
else:
    print('请重新输入')

 

#大小写翻转
s = 'alexWUsir'
s3 = s.swapcase()
print(s3)    #ALEXwuSIR
# 每个隔开(特殊字符或者数字)的单词首字母大写
ss = 'alex*egon-wusir'
s4 = ss.title()
print(s4)   #Alex*Egon-Wusir
sss = 'fade,crazy*w4rri0r_songsong node_3'
s4 = sss.title()
print(s4)   #Fade,Crazy*W4Rri0R_Songsong Node_3
#居中,空白填充
s = 'alexWUsir'
s5 = s.center(20, '~')
s6 = s.center(20)
print(s5)#~~~~~alexWUsir~~~~~~
print(s6)#     alexWUsir
#expandtabs()配合\t使用为中间间隔8个位置,即2个tab键位置,//expandtabs译为扩充标签
s = '\tsir'
s6 = s.expandtabs()
print(s6)#        sir
ss = 'alex\tsir'
s6 = ss.expandtabs()
print(s6)#alex    sir
sss = 'alex\tsir'
s7 = sss
print(s7)#alex    sir
#识别字符长度
s = 'alex二哥'
l = len(s)
print(l) #6
#以什么开头结尾 endswith
s = 'alexWUsir'
s7 = s.startswith('alex')    #判断字符串中是否有“alex”的前缀  返回true
s71 = s.startswith('e', 2, 3)#判断字符串下标从2开始至下标3中,是否有“e”的前缀  返回true
print(s7, s71)
#例子,用来判断
if s7:
    print('有alex开头的字符串')
    pass
elif s.startswith('W', 4, 6):
    print('有W开头的字符串')
    pass
print(s7)
# find 通过元素找索引,找不到返回-1
# index通过元素找索引,找不到报错
s = 'alexWUsir'
s8 = s.find('A')
print(s8, type(s8))#find 通过元素找索引,找不到返回-1
s81 = s.index('A')
print(s8, type(s8))# index通过元素找索引,找不到程序报错

 

#strip删除左右两边的字符 rstrip从右往左的字符 lstrip删除从左往右的字符
s = 'alexWUsir%'
s9 = s.strip('%')
print(s9)#alexWUsir
ss = ' *a%lexWUsi* r%'
s91 = ss.strip(' %*')
print(s91)#a%lexWUsi* r
sss = 'a%lexWUsi* r%'
s92 = sss.rstrip('%')
print(s92)#a%lexWUsi* r
ssss = 'alexWUsi* r%'
s93 = ssss.lstrip('a')
print(s93)#lexWUsi* r%
# strip 默认删除前后空格
username = input('请输入名字:').strip()
if username == '春哥':
    print('恭喜春哥发财')#输入名字中包含空格不影响判断
username1 = input('请输入名字:')
if username1.strip() == '春哥':
    print('恭喜春哥发财')#输入名字中包含空格不影响判断
s = 'ale xaa wusirl'
s10 = s.count('al')   #计算al字符在字符串中有几个    输出为1
s11 = s.count('a')   #计算a字符在字符串中有几个    输出为3
s12 = s.count(' ')   #计算空格字符在字符串中有几个    输出为2
print(s10, s11, s12)
# split   str ---->list
s = ';a lex;wusir;taibai'
l = s.split('a')
print(l)#[';', 'lex;wusir;t', 'ib', 'i']  剔除a,将其它变为list格式
a = s.split(';')
print(a)#['', 'a lex', 'wusir', 'taibai'] 剔除;,将其它变为list格式
b = s.split(' ')
print(b)#[';a', 'lex;wusir;taibai' ] 剔除空格,将其它变为list格式
C = s.split('l')
print(C)#[';a ', 'ex;wusir;taibai']  剔除l,将其它变为list格式
#format的三种玩法 格式化输出
s = '我叫{},今年{},爱好{},再说一下我叫{}'.format('太白', 36, 'girl', '太白')
print(s)
name = input('请输入名字:')
ss = '我叫{0},今年{1},爱好{2},再说一下我叫{0}'.format(name, 36, 'girl')
print(ss)
name1 = input('请输入名字:')
sss = '我叫{name},今年{age},爱好{hobby},再说一下我叫{name}'.format(age=18, name=name1, hobby='girl')
print(sss)
#字符替换
s = '来看待街坊邻居复合大师街坊法好的街坊客户'
s11 = s.replace('街坊','老王', 1)
print(s11)#来看待老王邻居复合大师街坊法好的街坊客户
s12 = s.replace('街坊','老王', 2)
print(s12)#来看待老王邻居复合大师老王法好的街坊客户
s12 = s.replace('街坊','老王', 3)
print(s12)#来看待老王邻居复合大师老王法好的老王客户
#for...in...,从哪到哪,然后循环
s = 'fhdsklfds'
for a in s:
    print(a)
s1 = 'fdsa苍井空fdsalk'
if '苍井空' in s1:
    print('您的评论有敏感词...')

 

posted @ 2019-01-31 17:22  vellan  阅读(100)  评论(0编辑  收藏  举报