9.Python从入门到精通—Python 字符串格式化,三引号,Unicode 字符串

9.Python从入门到精通---Python 字符串格式化,三引号,Unicode 字符串

  • [Python 字符串格式化](#Python 字符串格式化)
  • [Python 三引号](#Python 三引号)
  • [Unicode 字符串](#Unicode 字符串)
    • [创建 Unicode 字符串](#创建 Unicode 字符串)
    • [Python 的字符串内建函数](#Python 的字符串内建函数)

Python 字符串格式化

Python中的字符串格式化是指将一个字符串中的占位符替换为指定的值。Python中有多种字符串格式化的方法,以下是其中的几种常见方法:

使用百分号(%)进行字符串格式化

使用百分号(%)进行字符串格式化是Python中最早的字符串格式化方法。它的基本语法如下:

python 复制代码
"格式化字符串" % (值1, 值2, ...)

其中,格式化字符串中使用占位符来表示需要替换的位置,占位符以%开始,后面跟着一个或多个字符,表示需要替换的值的类型。常见的占位符有:

%d:整数

%f:浮点数

%s:字符串

%c:字符

%x:十六进制整数

例如:

python 复制代码
name = 'Tom'
age = 18
print('My name is %s, and I am %d years old.' % (name, age))

输出结果为:

python 复制代码
My name is Tom, and I am 18 years old.

使用format()方法进行字符串格式化

使用format()方法进行字符串格式化是Python中常用的字符串格式化方法之一。它的基本语法如下:

python 复制代码
"格式化字符串".format(值1, 值2, ...)

其中,格式化字符串中使用占位符来表示需要替换的位置,占位符以{}表示。如果需要在占位符中指定值的类型,可以在{}中使用冒号(:)进行格式化。例如:

python 复制代码
name = 'Tom'
age = 18
print('My name is {}, and I am {} years old.'.format(name, age))

输出结果为:

python 复制代码
My name is Tom, and I am 18 years old.

使用f-string进行字符串格式化

使用f-string进行字符串格式化是Python 3.6及以上版本中新增的字符串格式化方法。它的基本语法如下:
f"格式化字符串"

其中,格式化字符串中使用占位符来表示需要替换的位置,占位符以{}表示。如果需要在占位符中指定值的类型,可以在{}中使用冒号(:)进行格式化。例如:

python 复制代码
name = 'Tom'
age = 18
print(f'My name is {name}, and I am {age} years old.')

输出结果为:

python 复制代码
My name is Tom, and I am 18 years old.

Python 三引号

在 Python 中,三引号用于创建多行字符串,可以使用单引号或双引号来表示。三引号中的文本可以包含换行符、引号等特殊字符,而无需使用转义字符。以下是一些示例代码,演示了 Python 中三引号的使用:

python 复制代码
a = '''This is a multi-line string.
It can span multiple lines.'''
print(a)

b = """This is another multi-line string.
It can also span multiple lines."""
print(b)

输出结果为:

python 复制代码
This is a multi-line string.
It can span multiple lines.
This is another multi-line string.
It can also span multiple lines.

需要注意的是,三引号中的文本会保留原始格式,包括空格和换行符。

如果不希望保留原始格式,可以使用字符串方法 strip() 来删除首尾的空格和换行符。例如:

python 复制代码
c = '''    This is a multi-line string.
    It can span multiple lines.    
    '''
print(c.strip())

输出结果为:

python 复制代码
This is a multi-line string.
It can span multiple lines.

Unicode 字符串

在 Python 中,Unicode 字符串是一种特殊的字符串类型,用于表示任意字符集中的字符。Unicode 字符串以"u"开头,例如 u'Hello, world!'。在 Python 3 中,所有字符串都是 Unicode 字符串。
Unicode 字符串可以包含任何 Unicode 字符,包括 ASCII 字符和非 ASCII 字符。Unicode字符串可以使用转义序列来表示任意 Unicode 字符,例如 \uXXXX 和 \UXXXXXXXX,其中 XXXX 和 XXXXXXXX

分别表示 Unicode 字符的十六进制编码。

以下是一些示例代码,演示了 Python 中 Unicode 字符串的使用:

创建 Unicode 字符串

python 复制代码
a = u'Hello, world!'
b = u'你好,世界!'
c = u'\u2603\u2764\u2600'  # 表示雪花、心形和太阳的 Unicode 字符

print(a)
print(b)
print(c)

输出结果为:

python 复制代码
```python
Hello, world!
你好,世界!
☃❤☀

需要注意的是,Python 2 中默认的字符串类型是 ASCII 字符串,如果需要使用 Unicode字符串,需要在字符串前面添加"u"前缀。而在 Python 3 中,所有字符串都是 Unicode 字符串,无需添加前缀。

总之,Unicode 字符串在 Python 中是非常有用的,可以帮助我们处理各种字符集中的字符。

Python 的字符串内建函数

Python中的字符串内建函数是指可以直接使用的与字符串相关的函数,以下是一些常见的字符串内建函数:

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

capitalize():将字符串的第一个字符转换为大写字母。

lower():将字符串中的所有字符转换为小写字母。

upper():将字符串中的所有字符转换为大写字母。

title():将字符串中每个单词的首字母大写。

swapcase():将字符串中的大小写字母互换。

count():返回字符串中指定子字符串的出现次数。

find():查找字符串中指定子字符串的位置,如果找到返回第一次出现的位置,否则返回-1。

index():查找字符串中指定子字符串的位置,如果找到返回第一次出现的位置,否则会抛出异常。

replace():将字符串中指定的子字符串替换为另一个字符串。

split():将字符串按照指定的分隔符分割成多个子字符串,并返回一个列表。

strip():去除字符串两端的空格或指定字符。

join():将多个字符串拼接成一个字符串。

isdigit():判断字符串是否只包含数字字符。

isalpha():判断字符串是否只包含字母字符。

isspace():判断字符串是否只包含空格字符。

isupper():判断字符串中所有字母是否都是大写字母。

islower():判断字符串中所有字母是否都是小写字母。

startswith():判断字符串是否以指定的子字符串开头。

endswith():判断字符串是否以指定的子字符串结尾。

python 复制代码
# len() 示例
s = "Hello, World!"
print(len(s))  # 输出:13

# capitalize() 示例
s = "hello, world!"
print(s.capitalize())  # 输出:"Hello, world!"

# lower() 示例
s = "Hello, World!"
print(s.lower())  # 输出:"hello, world!"

# upper() 示例
s = "Hello, World!"
print(s.upper())  # 输出:"HELLO, WORLD!"

# title() 示例
s = "hello, world!"
print(s.title())  # 输出:"Hello, World!"

# swapcase() 示例
s = "Hello, World!"
print(s.swapcase())  # 输出:"hELLO, wORLD!"

# count() 示例
s = "hello, world! hello, world!"
print(s.count("hello"))  # 输出:2

# find() 示例
s = "hello, world!"
print(s.find("world"))  # 输出:7

# index() 示例
s = "hello, world!"
print(s.index("world"))  # 输出:7

# replace() 示例
s = "hello, world!"
print(s.replace("world", "Python"))  # 输出:"hello, Python!"

# split() 示例
s = "hello,world,Python"
print(s.split(","))  # 输出:['hello', 'world', 'Python']

# strip() 示例
s = "   hello, world!   "
print(s.strip())  # 输出:"hello, world!"

# join() 示例
s1 = "hello"
s2 = "world"
print("-".join([s1, s2]))  # 输出:"hello-world"

# isdigit() 示例
s = "12345"
print(s.isdigit())  # 输出:True

# isalpha() 示例
s = "hello"
print(s.isalpha())  # 输出:True

# isspace() 示例
s = "   "
print(s.isspace())  # 输出:True

# isupper() 示例
s = "HELLO"
print(s.isupper())  # 输出:True

# islower() 示例
s = "hello"
print(s.islower())  # 输出:True

# startswith() 示例
s = "hello, world!"
print(s.startswith("hello"))  # 输出:True

# endswith() 示例
s = "hello, world!"
print(s.endswith("world!"))  # 输出:True
相关推荐
数据智能老司机6 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机7 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机7 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机7 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i8 小时前
drf初步梳理
python·django
每日AI新事件8 小时前
python的异步函数
python
这里有鱼汤9 小时前
miniQMT下载历史行情数据太慢怎么办?一招提速10倍!
前端·python
databook18 小时前
Manim实现脉冲闪烁特效
后端·python·动效
程序设计实验室18 小时前
2025年了,在 Django 之外,Python Web 框架还能怎么选?
python
倔强青铜三20 小时前
苦练Python第46天:文件写入与上下文管理器
人工智能·python·面试