在re包中match方法里面对字符串匹配之前的 r‘ab*’ r是什么意思:

r是表示原字符串的意思,比如出现r‘\n’直接匹配\n而不是匹配回车,如果不加r的话:‘\\n’

\w—-匹配字母数字下划线——相当于[a-zA-Z0-9_]

|—–指明两项之间的一个选择。要匹配 |,请使用 |

* —-匹配前面的子表达式,零次或者多次例,zo*–z, zo, zoo, zoo~

+ —-匹配前面的子表达式,一次或者是多次,zo+ – zo, zoo,zooo~

?—-匹配零次或者是一次, do(es)?–do, does

{n}—-匹配确定的n次

{n, }—-至少匹配n次

{n, m}—-最少匹配n次最多匹配m次

^ —- 匹配输入字符串的开始位置,除非在方括号表达式中使用,当该符号在方括号表达式中使用时,表示不接受该方括号表达式中的字符集合。要匹配 ^ 字符本身,请使用 ^

补习正则表达式

1
有坑待填。

字符串操作:

strings.enswith(‘.py’)—–判断字符串strings是不是以.py结尾的

类当中的对象属性:

__init__()当中的对象属性是对类中所有的函数而言都可以用的

除了__init__()函数之外的其他函数,当中定义了对象的属性,工作域只能是在该函数内部,或者是当该函数被调用的时候,或者作回调的时候可以将该属性向下传递,但是工作空间也不超过该调用函数。

python执行时带参数

用python执行之后的所有的东西都被识别为参数,并保存到列表当中,所以就可以通过列表来进行读取执行时所带的参数

1
2
3
4
5
6
7
8
9
# 文件名为sys_test.py
import sys
print(sys.argv)

执行时的代码:
python sys_test.py 123 456 789

运行结果:
['sys_test.py', '123', '456', '789']

字符串变为字典:eval(string)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
在文件当中一个字典保存的形式是
file
'
{
'a': 123,
'b': 456,
'c': 789
}
'

file_reader = open('./file', 'r')
string_dict = file_reader.read()
dict_str = eval(string_dict)

dict_str = {
'a': 123,
'b': 456,
'c': 789
}

__import__函数 与 getattr自省函数

getattr方法主要的作用就是实现反射机制, 也就是说通过字符串获取方法实例, 这样的话,就可以将一个类可能调用的方法放在配置文件里,在需要的时候动态的加载出来。

关于异常捕捉的几种形式的区别:

try/except

image-20200926160115865

1
2
3
4
5
6
7
一个except子句可以同时处理多个异常,这些异常将被放在一个括号里成为一个元组
最后一个except子句可以忽略异常的名称,它将被当作通配符使用
try:
pass
except:
pass

try/except…else

image-20200926160300927

1
2
3
4
5
6
7
8
try:
pass
except:
pass
else:
pass

# 使用 else 子句比把所有的语句都放在 try 子句里面要好,这样可以避免一些意想不到,而 except 又无法捕获的异常。

try-finally

image-20200926160443127

1
2
3
4
5
6
7
8
9
10
11
try:
pass
except:
# 发生异常执行的代码
pass
else:
# 未发生异常时执行的代码
pass
finally:
# 无论是否发生异常都要执行的代码
pass

分行读取大文件:

1
2
3
with open('./test', 'rb') as file:
for line in file:
print(line.decode('utf-8'))

倒排索引

单词词典和倒排文件

倒排文件

所有单词的倒排列表顺序的存储在磁盘的某个文件当中,是存储倒排索引的物理文件。

单词字典

文档集合中出现过的所有的单词构成的一个所有字符串的集合(意味着没有重复),但此次点内的每一条的索引项,都记载单词本身的一些信息以及指向倒排列表的指针。

查询过程:根据用户的查询,现在单词字典中查询单词,再指向单词所对应的倒排列表在倒排文件中的位置

具体原理待补充

训练集与测试集划分方法:

留出法:

交叉验证法:

自助法:对于数据集较小难以有效的划分训练/测试集比较有用,自助法能从初始的数据集中产生多个不同的训练集,对于集成学习有很大的好处。 改变了数据集的分布,会引入估计偏差。