1 基础知识
- Python中类和对象,属性和方法
参考博客:(https://blog.csdn.net/qq_28284093/article/details/80092544)
2 常用模块
- random:用于生成随机数;下面介绍一下random模块中最常用的几个函数。
参考博客:(https://www.cnblogs.com/yd1227/archive/2011/03/18/1988015.html) - OS : 语义为操作系统,所以肯定就是操作系统相关的功能了,可以处理文件和目录这些我们日常手动需要做的操作,就比如说:显示当前目录下所有文件/删除某个文件/获取文件大小……
另外,os模块不受平台限制,也就是说:当我们要在linux中显示当前路径时就要用到pwd命令,而Windows中cmd命令行下就要用到这个,额…我擦,我还真不知道,(甭管怎么着,肯定不是pwd),这时候我们使用python中os模块的os.path.abspath(name)功能,甭管是linux或者Windows都可以获取当前的绝对路径。
参考博客:http://www.cnblogs.com/MnCu8261/p/5483657.html - fileinput :fileinput模块可以对一个或多个文件中的内容进行迭代、遍历等操作。
该模块的input()函数有点类似文件;readlines()方法,区别在于前者是一个迭代对象,需要用for循环迭代,后者是一次性读取所有行。用fileinput对文件进行循环遍历,格式化输出,查找、替换等操作,非常方便。
参考博客:https://www.cnblogs.com/jinjiangongzuoshi/p/5637793.html
3.深入理解
python可变对象与不可变对象
函数闭包中局部变量和全局变量的区别:
知识点1:
——Python中,仅在函数内引用的变量是隐式全局变量。如果在函数体内的任何位置对变量进行赋值(出现”=“、”+=”、 ”-=“等赋值语句),除非明确声明为全局(即:global声明),否则将其视为局部变量。
——闭包函数同理!这里也与变量的作用域有关,作用域即这个名字(变量)的可用性的代码范围。每个函数的代码范围内都是一个独立的作用域,如果类似的变量名称(假设变量为:a)在低级的作用域中出现赋值语句,要访问并且修改上一级的作用域中的变量(a)所指向的对象,就必须声明。如果仅仅是访问,那就不必声明。
知识点2:
——变量只是指向具体对象的名称。
——可变对象:可以在其 id() 保持固定的情况下改变其取值。
——可变对象(list、dict、set等),可以使用某些特定操作来改变它(如:方法append、sort、extend等,以及“+=”、“-=”等),所有指向它的变量都会显示它的改变。
——不可变对象:具有固定值的对象。不可变对象包括数字、字符串和元组。这样的对象不能被改变。如果必须存储一个不同的值,则必须创建新的对象。即:其 id() 必定会改变。
——不可变对象(str、int、tuple等),所有指向它的变量都将显示同样的值,但凡会改变这个值的操作将总是返回一个新的对象。