Python随手笔记(七)--------字符串

7.1 处理字符串

7.1.1
在 Python 中输入字符串值相当简单的:它们以单引号开始和结束。但是如何才
能在字符串内使用单引号呢?输入’I’m wangwenhong.'是不行的,因为 Python 认为这个字符串I之后就结束了,剩下的都是无效的 Python 代码。好在,有几种方法来输入字符串。
7.1.2 双引号
字符串可以用双引号开始和结束,就像用单引号一样。使用双引号的一个好处,
就是字符串中可以使用单引号字符。

print("I'm wangwenhong")
I'm wangwenhong

7.1.3 转义字符
转义字符让你输入一些字符,它们用其他方式是不可能放在字符串里的。转义
字符包含一个倒斜杠(\),紧跟着是想要添加到字符串中的字符。(尽管它包含两个字符,但大家公认它是一个转义字符。)例如,单引号的转义字符是\’。你可以在单引号开始和结束的字符串中使用它。

>>> print('I\'m wangda')
I'm wangda

7.1.4 原始字符串
可以在字符串开始的引号之前加上 r,使它成为原始字符串。“原始字符串”完
全忽略所有的转义字符,打印出字符串中所有的倒斜杠。

>>> print(r'That is Carol\'s cat.') 
That is Carol\'s cat.

7.1.5 用三重引号的多行字符串
虽然可以用\n转义字符将换行放入一个字符串,但使用多行字符串通常更容易。
在 Python 中,多行字符串的起止是 3 个单引号或 3 个双引号。“三重引号”之间的
所有引号、制表符或换行,都被认为是字符串的一部分。Python 的代码块缩进规则不适用于多行字符串。

>>> print('''Dear Alice,
Eve's cat has been arrested for catnapping, cat burglary, and extortion. 
Sincerely,
Bob''')
Dear Alice,
Eve's cat has been arrested for catnapping, cat burglary, and extortion. 
Sincerely,
Bob

分为多行就不受转义字符的影响,正常输出,也不受代码缩进的影响。

7.2 有用的字符串方法

一些字符串方法会分析字符串,或生成转变过的字符串。本节介绍了这些方法,
你会经常使用它们。
7.2.1字符串方法 upper()、lower()、isupper()和 islower()
upper()和 lower()字符串方法返回一个新字符串,其中原字符串的所有字母都被
相应地转换为大写或小写。字符串中非字母字符保持不变。如果字符串至少有一个字母,并且所有字母都是大写或小写,isupper()和islower()方法就会相应地返回布尔值 True。否则,该方法返回 False。

>>> spam = 'hello,wangda'
>>> spam = spam.upper()
>>> spam
'HELLO,WANGDA'
>>> spam = 'AsDERFF'
>>> spam = spam.lower()
>>> spam
'asderff'
>>> spam = 'helloworld'
>>> spam.islower()
True
>>> spam.isupper()
False
>>> 'WANGDALIAN'.isupper()
True

7.2.2 isX 字符串方法
除了 islower()和 isupper(),还有几个字符串方法,它们的名字以 is 开始。这些
方法返回一个布尔值,描述了字符串的特点。下面是一些常用的 isX 字符串方法:

  • isalpha()返回 True,如果字符串只包含字母,并且非空;
  • isalnum()返回 True,如果字符串只包含字母和数字,并且非空;
  • isdecimal()返回 True,如果字符串只包含数字字符,并且非空;
  • isspace()返回 True,如果字符串只包含空格、制表符和换行,并且非空;
  • istitle()返回 True,如果字符串仅包含以大写字母开头、后面都是小写字母的单词。
>>> 'allo'.isalpha()
True
>>> spam = 'a1'
>>> spam.isalpha()
False

简单的打两行,因为这旮沓不难理解。
如果需要验证用户输入,isX 字符串方法是有用的。尤其是人机交互页面的时候,可以使用户明白这块输入什么,那块输入什么。
7.2.3 字符串方法 startswith()和 endswith()
startswith()和 endswith()方法返回 True,如果它们所调用的字符串以该方法传入
的字符串开始或结束。了解一下。
7.2.4 join()方法和split()方法
如果有一个字符串列表,需要将它们连接起来,成为一个单独的字符串,join()
方法就很有用。join()方法在一个字符串上调用,参数是一个字符串列表,返回一个字符串。返回的字符串由传入的列表中每个字符串连接而成。split()方法做的事情正好相反:它针对一个字符串调用,返回一个字符串列表。
在这里插入图片描述
注意颜色变换表示他们的类型不再相同。
7.2.5 用 rjust()、ljust()和 center()方法对齐文本
rjust()和 ljust()字符串方法返回调用它们的字符串的填充版本,通过插入空格来
对齐文本。这两个方法的第一个参数是一个整数长度,用于对齐字符串。
rjust()和 ljust()方法的第二个可选参数将指定一个填充字符,取代空格字符。
center()字符串方法与 ljust()与 rjust()类似,但它让文本居中,而不是左对齐或
右对齐。

>>> 'hello'.rjust(10)
'     hello'
>>> 'hello'.ljust(10)
'hello     '
>>> 'helloworld'.rjust(20)
'          helloworld'
>>> 'hello'.rjust(10,'*')
'*****hello'
>>> 'hello'.center(10)
'  hello   '
>>> 'wangda'.center(10,'*')
'**wangda**'

7.2.6 用 strip()、rstrip()和 lstrip()删除空白字符
有时候你希望删除字符串左边、右边或两边的空白字符(空格、制表符和换行符)。strip()字符串方法将返回一个新的字符串,它的开头或末尾都没有空白字符。lstrip()和 rstrip()方法将相应删除左边或右边的空白字符。有一个可选的字符串参数,指定两边的哪些字符应该删除。

>>> spam = '     helloworld '
>>> spam.strip()
'helloworld'
>>> spam.lstrip()
'helloworld '
>>> spam.rstrip()
'     helloworld'
>>> spam = 'wangdawangdawangdahelloworldwangdawangdadawang'
>>> spam.strip('angwda')
'helloworl'

7.2.7 用 pyperclip 模块拷贝粘贴字符串
pyperclip 模块有 copy()和 paste()函数,可以向计算机的剪贴板发送文本,或从
它接收文本。将程序的输出发送到剪贴板,使它很容易粘贴到邮件、文字处理程序或其他软件中。pyperclip 模块不是 Python 自带的。要安装它,我们需要打开cmd,然后输入

pip install + 你想要下载的第三方模块(这里就是+pyperclip)

下面这就是安装成功后成功运行的小例子

>>> import pyperclip
>>> pyperclip.copy('helloworld')
>>> pyperclip.paste()
'helloworld'

7.3小结

文本是常见的数据形式,Python 自带了许多有用的字符串方法,来处理保存在字符串中的文本。在你写的几乎每个 Python 程序中,都会用到取下标、切片和字符串方法。我们应该多加练习方能掌握。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值