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

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

探討Python的優(yōu)缺點及入門方法

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Stephen Cassar ? 2022-06-20 16:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Python 今年 30 歲了,但你不會知道。根據(jù) 2019 年 Stack Overflow 調(diào)查,高級動態(tài)編程語言仍然是增長最快的主要編程語言,超過了 Java,并且是人工智能開發(fā)人員最想要的語言。2021 年 1 月,Python 創(chuàng)紀錄地第四次獲得 TIOBE 年度最受歡迎編程語言獎。該獎項授予一年內(nèi)最受歡迎的編程語言。

這就引出了一個問題:為什么有這么多開發(fā)人員可以從 500 多種語言中進行選擇,而且每年都會編寫更多的語言?答案可能在于 Python 的簡單性。

許多語言都承諾學習曲線短而平坦,但今天的開發(fā)人員需要更大的靈活性。當他們嘗試不同的堆棧和技術(shù)時,他們很快意識到 Python 幾乎可以輕松完成所有他們需要的事情。這部分是因為與其他語言相比它使用起來多么容易。一個初出茅廬的開發(fā)人員可以在幾分鐘內(nèi)構(gòu)建和運行一個簡單的 Hello World Python 應用程序。但通常達成交易的是該語言的內(nèi)置靈活性,它支持多種編程范式,并且能夠以更少的工作量進行開發(fā)。

Python 從一開始只是一種便于簡單任務編程、自動化腳本和快速應用程序原型設計的工具,現(xiàn)已上升到一流語言的地位。例如,Instagram 最近在語言上加倍下注,選擇在 10 個月內(nèi)分三個階段將其核心堆棧升級到 Python 3,盡管其母公司 Facebook 嚴重依賴 PHP:超文本預處理器 (PHP) 的核心架構(gòu)。經(jīng)過分析,Instagram 簡單地確定 PHP 在性能方面沒有顯著優(yōu)勢,尤其是隨著該語言的每個新版本都在不斷提高速度。也可能是 Python 的人工智能和機器學習能力是一個考慮因素。

微軟似乎也認識到 Python 的重要性。2020 年 11 月 12 日,創(chuàng)建 Python 的荷蘭程序員 Guido Van Rossum 宣布他即將退休,加入微軟的開發(fā)人員部門。其他依賴 Python 的公司包括亞馬遜、工業(yè)光魔、Netflix、Reddit、谷歌和 Spotify。由于諸如此類的重擊者推動了全球?qū)?Python 開發(fā)人員的需求,它不會很快消失,因此每個開發(fā)人員都考慮將 Python 添加到武器庫中是有意義的。

復雜世界的簡單解決方案

開發(fā)團隊嘗試使用最新技術(shù)構(gòu)建復雜系統(tǒng)只是為了中途放棄他們的努力并返回到更簡單的編程語言(如 C++ 或 Python)并不是聞所未聞的。有時,需要的是大型柴油發(fā)動機,而不是花里胡哨的雙渦輪增壓 4 缸,如果你能在規(guī)劃階段弄清楚這一點,它可以為每個參與者節(jié)省很多心痛,時間,還有錢。

人工智能的興起讓開發(fā)人員利用 Python 在數(shù)據(jù)科學、數(shù)據(jù)分析等方面的潛力。Python 的子集機器學習和深度學習 (DL) 是最簡單的語言如何解決最初創(chuàng)建程序時不存在的問題的絕佳示例。

聰明的開發(fā)人員會為每個問題找到最簡單的解決方案,無論它最初看起來多么復雜。

pYYBAGKwMjyAALljAAHt86Odwjo162.png

亞馬遜采用了這種方法,并將賭注押在 Python 的機器學習能力上,選擇它作為其 DeepLens 設備庫的核心。Python 看到了簡化機器學習任務的真正需要,這些任務通常需要實現(xiàn)高維數(shù)據(jù)和手動流程。

Python 的強大功能極大地簡化了圖像識別、特征提取和對象檢測等任務。這使 AWS DeepLens 項目能夠使用神經(jīng)網(wǎng)絡通過計算機視覺項目、教程和動手探索使用開發(fā)人員可以觸摸和感覺的物理設備(例如 AWS DeepLens 相機)進行學習和預測。

AWS DeepLens 的設備庫由一組不同的 Python 模塊組成,這些模塊公開對象和各種設備操作方法。結(jié)果是深度學習模型可以在相機上本地運行,以分析并對其所看到的內(nèi)容采取行動。即使您從未打算在生產(chǎn)中使用該平臺,也可以拿起其中一臺相機并探索模塊。嘗試使用諸如此類的工具可以幫助開發(fā)人員磨練他們的手藝。

