当前位置: 首页 > 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.lqws.cn/news/594055.html

相关文章:

  • Tomcat9部署jsp产生错误FileCountLimitExceededException
  • 网络安全监测探针功能
  • Python 数据分析:DataFrame,生成,用字典创建 DataFrame ,键值对数量不一样怎么办?
  • python+uniapp基于微信小程序的PS社区系统
  • 基于3D卷积神经网络与多模态信息融合的医学影像肿瘤分类与可视化分析
  • JVM调优实战 Day 15:云原生环境下的JVM配置
  • Go 服务如何“主动”通知用户?SSE广播与断线重连实战
  • 【算法】动态规划:python实现 1
  • 前端开发git的使用(常用命令和规范)
  • Python ORM 完全指南:从基础到高级实践
  • UI前端大数据可视化实战技巧分享:如何选择合适的颜色与图表类型?
  • MATLAB构建capm和三因子模型
  • t检验​、​z检验、χ²检验中的P值
  • rabbitmq动态创建交换机、队列、动态绑定,销毁
  • 企业上网行为管理:零信任安全产品的对比分析
  • go语言安装达梦数据完整教程
  • 大数据在UI前端的应用创新研究:基于自然语言处理的用户意图识别
  • Spring生态的核心组件演进
  • 21、鸿蒙学习——使用App Linking实现应用间跳转
  • 推客系统小程序终极指南:从0到1构建自动裂变增长引擎,实现业绩10倍增长!
  • 使用tensorflow的线性回归的例子(二)
  • 【第二章:机器学习与神经网络概述】04.回归算法理论与实践 -(2)支持向量回归(SVR)
  • linux魔术字定位踩内存总结
  • GORM 删除的重要特性:软删除实践案例(优化版)
  • 前端计算机视觉:使用 OpenCV.js 在浏览器中实现图像处理
  • React:利用React.memo和useCallback缓存弹窗组件
  • Oracle 常用函数
  • 设置linux静态IP
  • 测试第六讲-测试模型分类
  • RabbitMQ - SpringAMQP及Work模型