0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用戶(hù)選擇使用Python的原因有哪些

5RJg_mcuworld ? 來(lái)源:陳翠 ? 2019-06-02 09:49 ? 次閱讀

如今有眾多可選的編程語(yǔ)言,這往往是入門(mén)者首先要面對(duì)的問(wèn)題。開(kāi)發(fā)工具的選擇有時(shí)取決于特定的約束條件或者個(gè)人喜好。

過(guò)去的16年中對(duì)近260個(gè)團(tuán)體組織和4000名學(xué)生的Python培訓(xùn)過(guò)程,讓我見(jiàn)證了人們做出這一選擇的一些共性原因。大部分Python用戶(hù)都提到了下面這些原因。

01 軟件質(zhì)量

對(duì)于很多人而言,Python更注重可讀性、一致性和軟件質(zhì)量,這使得它區(qū)別于腳本語(yǔ)言世界中的許多其他工具。

Python代碼在設(shè)計(jì)之初就具有良好的可讀性,因此具備了比傳統(tǒng)腳本語(yǔ)言更優(yōu)秀的可重用性和可維護(hù)性。即使代碼并非你親手所寫(xiě),Python的一致性也保證其易于理解。

此外,Python支持軟件開(kāi)發(fā)的高級(jí)重用機(jī)制。例如面向?qū)ο螅╫bject-oriented,OO)以及函數(shù)式編程(function programming)。

從設(shè)計(jì)之初,Python就秉承了一種獨(dú)特的簡(jiǎn)潔而極具可讀性的語(yǔ)法,以及一種高度一致的編程模型。

正如過(guò)去某次Python會(huì)議標(biāo)語(yǔ)所宣稱(chēng)的那樣,Python似乎是“與人腦思維直覺(jué)吻合”,也就是說(shuō),Python的語(yǔ)言特性以一種一致和受限的方式進(jìn)行交互,并自然地遵守一套緊湊的核心概念。這使得Python易于學(xué)習(xí)、理解和記憶。

事實(shí)上,Python程序員在閱讀和編寫(xiě)代碼時(shí)無(wú)須經(jīng)常查閱手冊(cè)。Python是一個(gè)設(shè)計(jì)風(fēng)格始終如一的開(kāi)發(fā)平臺(tái),可以保證開(kāi)發(fā)出具有一致性的代碼。

從哲學(xué)理念上講,Python采取了一種所謂極簡(jiǎn)主義的設(shè)計(jì)理念。這意味著盡管實(shí)現(xiàn)某一編程任務(wù)通常有多種方法,往往只有一種方法是顯而易見(jiàn)的,還有一些不是那么明顯的方法,而且貫穿整門(mén)語(yǔ)言都采用這一套緊湊的交互形式。

此外,Python并不會(huì)為你做任意的選擇;當(dāng)交互模棱兩可時(shí),使用簡(jiǎn)潔明了的解決辦法要優(yōu)于“魔法”般的方式。在Python的思維方式中,明確勝于隱晦,簡(jiǎn)單勝于復(fù)雜。

除了以上的設(shè)計(jì)宗旨,Python還包含模塊化、OOP在內(nèi)的一些工具來(lái)自然地提升程序的可重用性。而且由于Python致力于提升編碼質(zhì)量,Python程序員也都自然而然地秉承了這一理念。

02 開(kāi)發(fā)者生產(chǎn)效率

相對(duì)于C、C++Java等編譯/靜態(tài)類(lèi)型語(yǔ)言,Python的開(kāi)發(fā)者效率提高了數(shù)倍。

Python代碼的長(zhǎng)度往往只有C++或Java代碼的1/5~1/3。這就意味著可以錄入更少的代碼,調(diào)試更少的代碼,并在開(kāi)發(fā)完成之后維護(hù)更少的代碼。并且Python程序可以立即運(yùn)行,而無(wú)需傳統(tǒng)編譯/靜態(tài)語(yǔ)言所必需的編譯及鏈接等步驟,進(jìn)一步提高了程序員的效率。