為什么Python Excel?

Python 是數(shù)據(jù)分析和數(shù)字運算的理想選擇,這解釋了為什么大多數(shù)涉及 ML 和數(shù)據(jù)科學的庫都有 Python 接口。但是 Python 不僅僅是開始學習這些學科的好方法。開發(fā)人員可以選擇采用最適合他們需求的范式:函數(shù)式、命令式、面向?qū)ο蟆⒔Y(jié)構(gòu)化或反射式。Python 支持所有五個。

Python 在簡化復雜性方面處于最佳狀態(tài)。例如,在處理數(shù)字時,Python 擅長極快并且可以使用復雜的數(shù)學。它還具有簡單的語法來實現(xiàn)諸如兩個字符串相加之類的基本計算,一直到構(gòu)建具有其固有復雜性的 ML 模型。

簡單也意味著用戶編寫更少的代碼。Python 支持預定義的包,實際上消除了算法編碼。對于需要的代碼,理解、更改、復制和共享都大大簡化了。這有助于 Python 開發(fā)人員社區(qū)通過免費和高效的算法、想法和工具交流而蓬勃發(fā)展。

Python 很靈活。Python 提供了選擇面向?qū)ο缶幊?(OOP) 或腳本的選項,它可以在多個平臺上運行,包括 Windows、macOS、Linux 和 Unix。使用 PyInstaller 將代碼從一個平臺移植到另一個平臺。

Python 有大量的社區(qū)、組和論壇,程序員可以在其中幫助解決問題。許多資源可供初學者和專業(yè)人士使用,因此您永遠不會孤單。數(shù)百個預建庫也可用于實現(xiàn) ML 和 DL 算法。安裝包通常只需要一個命令。

免費、簡單和開源,Python 已進入一些最復雜的技術(shù),并被行業(yè)巨頭、開發(fā)人員、數(shù)據(jù)科學家、ML 工程師和初學者等使用。

流行的 Python 庫

一門優(yōu)秀的語言需要大量的庫選擇才能茁壯成長,這也是 Python 成為人工智能最流行的編程語言的主要原因之一。Python 庫模塊包含基本級別的項目,無需每次都對其進行編碼。

例如,NumPy 有助于高效管理多維數(shù)組,并具有出色的隨機功能。它還包含用于集成 C/C++ 和 Fortran 代碼的工具。Pandas 幫助處理 Python 中的二維數(shù)據(jù)表。盡管 SQL 也這樣做,但 Pandas 更容易在代碼中執(zhí)行。僅這兩個庫就可以節(jié)省開發(fā)人員的時間。

Matplotlib 雖然不是最容易使用的,但將為開發(fā)人員節(jié)省大約六個可重復使用的基本折線圖和散點圖的代碼塊。使用 Matplotlib 可以非常快速地創(chuàng)建圖表、直方圖和繪圖,以便更好地理解數(shù)據(jù)、有效呈現(xiàn)和可視化。

Scikit-Learn 是 Python 程序員應該用于 AI /ML 的第一個庫。它處理回歸方法、分類方法和聚類、模型驗證和模型選擇,并使降維和特征提取變得輕而易舉。轉(zhuǎn)向更高級的,Scipy(不要與 Scipy 堆棧混淆)為集成、插值和優(yōu)化等復雜的機器學習過程提供核心數(shù)學方法。Scikit-Learn 嚴重依賴 Scipy 庫,因此將其移至列表頂部。

使用 Python 創(chuàng)建快速、干凈的原型

創(chuàng)建原型通常需要數(shù)小時的編譯、調(diào)試、編輯、重新編譯、調(diào)試……你懂的。Python 是原型設計的理想選擇,因為它只允許編寫和測試幾行代碼,而無需編譯或使用 Makefile。它是高級別的,因此內(nèi)存管理或垃圾收集等低級細節(jié)不是問題。

開始使用模塊并從那里構(gòu)建。存在許多簡單且有據(jù)可查的 Python 模塊。該語言非常流行,用戶如此之多,以至于一個小組中的幾個人可能會閱讀您的代碼并幫助您將其完成。因為您的 Python 項目也將在大多數(shù)平臺上運行,所以開發(fā)人員不需要分支代碼或維護單獨的存儲庫。

值得探索的 Python 工具

使用庫可以幫助顯著加快開發(fā)速度。很有可能,有人已經(jīng)編寫了所需的功能。開發(fā)人員可以將 Python 的內(nèi)置成像庫或 MayaVi 和 VTK 3D 可視化工具包用于科學和數(shù)字應用程序。或者,開發(fā)人員可以考慮將 ScientificPython 和 Numeric Python 用于數(shù)值和科學應用程序。

