zoukankan      html  css  js  c++  java
  • 字符串

    字符串

    • 不可变对象

    • Unicode类型

    • a = r'sssssssss '

      r/R表示其后面引号中所有字符为字符串中字符

    • 可迭代

    • str.join方法 ---- 输出结果为新字符串

      str.join() 括号中只接受字符串类型,可迭代对象

      a = 'abcd'
      b = ','.join(a)
      lst = ['1','2','3']
      

    c = 'a'.join(lst)

    
    b = 'a,b,c,d'
    
    c = '1a2a3'
    
    ```python
    print('
    '.join(lst))
    

    1
    2
    3

    • str.count() 输出结果为整型,子串在原字符串中出现的次数

    字符串的分割

    • str.split(seq = None,maxsplit = -1) ---- 将字符串按照分隔符分割成若干字符串,并返回列表
      • seq指定分割字符串,缺省情况默认空白字符串作为分隔符(空白字符+,就是包括空格,tab等连在译器都是空白字符),切割后分隔符消失
      • maxsplit 指定分割次数,-1 表示遍历整个字符串,一次切成两段
      • str.rsplit()从右往左切,输出列表顺序为原来顺序,不会反转
      • str.splitlines([keepends]) 按换行符 换行,[True]表示保留换行符
    • str.partition(sep) ---(head,sep,tail) 将字符串按照分隔符分成两段,返回这两段和分隔符的元组.
      • sep为分隔符,找到第一个分割符后返回头,尾,分隔符三部分;若没找到分隔符,返回,字符串,两个空元素的三元组.
      • 不给定分隔(或给一个空值)符报错,
      • str.rpartition(),从右到左切割,若无分隔符,输出两个空值加原字符串组成的三元组

    字符串大小写

    • str.upper() 全大写

    • str.lower() 全小写

    • str.swapcase() 大小写互换

    字符串的修改

    • str.replace(old,new[,count]) 返回新字符串

      • 字符串中找到 匹配子串替换为新字符串,返回新字符串

      • count表示 替换 几次,默认全部替换

    • str.strip([chars]) 返回新字符串,

      • 默认除去两侧空格
      • 括号内字符会依次被从两侧去掉
      • str.lstrip() 去左边
      • str.lstrip() 去右边

    字符串的查找(O(n))

    • str.find(sub[,start[,end]]) 返回整型,在指定区间内[start,end)由左到右查找子串sub,找到返回值为字串第一个字符的索引,没找到返回 -1,

    • str.rfind(sub[,start[,end]]) 返回整型,在指定区间内[start,end)由右到左查找子串sub,返回值为字串第一个字符的索引,没找到返回 -1,

    • str.index(sub[,start[,end]]) 返回整型,在指定区间内[start,end)由左到右查找子串sub,返回值为字串第一个字符的索引,没找到报ValueError

    • str.rindex(sub[,start[,end]]) 返回整型,在指定区间内[start,end)由右到左查找子串sub,返回值为字串第一个字符的索引,没找到报ValueError

    • str.count(sub[,start[,end]]) 返回整型,在指定区间内[start,end)由左到右查找子串出现的次数,返回值次数,没有返回0

    字符串的判断

    • str.endswith(suffix[,start[,end]]) 判断在指定区间[start,end)内,字符串是否以suffix结尾,返回值为布尔值,前提始末位置要包含子串

    • str.startswith(prefix[,start[,end]]) 判断在指定区间[start,end)内,字符串是否以prefix开头,返回值为布尔值,前提始末位置要包含子串

    字符串的格式化

    'i like %03d' %(20,) 后面的%后接单值,元组或者字典,0表示不足的用0部位,3表示共三位

    "{}{名称}".format(*args,**kwargs) --- 输出字符串,

    args是位置参数 ,是一个元组

    kwargs是关键字参数,是一个字典,与{}中关键字匹配

    {{}}表示打印花括号

    '{0}*{1}={2:< 02}'.format(3,2,2 * 3) 默认右对齐

    ​ 3为0位,2为1位,:<为左对齐,0为0补充占位,^为居中,*为填充

    '{:*^30}'.format('centered')

    ​ ^为居中,*为填充

    进制

    'int:{0:d};hex:{0:#x};oct:{0:#o};bin:{0:#b}'.format(42)
    
    'int:42;hex:0x2a;oct:0o52;bin:0b101010'
    

    ![](D:python课后题笔记图片格式化字符串 02.jpg)

    f'{}'f让{}内的字符串变成了变量名

    f'{s:*^10}' *补位符,^居中,共十位

    f'{x:.5f}' 小数点后5位

  • 相关阅读:
    python近期遇到的一些面试问题(一)
    python selenium 三种等待方式详解
    Nginx的ip_hash指令
    Nginx Tengine ngx_http_upstream_check_module 健康功能检测使用
    一个奇怪的网络故障 默认网关为0.0.0.0(Windows)
    win2003 server的域用户加入本地管理员组
    linux 添加secondary ip
    亚马逊云VPS AWS更改LINUX为ROOT权限密码登陆
    亚马逊云EC2做PPTP SERVER的笔记
    Linux性能分析 vmstat基本语法
  • 原文地址:https://www.cnblogs.com/agsol/p/11506515.html
Copyright © 2011-2022 走看看