Python Cookbook(第3版)中文版的笔记(22)

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

  • voler

    ## 8.1 改变对象的字符串显示 **问题**: 改变实例的打印或显示输出, 让它们更具有可读性. **解决方案**: 重新定义__str__和__repr__ class Pair: def __init__(self, x, y): self.x = x self.y = y def __repr__(self): return 'Pair({0.x!r}, {0.y!r})'.format(self) def __str__(self): return '({0.x!s}, {0.y!s})'.format(self) p = Pair(3, 4) # Pair(3, 4) p # (3, 4) print(p) - {0.x}代表的是第一个参数的x属性. - !r格...

    2016-05-04 12:31:30   1人喜欢

  • Kaczynski

    正则,非捕获分组 (?:) str.startswith(), str.endswith() 可以传入tuple fnmatch shell通配符 fnmatch(), fnmatchcase() shell通配符参考: http://www.ruanyifeng.com/blog/2018/09/bash-wildcards.html str.find() re模块 - () 捕获分组 - re.compile() 多次使用,则预编译 - re.match() 匹配开始 group(n), groups() - re.findall() 【返回list】或者 re.finditer() 【返回迭代】,匹配任意部分 str.replace re.sub() - ...

    2020-08-25 11:35:09

  • Kaczynski

    collections, heapq, operator, itertools collections - deque = double-ended queue deque(maxlen=) append, appendleft, pop, popleft 时间复杂度 O(1),list为O(n) - Counter Counter.most_common(n) Counter.update(iterable or mapping) - defaultdict d = defaultdict(list) d.append(ele) d = defaultdict(set) d.add(ele) - OrderedDict - namedtuple heapq nlargest, nsmallest: heapq.nlargest(n, iterable), O(logN...

    2020-08-04 20:55:43

  • 潜博

    一天时间没搞明白这个yield生成器

    2020-03-03 16:47:34

  • 潜博

    keys(), items()方法支持常见的集合操作,如求交集、并集和差集。 values()方法不支持集合操作,因为从值的角度看并不能保证所有的值是一致的。如果需要执行集合操作,需要先将值转化为集合来实现。

    2020-03-03 10:33:30

  • 潜博

    c = {key:a[key] for key in a.keys() - {'z', 'w'}} 这种简化写法的原型为: ''' c = {} for key in a.keys() - {'z','w'}: c[key] = a[key] '''

    2020-03-03 10:17:54

  • sindwerra (北指邯郸道,应无归去期)

    第七章从第8小节开始就是一些相当高级的内容了,尤其是这个第九节,狭隘的看的话它只是介绍了一个小的技巧节约内存空间而已,大了看实际上可以看出来一点点设计模式的意思,相当有方法论的感觉,值得反复去体味

    2018-07-22 22:06:50

  • 超级露 (Every experience matters.)

    元类的一个核心功能就是允许在定义类的时候对类本身的内容进行检查。在重新定义的__init__()方法中,我们可以自由地检查类字典、基类以及其他更多信息。此外,一旦为某个类指定了元类,该类FF所有子类都会自动继承这个特性。因此,聪明的框架实现者可以在庞大的类继承体系中为其中一个顶层基类指定一个元类,然后就可以获取到位于该基类之下的所有子类的定义了。 至于在元类中是重新定义__new__()还是__init__(),这取决于我们...

    2018-03-04 13:51:16

  • 超级露 (Every experience matters.)

    要对元类添加可选的关键字参数,需要理解类创建过程中所涉及的所有步骤。这是因为额外的参数会传递给每一个与该过程相关的方法。__prepare__()方法是第一个被调用的,用来创建类的名称空间,这是在处理类的定义体之前需要完成的。一般来说,这个方法只是简单地返回一个字典或者其他的映射型对象。__new__()方法用来实例化最终得到的类型对象,它会在类的定义体被完全执行完毕后才调用。最后调用的是__init__()方法,用来执行任...

    2018-03-02 01:37:24

  • voler

    ## 14.1 测试stdout输出

    2016-05-07 10:43:46

<前页 1 2 3 后页>

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

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

Python Cookbook(第3版)中文版

>Python Cookbook(第3版)中文版