PYTHON核心编程第三章总结
3.1 语句和语法
注释用#(即C中的//)
继续 \
多个语句的代码组 : 典型的if while def class
python用缩进来分隔代码组,代码的层次通过同样深度的空格和制表符缩进体现的,同一代码组代码必须严格左对齐,python必须严格的缩进(拥有很好的可读性)。因此没有缩进的代码是主体部分。
同一行写多个语句用;
模块:每一个python脚本都可以被当成一个模块。可以是直接运行的脚本,也可以是一堆库函数。使用import导入
3.2变量赋值
= 是主要的赋值操作,在PYTHON中将对象的引用进行赋值。python的赋值语句没有返回值(不同于C).不过链式赋值没有问题:x=y=1
x=x+1可以被写成 x+=1.....这最有意义的是第一个对象仅被操作一次
支持多重赋值 x=y=c
支持多元赋值想,x,y,z=1,2,'cjvjv' 因此值的交换可以写成 想x,y=y,x
3.3 标识符
标识符规则与其他语言大部分相似
python 用下划线指定特殊变量,对解释器有特殊意义,因此避免使用下划线作为普通变量名的开始,_xxx被看做私有的,私有变量用这种方式命名
_xxx 不用import导入 _xxx_系统定义名字 _类中的私有变量名
通过_doc_动态的获得文档字符串(即模块文档) obj._doc_
3.4 模块结构和布局(P47)
1.起始行(通常在UNIX使用,直接输入脚本名字就可以执行脚本,无需调用解释器) #/usr/bin/env python
2.模块文档(介绍模块的功能)可以通过_doc_访问 比如 "this is a module"
3.模块导入
4.变量定义(为全局变量,应该尽量使用局部变量)
5.函数定义
6.类定义
7.主程序 if __name__=='__main__':
3.5内存管理
变量无需申明,无需指定类型,不用关心内存处理,变量名会被回收,del语句能够直接释放资源。
引用计数,引用加1在 对象被创建(y=1),别名被创建(y=x),作为参数传递给函数,成为容器对象的一个元素 mlist[123,x]
当对象的引用被销毁时,引用计数会减小(p51)
不会使用的内存会被释放。
os模块提供了多数操作系统的功能接口函数。当os模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作,在python编程时,经常和文件、目录打交道,所以离不了os模块
1. os.name——name顾名思义就是'名字',这里的名字是指操作系统的名字,主要作用是判断目前正在使用的平台,并给出操作系统的名字,如Windows 返回 'nt'; Linux 返回'posix'。注意该命令不带括号。
2. os.getcwd()——全称应该是'get current work directory',获取当前工作的目录,如:返回结果为:'C:\\Program Files\\Python36'。注意该命令带括号,除了第一个命令不带括号之外,以下命令基本都带括号。
3. os.listdir(path)——列出path目录下所有的文件和目录名。Path参数可以省略。例:
以列表的形式全部列举出来,其中没有区分目录和文件。
4. os.remove(path)——删除path指定的文件,该参数不能省略。
5. os.rmdir(path)——删除path指定的目录,该参数不能省略。
6. os.mkdir(path)——创建path指定的目录,该参数不能省略。
注意:这样只能建立一层,要想递归建立可用:os.makedirs()
7. os.path.isfile(path)——判断指定对象是否为文件。是返回True,否则False
8. os.path.isdir(path)——判断指定对象是否为目录。是True,否则False。例
9. os.path.exists(path)——检验指定的对象是否存在。是True,否则False.例:
10. os.path.split(path)——返回路径的目录和文件名,即将目录和文件名分开,而不是一个整体。此处只是把前后两部分分开而已。就是找最后一个'/'。
11. os.system(cmd)——执行shell命令。返回值是脚本的退出状态码,0代表成功,1代表不成功
12. os.chdir(path)——'change dir'改变目录到指定目录
13. os.path.getsize()——获得文件的大小,如果为目录,返回0
14. os.path.abspath()——获得绝对路径。
15. os.path.join(path, name)—连接目录和文件名,与os.path.split(path)相对。
16.os.path.basename(path)——返回文件名
17. os.path.dirname(path)——返回文件路径
18 os.linesep给出当前平台的行终止符