分享

《Python编程快速上手——让繁琐的工作自动化》读书笔记5

 Four兄 2019-08-24

其实,写这个是为了督促自己看书……然后 ……其实没有然后了,人一松懈下来,就……ε=(´ο`*)))唉

第六章 字符串操作

①处理字符串

先谈一下转义字符:

转义字符描述
\(在行尾时)续行符
\\反斜杠符号
\'单引号
\'双引号
\a响铃
\b退格(Backspace)
\e转义
\000
\n换行
\v纵向制表符
\t横向制表符
\r回车
\f换页
\oyy八进制数,yy代表的字符,例如:\o12代表换行
\xyy十六进制数,yy代表的字符,例如:\x0a代表换行
\other其它的字符以普通格式输出

之前但凡是牵涉到字符串,大都用的是单引号(C++里用的是双引号),但是如果字符串本身就有单引号怎么办?

比如:

That is Alice's cat.

难道还是用单引号吗?当然不可能了(废话,不然我写这个干吗)


看箭头指的地方,第一个箭头指向的是原本字符串里就应该有的单引号,但是,被自动认作字符串结束的标志。

然后解决办法也很简单,换成双引号就好了o(´^`)o


但是如果是多行字符串比如说这种:

Dear Alice,
Eve's cat has been arrested for catnapping, cat burglary,and extortion.

Sincerely,
Bob

如果直接单引号,效果图如下:


如果用双引号,效果图如下:


正经方法如下:
  1. print('''Dear Alice,
  2. Eve's cat has been arrested for catnapping, cat burglary,and extortion.
  3. Sincerely,
  4. Bob''')

输出:
Dear Alice,
Eve's cat has been arrested for catnapping, cat burglary,and extortion.

Sincerely,
Bob

当然啦,大家都知道'''这个是多行注释,但是大家也注意到了,这里没有用转义字符,当然,直接用转义字符也是可以的,但是肯定没有这么方便了(至少这样看起来很省事)


字符串下标和切片

……

越来越像列表了……

  1. spam='Hello World!'
  2. print(spam[0])#output:H
  3. print(spam[4])#output:o
  4. print(spam[-1])#output:!
  5. print(spam[0:5])#output:Hello
  6. print(spam[:5])#output:Hello
  7. print(spam[6:])#output:World!
注意啊,[0:5]得到是子字符串是下标为0~4的,不包括5,也就是说,不包括空格(大家就把5当做计数用的吧)

然后,这里起别的名字也是可以的,比如:fizz=spam[0:5]

in和not in

用法和list那里一样:

字符串 in 字符串

②有用的字符串关系

http://www.runoob.com/python3/python3-string.html

upper()     转换字符串中的小写字母为大写

lower()      转换字符串中所有大写字符为小写.

isupper()   如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False

islower()     如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False

startwith()  检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。

endwith()  检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.

join()          以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串

split()          num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num 个子字符串

rjust()        返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串

ljust()        返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。

center()    返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。

strip()        在字符串上执行 lstrip()和 rstrip()

rstrip()      删除字符串字符串末尾的空格.

lstrip()      截掉字符串左边的空格或指定字符。

上面的很多之前都提到了,就不再赘述,详细的就看上面那个网址。

pyperclip 模块

可以用来拷贝粘贴字符串

  1. >>>import pyperclip
  2. >>>pyperclip.copy('Hello World!')
  3. >>>pyperclip.paste()
  4. 'Hello World!'

isX方法

除了isupper()和islower(),isX方法也返回的是bool值
isalpha()返回True如果字符串只包含字母,并且非空
isalnum()返回True如果字符串只包含字母和数字,并且非空
isdecimal()返回True如果字符串只包含数字字符,并且非空
isspace()返回True如果字符串只包含空格、制表符和换行,并且非空
istitle()返回True如果字符串仅包含以大写字母开头、后面都是小写字母的单词

用法:
字符串.isX方法()

'''
到这里,第一部分就结束了,这也是年前最后一次更新博客啦,提前祝大家新年快乐,ヾ(◍°∇°◍)ノ゙
希望在新的一年里,我能抓紧时间把原来挖的坑填好,能不受高数的折磨,希望大物能友好一点。
‧★,:*:‧\( ̄▽ ̄)/‧:*‧°★* 
'''

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多