python笔记
一.Properties 装饰器
更精确的调整控制属性访问权限,你可以使用 @property 装饰器, @property 装饰器就是负责把一个方法变成属性调用的。 装饰器本质上也是一个高阶函数 二、函数名.__doc__查看函数的注释 三、python模块相关 1.包 含有 __init__.py 文件的目录可以用来作为一个包,目录里的所有 .py 文件都是这个包的子模块 四、os模块 提供了与系统相关的功能 os.getuid() 函数返回当前进程的有效用户 id。 os.getpid() 函数返回当前进程的 id os.getppid() 返回父进程的 id。 os.uname() 函数返回识别操作系统的不同信息,在 Linux 中它返回的详细信息可以 从 uname -a 命令得到。 uname() 返回的对象是一个元组, (sysname, nodename, release, version, machine) 。 os.getcwd() 函数返回当前工作目录。 os.chdir(path) 则是更改当前目录到 path。def view_dir(path='.'): """ 这个函数打印给定?录中的所有?件和?录 :args path: 指定?录,默认为当前?录 """ names = os.listdir(path) names.sort() for name in names: print(name, end =' ') print()五、虚拟的python环境(venv) 能帮助你在本地目录安装不同版本Python 模块的 Python 环境 永远记住当开发新应用时创建虚拟环境,这会帮助你的系统模块保持干净 六、Collections 模块 collections是Python内建的一个集合模块,提供了许多有用的集合类。 Counter 类 defaultdict 类 namedtuple 类 七、迭代器(iterators) python迭代器对象在遵守协议时需要支持如下两种方法: 1.__iter__(),迭代器对象自身。用在for和in语句中。 2.__next__(),返回迭代器的下一个值。如果没有下一个值可以返回,那么应该抛出StopIteration异常。 请记住迭代器只能被使用一次。这意味着迭代器一旦抛出 StopIteration ,它会持续抛出相同的异常。
class Counter(object):
def __init__(self, low, high):
self.current = low
self.high = high
def __iter__(self):
return self
def __next__(self):
#返回下?个值直到当前值?于 high
if self.current > self.high:
raise StopIteration
else:
self.current += 1
return self.current - 1
c = Counter(5,10)
for i in c:
print(i,end=' ')
...
5 6 7 8 9 10
八、测试
1.单元测试(unit testing):
又称为模块测试,正对程序模块来进行正确性检验的测试工作。
程序单元是应用的最小可测试部件。
面向过程编程中,一个单元就是一个函数、一个过程、单个程序。
面向对象编程中,最小单元就是方法,包括基类(超类)、抽象类、派生类(子类)中的方法。
2.单元测试模块
python中有unittest这个模块
3.第三方模块 coverage 进行覆盖率测试