很有可能,有一個庫可以幫助開發(fā)人員快速跟蹤項目。以下是值得探索的五個社區(qū)最愛的列表。

Selenium 構(gòu)成了無數(shù)瀏覽器自動化工具、應用程序編程接口 (API) 和框架的核心技術(shù)。它使 Web 應用程序自動化以進行測試。Selenium 使數(shù)據(jù)抓取項目更容易,并且通常將復雜的例程減少到幾行代碼。

Gooey 只需幾行代碼即可將 Python 命令行程序轉(zhuǎn)變?yōu)榫哂袌D形用戶界面的成熟應用程序,從而使共享工具變得更加容易,無論技能水平如何。Gooey 還提供簡單的日期和時間輸入。

Pyinstaller 使用傳輸壓縮創(chuàng)建小型、高效、獨立的可執(zhí)行文件。它是多平臺的,極大地簡化了可執(zhí)行文件的創(chuàng)建。

PYNQ(Zynq 的 Python 生產(chǎn)力)利用 Xilinx 器件在應用中的優(yōu)勢,無需使用 ASIC 風格的設計工具來設計可編程邏輯電路。

英特爾 Python 分發(fā)版可加速 Python 并加速計算包。它使開發(fā)人員可以創(chuàng)建和加速可擴展的應用程序和服務,釋放現(xiàn)代硬件的力量,并輕松實現(xiàn)算法。

Python 的局限性

引用一位系統(tǒng)架構(gòu)師朋友的話:“項目的完美語言就是項目的完美語言?!?/p>

我們已經(jīng)討論了 Python 的許多優(yōu)勢,尤其是在數(shù)據(jù)科學和腳本領域的數(shù)字運算方面。但是沒有一種語言對所有應用程序都是完美的,Python 也不例外。了解 Python 的局限性將有助于開發(fā)人員更好地確定它是否適合他們的項目。Python 在性能、應用程序打包和項目管理方面受到影響,總結(jié)了它的局限性。其他缺點包括:

Python 是一種高級語言。因為它比低級語言更遠離硬件,所以速度較慢。

Python 不適合移動開發(fā)。

Python 使用靈活的數(shù)據(jù)類型,無法將其用于內(nèi)存密集型任務。

高內(nèi)存消耗。

Python 的數(shù)據(jù)庫訪問層是原始的。對于需要復雜遺留數(shù)據(jù)平滑交互的企業(yè)來說,這不是一個好的選擇。

因為 Python 是動態(tài)類型的,所以它需要更多的測試并且只有在運行時才會出現(xiàn)錯誤。

盡管每種方法都可以采用優(yōu)雅的解決方法,但對于依賴于讀取和操作任務關鍵型應用程序的遺留數(shù)據(jù)的移動開發(fā)或企業(yè)而言,Python 通常不是正確的選擇。

開始你的第一個 Python 項目

任何語言的入門都需要時間,雖然 Python 很容易上手,但建議初學者參考盡可能多的資源。要加入的一個學習資源是 PythonistaCafe,一個點對點學習社區(qū)。這個僅限邀請的小組提供了大量專門針對 Python 的練習、活動和聚會,所有這些都在隨處可見的最佳運行環(huán)境之一中進行。

請務必查看嘗試解決特定問題的項目。以下是要查看的開源項目的簡短列表:

OpenCog 正在創(chuàng)建具有人類能力的人工智能 (AGI) 項目。它用于 SingularityNET 項目和 Hanson Robotics 項目,為 Sophia 和其他機器人提供智能。

人工智能研究所(不來梅大學計算機科學學院的一部分)研究人工智能并舉辦旨在推進人工智能技術(shù)的研討會和活動。他們致力于支持現(xiàn)有的人工智能項目和教育。

Zulip 被稱為“世界上最高效的團隊聊天”,每天可以處理數(shù)千條實時消息。Zulip 為團隊提供了清晰的組織、異步通信和其他巨大優(yōu)勢。

Magenta 是一個 Python 庫和研究項目。它的目標是使用人工智能來創(chuàng)作音樂和藝術(shù)。它可以創(chuàng)建圖像、歌曲,甚至生成繪圖,使藝術(shù)家能夠探索新的創(chuàng)作方式。

MailPile 是一個創(chuàng)新的電子郵件客戶端,專注于安全和私密的通信。它速度快,沒有廣告,并帶有強大的搜索功能、隱私和加密功能。

概括

開發(fā)人員學習新語言的三個主要原因:

