随笔记录方便自己和同路人查阅。
#------------------------------------------------我是可耻的分割线-------------------------------------------
在Python中输入字符串值相当简单:它们以单引号开始和结束。但是如何才能在字符串内使用单引号呢?
输入‘That is Ailce's cat.’是不行,因为Python认为这个字符串在Ailce之后就结束了,剩下的(s cat.')是无效的
Python代码。好在,有几种方法来输入字符串。
#------------------------------------------------我是可耻的分割线-------------------------------------------
1,双引号,示例代码:
spam = "That is Alice's cat."
因为字符串以双引号开始,所以 Python 知道单引号是字符串的一部分,而不是表示字符串的结束。但是,
如果在字符串中既需要使用单引号又需要使用双引号,那就要使用转义字符。
2、转义字符,示例代码:
spam = 'Say hi to Bob\'s mother.'
“转义字符”让你输入一些字符,它们用其他方式是不可能放在字符串里的。转义字符包含一个倒斜杠(\),
紧跟着是想要添加到字符串中的字符。(尽管它包含两个字符,但大家公认它是一个转义字符。)例如,单引号
的转义字符是\’。你可以在单引号开始和结束的字符串中使用它。
Python 知道,因为 Bob\'s 中的单引号有一个倒斜杠,所以它不是表示字符串结束的单引号。转义字符\'和\"
让你能在字符串中加入单引号和双引号。
3、原始字符串,示例代码:
print(r'That is Carol\'s cat.')
可以在字符串开始的引号之前加上 r,使它成为原始字符串。“原始字符串”完全忽略所有的转义字符,打印出
’字符串中所有的倒斜杠。
4、用三重引号的多行字符串,示例代码:
print('''Dear Alice, Eve's cat has been arrested for catnapping, cat burglary, and extortion. Sincerely, Bob''')
虽然可以用\n转义字符将换行放入一个字符串,但使用多行字符串通常更容易。在 Python 中,多行字符串的
起止是 3 个单引号或 3 个双引号。“三重引号”之间的所有引号、制表符或换行,都被认为是字符串的一部分。
5、多行注释,示例代码:
"""This is a test Python program. Written by Al Sweigart [email protected] This program was designed for Python 3, not Python 2. """ def spam(): """This is a multiline comment to help explain what the spam() function does.""" print('Hello!')
虽然井号字符(#)表示这一行是注释,但多行字符串常常用作多行注释。
6、字符串下标和切片,交互式环境下示例代码:
>>> spam = 'Hello world!' >>> spam[0] 'H' >>> spam[4] 'o' >>> spam[-1] '!' >>> spam[0:5] 'Hello' >>> spam[:5] 'Hello' >>> spam[6:] 'world!'
字符串像列表一样,使用下标和切片。可以将字符串'Hello world!'看成是一个列表,字符串中的每个字符
都是一个表项,有对应的下标。
' H e l l o w o r l d ! '
0 1 2 3 4 5 6 7 8 9 10
如果指定一个下标,你将得到字符串在该处的字符。如果用一个下标和另一个下标指定一个范围,开始下标
将被包含,结束下标则不包含。因此,如果 spam是'Helloworld!',spam[0:5]就是'Hello'。通过 spam[0:5]得到的
子字符串,将包含 spam[0]到spam[4]的全部内容,而不包括下标 5 处的空格。
7、字符串的in和not in操作符,交互式环境下示例代码:
>>> 'Hello' in 'Hello World' True >>> 'Hello' in 'Hello' True >>> 'HELLO' in 'Hello World' False >>> '' in 'spam' True >>> 'cats' not in 'cats and dogs' False
像列表一样,in 和 not in 操作符也可以用于字符串。用 in 或 not in 连接两个字符串得到的表达式,将求值为
布尔值 True 或 False。
这些表达式测试第一个字符串(精确匹配,区分大小写)是否在第二个字符串中。