news 2026/4/29 0:52:16

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 20:00:48

DriverStore Explorer:Windows驱动管理的全能解决方案

还在为Windows驱动管理而烦恼吗&#xff1f;DriverStore Explorer为您提供了一站式的驱动管理体验&#xff0c;让系统维护变得轻松简单。这款开源工具彻底改变了传统驱动维护的方式&#xff0c;让普通用户也能掌握专业级的驱动管理技能。 【免费下载链接】DriverStoreExplorer …

作者头像 李华
网站建设 2026/4/17 21:18:45

obs-multi-rtmp插件:多平台直播推流终极配置指南

obs-multi-rtmp插件&#xff1a;多平台直播推流终极配置指南 【免费下载链接】obs-multi-rtmp OBS複数サイト同時配信プラグイン 项目地址: https://gitcode.com/gh_mirrors/ob/obs-multi-rtmp obs-multi-rtmp插件作为OBS Studio生态中的核心扩展&#xff0c;为多平台直…

作者头像 李华
网站建设 2026/4/28 19:55:18

如何高效使用PDF对比工具:快速检测文档差异的完整指南

如何高效使用PDF对比工具&#xff1a;快速检测文档差异的完整指南 【免费下载链接】diff-pdf A simple tool for visually comparing two PDF files 项目地址: https://gitcode.com/gh_mirrors/di/diff-pdf 在日常工作中&#xff0c;你是否经常需要核对PDF文档的版本差异…

作者头像 李华
网站建设 2026/4/17 19:04:48

探索 Web 聊天機器人 ( Python ChatBot + Vue UX)

前言 本文將透過開發 Python Web API 後台 及 Vue 前台,搭配自訂對話規則回覆以及 LLM DeepSeek 開發一個人 local 的 Web 聊天機器人。 前置條件 本專案有使用到 DeepSeek API,故讀者須申請DeepSeek API 關於DeepSeek API,進入 DeepSeek 開發者平台 的 API 管理頁面取得 …

作者头像 李华