Python入门04字符串

简介: Python入门04字符串


1 字符串的定义

在Python中,字符串表示一个字符的序列,比如

str = "hello,world"

这里我们定义了一个字符串,其中每个字符共同构成了字符串,既然是序列,我们可以计算字符串的长度。

先顺序数一下有多少个字符,一共是11个字符

在我们的REPL环境中,我们用len函数来计算字符串的长度

len(str)

在字符串中,每个字符都有一个索引(Index),从0开始。可以使用索引来访问字符串中的特定字符。例如:

str[3]

因为索引是从0开始,如果取索引为3的其实是取的第四个位置的字符,在这里是l,如果我们取索引为4的字符就取出了o

2 转义字符

在Python中,字符串中的转义(Escape)是指使用特殊字符来表示特殊含义的字符。例如,在字符串中使用反斜杠(\)来表示换行符、制表符、双引号等特殊字符。以下是一些常见的字符串转义字符:

  • \n 换行符
  • \t 制表符
  • \ " 双引号
  • \ ’ 单引号
  • \ \ 反斜杠

下边是一个转义字符的示例

str = "Hello,\nWorld!\tPython is fun!"
print(s)

这里需要注意的是,如果要让转义字符执行,需要用双引号包裹,再一个结果输出需要使用print函数

3 字符串的常见方法

Python提供了字符串的便利API供我们使用,包含如下:

  1. len(str):返回字符串的长度。
  2. str.upper():返回一个新的字符串,其中所有字符都转换为大写。
  3. str.lower():返回一个新的字符串,其中所有字符都转换为小写。
  4. str.capitalize():返回一个新的字符串,其中第一个字符转换为大写,其余字符转换为小写。
  5. str.title():返回一个新的字符串,其中每个单词的第一个字符都转换为大写,其余字符转换为小写。
  6. str.strip():返回一个新的字符串,其中去除了字符串两端的空格。
  7. str.lstrip():返回一个新的字符串,其中去除了字符串左侧的空格。
  8. str.rstrip():返回一个新的字符串,其中去除了字符串右侧的空格。
  9. str.split():返回一个列表,其中包含字符串按照空格分割的子字符串。
  10. str.split(sep):返回一个列表,其中包含字符串按照指定分隔符 sep 分割的子字符串。
  11. str.join(iterable):返回一个新的字符串,其中包含 iterable 中的所有元素,元素之间用字符串 str 连接。
  12. str.replace(old, new):返回一个新的字符串,其中将字符串中的 old 替换为 new
  13. str.find(sub):返回字符串中子字符串 sub 第一次出现的索引,如果不存在则返回 -1。
  14. str.count(sub):返回字符串中子字符串 sub 出现的次数。
  15. str.startswith(prefix):检查字符串是否以 prefix 开头,返回布尔值。
  16. str.endswith(suffix):检查字符串是否以 suffix 结尾,返回布尔值。

4 分割字符串

可以使用split来分割字符串,默认是使用空格来进行分割字符串

s = "Hello, World!"
substrings = s.split()
print(substrings)  # 输出:['Hello,', 'World!']

除了按照空格来分割外,我们还可以指定分割字符,比如使用逗号进行分割

s = "Hello,World!"
substrings = s.split(",")
print(substrings)  # 输出:['Hello', 'World!']

除了上述两种分法外,我们还可以有二分法,二分法返回分隔符前边的字符串,分隔符本身,和分隔符右边的字符串

s = "Hello, World!"
first, separator, last = s.partition(',')
print(first)  # 输出:Hello
print(separator)  # 输出:,
print(last)  # 输出:World!

5 字符串反转

在 Python 中,可以通过切片语法来实现字符串的反转。具体地,可以使用负数步长来实现字符串的反转。例如,对于一个字符串 s,可以使用以下代码实现其反转:

s = "Hello, World!"
reversed_s = s[::-1]
print(reversed_s)  # 输出:!dlroW ,olleH

6 字符串的链式调用

在 Python 中,字符串是不可变对象,这意味着字符串的方法不会修改原字符串,而是返回一个新的字符串。因此,可以使用链式调用来对字符串进行多次操作,而不需要使用临时变量或者多次赋值。

s="Hello,World!"
s.replace("World!","Python!").upper()

7 格式化字符串

Python 中的 f-string(格式化字符串)是一种非常方便的字符串格式化方法,它允许在字符串中嵌入表达式,并在字符串中直接使用大括号 {} 来指定表达式的值应该如何格式化。

下面是一些常见的 f-string 用法:

  1. 插入变量值:
name = "Alice"
age = 25
print(f"My name is {name} and I am {age} years old.")
# 输出:My name is Alice and I am 25 years old.

  1. 插入表达式:
