擅长:python、mysql、java
<p>在这种情况下,最好将代码编写为<strong>类</strong>。类的构造函数可以只接受<em>所需的最小数量的参数(可能根本没有!),然后可以将可选参数设置为类的属性或使用其他方法。在</p>
<p>在设计这样的类时,我发现最有用的方法是<strong>首先编写客户端代码</strong>也就是说,先编写将<strong>使用</strong>类的代码,然后从那里向后设计类。在</p>
<p>例如,我可能希望代码看起来像这样:</p>
<pre><code>cypher = Cypher()
cypher.offset = 17
cypher.set_alphabet('A', 'Z')
result = cypher.encrypt('hey fellow how is it going')
</code></pre>
<p>希望从这里到<code>Cypher</code>类的设计应该很清楚,但是如果不是,请就堆栈溢出问题提出一个问题!在</p>
<p>如果您想提供<code>encrypt</code>和<code>decrypt</code>方便的方法,那么仍然很容易做到。例如,您可以编写如下函数:</p>
^{pr2}$