目录
1 字符串基础
1.1 声明字符
1.2 单、双引号
1.3 链接字符
1.4 三引号
1.5 转义字符
2 字符串遍历
2.1 字符串的拼接
2.2 获取字符串的索引
2.3 字符串的遍历
3 字符串常见操作
3.1 常见
3.1.1 format——格式化字符串
3.1.2 strip——剔除
3.1.3 count ——计数
编辑
3.2 切割与拼接
3.2.1 拼接
3.2.2 分隔
3.3 查找与替换
3.3.1 查找
3.3.2 替换
3.4 转换大小写
3.5 对齐
3.6 编码与解码
3.7 字符判断
3.8 开始和结尾
可以使用单引号,也可以使用双引号
# 声明字符串
s0 = "hello world"
print(type(s0))
s1 = 'hello world'
print(type(s1))
若一行中要出现引号,单引号、双引号要搭配使用
# 假如字符串中有引号符号
s2 = "'i' am a girl"
print(s2)
s2 = '"i" am a girl'
print(s2)
PEP8规范要求单行字符不超过120个字符,字符过多时,可以使用 “ \ ” 连接,打印后仍未同一行字符
# 使用\连接字符串
s3 = "abcdefg" \
"a2543153+-*/" \
".zbfzfbzdb!" \
"@##$" \
"%%^&&*()_"
print(s3)
(1)用于带格式的字符串
# 三引号打印带格式的字符串
s4 = """ this is china。
1235
4568
8963
"""
print( s4)
(2)用于文档注释或者类注释,一般放于开头,不输出任何东西。
"""
这里是文档注释
字符串是基本数据类型
str()可以将任意数据类型转换为字符串
单引号、双引号都可以声明字符串
三引号生命特殊格式字符串,以及文档注释,以及类注释
"""
(3)获取某模块的文档注释方法
例如:获取math模块的文档注释,
# 需要先导入模块
import math
# 获取random模块的文档注释
print(math.__doc__)
输出如下图所示:
打开math模块的.py文件可以看到该模块的文档注释:
转义字符 \ 会将后续内容转义
例如:输入网址:\\192.168.10.55
要想输出\符号,需要用到转义字符,告诉计算机这只是一个简单的符号
Python中“\n”表示换行,要想打印该字符就要用转义字符进行转移
其他有意义符号部分如下:
\n | 换行符 |
\t | 制表符 |
\” |
双引号 |
\' | 单引号 |
\b | 退格键 |
# 转义字符\ 会将后续内容转义
s7 = "网盘的链接地址是 \\\\192.168.10.55"
print(s7)
s8 = "想要换行输入\\n就可以了"
print(s8)
s9 = "想要使用制表符输入\\t就可以了"
print(s9)
s10 = "想要输入双引号输入\"\"就可以了"
print(s10)
s11 = '想要输入单引号输入\'\'就可以了'
print(s11)
s12 = "哎呦喂奥恩"
print(s12)
简单拼接,使用“ + ”号进行拼接,
字符串*数字 还可以输出多次该字符串
# 拼接
s0 = "hello"
s1 = "world"
s2 = s1 + s0
print(s2)
print(s2 * 3)
(1)查看字符串的长度,及某个位置的字符
# 索引:下标
# 从首字符开始
s0 = "hello world"
print(len(s0))
# [0, len-1]
print(s0[0], s0[6], s0[10])
(2)若查看的位数超过字符的长度,会显示索引越界
(1)遍历字符串,使用for循环
# 遍历
input_str = input("输入字符串")
# 简单适合只是获取字符串内容
for c in input_str:
print(c)
input_str = input("输入字符串")
for i in range(len(input_str)):
print(i, input_str[i])
小练习:输入一个字符串判断字符串是否对称
# abcdcba
s = input("输入字符串")
# 获取字符串的长度整除2 只需判断一般就可以知道是否对称
# 整除是因为奇数的话最中间的数不用看
for i in range(len(s) // 2):
if s[i] != s[len(s)-1-i]:
break
else:
print("是")
a = 10
b = 20
print(f"a = {a}, b = {b}")
# 格式化字符串 默认按照顺序赋值 也可以指定参数位置
print("a = {}, b = {}".format(a, b))
默认剔除空格,也可以指定剔除字符
print(" 你好 ".strip())
print("****你好=====".lstrip("*"))
print("****你好=====".rstrip("="))
统计字符串出现次数, 默认到结尾,也可指定开始 和 结束位置
print("123123123123123".count("123"))
print("123123123123123".count("123", 3, 9))
使用指定的字符串将可迭代(使用for循环遍历)内容拼接
print("+".join("hello world"))
print("+".join(["1", "2", "3", "4", "5"]))
# 分隔
print("中华人民共和国合同法".split("共"))
(1)find
返回该字符出现位置,可以指定查找起始位置和最后位置
print("123123123123".find("2"))
print("123123123123".find("123", 5, 9))
print("123123123123".rfind("123", 5, 9))
(2)index
类似于find,但是若查找不到会报错
# 类似find找不到直接报错
print("23123123123123".index("123"))
print("23123123123123".rindex("123", 2))
# 首字母大写
print("hello world".capitalize())
# 全部大写
print("hello world".upper())
# 全部小写
print("ABCDEFG".lower())
# 大小写切换
print("AaBbCcDd".swapcase())
# 每个单词首字母都大写
print("hello world".title())
在指定宽度下居中 默认使用空格也可以指定字符
# 在指定宽度下居中 默认使用空格也可以指定字符
print("登录".center(20, "*"))
# 居左
print("登录".ljust(20, "*"))
# 居右
print("登录".rjust(20, "*"))
# 居右填充0
print("登录".zfill(20))
# encode编码
print("中国".encode())
str_encode = "中国".encode()
print(str_encode)
# decode解码
print(str_encode.decode())
# 是否全是字母
print("print".isalpha())
# 是否全是数字
print("123".isnumeric())
# 是否是数字或字母
print("123sdv".isalnum())
# startswith 开始 endswith 结束
print("中华人民共和国合同法".endswith("合同法"))
print("中华人民共和国合同法".startswith("中"))
print("中华人民共和国合同法".replace("合同法", "劳动法"))