逸龙天下 发表于 2024-8-2 11:52:09

(四)Python中的字符串类型及操作

一、字符串类型的表示

在Python中,字符串可以使用单引号 (')、双引号 (")、三引号 (''' 或 """) 来表示
# 使用单引号
string1 = 'Hello, World!'

# 使用双引号
string2 = "Hello, World!"

# 使用三引号
string3 = '''Hello,
World!'''

string4 = """Hello,
World!"""其中,单引号和双引号的字符串必须在同一行,而三引号的字符串可以跨越多行
二、字符串操作符

Python提供了一些操作符用于处理字符串:
连接操作符(+):
python复制代码str1 = "Hello"
str2 = "World"
result = str1 + " " + str2# "Hello World"重复操作符(*):
python复制代码str1 = "Hello"
result = str1 * 3# "HelloHelloHello"成员操作符(in 和 not in):
python复制代码str1 = "Hello"
result = 'H' in str1# True
result = 'h' not in str1# True索引操作符([]):
python复制代码str1 = "Hello"
result = str1# 'e'切片操作符([:]):
python复制代码str1 = "Hello"
result = str1# 'ell'三、字符串处理函数

Python内置了许多处理字符串的函数,这些函数通常以独立函数的形式出现:

[*]len():返回字符串的长度。
python复制代码str1 = "Hello"
result = len(str1)# 5
[*]str():将其他类型转换为字符串。
python复制代码num = 123
result = str(num)# "123"
[*]ord() 和 chr():分别返回字符的Unicode码点和码点对应的字符。
python复制代码char = 'A'
result = ord(char)# 65
result = chr(65)# 'A'
四、字符串处理方法

字符串是Python中的一个对象,因此它有许多方法用于处理和操作。常用的方法包括:

[*]upper() 和 lower():将字符串转换为全大写或全小写。
python复制代码str1 = "Hello"
result = str1.upper()# "HELLO"
result = str1.lower()# "hello"
[*]strip()、lstrip() 和 rstrip():移除字符串两端、左端或右端的空白字符。
python复制代码str1 = "Hello"
result = str1.strip()# "Hello"
result = str1.lstrip()# "Hello"
result = str1.rstrip()# "Hello"
[*]replace():替换字符串中的某些子串。
python复制代码str1 = "Hello World"
result = str1.replace("World", "Python")# "Hello Python"
[*]split() 和 join():分割和连接字符串。
python复制代码str1 = "Hello,World"
result = str1.split(",")# ['Hello', 'World']

list1 = ['Hello', 'World']
result = ",".join(list1)# "Hello,World"
[*]find() 和 rfind():查找子串在字符串中的位置。
python复制代码str1 = "Hello World"
result = str1.find("World")# 6
result = str1.rfind("l")# 9
五、字符串类型的格式化

Python提供了多种字符串格式化的方法,常见的有以下几种:

[*]百分号格式化:
python复制代码name = "World"
result = "Hello, %s" % name# "Hello, World"
[*]
python复制代码name = "World"
result = "Hello, {}".format(name)# "Hello, World"
[*]f-string(格式化字符串字面量):
python复制代码name = "World"
result = f"Hello, {name}"# "Hello, World"
六str.format() 方法详解

str.format() 方法是Python提供的一种强大且灵活的字符串格式化方式,允许我们在字符串中插入变量和表达式。与传统的百分号 (%) 格式化相比,str.format() 方法提供了更多的控制和更易读的语法。下面我们将详细介绍 str.format() 方法的各种用法。
基本用法
str.format() 方法使用花括号 {} 作为占位符,在字符串中插入变量值。
python复制代码name = "Alice"
age = 30
result = "Name: {}, Age: {}".format(name, age)
print(result)# 输出: "Name: Alice, Age: 30"指定位置
可以通过在花括号中指定位置参数,以便在多个变量时更灵活地排列输出顺序。
python复制代码name = "Alice"
age = 30
result = "Name: {0}, Age: {1}, {0} is {1} years old.".format(name, age)
print(result)# 输出: "Name: Alice, Age: 30, Alice is 30 years old."使用关键字参数
str.format() 允许使用关键字参数,这样可以更明确地指定每个值。
python复制代码result = "Name: {name}, Age: {age}".format(name="Alice", age=30)
print(result)# 输出: "Name: Alice, Age: 30"填充与对齐
可以在花括号中使用 : 后跟对齐方式和填充字符:

[*]:右对齐
[*]^:居中对齐
python复制代码result = "{:<10}".format("Left")
print(result)# 输出: "Left      "

result = "{:>10}".format("Right")
print(result)# 输出: "   Right"

result = "{:^10}".format("Center")
print(result)# 输出: "Center"

result = "{:*^10}".format("Center")
print(result)# 输出: "**Center**"数字格式化
可以使用格式说明符对数字进行格式化:

[*]d:十进制整数
[*]f:浮点数
[*]e:科学计数法
python复制代码number = 1234.56789

result = "Integer: {:d}".format(1234)
print(result)# 输出: "Integer: 1234"

result = "Float: {:.2f}".format(number)
print(result)# 输出: "Float: 1234.57"

result = "Scientific: {:.2e}".format(number)
print(result)# 输出: "Scientific: 1.23e+03"千位分隔符
可以使用逗号 , 作为千位分隔符,使数字更易读:
python复制代码number = 1234567890
result = "Number with commas: {:,}".format(number)
print(result)# 输出: "Number with commas: 1,234,567,890"百分比格式化
可以使用百分比符号 % 进行百分比格式化:
python复制代码number = 0.12345
result = "Percentage: {:.2%}".format(number)
print(result)# 输出: "Percentage: 12.35%"嵌套格式化
str.format() 方法还支持嵌套和复合字段:
python复制代码data = {
    "name": "Alice",
    "age": 30
}
result = "Name: {data}, Age: {data}".format(data=data)
print(result)# 输出: "Name: Alice, Age: 30"访问对象属性
str.format() 允许直接访问对象的属性和方法:
python复制代码class Person:
    def __init__(self, name, age):
      self.name = name
      self.age = age

person = Person("Alice", 30)
result = "Name: {0.name}, Age: {0.age}".format(person)
print(result)# 输出: "Name: Alice, Age: 30"
来源:https://www.cnblogs.com/liangyixu342/p/18338145
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: (四)Python中的字符串类型及操作