《Python基礎》第1期:人生苦短,我用Python

介紹

Python 在英語中是蟒蛇的意思,它的 logo 也是兩條蟒蛇纏繞在一起。

然而 Python 和蟒蛇實際上沒有半點關系。

Python 是由荷蘭程序員 Guido van Rossum(因為其名字的前三個字母“gui”是中文“龜”的拼音,所以江湖人稱“龜叔”)獨立開發完成初版的。

“龜叔”曾供職于 Google,現任職于 Dropbox(多寶箱)。

1989 年圣誕節期間,在阿姆斯特丹,“龜叔”為了打發圣誕節的無趣,決心開發一個新的腳本解釋語言,作為 ABC 語言的一種繼承,然后他就這么做了,并實現了(天才就是天才)。

之所以選中 Python 作為該編程語言的名字,是因為他是一個叫 Monty Python 喜劇團體的愛好者,其本意并不是想選條蟒蛇。

Python 的口號是:“人生苦短,我用 Python”。

這條口號已經被 Python 業界廣泛使用,快成了廣告詞一類的存在了。

從這個口號也可以看出 Python 簡單、易學、省心的特點。

它特別適合沒有編程經驗但需要將編程語言當作工具的人(比如算法工程師),這也是為什么 Python 能乘著人工智能的風口起飛的原因之一。

歷史

  • **(1991年)Python 0.9.0:**這個版本包含了諸多基本的語言特性,如模塊、異常處理、函數以及核心數據類型(字符串、列表等)。
  • **(1994年)Python 1.0:**引入了一些現在看來很基本的特性,如 lambda、map、filter 和 reduce。此時 Python 已經有了一個相對完整的語言結構。
  • **(2000年)Python 2.0:**引入了重要的特性,包括垃圾回收機制和 Unicode 支持。在此之后,Python 逐漸成為一門適用于多種領域的編程語言,從 Web 開發到科學計算都有了一席之地。
  • **(2008年)Python 3.0:**也被稱為 Python 3000 或簡稱為 Py3k。這個版本引入了不兼容的語法和庫變化,以提高語言的一致性和清晰度。

截止到現在的 2025 年,Python 的最新版本依然是 3.x,語法也沒有大的變化,可見其穩定性和完善性。

這樣就不用經常學習其新的語法和特性,是非常利好學習者和開發者的(此處內涵半年發布一個大版本的 Java)。

Python 源代碼遵循 GPL(GNU General Public License)協議。

這是一個開源的協議,也就是說可以免費使用和傳播它,而不用擔心版權的問題(再次內涵按人頭收費的 Oracle JDK)。

目前 Python 是由一個核心開發團隊在維護,“龜叔”屬于太上皇職位,仍然占據著至關重要的作用,指導其進展。

現狀

Python 近些年一直占據榜單的第一名,可見其熱度。

Python 是一種“膠水語言”,其本身非常簡單。

但它有非常多的擴展庫,而且這些擴展庫不是為編程開發服務的,而是為科研、數據分析、機器學習、辦公自動化等服務的。

人工智能依賴于機器學習,近些年人工智能大火,自然就帶動了 Python 的火爆。

但一定要注意,Python 不等于人工智能

Python 之于人工智能,好比計算器之于會計師,會計師都需要使用計算器。

但計算器本身只是工具,不是技術,衡量一個會計師的水平也不會是計算器的熟練程度,而是會計的專業技能。

以我目前工作的公司為例,我們公司是做工業巡檢機器人的,其中有一個算法部門,里面基本全是數學專業的碩士,他們很多完全沒學過編程,只是工作要做人工智能才順帶學了 Python。

由此可見,人工智能需要的是數學,Python 只是用來實現數學目的的工具。

所以如果想從事人工智能的工作,應該把精力放在數學的學習上,并盡量取得碩士學位(人工智能行業對學歷要求很高,基本碩士才是入門標準)。

至于 Python,完全可以等數學這樣的專業知識學習完畢后再將其作為工具學習。

至于爬蟲,很多無良培訓機構會以爬蟲的低門檻、高收入作為 Python 的亮點進行宣傳。

