第1章python基础语法1
一、編程語言介紹
1、編程是個動詞,編程==寫代碼
2、寫代碼為了什么?
為了讓計算機(jī)幫你搞事情,比如:馬化騰想跟別人聊天,于是寫了個連天軟件,這個軟件就是一堆代碼的集合,這些代碼是什么?就是計算機(jī)能理解的語言。
3、編程語言進(jìn)化
機(jī)器語言
由于計算機(jī)內(nèi)部只能接受二進(jìn)制代碼,因此,用二進(jìn)制代碼0和1描述的指令稱為機(jī)器指令,全部機(jī)器指令的集合構(gòu)成計算機(jī)的機(jī)器語言。
機(jī)器語言屬于低級語言
編出的程序全是些0和1的指令代碼,直觀性差,還容易出錯。除了計算機(jī)生產(chǎn)廠家的專業(yè)人員外,絕大多數(shù)的程序猿已經(jīng)不再去學(xué)習(xí)機(jī)器語言了。
機(jī)器語言是微處理器理解和使用的,盡管機(jī)器語言好像是很復(fù)雜的,然而它是有規(guī)律的。
存在著多至100000種機(jī)器語言的指令。這意味著不能把這些種類全部列出來。
匯編語言?
匯編語言的實(shí)質(zhì)和機(jī)器語言是相同的,都是直接對硬件操作,只不過指令采用了英文縮寫的標(biāo)識符,更容易識別和記憶。
但匯編語言的優(yōu)點(diǎn)也是顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能夠?qū)崿F(xiàn)的,而且源程序經(jīng)會變生成的可執(zhí)行文件不僅比較小,而且執(zhí)行速度很快。
高級語言
? 高級語言是大多數(shù)編程者的選擇。和匯編語言相比,它不但將許多相關(guān)的機(jī)器指令合并成為單條指令,并且去掉了于具體操作有關(guān)但與完成工作無關(guān)的細(xì)節(jié),例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。同時,由于省略了很多細(xì)節(jié),編程者也就不需要有太多的專業(yè)知識。
高級語言主要是相對于匯編語言而言,它并不是特指某一種具體的語言,而是包括了很多編程語言,像最簡單的編程語言PASCAL語言也屬于高級語言。
高級語言所編制的程序不能直接被計算機(jī)識別,必須經(jīng)過轉(zhuǎn)換才能被執(zhí)行,按照轉(zhuǎn)換方式可以將它們分為兩類:
編譯類:
編譯是指在應(yīng)用源程序執(zhí)行之前,就將程序源代碼“翻譯”成目標(biāo)代碼(機(jī)器語言),因此其目標(biāo)程序可以脫離其語言環(huán)境獨(dú)立執(zhí)行(編譯后生成的可執(zhí)行文件,是CPU可以理解的二進(jìn)制的機(jī)器碼組成的),使用比較方便、效率較高。但應(yīng)用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標(biāo)文件(*.obj,也就是OBJ文件)才能執(zhí)行,只有目標(biāo)文件而沒有源代碼,修改很不方便。
總結(jié):
機(jī)器語言
優(yōu)點(diǎn)是最底層,速度最快,缺點(diǎn)是最復(fù)雜,開發(fā)效率最低
匯編語言
優(yōu)點(diǎn)是比較底層,速度最快,缺點(diǎn)是復(fù)雜,開發(fā)效率最低
高級語言
編譯型語言執(zhí)行速度快,不依賴語言環(huán)境運(yùn)行,跨平臺差
解釋型跨平臺好,一份代碼,到處使用,缺點(diǎn)是執(zhí)行速度慢,依賴解釋器運(yùn)行
?
?
二、Python有哪些種類?
我們現(xiàn)在知道了Python是一門解釋型語言,代碼想運(yùn)行,必須通過解釋器執(zhí)行,Python的解釋器本身也可以看作是個程序(翻譯官司是哪國人不重要),這個程序是什么語言開發(fā)的呢? 答案是好幾種語言? what? 因?yàn)镻ython有好幾種解釋器,分別基于不同語言開發(fā),每個解釋器特點(diǎn)不同,但都能正常運(yùn)行我們的Python代碼,下面分別來看下:
CPython
當(dāng)我們從Python官方網(wǎng)站下載并安裝好Python 2.7后,我們就直接獲得了一個官方版本的解釋器:CPython。這個解釋器是用C語言開發(fā)的,所以叫CPython。在命令行下運(yùn)行python就是啟動CPython解釋器。
CPython是使用最廣且被的Python解釋器。教程的所有代碼也都在CPython下執(zhí)行。
IPython
IPython是基于CPython之上的一個交互式解釋器,也就是說,IPython只是在交互方式上有所增強(qiáng),但是執(zhí)行Python代碼的功能和CPython是完全一樣的。好比很多國產(chǎn)瀏覽器雖然外觀不同,但內(nèi)核其實(shí)都是調(diào)用了IE。
CPython用>>>作為提示符,而IPython用In [序號]:作為提示符。
PyPy
PyPy是另一個Python解釋器,它的目標(biāo)是執(zhí)行速度。PyPy采用JIT技術(shù),對Python代碼進(jìn)行動態(tài)編譯(注意不是解釋),所以可以顯著提高Python代碼的執(zhí)行速度。
絕大部分Python代碼都可以在PyPy下運(yùn)行,但是PyPy和CPython有一些是不同的,這就導(dǎo)致相同的Python代碼在兩種解釋器下執(zhí)行可能會有不同的結(jié)果。如果你的代碼要放到PyPy下執(zhí)行,就需要了解PyPy和CPython的不同點(diǎn)。
Jython
Jython是運(yùn)行在Java平臺上的Python解釋器,可以直接把Python代碼編譯成Java字節(jié)碼執(zhí)行。
IronPython
IronPython和Jython類似,只不過IronPython是運(yùn)行在微軟.Net平臺上的Python解釋器,可以直接把Python代碼編譯成.Net的字節(jié)碼。
?
?
三、第一個Python程序
Python代碼的2種執(zhí)行方式
文件執(zhí)行
交互器執(zhí)行
python交互器是主要用來對代碼進(jìn)行調(diào)試用的?
?
精通各種語言的Hello World
C++
#include <iostream>int main(void){std::cout<<"Hello world";}C
#include <stdio.h> int main(void) { printf("\nhello world!"); return 0; }JAVA
public class HelloWorld{// 程序的入口public static void main(String args[]){// 向控制臺輸出信息System.out.println("Hello World!");} }PHP
<?php echo "hello world!"; ?>Ruby
puts "Hello world."GO
package mainimport "fmt"func main(){fmt.Printf("Hello World!\n God Bless You!");}?
轉(zhuǎn)載于:https://www.cnblogs.com/dream-of-wind/p/10753469.html
總結(jié)
以上是生活随笔為你收集整理的第1章python基础语法1的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2019 湖南多校第五场题解
- 下一篇: 华为matex2有折痕吗 屏幕介绍并非全