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 进行覆盖率测试

 

  

 

 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
posted on 2022-05-14 22:56  xiwei-ff  阅读(44)  评论(0编辑  收藏  举报