因為他們必須:也許與您合作的開發(fā)團隊決定用 Python 構(gòu)建一些東西,或者您正在申請的工作需要有 Python 經(jīng)驗的開發(fā)人員。

為了好玩:如果你感到無聊或只是想嘗試 AI、ML 或 DL,Python 會叫你的名字。

解決問題:也許您在項目中使用的語言遇到了障礙。Python 可能值得一試。

審核編輯:郭婷

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

    關注

    91

    文章

    41115

    瀏覽量

    302603
  • 人工智能
    +關注

    關注

    1820

    文章

    50325

    瀏覽量

    266961
  • python
    +關注

    關注

    58

    文章

    4885

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    降壓穩(wěn)壓器中展頻實現(xiàn)方法優(yōu)缺點

    本期為大家?guī)淼氖恰督祲悍€(wěn)壓器中展頻實現(xiàn)方法優(yōu)缺點》,本文介紹芯片設計人員在降壓轉(zhuǎn)換器中實現(xiàn)展頻時所采用的流程,以及如何將這一方法擴展到其他系統(tǒng)。此外還將介紹常見的現(xiàn)代展頻實現(xiàn)方法
    的頭像 發(fā)表于 04-22 14:32 ?4813次閱讀
    降壓穩(wěn)壓器中展頻實現(xiàn)<b class='flag-5'>方法</b>的<b class='flag-5'>優(yōu)缺點</b>

    如何在 VisionFive 上使用 Python 包?

    確保執(zhí)行以下步驟: 將 Fedora OS 刷新到 Micro-SD 卡中,如將 Fedora OS 刷新到 Micro-SD 卡部分中的VisionFive 單板計算機快速入門指南. 登錄
    發(fā)表于 03-30 08:28

    三防漆稀釋劑替代品對比:優(yōu)缺點+環(huán)保選擇 |鉻銳特實業(yè)

    鉻銳特實業(yè)|東莞廠家|三防漆稀釋劑能用什么替代?本文對比原裝稀釋劑、環(huán)保無苯型、醋酸丁酯、PMA等常見替代品的優(yōu)缺點、成本與性能影響,附行業(yè)數(shù)據(jù)和選擇建議,助您兼顧品質(zhì)與成本。
    的頭像 發(fā)表于 02-26 00:12 ?390次閱讀
    三防漆稀釋劑替代品對比:<b class='flag-5'>優(yōu)缺點</b>+環(huán)保選擇 |鉻銳特實業(yè)

    電磁流量計優(yōu)缺點的詳細介紹

    電磁流量計是基于法拉第電磁感應定律測量導電液體體積流量的儀表,廣泛應用于水處理、化工、制藥、食品飲料、造紙、冶金等行業(yè)。以下是電磁流量計的優(yōu)缺點的詳細介紹,供參考: 一、電磁流量計的優(yōu)點 1.無壓損
    的頭像 發(fā)表于 01-06 10:22 ?1192次閱讀

    對比分析電能質(zhì)量在線監(jiān)測裝置支持的斷點續(xù)傳文件傳輸協(xié)議的優(yōu)缺點

    優(yōu)缺點對比分析: 一、各協(xié)議優(yōu)缺點逐一拆解 1. FTP(文件傳輸協(xié)議) 優(yōu)點 斷點續(xù)傳機制成熟 :依托REST命令可精準定位字節(jié)偏移量,支持大文件分塊續(xù)傳,且內(nèi)置 CRC 校驗保障數(shù)據(jù)完整性,是裝置的基礎標配功能,適配性強。 傳輸效率高 :無加密運算損耗,傳輸速率
    的頭像 發(fā)表于 12-05 17:49 ?3686次閱讀
    對比分析電能質(zhì)量在線監(jiān)測裝置支持的斷點續(xù)傳文件傳輸協(xié)議的<b class='flag-5'>優(yōu)缺點</b>

    UV三防漆的優(yōu)缺點大起底!是效率神器還是局限陷阱?

    ?UV三防漆以其“秒干”的黑科技聞名于電子制造圈,但它真的是完美無缺的嗎?任何材料的選擇都是一場權(quán)衡。本文將徹底剖析UV三防漆的優(yōu)缺點,幫助您精準判斷:它究竟是提升您生產(chǎn)效率的利器,還是可能帶來麻煩的“嬌氣”選手?
    的頭像 發(fā)表于 11-15 17:22 ?644次閱讀
    UV三防漆的<b class='flag-5'>優(yōu)缺點</b>大起底!是效率神器還是局限陷阱?

    工業(yè)級SLC SD NAND存儲的優(yōu)缺點

    工業(yè)級 SLC?存儲卡與存儲芯片的優(yōu)缺點: ? 核心特點與適用場景 ? ? 可靠性與壽命 ?:SLC(單層單元)每單元僅存1 bit,典型P/E?擦寫壽命約 10?萬次,遠高于 MLC/TLC,適合
    的頭像 發(fā)表于 10-17 11:09 ?949次閱讀
    工業(yè)級SLC SD NAND存儲的<b class='flag-5'>優(yōu)缺點</b>

    無線局域網(wǎng)的優(yōu)缺點和使用要點

    近年來,無線局域網(wǎng) 已普遍應用于我們生活的方方面面。本文將介紹無線局域網(wǎng)的基礎知識、優(yōu)缺點、與 Wi-Fi 及有線局域網(wǎng)的區(qū)別,以及有效使用的要點。全球領先的短距離無線模塊供應商 KAGA FEI
    的頭像 發(fā)表于 08-14 16:04 ?3404次閱讀
    無線局域網(wǎng)的<b class='flag-5'>優(yōu)缺點</b>和使用要點

    超級電容對比鋰電池的優(yōu)缺點

    本文探討了超級電容和鋰電池在儲能領域的優(yōu)缺點。超級電容以高能量密度著稱,但充電速度較慢;鋰電池則具有快充和壽命長的優(yōu)勢,但成本較高。在新能源汽車和電網(wǎng)調(diào)頻等高頻次應用中,兩者可以互補。
    的頭像 發(fā)表于 06-30 09:37 ?3070次閱讀
    超級電容對比鋰電池的<b class='flag-5'>優(yōu)缺點</b>

    微電機軸球面成型加工方法探討

    摘要:微電機軸端設計成R球面是減小電機振動和噪聲的一種重要方法。為了提高微電機軸端R球面的加工效率,從微電機軸端R球面加工的相對運動關系人手,對微電機軸球面的磨削成型方法進行探討,分析嵌件輪、工件
    發(fā)表于 06-24 14:07

    商業(yè)云手機核心優(yōu)缺點分析

    商業(yè)云手機核心優(yōu)缺點分析,綜合技術(shù)性能、成本效率及場景適配性等多維度對比: 核心優(yōu)勢? 成本革命? 硬件零投入?:免除實體手機采購(旗艦機均價6000元),企業(yè)百臺規(guī)??墒?0萬+ CAPEX
    的頭像 發(fā)表于 06-16 08:11 ?1193次閱讀
    商業(yè)云手機核心<b class='flag-5'>優(yōu)缺點</b>分析

    跟老齊學Python:從入門到精通

    本帖最后由 yuu_cool 于 2025-6-3 16:52 編輯 本資料是面向編程零基礎讀者的Python 入門教程,內(nèi)容涵蓋了Python 的基礎知識和初步應用。以比較輕快的風格,向零基
    發(fā)表于 06-03 16:10

    橋式整流電路的原理、優(yōu)缺點及應用場景分析

    控制系統(tǒng)等領域占據(jù)重要地位。本文將從技術(shù)原理出發(fā),深入剖析橋式整流電路的優(yōu)缺點,并結(jié)合實際應用場景探討其設計優(yōu)化方向。 一、橋式整流電路的基本原理 橋式整流電路(Bridge Rectifier)由4個二極管按菱形結(jié)構(gòu)連接而成。當輸入交
    的頭像 發(fā)表于 05-05 15:00 ?5765次閱讀
    橋式整流電路的原理、<b class='flag-5'>優(yōu)缺點</b>及應用場景分析

    PCBA 表面處理:優(yōu)缺點大揭秘,應用場景全解析

    一站式PCBA加工廠家今天為大家講講PCBA加工如何選擇合適的表面處理工藝?PCBA表面處理優(yōu)缺點與應用場景。在電子制造中,PCBA板的表面處理工藝對電路板的性能、可靠性和成本都有重要影響。選擇合適
    的頭像 發(fā)表于 05-05 09:39 ?1597次閱讀
    PCBA 表面處理:<b class='flag-5'>優(yōu)缺點</b>大揭秘,應用場景全解析

    3D打印耗材種類有哪些?各有什么優(yōu)缺點?

    這篇文章將為你詳細介紹3D打印耗材的基礎知識,幫助你了解這些材料的特性、優(yōu)缺點以及它們適合的應用場景。
    的頭像 發(fā)表于 04-29 09:40 ?5.4w次閱讀
    3D打印耗材種類有哪些?各有什么<b class='flag-5'>優(yōu)缺點</b>?