字符串的操作

目录

  1. Python 的对象
  2. 字符串操作以及他的内置函数

    1. 字符串的函数操作
    2. 字符串的编码格式
    3. 字符串的格式化
    4. 字符串的转义字符

1. Python 的对象

什么是对象 (Object)

  1. Python中一切都是对象
  2. 每个对象都有各自的属性以及方法
  3. 对象里的贴点就是它的属性,他的功能就是他的方法

2. 字符串操作以及他的内置函数

1. capitalize

  • 将字符串的首字母大写,其他字母小写
  • 只对第一个字母大写有效
  • 只对字母有效
  • 已经是大写则无效
name = "xiaoYu"
new_name = name.capitalize()
print(new_name) # 输出 XiaoYu

2. lower 与 casefold

  • 将字符串全体小写
  • 只对字母有效
domain = "WWW.XYBLOG.CC"
new_domain = domain.lower()
print(new_domain) # 输出 www.xyblog.top

3. upper

  • 将字符串全部大写
  • 只对字母有效
name = "xiaoyu"
new_name = name.upper()
print(new_name) # 输出 XIAOYU

4. swapcase

  • 将字母大小写转换
  • 只对字母有效
name = "xIAOyU"
new_name = name.swapcase()
print(new_name) # 输出 XiaoYu

5. zfill

  • 为字符串定义长度,不满足使用 0 填补
  • 如果定义长度小于当前字符串长度,则不发生变化
  • 传入:定义长度
name = "XiaoYu"
new_name = name.zfill(10)
print(new_name) # 输出 0000XiaoYu

6. count

  • 返回字符串某个元素的个数
  • 如果元素不存在,返回 0
  • count 函数可以使用索引限制字符串的字段
  • 传入:查找的元素
domain = "www.xyblog.cc"
print(domain.count("w")) # 输出 3

7. startswith 与 endswith

  • startswith 判断字符串开始是否为某个元素
  • endswith 判断字符串结尾是否为某个元素
  • 传入:用于判断的元素
domain = "www.xyblog.cc"
print(domain.startswith("www")) # 输出 true
print(domain.endswith("cc")) # 输出 true

8. find 与 index

  • find 与 index 都是返回寻找的成员的起始位置
  • 如果 find 找不到元素,返回 -1
  • 如果 index 找不到元素,会导致程序报错
  • 传入:查找的元素
domain = "www.xyblog.cc"
print(domain.find("www")) # 输出 0
print(domain.find("cc")) # 输出 11

9. strip

  • 去掉字符串左右两边的指定元素,默认是空格
  • 传入的元素如果不在开头或结尾则无效
  • lstrip 去掉字符串开头的元素或空格
  • rstrip 去掉字符串结尾的元素或空格
domain = "  www.xyblog.cc  "
print(domain.strip) # 输出 www.xyblog.tt

10. replace

  • 将字符串中的原本的元素替换成新的元素,并能指定替换的数量
  • 传入:原本的元素,用作替换的元素,替换的数量(可选)
domain = "www.baidu.cc"
print(domain.replace("baidu", "xyblog")) # 输出 www.xyblog.cc

11. isspace

  • 判断字符串是否由空格组成
print("   ".isspace()) # 输出 True
print("www.xyblog.cc".isspace()) # 输出 False

12. istitle

  • 用于判断是否一个标题
title = "Hello World"
print(title.istitle()) # 输出 True
title = "hello world"
print(title.istitle()) # 输出 False

13. isupper 与 islower

  • 判断字符串是否全部大写或小写
name = "XYBLOG"
print(name.isupper()) # 输出 True
print(name.islower()) # 输出 False

2. 字符串的编码格式

常见的编码格式

  1. ASCII 英文编码
  2. GBK 中文编码
  3. UTF-8 国际通用编码

3. 字符串的格式化

什么是格式化

一个固定的字符串中有部分的元素是根据变量的值而改变的字符串

根据类型定义的格式化

字符串格式化使用操作符 % 来实现

print("My blog url is %s and creator is %s" % ("www.xyblog.cc", "苏云曦"))
# 输出 My blog url is www.xyblog.cc and creator is 苏云曦

字符串格式化函数 format

  • format格式化使用{}大括号来代替格式符
  • 传入:要格式化的数据
print("My blog url is {0} and creator is {1}".format("www.xyblog.cc", "苏云曦"))
# 输出 My blog url is www.xyblog.cc and creator is 苏云曦

格式化符号

符号说明
%s格式化字符串,通用类型
%d格式化整型(int)
%f格式化浮点型(float)
%u格式化无符号整型(unsigned int)
%c格式化字符(char)
%o格式化无符号八进制数
%x格式化无符号16进制数
%e科学计算法格式化浮点数

4. 字符串的转义字符

什么是转义字符

  • 字符转成其他含义的功能
  • \ + 字符

Python中的转义字符

符号说明
\n换行
\t横向制表符(tab)
\r回车
\\转义斜杠
\"转义双引号(用于双引号字符串内输出双引号)
\'转义单引号(功能同上)

设置转义无效

  • Python 中在字符串前添加 r 来防止字符串转义
print(r"this is a good idea \r\n")
# 输出 this is a good idea \r\n