开篇第一句:python最好的品质是一致性。
一致性
一致性的含义就是多种含义的写法保持相似,让你不用记忆各种特征。
比如下面举的例子:
len()
函数,这种写法仍然是旧式的函数式写法,而不是时髦的面向对象的写法。但是下面会解释这种做法的优点。
len() 方法的思想
python 中执行 import this
可以看到一列文字,其中有一句:
practicality beats purity.
putiry,纯粹,就是严格执行规则,比如使用 obj.len()
这种面向对象的形式。
内置类型坚持使用 len()
形式的原因是:CPython会从C的struct体里直接读取对象的长度,而不需要调用其他任何内置的方法函数。
更本质的说,可以把 len()
看作一个一元运算符,看起来像函数,而又不是函数。
dunder-method
两个下划线开头的函数,名称变化的过程是:
- underscore-underscore-method
- under-under-method
- double-under-method
- d-under-method
纸牌例子
使用 named tuple 表示单张纸牌,named tuple用于构建只有属性没有方法的对象。
生成 纸牌点数序列的语句:
ranks = [str(n) for n in range(2,11)]+list('JQKA')
加号(+)前面一部分并不陌生,加号后面的写法我还是第一次见
list('JQKA')
这种生成单个字母序列的方法十分简单。
如果您对本文有疑问或者寻求合作,欢迎 联系邮箱 。邮箱已到剪贴板
标签: PYTHON
给个免费的赞吧~
精彩评论
本站 是个人网站,采用 署名协议 CC-BY-NC 授权。
欢迎转载,请保留原文链接 https://www.lfhacks.com/tech/python-fluent-data-model/ ,且不得用于商业用途。