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 ,它会持续抛出相同的异常。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | 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 进行覆盖率测试
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架