chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

開(kāi)發(fā)者發(fā)文表達(dá)了他覺(jué)得 Python不行的8大原因

電子工程師 ? 來(lái)源:lq ? 2018-12-25 11:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

開(kāi)發(fā)者發(fā)文表達(dá)了他覺(jué)得Python 不行的 8 大原因。

作者對(duì)每一項(xiàng)“缺點(diǎn)”都進(jìn)行了分析,全文洋洋灑灑,概括起來(lái) 8 個(gè)原因分別是:

1、版本不兼容

Python 3 與 Python 2不完全兼容。作者以 Perl 語(yǔ)言和創(chuàng)造了世界上早期個(gè)人電腦的 Commodore 為例,分析了缺乏向后兼容性和分離版本是如何導(dǎo)致失敗的。

2、安裝問(wèn)題

運(yùn)行 apt、yum 與 rpm 等工具可以獲取并安裝大多數(shù)軟件包的最新代碼,但是在使用 apt-get install python 或者 pip install python 安裝 Python 的時(shí)候你不知道實(shí)際被安裝的是哪個(gè)版本,而這可能與你所需要的代碼不兼容。安裝時(shí)需要指定 Python 版本。

3、縮進(jìn)規(guī)則

乍一看,Python 代碼似乎非常易讀,但是在大型代碼庫(kù)中并不是這樣。Pyhon 的四格縮進(jìn)允許深度嵌套,但是嵌套太多層的話會(huì)導(dǎo)致代碼在文本編輯器中換行,變得混亂。而長(zhǎng)函數(shù)和長(zhǎng)條件操作可能使得難以匹配語(yǔ)法的開(kāi)始與結(jié)束。給調(diào)試帶來(lái)了很大的困難。

4、代碼導(dǎo)入方式

Python 的導(dǎo)入方式import 允許引入整個(gè)模塊、模塊的一部分或模塊中的特定函數(shù)。作者認(rèn)為 Python 這種導(dǎo)入規(guī)則使得查找可導(dǎo)入的列表并不直觀。C 中可以直接查看 .h 頭文件,但是 Python 需要使用 python -v 列出引用所在位置,之后搜索該列表中每個(gè)目錄和子目錄中的每個(gè)文件。

此外,Python 的導(dǎo)入機(jī)制還允許用戶重命名導(dǎo)入的代碼,作者認(rèn)為重命名模塊非常適合小腳本,但是對(duì)于長(zhǎng)程序來(lái)說(shuō)真的很糟糕,因?yàn)樗鼤?huì)影響代碼的可讀性和長(zhǎng)期支持。

而更糟糕的地方在于,對(duì)于大多數(shù)語(yǔ)言來(lái)說(shuō),導(dǎo)入代碼就只是導(dǎo)入代碼,如果存在帶有構(gòu)造函數(shù)的全局對(duì)象,那么一些語(yǔ)言會(huì)執(zhí)行代碼,但這通常被認(rèn)為是一種不好的做法。而許多 Python 模塊在導(dǎo)入期間就運(yùn)行初始化函數(shù),這導(dǎo)致你不清楚什么正在運(yùn)行,不知道它在做什么,需要花很多時(shí)間來(lái)追蹤。

5、命名法

作者認(rèn)為 Python 沒(méi)有使用通用并且專(zhuān)業(yè)的術(shù)語(yǔ)描述語(yǔ)言本身。比如在其它所有語(yǔ)言中,數(shù)組都稱(chēng)為 arrays,但是在 Python 中,它被稱(chēng)為 lists;關(guān)聯(lián)數(shù)組有時(shí)稱(chēng)為 hash(Perl),但 Python 稱(chēng)之為 dictionary。代碼庫(kù)命名方法也是這樣,像 PyPy、PyPi、NumPy、SciPy、SymPy、PyGtk、Pyglet 與 PyGame 這些庫(kù),它們名稱(chēng)中的“Py”有時(shí)放在開(kāi)頭,有時(shí)又放在后邊,沒(méi)有統(tǒng)一。而類(lèi)似 matplotlib、nose、Pillow 和 SQLAlchemy 的一些常見(jiàn)庫(kù)甚至直接放棄了“Py”這種命名約定。

