目录
1. 字符串基础
2. 字符串遍历
3. 字符串常见操作
字符串是一种数据类型,用来表示一段文本或字符序列。
单引号
s1 = 'hello world'
print(type(s1))
双引号
s0 = "hello world"
print(type(s0))
三引号
声明特殊格式字符串,以及文档注释和类注释
"""
这里是文档注释
字符串是基本数据类型
str()可以将任意数据类型转换为字符串
单引号,双引号都可以声明字符串
"""
s6 = """
*
***
*****
*******
*
*
*
"""
print(type(s6), s6)
# import random
# 获取random模块的文档注释
# print(random.__doc__)
在Python中,字符串可以用单引号、双引号或三重引号括起来,单引号和双引号要嵌套使用,单行字符串不要超过120个字符,若字符过长可以使用 \ 连接换行字符串.
# 假如字符串中有引号符号
s2 = 'this is a "example"'
print(type(s2))
# 换行 \
s4 = "heloo world" \
"this is china"
print(type(s4), s4)
特殊字符:
1. \\ 表示反斜杠字符本身
# 转义字符 \会将后续内容转义
s7 = "网盘的连接地址是 \\\\192.168.10.55\\public"
print(s7, type(s7))
2. \n 表示换行符
s8 = "想要换行输入\\n就可以了"
print(s8, type(s8))
3. \t 表示制表符
s9 = "想要使用制表符输入\\t就可以了"
print(s9, type(s9))
4. \" 表示双引号字符
s10 = "想要输入双引号输入\"就可以了"
print(s10, type(s10))
5. \'表示单引号字符
s11 = '想要输入双引号输入\'就可以了'
print(s11, type(s11))
6. \b 表示退格符
s12 = "哎呦喂\b奥恩"
print(s12, type(s12))
索引下标
下标从 0 开始,因此第一个字符的下标为 0,而最后一个字符的下标为 -1。如果使用超出范围的下标访问字符串中的字符,会导致 IndexError 异常,通过索引可以找到字符串中的任意一个字符。
# 输入一个字符串,判定字符串是否对称
# abcdcba
# 1234554321
# s[i] = S[len(s)-1-i]
s = input("输入字符串")
for i in range(len(s)//2):
if s[i] != s[len(s)-1-i]:
print("不对称")
break
else:
print("对称")
直接获取每一个字符
for c in s:
i 代表每一个字符的索引,s[i] 代表索引i对应的字符
for i in range(len(s)):
例题: 输入一个字符串,判定字符串是否对称
# abcdcba
# 1234554321
# s[i] = S[len(s)-1-i]
s = input("输入字符串")
for i in range(len(s)//2):
if s[i] != s[len(s)-1-i]:
print("不对称")
break
else:
print("对称")
1.格式化
format:默认按照顺序赋值,也可以指定参数位置
print("a={1}, b={0}".format(a, b))
2.剔除
strip:剔除空格,也可指定剔除指定字符
print(" 你好 ".strip())
print("***你好***".lstrip("*"))
print("***你好***".rstrip("*"))
2.统计
count:统计字符出现的次数 默认到结尾,也可指定开始和结束位置(不包含)
print("123123123123".count("123", 4, 9))
3.切割与拼接
split: 将字符串使用指定内容切割成列表
print("中华人民共和国合同法".split("共"))
join :使用指定的字符串将可迭代(可以使用for循环)内容拼接
print("+".join("hello world"))
print("+".join(["1", "2", "3"]))
4.查找与替换
find:默认整个字符串查找第一次出现的位置,也可指定开始和结束位置
print("123123123123".find("123", 6, 8))
# 从右侧匹配第一个,若找不到,返回-1
print("123123123123".rfind("123"))
index :类似find,找不到报错,rindex 从右侧开始找
print("123123123123".index("123", 2, 6))
replace:将原有内容替换成新内容
print("中华人民共和国合同法".replace("合同法", "劳动法"))
5.转换大小写
# 首字母大写
print("hello world".capitalize())
# 全部大写
print("hello world".upper())
# 全部小写
print("HELLO WORLD".lower())
# 大小写切换
print("HELLO world".swapcase())
# 单词首字母大写
print("hello world".title())
6.对齐
# 在指定宽度下居中,默认使用空格,也可指定字符,填充够指定宽度
print("登录".center(20, "*"))
# 居左
print("登录".ljust(20, "*"))
# 居右
print("登录".rjust(20, "*"))
# 填充0
print("登录".zfill(20))
7.编码解码
# encode 编码
str_encode = "中国".encode(encoding="GB1312")
print(str_encode)
# decode 解码
print("中国".decode())
8.字符判断
# 是否全是字母
print("abcAZ".isalpha())
# 是否全是数字
print("123456".isalnum())
# 字母或数字
print("abc123".isnumeric())
9.开始结尾
# 开始 结尾
print("中华人民共和国合同法".endswith())
print("中华人民共和国合同法".startswith())