提綱內容:php
1、編程語言的介紹html
2、python的發展史前端
3、安裝python的步驟java
4、python解釋器操做python
5、變量c++
六.垃圾回收機制程序員
7、常量web
1、編程語言的介紹
shell
1.1什麼是編程語言定義及優缺點 編程
1.機器語言:直接用計算機及能理解二進制指令和計算機打交道,直接操做計算硬件(0101010)
優勢:計算機可以直接讀懂,執行速度快
缺點:開發效率極低
特色:站在奴隸的角度來講奴隸能聽懂的語言
如下是一些示例: 指令部份的示例 0000 表明 加載(LOAD) 0001 表明 存儲(STORE) ... 暫存器部份的示例 0000 表明暫存器 A 0001 表明暫存器 B ... 存儲器部份的示例 000000000000 表明地址爲 0 的存儲器 000000000001 表明地址爲 1 的存儲器 000000010000 表明地址爲 16 的存儲器 100000000000 表明地址爲 2^11 的存儲器 集成示例 0000,0000,000000010000 表明 LOAD A, 16 0000,0001,000000000001 表明 LOAD B, 1 0001,0001,000000010000 表明 STORE B, 16 0001,0001,000000000001 表明 STORE B, 1[1]
2.彙編語言:用英文標籤來表示代替二進制編寫指令,直接操做計算機硬件
打印依據你好的對應英文標籤
ps:
優勢:開發效率高於機器語言
缺點:執行效率較低於機器語言
彙編的hello world,打印一句hello world, 須要寫十多行,也是醉了。 ; hello.asm section .data ; 數據段聲明 msg db "Hello, world!", 0xA ; 要輸出的字符串 len equ $ - msg ; 字串長度 section .text ; 代碼段聲明 global _start ; 指定入口函數 _start: ; 在屏幕上顯示一個字符串 mov edx, len ; 參數三:字符串長度 mov ecx, msg ; 參數二:要顯示的字符串 mov ebx, 1 ; 參數一:文件描述符(stdout) mov eax, 4 ; 系統調用號(sys_write) int 0x80 ; 調用內核功能 ; 退出程序 mov ebx, 0 ; 參數一:退出代碼 mov eax, 1 ; 系統調用號(sys_exit) int 0x80 ; 調用內核功能
3.高級語言:(站在奴隸主的角度,說奴隸主的話)用人類能理解的字符取/表達方式編寫程序,
屏蔽了硬件操做
php,c,c++,java,c#,go,pyhton,go
1.編譯型:(相似與谷歌翻譯,copy直接翻譯完)C編程
一次性翻譯、編譯的過程須要用到編譯器
2.解釋型:(相似於同聲傳譯)python
一行一行翻譯
總結:執行效率:機器語言>彙編語言>高級語言>(編譯型>解釋性) 開發效率:機器語言<彙編語言<高級語言<(編譯型<解釋性) 跨平臺性比較:機器語言<彙編語言<高級語言<(編譯型<解釋性)
2、python的發展史
1.python的創始人爲吉多·範羅蘇姆(Guido van Rossum)。1989年的聖誕節期間,Guido開始寫可以解釋Python語言語法的解釋器。Python這個名字,來自Guido所摯愛的電視劇Monty Python’s Flying Circus。他但願這個新的叫作Python的語言,能符合他的理想:創造一種C和shell之間,功能全面,易學易用,可拓展的語言。
2.Python語言的編譯器的發展歷史
# 1989年,Guido開始寫Python語言的編譯器。
# 1991年,第一個Python編譯器誕生。它是用C語言實現的,並可以調用C語言的庫文件。從一出生,Python已經具備了:類,函數,異常處理,包含表和詞典在內的核心數據類型,以及模塊爲基礎的拓展系統。
# Granddaddy of Python web frameworks, Zope 1 was released in 1999
# Python 1.0 - January 1994 增長了 lambda, map, filter and reduce.
# Python 2.0 - October 16, 2000,加入了內存回收機制,構成了如今Python語言框架的基礎
# Python 2.4 - November 30, 2004, 同年目前最流行的WEB框架Django 誕生
# Python 2.5 - September 19, 2006
# Python 2.6 - October 1, 2008
# Python 2.7 - July 3, 2010
# In November 2014, it was announced that Python 2.7 would be supported until 2020, and reaffirmed that there would be no 2.8 release as users were expected to move to Python 3.4+ as soon as possible
# Python 3.0 - December 3, 2008 (這裏要解釋清楚 爲何08年就出3.0,2010年反而又推出了2.7?是由於3.0不向下兼容2.0,致使你們都拒絕升級3.0,無奈官方只能推出2.7過渡版本)
# Python 3.1 - June 27, 2009
# Python 3.2 - February 20, 2011
# Python 3.3 - September 29, 2012
# Python 3.4 - March 16, 2014
# Python 3.5 - September 13, 2015
# Python 3.6 - 2016-12-23 發佈python3.6.0版
3、安裝python的步驟
3.1驗證python解釋器的安裝
Python目前已支持全部主流操做系統,在Linux,Unix,Mac系統上自帶Python環境,在Windows系統上須要安裝一下,超簡單
打開官網 https://www.python.org/downloads/windows/ 下載中心
#測試安裝是否成功
windows --> 運行 --> 輸入cmd ,而後回車,彈出cmd程序,輸入python,若是能進入交互環境 ,表明安裝成功。
多版本共存演示
注意:在安裝目錄下找到python.exe,拷貝一份,
命名爲python2.exe或python3.exe,必定要保留原版,由於pip工具會調用它。
爲何用多版本共存:python2.x版本目前最新版本2.7已中止更新,有些企業仍是沿用
2.0版本 對於一些來講換成3.0項目須要進行改動估計他們就不樂意了。這就是2.0沿用的緣由
3.2設置環境變量
win10爲例:D:\python3.6\
PATH選擇下面的系統變量:
新建路徑複製python.exe
4、python解釋器操做
4.1 一個python程序兩種運行程序的方式
1.命令行:
優缺:輸入內容就馬上有返回結果
缺點:沒法永久保存數據
2.交互行:
優勢:能夠永久的保存數據
缺點:暫無
ps:1#.txt文件後綴名 僅僅只是給人看的(這樣能夠進行區分是屬於什麼分類,也方便用戶進行管理) 2#你所認爲的不一樣的文件後綴有不一樣的功能其實都是咱們程序員本身寫的 py文件默認後綴名叫.py結尾
4.2 運行一個python文件須要走的步驟(*****)
1.將python解釋器代碼從硬盤讀入到內存(就是等於雙節一個word應用圖標) 2.將寫好的py文件從硬盤獨到內存(等於雙擊了一個word文檔) 3.解釋器解釋讀取py文件中的內容,解釋成計算機可以識別的語言 ps: python解釋器和普通的文本編輯器前面兩部是同樣的,不一樣的是第三部(一個是解釋語法,一個是文本展現)
IED開發編輯器
pycharm僅僅是一個方便咱們開發python運行的工具而已(sublime也是一個解釋器)
5、變量(*****)
先定義後調用:
5.1什麼是變量:
1.什麼是變量? 量:衡量/記錄事物的狀態/特徵 變:狀態/特徵是能夠發生變化的 2.爲何要有變量? 幫助咱們能記錄保存事務的某種狀態
5.2 爲何用變量:
2.爲何要有變量?
幫助咱們能記錄保存事務的某種狀態
5.3如何使用變量:
3.如何使用變量: 1.變量名:至關於門牌號,變量名是訪問值的惟一方式 2.賦值符號(=):創建變量名與變量值的綁定關係 3.變量的值:經過變量名訪問 eg: name ='jason' 發生那些事: 申請一塊內存獨立的內存空間,將值進行保存
5.4 變量名的命名規範:
1.變量名的命名規範: 1.只能是數字、字母、下劃線。 2.不能以數字開頭 3.不能以關鍵字(特定的功能,不能做爲普通變量名失去特定
['False','None', 'True','and','as', 'assert','break',
'class','continue', 'def','del','elif', 'else','except',
'finally', 'for', 'from','global','if','import','in','is',
'lambda', 'nonlocal','not','or','pass','raise', 'return',
'try','while','wit
5.5 一般變量名的命名有兩個流派:
2.1注意:大前提》》》變量名必定要起的有意義(見名知道其意) 2.2 駝峯體(前端語言js的推薦命名方式) userName='jason' 下劃線(python推薦的命名方式) user_name = 'jason'
5.6 變量的三要素
3.變量名的三要素: id():返回的是一串數字,內存地址 type():返回的是該變量對應的是數據類型 value():該變量指向的內存當中數據的值
4.補充: 註釋是代碼字母 ctr+? 單行註釋 「」「 多行註釋」「」 5.小整數池(-5-256)值同 則id同 257以上 值同id不一樣,等於開闢一塊新的內存空間
>>> x=-5 >>> y=-5 >>> id(id) 1629055450064 >>> id(x) 1941531936 >>> id(y) 1941531936 >>> z=-6 >>> r=-6 >>> id(z) 1629058156176 >>> id(r) 1629058156112 >>>
六.垃圾回收機制
1.引用計數:內存中的數據若是沒有任何的變量名與其有綁定關係,那麼會被自動回收
2.標記清除:當內存快要被某個應用程序佔滿的時候,會自動觸發
3.分代回收:根據值得存活時間的不一樣,劃爲不一樣的等級,等級越高垃圾回收機制掃描的頻率越低
七.常量(不可變的量): python使用比較靈活不會限制死,因此壓根有沒常量 程序員將變量名默認大寫的變量爲常量(約定俗成) cost pai=3.1415926 爲不可變的量