Python 字符串

在现代编程中,文本处理是一个非常常见的任务,而Python提供了强大且灵活的工具,使得字符串操作变得简单而高效。

字符串在Python中被视为不可变序列,它们是由字符组成的,可以是字母、数字、符号或空格。Python的字符串操作范围广泛,包括创建、访问、修改和处理文本数据等各个方面。

一旦创建了字符串,我们就可以使用索引和切片来访问其中的字符或子串。Python使用从0开始的索引,例如访问单个字符:

text = 'Hello World'
print(text[0])

Python 字符串_第1张图片

 此外还有其他写法:

text = 'Hello World'
print(text[0])
print(text[-11])
print(text[10])
print(text[-1])

Python 字符串_第2张图片

 当然也可以访问范围内字符:

text = 'Hello World'
print(text[1:3])
print(text[:3])
print(text[3:])

Python 字符串_第3张图片

 所以:print(text[1:3])表示 text[1]到第三个
            print(text[:3])表示text[0]往后三位
            print(text[3:])表示从text[3]也就是第四位往后的所有字符输出

通过索引和切片,我们可以对字符串进行读取和提取所需的部分。

此外,Python还提供了丰富的字符串方法和操作符,使得我们可以轻松地进行字符串的拼接、查找、替换、大小写转换、分割和连接等操作。例如,我们可以使用加号操作符来拼接字符串:

greeting = 'Hello'
name = 'Alice'
message = greeting + ', ' + name + '!'
print(message)   # 输出:Hello, Alice!

Python 字符串_第4张图片

 

在字符串处理中,常常需要查找特定的字符或子串。Python的字符串方法中有find()index()方法,它们可以帮助我们查找子串的位置。如果要判断字符串是否包含某个子串,我们可以使用in操作符。

此外,Python还提供了强大的正则表达式库re,用于更复杂的字符串匹配和模式查找。

Python 使用了 ord() 函数返回单个字符的编码,chr() 函数把编码转成相应字符。

s = 'A'
print(ord(s))
print(chr(65))

Python 字符串_第5张图片

 可以在ASCLL中查看编码对应:Python 字符串_第6张图片

 转义符

转义符 描述
\

在行尾使用时,用作续行符

\r 回车
\\ 反斜杠
\n 换行符
\t、\v 横向制表符、纵向制表符
\r 回车符
\b 退格符
\f

换页符

运算符

运算符 描述
+ 用于两个对象的相加
- 用于从第一个对象中减去第二个对象
* 用于两个对象的乘法
/ 用于将第一个对象除以第二个对象
% 返回第一个对象除以第二个对象的余数
** 返回第一个对象的第二个对象次幂
// 返回除法结果的整数部分
[] 用于索引操作,访问列表、字符串等对象中的元素
[:] 用于切片操作,获取列表、字符串等对象的子序列
in 用于检查某个值是否存在于对象中
not in 用于检查某个值是否不存在于对象中
r/R 创建原始字符串,不对转义字符进行解释

综合起来进行简单测试:

t1='hello'
t2='world'
t3 = 1
t4 = 2
t5 = 5
print (t1 * 2)
print  (t4 ** t4)
print(t5 % t4)
print ("'h' is  in t1 -->",'h'  in t1)
print ("'w' is  not in t2 -->",'w' not in t2)
print('\\r -->',R'\r')

Python 字符串_第7张图片

 占位符

占位符 描述
%s 字符串格式化占位符,用于插入字符串值
%d 整数格式化占位符,用于插入整数值
%f 浮点数格式化占位符,用于插入浮点数值
%r 原始表示格式化占位符,用于插入变量的原始表示
%c 字符格式化占位符,用于插入字符
%x 十六进制整数格式化占位符,用于插入十六进制数
%o 八进制整数格式化占位符,用于插入八进制数

例如:

print('Hello %s' % 'Python')

 也可以分两步写:

text = 'Hello %s' % ('Python')
print(text)

Python 字符串_第8张图片

 当然也可以这样:

name = "Richard"
age = 24

# 使用 %s 占位符将变量插入到字符串中
message = "My name is %s and I am %s years old." % (name, age)

print(message)
# 输出:My name is Richard and I am 24 years old.

下面来个复杂的综合的:

name = "Richard"
age = 24
pi = 3.14159

# 使用 %d 占位符插入整数值
print("My age is %d." % age)

# 使用 %f 占位符插入浮点数值
print("The value of pi is approximately %.2f." % pi)

# 使用 %r 占位符插入原始表示
print("The variable 'name' has the raw representation: %r" % name)

