胖·鱼 发表于 2021-7-18 15:16:41

python中原始字符串到底有什么用啊

为什么图片中没有加r的时候,显示的代码是错位的,而在代码前加了r以后,就不会错位了啊?

逃兵 发表于 2021-7-18 15:25:08

原始字符串会让所有的转义符都失效

让"\"失去转义功效,沦为单纯的字符

青出于蓝 发表于 2021-7-18 16:56:58

'r'是防止字符转义的
这样字符串中的\为单纯字符

胖·鱼 发表于 2021-7-18 19:14:47

那为什么加了r之后就不会发生错位了啊?

逃兵 发表于 2021-7-19 09:01:36

胖·鱼 发表于 2021-7-18 19:14
那为什么加了r之后就不会发生错位了啊?

问题出在第六行的结尾"\"
python中认为"\"是转移字符
"\"放在结尾的话在python中是认为代码没有写完,要转行
不加r的话这就是个转行的转义符,将第七行和第六行拼接在一起,同时这个"\"是不作为字符串出现的
这种时候就需要把"\"转义成正常的字符
有两种方法
第一种方法,再加上一个转移字符"\"用来转义"\"本身,也就是"\\"
a ='''
      ___                     ___          ___          ___   
   /\\         ___       /\\      /\__\      /\\   
    /::\\       /\\   /::\\      /://       /::\\   
   /:/\:\\      \:\\   /:/\ \\    /:/__/       /:/\:\\
/::\~\:\\   /::\__\ _\:\~\ \\/::\\ ___/:/\:\\
/:/\:\ \:\__\ __/:/\/__//\ \:\ \ \__\/:/\:\/\__\/:/__/ \:\__\\#这里
\/__\:\ \/__//\/://   \:\ \:\ \/__/\/__\:\/://\:\\\/__/
      \:\__\\::/__/   \:\ \:\__\       \:://\:\\      
       \/__/   \:\__\      \:\/://       /://    \:\\   
                \/__/       \:://       /://      \:\__\   
                           \/__/      \/__/      \/__/
                           '''
print(a)
第二种方法,加上原始字符串r,使得字符中的所有"\"失去转义
a =r'''
      ___                     ___          ___          ___   
   /\\         ___       /\\      /\__\      /\\   
    /::\\       /\\   /::\\      /://       /::\\   
   /:/\:\\      \:\\   /:/\ \\    /:/__/       /:/\:\\
/::\~\:\\   /::\__\ _\:\~\ \\/::\\ ___/:/\:\\
/:/\:\ \:\__\ __/:/\/__//\ \:\ \ \__\/:/\:\/\__\/:/__/ \:\__\#这里一个\
\/__\:\ \/__//\/://   \:\ \:\ \/__/\/__\:\/://\:\\\/__/
      \:\__\\::/__/   \:\ \:\__\       \:://\:\\      
       \/__/   \:\__\      \:\/://       /://    \:\\   
                \/__/       \:://       /://      \:\__\   
                           \/__/      \/__/      \/__/
                           '''
print(a)

小月yyds 发表于 2021-7-20 16:49:01

原始字符串就是让字符仅仅只是字符,而没有转义的作用

胖·鱼 发表于 2021-7-20 18:25:31

小月yyds 发表于 2021-7-20 16:49
原始字符串就是让字符仅仅只是字符,而没有转义的作用

哦哦哦 谢谢
页: [1]
查看完整版本: python中原始字符串到底有什么用啊