• python基础一数据类型之字符串


    摘要:

    python基础一中有字符串,所以这篇主要讲字符串。

    一,字符串的注释

     

    二,字符串的索引与切片

     

    三,字符串的方法

     

    一,字符串的注释

    单引号 双引号 三引号都可以用户定义字符串。三引号不仅可以定义字符串,还可以用于注释。

    str = 'abcedfg'
    str = "abcedfg"
    str = '''abcedfg'''
    注释如下:
    '''
    this is tes
    '''
    

      

    二,字符串的索引与切片

    a = 'abcefg'

    a[0] 索引的值

    a[0:2] 切片的值

    注意:

    正常情况下,小的数值放在前面,如果指定步长的值为负数,那么此时大的数值放可以放到前面。

    1, 顾头不顾尾

    2, 从左往右切 (默认只能)

    3, 要想从右往左切,需要加一个负数

    三,字符串的方法

    1,capitalize  (将首字母变换成大小)
    
    str1 = 'abc123321cda'
    
    str1.capitalize()
    
          运行结果:Abc123321cda
    

      

    2,center  center(self, width, fillchar=None)    内容居中,width:总长度;fillchar:空白处填充内容,默认无.self不用填写
    str1 = 'abc123321cda'
    
    str1.center(20,'#')
          运行结果:'####abc123321cda####'
    

      

    3,count (关键字的个数)
    
    str1 = 'abc123321cda'
    
    str1.count('a')
    
          运行结果:2
    

      

    4,endswith' (以什么结尾,返回bool值)
    
    str1 = 'abc123321cda'
    
    str1.endswith('a')
    
          运行结果:True
    

      

    5,expandtabs (将制表符转换为空格,默认1个制表符为8个空格)
    
    str1 = 'abc	123321cda'
    
    str1.expandtabs(16)
    
          运行结果:abc             123321cda
    

      

      

    6,find  find(sub [,start [,end]]) 寻找子序列的位置,如果没找到,则返回-1.
    
    str1 = 'abc123321cda'
    
    str1 = 'abc123321cda'
    
             运行结果:2
    
    7,format  字符串格式化,动态参数。其中{0},{1}为占符。
    
    str1 = 'ab{0}123321cd{1}'
    
    str1.format('c','a')
    
             运行结果:'abc123321cda'
    
    8,index index(sub [,start [,end]]) 寻找子序列的位置,如果没有,则报错,和find类似。
    
    str1 = 'abc123321cda'
    
    str1.index('a')
    
             运行结果:'0'
    

      

    9,isalnum  是否只由数字和字母组成,以bool值返回。
    
    str1 = 'abc123321cda'
    
    str1.isalnum()
    
             运行结果:True
      
    

      

    10,isalpha  是否为字母,以bool值返回。
    
    str1 = 'abc123321cda'
    
    str1.isalpha()
    
             运行结果:False
      
    

      

    11,isdigit  是否数字,以bool值返回。
    
    str1 = 'abc123321cda'
    
    str.isdigit()
    
             运行结果:False
    

      

    12,islower  是否全为小写,以bool值返回。
    
    str1 = 'abc123321cda'
    
    str1.islower()
    
             运行结果:True
    

      

    13,isspace  是否全为空格,以bool值返回。
    
    str1 = 'abc   123321cda'
    
    str1.isspace()
    
             运行结果:False
    
    14,istitle  判断每个字符串第一个字母是不是大写,其他是不是小写
    
    str1 = 'Abc123321Dda'
    
    str1.istitle()
    
             运行结果:True
    

      

    15,isupper 判断每个字符串是否都为大写
    
    str1 = 'Abc123321Dda'
    
    str1.isupper()
    
             运行结果:False
    

      

    16,join 连接字符串
    
    str1 = 'abc123'
    
    '_'.join(str1)
    
             运行结果:'a_b_c_1_2_3'

    这个我一般用于列表的连接。例如:

    list1 = ['hello','boy']
    ','.join(list1)
        
         运行结果:'hello,boy'

      

    17,ljust (self, width, fillchar=None)   内容左对齐,右侧填充。
    
    str1 = 'Abc123321Dda'
    
    str1.ljust(20,'#')
    
             运行结果:'Abc123321Dda########'
    

      

    18,lower 所有字符串大小字母变小写
    
    str1 = 'Abc123321Dda'
    
    str1.lower()
    
             运行结果:'abc123321dda'
    

      

    19,lstrip  lstrip(self, chars=None)  去除左侧字符,默认为空白。
    
    str1 = '      Abc123321Dda'
    
    str1.lstrip()
    
             运行结果:'Abc123321Dda'
    20,partition   (self, sep) 分割切前中后三部分,以元祖形式返回
    
    str1 = 'Abc123321Dda'
    
    str1.partition('33')
    
             运行结果:('Abc12', '33', '21Dda')
    

      

    21,replace   替换字符串
    
    str1 = 'Abc123321Dda'
    
    str1.replace('A','a')
    
             运行结果:'abc123321Dda'
    

      

    22,rfind  查找子序列的位置  和find类似,它是从右往左找,或者说是最后1个子序列的位置,如果没找到,返回-1.
    
    str1 = 'Abc123321cda'
    
    str.rfind('c')
    
             运行结果:9
    

      

    23,rindex 查找子序列的位置  和index类似,它是从右往左找,或者说是最后1个子序列的位置,如果没找到,报错!
    
    str1 = 'Abc123321cda'
    
    str.rindex('c')
    
             运行结果:9
    

     

    24,rjust (self, width, fillchar=None) 内容右对齐,右侧填充。
    
    str1 = 'Abc123321Dda'
    
    str1.rjust(20,'#')
    
    运行结果:'########Abc123321Dda'
    

      

     

    25,rpartition   (self, sep) 分割切前中后三部分,以元祖形式返回,从右向左切割,即以最后1个关键字作为切割符。
    
    str1 = 'Abc123321Dda'
    
    str1.rpartition('2')
    
             运行结果:('Abc1233', '2', '1Dda')

      

    26,rsplit(self, sep=None, maxsplit=None)  maxsplit指定切割的次数   切割,从右边开始切割,切割的字符不会出现到切割元祖中。
    
    str1 = 'Abc123321Dda'
    
    str1.rsplit('2')
    
             运行结果:['Abc1', '33', '1Dda']
    

      

    27,rstrip  rstrip(self, chars=None)  去除右侧字符,默认为空白。
    
    str1 = 'Abc123321Dda   '
    
    str1.rstrip()
    
             运行结果:'Abc123321Dda'
    

      

    28,split(self, sep=None, maxsplit=None)  maxsplit指定切割的次数   切割,从左边开始切割,切割的字符不会出现到切割元祖中。
    
    str1 = 'Abc123321Dda'
    
    str1.split('2')
    
             运行结果:['Abc1', '33', '1Dda']

      

    29,splitlines  以换行符(
    )作为分割,以列表形式返回。
    
    str1 = 'Abc123
    321Dda',
    
    str1.splitlines()
    
             运行结果:['Abc123', '321Dda']
    

      

    31, startswith' (以什么开头,返回bool值)
    
    str1 = 'abc123321cda'
    
    str1.startswith('a')
    
          运行结果:True
    

      

    32, strip 去除左右2边字符,默认空格。
    
    str1 = '    abc123321cda  '
    
    str1.strip()
    
          运行结果:'abc123321cda'
    
    
    str1 = '-abc123abc#'
    str1.strip('-#') 运行结果:'abc123abc'

      

    33, swapcase 小写变大写,大小变小写
    
    str1 = 'Abc123321cD'
    
    str1.startswith('a')
    
          运行结果:'aBC123321Cd'
    

      

    34, title 字符串首字母转换成大写
    
    str1 = 'abc123321cd'
    
    str1 = str1.title()
    
    
          运行结果:'Abc123321Cd'
    

      

    35, translate  translate(table[, deletechars])  返回翻译后的字符串(较复杂,要想要translate,就需要先用maketrnas创建翻译表)
    
    table -- 翻译表,翻译表是通过maketrans方法转换而来。
         
    deletechars -- 字符串中要过滤的字符列表。
    from string import maketrans
    
    intab = 'abcde'
    outtab = '12345'
    trantab = maketrans(intab,outtab)
    
    str1 = 'abcdefg'
    print str1.translate(trantab)
    
          运行结果:'12345fg’,从运行结果可以发现其实是将abcde用12345替代了而已
         
    

      

     

    36, upper 小写字母转换成大写
    
    str1 = 'abc123321cd'
    
    str.upper()
    
    
          运行结果:'ABC123321CDA'
    

      

    37, zfill 返回指定个数的字符串,原字符串右对齐,前面填充0
    
    str1 = 'abc123321cd'
    
    str1.zfill(20)
    
          运行结果:'000000000abc123321cd'
    

      

  • 相关阅读:
    Joshua Bloch错了? ——适当改变你的Builder模式实现
    集成基于OAuth协议的单点登陆
    集成基于CAS协议的单点登陆
    数据库设计中的Soft Delete模式
    完成C++不能做到的事
    ExtJS in Review
    DTO – 服务实现中的核心数据
    保存好你的密码 —— 从芝麻金融被攻破说起
    WPF
    C# 反编译防范
  • 原文地址:https://www.cnblogs.com/lin1/p/8073628.html
Copyright © 2020-2023  润新知