# 使用 %c 占位符插入字符
print("The ASCII value of 'A' is %c" % 65)

# 使用 %x 占位符插入十六进制整数
print("The number 42 in hexadecimal is %x." % 42)

# 使用 %o 占位符插入八进制整数
print("The number 42 in octal is %o." % 42)

Python 字符串_第9张图片

 

字符串方法(String Methods)

Python 提供了许多内置方法来处理字符串。这些方法可以用于字符串的操作、转换、搜索、替换等。一些常用的方法包括 split()、join()、upper()、lower()、replace() 等。

1、split() 方法:用于将字符串拆分成子字符串,并返回一个由子字符串组成的列表。拆分可以基于指定的分隔符或默认的空白字符。

sentence = "Hello World!"
words = sentence.split()  # 默认使用空白字符拆分
print(words)  # ['Hello,', 'World!']

csv_data = "John,Doe,25"
fields = csv_data.split(',')  # 使用逗号拆分
print(fields)  # ['John', 'Doe', '25']

Python 字符串_第10张图片

 2、join() 方法:用于连接字符串列表的元素,并返回一个合并后的字符串。它将指定的字符串用作分隔符,在列表元素之间插入该分隔符。

words = ['Hello', 'World', 'Python']
sentence = ' '.join(words)  # 使用空格作为分隔符
print(sentence)  # 'Hello World Python'

csv_fields = ['John', 'Doe', '25']
csv_data = ','.join(csv_fields)  # 使用逗号作为分隔符
print(csv_data)  # 'John,Doe,25'

Python 字符串_第11张图片

# 实际上就是和split()相反作用

3、upper( ) 方法与lower( ) 方法:将字符串转换为大写形式。

text = "hello, world!"
uppercase_text = text.upper()
print(uppercase_text)  # 'HELLO, WORLD!'

text = "Hello, World!"
lowercase_text = text.lower()
print(lowercase_text)  # 'hello, world!'

Python 字符串_第12张图片

 4、replace() 方法

用指定的字符串替换原始字符串中的匹配项。

text = "Hello, World!"
replaced_text = text.replace('Hello', 'Hi')
print(replaced_text)  # 'Hi, World!'

Python 字符串_第13张图片

 

字符串拼接:

字符串拼接是将多个字符串连接在一起以创建新的字符串。你可以使用 + 运算符或 join() 方法来实现字符串拼接。

# 使用 + 运算符拼接字符串
str1 = "Hello"
str2 = "World"
result = str1 + " " + str2
print(result)  # 输出: "Hello World"

# 使用 join() 方法拼接字符串
words = ["Hello", "World"]
result = " ".join(words)
print(result)  # 输出: "Hello World"

Python 字符串_第14张图片

字符串格式化

字符串格式化是一种将变量或表达式插入到字符串中的方法。Python 提供了多种字符串格式化的方式,其中常见的方法是使用 % 运算符、str.format() 方法和 f-strings(格式化字符串字面值)。

# 使用 % 运算符进行字符串格式化
name = "Alice"
age = 25
result = "My name is %s and I am %d years old." % (name, age)
print(result)  # 输出: "My name is Alice and I am 25 years old."

# 使用 str.format() 方法进行字符串格式化
name = "Bob"
age = 30
result = "My name is {} and I am {} years old.".format(name, age)
print(result)  # 输出: "My name is Bob and I am 30 years old."

# 使用 f-strings 进行字符串格式化(Python 3.6+)
name = "Charlie"
age = 35
result = f"My name is {name} and I am {age} years old."
print(result)  # 输出: "My name is Charlie and I am 35 years old."

Python 字符串_第15张图片

这些方法都可以让你轻松地拼接和格式化字符串,根据需求选择合适的方法。对于更复杂的格式化需求,如日期、数字精度等,可以进一步学习每种方法的详细语法和选项。

 

本篇简单介绍了 Python 中的字符串及其常用操作。我们了解了字符串的基础概念,学习了如何使用转义符、运算符和格式化占位符来操作和格式化字符串。此外还介绍了一些常用的字符串方法,如 split()join()upper()lower()replace()

字符串在编程中扮演着重要的角色,无论是处理文本数据、用户输入、文件操作还是网络通信,字符串操作都是常见的任务。通过掌握这些基本操作和方法,能够更有效地处理和操作字符串数据。

当然,这篇博客只是对字符串的简单介绍,字符串作为一个广阔的主题,还有很多深入的内容可以进一步学习和探索。你可以继续学习更高级的字符串操作,如正则表达式和字符串编码,以及其他高级技巧和最佳实践。

你可能感兴趣的:(笔记,Python,python,开发语言)