当前位置: 首页 > 科技观察

爱上Python的五个理由

时间:2023-03-22 16:15:04 科技观察

Python有很多我喜欢的特性。Python诞生于1998年,很长一段时间没人关心它,但我仍然使用它。当时Perl在开源世界风靡一时,但我从一开始就选择了Python。我的父母喜欢经常取笑我以前说过的话。我曾经说过“Python会成为一种很重要的语言”,“我以后找工作要靠Python”。过了一段时间,我的预言应验了。这种语言有很多值得喜欢的地方。以下是我如此热爱Python的5个最重要的原因(以建立期望的相反顺序)。5.Python读起来像可执行的伪代码伪代码是在不遵循特定语言的确切句法和句法的情况下编写编程逻辑的概念。自从成为Python程序员以来,我编写的伪代码很少,因为它实际上是为满足我的需要而设计的。即使您不太了解Python语言,它也很容易阅读,这主要是设计使然。众所周知,Python对代码格式中的空格非常严格。空白对于任何语言都是必需的-它使我们能够区分句子中的不同单词。大多数语言对空格的使用都有建议或“良好实践”,但Python却大胆呼吁标准化。对我来说,这使得阅读代码并准确了解它在做什么变得非常容易。例如,这里是经典冒泡排序算法的一个实现。defbubble_sort(things):needs_pass=Truewhileneeds_pass:needs_pass=Falseforidxinrange(1,len(things)):ifthings[idx-1]>things[idx]:things[idx-1],things[idx]=things[idx],things[idx-1]needs_pass=True现在让我们将其与Java中的实现进行比较。publicstaticint[]bubblesort(int[]numbers){booleanswapped=true;for(inti=numbers.length-1;i>0&&swapped;i--){swapped=false;for(intj=0;jnumbers[j+1]){inttemp=numbers[j];numbers[j]=numbers[j+1];numbers[j+1]=temp;swapped=true;}}}returnnumbers;}我知道Python需要缩进来指示块的嵌套。虽然我们的Java示例也很好地使用了缩进,但这不是必需的。大括号决定块的开始和结束,而不是空格。因为Python使用空格作为语法,所以在其他代码中不需要开始{和结束}符号。Python还避免了对分号的需要,这是使其他语言可读的语法规则。我觉得读Python更舒服,它和伪代码非常相似,有时甚至让我感到惊讶,我什至没有意识到可运行的代码是什么样的!4、Python具有强大的原始函数。在编程语言设计中,原始函数函数是最简单的可用元素。Python易于阅读这一事实并不意味着它是一种强大的语言,部分原因在于它使用了原始函数。关于使Python既易于使用又先进的原因,我最喜欢的例子是它的生成器概念。假设您有一个简单的二叉树结构,其值分别为左值、右值。您希望轻松地按顺序迭代它。您通常会寻找“小”元素,以便在找到正确值后立即退出。到目前为止,这听起来很简单。然而,有很多种算法可以对元素进行操作。其他语言会让你写一个访问者这样你就可以说“这是正确的元素吗?”在这个函数中。您也可以在Python中执行此操作,但不是必须的。define_order(tree):iftreeisNone:returnyieldfrom_order(tree.left)yieldtree.valueyieldfrom_order(tree.right)这个生成器函数会返回一个迭代器,如果用在for循环中,它只会执行需要的部分,而不是全部执行.这是非常强大的。3.Python标准库Python有一个很棒的标准库,里面隐藏了很多我以前不知道的有价值的内容,直到我花时间遍历了所有可用函数、常量、类型等的列表才知道。我个人最喜欢的是itertools模块,但更喜欢函数式编程模块(是的,Python支持函数式编程!)。取笑你的技术面试官很有趣。例如,这里有一个针对经典FizzBu??zz面试问题的快速破解:网络搜索显示这不是解决FizzBu??zz的最直接方法,但它很有趣!除了有趣之外,itertools模块以及heapq和functools模块都是Python实现中默认提供的有价值的东西。2.Python的生态系统是巨大的。对于许多不在标准库中的东西,有一个巨大的生态系统来支持新的Pythonista,从令人兴奋的包到特定于该语言的文本编辑器插件。PyPi上托管了大约200,000个项目(在撰写本文时)并且还在不断增加,每个人都有适合的工具:数据科学、异步框架、Web框架,或者只是让远程自动化更容易的东西。1.Python社区是独一无二的Python社区很棒。它是最早采用行为准则的组织之一,首先是Python软件基金会,然后是PyCon。这是对多样性和包容性的真正承诺:关于该主题的博客文章和会议演讲经常被Python社区成员阅读、思考和阅读。虽然社区是全球性的,但本地社区也发生了很多很棒的事情。本地Python聚会是结识聪明、有经验、乐于助人的人的好地方。许多聚会明确为有经验的人留出一些时间来帮助想要学习新概念或解决代码问题的新手。当我开始学习Python时,我当地的社区花时间帮助我,我很荣幸能继续回馈新的开发人员。无论您是参加本地社区会议还是花时间与IRC、Slack和Twitter上的在线Python社区打交道,我相信您都会遇到可爱的人,他们希望帮助您成为一名成功的开发人员。Python有太多值得喜爱的地方,现在你知道我最喜欢的部分必须是关于人的。我在世界各地的社区中找到了善良、体贴的Python从业者,社区为有需要的人所做的投资之多令人鼓舞。除了我遇到的那些语言之外,简单、干净且功能强大的Python语言足以让任何开发人员对他们的软件开发生涯充满信心,或者作为爱好者享受使用这门有趣的语言。如果你有兴趣学习你的第一门语言或新语言,请考虑使用Python,让我知道我能提供什么帮助,我会尽力而为。