python中原始字符串到底有什么用啊
为什么图片中没有加r的时候,显示的代码是错位的,而在代码前加了r以后,就不会错位了啊? 原始字符串会让所有的转义符都失效让"\"失去转义功效,沦为单纯的字符 'r'是防止字符转义的
这样字符串中的\为单纯字符 那为什么加了r之后就不会发生错位了啊? 胖·鱼 发表于 2021-7-18 19:14
那为什么加了r之后就不会发生错位了啊?
问题出在第六行的结尾"\"
python中认为"\"是转移字符
"\"放在结尾的话在python中是认为代码没有写完,要转行
不加r的话这就是个转行的转义符,将第七行和第六行拼接在一起,同时这个"\"是不作为字符串出现的
这种时候就需要把"\"转义成正常的字符
有两种方法
第一种方法,再加上一个转移字符"\"用来转义"\"本身,也就是"\\"
a ='''
___ ___ ___ ___
/\\ ___ /\\ /\__\ /\\
/::\\ /\\ /::\\ /:// /::\\
/:/\:\\ \:\\ /:/\ \\ /:/__/ /:/\:\\
/::\~\:\\ /::\__\ _\:\~\ \\/::\\ ___/:/\:\\
/:/\:\ \:\__\ __/:/\/__//\ \:\ \ \__\/:/\:\/\__\/:/__/ \:\__\\#这里
\/__\:\ \/__//\/:// \:\ \:\ \/__/\/__\:\/://\:\\\/__/
\:\__\\::/__/ \:\ \:\__\ \:://\:\\
\/__/ \:\__\ \:\/:// /:// \:\\
\/__/ \::// /:// \:\__\
\/__/ \/__/ \/__/
'''
print(a)
第二种方法,加上原始字符串r,使得字符中的所有"\"失去转义
a =r'''
___ ___ ___ ___
/\\ ___ /\\ /\__\ /\\
/::\\ /\\ /::\\ /:// /::\\
/:/\:\\ \:\\ /:/\ \\ /:/__/ /:/\:\\
/::\~\:\\ /::\__\ _\:\~\ \\/::\\ ___/:/\:\\
/:/\:\ \:\__\ __/:/\/__//\ \:\ \ \__\/:/\:\/\__\/:/__/ \:\__\#这里一个\
\/__\:\ \/__//\/:// \:\ \:\ \/__/\/__\:\/://\:\\\/__/
\:\__\\::/__/ \:\ \:\__\ \:://\:\\
\/__/ \:\__\ \:\/:// /:// \:\\
\/__/ \::// /:// \:\__\
\/__/ \/__/ \/__/
'''
print(a)
原始字符串就是让字符仅仅只是字符,而没有转义的作用 小月yyds 发表于 2021-7-20 16:49
原始字符串就是让字符仅仅只是字符,而没有转义的作用
哦哦哦 谢谢
页:
[1]