python菜鳥教程學習1:背景性學習
- 2020 年 11 月 15 日
- 筆記
- CODING, Computer Science Knowledge Learning, Life sharing, Programming Language, Python, 入門, 分享, 基礎知識, 學習, 小白, 連載更新
//www.runoob.com/python3/python3-intro.html
優點
- 簡單 — Python 是一種代表簡單主義思想的語言。閱讀一個良好的 Python 程式就感覺像是在讀英語一樣,儘管這個英語的要求非常嚴格!Python 的這種偽程式碼本質是它最大的優點之一。它使你能夠專註於解決問題而不是去搞明白語言本身。
- 易學 — 就如同你即將看到的一樣,Python 極其容易上手。前面已經提到了,Python 有極其簡單的語法。
- 免費、開源 — Python 是 FLOSS(自由/開放源碼軟體)之一。簡單地說,你可以自由地發布這個軟體的拷貝、閱讀它的源程式碼、對它做改動、把它的一部分用於新的自由軟體中。FLOSS 是基於一個團體分享知識的概念。這是為什麼 Python 如此優秀的原因之一——它是由一群希望看到一個更加優秀的 Python 的人創造並經常改進著的。
- 高層語言 — 當你用 Python 語言編寫程式的時候,你無需考慮諸如如何管理你的程式使用的記憶體一類的底層細節。
- 可移植性 — 由於它的開源本質,Python 已經被移植在許多平台上(經過改動使它能夠工作在不同平台上)。如果你小心地避免使用依賴於系統的特性,那麼你的所有 Python 程式無需修改就可以在下述任何平台上面運行。這些平台包括 Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE 甚至還有 PocketPC、Symbian 以及 Google 基於 Linux 開發的 Android 平台!
- 解釋性 — 這一點需要一些解釋。一個用編譯性語言比如 C 或 C++ 寫的程式可以從源文件(即 C 或 C++ 語言)轉換到一個你的電腦使用的語言(二進位程式碼,即0和1)。這個過程通過編譯器和不同的標記、選項完成。當你運行你的程式的時候,連接/轉載器軟體把你的程式從硬碟複製到記憶體中並且運行。而 Python 語言寫的程式不需要編譯成二進位程式碼。你可以直接從源程式碼運行程式。在電腦內部,Python 解釋器把源程式碼轉換成稱為位元組碼的中間形式,然後再把它翻譯成電腦使用的機器語言並運行。事實上,由於你不再需要擔心如何編譯程式,如何確保連接轉載正確的庫等等,所有這一切使得使用 Python 更加簡單。由於你只需要把你的 Python 程式拷貝到另外一台電腦上,它就可以工作了,這也使得你的 Python 程式更加易於移植。
- 面向對象 — Python 既支援面向過程的編程也支援面向對象的編程。在「面向過程」的語言中,程式是由過程或僅僅是可重用程式碼的函數構建起來的。在「面向對象」的語言中,程式是由數據和功能組合而成的對象構建起來的。與其他主要的語言如 C++ 和 Java 相比,Python 以一種非常強大又簡單的方式實現面向對象編程。
- 可擴展性 — 如果你需要你的一段關鍵程式碼運行得更快或者希望某些演算法不公開,你可以把你的部分程式用 C 或 C++ 編寫,然後在你的 Python 程式中使用它們。
- 豐富的庫 — Python 標準庫確實很龐大。它可以幫助你處理各種工作,包括正則表達式、文檔生成、單元測試、執行緒、資料庫、網頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV 文件、密碼系統、GUI(圖形用戶介面)、Tk 和其他與系統有關的操作。記住,只要安裝了 Python,所有這些功能都是可用的。這被稱作 Python 的「功能齊全」理念。除了標準庫以外,還有許多其他高品質的庫,如 wxPython、Twisted 和 Python 影像庫等等。
- 規範的程式碼 — Python 採用強制縮進的方式使得程式碼具有極佳的可讀性。
缺點
- 運行速度,有速度要求的話,用 C++ 改寫關鍵部分吧。
- 中國市場較小(中國以 Python 來做主要開發的,目前只有一些 web2.0 公司)。但時間推移,目前很多中國軟體公司,尤其是遊戲公司,也開始規模使用他。
- 中文資料匱乏(好的 Python 中文資料屈指可數,現在應該變多了)。托社區的福,有幾本優秀的教材已經被翻譯了,但入門級教材多,高級內容還是只能看英語版。
- 構架選擇太多(沒有像 C# 這樣的官方 .net 構架,也沒有像 ruby 由於歷史較短,構架開發的相對集中。Ruby on Rails 構架開發中小型web程式天下無敵)。不過這也從另一個側面說明,python比較優秀,吸引的人才多,項目也多。
Python 的主要運用領域有:
- 雲計算:雲計算最熱的語言,典型的應用OpenStack
- WEB開發:許多優秀的WEB框架,許多大型網站是Python開發、YouTube、Dropbox、Douban……典型的Web框架包括Django
- 科學計算和人工智慧:典型的圖書館NumPy、SciPy、Matplotlib、Enided圖書館、熊貓
- 系統操作和維護:操作和維護人員的基本語言
- 金融:定量交易、金融分析,在金融工程領域,Python不僅使用最多,而且使用最多,其重要性逐年增加。
- 圖形 GUI:PyQT,WXPython,TkInter
Python 在一些公司的運用有:
- Google:Google應用程式引擎,程式碼。Google.com、 Google 爬蟲、Google 廣告和其他項目正在廣泛使用 Python。
- CIA:美國中情局網站是用 Python 開發的。
- NASA:美國航天局廣泛使用 Python 進行數據分析和計算。
- YouTube:世界上最大的影片網站 YouTube 是用 Python 開發的。
- Dropbox:美國最大的在線雲存儲網站,全部用 Python 實現,每天處理 10 億的文件上傳和下載。
- Instagram:美國最大的照片共享社交網站,每天有 3000 多萬張照片被共享,所有這些都是用 Python 開發的。
- Facebook:大量的基本庫是通過 Python 實現的
- Red Hat/Centos:世界上最流行的 Linux 發行版中的 Yum 包管理工具是用 Python 開發的
- Douban:幾乎所有公司的業務都是通過 Python 開發的。
- 知乎:中國最大的 Q&A 社區,通過 Python 開發(國外 Quora)
除此之外,還有搜狐、金山、騰訊、盛大、網易、百度、阿里、淘寶、土豆、新浪、果殼等公司正在使用 Python 來完成各種任務。