<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 17.4.?`plural.py`, 第 3 階段 將每個匹配和規則應用分別制作成函數沒有必要。你從來不會直接調用它們:你把它們定義于 `rules` 列表之中并從那里調用它們。讓我們隱去它們的函數名而抓住規則定義的主線。 ## 例?17.8.?`plural3.py` ``` import re rules = \ ( ( lambda word: re.search('[sxz]$', word), lambda word: re.sub('$', 'es', word) ), ( lambda word: re.search('[^aeioudgkprt]h$', word), lambda word: re.sub('$', 'es', word) ), ( lambda word: re.search('[^aeiou]y$', word), lambda word: re.sub('y$', 'ies', word) ), ( lambda word: re.search('$', word), lambda word: re.sub('$', 's', word) ) ) def plural(noun): for matchesRule, applyRule in rules: if matchesRule(noun): return applyRule(noun) ``` | | | | --- | --- | | \[1\] | 這與第 2 階段定義的規則是一樣的。惟一的區別是不再定義 `match_sxz` 和 `apply_sxz` 之類的函數,而是以 [lambda 函數](../power_of_introspection/lambda_functions.html "4.7.?使用 lambda 函數") 法將這些函數的內容直接 “嵌入” `rules` 列表本身。 | | \[2\] | 注意 `plural` 函數完全沒有變化,還是反復于一系列的規則函數,檢查第一個匹配規則,如果返回真則調用第二個應用規則并返回值。和前面一樣,給定單詞返回單詞。唯一的區別是規則函數被內嵌定義,化名作 lambda 函數。但是 `plural` 函數并不在乎它們是如何定義的,只是拿到規則列表,閉著眼睛干活。 | 現在添加一條新的規則,所有你要做的就是直接在 `rules` 列表之中定義函數:一個匹配規則,一個應用規則。這樣內嵌的規則函數定義方法使得沒必要的重復很容易被發現。你有四對函數,它們采用相同的模式。匹配函數就是調用 `re.search`,應用函數就是調用 `re.sub`。讓我們提煉出這些共同點。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看