第 17 章 动态函数

17.1. 概览

我想谈谈名词复数。还有,时时彩计划软件公式:返回其它函数的函数,高级的正则表达式和生成器 (Generator)。生成器是 Python 2.3 新引入的。但首先还是让我们先来谈谈如何生成名词复数。

如果你还没有看过 第 7 章 正则表达式,现在是个绝佳的机会。这章中假定你已理解了正则表达式的基础内容并迅速深入更高级的应用。

英语是一个吸收很多外来语而令人疯掉的语言,把单数名词变成复数的规则则是复杂而又多变的。有规则,有例外,更有例外的例外。

如果你在英语国家长大或是在正规学校学习了英语,你可能对下面的基本规则很熟悉:

  1. 如果一个词以 S, X 或 Z 结尾,加 ES。如 “Bass” 变成 “basses”,“fax” 变成 “faxes”,还有 “waltz” 变成 “waltzes”。
  2. 如果一个词以发音的 H 结尾,加 ES;若以不发音的 H 结尾,加 S。什么是发音的 H?和其他字母混合在一起发出一个你可以听到的声音。那么,“coach” 变成 “coaches” ,“rash” 变成 “rashes”,因为在读出来时,你可以听到 CH 和 SH 的声音。但是,“cheetah” 变成 “cheetahs”,因为 H 不发音。
  3. 如果一个词以发 I 音的 Y 结尾,把 Y 变成 IES;如果 Y 与元音搭配在一起发出其他声音则只添加 S。因此,“vacancy” 变成 “vacancies”,但 “day” 变成 “days”。
  4. 如果一切规则都不适用,就只添加 S 并祈祷不会错。

(我知道有很多例外情况,比如:“Man” 变成 “men”,“woman” 变成 “women”,但是,“human” 却变成 “humans”。“Mouse” 变成 “mice”,“louse” 变成 “lice”,但是,“house” 却变成 “houses”。“Knife” 变成 “knives”,“wife” 变成 “wives”,但是 “lowlife” 却变成 “lowlifes”。更不要说那些复数根本就不需要变化的词了,比如 “sheep”, “deer” 和 “haiku”。)

其他的语言当然完全不同。

让我们来设计一个复数化名词的模块吧!从英语名词开始,仅考虑上面的四种规则,但是记得你将来需要不断添加规则,更可能最后添加进更多的语言。

江西时时彩开奖号吗 3d通时时彩软件 江西时时彩开奖纪录 时时彩改倍率2.2骗局 皇冠重庆时时彩
江西时时彩37期 手机版时时彩平台出售 时时彩平台送彩金100 紫夜五行时时彩软件 重庆新时时彩走势
时时彩后一稳赚技巧qq 网赌时时彩作假被揭穿 重庆时时彩java源码 皇冠时时彩的网址 时时彩号码提取和验证
时时彩后3组6怎么杀号 时时彩平台总代理 重庆时时彩对刷 福彩时时彩骗局 时时彩刷钱方案