python学习 day3 (3月4日)---字符串

字符串:

下标(索引)

切片[起始:终止]

步长[起始:终止:1] 或者-1 从后往前 -1 -2 -3 

15个专属方法:

1-6  : 格式:大小写 , 居中(6)

s.capitalize()     s.title()     s.upper()   s.lower()    sss.swapcase()
sss.center(20)
s = 'liu#yang'
s1 = s.capitalize()  #首字母大写
print(s1)
s2 = s.title()        # 非字母隔开的
print(s2)
s3 = s.upper()  # 全都大写
print(s3)
s4 = s.lower()  # 全都小写
print(s4)
sss = 'LiuYang'
s5 = sss.swapcase()  # 和原来大小写相反
print(s5)
s6 = sss.center(20)  # 空出 20  左右吗?   个格
s6 = sss.center(20,'*')  # 空出 20  左右吗?   个格
print(s6)       #******LiuYang****  可以用来这样 注释

实例:

验证码登录验证两个问题:

  (1).不分大小写

  (2).有空格或者是指标等问题 

#1.验证码的  问题  都变成一样大的  然后再匹配相等  而不是 2**4
code = 'liuyang'.upper()
# username = input('姓名').upper()
while True:
    your_code = input('姓名').upper()
    if code == your_code:
        print("ok")
        break
    else:
        print("请重新输出:")
code = 'liuyang'.upper()
# 2.username = input('姓名').upper()
while True:
    your_code = input('姓名').strip()
    if code == your_code:
        print("ok")
        break
    else:
        print("请重新输出:")

       重要的三个 方法: 去除 ,分割, 嵌入   :s.strip()   s.split()   s9='*'.join(l1)

去除:默认去除两边空格

  指定去除特定元素

分割:str --------------> list 

嵌入:list --------------> str

7.去除:s.strip()方法:

#  strip  去除  默认去除 空格 制表符 换行符 但是 也可以指定元素 从左或右
s = 'qwasxlexyt'
s7 = s.strip('qwla')    # 不按顺序  切片  去除字符 (条纹)
print(s7)          # 同时从两边检索
s7 = s.strip('xle') # 从左边开始检索
print(s7)
s7 = s.rstrip('t')      # 特殊字符停止吗?
s71 = s.strip('t')
print(s7)
print(s71)
s7 = s.strip('ytq')    #  不论顺序 ,从两边 中间的就不行了
# print(s7)

8.分割: s.split() 方法

# str --------------> list  *********
s = 'a b c'
l = s.split()    # (分裂)
print(l) # ['a', 'b', 'c']
l = s.split(',')
print(l)  #  ['a b c']  去了, 变成了一个元素

s = 'a刘a洋a'  #  有多少个  输出多一个 列表元素
print(s)
l = s.split('a')  #所以有四个
print(l)
l = s.split('a' , 1)  # 分为两个
l1 = s.rsplit('a' , 1)  # 从右往左输出
print(l)
print(l1)
#['a刘a洋', '']

9.嵌入:s9='*'.join(l1)  # join 虽然处理的是可迭代,但是还是最终处理的是字符串(同学说的)

int 错误[1,2,3]或者str[list]   [‘1’,‘2’,‘3’]对

#  join ***  嵌入元素  ***
s = 'liuyang'
s9 = '*'.join(s)
print(s9)
l1 = ['liuyang' , 'gege' , 'mengge']
s9 = ','.join(l1)
print(l1) # ['liuyang', 'gege', 'mengge']
print(s9)#liuyang,gege,mengge     # 操作列表  变成字符串吗?
dic = {'2':3, '3':3,'1':3}
l1 = '*'.join(dic)
2*3*1

10. 判断开头结尾:s.startswith()     s.endswith()

s = 'liuyang'
s10 = s.startswith('a')
print(s10)
s11 = s.endswith('g')
print(s11)

12.找某个字符的索引: find()

# find 找某个字符 的 索引 **
s = 'liuyang'
s12 = s.find('l')
print(s12)
s12 = s.find('i' , 2 , ) # 从第三位开始
print(s12)    # 找不到就抱-1
# s13 = s.index('i' , 2 ,)
# print(s13) #  找不到就报错

index

14替换:replace()

# 替换
s = "刘洋学习 python , python 简单 , python 执行效率高"
print(s)
s14 = s.replace('python','Java')
print(s14)

15.第二种格式化输出:format ()

###############################format  除了字符串 外的 格式化输出
s =  '我们{}, 今天{} , 学习{}' # 注意用英文 , 括号 会打两下
s15 = s.format('20期','星期一','python')
print(s15)
s =  '我们{0}, 今天{1} , 学习{2} , 生命苦短,我用{2} ' # 注意用英文 , 括号 会打两下
s15 = s.format('20期','星期一','python')
print(s15)
s =  '我们{name}, 今天{time} , 学习{lesson} , 生命苦短,我用{lesson} ' # 注意用英文 , 括号 会打两下
s15 = s.format(name='20期' , lesson= 'java' ,time = '星期一')
print(s15)

16.判断:isdigit()  isalpha()  isalnum()

# is 判断
s = 'liuyang'
s1 = '5shiliuyang'
s2 = '1111111'
print(s.isdigit()) # 只有数字组成
print(s.isalnum())  #数字和字母
print(s.isalpha())  # 只有字母组成

17数数: 公共方法 和 专属方法

# 数数
print(len(s))
print(s.count('l'))
print(s2.count('1'))
lis.sort() # 从小到大大
lis.sort(reverse = True) # 从大到小
lis = [1,2,3]

new_lis = lis.reverse() # 倒序
print(new_lis) # 过程 为None
print(lis) # [3,2,1]

 元组:

()  (22) (22,)

posted @ 2019-03-04 23:16  learnacode  阅读(195)  评论(0编辑  收藏  举报