返回列表 发帖

Python三引号

python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。实例如下

#!/usr/bin/python3

para_str = """这是一个多行字符串的实例
多行字符串可以使用制表符
TAB ( \t )。
也可以使用换行符 [ \n ]。
"""
print (para_str)
以上实例执行结果为:

这是一个多行字符串的实例
多行字符串可以使用制表符
TAB (    )。
也可以使用换行符 [
]。
三引号让程序员从引号和特殊字符串的泥潭里面解脱出来,自始至终保持一小块字符串的格式是所谓的WYSIWYG(所见即所得)格式的。

一个典型的用例是,当你需要一块HTML或者SQL时,这时用字符串组合,特殊字符串转义将会非常的繁琐。

errHTML = '''
<HTML><HEAD><TITLE>
Friends CGI Demo</TITLE></HEAD>
<BODY><H3>ERROR</H3>
<B>%s</B><P>
<FORM><INPUT TYPE=button VALUE=Back
ONCLICK="window.history.back()"></FORM>
</BODY></HTML>
'''
cursor.execute('''
CREATE TABLE users (  
login VARCHAR(8),
uid INTEGER,
prid INTEGER)
''')
还记得我们在注释相关章节中介绍的多行注释嘛?三引号的另一种用途就是用来做为多行注释使用。

f-string
f-string 是 python3.6 之后版本添加的,称之为字面量格式化字符串,是新的格式化字符串的语法。

之前我们习惯用百分号 (%):

name = 'W3Cschool'
print('Hello %s' % name)
运行结果:

Hello W3Cschool
f-string 格式化字符串以 f 开头,后面跟着字符串,字符串中的表达式用大括号 {} 包起来,它会将变量或表达式计算后的值替换进去,实例如下:

name = 'W3Cschool'
print(f'Hello {name}')  # 替换变量

print(f'{1+2}')         # 使用表达式

w = {'name': 'W3Cschool', 'url': 'www.w3cschool.cn'}
print(f'{w["name"]}: {w["url"]}')
运行结果:

Hello W3Cschool
3
W3Cschool: www.w3cschool.cn
用了这种方式明显更简单了,不用再去判断使用 %s,还是 %d。

在 Python 3.8 的版本中可以使用 = 符号来拼接运算表达式与结果:

x = 1
print(f'{x+1}')   # Python 3.6

x = 1
print(f'{x+1=}')   # Python 3.8
运行结果(由于在线idepython版本不支持3.8,所以不提供在线运行案例):

2
x+1=2

返回列表