擅长:python、mysql、java
<p>这里有一个更像Python的方法。顺便说一句,没有太多的选择</p>
<p>函数<em>必须先定义</em>才能<em>使用</em>。句号。在</p>
<p>但是,您不必为了编译器的利益而严格地对所有函数进行排序。您只需将函数的执行放在最后。在</p>
<pre><code>import # (initialisation code,etc )
def initLookups(): # Definitions must come before actual use
lookup={}
lookup["A"]="AA"
lookup["B"]="BB"
(etc etc etc....)
return lookup
# Any functions initLookups uses, can be define here.
# As long as they're findable in the same module.
if __name__ == "__main__": # Use comes last
lookup= initLookups()
print lookup.get("Key","")
</code></pre>
<p>注意,您不需要<code>getlookup</code>函数,它是dict的一个内置特性,名为<a href="http://docs.python.org/library/stdtypes.html#dict.get" rel="nofollow noreferrer">get</a>。在</p>
<p>另外,“初始化代码”也是可疑的。导入不应该“做”任何事情。它应该定义函数和类,但实际上不提供任何可执行代码。从长远来看,由导入处理的可执行代码可能会成为维护的噩梦。在</p>
<p>最值得注意的例外是默认情况下创建的模块级单例对象。即使这样,也要确保使模块工作的神秘对象在文档中被清楚地标识出来。在</p>