目錄
- 1.主流編程語言介紹
- 1.1.C語言
- 1.2.C++語言
- 1.3.JAVA語言
- 1.4.PHP語言
- 1.5.GO語言
- 1.6.Ruby語言
- 2.編程語言介紹
- 2.1.機器語言
- 2.2.匯編語言
- 2.3.高級語言
- 3.高級語言分類
- 3.1.編譯類
- 3.2.解釋類
- 4.Python解釋器種類
- 4.1.CPython
- 4.2.IPython
- 4.3.PyPy
- 4.4.Jython
- 4.5.IronPython
- 5.變數
- 6.常量
- 7.注釋
- 7.1.代碼注釋原則
- 8.資料型別
- 8.1.數字型別
- 8.1.1.int(整型)
- 8.1.2.long(長整型)
- 8.1.3.字串
- 8.1.3.1.字串拼接
- 8.1.4.布爾型別
- 8.1.數字型別
- 9.運算子
- 9.1.算數運算
- 9.2.比較運算
- 9.3.賦值運算
- 9.4.邏輯運算
- 10.流程控制
- 10.1.單分支
- 10.2.雙分支
- 10.3.多分支
- 11.while回圈
- 11.1.回圈終止陳述句
- 11.2.while...else玩法
1.主流編程語言介紹
世界上的編程語言有600多種,但真正大家主流在使用的最多二三十種,不同的語言有自己的特點和擅長領域,隨著計算機的不斷發展,新語言在不斷誕生,也同時有很多老舊的語言慢慢無人用了,有個權威的語言排名網站,可以看到主流的編程語言是哪些,
1.1.C語言
C語言是一種計算機程式設計語言,它既具有高級語言的特點,又具有匯編語言的特點,它是美國貝爾研究所的D.M.Ritchie于1972年推出,1978年后,C語言已先后被移植到大、中、小及微型機上,它可以作為作業系統設計語言,撰寫系統應用程式,也可以作為應用程式設計語言,撰寫不依賴計算機硬體的應用程式,它的應用范圍廣泛,具備很強的資料處理能力,不僅僅是在軟體開發上,而且各類科研都需要用到C語言,適于撰寫系統軟體,三維,二維圖形和影片,具體應用比如單片機以及嵌入式系統開發,
適合作業系統底層應用程式、驅動程式、對運行速度要求較高的軟體開發
缺點:開發效率低,學習成本高
1.2.C++語言
C++是C語言的繼承的擴展,它既可以進行C語言的程序化程式設計,又可以進行以抽象資料型別為特點的基于物件的程式設計,還可以進行以繼承和多型為特點的面向物件的程式設計,C++擅長面向物件程式設計的同時,還可以進行基于程序的程式設計,因而C++就適應的問題規模而論,大小由之,
C++不僅擁有計算機高效運行的實用性特征,同時還致力于提高大規模程式的程式質量與程式設計語言的問題描述能力,
運行速度快,適合游戲開發、服務器高性能后臺軟體、網路編程、圖形處理軟體、芯片仿真、機器人等
缺點:開發效率高于C,低于JAVA/Python
1.3.JAVA語言
Java是第一個跨平臺的面向物件的程式設計語言,是由Sun Microsystems公司于1995年5月推出,Java技術具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應用于個人PC、資料中心、游戲控制臺、科學超級計算機、移動電話和互聯網,同時擁有全球最大的開發者專業社群,在全球云計算和移動互聯網的產業環境下,Java更具備了顯著優勢和廣闊前景,
全球使用最廣泛的語言,豐富、成熟的生態圈,應用領域極為廣泛
缺點:代碼臃腫、各種庫太多了、設計復雜
1.4.PHP語言
PHP(外文名:PHP:Hypertext Preprocessor,中文名:“超文本前處理器”)是一種通用開源腳本語言,語法吸收了C語言、Java和Perl的特點,利于學習,使用廣泛,主要適用于web開發領域,
廣泛用于網站開發
缺點:應用領域相對單一,運行速度慢
1.5.GO語言
Go是從2007年末由谷歌開發,并于2009年11月開源,在2012年早些時候發布了Go 1穩定版本,
Go的主要特點是開發效率高,并發性好,號稱是可以接近C的運行速度,接近Python的開發效率!
主要用于高性能并發程式開發,著名的Docker容器就是基于GO開發的
缺點:生態圈還不夠成熟,應用領域相對單一
1.6.Ruby語言
Ruby是一個與Python類似的解釋性語言,開發效率高,學習成本低,著名的ruby on rails web框架在國外有很多人用,
主要用于web開發,雖然其不只能做web開發
缺點:起步晚,它能干的Python都能干,且可以干的更好,所以感覺勢能都被Python搶走了,
2.編程語言介紹
2.1.機器語言
由于計算機內部只能接受二進制代碼,因此,用二進制代碼0和1描述的指令稱為機器指令,全部機器指令的集合構成計算機的機器語言,
機器語言屬于低級語言,
輸出的程式全是些0和1的指令代碼,直觀性差,還容易出錯,除了計算機生產廠家的專業人員之外,絕大多數的程式員已經不再去學習機器語言了,
機器語言是做處理器理解和使用的,盡管機器語言好像是很復雜的,然而它是有規律的,
存在著多至100000種機器語言的指令,這意味著不能把這些鐘類全部列出來,
優點是最底層,速度最快,缺點是最復雜,開發效率最低
2.2.匯編語言
匯編語言的實質和機器語言是相同的,都是直接對硬體操作,只不過指令采用了英文縮寫的識別符號,更容易識別和記憶,
它同樣需要編程者將每一步具體的操作用命令的形式寫出來,匯編程式的每一句指令只能對應實際操作中的一個很細微的動作,例如移動、自增,因此匯編程式一般比較冗長、復雜、容易出錯,而且使用匯編語言編程需要有更多的計算機專業知識,
但匯編語言的優點也顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能夠實作的,而且源程式經匯編生產的可執行檔案不僅比較小,而且執行速度很快,
優點是比較底層,速度最快,缺點是復雜,開發效率最低
2.3.高級語言
高級語言是大多數編程者的選擇,和匯編語言相比,它不但將許多相關的機器指令合成為單條指令,并且去掉了與具體操作有關但與完成作業無關的細節,例如使用堆疊、暫存器等,這樣就大大簡化了程式中的指令,同時,由于省略了很多細節,編程者也就不需要有太多的專業知識,
高級語言主要是相對于匯編語言而言,它并不是特指某一種具體的語言,而是包括了很多編程語言,如C\C++,JAVA,PHP,Python,GO,C#等都屬于高級語言,
相比機器和匯編語言,高級語言對開發人員更友好,在開發效率上大大提高,
編譯型語言執行速度快,不依賴語言環境運行,跨平臺差
解釋型跨平臺好,一份代碼,到處使用,缺點是執行速度慢,依賴解釋器運行
3.高級語言分類
高級語言所編制的程式不能直接被計算機識別,必須經過轉換才能被執行,
按轉換方式可將它們分為兩類:
3.1.編譯類
編譯是指在應用源程式執行之前,就將程式源代碼“翻譯”成目標代碼(機器語言),因此其目標程式可以脫離其語言環境獨立執行(編譯后生成的可執行檔案,是CPU可以理解的二進制的機器碼組成的),使用比較方便、效率較高,但應用程式一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標檔案(*.obj,也就是OBJ檔案)才能執行,只有目標檔案而沒有源代碼,修改很不方便,
編譯后程式運行時不需要重新翻譯,直接使用編譯的結果就行了,程式執行效率高,依賴編譯器,跨平臺性差些,如C、C++、Delphi等,
1、把源代碼編譯成機器語言的可執行程式
2、執行可執行程式檔案
優點:
1、程式執行時,不再需要源代碼,不依賴語言環境,因為執行的是機器碼檔案
2、執行速度快,因為你的程式代碼已經翻譯成了是計算機可以直接理解的機器語言
缺點:
1、每次修改了源代碼,需要重新編譯,生成機器碼檔案
2、跨平臺性不好,不同作業系統,呼叫底層的機器指令不同,需為不同平臺生成不同的機器碼檔案
3.2.解釋類
執行方式類似于我們日常生活中的“同聲翻譯”,應用程式源代碼一邊由相應語言的解釋器“翻譯”成目標代碼(機器語言),一邊執行,因此效率比較低,而且不能生產可獨立執行的可執行檔案,應用程式不能脫離其解釋器(想運行,必須先裝上解釋器,就像跟老外說話,必須有翻譯在場),但這種方式比較靈活,可以動態地調整、修改應用程式,如Python、Java、PHP、Ruby等語言,
1、用戶呼叫解釋器,執行源代碼檔案
2、解釋器把源代碼檔案邊編譯成機器指令,邊交給CPU執行
優點:
1、天生跨平臺,因為解釋器已經做好了對不同平臺的互動處理,用戶寫的源代碼不需再考慮平臺差異性,可謂,一份源代碼,所有平臺都可直接執行
2、隨時修改,立刻見效,改完源代碼后,直接運行看效果
缺點:
1、運行效率低,所有的代碼均需經過解釋器邊解釋邊執行,速度比編譯型慢很多
2、代碼是明文
4.Python解釋器種類
我們現在知道了Python是一門解釋型語言,代碼想運行,必須通過解釋器執行,Python的解釋器本身也可以看作是個程式,這個程式是用好幾種語言開發的,因為Python有好幾種解釋器,分別基于不同語言開發,每個解釋器特點不同,但都能正常運行我們的Python代碼,
4.1.CPython
當我們從Python官方網站下載并安裝好Python2.7后,我們就直接獲得了一個官方版本的解釋器:CPython,這個解釋器是用C語言開發的,所以叫CPython,在命令列下運行Python就是啟動CPython解釋器,
CPython是使用最廣泛的Python解釋器,教程的所有代碼也都在CPython下執行,
4.2.IPython
IPython是基于CPython之上的一個互動式解釋器,也就是說,IPython只是在互動方式上有所增強,但是執行Python代碼的功能和CPython是完全一樣的,好比很多國產瀏覽器雖然外觀不同,但內核其實都是呼叫了IE,
4.3.PyPy
PyPy是另一個Python解釋器,它的目標是執行速度,PyPy采用JIT技術,對Python代碼進行動態編譯(注意不是解釋),所以可以顯著提高Python代碼的執行速度,
4.4.Jython
Jyphon是運行在Java平臺上的Python解釋器,可以直接把Python代碼編譯成Java位元組碼執行,
4.5.IronPython
IronPython和Jython類似,只不過IronPython是運行在微軟.Net平臺上的Python解釋器,可以直接把Python代碼編譯成.Net的位元組碼,
5.變數
變數用于存盤計算機程式中要參考和操作的資訊,它們還提供了用描述性名稱標記資料的方法,因此讀者和我們自己可以更清楚地理解我們的程式,把變數看作保存資訊的容器是有幫助的,它們的唯一目的是在記憶體中標記和存盤資料,這些資料可以在你的程式中使用,
6.常量
常量是指不變的量,或在程式運行程序中不會改變的量,
7.注釋
代碼注釋用#
7.1.代碼注釋原則
不用全部加注釋,只需要在自己覺得重要或不好理解的部分加注釋即可
8.資料型別
什么是資料型別?
我們人類可以很容易的分清楚數字與字符的區別,但是計算機并不能,計算機雖然強大,但從某種角度上看又很傻,除非你明確的告訴它,1是數字,“漢”是文字,否則它是分不清1和“漢”的區別的,因此,在每個編程語言里都會有一個叫資料型別的,你想讓計算機進行了明確的劃分,你想讓計算機進行數值運算,你就傳數字給它,你想讓他處理文字,就傳字串型別給他,
Python中常用的資料型別有哪些呢
8.1.數字型別
8.1.1.int(整型)
在32位機器上,整數的位數為32位,取值范圍為-2**312**31-1,即-21474836482147483647
在64位機器上,整數的位數為64位,取值范圍為-2**632**63-1,即-92233720368547758089223372036854775807
8.1.2.long(長整型)
跟C語言不同,Python的長整型沒有指定位寬,即:Python沒有限制長整數數值的大小,但實際上由于機器記憶體有限,我們使用的長整數數值不可能無限大,
在Python3里不再有long型別了,全都是int
8.1.3.字串
在Python中,加了引號的字符都被認為是字串,
單雙引號沒有任何區別,多行字符必須用多引號,
8.1.3.1.字串拼接
字串相加其實就是簡單拼接,相乘其實就是復制自己多少次,再拼接在一起,
字串的拼接只能是雙方都是字串,不能跟數字或其它型別拼接單雙引號,
8.1.4.布爾型別
布爾型別就兩個值,一個True(真),一個False(假),主要用于邏輯判斷,
9.運算子
計算機可以進行的運算有很多種,可不只加減乘除這么簡單,運算按種類可分為算數運算、比較運算、邏輯運算、賦值運算、成員運算、身份運算、位運算,
9.1.算數運算
以下假設變數:a=10,b=20
| 運算子 | 描述 | 實體 |
|---|---|---|
| + | 加-兩個物件相加 | a + b 輸出結果 30 |
| - | 減-得到負數或是一個數減去另一個數 | a - b 輸出結果 -10 |
| * | 乘-兩個數相乘或是回傳一個被重復若干次的字串 | a * b 輸出結果 200 |
| / | 除-x除以y | b / a 輸出結果 2 |
| % | 取模-回傳除法的余數 | b % a 輸出結果 0 |
| ** | 冪-回傳x的y次冪 | a ** b 為10的20次方,輸出結果 100000000000000000000 |
| // | 取整除-回傳商的整數部分 | 9 // 2 輸出結果 4,9.0 // 2.0 輸出結果 4.0 |
9.2.比較運算
以下假設變數:a=10,b=20
| 運算子 | 描述 | 實體 |
|---|---|---|
| == | 等于-比較物件是否相等 | (a==b)回傳False |
| != | 不等于-比較兩個物件是否不相等 | (a!=b)回傳true |
| <> | 不等于-比較兩個物件是否不相等 | (a<>b)回傳true,這個運算子類似!= |
| > | 大于-回傳x是否大于y | (a>b)回傳False |
| < | 小于-回傳x是否小于y,所有比較運算子回傳1表示真,回傳0表示假,這分別與特殊的變數True和False等價, | (a<b)回傳true |
| >= | 大于等于-回傳x是否大于等于y | (a>=b)回傳False |
| <= | 小于等于-回傳x是否小于等于y | (a<=b)回傳true |
9.3.賦值運算
以下假設變數:a=10,b=20
| 運算子 | 描述 | 實體 |
|---|---|---|
| = | 簡單的賦值運算子 | c=a+b將a+b的運算結果賦值為c |
| += | 加法賦值運算子 | c+=a等效于c=c+a |
| -= | 減法賦值運算子 | c-=a等效于c=c-a |
| *= | 乘法賦值運算子 | c*=a等效于c=c*a |
| /= | 除法賦值運算子 | c/=a等效于c=c/a |
| %= | 取模賦值運算子 | c%=a等效于c=c%a |
| **= | 冪賦值運算子 | c**=a等效于c=c**a |
| //= | 取整除賦值運算子 | c//=a等效于c=c//a |
9.4.邏輯運算
| 運算子 | 描述 |
|---|---|
| and | 布爾“與”-如果x為False,x and y回傳False,否則它回傳y的計算值 |
| or | 布爾“或”-如果x是True,它回傳True,否則它回傳y的計算值 |
| not | 布爾“非”,如果x為True,回傳False,如果x為False,它回傳True |
10.流程控制
10.1.單分支
if 條件:
滿足條件后要執行的代碼
10.2.雙分支
if 條件:
滿足條件執行代碼
else:
if條件不滿足就走這段
10.3.多分支
if 條件:
滿足條件執行代碼
elif 條件:
上面的條件不滿足就走這個
elif 條件:
上面的條件不滿足就走這個
elif 條件:
上面的條件不滿足就走這個
else:
上面所有的條件不滿足就走這段
11.while回圈
語法
while 條件:
執行代碼...
while是只要后邊條件成立(也就是結果為真)就一直執行
11.1.回圈終止陳述句
如果在回圈的程序中,因為某些原因,你不想繼續回圈了,怎么把它終止掉呢?這就用到break或continue陳述句
1、break用于完全結束一個回圈,跳出回圈體執行回圈后面的陳述句
2、continue和break有點類似,區別在于continue只是終止本次回圈,接著還執行后面的回圈,break則完全終止回圈
11.2.while...else玩法
與其它語言else一般只與if搭配不同,在Python中還有個while...else陳述句
while后面的else作用是指,當while回圈正常執行完,中間沒有被break終止的話,就會執行else后面的陳述句
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/117822.html
標籤:Python
