持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第10天,点击查看活动详情
大家好,我是芒果,一名非科班的在校大学生。对C/C++、数据结构、Linux及MySql、算法等领域感兴趣,喜欢将所学知识写成博客记录下来。 希望该文章对你有所帮助!如果有错误请大佬们指正!共同学习交流
作者简介:
- CSDN C/C++领域新星创作者blog.csdn.net/chuxinchang…
- 掘金LV3用户 juejin.cn/user/138142…
- 阿里云社区专家博主,星级博主,技术博主 developer.aliyun.com/profile/exp…
- 华为云云享专家 bbs.huaweicloud.com/community/m…
原始字符串(raw strings)
有的时候, 我们需要有 \n 这样的字符作为转义字符 . 但是有些时候我们又不希望进行转义, 只需要原始的 \n 作为字符串的一部分.
原始字符串中, 转义字符不生效
例子:QQ发消息时, 有一个 "表情快捷键" 的功能. 这个功能就相当于 "转义字符".
当开启了这个功能之后, 在输入框中输入 /se 就会被替换成一个表情. 比如我给同事发一个目录 /search/odin (这本来是表示linux上的一个目录)
这种情况下, 我们需要关闭 "表情快捷键" 功能. 对于Python来说, 我们就可以使用原始字符串来解决这个问题.
- 在字符串字面值前加上 r或者R 前缀, 表示原始字符串
print(r'hello \n world') #hello \n world
repr函数和反引号操作符
- 用str函数可以将一些对象转换成字符串. repr也有类似的效果.
a = 1
print(type(repr(a))) #<class 'str'> 字符串类型
print(str('hello')) # hello
print(repr('hello')) # 'hello'
总结一下, str转换出的字符串是给人看的. 而repr转换出的字符串, 是给Python解释器看的.
- 意思是说, repr得出的结果, 其实是一个Python语句, 可以直接放到解释器里执行~
- 反引号, 和repr函数等价
注意:字符串实际上是不可变的对象. 你不能修改这个字符串, 只能创建一个新的字符串. Python中单引号(')字符串和双引号(")字符串是等价的