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
相关推荐
正在走向自律9 分钟前
阿里云ESC服务器一次性全部迁移到另一个ESC
服务器·阿里云·云计算
gywl35 分钟前
openEuler VM虚拟机操作(期末考试)
linux·服务器·网络·windows·http·centos
轻口味39 分钟前
命名空间与模块化概述
开发语言·前端·javascript
晓纪同学2 小时前
QT-简单视觉框架代码
开发语言·qt
威桑2 小时前
Qt SizePolicy详解:minimum 与 minimumExpanding 的区别
开发语言·qt·扩张策略
飞飞-躺着更舒服2 小时前
【QT】实现电子飞行显示器(简易版)
开发语言·qt
了一li2 小时前
Qt中的QProcess与Boost.Interprocess:实现多进程编程
服务器·数据库·qt
明月看潮生2 小时前
青少年编程与数学 02-004 Go语言Web编程 16课题、并发编程
开发语言·青少年编程·并发编程·编程与数学·goweb
明月看潮生2 小时前
青少年编程与数学 02-004 Go语言Web编程 17课题、静态文件
开发语言·青少年编程·编程与数学·goweb
Java Fans2 小时前
C# 中串口读取问题及解决方案
开发语言·c#