20世紀(jì)90年代中后期,互聯(lián)網(wǎng)帶來(lái)的信息爆炸使有限的程序員與日益繁多的軟件開(kāi)發(fā)項(xiàng)目之間的矛盾愈發(fā)嚴(yán)重;開(kāi)發(fā)者開(kāi)發(fā)系統(tǒng)的速度常常要求趕上互聯(lián)網(wǎng)演變的速度。在這一浪潮過(guò)后的公司裁員和經(jīng)濟(jì)衰退時(shí)期,產(chǎn)業(yè)圖景又悄然改變。公司開(kāi)始要求更少的程序員來(lái)完成相同的開(kāi)發(fā)任務(wù)。

無(wú)論在以上哪種背景下,Python作為開(kāi)發(fā)工具均以付出更少的精力完成更多的任務(wù)而脫穎而出。

Python致力于開(kāi)發(fā)速度的最優(yōu)化:其簡(jiǎn)潔的語(yǔ)法、動(dòng)態(tài)類(lèi)型、無(wú)須編譯、內(nèi)置工具包等特性使程序員能夠快速完成項(xiàng)目開(kāi)發(fā),而使用其他開(kāi)發(fā)語(yǔ)言則需要幾倍的時(shí)間。其最終結(jié)果就是,相對(duì)于傳統(tǒng)的語(yǔ)言,Python把開(kāi)發(fā)者效率提高了數(shù)倍。

不論所處的時(shí)代是欣欣向榮還是蕭條而不景氣,也無(wú)論軟件行業(yè)未來(lái)的走勢(shì)是起還是落,這都是一件值得慶幸的事。

03 程序的可移植性

絕大多數(shù)的Python程序不做任何改變即可在所有主流計(jì)算機(jī)平臺(tái)上運(yùn)行。例如,在Linux和Windows之間移植Python代碼,只需簡(jiǎn)單地在機(jī)器間復(fù)制代碼即可。

此外,Python提供了多種可選的代碼庫(kù),用于編寫(xiě)包括用戶(hù)圖形界面、數(shù)據(jù)庫(kù)接入、基于Web的系統(tǒng)等在內(nèi)的各種程序。其中甚至包括程序啟動(dòng)和文件夾處理這樣的操作系統(tǒng)級(jí)接口,也成為Python可移植性的一部分。

04 標(biāo)準(zhǔn)庫(kù)的支持

Python內(nèi)置了眾多預(yù)構(gòu)建并可移植的功能模塊,這些功能模塊叫作標(biāo)準(zhǔn)庫(kù)(standard library)。標(biāo)準(zhǔn)庫(kù)支持一系列應(yīng)用級(jí)的編程任務(wù),涵蓋了從字符模式到網(wǎng)絡(luò)腳本編程的匹配等方面。

此外,Python可通過(guò)自行開(kāi)發(fā)的庫(kù)或眾多第三方的應(yīng)用來(lái)支持軟件的擴(kuò)展。Python的第三方支持工具包括網(wǎng)站搭建、數(shù)值計(jì)算、串口讀寫(xiě)、游戲開(kāi)發(fā)等各個(gè)方面(參考接下來(lái)的樣例)。例如,NumPy是一個(gè)免費(fèi)的,與MATLAB一樣功能強(qiáng)大的數(shù)值計(jì)算開(kāi)發(fā)平臺(tái)。

05 組件集成

Python腳本可通過(guò)多種集成機(jī)制輕松地與應(yīng)用程序的其他部分進(jìn)行通信。這種集成使Python成為實(shí)現(xiàn)產(chǎn)品定制和擴(kuò)展的工具。

目前,Python代碼可以調(diào)用C和C++的庫(kù),可以被C和C++的程序調(diào)用,可以與Java和.NET組件集成,可以與COM和Silverlight等框架進(jìn)行通信,可以通過(guò)串行端口與設(shè)備進(jìn)行連接,并且可以通過(guò)SOAP、XML-RPC和CORBA等接口與網(wǎng)絡(luò)進(jìn)行交互。Python絕不僅僅是一個(gè)孤立的工具。

06 享受樂(lè)趣

