标签 Python 下的文章

Python 导包技巧


起因

起初学 Go 语言的时候,对它的导包规则感到痛苦,——“那么麻烦干嘛呢!”。但最近接到一些新功能开发任务,于是 “啪嗒啪嗒” 写代码,结果更痛苦了。公司项目目录规划打一开始就不合理,以此为基础的 “繁荣发展” 导致更多混乱与麻烦。于是马上翻开《Python cookbook》解惑,有些心得,这里记之。


NumPy的使用


前言

为什么在 Python 已有 list 基础类型的状况下,还要用 NumPy 处理数据?

关于 NumPy 的优势有以下几点:

  1. 列表 list 的元素在系统内存中分散存储,NumPy 数组存储在一个均匀连续的内存块中;
  2. 缓存会直接把字节块从 RAM 加载到 CPU 寄存器中;
  3. NumPy中的矩阵计算可以采用多线程方式,充分利用多核 CPU 计算资源。

如果对上述内容用一个字做总结,那就是:NumPy ,

NumPy中的两个重要对象:ndarray(解决多维数组问题),ufunc(对数组进行处理的函数)。


装饰器


前言

最近阅读公司的项目代码,许多地方用到了装饰器。然后就想起年初,那个时候刚刚接触Python,很多东西跟C啊C++不同。一时之间也没搞懂装饰器,跟着示例代码敲过几遍,也成功运行了,然后就像一个“渣男”头也不回的走掉。

真的就是走掉了,我从来没在自己的demo中使用装饰器。既然公司的项目需要,我当然不能说:“对不起不会喔。”


属性描述符


描述符

在Python中,描述符作为一个用语言描述起来会有些抽象的概念。其定义有如下说法:

一般来说,描述符是一个具有绑定行为的对象属性,其属性的访问被描述符协议方法覆写。这些方法是__get__()、 __set__()和__delete__(),一个对象中只要包含了这三个方法(译者注:包含至少一个),就称它为描述符。