news 2026/4/24 14:48:48

3.1 字符串(String)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
3.1 字符串(String)

文章目录

  • 前言
  • 一、字符串创建与基本操作
    • 1. 创建字符串
    • 2. 字符串基本操作
  • 二、字符串索引与切片
    • 1. 索引(Indexing)
    • 2. 切片(Slicing)
  • 三、字符串常用方法
    • 1. 查找与替换方法
    • 2. 大小写转换
    • 3. 分割与连接
    • 4. 去除空白字符
    • 5. 判断方法(返回布尔值)
  • 四、字符串格式化
    • 1. f-string(Python 3.6+,推荐)
    • 2. format()方法

前言

本文介绍了字符串的创建和基本操作、字符串索引与切片、字符串常用方法和字符串的格式化知识要点。


一、字符串创建与基本操作

1. 创建字符串

Python中有多种创建字符串的方式:

python# 1. 单引号s1='Hello World'# 2. 双引号(可以包含单引号)s2="It's a beautiful day"# 3. 三引号(创建多行字符串)s3='''这是第一行 这是第二行 这是第三行'''s4="""多行字符串 也可以这样写"""# 4. 使用str()函数转换num=123s5=str(num)# "123"

2. 字符串基本操作

python# 1. 连接(拼接)s1="Hello"+" "+"World"# "Hello World"# 2. 重复s2="Hi"*3# "HiHiHi"# 3. 获取长度text="Python"length=len(text)# 6# 4. 成员检查print("P"in"Python")# Trueprint("thon"in"Python")# Trueprint("Java"in"Python")# False

二、字符串索引与切片

1. 索引(Indexing)

字符串中的每个字符都有位置索引:

python text="Python"# 正向索引(从左到右)# P y t h o n# 0 1 2 3 4 5# 反向索引(从右到左)# P y t h o n# -6 -5 -4 -3 -2 -1print(text[0])# "P"print(text[2])# "t"print(text[-1])# "n"(最后一个字符)print(text[-3])# "h"

2. 切片(Slicing)

切片用于获取字符串的一部分,语法:[起始:结束:步长]

python text="Python Programming"# 基本切片print(text[0:6])# "Python"(索引0到5,不包括6)print(text[7:18])# "Programming"print(text[:6])# "Python"(省略起始,默认为0)print(text[7:])# "Programming"(省略结束,默认为末尾)print(text[:])# "Python Programming"(复制整个字符串)# 使用步长print(text[::2])# "Pto rgamn"(每隔一个字符)print(text[::-1])# "gnimmargorP nohtyP"(反转字符串)# 负数索引切片print(text[-11:])# "Programming"(从倒数第11个到末尾)print(text[:-12])# "Python"(从开始到倒数第12个)# 常用切片技巧filename="document.pdf"print(filename[-3:])# "pdf"(获取文件扩展名)

三、字符串常用方法

1. 查找与替换方法

python text="Python is powerful. Python is easy."# 查找print(text.find("Python"))# 0(返回首次出现的索引)print(text.rfind("Python"))# 19(从右向左查找)print(text.find("Java"))# -1(未找到)print(text.index("Python"))# 0(类似find,但未找到会报错)print("Python"intext)# True(成员检查)# 计数print(text.count("Python"))# 2(出现次数)print(text.count("is"))# 2# 替换new_text=text.replace("Python","Java")print(new_text)# "Java is powerful. Java is easy."# 只替换指定次数print(text.replace("Python","Java",1))# 只替换第一个

2. 大小写转换

python text="Python Programming"print(text.lower())# "python programming"print(text.upper())# "PYTHON PROGRAMMING"print(text.title())# "Python Programming"(每个单词首字母大写)print(text.capitalize())# "Python programming"(仅首字母大写)print(text.swapcase())# "pYTHON pROGRAMMING"(大小写互换)

3. 分割与连接

python# 分割csv_data="apple,banana,orange,grape"fruits=csv_data.split(",")# ["apple", "banana", "orange", "grape"]print(fruits[0])# "apple"# 按行分割multi_line="第一行\n第二行\n第三行"lines=multi_line.splitlines()# ["第一行", "第二行", "第三行"]# 指定分割次数text="one:two:three:four"print(text.split(":",2))# ["one", "two", "three:four"](只分割前两次)# 连接words=["Hello","World","!"]sentence=" ".join(words)# "Hello World !"path="/".join(["usr","local","bin"])# "usr/local/bin"

4. 去除空白字符

python text=" Python "print(text.strip())# "Python"(去除两侧空白)print(text.lstrip())# "Python "(去除左侧空白)print(text.rstrip())# " Python"(去除右侧空白)# 去除特定字符text2="###Python###"print(text2.strip("#"))# "Python"

5. 判断方法(返回布尔值)