但爬蟲需要掌握的知識其實很多,前后端都得會,門檻并不低。

高收入或許是事實,但風險也是同樣高的,因為爬蟲本身就是“灰色地帶”,現在的政策對爬蟲越來越嚴厲,市場也越來越小。

要是現在還一門心思做爬蟲,很可能是“面向監獄編程”了。


Python 能有今天這樣的成就,縱然與外界因素有關(比如近些年大火的人工智能),但其本身簡單易學的語法、完善的工具庫、舒適的開發體驗,都是它能把握住時代風口的重要原因。

學習 Python,并不為將其作為“飯碗”,而是將其作為“餐具”,讓我們可以更好的“吃飯”。

作為程序員,在人工智能的時代,學會 Python 注定能走得更遠。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/81535.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/81535.shtml
英文地址,請注明出處:http://en.pswp.cn/web/81535.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

DiT、 U-Net 與自回歸模型的優勢

DiT 相對于 U-Net 的優勢 全局自注意力 vs. 局部卷積 U-Net 依賴卷積和池化/上采樣來逐層擴大感受野,捕捉全局信息需要堆疊很多層或借助跳躍連接(skip connections)。DiT 在每個分辨率階段都用 Transformer 模塊(多頭自注意力 ML…

怎么查找idea插件的下載位置,并更改

長期使用 IntelliJ IDEA 時,默認存儲在 C 盤的配置文件會持續生成大量緩存和日志文件,可能導致系統盤空間不足。通過修改默認配置文件存儲位置,可以有效釋放 C 盤空間并提升系統性能。 1,先找到自己idea的下載目錄,再打…

IoT/HCIP實驗-1/物聯網開發平臺實驗Part2(HCIP-IoT實驗手冊版)

文章目錄 概述產品和設備實例的產品和設備產品和設備的關聯單個產品有多個設備為產品創建多個設備產品模型和物模型設備影子(遠程代理) 新建產品模型定義編解碼插件開發編解碼插件工作原理消息類型與二進制碼流添加消息(數據上報消息&#xf…

15.進程間通信(一)

一、進程間通信介紹 進程間通信目的: 數據傳輸:一個進程需要將它的數據發送給另?個進程 資源共享:多個進程之間共享同樣的資源。 通知事件:一個進程需要向另一個或一組進程發送消息,通知它(它們&#xf…

05-jenkins學習之旅-vue前項目部署實踐

1、創建被管理項目 2、構建流程說明 jenkins其實就是將服務部署拆分成了: 1、拉取代碼(git) 2、打包編譯(npm install) 3、自定義腳本(dist復制、執行啟動腳本) 4、部署成功后的一些通知等 3、demo配置 3.1、General 3.2 源碼管理 添加用戶名密碼方式如下圖 3.2…

服務器中分布式存儲數據技術都包含哪些內容?

隨著大數據時代的到來,企業和組織對于服務器的存儲要求也在不斷地增高,傳統的存儲架構已經無法滿足一些大規模的數據存儲和處理需求,分布式存儲技術應運而生,成為了大數據存儲的重要基礎設施,下面,就來介紹…

從比分滾動到數據革命:體育數據如何重構我們的觀賽體驗?

當凌晨三點的歐冠決賽與鬧鐘沖突時,當世界杯小組賽因時差難以全程跟進時,當代體育迷早已不再依賴電視直播 —— 打開手機里的比分網,實時跳動的體育大數據正構建著全新的觀賽宇宙。這些曾經被視為 "輔助工具" 的平臺,如…

vue2使用element中多選組件el-checkbox-group,數據與UI更新不同步

問題描述 使用element多選checkbox組件,點擊勾選取消勾選,視圖未變化,再次點擊表單其他元素,多選組件勾選狀態發生變化,視圖和數據未同步 第一次嘗試:再el-checkbox-group多選父組件上增加點擊事件&…

CodeTop之LRU緩存

題目鏈接 146. LRU 緩存 - 力扣(LeetCode) 題目解析 算法原理 我們使用雙向鏈表哈希表的形式來模擬緩存機制 首先我們要自己實現一個雙鏈表, 自己寫一個內部類, 這個內部類記錄了key,value,prev,next(前驅和后繼), 后續我們就通過這個內部類來構造雙…

PyQt學習系列11-綜合項目:多語言文件管理器

PyQt學習系列筆記(Python Qt框架) 第十一課:綜合項目 - 多語言文件管理器 (原課程規劃中的第十五課,按用戶要求調整為第十一課) 課程目標 綜合運用PyQt框架開發一個支持多語言的文件管理器實現以下核心功…

【Ubuntu修改串口延時(Latency Timer)為1毫秒(設備拔插或系統重啟后自動生效)】

Ubuntu修改串口延時Latency Timer為1毫秒-設備拔插或系統重啟后自動生效 在Ubuntu系統中,串口設備的延時參數(latency_timer)可以通過udev規則永久修改。以下是完整步驟: 創建udev規則文件 sudo vim /etc/udev/rules.d/99-ftdi-low-latency.rules添加以…

OpenCV CUDA模塊圖像處理------顏色空間處理之GPU 上交換圖像的通道順序函數swapChannels()

操作系統:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 編程語言:C11 算法描述 該函數用于在 GPU 上交換圖像的通道順序(例如將 BGR 圖像轉為 RGB)。 它適用于多通道圖像(如 3 通道或 4 通道…

Linux Ubuntu24.04配置安裝MySQL8.4.5高可用集群主從復制!

MySQL 主從復制(Replication)是實現數據高可用、讀寫分離及異地容災的核心機制之一。主庫寫、從庫讀,提升并發能力;讀寫分離,減輕主庫壓力。 本地 windows 系統有一個Linux Ubuntu子系統,版本為Ubuntu 24.…

R基于邏輯回歸模型實現心臟病檢測及SHAP值解釋項目實戰

說明:這是一個機器學習實戰項目(附帶數據代碼文檔視頻講解),如需數據代碼文檔視頻講解可以直接到文章最后關注獲取。 1.項目背景 心血管疾病是全球范圍內導致死亡的主要原因之一,每年有數百萬人因此失去生命。在眾多的…

嵌入式學習筆記 -函數嵌套時以及異常響應時,LR使用的具體過程

函數嵌套時以及異常響應時,寄存器LR的作用存在顯著區別,理解這個問題對于理解freeRTOS底層代碼的實現大有幫助,具體使用過程如下: 一 函數嵌套時的LR使用的具體過程 在ARM架構(特別是M0處理器)中,函數嵌套調用時LR(L…

Java String函數的使用

文章目錄 String字符串比較字符串查找轉化字符串替換字符串拆分字符串截取(常用)字符串的不可變性 String str本來是字符串常量的引用,應該打印地址,但是編譯器重寫了toString方法,所以打印hello String 的構造方法 …

Oracle 11G RAC重啟系統異常

vmware安裝centos7環境部署Oracle RAC (11.2.0.4) 部署時所有資源情況都是正常的,關機重啟虛擬機后集群資源狀態異常,請教CSDN大佬 – 部署規劃 域名地址備注rac16192.168.31.16rac17192.168.31.17rac16vip192.168.31.26viprac17vip192.168.31.27vip…

吉林省CCPC與全國邀請賽(東北地區賽)游記

總述: 本次賽段共獲得一銀(吉林省賽)、一銅(東北地區賽)、一鐵(全國邀請賽的成績)。總體成績跟校內賽的情況相比隊伍狀態與發揮水準都有提升),但也體現出很多不足&#x…

「Python教案」循環語句的使用

課程目標 1.知識目標 能使用for循環和while循環設計程序。能使用循環控制語句,break、continue、else設計程序。能使用循環實際問題。 2.能力目標 能根據需求合適的選擇循環結構。能對嵌套循環代碼進行調試和優化。能利用循環語句設計&am…

OpenCV---findCountours

一、基本概念與用途 findContours是OpenCV中用于在二值圖像中查找輪廓的核心函數。輪廓作為連續的點集,能夠精確勾勒出物體的邊界,廣泛應用于目標檢測、形狀分析、圖像分割等領域。 函數核心價值 目標檢測:通過輪廓定位圖像中的物體&#…