小白自学python——初识python(大佬勿进,都是基础知识)
python的誕生
python 是由 Guido van Rossum (以下簡稱吉多)在八十年代末和九十年代初,在荷蘭國家數學和計算機科學研究所設計出來的。決定要設計python起源于由吉多參與設計的一種語言——ABC語言,吉多本人認為ABC語言非常的優美和強大,是專門為非專業程序員設計的。但是ABC語言并沒有獲得很大的成功,吉多認為,究其原因,是非開放造成的,為了解決這個問題,所以就誕生了python。在1991年,第一個python解釋器就面世了,是用c語言實現的,并能夠用c語言的庫文件。
python 本身也是由諸多其他語言發展而來的,這包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的腳本語言等等。
像 perl 語言一樣,python 源代碼同樣遵循 GpL(GNU General public License)協議。
現在 python 是由一個核心開發團隊在維護,Guido van Rossum 仍然占據著至關重要的作用,指導其進展。
python 2.7 被確定為最后一個 python 2.x 版本,它除了支持 python 2.x 語法外,還支持部分 python 3.1 語法。
python介紹
python 是一個高層次的結合了解釋性、編譯性、互動性和面向對象的腳本語言。
python 的設計具有很強的可讀性,相比其他語言經常使用英文關鍵字,其他語言的一些標點符號,它具有比其他語言更有特色語法結構。
python 是一種解釋型語言: 這意味著開發過程中沒有了編譯這個環節。類似于pHp和perl語言。(關于解釋器和編譯器的區別將另行解釋)
python 是交互式語言: 這意味著,您可以在一個 python 提示符 >>> 后直接執行代碼。
python 是面向對象語言: 這意味著python支持面向對象的風格或代碼封裝在對象的編程技術。
python 是初學者的語言:python 對初級程序員而言,是一種偉大的語言,它支持廣泛的應用程序開發,從簡單的文字處理到 WWW 瀏覽器再到游戲。
python的優缺點
優點:
簡單直觀
功能強大
開源
一、簡單直觀——python是一種代表簡單主義思想的語言。閱讀一個良好的python程序就感覺象是在讀英語一樣,(只是要求非常嚴格,因為實現一個功能往往只有一種方法)python的這個本質是其最大的優點,其目的就是讓你專注于解決問題而不是去搞明白語言本身。
二、功能強大——
1、可移植性 – 由于它的開源本質,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 平臺!
2、解釋性 – 這一點需要一些解釋。一個用編譯性語言比如 C 或 C++ 寫的程序可以從源文件(即 C 或 C++ 語言)轉換到一個你的計算機使用的語言(二進制代碼,即0和1)。這個過程通過編譯器和不同的標記、選項完成。當你運行你的程序的時候,連接/轉載器軟件把你的程序從硬盤復制到內存中并且運行。而 python 語言寫的程序不需要編譯成二進制代碼。你可以直接從源代碼運行程序。在計算機內部,python 解釋器把源代碼轉換成稱為字節碼的中間形式,然后再把它翻譯成計算機使用的機器語言并運行。事實上,由于你不再需要擔心如何編譯程序,如何確保連接轉載正確的庫等等,所有這一切使得使用 python 更加簡單。由于你只需要把你的 python 程序拷貝到另外一臺計算機上,它就可以工作了,這也使得你的 python 程序更加易于移植。
3、面向對象 – python 既支持面向過程的編程也支持面向對象的編程。在“面向過程”的語言中,程序是由過程或僅僅是可重用代碼的函數構建起來的。在“面向對象”的語言中,程序是由數據和功能組合而成的對象構建起來的。與其他主要的語言如 C++ 和 Java 相比,python 以一種非常強大又簡單的方式實現面向對象編程。
4、可擴展性 – 如果你需要你的一段關鍵代碼運行得更快或者希望某些算法不公開,你可以把你的部分程序用 C 或 C++ 編寫,然后在你的 python 程序中使用它們。
5、豐富的庫 – python 標準庫確實很龐大。它可以幫助你處理各種工作,包括正則表達式、文檔生成、單元測試、線程、數據庫、網頁瀏覽器、CGI、FTp、電子郵件、XML、XML-RpC、HTML、WAV 文件、密碼系統、GUI(圖形用戶界面)、Tk 和其他與系統有關的操作。記住,只要安裝了python,所有這些功能都是可用的。這被稱作 python 的“功能齊全”理念。除了標準庫以外,還有許多其他高質量的庫,如 wxpython、Twisted 和 python 圖像庫等等。
三、開源——python的源代碼是公開的,也正是因此,每一個python愛好者都可以都它進行改進開發,但是具體會不會采用還要看能不能通過 python 核心開發團隊的認可,因為python是由一個核心開發團隊在維護,Guido van Rossum 仍然占據著至關重要的作用,指導其進展。
python的缺點
一、運行速度,有速度要求的話,用 C++ 改寫關鍵部分吧。由于解釋器是將一行代碼翻譯執行之后在進行下一句的代碼翻譯并執行的,所以速度也就沒有將所有代碼都翻譯之后在執行的編譯器的速度快。
二、國內市場較小(國內以 python 來做主要開發的,目前只有一些 web2.0 公司)。但時間推移,目前很多國內軟件公司,尤其是游戲公司,也開始規模使用它。
中文資料匱乏(好的 python 中文資料屈指可數,現在應該變多了)。托社區的福,有幾本優秀的教材已經被翻譯了,但入門級教材多,高級內容還是只能看英語版。
三、構架選擇太多(沒有像 C# 這樣的官方 .net 構架,也沒有像 ruby 由于歷史較短,構架開發的相對集中。Ruby on Rails 構架開發中小型web程序天下無敵)。不過這也從另一個側面說明,python比較優秀,吸引的人才多,項目也多。
PS:關于編譯器和解釋器的區別
編譯器和解釋器都是高級語言與機器之間的翻譯官,因為計算機只認識0和1,所以我們編輯的代碼都需要被翻譯成機器語言,計算機才能進行執行。即編譯器和解釋器都是
將代碼翻譯成機器可以執行的二進制機器碼,只不過在運行原理和翻譯過程有不同而已。
編譯器:先整體編譯再執行。運行速度快,但任何一個小的改動都需要整體重新編譯。可脫離編譯環境運行。代表語言是c語言。
解釋器:邊解釋邊執行。運行速度慢,但部分改動不需要整體重新編譯。不可脫離解釋器環境運行。代表語言是python語言。
用通俗的例子來解釋:就好比老師讓翻譯一篇英文,編譯器就是把整篇全部翻譯完成再上交,而解釋器則是翻譯一句上交一句。
總結
以上是生活随笔為你收集整理的小白自学python——初识python(大佬勿进,都是基础知识)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么把一堆名字放到excel_要把大量的
- 下一篇: Python 每日一题(猴子吃桃问题)