站点图标 AI技术聚合

python特殊字符作为字符串不转义的问题

python特殊字符作为字符串不转义

我们所熟知的

\t      制表符
\n      换行符
\r\n    windows系统下的换行符

可是有时候在字符串里面我只是希望这玩意就是字符串,不需要被转义

最简单的解决方式就是在前面再来个反斜杠

\\t     
\\n      
\\r\\n   

来看一下效果:

  •  ①转义
zy = 'i am \t cc \n bb \r aa'
print('zy--', zy)

  • ②不转义
bzy = 'i am \\t cc \\n bb \\r aa'
print('bzy--', bzy)

 

python字符串避免转义、多行、Unicode编码

python 3.x版本中print 后面必须加上()

raw字符串(用于避免字符串转义)

如果字符串中包含许多需要转义的字符,可以用 r 标识字符串,避免转义。

例如:

print '\t \\ \n \\t'     
print ('\t \\ \n \\t') #未使用r标识,则特殊字符\t,\n无法打印,必须经过转义符\进行才行
print (r'\t \\ \n \\t') #使用r标识,则不进行转义,打印字符串'\t \\ \n \\t'

多行字符串

由于r’…’里面的字符串不会进行转义,所以\n不再是换行(同时也无法表示包含 ‘ ” 的字符串)’,因此r’…’无法表示多行字符串。

python提供”’…”’表示多行字符串

'''Line 1
Line 2
Line 3'''

raw+多行表示

使用r”’…”’

Unicode编码表示

如果需要打印中文或者注释中含有中文,需要在首行使用    # -*- coding: utf-8 -*-

或者  # coding: utf-8 。

例如:

 # -*- coding: utf-8 -*-
print (u'中文')

Unicode+多行

使用:

# coding:utf-8
print (u'''静夜思
床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。''')

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持aitechtogether.com。

退出移动版