python s1="Python123"s2="12345"s3="PYTHON"s4="python"s5=" "s6="Hello World"print(s1.isalnum())# True(字母或数字)print(s2.isdigit())# True(全是数字)print(s3.isupper())# True(全大写)print(s4.islower())# True(全小写)print(s5.isspace())# True(全是空白字符)print(s6.istitle())# True(每个单词首字母大写)print(s1.startswith("Py"))# Trueprint(s1.endswith("123"))# True

四、字符串格式化

1. f-string(Python 3.6+,推荐)

python name="Alice"age=25score=95.5678# 基本使用print(f"姓名:{name},年龄:{age}")# 表达式计算print(f"{name}明年{age+1}岁")# 格式控制print(f"分数:{score:.2f}")# 保留2位小数:95.57print(f"分数:{score:8.2f}")# 宽度8,右对齐: 95.57print(f"分数:{score:<8.2f}")# 宽度8,左对齐:95.57print(f"分数:{score:^8.2f}")# 宽度8,居中对齐: 95.57# 数字格式number=1234567print(f"{number:,}")# 千位分隔:1,234,567print(f"{number:.2e}")# 科学计数法:1.23e+06# 对齐与填充print(f"{name:>10}")# 右对齐,宽度10:" Alice"print(f"{name:*<10}")# 左对齐,*填充:"Alice*****"print(f"{name:=^10}")# 居中对齐,=填充:"==Alice==="

2. format()方法

python# 位置参数print("{}的年龄是{}岁".format("Bob",30))# "Bob的年龄是30岁"print("{1}的年龄是{0}岁".format(30,"Bob"))# "Bob的年龄是30岁"# 关键字参数print("{name}的成绩是{score}分".format(name="Alice",score=95))# 格式控制(类似f-string)print("分数:{:.2f}".format(95.5678))# "分数:95.57"print("数字:{:,}".format(1234567))# "数字:1,234,567"print("姓名:{:>10}".format("Alice"))# "姓名: Alice"

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/20 17:48:25

Qwen3-4B-Base震撼发布:36万亿 tokens训练的40亿参数大模型

导语&#xff1a;Qwen3系列最新成员Qwen3-4B-Base正式发布&#xff0c;这款拥有40亿参数、经过36万亿tokens训练的基础大模型&#xff0c;凭借创新的三阶段训练架构和32k超长上下文能力&#xff0c;重新定义了中小规模语言模型的性能边界。 【免费下载链接】Qwen3-4B-Base 探索…

作者头像 李华
网站建设 2026/4/23 13:32:18

MCEdit 2.0:开启《我的世界》创意引擎的无限可能

MCEdit 2.0&#xff1a;开启《我的世界》创意引擎的无限可能 【免费下载链接】mcedit2 MCEdit 2.0 - World Editor for Minecraft. 项目地址: https://gitcode.com/gh_mirrors/mc/mcedit2 你是否曾想过&#xff0c;在《我的世界》中打造一座属于自己的城堡&#xff0c;却…

作者头像 李华
网站建设 2026/4/21 23:24:15

终极RimWorld模组管理解决方案:RimSort完全使用手册

终极RimWorld模组管理解决方案&#xff1a;RimSort完全使用手册 【免费下载链接】RimSort 项目地址: https://gitcode.com/gh_mirrors/ri/RimSort 还在为RimWorld模组加载冲突而烦恼吗&#xff1f;每次添加新模组都要反复调整加载顺序&#xff1f;今天我要为你介绍这款…

作者头像 李华
网站建设 2026/4/24 10:33:20

36、色彩管理与调整全攻略

色彩管理与调整全攻略 在设计工作中,色彩的运用至关重要,它不仅能为作品设定氛围,还能提升作品的视觉吸引力。下面将详细介绍色彩管理和调整的相关操作。 调色板编辑器的使用 调色板编辑器是管理和编辑颜色的重要工具。以下是使用调色板编辑器的具体步骤: 1. 打开调色…

作者头像 李华
网站建设 2026/4/23 12:58:02

40、CorelDRAW 信封与透镜效果全解析

CorelDRAW 信封与透镜效果全解析 在 CorelDRAW 软件中,信封工具和透镜效果是两个强大且实用的功能,它们能帮助我们实现各种独特的设计效果。下面将详细介绍这两个功能的使用方法和特点。 信封工具的使用 要想从信封工具中获得最佳效果,需要按照一定的步骤操作。以下是使用…

作者头像 李华
网站建设 2026/4/17 11:16:15

IBM发布70亿参数Granite-4.0-H-Tiny-Base大模型

IBM发布70亿参数Granite-4.0-H-Tiny-Base大模型 【免费下载链接】granite-4.0-h-tiny-base 项目地址: https://ai.gitcode.com/hf_mirrors/unsloth/granite-4.0-h-tiny-base IBM近日正式发布了旗下最新的70亿参数开源大模型Granite-4.0-H-Tiny-Base&#xff0c;该模型采…

作者头像 李华