1.字符串运算符
 
| 作符 | 描述 | 
|---|
| + | 字符串连接 | 
| * | 重复输出字符串 | 
| [] | 通过索引获取字符串中字符 | 
| [ : ] | 截取字符串中的一部分,遵循左闭右开原则,str[0:2] 是不包含第 3 个字符的。 | 
| in | 成员运算符 - 如果字符串中包含给定的字符返回 True | 
| not in | 成员运算符 - 如果字符串中不包含给定的字符返回 True | 
 
# 字符串连接
str1 = "Hello"
str2 = "World"
result = str1 + str2  # 输出: HelloWorld# 字符串重复
str3 = "Ha"
result = str3 * 3  # 输出: HaHaHa# 字符串索引
text = "Python"
char = text[0]  # 输出: P# 字符串切片
text = "Python Programming"
slice_str = text[0:6]  # 输出: Python# 成员运算符
text = "Hello Python"
print("Hello" in text)  # 输出: True
print("Java" not in text)  # 输出: True
 
 2.字符串格式化
 
| 作符 | 描述 | 
|---|
|       %c |  格式化字符及其ASCII码 | 
|       %s |  格式化字符串 | 
|       %d |  格式化整数 | 
|       %o |  格式化无符号八进制数 | 
|       %x |  格式化无符号十六进制数 | 
|       %f |  格式化浮点数字,可指定小数点后的精度 | 
|       %e |  用科学计数法格式化浮点数 | 
 
name = "张三"
age = 25
height = 1.75# %s 字符串格式化
print("姓名: %s" % name)  # 输出: 姓名: 张三# %d 整数格式化
print("年龄: %d岁" % age)  # 输出: 年龄: 25岁# %f 浮点数格式化
print("身高: %.2f米" % height)  # 输出: 身高: 1.75米# 多个变量格式化
print("个人信息 - 姓名: %s, 年龄: %d岁, 身高: %.2f米" % (name, age, height))# 其他格式化示例
num = 42
print("十六进制: %x" % num)  # 输出: 十六进制: 2a
print("八进制: %o" % num)    # 输出: 八进制: 52
print("科学计数: %e" % 1234.5678)  # 输出: 科学计数: 1.234568e+03
 
3.f-string
 
- 格式化字符串以 f 开头,后面跟着字符串,字符串中的表达式用大括号 {} 包起来,它会将变量或表达式计算后的值替换进去。
 - 比起上述格式化方法个,更简洁,不用再去判断类型。
 
 
name = "李四"
age = 30
score = 98.5# 基本用法
print(f"姓名: {name}")  # 输出: 姓名: 李四
print(f"年龄: {age}岁")  # 输出: 年龄: 30岁
print(f"成绩: {score}分")  # 输出: 成绩: 98.5分# 表达式计算
x = 10
y = 20
print(f"{x} + {y} = {x + y}")  # 输出: 10 + 20 = 30# 调用函数
def get_square(n):return n * n
number = 8
print(f"{number}的平方是{get_square(number)}")  # 输出: 8的平方是64# 字典访问
student = {"name": "王五", "grade": "A"}
print(f"学生{student['name']}的等级是{student['grade']}")  # 输出: 学生王五的等级是A# 对齐和填充
print(f"{'左对齐':<10}|")  # 输出: 左对齐    |
print(f"{'右对齐':>10}|")  # 输出:     右对齐|
print(f"{'居中':^10}|")    # 输出:    居中   |# 进制转换
num = 42
print(f"十进制: {num}")         # 输出: 十进制: 42
print(f"二进制: {num:b}")       # 输出: 二进制: 101010
print(f"十六进制: {num:x}")     # 输出: 十六进制: 2a
 
4.字符串常用的内置函数
 
| 作符 | 描述 | 
|---|
| len() |  获取字符串长度 | 
| upper() |  转化为大写 | 
| lower() |  转化为小写 | 
| strip() |  去除首尾空白字符 | 
| split() |  字符串分割 | 
| join() |  字符串连接 | 
| replace() |  字符串替换 | 
| find() 和 index() |  字符串查找子串 | 
| startswith(str) | 判断字符串是否以str开头 | 
| endswith(str) | 判断字符串是否以str结尾 | 
| count() | 统计子串出现次数 | 
| isdigit() | 是否是数字 | 
|   isalpha()   | 是否是字母 | 
| isalnum | 是否为字母或数字 | 
 
# len() - 获取字符串长度
text = "Python编程"
print(f"字符串长度: {len(text)}")  # 输出: 字符串长度: 7# upper() 和 lower() - 大小写转换
str1 = "Hello World"
print(f"转大写: {str1.upper()}")  # 输出: HELLO WORLD
print(f"转小写: {str1.lower()}")  # 输出: hello world# strip() - 去除首尾空白字符
str2 = "   Python   "
print(f"去除空白: '{str2.strip()}'")  # 输出: 'Python'# split() - 字符串分割
str3 = "Python,Java,C++"
print(f"分割结果: {str3.split(',')}")  # 输出: ['Python', 'Java', 'C++']# join() - 字符串连接
list1 = ['Python', 'Java', 'C++']
print(f"连接结果: {'-'.join(list1)}")  # 输出: Python-Java-C++# replace() - 字符串替换
str4 = "Hello Python Python"
print(f"替换结果: {str4.replace('Python', 'Java', 1)}")  # 输出: Hello Java Python# find() 和 index() - 查找子串
str5 = "Hello Python"
print(f"find查找: {str5.find('Python')}")  # 输出: 6
print(f"index查找: {str5.index('Python')}")  # 输出: 6# startswith() 和 endswith() - 判断开头和结尾
str6 = "test.py"
print(f"是否以test开头: {str6.startswith('test')}")  # 输出: True
print(f"是否以.py结尾: {str6.endswith('.py')}")  # 输出: True# count() - 统计子串出现次数
str7 = "Python Python Python"
print(f"Python出现次数: {str7.count('Python')}")  # 输出: 3# isdigit()、isalpha()、isalnum() - 字符串类型判断
str8 = "123"
str9 = "abc"
str10 = "abc123"
print(f"是否为数字: {str8.isdigit()}")  # 输出: True
print(f"是否为字母: {str9.isalpha()}")  # 输出: True
print(f"是否为字母或数字: {str10.isalnum()}")  # 输出: True