1、程式語言的發展史:計算機是基於高低電頻工作的。
1)機器語言—使用二進位制程式設計,直接控制計算機硬體,需要掌握硬體的操作細節
優點:執行效率高
缺點:開發效率低
2)組合語言—使用英文標籤取代二進位制指令去進行程式設計。
執行效率相較於機器語言略低,開發效率相較於機器語言略高,但是任然沒有改變直接操作硬體的本質。
3)高階語言—使用人的語言去進行程式設計,不需要再掌握計算機硬體的操作細節
a.編譯型(c、c++、go)—類似於谷歌翻譯,經過一次翻譯,以後可以一直拿著翻譯結果使用。
優點:執行效率高於解釋型
缺點:開發效率低於解釋型
b.解釋型(python、j**a)—相當於同聲傳譯,翻譯官相當於直譯器
優點:開發效率高於編譯型
缺點:執行效率低於編譯型
執行效率由高到低:機器語言》組合語言》編譯型語言》解釋型語言
開發效率由高到低:解釋型語言》編譯型語言》組合語言》機器語言
跨平台:解釋型》編譯型
學習難度:機器語言》組合語言》高階語言
2.python直譯器
目前python的直譯器主要分為python2.x和python3.x,我們以後使用的基本都是3.x,2023年之後2.x講不在提供服務。
python執行**的兩種方式:
1)互動型:優點是輸入一行**立馬返回結果,缺點是**無法儲存。
2)命令列執行:優點是以檔案的形式將**儲存下來,以後可以一直使用。
執行python程式是不考慮檔案字尾名的,但約定俗稱,應該將python的檔案字尾名命名為.py。
執行python程式的步驟:首先要執行python直譯器,再將python程式當中的普通文字檔案讀入記憶體(此時沒有語法概念),最後python直譯器執行剛剛讀入記憶體的**,開始識別python的語法。
python還是一種膠水語言,他能與其他如c、go等共同使用。
我們一般使用pycharm這種ide工具來編寫python**,它一方面有利於我們提公升開發效率,另一方面則比較占用記憶體,但當今時代的計算機硬體的發展完全可以忽略它的這個缺點。
程式設計師在編寫**的時候一定要加上注釋,注釋是**之母,加上注釋可以讓同事更快的看懂你所寫的**,提高工作效率。
注釋一般分單行注釋多行注釋,
單行注釋再最前面加上#,
多行注釋用三引號
3.變數
1.什麼是變數,我們應把這個詞拆開理解
量:衡量/記錄現實世界中事物的某種狀態。
變:記錄的狀態是可以發生改變的。
2.為何要變數?
是為了讓計算機能夠像人一樣去記錄現實世界中事物的狀態,並且可以發生改變。
3.如何使用變數?
原則是必須先定義,後引用。
列如:age = 18
其中age是變數名,=是賦值符號,18是值
完整的變數是由變數名、賦值符號、變數值組成的。變數名是訪問值得唯一方式,賦值符號是將值得記憶體 位址繫結給變數名,變數值是記錄的狀態。
變數的三大特性包括id—記憶體位址,type—變數型別,value—值
變數名的命名規範:
1.只能由字母、數字、下劃線組成
2.雖然可以執行,但是一定不要用中文
3.不能以數字開頭
4.需要區分大小寫
變數名的風格一般分駝峰體和下劃線體,推薦使用下劃線體。
駝峰體:userage = 18 下劃線體:user_age = 18
print(userage) print(user_age)
4.常量
python當中沒有常量的概念,python程式設計師約定俗成將字母全部大寫的變數定義為常量。
5.記憶體管理
python直譯器為了減少記憶體占用,其程式總存在有小整數池(-5~256的小整數)
列如:在cmd中執行如下兩組**
a = 256b = 256(id(a))
print(id(b))
以上兩個不同變數名相同變數值的變數所占用的記憶體位置是相同的。
a = 257b = 257(id(a))
print(id(b))
以上兩個不同變數名相同變數值的變數所占用的記憶體位置卻不相同。
pycharm中更是把整數池放大了無數倍。
6.垃圾**機制(詳見
垃圾**機制是python直譯器自帶的一種機制,專門用來**不可用的變數值所占用的記憶體空間。
1、引用計數:當記憶體中的值引用計數為0,垃圾**機制就會自動清除。
2、標記清除:當應用程式將記憶體撐滿的時候,會自動停止,清除垃圾。
3、分代**
計算機 計算機基礎整理
大學四年浪費的代價。半夜整理東西 cpu 其功能主要是解釋計算機指令以及處理計算機軟體中的資料。cpu由運算器 控制器和暫存器及實現它們之間聯絡的資料 控制及狀態的匯流排構成。差不多所有的cpu的運作原理可分為四個階段 提取 fetch 解碼 decode 執行 execute 和寫回 writeb...
計算機基礎
1 32位作業系統的記憶體分配 1 32位作業系統 windows linux 支援4g 2 32 記憶體的連續訪問 2 32位作業系統,通常把記憶體分為兩個2g的空間,每個程式執行時,就是每個程序,最大可以使用2g的私有記憶體 0x00000000 0x80000000 即理論支援如下的陣列 ch...
計算機基礎
1 完整的計算機系統 完整的計算機系統應該是由以下幾個部分組成 1.計算機硬體。2.作業系統。3.應用程式。2 計算機硬體介紹 1.控制器 計算機的控制指揮系統,通過產生操作控制訊號作用於計算機其他部件。2.運算器 實現算術運算和邏輯運算的部件。3.儲存器 用來存放各類資料檔案以及程式的部件。4.輸...