第十二讲 字符串-转义字符-字符串拼接-字符串替换

本文详细介绍了Python字符串的特点,包括序列性、不可变性和Unicode支持。探讨了ord()和chr()函数在Unicode编码中的应用,以及空字符串与len()函数的使用。接着讲解了字符串转义字符的概念,以及多种字符串拼接方法,如加号运算符、join()、f-string和format()。此外,还介绍了字符串复制、不换行打印以及字符串替换replace()的功能和用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1. 字符串的基本特点

2. 字符串的编码

2.1 内置函数ord()

2.2 内置函数chr()

3.空字符串和内置函数len()

4.转义字符

5. 字符串拼接

5.1 加号运算符进行字符串拼接

5.2 字符串的 join() 方法

5.3 f-string

5.4 format()

6. 字符串复制

7. 不换行打印

8. input() 获取键盘输入

9.字符串替换 replace()


1. 字符串的基本特点

  • 序列性:字符串可以被看作是由单个字符组成的序列。因此,可以通过索引来访问字符串中的单个字符,也可以使用切片来获取子字符串。(字符串的本质是:字符序列)

  • 不可变性:字符串在创建之后不能被修改。这意味着一旦创建了一个字符串对象,它的内容就不可改变。如果需要修改字符串,实际上是创建了一个新的字符串对象。

  • Unicode支持:Python中的字符串是Unicode字符串,可以表示世界上几乎所有的字符集,包括ASCII、Latin-1、GB18030等
  • Python不支持单字符类型,单字符也是作为一个字符串使用的。

2. 字符串的编码

  • Python3直接支持Unicode,可以表示世界上任何书面语言的字 符。
  • Python3的字符默认就是16Unicode编码,ASCII码是 Unicode编码的子集