作者將 Python 描述為“具有可怕且不一致的命名約定的庫(kù)的集合”。

6、怪癖

每種語(yǔ)言或多或少都有自己的怪癖,但是 Python 比其它語(yǔ)言都多。以字符串的操作為例,在 Python 中,單引號(hào)和雙引號(hào)之間沒(méi)有區(qū)別。但是,如果想要字符串跨行,則需要使用三引號(hào) """string"""或 ```string```;如果想使用二進(jìn)制文件,那么需要使用b'binary' 或 r'raw';有時(shí)需要使用 str(string) 將字符串轉(zhuǎn)換為字符串,或使用 string.encode('utf-8') 將其轉(zhuǎn)換為 utf8。

7、按對(duì)象引用傳遞變量

大多數(shù)編程語(yǔ)言都按值傳遞函數(shù)參數(shù),但是 Python 默認(rèn)使用 pass-by-object-reference 參數(shù)執(zhí)行函數(shù),這意味著更改源變量可能會(huì)使引用值改變。這是程序、函數(shù)和和面向?qū)ο缶幊陶Z(yǔ)言之間的重大差異之一,如果每個(gè)變量都是通過(guò)對(duì)象引用傳遞的,并且對(duì)變量的任何更改都會(huì)在任何地方更改引用,那么可以直接使用全局變量來(lái)處理所有變量。但是全局變量的弊端是有目共睹的。

8、本地名稱(chēng)

gcc-oscreencapture.exescreencapture.c-lscreencapture

假如在使用名為“l(fā)ibscreencapture.so”的 C 庫(kù)測(cè)試截屏程序,可以調(diào)用自己的程序“screencapture.c”并編譯成“screencapture.exe”。

但是在 Python 中這么做是不行的。Python 假定你首先要導(dǎo)入的是本地代碼,那么如果你有一個(gè)名為“screencapture.py”的程序使用“import screencapture”,它將導(dǎo)入自己而不是系統(tǒng)庫(kù)。

作者最后還表示,通常他會(huì)辯證地去評(píng)論一個(gè)東西,他覺(jué)得 Python 確實(shí)有一些不錯(cuò)的庫(kù),比如 BeautifulSoup、NumPy 和 TensorFlow,但是他真的沒(méi)法列出關(guān)于 Python 其它好的方面,因?yàn)樗娴恼J(rèn)為 Python 很糟糕。

