本文利用的是Python 3.x版本,建議學習3.x版本
py
能夠處理任意大小的整數,例如123
,123456789132456
,任意大小,而像C
,Java
等這種語言對整數大小是有要求的,換句話說就是大小是肯定的,例如C
中的int
通常是4
個字節,範圍是-2147483648~+2147483647
,至於爲何py
能夠這樣,由於py
內部會根據數的大小進行調整空間,讓空間能夠存儲的下這個數據,所以沒有人會說py
的int
是4
個字節(實際上比4
大不少)。編程
print(type(3)) #會輸出數據類型int
其實就能夠理解浮點數是實數,浮點數在計算機內部是以科學記數法表示的,要記住的就是浮點數的運算是有偏差的,而整數的運算是永遠精確的!!例如,你能夠運行如下代碼,看看結果是否是和你想的同樣編程語言
print(1.5-1.4)
可能會出現下圖的結果,這就是由於浮點數不是精確的函數
用"
或'
括起來的字符,就是字符串,若是字符串內部有'
,則能夠用"
括起來還能夠用轉義符號反斜槓,如下是實例學習
print('hello') print("hello") print("I'am ") print('\'') print("'\"") # \n是換行,若是\n在字符串裏不方便閱讀,還能夠寫成以下形式 print('''line1 line2 line3''') # 等價於 print('line1\nline2\nline3') # print函數默認會輸出後換行,關於print的具體用法以後再說
布爾值是True
或 False
,要麼爲真要麼爲假,例如(10<5)
這個式子是不正確的,則這個式子的布爾值是False
。通常布爾值和布爾運算用在判斷表達式中測試
and,or,not
是三個布爾運算的操做符。True and False
的結果爲False
,就是說用and
運算的布爾值,只要有一個是False
,則結果爲False
,必須全爲True
,才能爲True
,True or False
的結果爲True
,用or
運算的布爾值只要有一個爲True
,則結果爲True
,全爲False
時結果纔是False
,not False
的結果是True
,not
用來取反。例如如下代碼spa
print(True or False) print(True and False) print(not True)
如下是布爾運算真值表,包含了上面描述的狀況。code
空值是py
裏一個特殊的值,用None
表示。None
不能理解爲0
,由於0
是有意義的,而None
是一個特殊的空值。對象
以上是py
的基本數據類型,此外py
還提供了列表、字典等多種數據類型,還容許建立自定義數據類型,之後會涉及到。blog
有了數據之後,咱們還得對數據進行運算以獲得咱們想要的結果。數據對象和操做符結合後,組成了表達式,一個簡單的表達式爲2 + 3
兩個操做數,一個操做符。如下是基本的數的運算操做符圖片
1 + 2 #和 1 - 2 #差 1 * 2 #積 #以上的結果都是int,若是其中有一個數爲float,則結果爲float 1 / 2 #商,結果是float 3 % 2 #模運算,也就是求餘數 5 // 2 #整除運算,結果是2 2**3 #乘法運算,結果是8
如下是測試圖片
變量基本和代數中變量是一個意思,例如咱們在方程中最經常使用的x
。只不過在計算機中變量能夠表明各類各樣的數據類型。
變量在程序中就是用一個變量名錶示了,變量名必須是大小寫英文、數字和_的組合,且不能用數字開頭。在編程語言中,等號=
再也不是數學上相等的概念了,而是賦值的意思,也能夠說是分配值,例如如下代碼
pi = 3.14159
左邊的pi
表明變量,右邊的3.14159
表明值,將值利用=
賦予給變量pi
,這就是以上代碼的含義。值儲存在計算機的內存中,能夠當作是將這個值和一個名字進行了綁定,當咱們須要使用這個值的時候,只需使用pi
便可。就像咱們每一個人都有名字同樣,一個名字對應了一我的(不考慮重名)。
爲何要給值一個名字呢,爲了咱們使用方便,例如
pi = 3.14159 r = 2.2 area = pi*(r**2) ##計算圓的面積
不用每次都使用3.14159
,並且顧名思義,變量是會發生變化的,在程序運行中途可能發生變化,咱們沒法提早預知,因此這個時候更加展示出了變量的做用。咱們看如下代碼
x = 5 x = x + 1 print(x) #結果爲6
若是按照數學上的理解x=x+1
是不成立,可是在計算機中=
是賦值號,因此這個式子的意思是將x+1
的值賦予給x
,x+1
的值是6
,因此最後將6
賦予給x
,因此x
最終的結果爲6
咱們能夠從新綁定變量和值,使用一個賦值式子便可,例如
x = 6 print(x) x = 5 print(x) #輸出爲6和5
如今x
和5
綁定在了一塊兒,6
這個值依然存儲在計算機的內存中,可是可能沒有變量和其綁定,因此咱們不再能使用這值了,就算咱們新分配一個6
給x
,這個6
也不是以前的6
了。因此能夠說以前這個6
是一個廢值,py
內部會有垃圾回收機制,檢測到這個值是垃圾後,會回收這塊空間供以後分配的值使用。我畫了如下的圖便於理解。
咱們也能夠將x
綁定爲其餘數據類型,例如
x = 5 x = True
若是讀者會相似於C
或Java
(靜態語言)的語言的話,會以爲如上的寫法難以想象,會報錯,可是在py
這就可使用,由於x
僅僅是一個名字,和哪一個值綁定徹底取決於咱們,可是不建議這樣更改綁定的數據類型,最好從始至終讓變量保持一種數據類型。
例如兩我的合做寫代碼,第一我的開始將x
做爲int
使用,後來看成字符串使用,第二我的在閱讀第一我的寫的代碼時,稍有不慎就會將x
的數據類型搞錯,從而帶來沒必要要的麻煩。
以上只是快速理解和學習的入門級知識,不涉及深刻的理解,例如動態語言、對象、引用等概念,能夠本身搜索瞭解。不過建議學習時,首先有一個整體的把握,首先理解這是個什麼東西,等大體都清楚後,再深究細節,這樣的學習方法我認爲比較好。否則一上來就深究細節,對於已經入門的同窗來講倒沒什麼,要是還沒入門就深究細節,怕是要勸退。
題外話,知識原本就應該反覆的學習,溫故而知新,一層層的學習。先搞清楚這是什麼,怎麼來的,有什麼用,這樣學習起來不會迷茫。國內的教學,例如數學方面,有些很差的地方在於,上來就是公式,定理,而忘了最根本的問題,爲何會有這個公式?這個公式有什麼用?(不是作題),例如矩陣的特徵值,特徵向量,能夠用來解決生態系統中的動力方程的問題。這樣學起來恐怕就不會那麼迷茫了吧~
若是以爲不錯,能夠分享~能夠關注公衆號~