《Python学习手册》学习笔记(7)之第7章字符串(关键词:编程语言/Python/字符串)

第7章 字符串

写在开头的读者笔记

值得一读的小节

字符串
1.

s = r'\temp'                raw字符串
s = b'spam'                 Python3.0中的字节字符串
s = u'spam'                 仅在Python2.6中使用的Unicode字符串
s.rstrip()                  移除空格
s.split(',')                用展位符分隔
s.isdigit()                 内容测试
'spam'.join(strlist)        插入分隔符
s.encode('latin-1')         Unicode编码等

2.实际应用中的字符串

2.1.实际应用中的字符串 - 字符串转换工具
repr函数也能够一个对象转换为其字符串形式

>>> repr(42)
'42'

实际应用中的字符串 - 字符串转换工具 - 字符串代码转换

3.字符串方法

3.1.字符串方法 - 最初的字符串模块(在Python3.0中删除) - 基于字典的字符串格式化

字符串的格式化同时也允许左边转换目标引用右边字典中的提取对应的值。举例:

>>> "%(N)d %(x)s" % {"N":1, "x":"spam"}
'1 spam'

格式化字符串里(N)和(x引用右边字典中的,并提取它们对应的值

3.通常意义下的类型分类

3.1.通常意义下的类型分类 - 同样分类的类型共享其操作的集合 - 可变类型能够在原处修改

Python中的主要核心类型划分为如下两类:

不可变类型(数字字符串元组不可变集合
不可变的分类中没有哪个对象类型支持原处修改,尽管我们总是可以运行表达式来创建新的对象结果分配变量

可变类型(列表字典可变集合
相反,可变的类型总是可以通过操作原处修改,而不用创建新的对象。尽管这样的对象可以复制,但原处修改支持直接修改

字符串常量

单双引号字符串是一样的

用转义序列代表特殊字节

raw字符串抑制转义

三重引号编写多行字符串块

实际应用中的字符串

基本操作

索引和分片

为什么要在意:分片

字符串转换工具

(读者:
repr函数也能够一个对象转换为其字符串形式

>>> repr(42)
'42'

字符串代码转换

(读者:
ord函数可以把单个的字符转换为对应的ASCII码,实际上返回的是这个字符在内存中对应的字符的二进制值。
chr函数可以把ASCII码转化为对应的字符

>>> ord('s')
115
>>> chr(115)
's'

修改字符串

字符串方法

字符串方法实例:修改字符串

(读者:

>>> s = 'hello'
>>> a = s.replace('o', 'ack')
>>> a
'hellack'
>>> 'qazqaw'.replace('a', 'dd')
'qddzqddw'

replace的参数是原始字符串(任意长度)和替换原始子字符串字符串(任意长度),之后进行全局搜索替换
replace可以充当实现模板替换的工具。

字符串方法实例:文本解析

实际应用中的其他创建字符串方法

最初的字符串模块(在Python3.0删除)

基于字典的字符串格式化

(读者:
字符串的格式化同时也允许左边转换目标引用右边字典中的提取对应的值。举例:

>>> "%(N)d %(x)s" % {"N":1, "x":"spam"}
'1 spam'

格式化字符串里(N)和(x引用右边字典中的,并提取它们对应的值

字符串格式化表达式

更高级的字符串格式化表达式

基于字典的字符串格式化

字符串格式化调用方法

基础知识

添加键、属性和偏移量

添加具体格式化

与%格式化表达式比较

为什么用新的格式化方法

通常意义下的类型分类

同样分类的类型共享其操作的集合

可变类型能够在原处修改

(读者:
Python中的主要核心类型划分为如下两类:

不可变类型(数字字符串元组不可变集合
不可变的分类中没有哪个对象类型支持原处修改,尽管我们总是可以运行表达式来创建新的对象结果分配变量

可变类型(列表字典可变集合
相反,可变的类型总是可以通过操作原处修改,而不用创建新的对象。尽管这样的对象可以复制,但原处修改支持直接修改

本章小结

本章习题

本章解答

参考文献:
1.《Python学习手册》。

你可能感兴趣的:(编程语言,Python)