Python 字符串是 Python 编程语言中最常用的数据类型之一,它可以表示文本或一组字符。Python 中的字符串是不可变的序列,意味着一旦创建,其值就不能被修改。下面是一些关于 Python 字符串的介绍。
概述
- 创建字符串:可以使用单引号、双引号或三个引号(用于多行字符串)创建字符串。如下:
str1 = 'Hello World!'
str2 = "Hello World!"
str3 = '''Hello
World!'''
- 字符串拼接:可以使用加号(+)运算符连接两个或多个字符串。例如:
str1 = 'Hello'
str2 = 'World!'
str3 = str1 + ' ' + str2
print(str3) # 输出:Hello World!
- 字符串索引:Python 中的索引是从 0 开始的,可以通过下标操作符([])访问字符串中的单个字符。例如:
str = 'Hello World!'
print(str[0]) # 输出:H
print(str[6]) # 输出:W
- 字符串切片:可以使用切片操作符([:])提取字符串的一部分。例如:
str = 'Hello World!'
print(str[0:5]) # 输出:Hello
print(str[6:]) # 输出:World!
- 字符串长度:可以使用内置函数
len()
获取字符串的长度。例如:
str = 'Hello World!'
print(len(str)) # 输出:12
- 字符串常用方法:
upper()
: 返回字符串的大写版本。lower()
: 返回字符串的小写版本。strip()
: 删除字符串两端的空白字符。split()
: 分隔字符串,返回一个列表。replace()
: 将字符串中的一个子字符串替换为另一个。
例如:
str = ' Hello World! '
print(str.upper()) # 输出:HELLO WORLD!
print(str.lower()) # 输出:hello world!
print(str.strip()) # 输出:Hello World!
print(str.split()) # 输出:['Hello', 'World!']
print(str.replace('World', 'Python')) # 输出:Hello Python!
- 字符串格式化:Python 的字符串格式化功能非常强大,可以使用占位符(%)将变量的值插入到字符串中。例如:
name = 'Tom'
age = 20
print('My name is %s, and I am %d years old.' % (name, age))
# 输出:My name is Tom, and I am 20 years old.
除了使用 %
进行字符串格式化外,Python 还提供了一种更加灵活的字符串格式化方式,称为“格式化字符串字面值”。例如:
name = 'Tom'
age = 20
print(f'My name is {name}, and I am {age} years old.')
# 输出:My name is Tom, and I am 20 years old.
40个Python字符串实例
- 字符串的定义与输出:定义一个字符串并输出它。
string = "Hello, World!"
print(string)
- 字符串的连接:将两个字符串连接起来并输出。
string1 = "Hello"
string2 = "World"
string3 = string1 + " " + string2
print(string3)
- 字符串的索引:输出字符串中的某个字符。
string = "Hello, World!"
print(string[0])
- 字符串的切片:输出字符串中的一部分。
string = "Hello, World!"
print(string[0:5])
- 字符串的长度:输出字符串的长度。
string = "Hello, World!"
print(len(string))
- 字符串中的子字符串:查找字符串中是否包含另一个字符串。
string1 = "Hello, World!"
string2 = "World"
if string2 in string1:print("Yes")
else:print("No")
- 字符串的查找:查找字符串中的某段子字符串的位置。
string = "Hello, World!"
print(string.find("World"))
- 字符串分割:将字符串按指定分隔符分割。
string = "apple, banana, cherry"
print(string.split(", "))
- 字符串剥离:去掉字符串中的特定字符。
string = "Hello, World!"
print(string.strip("H!"))
- 字符串判断:判断字符串是否全为字母。
string = "Hello, World!"
if string.isalpha():print("Yes")
else:print("No")
- 字符串替换:将字符串中的某个子字符串替换为另一个字符串。
string = "Hello, World!"
print(string.replace("World", "Universe"))
- 字符串转换:将字符串转换为大写。
string = "Hello, World!"
print(string.upper())
- 字符串转换:将字符串转换为小写。
string = "Hello, World!"
print(string.lower())
- 字符串转换:将字符串的首字母转换为大写。
string = "hello, world!"
print(string.capitalize())
- 字符串转换:将字符串中每个单词的首字母转换为大写。
string = "hello, world!"
print(string.title())
- 字符串校验:校验字符串是否只包含字母和数字。
string = "Hello123"
if string.isalnum():print("Yes")
else:print("No")
- 字符串校验:校验字符串是否只包含数字。
string = "12345"
if string.isdigit():print("Yes")
else:print("No")
- 字符串校验:校验字符串是否只包含字母。
string = "Hello"
if string.isalpha():print("Yes")
else:print("No")
- 字符串校验:校验字符串是否只包含空格。
string = " "
if string.isspace():print("Yes")
else:print("No")
- 字符串拼接:使用join()方法将多个字符串连接。
strings = ["Hello", "World", "!"]
print(" ".join(strings))
- 字符串填充:使用字符串的center()方法使字符串在指定的宽度中居中。
string = "Hello"
print(string.center(10))
- 字符串填充:使用字符串的ljust()方法使字符串左对齐。
string = "Hello"
print(string.ljust(10))
- 字符串填充:使用字符串的rjust()方法使字符串右对齐。
string = "Hello"
print(string.rjust(10))
- 字符串反转:使用[::-1]翻转字符串。
string = "Hello"
print(string[::-1])
- 字符串统计:统计字符串中某个字符出现的次数。
string = "Hello, World!"
print(string.count("l"))
- 字符串去重:去除字符串中重复的字符。
string = "Hello"
print("".join(set(string)))
- 字符串排序:对字符串中的字符按字母顺序排序。
string = "hello, world!"
print("".join(sorted(string)))
- 字符串切割:使用[text[i:i+n] for i in range(0, len(text), n)]切割字符串。
string = "Hello World!"
n = 3
print([string[i:i+n] for i in range(0, len(string), n)])
- 字符串拼接:使用+连接多个字符串。
string1 = "Hello"
string2 = "World"
print(string1 + " " + string2 + "!")
- 字符串格式化:使用%s将值插入字符串。
name = "Alice"
age = 28
print("My name is %s and I'm %d years old." % (name, age))
- 字符串格式化:使用.format()进行字符串格式化。
name = "Alice"
age = 28
print("My name is {} and I'm {} years old.".format(name, age))
- 字符串格式化:使用f-string进行字符串格式化。
name = "Alice"
age = 28
print(f"My name is {name} and I'm {age} years old.")
- 字符串截取:使用[len(string)-n:]截取字符串后n个字符。
string = "Hello, World!"
n = 3
print(string[len(string)-n:])
- 字符串大小写转换:使用swapcase()将字符串中的大小写字母互换。
string = "Hello, World!"
print(string.swapcase())
- 字符串横向拼接:使用zip()函数将多个字符串横向拼接。
strings = ["Hello", "World", "!"]
print(" ".join([s for s in zip(*strings)]))
- 字符串链式比较:比较多个字符串是否相等。
string1 = "Hello"
string2 = "Hello"
string3 = "World"
print(string1 == string2 == string3)
- 字符串转义:使用\转义特殊字符。
string = "Hello, \"World\"!"
print(string)
- 字符串乘法:使用*重复输出字符串。
string = "Hello"
print(string*3)
- 字符串去除空格:使用replace()去除字符串中的空格。
string = "Hello World!"
print(string.replace(" ", ""))
- 字符串转换:使用ord()将一个字符转换为其对应的ASCII码。
char = "A"
print(ord(char))
相关学习:
以下是 20 个不同的 Python 函数实例
我的图书
下面两本书欢迎大家参考学习。
OpenCV轻松入门
李立宗,OpenCV轻松入门,电子工业出版社,2023
本书基于面向 Python 的 OpenCV(OpenCV for Python),介绍了图像处理的方方面面。本书以 OpenCV 官方文档的知识脉络为主线,并对细节进行补充和说明。书中不仅介绍了 OpenCV 函数的使用方法,还介绍了函数实现的算法原理。
在介绍 OpenCV 函数的使用方法时,提供了大量的程序示例,并以循序渐进的方式展开。首先,直观地展示函数在易于观察的小数组上的使用方法、处理过程、运行结果,方便读者更深入地理解函数的原理、使用方法、运行机制、处理结果。在此基础上,进一步介绍如何更好地使用函数处理图像。在介绍具体的算法原理时,本书尽量使用通俗易懂的语言和贴近生活的实例来说明问题,避免使用过多复杂抽象的公式。
本书适合计算机视觉领域的初学者阅读,包括在校学生、教师、专业技术人员、图像处理爱好者。
本书第1版出版后,深受广大读者朋友的喜爱,被很多高校选为教材,目前已经累计重印9次。为了更好地方便大家学习,对本书进行了修订。
计算机视觉40例
李立宗,计算机视觉40例,电子工业出版社,2022
近年来,我深耕计算机视觉领域的课程研发工作,在该领域尤其是OpenCV-Python方面积累了一点儿经验。因此,我经常会收到该领域相关知识点的咨询,内容涵盖图像处理的基础知识、OpenCV工具的使用、深度学习的具体应用等多个方面。为了更好地把所积累的知识以图文的形式分享给大家,我将该领域内的知识点进行了系统的整理,编写了本书。希望本书的内容能够对大家在计算机视觉方向的学习有所帮助。
本书以OpenCV-Python(the Python API for OpenCV)为工具,以案例为载体,系统介绍了计算机视觉从入门到深度学习的相关知识点。
本书从计算机视觉基础、经典案例、机器学习、深度学习、人脸识别应用等五个方面对计算机视觉的相关知识点做了全面、系统、深入的介绍。书中共介绍了40余个经典的计算机视觉案例,其中既有字符识别、信息加密、指纹识别、车牌识别、次品检测等计算机视觉的经典案例,也包含图像分类、目标检测、语义分割、实例分割、风格迁移、姿势识别等基于深度学习的计算机视觉案例,还包括表情识别、驾驶员疲劳监测、易容术、识别年龄和性别等针对人脸的应用案例。
在介绍具体的算法原理时,本书尽量使用通俗易懂的语言和贴近生活的示例来说明问题,避免使用复杂抽象的公式来介绍。
本书适合计算机视觉领域的初学者阅读,适于在校学生、教师、专业技术人员、图像处理爱好者使用。