python特殊字符作为字符串不转义的问题
作者:春眠不觉晓HUNAN
这篇文章主要介绍了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'''静夜思 床前明月光, 疑是地上霜。 举头望明月, 低头思故乡。''')
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。