x = 3
y = 4
print(f"The sum of {x} and {y} is {x + y}.")
# 输出:The sum of 3 and 4 is 7.

  1. 指定格式化字符串:
x = 3.141592653589793
print(f"The value of pi is {x:.2f}.")
# 输出:The value of pi is 3.14.

  1. 使用条件表达式:
x = 10
y = 20
print(f"{x} is greater than {y}" if x > y else f"{y} is greater than {x}")
# 输出:20 is greater than 10

8 多行字符串

在 Python 中,可以使用三引号(“”" 或 ‘’')来创建多行字符串。多行字符串可以包含换行符、制表符等特殊字符,并且可以在字符串中直接编写多行文本,而不需要使用换行符来表示换行。

下面是一个使用三引号创建多行字符串的例子:

multiline_string = """This is a
multiline string.
It contains multiple lines
of text."""
print(multiline_string)

总结

我们本篇介绍了字符串的定义,常见方法调用,以及格式化字符串和多行字符串的概念。熟练掌握语法,在我们实际的编程中就多添了不少思路,也节省了大量的时间。

相关文章
|
6天前
|
Python
Python 编程入门:打造你的第一个程序
【9月更文挑战第27天】编程,就像是在数字世界里绘画。想象一下,你手中的键盘是画笔,屏幕是画布,而代码则是你的颜料。这篇文章将带你走进编程的世界,学习如何使用 Python 这门语言来创建你的第一个程序。我们将从基础的语法开始,逐步深入到条件判断和循环结构,最终完成一个简单的猜数字游戏。无论你是否有编程经验,这里的内容都将为你打开一扇新的大门。
|
6天前
|
人工智能 数据挖掘 开发者
Python编程入门:从零到英雄
【9月更文挑战第27天】本文旨在通过浅显易懂的语言,为初学者介绍Python编程的基础知识和实用技巧。我们将一起探索Python的世界,了解其语法、数据结构,并通过实际示例学习如何编写简单的Python程序。无论你是编程新手,还是希望拓展技能的开发者,这篇文章都将为你打开一扇通往Python编程世界的大门。
|
4天前
|
Python
? Python 装饰器入门:让代码更灵活和可维护
? Python 装饰器入门:让代码更灵活和可维护
11 4
|
7天前
|
存储 人工智能 数据挖掘
Python编程入门:从基础到实战
【9月更文挑战第26天】 在这篇文章中,我们将一起探索Python编程的奇妙世界。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供有价值的信息和技巧。我们将从Python的基本语法开始,然后逐步深入到更复杂的主题,如函数、类和模块。最后,我们将通过一个实际的项目来应用我们所学的知识。让我们一起开始这段Python编程之旅吧!
|
8天前
|
Python
python第三方库-字符串编码工具 chardet 的使用(python3经典编程案例)
这篇文章介绍了如何使用Python的第三方库chardet来检测字符串的编码类型,包括ASCII、GBK、UTF-8和日文编码的检测示例。
35 6
|
4天前
|
数据可视化 Python
使用Python进行数据可视化:从入门到精通
【8月更文挑战第60天】本文是一篇面向初学者的Python数据可视化教程,旨在帮助读者掌握如何使用Python及其强大的库(如Matplotlib和Seaborn)来创建引人入胜的数据可视化。我们将从基础开始,逐步深入,最终达到能够独立完成复杂数据可视化项目的水平。无论你的背景如何,只要你对数据可视化感兴趣,这篇文章都将为你开启一段新的学习之旅。
|
7天前
|
数据采集 人工智能 数据挖掘
Python编程入门:从基础到实战的快速指南
【9月更文挑战第25天】本文旨在为初学者提供一个简明扼要的Python编程入门指南。通过介绍Python的基本概念、语法规则以及实际案例分析,帮助读者迅速掌握Python编程的核心技能。文章将避免使用复杂的专业术语,而是采用通俗易懂的语言和直观的例子来阐述概念,确保内容的可读性和实用性。
|
5天前
|
Python
Python 装饰器入门:让代码更灵活和可维护
Python 装饰器入门:让代码更灵活和可维护
10 1
|
6天前
|
网络协议 网络安全 开发者
Python 向IP地址发送字符串
Python 向IP地址发送字符串
23 2
|
7天前
|
设计模式 开发者 Python
Python中的装饰器:从入门到精通
【9月更文挑战第25天】本文深入浅出地介绍了Python装饰器的使用,包括其定义、语法和实际应用。通过实例演示如何利用装饰器增强函数功能,同时探讨了装饰器的高级用法如带参数的装饰器和装饰器嵌套。最后,文章强调了在设计装饰器时应避免的常见陷阱。
下一篇
无影云桌面