链接:https://pan.baidu.com/s/1Jb61EUCRj5eW-uWIkAqDcA 提取码:ht5a
其它扩展网址:https://fishc.com.cn/forum.php?mod=forumdisplay&fid=243&filter=typeid&typeid=403
1.TypeError: must be str, not int TypeError:必须是str,而不是int
一般会出现在print('haks',+times+,'')
2.SyntaxError: EOL while scanning string literal SyntaxError:扫描字符串文字时的EOL(错误)
一般是' "引号漏了半边
3.KeyboardInterrupt 一个按键中断
4.SyntaxError: expected an indented block SyntaxError:期望一个缩进块
:号后面没有进行缩进
5.SyntaxError: invalid character in identifier 标识符中的无效字符
英文的冒号 ‘:’以及中文的冒号‘:’混用,中文的逗号或者()
6.对于列表list: append() 方法是将参数作为一个元素增加到列表的末尾。
extend() 方法则是将参数作为一个列表去扩展列表的末尾,就是加列表的长度。
7.IndexError: list index out of range IndexError:列表索引超出范围
在对list进行 member = ['小甲鱼', '黑夜', '迷途', '怡静', '秋舞斜阳']
member1 = []
member2 = [88, 90, 85, 90, 88]
j = 0
for i in member:
member1.append(i) #对于member内容不需要加 '',系统自动识别。
member1.append(member2[j])
8.list1[0] 返回第0个元素的值,list1[0:1] 返回一个只含有第0个元素的列表。
9.python支持负数索引1.TypeError: must be str, not int TypeError:必须是str,而不是int
一般会出现在print('haks',+times+,'')
2.SyntaxError: EOL while scanning string literal SyntaxError:扫描字符串文字时的EOL(错误)
一般是' "引号漏了半边
3.KeyboardInterrupt 一个按键中断
4.SyntaxError: expected an indented block SyntaxError:期望一个缩进块
:号后面没有进行缩进
5.SyntaxError: invalid character in identifier 标识符中的无效字符
英文的冒号 ‘:’以及中文的冒号‘:’混用,中文的逗号或者()
6.对于列表list: append() 方法是将参数作为一个元素增加到列表的末尾。
extend() 方法则是将参数作为一个列表去扩展列表的末尾,就是加列表的长度。
7.IndexError: list index out of range IndexError:列表索引超出范围
在对list进行 member = ['小甲鱼', '黑夜', '迷途', '怡静', '秋舞斜阳']
member1 = []
member2 = [88, 90, 85, 90, 88]
j = 0
for i in member:
member1.append(i) #对于member内容不需要加 '',系统自动识别。
member1.append(member2[j])
8.list1[0] 返回第0个元素的值,list1[0:1] 返回一个只含有第0个元素的列表。
9.python支持负数索引:
10. list1[::-2] 步长可以是负数,改变方向(从尾部开始向左走)
11.元组是可以拼接的。
所有的多对象的、逗号分隔的、没有明确用符号定义的这些集合默认的类型都是元组
x, y, z = 1, 2, 3
12. tuple1 = (x**2 for x in range(10)) 为生成一个生成器。
生成器具有的方法 tuple1.__next__(),显示第一个元素,重复执行显示第二个元素。
13. cmp(list1, list2):比较两个列表的元素
此算法用到了join函数即 "*".join(list)
例如:将列表a = ['1','2','3'] 变成 1*2*3
14.在字符串前面加个r可以避免转义符的出现。
转义字符 | 描述 |
\(在行尾时) | 续行符 |
\\ | 反斜杠符号 |
\' | 单引号 |
\" | 双引号 |
\a | 响铃 |
\b | 退格(Backspace) |
\e | 转义 |
\000 | 空 |
\n | 换行 |
\v | 纵向制表符 |
\t | 横向制表符 |
\r | 回车 |
\f | 换页 |
\oyy | 八进制数,yy代表的字符,例如:\o12代表换行 |
\xyy | 十六进制数,yy代表的字符,例如:\x0a代表换行 |
\other | 其它的字符以普通格式输出 |
15. 两个引号相当于对引号的转义,即{{1}}变为了直接打印{1},而不是起{1}占位符的作用。
列表、元组和字符串
因为他们有以下共同点:
1)都可以通过索引得到每一个元素
2)默认索引值总是从0开始(当然灵活的Python还支持负数索引)
3)可以通过分片的方法得到一个范围内的元素的集合
4)有很多共同的操作符(重复操作符、拼接操作符、成员关系操作符)
16.局部变量运用了全局变量名,并进行了重新的赋值,则用局部变量的赋值(后者)进行运算。
各函数建调用,对于本函数在外函数修改的值,本函数不予理会。
17. python函数里面不能出现(),不接受元组。
18. int GCD(int a,int b)
{
return b==0?a:GCD(b,a%b); //C语言的这种写法不是很懂。
}
18. nonlocal pos_x, pos_y
move = create(),如果当 move 变量重新被赋值的话,相应的 pos_x 和 pos_y 也都会被初始化为 0。
19.python,中所有的都可以称之为对象,对象都可以使用return返回。
20. 内部不能对外部修改
21.nonlocal的值修改是永久性修改,再调用它就是修改后的值。
22. not all arguments converted during string formatting 并非在字符串格式化期间转换所有参
Print用+拼接符拼接的是一个tuple。
23.len的长度是str字符的range转化长度。
24. Return an iterator yielding those items of iterable for which function(item) is true. If function is None, return the items that are true.
返回一个迭代器,产生函数(item)为true的iterable项。 如果function为None,则返回true的项。
Lamdba filter,过滤器对返回值True,False判断, map()映射函数,
g=list(filter(lambda x: not(x%3),range(1,101)));print(g)
multiples = (i for i in range(0,101) if i % 3 is 0);print(type(multiples))
list(map(lambda x, y : [x, y], [1, 3, 5, 7, 9], [2, 4, 6, 8, 10]))
zip压缩两个列表
25.列表,集合,字典推导式[x: for I in range(0,100) if I%3 is 0]
26.map([1,2,3],[4,5,6],[7,8,9])
27.函数不支持数列。函数需要的 确定的值和他所需要的变量放进去。
28.
29. str3 = "www.google.com"
list3 = str3.split(".")
print list3
outprint :['www', 'google', 'com']
29. “映射”、“哈希”、“散列”或者“关系数组”讨论我们这一讲介绍的“字典”.
30.index如果填下元素返回索引值,如果是填下索引值则返回元素。
31.Python 的哈希算法对相同的值计算得到的结果是一样的,也就是说 12315 和 12315.0 的值相同,他们被认为是相同的键(Key)。
32. missing closing triple quotes 三引号的错误
33.
①迭代打印出文件对象(f)中的每一行数据, each_line,其实也可以用其他表示
②f.read([size=-1])作用是读取文件对象内容,f.read(size=10)
返回从文件指针开始(注意这里并不是文件头哦)的连续10个字符。
③f.tell()当前文件指针的位置
④f.seek()定位的文件指针是按字节为单位进行计算的,一个汉字需要占用两个字节,f.seek(45)的位置位于字符“小”的开始位置
⑤import os;os.getcwd(),区别于linux为pwd
⑥字符串的分割,(左边, 右边) = each_line.split(“:”, 1)
⑦对于文件,for line in f:,这里的line可以是任何对象字符表示,表示一行。Readline是读取一行。
⑧表格
函数名 | 使用方法 |
getcwd() | 返回当前工作目录 |
chdir(path) | 改变工作目录 |
listdir(path='.') | 列举指定目录中的文件名('.'表示当前目录,'..'表示上一级目录) |
mkdir(path) | 创建单层目录,如该目录已存在抛出异常 |
makedirs(path) | 递归创建多层目录,如该目录已存在抛出异常,注意:'E:\\a\\b'和'E:\\a\\c'并不会冲突 |
remove(path) | 删除文件 |
rmdir(path) | 删除单层目录,如该目录下不为空有文件夹或子文件则标出异常。 |
removedirs(path) | 递归删除目录,从子目录到父目录逐层尝试删除,遇到目录非空则抛出异常 |
rename(old, new) | 将文件old重命名为new |
system(command) | 运行系统的shell命令 |
walk(top) | 遍历top路径以下所有的子目录,返回一个三元组:(路径, [包含目录], [包含文件])【第30讲课后作业】#它是一个生成器 |
以下是支持路径操作中常用到的一些定义,支持所有平台 | |
os.curdir | 指代当前目录('.') |
os.pardir | 指代上一级目录('..') |
os.sep | 输出操作系统特定的路径分隔符(Win下为'\\',Linux下为'/') |
os.linesep | 当前平台使用的行终止符(Win下为'\r\n',Linux下为'\n') |
os.name | 指代当前使用的操作系统(包括:'posix', 'nt', 'mac', 'os2', 'ce', 'java') |
os.path模块中关于路径常用的函数使用方法
函数名 | 使用方法 |
basename(path) | 去掉目录路径,单独返回文件名 |
dirname(path) | 去掉文件名,单独返回目录路径 |
join(path1[, path2[, ...]]) | 将path1, path2各部分组合成一个路径名 |
split(path) | 分割文件名与路径,返回(f_path, f_name)元组。如果完全使用目录,它也会将最后一个目录作为文件名分离,且不会判断文件或者目录是否存在 |
splitext(path) | 分离文件名与扩展名,返回(f_name, f_extension)元组,文件夹则后者为空 |
getsize(file) | 返回指定文件的尺寸,单位是字节。当工作路径不一致必须要全部路径。返回的为int类型 |
getatime(file) | 返回指定文件最近的访问时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算) |
getctime(file) | 返回指定文件的创建时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算) |
getmtime(file) | 返回指定文件最新的修改时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算) |
以下为函数返回 True 或 False | |
exists(path) | 判断指定路径(目录或文件)是否存在 |
isabs(path) | 判断指定路径是否为绝对路径 |
isdir(path) | 判断指定路径是否存在且是一个目录 |
isfile(path) | 判断指定路径是否存在且是一个文件 |
islink(path) | 判断指定路径是否存在且是一个符号链接 |
ismount(path) | 判断指定路径是否存在且是一个挂载点 |
samefile(path1, paht2) | 判断path1和path2两个路径是否指向同一个文件 |
函数方法的使用不会改变py运行文件的根目录位置,除非os.chdir()。
34.os模块的文件路径不要用’/’,如’//’.’\’(lunix用法),’\\’都是可以的。