聲明:本文內(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)投訴
  • 傳遞函數(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    103

    瀏覽量

    14456
  • python
    +關(guān)注

    關(guān)注

    57

    文章

    4858

    瀏覽量

    89588

原文標(biāo)題:Python 太糟糕了?有個(gè)開(kāi)發(fā)者總結(jié)了 8 個(gè)理由

文章出處:【微信號(hào):DBDevs,微信公眾號(hào):數(shù)據(jù)分析與開(kāi)發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    成功的軟件開(kāi)發(fā)者需要掌握人際技能的3個(gè)原因

    的溝通交流造成影響。軟件開(kāi)發(fā)者并不一定能夠理解這一點(diǎn)。相反,他們會(huì)抱怨客戶,覺(jué)得:我們的客戶一直在抱怨進(jìn)度慢。根本就不知道我們其實(shí)已經(jīng)非常努力,做什么事情都需要時(shí)間啊。當(dāng)然
    發(fā)表于 12-12 14:39

    開(kāi)發(fā)者福音!谷歌云APP引擎開(kāi)始支持Python 3.7

    `Python表示很開(kāi)心!谷歌云推出了第二代App Engine引擎標(biāo)準(zhǔn)runtime,這是對(duì)平臺(tái)的重大升級(jí),允許開(kāi)發(fā)者使用最新版本流行語(yǔ)言、框架和庫(kù)輕松運(yùn)行web應(yīng)用程序。想要嘗鮮的小伙伴們,猛戳
    發(fā)表于 08-14 10:12

    OpenHarmony開(kāi)源開(kāi)發(fā)者成長(zhǎng)計(jì)劃-職業(yè)開(kāi)發(fā)者挑戰(zhàn)賽 開(kāi)發(fā)資料匯總

    OpenHarmony開(kāi)源開(kāi)發(fā)者成長(zhǎng)計(jì)劃-職業(yè)開(kāi)發(fā)者挑戰(zhàn)賽 開(kāi)發(fā)資料匯總OpenHarmony開(kāi)發(fā)者文檔設(shè)備開(kāi)發(fā)文檔應(yīng)用
    發(fā)表于 04-24 13:44

    喜報(bào)|HarmonyOS開(kāi)發(fā)者社區(qū)連獲業(yè)內(nèi)獎(jiǎng)項(xiàng),持續(xù)深耕開(kāi)發(fā)者生態(tài)

    臨近年末,各大平臺(tái)陸續(xù)揭曉年度榜單,表彰具備強(qiáng)大影響力與做出突出貢獻(xiàn)的優(yōu)秀項(xiàng)目與團(tuán)隊(duì),而HarmonyOS開(kāi)發(fā)者社區(qū)作為技術(shù)分享,學(xué)習(xí)和展示的平臺(tái),輸出高質(zhì)量技術(shù)文章百余篇,連續(xù)獲得業(yè)內(nèi)各大
    發(fā)表于 01-19 14:32

    谷歌不止有開(kāi)發(fā)者大會(huì) 另外還帶來(lái)了開(kāi)發(fā)者網(wǎng)站

    北京時(shí)間12月8日上午消息,今日谷歌開(kāi)發(fā)者大會(huì)在北京召開(kāi),同時(shí)專(zhuān)門(mén)針對(duì)中國(guó)的谷歌開(kāi)發(fā)者網(wǎng)站已經(jīng)上線。谷歌針對(duì)中國(guó)開(kāi)發(fā)者的網(wǎng)站域名是cn結(jié)尾,網(wǎng)站內(nèi)含谷歌
    發(fā)表于 12-08 14:47 ?568次閱讀

    iPhone 8發(fā)布 2大原因看空蘋(píng)果

    9.13凌晨iPhone 8發(fā)布 還帶了個(gè)iPhone X,帶著劉海..... iPhone 8發(fā)布 大原因看空蘋(píng)果. 2
    的頭像 發(fā)表于 09-14 11:28 ?1171次閱讀

    Python 轉(zhuǎn)向 Go語(yǔ)言的9大原因和3大缺點(diǎn)

    轉(zhuǎn)用一門(mén)新語(yǔ)言通常是一項(xiàng)大決策,尤其是當(dāng)你的團(tuán)隊(duì)成員中只有一個(gè)使用過(guò)它時(shí)。今年 Stream 團(tuán)隊(duì)的主要編程語(yǔ)言從 Python 轉(zhuǎn)向 Go。本文解釋其背后的九大原因以及如何做好這
    發(fā)表于 06-17 07:40 ?7010次閱讀

    2018年受到眾多開(kāi)發(fā)者關(guān)注的7個(gè)Python類(lèi)庫(kù)

    幾個(gè)還不太知名的庫(kù)引起了Python開(kāi)發(fā)者的關(guān)注。
    的頭像 發(fā)表于 10-02 09:30 ?5303次閱讀

    一位開(kāi)發(fā)者講述無(wú)法忍受Python8大原因

    Python社區(qū)已經(jīng)對(duì)這個(gè)術(shù)語(yǔ)進(jìn)行標(biāo)準(zhǔn)化,盡管它沒(méi)出現(xiàn)在Python手冊(cè)中。文檔中的示例說(shuō)可以使用TAB、“TAB+1空格”等等。但是社區(qū)卻對(duì)4個(gè)空格有著喪心病狂的偏執(zhí)!因此,除非你打算永遠(yuǎn)不向其他任何人展示你寫(xiě)的代碼,否則每個(gè)縮進(jìn)都要使用四個(gè)空格。
    的頭像 發(fā)表于 12-20 09:14 ?4315次閱讀

    Python開(kāi)發(fā)者最容易忽略的10個(gè)要點(diǎn)

    小錯(cuò)誤,這些錯(cuò)誤都很容易避免,本文總結(jié)了Python開(kāi)發(fā)者最容易犯的10個(gè)錯(cuò)誤,一起來(lái)看下,不知你中槍沒(méi)有。 1.濫用表達(dá)式作為函數(shù)參數(shù)默認(rèn)值 P
    的頭像 發(fā)表于 01-02 10:13 ?1269次閱讀

    2021 OPPO開(kāi)發(fā)者大會(huì):異構(gòu)計(jì)算開(kāi)發(fā)者價(jià)值

    2021 OPPO開(kāi)發(fā)者大會(huì):異構(gòu)計(jì)算開(kāi)發(fā)者價(jià)值 2021 OPPO開(kāi)發(fā)者大會(huì)上介紹異構(gòu)計(jì)算開(kāi)發(fā)者價(jià)值。 責(zé)任編輯:haq
    的頭像 發(fā)表于 10-27 11:10 ?2238次閱讀
    2021 OPPO<b class='flag-5'>開(kāi)發(fā)者</b>大會(huì):異構(gòu)計(jì)算<b class='flag-5'>開(kāi)發(fā)者</b>價(jià)值

    2021 OPPO開(kāi)發(fā)者大會(huì):小布開(kāi)發(fā)者平臺(tái)生態(tài)

    2021 OPPO開(kāi)發(fā)者大會(huì):小布開(kāi)發(fā)者平臺(tái)生態(tài) 2021 OPPO開(kāi)發(fā)者大會(huì)上介紹小布開(kāi)發(fā)者平臺(tái)生態(tài)。 責(zé)任編輯:haq
    的頭像 發(fā)表于 10-27 14:33 ?2915次閱讀
    2021 OPPO<b class='flag-5'>開(kāi)發(fā)者</b>大會(huì):小布<b class='flag-5'>開(kāi)發(fā)者</b>平臺(tái)生態(tài)

    2021 OPPO開(kāi)發(fā)者大會(huì):OPPO滿足開(kāi)發(fā)者需求

    2021 OPPO開(kāi)發(fā)者大會(huì):OPPO滿足開(kāi)發(fā)者需求 2021 OPPO開(kāi)發(fā)者大會(huì)上介紹開(kāi)發(fā)者需求以及OPPO可提供的資源。 責(zé)任編輯:h
    的頭像 發(fā)表于 10-27 14:40 ?3817次閱讀
    2021 OPPO<b class='flag-5'>開(kāi)發(fā)者</b>大會(huì):OPPO滿足<b class='flag-5'>開(kāi)發(fā)者</b>需求

    如何使用lambda表達(dá)式提升開(kāi)發(fā)效率?

    Java8 的一個(gè)大亮點(diǎn)是引入 Lambda 表達(dá)式,使用它設(shè)計(jì)的代碼會(huì)更加簡(jiǎn)潔。當(dāng)開(kāi)發(fā)者在編寫(xiě) Lambda 表達(dá)式時(shí),也會(huì)隨之被編譯成一個(gè)函數(shù)式接口。
    發(fā)表于 08-24 10:25 ?551次閱讀

    華為云開(kāi)發(fā)者桌面全新發(fā)布 CodeArts IDE for Python,極致優(yōu)雅云原生開(kāi)發(fā)體驗(yàn)

    近日,華為云正式發(fā)布 CodeArts IDE for Python,這是一款內(nèi)置華為自研 Python 語(yǔ)言服務(wù),提供智能編程、靈活調(diào)試能力的可擴(kuò)展桌面開(kāi)發(fā)工具,為華為云開(kāi)發(fā)者提供卓
    的頭像 發(fā)表于 05-10 00:27 ?1926次閱讀
    華為云<b class='flag-5'>開(kāi)發(fā)者</b>桌面全新發(fā)布 CodeArts IDE for <b class='flag-5'>Python</b>,極致優(yōu)雅云原生<b class='flag-5'>開(kāi)發(fā)</b>體驗(yàn)