【Python编程从入门到实践】Python中的字符串知识大全

在Python中,字符串可以用单引号(‘’)或双引号(" “”)来定义。它们之间没有本质的区别,可以互换使用。但是,在某些情况下,它们可能会有不同的用途。

s1 = "Hello, World!"
s2 = 'Python is great.'

如果字符串中包含单引号,可以使用双引号来定义该字符串,反之亦然。这可以避免在字符串中使用转义字符。

s3 = "Hello, I'm a string with a single quote."
s4 = 'Hello, I "love" Python.'

字符串拼接

使用+运算符可以将两个字符串拼接在一起,也可以使用join()方法。

s5 = "Hello, " + "World!"
print('-'.join(['2022', '04', '15']))  # 输出 "2022-04-15"

由于字符串的不可变性,拼接多个字符串时尽量避免频繁使用+操作符,因为这会不断创建新的字符串对象,导致效率降低。推荐使用str.join()方法,或者如果是在Python 3.6以上,可以使用f-string

推荐的字符拼接方式:

# 使用 join 方法拼接字符串列表
words = ['How', 'are', 'you', 'doing', '?']
sentence = ' '.join(words)
print(sentence)  # 输出 "How are you doing ?"

# 使用 f-string (Python 3.6+)
word1 = "How"
word2 = "you"
sentence = f"{word1} are {word2} doing?"
print(sentence)  # 输出 "How are you doing?"

字符串索引和切片

通过索引可以访问字符串中的单个字符,通过切片可以获取字符串的子串。

s6 = "Python"
first_char = s6[0]  # 获取第一个字符 'P'
last_char = s6[-1]  # 获取最后一个字符 'n'
sub_string = s6[1:4]  # 获取子串 'yth'

字符串查找

使用in关键字可以检查一个字符串是否包含另一个字符串。

if "Python" in "I love Python!":
    print("The string contains 'Python'.")

替换

使用replace()方法可以将字符串中的字符或子串替换为其他字符或子串。

s7 = "Hello, World!"
s8 = s7.replace("World", "Python")

大小写转换

使用title()方法、upper()方法以及lower()方法可分别实现首字母大写、全部大写以及全部小写等需求。

s9 = "I love python"
print(s9.title())  # I Love Python
print(s9.upper())  # I LOVE PYTHON
print(s9.lower())  # i love python
print(s9)  # I love python
s9 = s9.lower()
print(s9)  # i love python

需要注意的是这些方法并位改变字符串的原本值,只是新建了一个临时变量。Python中的字符串是无法修改的,如果需要修改该字符串,需要用一个新字符串或它本身来接收。

在字符串中引用变量

当我们打印字符串时,可能需要引用某个数值或其他数据类型,这时可以用f字符串 引用变量。

name = "张三"
age = 28
print(f"你好,{name}。你今年{age}岁。")  # 输出 "你好,张三。你今年28岁。"

f-string是在运行时解析和执行的,因此它们不能用于格式化不受信任的用户输入,以避免安全风险。
f-string在性能上通常比str.format()和旧式的百分号格式化方法更快。
f-string因其简洁、易读和强大的特性,已经成为Python中字符串格式化的首选方法

使用制表符和换行符

制表符通常用于缩进文本或在文本中对齐列。在Python中,制表符用\t表示。当你打印一个包含制表符的字符串时,输出会在制表位置(通常是每列的起始位置)开始。

print("Name\tAge\tCountry")
# 输出
# Name  Age	 Country

换行符用于在文本中创建新的行。在Python中,换行符用\n表示。当你打印一个包含换行符的字符串时,输出会在换行符的位置开始新的一行。

print("Hello, World!\nThis is a new line.")
# 输出
# Hello, World!
# This is a new line.

在编写代码时,要注意制表符和空格的使用。Python对缩进非常敏感,混合使用制表符和空格可能会导致IndentationError
在不同的操作系统上,换行符可能会有所不同。在Windows上,通常使用\r\n作为换行符,而在Unix和Linux系统(包括macOS)上,通常使用\n。Python提供了一个跨平台的os.linesep字符串,它表示当前平台的行分隔符。

删除空白

在Python中,字符串可能包含不同类型的空白字符,如空格、制表符(\t)、换行符(\n)等。有时,你希望删除字符串开头或结尾的空白字符,或者删除字符串中的所有空白字符。Python提供了几种方法来实现这些操作。分别是:

  • lstrip(): 删除左空白
  • rstrip(): 删除右空白
  • strip(): 删除两边空白
s10 = ' python '
print(s10.lstrip())  # 'python '
print(s10.rstrip())  # ' python'
print(s10.strip())  # 'python'
  • 13
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值