美文网首页
python字符串

python字符串

作者: 看不到任何出路 | 来源:发表于2020-07-12 09:28 被阅读0次
    • 基本的字符串操作:索引(不支持通过下标的方式赋值)、切片、复制、连接、判断字串
    str = 'Runoob'
    
    print (str[0])       # 输出字符串第一个字符1
    print (str[2:5])     # 输出从第三个开始到第五个的字符2
    print (str[2:])      # 输出从第三个开始的后的所有字符3
    print(str[:-1])      #输出第一个到倒数第二个的所有字符(同6)4
    print (str)          # 输出字符串5
    print (str[0:-1])    # 输出第一个到倒数第二个的所有字符6
    print()
    print (str * 2)      # 输出字符串两次,也可以写成 print (2 * str)7 
    print (str + "TEST") # 连接字符串8
    print('R' in str)     #判断字符串'R'是否str的字串,此处结果返回True
    print('oo' in str)    #判断字符串'oo'是否str的字串,此处结果返回True
    
    • [start:end:step]
    str = 'Runoob'
    # [start:end:step]
    print(str[::1])#输出:Runoob
    print(str[::2])#输出:Rno
    print(str[::-1])#输出:boonuR
    print(str[::-2])#输出:bou
    print(str[2::1])#输出:noob
    print(str[2::2])#输出:no
    print(str[2::-1])#输出:nuR
    print(str[2::-2])#输出:nR
    print(str[:2:-1])#输出:boo
    print(str[:2:-2])#输出:bo
    print(str[1:-1:1])#输出:unoo
    print(str[1:-1:2])#输出:uo
    print(str[1:-1:-1])#输出:无/原因未知
    print(str[1:-1:-2])#输出:无/原因未知
    #1. step 的 +/- 代表 从前往后/从后往前
    #2. 当 step 为 + ,从左往右索引,start 默认为:0,end 默认为:len(str)+1;当 step 为 - ,从右往左索引,start 默认为:-1,end默认为:-(len(str)+1);
    #3. 当 step 为 - ,且 start 和 end 同时指定参数时,无输出。
    #4. 初步猜测可能字符串可能是一个 "环形操作"。
    
    图片.png
    • 判断字符串是否相同
    #字符串变量和字符串常量
    str=input()
    if str[0:3]=="RMB":
        print("USD{:.2f}".format(float(str[3:])/6.78))
    if str[0:3]=="USD":
        print("RMB{:.2f}".format(float(str[3:]) * 6.78))
    
    #字符串变量和字符串变量
    str1="123"
    str2="456"
    str3="123"
    if str1==str2:
        print("str1和str2相同")
    elif str1==str3:
        print("str1和str3相同")
    #输出结果:str1和str3相同
    
    • 遍历字符串
    template = "零一二三四五六七八九"
    s = input()
    for c in s:
        print(template[eval(c)], end="")
    
    • 字符串处理函数
      len(x):返回字符串x的长度,也可以返回其它组合数据类型元素个数
      str(x):返回任意类型x所对应的字符串形式
      chr(x):返回Unicode编码对应的单字符
      ord(x):返回单字符表示的Unicode编码
    s = 'Runoob'
    n=3
    m=3.14
    print(len(s))
    print(str(n)+str(m))
    str=input()
    for c in str:
        if ord('a') <= ord(c) <= ord('z'):
            print(chr(ord('a')+(ord(c)-ord('a')+3)%26),end='')
        else:
            print(c,end='')
    
    • 字符串处理方法
      str.lower():返回字符串str的副本,全部字符小写
      str.upper():返回字符串的副本,全部字符大写
      str.islower():当str所以字符串都是小写时,返回true,否则返回false
      str.isnumeric():当str所以字符都是数字时,返回true,否则,返回false
      str.format():返回字符串str的一种排版格式。
    s="Python String"
    print(s.upper())#输出:PYTHON STRING
    print(s.lower())#输出:python string
    print(s.find('i'))#输出:10
    print(s.replace('ing','gni'))#输出:Python Strgni
    print(s.split(' '))#输出:['Python', 'String']
    
    • 用法
    1. python中字符串是定义为常量(C语言中是字符数组,C语言中的字符数组对应的是python中的列表),不支持通过下标的方式赋值。
    >>> text='python'
    >>> text[2] = 'j'
    Traceback (most recent call last):
      File "<pyshell#128>", line 1, in <module>
        text[2] = 'j'
    TypeError: 'str' object does not support item assignment
    
    1. 但是可以通过下标的方式,使用加号 + 操作符拼接出一个新字符串。
    >>> text[2] + 'j'
    'tj'
    >>> text[:2] + 'py'
    'pypy'
    

    相关文章

      网友评论

          本文标题:python字符串

          本文链接:https://www.haomeiwen.com/subject/pyhgcktx.html