Effective Python的笔记(18)

>我来写笔记

按有用程度 按页码先后 最新笔记

  • sindwerra

    sindwerra

    class LazyDB(object): def __init__(self): self.exists = 5 def __getattr__(self, name): value = 'Value for {}'.format(name) print 'hhhhh' setattr(self, name, value) return value class LoggingLazyDB(LazyDB): def __getattr__(self, name): print 'Called __getattr__{}'.format(name) return super().__getattr__(name) data = LoggingLazyDB() print 'foo exists: {}'.format(hasattr(data, 'foo')) >>>...

    2019-01-29 20:58

  • sindwerra

    sindwerra

    有了实践经验后再看这一条就容易理解多了,深刻的意识到最近自己终于涨球了

    2019-01-26 16:11

  • 张同学

    张同学 (哈哈哈哈哈哈哈)

    这里介绍了描述符类(比如Grade)的使用,也就是被当做其他类的属性使用,可以代替@property,并且可复用。 但是定义类(比如Exam)的时候,如果属性是描述符类,则容易产生引用的问题。因为在定义Exam类的时候,就已经初始化了描述符类的实例并且赋值了。 这会造成,类的多个对象的这个属性,实际上都指向的是同一个描述符类的实例,也就是同一个引用。 要解决这个问题,书中给出的方法是,修改描述符类的代码,在其中保存所有...

    2018-06-21 11:14

  • sindwerra

    sindwerra

    pdb这个东西之前看同事用的时候就觉得有点神奇... 我就姑且命名为穷人断点吧,嫌pycharm的debugger开的太慢的话这个确实是个不错的替代品

    2018-02-22 22:06

  • sindwerra

    sindwerra

    个人觉得从第四章开始的内容已经可以算作高级内容了,虽然很实用但是对很多开发者来说可能短时间内不一定接触得到

    2018-02-22 22:05

  • sindwerra

    sindwerra

    这个模块确实之前闻所未闻,提供的功能也是相对比较底层化的,可能以后自己真正开始一个新的大项目的时候这种经验才能有一定用武之地吧....,不过避免了实现Python那些内置的__get__item, __len__还是很不错的

    2018-02-21 20:59

  • sindwerra

    sindwerra

    关于库,引用,生产环境这些知识如果只是闷头写代码,很多时候都不会涉及到,但是这本书里关于这些东西的条目比较简洁的把前因后果理清楚了,感觉很有帮助

    2018-01-26 13:32

  • 跑着去兜风

    跑着去兜风

    第54 条: 考虑用模块级别的代码来配置不同的部署环境 第55 条: 通过repr字符串来输出调试信息 第56 条: 用unittest 来测试全部代码 第57 条: 考虑用pdb 实现交互调试 第58 条: 先分析性能,然后再优化 第59 条: 用tracemalloc 来掌握内存的使用及泄漏情况

    2018-01-09 17:51

  • 跑着去兜风

    跑着去兜风

    第49 条: 为每个函数、类和模块编写文档字符串 第50 条: 用包来安排模块,并提供稳固的API 第51条: 为自编的模块定义根异常,以便将调用者与API 相隔离 第52 条: 用适当的方式打破循环依赖关系 第53 条: 用虚拟环境隔离项目,并重建其依赖关系

    2018-01-09 17:32

  • 跑着去兜风

    跑着去兜风

    第42 条:用functools.wraps 定义函数修饰器 第43 条:考虑以contextlib 和with 语句来改写可复用的try/finally 代码 第44 条: 用copyreg 实现可靠的pickle 操作 第45 条:应该用datetime 模块来处理本地时间,而不是用time 模块 from datetime import datetime,timezone from time import mktime now = datetime(2014,8,10,18,18,30) now_utc = now.replace(tzinfo=timezone.utc) now_local = now_utc.astimezone() print(now_lo...

    2018-01-09 17:12

<前页 1 2 后页>

笔记是你写在书页留白边上的内容;是你阅读中的批注、摘抄及随感。

笔记必须是自己所写,不欢迎转载。摘抄原文的部分应该进行特殊标明。

Effective Python

>Effective Python