• 字符串


    一、字符串(str)

    字符串的方法:
    1,find通过元素找索引,可切片,找不到返回-1
    2,index,找不到报错。
    3,split 由字符串分割成列表,默认按空格。
    4,captalize 首字母大写,其他字母小写。
    5,upper 全大写。
    6,lower 全小写。
    7,title,每个单词的首字母大写。
    8,startswith 判断以什么为开头,可以切片,整体概念。
    9,endswith 判断以什么为结尾,可以切片,整体概念。
    10,format格式化输出
    {}{}{}.format(有顺序)
    {0}{1}{2}{0}.format(有顺序的)
    '{name} {age}'.format(name=李复,age=12)
    11,strip 默认去掉两侧空格,有条件,
    12,lstrip,rstrip
    14,center 居中,默认空格。
    15,count查找元素的个数,可以切片,若没有返回0
    16,expandtabs  将一个tab键变成8个空格,如果tab前面的字符长度不足8个,则补全8个,
    17,replace(old,new,次数)
    18,isdigit       字符串由字母或数字组成

           isalpha,    字符串只由字母组成

           isalnum   字符串只由数字组成
    19,swapcase 大小写翻转
    20,for i in 可迭代对象。

    1、索引和切片[ 起始位置 : 结束位置 : 步长]

    #索引从0开始 [ 索引 (下标,index)]

    s1 = 'python全栈8期'
    print(s1[0])
    print(s1[3])
    print(s1[5])
    print(s1[6])

    输出

    p
    h
    n
    全

    #切片 顾头不顾尾(超长不报错)

    
    
    s1 = 'python全栈8期'
    print
    (s1[0:6])
    print(s1[6:20])
    print(s1[6:])
    输出
    python
    全栈8期
    全栈8期


    #倒取值:加步长

    s1 = 'python全栈8期'
    print(s1[3:0:-1])
    print(s1[3:-1])
    print(s1[5:0:-2])
    
    
    输出
    hty
    hon全栈8
    nhy
    a = 'ABCDEFGHIJK'
    print(a[0:3])
    print(a[2:5])
    print(a[0:]) #默认到最后
    print(a[0:-1]) #-1就是最后一个
    print(a[0:5:2]) #加步长
    print(a[5:0:-2]) #反向加步长
    
    输出
        ABC
        CDE
        ABCDEFGHIJK
        ABCDEFGHIJ
        ACE
        FDB

    #字符串的使用方法

    #capitalize 首字母大写,其他的全小写

    ret = 'alexS'
    ret1 = ret.capitalize()
    print(ret,ret1)
    
    输出
    alexS Alexs

    #*全大写 upper,全小写 lower

    ret = 'alexS'
    ret2 = ret.upper()
    ret3 = ret.lower()
    print(ret2,ret3)
    输出:
    ALEXS alexs

    demo

    #输入验证码,不区分大小写(使条件大写,)

    code = 'axED'
    your_code = input('请输入验证码,不区分大小写')
    if your_code.upper() == code.upper():
        print('ok')
    else:
        print('请重新输入')
    code = 'axED'.upper()
    your_code = input('请输入验证码,不区分大小写').upper()
    if your_code == code:
        print('ok')
    else:
        print('请重新输入')

    #大小写翻转   swapcase

    ret = 'alexS'
    ret4 = ret.swapcase()
    print(ret4)
    输出
    ALEXs

    #每一个字符串首字母大写 title()

    ret5 = 'xu lili+shi'
    print(ret5.title())
    输出
    Xu Lili+Shi

    #居中

    center:以一串长度的宽度返回S。填充 使用指定的填充字符(默认为空格)

    ret = 'alexS'
    print(ret.center(20))
    print(ret.center(20,'*'))
    输出
           alexS        
    *******alexS********

    #startswith 判断是否以...开头 #endswith 判断是否以...结尾

    返回的是bool值

    ret = 'alexS'
    ret6 = ret.startswith('a')
    ret7 = ret.startswith('ale')
    ret8 = ret.startswith('alexS')
    ret9 = ret.startswith('l',1,3)  # 切片 顾头不顾尾
    ret10 = ret.endswith('xS')
    print(ret6,ret7,ret8,ret9,ret10)
    输出
    True True True True True
    #数字符串中的元素出现的个数。
    ret = 'alexS,aeaeQ'
    ret3 = ret.count("a",0,8) # 可切片
    print(ret3)
    输出
    2
    #	前面的补全
    # 默认将一个tab键变成8个空格,如果tab前面的字符长度不足8个,则补全8个,
    
    
    #补充空格  expandtabs(默认是8位,超过8位则是16位,以此类推加8)
    #需加 , 前面的补全
    str = 'lishi '
    str1 = str.expandtabs()
    print(str1)
     
    
    
    a2 = "liiiiiiiiiii	ii"
    ret4 = a2.expandtabs()
    print(ret4)
    输出
    liiiiiiiiiii    ii

    # 通过下标找元素

    # * find 通过元素找到索引(找到第一个元素),找不到返回 -1

    #*  index返回的找到的元素的索引,找不到报错

    
    
    ret = 'alexS'
    ret9 = ret.find('W',0,5)
    print(ret9)
    输出
    -1

    ret10 = ret.index("fjdk",4,6)
    print(ret10)
    输出:报错
    
    

    #***strip 去除字符串前后的空格

    name = 'alex'
    username = input('请输入用户名').strip()
    if username == name:
        print('ok')
    ret = '       LiLi      '
    ret1 =ret.strip()
    print(ret1)
    ret11 = ret.rstrip()
    print(ret11)
    ret111 = ret.lstrip()
    print(ret111)
    输出:
    LiLi
           LiLi
    LiLi     

    及你想要去除的东西

    ret12 = 'aqazwsxa'.strip('a')

    print(ret12.strip('aq'))#zwsx print(ret12.strip('azw'))#qazwsx print(ret12.strip('axs'))#qazw print(ret12.strip('qwa'))#zwsx
    
    
    name='*egon**'
    print(name.strip('*')) # egon
    print(name.lstrip('*')) # egon**
    print(name.rstrip('*')) # *egon

    # **   split 以什么分割,最终形成一个列表此列表不含有这个分割的元素。

    # split 将字符串分割成列表 以什么分割,最终形成一个列表此列表不含有这个分割的元素。
    ret1 = 'lishi,jassin,helson'
    ret2 = ret1.split('i') # ['l', 'sh', ',jass', 'n,helson']
    print(ret2)
    ret1 = 'lishi,jassin,helson'
    ret3 = ret1.split(',')
    print(ret3) # ['lishi', 'jassin', 'helson']
    ret18 = 'title the tlie'
    ret19 = ret15.split('t')
    print(ret16)
    输出:['', 'i', 'le ', 'he ', 'lie']
    *****************************************#空字符串不是空格

    # ****替换  replace

    ret19 = '如果全世界都对你恶语相加我就对你说上一世情话'
    ret20 = ret19.replace('全世界','人世间',)
    print(ret20)
    输出:
    如果人世间都对你恶语相加我就对你说上一世情话

    #***   格式化输出  format

    #第一种 (有顺序)
    ret21 = 'name:{},sex:{},身高:{}'.format('lishi','girl','168')
    print(ret21)
    #第二种  (有顺序)
    ret22 = 'name:{0},sex:{1},身高:{2},' 
            'name:{0}'.format('lishi','girl','168')
    print(ret22)
    #第三种:键值对
    ret23 = 'name:{name},sex:{sex},身高:{high}'.format(name='lishi',sex = 'girl',high = 168)
    print(ret23)
    输出:
    name:lishi,sex:girl,身高:168
    name:lishi,sex:girl,身高:168,name:lishi
    name:lishi,sex:girl,身高:168

     判断字符串由什么组成

    isalnum:字母或数字     isalpha:字母    isdigit:数字

    name = '123'
    print(name.isalnum())  # 字符串由字母或数字组成
    print(name.isalpha())  # 字符串只由字母组成
    print(name.isdigit())  # 字符串只由数字组成
    输出:
    True
    False
    True
  • 相关阅读:
    SQL语法分类
    SQL语法入门
    数据库的基本对象
    数据库基础
    数据库概述
    设计模式之备忘录模式
    设计模式之State模式
    设计模式之装饰模式
    简单工厂模式
    初识C#设计模式
  • 原文地址:https://www.cnblogs.com/jassin-du/p/7718807.html
Copyright © 2020-2023  润新知