可能的重复:
Python 中的常见陷阱
我正在学习 Python,我来自不同的编程语言背景。在过去的五年中,我编写了相当多的 Java、C++、VB.Net 和 PHP。你们中的许多人可能会同意,一旦你学习了一种编程语言,学习另一种只是学习语法和最佳实践差异的过程。
从 PHP 下来,我已经非常习惯于许多脚本风格的语言特性。例如,像这样的东西让我发痒:
# Retrieve the value from the cache; otherwise redownload.
if(!($value = $cache->get($key)))
# Redownload the value and store in the cache.
$cache->set($key, $value = redownload($key));
然而,Python 并不认为赋值是一个表达式。OTOH,它确实支持像in
构造这样的好东西,我认为这是有史以来最伟大的发明之一。x in y
比 . 好多了!empty($y[$x])
。
我还应该注意哪些其他细微差别、“缺失”功能和性能瓶颈?我希望尽可能无缝地过渡到 Python 开发,并希望了解一些有助于缩短开发时间并消除试错的秘诀。感谢您的洞察力!