python 黑色幽默

  • 旧式类 VS 新式类

Old:

>>> class X():pass
>>> print type(X())
>>> <type 'instance'>

New:

>>> class X(object):pass
>>> print type(X())
>>> <class '__mian__.X'>

Let's go

>>> class X():pass
>>> class Y():pass
>>> print type(X()) == type(Y())
>>> True
>>> class X(object):pass
>>> class Y(object):pass
>>> print type(X()) == type(Y())
>>> False
  • 内建函数

    • __missing__

    __getitem__ 调用.

    Let's go

          >>> class DefaultDict(dict):
          >>>   def __getitem__(self, key):
          >>>     print '__getitem__:', key
          >>>     return super(Dict , self).__getitem__(key)
          >>>   def __missing__(self, key):
          >>>     print '__missing__'
          >>> print DefaultDict()['a']
          >>> __getitem__: a
          >>> __missing__
          >>> None
          >>> dict()['a']      
          >>> KeyError: 'a'
    
### OtherWays
`dict. setdefault(key[, default])` 也可以解决
`class collections.defaultdict([default_factory[, ...]])`更好。

---
To Be Continue
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 基础1.r''表示''内部的字符串默认不转义2.'''...'''表示多行内容3. 布尔值:True、False(...
    neo已经被使用阅读 1,752评论 0 5
  • The Python Data Model If you learned another object-orien...
    plutoese阅读 1,787评论 0 51
  • # 第一优先级规则声明: # 除了梦境,每一个意识主进程都必须与一个身体参与的机械进程相匹配,否则结束意识主进程。...
    李洞BarryLi阅读 3,929评论 0 1
  • 这几天的我所接受到的新闻,一是诗人汪国真老师去世了,二是尼泊尔地震持续中,互联网时代的信息飞速更新,总让人感觉遗憾...
    达达令阅读 1,643评论 1 6
  • 声乐曲中的音值组合规律##### 声乐曲中的音值组合规律基本上同前面所讲的相同,但由于有歌词的关系,与一般的音值组...
    观茉阅读 1,025评论 0 0