2.1 内置函数ord()

  • 参数:一个字符
  • 说明:返回给定字符的 Unicode 码点(整数表示)(可以把字符转换成对应的Unicode
  • 作用:ord() 函数用于获取指定字符的 Unicode 码点,即该字符在 Unicode 编码表中的整数值。
code_point = ord('A')
print(code_point)  # 输出 65

2.2 内置函数chr()

  • 参数:一个整数
  • 说明:返回给定 Unicode 码点的字符( 可以把十进制数字转换成对应的字符)
  • 作用:chr() 函数用于根据给定的 Unicode 码点返回对应的字符。
char = chr(65)
print(char)  # 输出 'A'

3.空字符串和内置函数len()

  • 空字符串是指不包含任何字符的字符串。空字符串可以用两个单引号 '' 或双引号 "" 表示。它在逻辑上等同于 False,因此在条件判断中会被视为假值。
empty_string = ''
print(len(empty_string))  # 输出: 0
  • len() 函数是Python内置函数,用于返回一个序列对象(如字符串、列表、元组等)的长度或元素个数。对于字符串来说,len() 函数返回字符串中字符的个数,包括空格和其他特殊字符。对于列表或元组来说,len() 函数返回其包含的元素个数。
my_string = "Hello, World!"
print(len(my_string))  # 输出: 13

my_list = [1, 2, 3, 4, 5]
print(len(my_list))  # 输出: 5

4.转义字符

转义字符是指以反斜杠(\)开头的特殊字符序列,用于表示一些无法直接输入或打印的字符,例如换行符、制表符、引号等。当 Python 解释器遇到反斜杠时,它会将反斜杠和其后面的字符组合成一个特殊的字符。

转义字

(在行尾时)

续行

\

反斜杠符

\'

单引

\"

双引

\b

退格(Backspace)

\n

\t

横向制表

\r

# 换行符
print("Hello\nWorld")
# 输出:
# Hello
# World

# 制表符
print("Name\tAge")
# 输出:
# Name    Age

# 使用单引号和双引号
print('He said, "Python is awesome"')
# 输出:
# He said, "Python is awesome"

# 打印反斜杠
print("C:\\Users\\User\\Desktop")
# 输出:
# C:\Users\User\Desktop

 字符串前面加上 r 或 R,表示原始字符串,其中的反斜杠不会被转义。

# 原始字符串
print(r"Path: C:\Users\User\Desktop")
# 输出:
# Path: C:\Users\User\Desktop

5. 字符串拼接

5.1 加号运算符进行字符串拼接

first_name = "John"
last_name = "Doe"
full_name = first_name + " " + last_name
print(full_name)  # 输出: John Doe

5.2 字符串的 join() 方法

words = ["Hello", "World", "!"]
combined_string = " ".join(words)
print(combined_string)  # 输出: Hello World !

5.3 f-string

name = "Alice"
greeting = f"Hello, {name}!"
print(greeting)  # 输出: Hello, Alice!

5.4 format()

item = "book"
price = 20
description = "The {} costs ${:.2f}".format(item, price)
print(description)  # 输出: The book costs $20.00

6. 字符串复制

使用*可以实现字符串复制

1 a = 'abc'* 3  #结果:'abcabcabc'

7. 不换行打印

我们前面调用print时,会自动打印一个换行符。有时,我们不想换行,不想自动添加换行符。我们可以自己通过参数end = “任意字符。实现末尾添加任何内容:

print("a",end=' ')
print("b",end='##')

# 运行结果:a b##



# 不换行打印
print("Hello,", end=" ")
print("World!")
# 输出: Hello, World!

# 使用循环进行不换行打印
for i in range(5):
    print(i, end=", ")
# 输出: 0, 1, 2, 3, 4,

# 打印多行内容时不换行
print("This is a multi-line content: ", end="")
print("line 1", end="\n")
print("line 2", end="\n")
# 输出:
# This is a multi-line content: line 1
# line 2

8. input() 获取键盘输入

input() 函数用于从用户获取输入。当调用 input() 函数时,程序会暂停执行,等待用户输入内容,并在用户按下回车键后将输入的内容作为字符串返回。用户输入的内容可以包含任何类型的数据,但 input() 函数始终将其作为字符串处理。

# 获取用户输入并打印
name = input("Please enter your name: ")
print("Hello, " + name)

# 将用户输入转换为整数
age = input("Please enter your age: ")
age = int(age)  # 将字符串转换为整数
print("You will be " + str(age + 1) + " years old next year.")

# 处理用户输入的数值计算
num1 = float(input("Enter a number: "))
num2 = float(input("Enter another number: "))
result = num1 + num2
print("The result of the addition is: " + str(result))
  • 首先,我们使用 input() 函数获取用户输入的名字,并对其进行简单的打印。然后,我们获取用户输入的年龄,并将其转换为整数进行计算。最后,我们展示了如何获取用户输入的数字,并进行数值计算。
  • 需要注意的是,input() 函数返回的始终是一个字符串,如果需要将其转换为其他类型(例如整数或浮点数),则需要使用相应的转换函数(例如 int()float())来进行转换。另外,当用户输入内容时,程序会一直等待用户按下回车键才会继续执行。

9.字符串替换 replace()

new_string = original_string.replace(old, new, count)
  • original_string 是要进行替换操作的原始字符串。
  • old 是要被替换的子串。
  • new 是要替换成的新子串。
  • count 是一个可选参数,表示最多进行替换的次数。

将原始字符串中的 "Hello" 替换为 "Hi"。

original_string = "Hello, World!"
new_string = original_string.replace("Hello", "Hi")
print(new_string)  # 输出: Hi, World!

原始字符串中所有的 "really" 替换为 "definitely"。

message = "I really really like apples"
new_message = message.replace("really", "definitely")
print(new_message)  # 输出: I definitely definitely like apples

原始字符串中的 "one" 替换为 "two",但是限制最多只进行2次替换

text = "one one one one"
new_text = text.replace("one", "two", 2)  # 最多替换2次
print(new_text)  # 输出: two two one one

注意:字符串是不可变的,整个过程中,实际上我们是创建了新的字符串对象,并指向了变量而不是修改了以前的字符串

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

还是那个同伟伟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值