学习python要记住w.r.t习语!

2024-10-02 02:43:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python语言的狂热学习者已经有一段时间了。拥有超过6年的java(专业)经验,加上C++的一种爱好,可以说我的观点深深地根植于这种静态类型的、强绑定的语言所产生的习语中。简而言之,我可以说老派的思维方式对我的编程风格有着重要的影响。在

我之所以选择Python,而不是Ruby,主要是因为我有一些兼职工作,我可以用Python来帮助我。已经两个星期了,事情简直就是一场革命!带着空闲和Python Essential Reference的武装,这是一个又一个的启示。这就像一个经典物理学家在引力不复存在时的感受!在

不管怎样,我知道要想在python环境下有效地工作,需要一些实际操作的时间。不仅仅是语法,我觉得这是因为我的思维方式。然而,尽管我已经做好了充分的准备,但有一件事让我很困扰- python提供了太多的习惯用法来执行相同的操作。例如,list comprehension和filter(…)、apply(…)和eval(…)等等,虽然这些习惯用法并不完全可替代,但我发现它们的主要目的在很大程度上是重叠的。 我明白,相对于它们的使用,必须有潜在的性能提升。然而,作为一个初学者,什么是最好的方法来接受教育和控制分散注意力的“n”方法来解决同样的问题?在


Tags: 方法语言类型专业方式静态学习者经验
3条回答

由于您来自Java背景,我建议您阅读Python is not Java。更不用说侧边栏中的大多数其他文章了。本文就Java程序员如何无意中误用Python(以及如何不使用)给出了一些很好的建议。在

list comprehension and filter(...), apply(...) and eval(...), etc. while these idioms aren't completely substitutable, but i find that their primary purposes overlap to a great extent

python方法是:使用simple for循环或列表理解。filter和{}是该语言旧版本的残余。Guido一度希望删除它们,但结果发现有一些有效的用例和足够多的人希望它们保留下来(另请参见this thread)。不要使用eval。在

不要担心性能,除非它成为一个问题(在这种情况下,最简单的方法-尝试使用标准库中的高度优化的函数-大多数时候是最好的方法)。在

我认为一般来说,Python在尝试提供一种(明显的)方法方面确实很简单,尽管确实会出现有效的(大或小)变体,而且对某些主题的看法也会有所不同。在

学习Python的习惯用法很容易,只要浏览这个站点,并特别注意Python问题的高投票率答案(大多数情况下,人们对最佳方式达成了某种共识)。在

相关问题 更多 >

    热门问题