导航: 起始页 > Dive Into Python > 动态函数 | << >> | ||||
Python 研究(Dive Into Python)Python 从新手到高手 [DIP_5_4_CPUG_RELEASE] |
我想谈谈名词复数。 还有,返回其它函数的函数,高级的正则表达式和生成器(Generator)。生成器是 Python 2.3 新引入的。 但首先还是让我们先来谈谈如何生成名词复数。
如果你还没有看过 第 7 章 正则表达式,现在是个绝佳的机会。 这章中假定你已理解了正则表达式的基础内容并迅速深入更高级的应用。
英语是一个吸收很多外来语而令人疯掉的语言,把单数名词变成复数的规则则是复杂而又多变的。 有规则,有例外,更有例外的例外。
如果你在英语国家长大或是在正规学校学习了英语,你可能对下面的基本规则很熟悉:
(我知道有很多例外情况, 比如: “Man” 变成 “men”, “woman” 变成 “women”,但是, “human” 却变成 “humans”。 “Mouse” 变成 “mice”, “louse” 变成 “lice”, 但是, “house” 却变成 “houses”。 “Knife” 变成 “knives”, “wife” 变成 “wives”,但是 “lowlife” 却变成 “lowlifes”。 更不要说那些复数根本就不需要变化的词了,比如 “sheep”, “deer” 和 “haiku”。)
其他的语言当然完全不同。
让我们来设计一个复数化名词的模块吧! 从英语名词开始,仅考虑上面的四种规则,但是记得你将来需要不断添加规则,更可能最后添加进更多的语言。
<< 小结 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
plural.py, 第 1 阶段 >> |