Python的易用性和強(qiáng)大內(nèi)置工具使編程成為一種樂(lè)趣,而不是瑣碎的重復(fù)勞動(dòng)。這是一個(gè)難以言表的優(yōu)點(diǎn),將對(duì)開(kāi)發(fā)效率的提升有很重要的幫助。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編程語(yǔ)言
    +關(guān)注

    關(guān)注

    10

    文章

    1923

    瀏覽量

    34517
  • python
    +關(guān)注

    關(guān)注

    54

    文章

    4760

    瀏覽量

    84310

原文標(biāo)題:你為什么選擇Python?4000名用戶(hù)提到了這些原因

文章出處:【微信號(hào):mcuworld,微信公眾號(hào):嵌入式資訊精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    學(xué)python哪些方向?

    Python學(xué)習(xí)的另一方向,網(wǎng)絡(luò)編程在生活和開(kāi)發(fā)中無(wú)處不在,哪里通訊就有網(wǎng)絡(luò),它可以稱(chēng)為是一切開(kāi)發(fā)的“基石”。對(duì)于所有編程開(kāi)發(fā)人員必須要知其然并知其所以然,所以網(wǎng)絡(luò)部分將從協(xié)議、封包、解包等底層進(jìn)行深入剖析
    發(fā)表于 03-09 15:47

    后端選擇 java, 還是 python?

    ,Python 是標(biāo)準(zhǔn)的系統(tǒng)組件。 大多數(shù) Linux 發(fā)行版以及 NetBSD、OpenBSD 和 Mac OS X 都集成了 Python,可以在終端下直接運(yùn)行 Python。
    發(fā)表于 09-26 14:07

    Instagram遷移到Python原因和好處

    本文講述了參與到Instagram遷移工作的兩位工程師,Hui Ding和Lisa Guo,他們是如何看待Instagram遷移到Python 3的,以及遷移的原因和好處。以下為譯文。 現(xiàn)在每天在
    發(fā)表于 09-28 17:27 ?0次下載
    Instagram遷移到<b class='flag-5'>Python</b> 的<b class='flag-5'>原因</b>和好處

    17個(gè)非常有用的 Python 技巧

    實(shí)際上,很多人選擇學(xué)習(xí) Python 的首要原因是其編程的優(yōu)美性,用它編碼和表達(dá)想法非常自然。此外,Python 的編寫(xiě)使用方式多種,數(shù)據(jù)
    的頭像 發(fā)表于 08-27 17:56 ?4877次閱讀
    17個(gè)非常有用的 <b class='flag-5'>Python</b> 技巧

    為什么選擇Python?談?wù)勅绾螌W(xué)習(xí)Python

    每種語(yǔ)言都有它自己的優(yōu)點(diǎn)和缺點(diǎn),以及最適用的場(chǎng)景。Python 最常用的三個(gè)場(chǎng)景是數(shù)據(jù)處理、編寫(xiě) Web 應(yīng)用程序和自動(dòng)化腳本。Python 可以說(shuō)是初學(xué)者的最佳語(yǔ)言,因?yàn)槠湔Z(yǔ)言設(shè)計(jì)的基本原則著重于清晰和簡(jiǎn)潔。
    的頭像 發(fā)表于 02-16 10:26 ?2393次閱讀
    為什么<b class='flag-5'>選擇</b><b class='flag-5'>Python</b>?談?wù)勅绾螌W(xué)習(xí)<b class='flag-5'>Python</b>

    大數(shù)據(jù)選擇Python編程的原因

    隨著Python在各個(gè)主要行業(yè)中的廣泛使用,Python已成為討論的熱門(mén)話(huà)題。 根據(jù)Stack Overflow趨勢(shì),Python被公認(rèn)為增長(zhǎng)最快的編程語(yǔ)言。
    的頭像 發(fā)表于 05-04 18:16 ?1947次閱讀
    大數(shù)據(jù)<b class='flag-5'>選擇</b><b class='flag-5'>Python</b>編程的<b class='flag-5'>原因</b>

    Python 函數(shù)默認(rèn)返回None的原因

    Python 函數(shù)默認(rèn)返回None是什么原因?定義的函數(shù)沒(méi)有返回值,Python 解釋器就會(huì)強(qiáng)行地默認(rèn)給注入一段返回邏輯!實(shí)際上 Python 中有很多行為都是隱性的。
    的頭像 發(fā)表于 08-21 10:51 ?2574次閱讀
    <b class='flag-5'>Python</b> 函數(shù)默認(rèn)返回None的<b class='flag-5'>原因</b>

    Python的學(xué)習(xí)和使用經(jīng)驗(yàn)說(shuō)明

    本文對(duì)Python 的版本選擇, IDE 選擇及編碼的解決方案進(jìn)行了一番詳細(xì)的描述,實(shí)為Python 開(kāi)發(fā)人員必讀的Python 學(xué)習(xí)經(jīng)驗(yàn)心
    發(fā)表于 09-01 16:46 ?16次下載
    <b class='flag-5'>Python</b>的學(xué)習(xí)和使用經(jīng)驗(yàn)說(shuō)明

    Python與NI:搭配使用Python與NI硬件和軟件

    Python與NI: 搭配使用Python與NI硬件和軟件 NI支持用戶(hù)自行選擇合適的編程語(yǔ)言。NI提供多種用于測(cè)試和測(cè)量的產(chǎn)品,并努力將產(chǎn)品與開(kāi)源社區(qū)進(jìn)行整合。借助出色的原生
    的頭像 發(fā)表于 05-29 11:36 ?4845次閱讀

    常見(jiàn)Python習(xí)題詳解

    Python程序兩種運(yùn)行方式:交互式和文件式。 交互式利用Python解釋器即時(shí)響應(yīng)用戶(hù)輸入的代碼,給出輸出結(jié)果。 文件式將Pytho
    發(fā)表于 07-11 09:43 ?1次下載

    使用Python向Telegram用戶(hù)發(fā)送消息

    電子發(fā)燒友網(wǎng)站提供《使用Python向Telegram用戶(hù)發(fā)送消息.zip》資料免費(fèi)下載
    發(fā)表于 11-24 10:49 ?0次下載
    使用<b class='flag-5'>Python</b>向Telegram<b class='flag-5'>用戶(hù)</b>發(fā)送消息

    選擇平衡混頻器的幾點(diǎn)原因

    選擇平衡混頻器(BalancedMixer)的原因以下幾點(diǎn)。
    的頭像 發(fā)表于 07-05 09:51 ?496次閱讀

    17道經(jīng)典考題,檢驗(yàn)?zāi)愕?b class='flag-5'>Python基本功

    實(shí)際上,很多人選擇學(xué)習(xí) Python 的首要原因是其編程的優(yōu)美性,用它編碼和表達(dá)想法非常自然。此外,Python 的編寫(xiě)使用方式多種,數(shù)據(jù)
    的頭像 發(fā)表于 07-31 16:06 ?390次閱讀
    17道經(jīng)典考題,檢驗(yàn)?zāi)愕?b class='flag-5'>Python</b>基本功

    python什么用 如何用python創(chuàng)建數(shù)據(jù)庫(kù)

    python什么用 如何用python創(chuàng)建數(shù)據(jù)庫(kù) Python是一種高級(jí)編程語(yǔ)言,可以用于開(kāi)發(fā)各種類(lèi)型的應(yīng)用程序和工具。它的廣泛應(yīng)用使它在編程領(lǐng)域中極為受歡迎。
    的頭像 發(fā)表于 08-28 16:41 ?1115次閱讀

    學(xué)習(xí)Python的雙重選擇: 樹(shù)莓派和行空板

    與硬件交互結(jié)合起來(lái)的實(shí)踐平臺(tái)。然而,對(duì)于初學(xué)者來(lái)說(shuō),樹(shù)莓派(Raspberry Pi)的安裝過(guò)程可能有些令人畏懼。在本文中,我們將通過(guò)比較不同學(xué)習(xí)Python的方法,探討學(xué)習(xí)Python的不同選擇, 比如使用行空板來(lái)學(xué)習(xí)
    的頭像 發(fā)表于 09-08 13:53 ?555次閱讀