# 零基础学python-7.2 字符串常量
1.单双引号字符串是一样的
~~~
>>> 'abc',"abc"
('abc', 'abc')
>>>
~~~
当你的python照着上面的例子来写,这个时候单双引号字符串是一样的。两者可以互换。
我们甚至可以在单双引号直接引入对方
~~~
>>> 'abc"d',"abc'd"
('abc"d', "abc'd")
~~~
在任意表达式中,python会自动合并相连的字符串,尽管它们之间没有通过+连接
~~~
>>> 'abc"d',"abc'd"
('abc"d', "abc'd")
~~~
还有,就像上面的几个例子,在字符串中间加上逗号,最后形成的是元组而不是字符串
2.使用转义字符表示特殊字符
~~~
>>> a='abc\ndef\r'
>>> a
'abc\ndef\r'
>>> print(a)
abc
def
>>>
~~~
看上面的例子,字符串之间加上转义字符,如果我们直接用变量打印,他会把所有字符都打印出来,但是如果使用print打印,转义字符会从原来的字符串变成二进制值,例如:\n代表制表符等等
常见的转义字符:
| 转义 | 意义 |
|---|---|---|
| \ | 连续,接着上面一行 |
| \\ | 反斜杠 |
| \' | 单引号 |
| \" | 双引号 |
| \a | 响铃 |
| \b | 倒退 |
| \f | 换页 |
| \n | 换行 |
| \r | 返回 |
| \t | 水平制表符 |
| \v | 垂直制表符 |
| \N{id} | unicode数据库id |
| \uhhhh | unicode16位的十六进制值 |
| \Uhhhh | unicode32位的十六进制值 |
| \xhh | 十六进制值 |
| \ooo | 八进制值 |
| \0 | Null |
| \other | 不转义 |
3.raw字符串抑制转义
有很多时候我们需要打开文件等,那么就需要输入路径,特别是window的路径,大多使用反斜杠,这个时候就会出现问题
例如:
` handler=open('c:\nb123.txt','w') `
这个时候就出问题了,本来是打开nb123这个文本文件,但是由于前面有个反斜杠,在转义当中是换行,引起歧义
所以,我们需要把路径改成下面的样子:
~~~
handler=open(r'c:\nb123.txt','w')
handler=open('c:\\nb123.txt','w')
~~~
这个时候就是合法的,使用r来抑制转义,或者使用双反斜杠
4.使用三重双引号来输入多字符串
~~~
>>> a="""aaabbb
ccdcdef'ddfdfd"""
>>> a
"aaabbb\nccdcdef'ddfdfd"
~~~
它常用于文档字符串,或者注释大段的代码
就说到这里,谢谢大家
- 前言
- 零基础学python-7.1 python中的字符串简介与常用函数
- 零基础学python-7.2 字符串常量
- 零基础学python-7.3 字符串的一般使用
- 零基础学python-7.4 修改字符串实例总结
- 零基础学python-7.5 文本解析
- 零基础学python-7.6 字符串格式化表达式
- 零基础学python-7.7 字符串格式化方法(1)
- 零基础学python-7.7 字符串格式化方法(2)
- 轻松python文本专题-单独处理字符串每个字符的方法汇总
- 轻松python文本专题-字符与字符值转换
- 轻松python文本专题-判断对象里面是否是类字符串(推荐使用isinstance(obj,str))
- 轻松python文本专题-字符串对齐
- 轻松python文本专题-去掉字符串前后空格
- 轻松python文本专题-拼接、合并字符串
- 轻松python文本专题-字符串逐字符反转以及逐单词反转
- 轻松python文本专题-maketrans和translate
- 轻松python文本专题-字符串开头或者结尾匹配