Python 系列教程 | 字符串

字符串是 Python 中最常见的数据类型,我们可以使用引号(' 或 ")来创建字符串。字符串是以 Unicode 编码的,支持多种语言。比如 '你好', 'Hello World',这些都是基本的字符串。下面介绍下字符串的常用方法及函数 !

字符串拼接与截取

在 Python 中用 “”+“” 号连接即可,字符串的截取直接使用根据其下标截取,例如:

>>> str1 = "hello world"
>>> str2 = "python"
>>> str1 + ' ' + str2
hello world python

>>> str2[1: 4]
yth

注意点,下标是从 0 开始的

字符串格式化

字符串的格式化有三种方式,通过 % 、str.format() 以及 f-string 。

现在对于 % 的用法用的比较少,主流都是使用后面两种方法。

例如 str.format():

>>> "{} {}".format("hello","world") 
 hello world

# 设置指定位置,可以多次使用
>>> "{0} {1} {0}".format("hello","or")
hello or hello

而 f-string 格式化就是在字符串模板前面加上f,然后占位符使用 {} , 里面直接放入对应的数据对象。

>>> name = ' GoPython'
>>> f'Hello, welecome to  {name}'
Hello, welecome to GoPython

同时,它还支持表达式求值与函数调用,示例如下:

>>> f'A total number of {24 * 8 + 4}'
'A total number of 196'

>>> name = 'GoPython'
>>> f'My name is {name.lower()}'
'My name is gopython'

总之,现在一般都是推荐使用 f-string 的方法,因为它用法更加灵活方便

字符串替换

在 Python 中我们可以直接使用内置函数 replace() 进行替换。示例如下:

>>> str1 = "gopython"
>>> str1.replace("o", "")
gpythn

除此之外,我们还可以通过第三个位置参数指定替换的次数

>>> str1 = "gopython"
>>> str1.replace("o", "", 1)
gpython

除了上面替换方法,还可以通过正则 re.sub() 进行替换.

>>> import re
>>> str1 = "gopython"
>>> re.sub(r"o", "*", str1)
g*pyth*n

上面只是一个很简单的例子,正则替换的功能是很强悍的,有关内容可待后续正则章节一起讲!

查找字符位置

比如在很大一串字符串中,我们需要找到某字符在字符串中的位置,一种方法是适用内置函数 str.index(),示例如下:

>>> str1 = "GoPython"
>>> str1.index("o")
1

从上面结果我们可以看到,只查找出第一个 o 的索引,如果我们想查找第二个 o 的索引,可以通过指定开始查找的位置,代码修改如下

>>> str1 = "GoPython"
>>> str1.index("o", 2)
6

注意这个 index()方法和 find() 的区别,后者是判定某字符是否在字符串中,在返回 1,若不在则返回结果 -1.

>>> str1 = "GoPython"
>>> str1.find("m")
-1

另外,查找字符串位置,更建议通过正则来做,在正则中 re.search() 方法不仅能返回匹配的结果,同时会返回其结果位置.

>>> str1 = "my name is python"

>>> result = re.search(r"p", str1)
>>> result.group(), result.start(), result.end()
('p', 11, 12)

前面说过正则的功能很强大,我后面会专门写个正则相关的专题!字符串的用法功能与正则是息息相关的。

未完待续...

Python 系列教程 | 字符串_第1张图片

了解更多内容,烦请关注公众号 Python编程与实战

你可能感兴趣的:(python,python,爬虫,后端)