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

[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.dtcms.com/a/264075.html

相关文章:

  • Redis集群数据流解析:从分层设计到一致性难题破解
  • Vue3 中 Excel 导出的性能优化与实战指南
  • A模块 系统与网络安全 第三门课 网络通信原理-3
  • Badoo×亚矩云手机:社交约会革命的“云端心跳加速剂“
  • 论文阅读:Align and Prompt (ALPRO 2021.12)
  • 狂神说 - Mybatis 学习笔记 --下
  • SVN 分支管理(本文以Unity项目为例)
  • 【C++】inline的作用
  • 齿轮的齿厚极限偏差如何确定?一起学习一下
  • Vue3——富文本
  • 地震灾害的模拟
  • win11,visual studio 2022,配置dcmtk,opencv
  • vue vxe-table 自适应列宽,根据内容自适应宽度的2种使用方式
  • MySQL非阻塞创建索引的方法
  • golang generic 2022-04-13
  • Linux 系统重启 reboot与重置reset深度解析
  • 【读代码】百度开源大模型:ERNIE项目解析
  • 软件测试复习之单元测试
  • C#系统学习第六章——循环语句
  • 【PDF-XSS攻击】springboot项目-上传文件-解决PDF文件XSS攻击
  • 创始人IP商业闭环构建:从定位到二次转化的全流程|创客匠人
  • 【文件解析】json.load(fp)
  • 数据结构——单链表反转、相邻节点最大值、有序链表合并
  • 【javaAI】SpringAI快速入门
  • Kafka日常运维命令总结
  • 第4课:Flask请求与响应对象深度解析
  • 【Python】Flask网页
  • React Native 0.79.4 中 [RCTView setColor:] 崩溃问题完整解决方案
  • JavaEE初阶第六期:解锁多线程,从 “单车道” 到 “高速公路” 的编程升级(四)
  • 无法将“pytest”项识别为 cmdlet、函数、脚本文件或可运行程序的名称