| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [View Raw Code] [Original HTTPS Page] |
字符串概述 : 使用 ''/""/''''''' 包裹起来的数据
字符串声明 :
不可变类型 : 字符串一旦创建,内存中就不允许修改,如果需要修改,实在内存重新分配空间存储新字符串
字符串索引 : 变量名[索引值]
字符串切片 : 变量名[start, stop[, step]]
字符串拼接 :
赋值语句
字符串函数
字符串查找
| 方法 | 描述 |
|---|---|
| .find() | 查找,返回从左第一个指定字符的索引,找不到返回 -1 |
| .rfind() | 查找,返回从右第一个指定字符的索引,找不到返回 -1 |
| .index() | 查找,返回从左第一个指定字符的索引,找不到报错 |
| .rindex() | 查找,返回从右第一个指定字符的索引,找不到报错 |
| .count() | 计数,返回查找字符在字符串中个数 |
| .endswith(suffix[, start[, end]]) | 返回值为 布尔值,如果以指定的后缀结尾,则返回True,否则返回False。start 为开始位置,end为结束位置,默认为整个字符串 (Python内置) |
| .startswith(prefix[, start[, end]]) | 返回值为 布尔值,如果以指定的字符串开头,则返回True,否则返回False。start 为开始位置,end为结束位置,默认为整个字符串 (Python内置) |
字符串拆分
| 方法 | 描述 |
|---|---|
| .partition() | 把 字符串 以 从左到右第一个匹配到的字符分为三个部分 (str 前、自身、后) |
| .splitlines() | 按行 (换行符) 分割,返回一个包含各行作为元素的列表 |
| .split() | 按照指定"元素"分割,maxsplit: 默认将指定所有内容进行分割,可以指定 maxsplit 值 (maxsplit值为 1 只按照第一个指定内容分割,后面不分个割) |
>>> str = "124\n441"
>>> str.splitlines()
['124', '441']
>>> str.partition("\n")
('124', '\n', '441')
>>> str.split("4")
['12', '\n', '', '1']
```
字符串替换
| 方法 | 描述 |
|---|---|
| .replace() | 从左到右替换指定元素,可以指定替换个数,默认全部替换 |
| .translate() | 按照对应关系替换内容 from string import maketrans |
字符串修饰
| 方法 | 描述 |
|---|---|
| .center(width, fillchar) | 让字符串在指定长度居中,如果不能居中 左短右长,可以指定填充内容,默认空格填充,如果指定长度小于原字符串长度则返回原字符串 |
| .ljust(width, fillchar) | 让字符串在指定长度左对齐,可以指定填充内容,默认空格填充,如果指定长度小于原字符串长度则返回原字符串 |
| .rjust(width, fillchar) | 让字符串在指定长度右对齐,可以指定填充内容,默认空格填充,如果指定长度小于原字符串长度则返回原字符串 |
| .zfill(width) | 返回指定长度的字符串,使原字符串右对齐,前面用 0 填充到指定字符串长度,若指定长度小于字符串长度,则直接输出元字符串 |
| .format(value, format_spec) | 通过 {} 和 : 代替之前的 % 。使用 format() 格式化字符串时,子字符串中使用 {} 作为占位符,占位符的内容将引用 format() 中参数进行替换。 |
| .strip(chars) | 去除字符串 开头结尾 处指定的字符,不会去除字符串中间对应的字符,默认为空格 (chars : 要去除字符) |
| .rstrip(chars) | 截掉字符串右边空格或指定字符,默认为空格 (chars : 要去除字符) |
| .lstrip(chars) | 截掉字符串左边空格或指定字符,默认为空格 (chars : 要去除字符) |
字符串格式化
format() 用法
# 数据传参
>>> "年龄: {}, 性别: {},姓名:{}".format(19, "男", "小明")
'年龄: 19, 性别: 男,姓名:小明'
# 通过索引设置
>>> print("年龄: {2}, 性别: {1},姓名:{0}".format("小明","男", 19))
年龄: 19, 性别: 男,姓名:小明
# 通过 键值对索引 设置
>>> "年龄: {age}, 性别: {gender},姓名:{name}".format(name="小明",gender="男", age=19)
'年龄: 19, 性别: 男,姓名:小明'
# 字典传参
>>> info = {"name": "小红", "age": 18}
>>> "姓名:{name},年龄:{age}".format(**info)
'姓名:小红,年龄:18'
>>> print("{:0<10}".format("你好"))
你好00000000
>>> print("{:0^10}".format("你好"))
0000你好0000
>>> print("{:0>10}".format("你好"))
00000000你好
>>> print("{:.2f}".format(2))
2.00
>>> print("{:b}".format(2))
10
>>> print("{:0>10.2f}".format(16))
0000016.00
>>> print("{:o}".format(16))
20
>>> print("{:x}".format(16))
10
字符串格式化 --> 百分号
| 格式 | 描述 |
|---|---|
| %% | 百分号标记 |
| %s | 字符串 |
| %f | 浮点型数字 |
| %d/i | 有符号整数 (十进制) |
字符串格式化 --> f-string
>>> f"{2*8}"
'16'
>>> f"{13:.2f}"
'13.00'
>>> f"{13:b}"
'1101'
>>> f"{13:o}"
'15'
>>> f"{13:x}"
'd'
字符串变形
| 方法 | 描述 |
|---|---|
| .upper() | 将字符串中的所有小写字母转换为大写字母 |
| .lower() | 将字符串中的所有大写字母转换为小写字母 |
| .swapcase() | 将字符串str中的大小写字母同时进行互换。即字符串中大写字母转换为小写字母,小写字母转换为大写字母。 |
| .title() | 返回一个满足 标题格式 的字符串。即所有英文单词首字母大写,其余英文字母小写 |
| .capitalize() | 将字符串的第一个字母变成大写,其余字母变为小写 |
| .expandtabs() | 把字符串中的 tab 符号 (\t) 转化为空格 (\t 默认空格数为 8 ) |
| .casefold() | 将字符串中的所有大写字母转换为小写字母。也可以将 非英文语言 中的大写转化为小写 |
字符串判断
| 方法 | 描述 |
|---|---|
| .isalnum() | 检测字符串是否由字母和数字组成。str 中至少有一个字符且所有字符都是字母或数字则返回 True,否则返回 False |
| .isalpha() | 检测字符串是否只由字母组成。字符串中至少有一个字符且所有字符都是字母则返回 True,否则返回 False |
| .isdigit() | 检测字符串是否只由数字组成。字符串中至少有一个字符且所有字符都是数字则返回 True,否则返回 False (① 也是数字) |
| .isupper() | 检测字符串中字母是否全由大写组成。(可包含非字母字符),返回值为 布尔值 |
| .islower() | 检测字符串中字母是否全由小写组成。(可包含非字母字符),返回值为 布尔值 |
| .istitle() | 检测判断字符串中所有首字母是否为大写,且其他字母是否为小写,字符串中可以存在其他非字母的字符。若字符串中所有单词的首字母大写,其他字母小写返回 True 否则返回 False |
| .isspace() | 检测字符串是否由空格组成。若只包含空格返回 True ,否则返回 False |
| .endswith(suffix[, start[, end]]) | 返回值为 布尔值,如果以指定的后缀结尾,则返回True,否则返回False。start 为开始位置,end为结束位置,默认为整个字符串 (Python内置) |
| .startswith(prefix[, start[, end]]) | 返回值为 布尔值,如果以指定的字符串开头,则返回True,否则返回False。start 为开始位置,end为结束位置,默认为整个字符串 (Python内置) |
| .split() | 按照指定"元素"分割,maxsplit: 默认将指定所有内容进行分割,可以指定 maxsplit 值 (maxsplit值为 1 只按照第一个指定内容分割,后面不分个割) |
字符串编码
转义字符 (改变原有字符意义)
| 转义 | 描述 |
|---|---|
| \ | 产生一个 反斜杠 () 符号 |
| ' | 产生一个 单引号 (') |
| " | 产生一个 双引号 (") |
| \n | 换行 |
| \t | 横向制表符 (tab) 占 8 个字符 |
| \newline | 连续 (当一行代码太长时使用) |
| \other | 不转义,保留原有字符 |
repr() (一个字符串 n 个 '', 不足 偶数个 '' 系统转义时 会自动添加一个 n+1 个 '', repr() 对 系统增加过的 n+1 个 '' 双倍转义产生 2n 个 '', print() 输出时 输出 转移之后的 n/2 个 '')
>>> '\\\你好'
'\\\\你好'
>>> repr('\\\你好')
"'\\\\\\\\你好'"
>>> print('\\\你好')
\\你好
str = input("输入 带有 '\\ 的 字符串: ")
str_count = str.count('\\')
while str_count % 2 != 0:
str_count += 1
else:
print(f'系统处理时 返回 \\ 个数为 {str_count}')
print(f"repr() 返回 \\ 个数为 {str_count*2}")
print(f'print() 输出时 输出 \\ 个数为 {str_count//2}')元字符串
| Back | FazBrowse Home | New Git URL |