当前位置: 首页 > backend >正文

[Python 基础课程]字符串

字符串

字符串几乎是所有编程语言中最常用的数据类型。在 Python 中,我们可以使用引号 ’ 或 " 来创建字符串。

greeting = 'Hello, world!'
name = "Python"
empty_string = ''
number_string = "12345"
mixed_string = "Hello 123 !"

多行字符串

如果想让字符串在代码中展示更加清晰,比如展示出 json 的结构或 json 样式,可以使用多行字符串:

# 使用三引号创建多行字符串表示 SQL
sql_query = """
SELECT column1, column2
FROM table_name
WHERE condition1 = 'value'AND condition2 > 10;
"""print("SQL Query:")
print(sql_query)# 使用三引号创建多行字符串表示 JSON
json_data = """
{"name": "John Doe","age": 30,"isStudent": false,"address": {"street": "123 Main St","city": "Anytown","zipcode": "12345"},"courses": ["Math","Science","History"]
}
"""
print(json_data)

多行字符串和字符串一样,使用三个 ’ 和 " 是一样的

在字符串中使用变量

例子:

word = '好看了'
comment = '这部电影太{}'.format(word)
print(comment)  # 运行结果:这部电影太好看了

如果要在字符串中使用多个变量值,请看下面这个例子:

parameter_w = 'w'
parameter_i = 'n'
string = '{}i{}d'.format(parameter_w, parameter_i)
print(string)

你也可以自己指定顺序,在{}中添加数字**(从0开始)来标记这是第几个空,format中的变量(从左往右,下标依次为0,1,2…)**就会将自己对应的值填入自己下标对应的空:

massage = '{1}在桥上看风景,看{0}的人在楼上看你。' \'明月装饰了你的{3},你装饰了别人的{2}。'.format('风景', '你', '梦', '窗子')
print(massage)

上面的代码将会拼出一段诗:

你在桥上看风景,看风景的人在楼上看你。明月装饰了你的窗子,你装饰了别人的梦。

下面是组合原理图:

你看出来是怎么将字符串填进去的吗?

除了使用format()方法将变量值用在字符串中,在 Python3.6 及之后的版本中还引入了 f 字符串:

word = '好看了'
comment = f'这部电影太{word}'
# 运行结果:这部电影太好看了
print(comment)  

comment 变量的值是将字符串中的 {word} 变量的值替换成 word 变量的值后的字符串,这种方式和 JavaScript 很像:

const word = '好看了';
const comment = `这部电影太${word}`;
console.log(comment); // 运行结果:这部电影太好看了

使用这种方式极大的方便了对字符串和变量进行灵活的拼接。

字符串的索引和切片

由于字符串是序列,我们可以通过索引来访问其中的单个字符。Python 中的索引是从 0 开始的。

text = "Python"
first_char = text[0]  # 'P'
second_char = text[1] # 'y'
last_char = text[5]   # 'n'# 也可以使用负数索引,从末尾开始计数
last_char_again = text[-1] # 'n'
second_to_last = text[-2] # 'o'print(f"第一个字符: {first_char}")
print(f"最后一个字符: {last_char_again}")

除了访问单个字符,我们还可以使用切片(slicing)来获取字符串的子串。切片的语法是 [start:stop:step],其中:

  • start: 起始索引(包含)。如果省略,默认为 0
  • stop: 结束索引(不包含)。如果省略,默认为字符串的长度
  • step: 步长,表示每隔多少个字符取一个。如果省略,默认为 1
language = "Programming"
sub_string1 = language[0:4]   # "Prog" (从索引 0 到 3)
sub_string2 = language[:7]    # "Program" (从开始到索引 6)
sub_string3 = language[4:]    # "ramming" (从索引 4 到结束)
sub_string4 = language[:]     # "Programming" (复制整个字符串)
sub_string5 = language[::2]   # "Pormn" (每隔一个字符取一个)
sub_string6 = language[::-1]  # "gnimmargorP" (反转字符串)print(f"子串 1: {sub_string1}")
print(f"反转字符串: {sub_string6}")

常用的字符串操作

Python 提供了丰富的内置方法来操作字符串,以下是一些最常用的:

函数解释例子
len(str)返回字符串的长度len(“aaa”)
lower()将字符串中的所有大写字母转换为小写字母“aaa”.lower()
upper()将字符串中的所有小写字母转换为大写字母“aaa”.upper()
strip()移除字符串开头和结尾的空白字符(空格、制表符、换行符等)" aaa a ".strip()
split(separator)将字符串根据指定的分隔符分割成一个字符串列表。如果省略分隔符,则默认以空白字符分割“a,b,c”.split(“,”)
join(iterable)将一个可迭代对象(如列表、元组)中的字符串连接成一个新的字符串,并在每个字符串之间插入指定的字符串words = [“Hello”, “world”, “in”, “Python”]
sentence = " ".join(words)
http://www.xdnf.cn/news/14810.html

相关文章:

  • 主流零信任安全产品深度介绍
  • ESP官网的使用手册网址
  • 【Python】断言(assert)
  • 学习经验分享【41】YOLOv13:基于超图增强自适应视觉感知的实时目标检测
  • 清理 Docker 缓存占用
  • 振荡电路Multisim电路仿真实验汇总——硬件工程师笔记
  • 【CSS样式】按钮样式
  • CloudBase AI ToolKit实战:从0到1开发一个智能医疗网站
  • HarmonyOS应用开发高级认证知识点梳理 (一) 布局与样式
  • browser-tools-mcp + excel-mcp-server + cursor 实现读取网页信息自动写入Excel
  • Mybatis使用lte报错使用case when报错
  • AI公司在做什么 - 一文穿透大模型(从底层到应用、从硬件到软件、从原理到实战)
  • 打造无障碍Ubuntu远程工作环境:XRDP、VNC与向日葵等三大远程连接方案
  • CppCon 2018 学习:EMULATING THE NINTENDO 3DS
  • 【C#】如果有一个数值如 168.0000100,如何去除末尾的无效零,只显示有效的小数位数,让DeepSeek给我们解答
  • 量化选股策略 聚宽
  • 基于Python的GIS-RS多源数据处理(TIF/SHP/NC/...)【20250630】
  • 华为云Flexus+DeepSeek征文 | 对接华为云ModelArts Studio大模型:AI赋能投资理财分析与决策
  • js代码03
  • 每天一个前端小知识 Day 17 - 微前端架构实战与 Module Federation
  • 基于Flask技术的民宿管理系统的设计与实现
  • 嵌入式原理与应用篇---常见基础知识(10)
  • 前后端Dockerfile
  • Spring生态:云原生与AI的革新突破
  • python环境快速搭建
  • Windows11系统中安装docker并配置docker镜像到pycharm中
  • 企业自建云概念解读|私有云、专有云、混合云、分布式云、企业云
  • 对称非对称加密,https和http,https通讯原理,Charles抓包原理
  • 《如何在 Spring 中实现 MQ 消息的自动重连:监听与发送双通道策略》
  • JavaEE初阶第五期:解锁多线程,从 “单车道” 到 “高速公路” 的编程升级(三)