Python 字符串基本特性及方法

记录于 9.27.

短路现象

指python在执行 或 or 的时候,它在运行到or前为真值的时候,即停止运行后面的代码

同一运算符

  • is 判断两个标识符是不是引用同一个对象,也即比较ID地址
  • == 用于判断引用变量引用对象的值是否相等,也即对比两个堆中的value
  • 【-5,256】会缓存这部分数,因此值相等的时候,地址(ID)也是一样
  • is 要比 == 效率要高

字符串

  • 字符串不可修改
  • 只能复制部分或者增加形成新的字符串
  • Python不支持单字符类型,单字符也是作为一个字符串使用的
  • Python3直接使用Unicode编码,默认为16位Unicode编码
  • 使用内置函数ord()可以把字符转换成对应的Unicode码
  • 使用内置函数chr()可以把十进制数字转换成对应的字符

字符串切片

  • str() 可以将其他数据类型转换成字符型
  • 使用 [] 提取字符

字符串更改

  • .replace(str1, str2) 本质上创建了一个新的字符串,原有的字符串是不可变的
  • 对原有的字符串进行更改需要重新进行赋值
  • 在对字符串进行拼接时,尽量使用list对象存储,再用.join(),效率相比+好很多
  • +号拼接时会生成新的对象

字符串驻留

  • 当标识符仅包含下划线、字母和数字时,会启用字符串驻留机制
  • 可以节省内存空间

字符串

  • 查找方法
  • len()
  • .startswith(str) 查看是否以某字符串开头
  • .endswith(str) 查看是否以某字符串结尾
  • .find(str) 查找字符串第一次出现的index
  • .rfind(str) 查找字符串最后一次出现的index
  • .count(str) 查找字符串出现的次数
  • .isalnum() 所有字符全是字母或数字
  • .strip() 去除首尾字符信息,不填的话去掉空格符
  • .lower() 将字符串中的字母改为小写
  • .upper() 将字符串中的字母改为大写
  • .capitalize() 产生新的字符串,首字母大写
  • .title() 产生新的字符串,每个单词首字母大写
  • .swapcase() 产生新的字符串,大小写转换
  • .center(num, str) 以多少个字符显示,填充指定字符,并居中
  • .ljust() 同上,左对齐
  • .rjust() 同上,右对齐,默认以空格填充
赞赏