您好,登錄后才能下訂單哦!
1989年,一個無聊的圣誕夜晚,荷蘭人Guido寫了Python,以他喜歡的喜劇名《Monty Python's flying Circus》命名
Python版本
2.X發展到了2.7
3.Xs始于2008年,3.5發布于2015年9月,3.6發布于2016年12月,3.7發布于2018年6年6月
2.x和3.x區別
語句函數化,例如print(1,2)打印出1 2,但是2.x中意思是print語句打印元組,3.x中意思是函數的2個參數
整除,例如1/2和1//2,3.x版本中/為自然除
3.x中raw_input重命名為input,不再使用
raw_input
round函數,在3.x中i.5的取整變為距離最近的偶數
字符串統一使用Unicode
異常的捕獲、拋出的語法改變
程序:一組能夠讓計算機識別和執行的程序
電子計算機:能夠執行程序的機器
計算機發展的兩大人物:
艾倫.麥席森.圖靈:被稱為計算機之父
馮.諾依曼:提出了一二進制為數字計算機的數制基礎,計算機按照程序順序執行,計算機應該有五大部件
馮諾依曼體系架構
計算機應該由五大部件組成:
CPU:由運算器和控制器組成
運算器:完成各種算數運算,邏輯運算,數據傳輸等數據加工處理
控制器:控制程序的執行
CPU中還有寄存器和多級緩存
存儲器:用于記憶程序和數據,例如內存
輸入設備:將數據貨這程序輸入到計算機中,例如鼠標鍵盤
輸出設備:將數據貨程序的處理結果展示給用戶,例如顯示器,打印機
計算機語言:人與計算機交互的語言
低級語言:面向機器的語言,包括機器語言、匯編語言
高級語言:接近自然語言和書數學語言的計算機語言。 高級語言首先要書寫源程序,通過編譯程序把源程序準換成機器指令的程序
C,C++等語言的源代碼需要本地編譯
Java、Python、C#的源代碼需要被解釋器編譯成中間代碼(Bytecode),在虛擬機上運行
編譯語言:把源代碼編譯后轉換成目標機器的CPU指令
解釋語言:解釋后轉換成字節碼,運行在虛擬機上,解釋器執行中間代碼(JVM,PVM)
高級語言的發展
非結構化語言
編號或標簽,GOTO,子程序可以由多個入口和出口
有分支,循環
結構化語言
任何基本結構只允許是唯一入口和唯一出口
順序、分支、循環,廢棄GOTO
面向對象語言
更加接近人類認,萬事萬物抽象成對象,對象間關系抽象成類和繼承
封裝,繼承,多態
函數式語言
數據是一切程序的核心
數據結構是數據在計算機中的類型和組織方式
算法是處理數據的方式,算法有優劣之分
python解釋器
官方CPython:C語言開發,最廣泛的Python解釋器
IPython:叫哥交互式,功能增強的Cpython
PYPY:Python語言寫的Python解釋器,JIT技術,動態編譯python代碼
Jython:Python的源代碼編譯成Java的字節碼,跑在JVM上
IronPython: 與Jython類似,運行在.Net平臺上的解釋器,Python代碼被編譯成.Net的字節碼
python基礎語法(部分)
轉義序列
\\ \t \r \n \' \"
前綴r,把里面的所有字符當普通字符對待
續行:
在行尾使用\
如果使用各種括號,括號內是一個整體,內部不用\
標識符:
只能是字母,下劃線和數字
不能以數字開頭
不能是python關鍵字,exp:def,class不能作為標識符
python對大小寫敏感
約定:
不允許使用中文
不允許使用歧義單詞,exp:class_
在python中不要隨便使用下劃線開頭的標識符
常量:
一旦賦值就不嫩改變值的標識符
python中無法定義常量 字面常量:
一個單獨的量,如 12,"abc" 變量:
賦值后可以改變值的標識符
Python的語言類型
python是動態,強語言類型
靜態編譯語言
事先聲明變量類型,類型不能再在改變
編譯時檢查
動態編譯語言
不用事先生命類型,隨時可以賦值為其它類型
編程時不知道是什么類型,很難推斷
強類型語言
不同類型之間操作,必須先強制類型裝換為同一類型.exp:print('a'+1)會報錯,只能是print('a'+'1')
弱類型語言
不同類型之間可以操作,自動隱式轉換exp:JavaScript中console.lg(1+'a')
原碼,反碼,補碼,負數表示法
原碼: 5 => 0b101,1 => 0b1,-1 => -0b1,bin(-1)
反碼:正數的反碼與原碼相同,負數的反碼符號位不變,其余按位取反
補碼:正數的補碼與原碼相同,負數的補碼符號位不變其余按位取反后 +1(負數補碼的補碼就是原碼)
負數表示法
負數在計算機中使用補碼存儲,-1 的補碼為1111 1111
5-1 => 5+(-1)直覺上是0b101-0b1,其實計算機中是0b101+0b111111111.~12 = -13
表達式Expression:由數字,符號,括號,變量等的組合
算數表達式
邏輯表達式
賦值表達式:python中,賦值即定義,如果一個變量已經定義,賦值相當于重新定義
內存管理
垃圾回收機制 GC
python編程中一般無需關心變量的存亡,一般也不用關心內存的管理
Python使用對象引用計數記錄所有對象的引用數
當對象引用數變為0,它就可以被垃圾回收 GC
有關性能的時候,就需要考慮變量的引用問題,但是該釋放內存,還是盡量不釋放內存,看需求.exp:內在正在整理釋放,這時無法使用這塊區間的數據
False等價布爾值,相當于bool(value)
1.空集合
- 空字符串""
- 空元祖 ()
- 空列表 []
- 空字典 {}
2.None對象
3.0
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。