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

cnblogs 2024-08-02 10:39:00 阅读 85

一、字符串类型的表示

在Python中,字符串可以使用单引号 (<code>')、双引号 (")、三引号 ('''""") 来表示

# 使用单引号

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"

成员操作符(innot in

python复制代码str1 = "Hello"

result = 'H' in str1 # True

result = 'h' not in str1 # True

索引操作符([]

python复制代码str1 = "Hello"

result = str1[1] # 'e'

切片操作符([:]

python复制代码str1 = "Hello"

result = str1[1:4] # 'ell'

三、字符串处理函数

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

  1. len():返回字符串的长度。

    python复制代码str1 = "Hello"

    result = len(str1) # 5

  2. str():将其他类型转换为字符串。

    python复制代码num = 123

    result = str(num) # "123"

  3. ord()chr():分别返回字符的Unicode码点和码点对应的字符。

    python复制代码char = 'A'

    result = ord(char) # 65

    result = chr(65) # 'A'

四、字符串处理方法

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

  1. upper()lower():将字符串转换为全大写或全小写。

    python复制代码str1 = "Hello"

    result = str1.upper() # "HELLO"

    result = str1.lower() # "hello"

  2. strip()lstrip()rstrip():移除字符串两端、左端或右端的空白字符。

    python复制代码str1 = " Hello "

    result = str1.strip() # "Hello"

    result = str1.lstrip() # "Hello "

    result = str1.rstrip() # " Hello"

  3. replace():替换字符串中的某些子串。

    python复制代码str1 = "Hello World"

    result = str1.replace("World", "Python") # "Hello Python"

  4. split()join():分割和连接字符串。

    python复制代码str1 = "Hello,World"

    result = str1.split(",") # ['Hello', 'World']

    list1 = ['Hello', 'World']

    result = ",".join(list1) # "Hello,World"

  5. find()rfind():查找子串在字符串中的位置。

    python复制代码str1 = "Hello World"

    result = str1.find("World") # 6

    result = str1.rfind("l") # 9

五、字符串类型的格式化

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

  1. 百分号格式化

    python复制代码name = "World"

    result = "Hello, %s" % name # "Hello, World"

python复制代码name = "World"

result = "Hello, {}".format(name) # "Hello, World"

  1. f-string(格式化字符串字面量)

    <code>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)code>

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[name]}, Age: {data[age]}".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"



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。