認識現實世界與虛擬世界的橋樑
感受python帶來的魔力
數據類型
Python裏,最常用的數據類型有三種——字符串(str)、整數(int)和浮點數(float)
字符串,字符串英文string,簡寫str
字符串的識別方式非常簡單——有層名爲【引號】的皮,只要是被【單/雙/三引號】這層皮括起來的內容,不論那個內容是中文、英文、數字甚至火星文。只要是被括起來的,就表示是字符串類型。
一定要記得:字符串類型必須有【引號】的輔助。不然字符串就只能被報錯,無盡地呻吟~
整數
整數,整數英文爲integer,簡寫做int。Python世界的整數其實和現實世界數學中定義的一樣:是正整數、負整數和零的統稱,是沒有小數點的數字。
整數其實是一個不帶小數點的數字,可以不穿名爲引號的馬甲,直接跟print()函數組團搞輸出
浮點數
數學意義上的小數在python中怎麼表示呢?它就是我們常見三種數據類型中的最後一種:【浮點數】
浮點數的英文名是float,與整數(int)和字符串(str)不同,浮點數沒有簡寫。
浮點數可能讓你有點眩暈,這是因爲,與【整數運算結果永遠精確】的特點不同,計算機裏浮點數的運算是不精確的,會有四捨五入的誤差。這什麼意思呢?
數學計算題目:
0.55+0.3 = 0.85
python中計算:
print(0.55+0.3)
0.8500000000000001
不是【0.85】,而尾巴多了一個【...1】!
在Python計算浮點數時會先把0.55和0.3轉化成二進制數【注:二進制數由0和1表示,逢二進一】,如下:
# 進制轉換 0.55(十進制) = 0.1000110011001100110011001100110011001100110011001101(二進制) 0.3(十進制) = 0.0100110011001100110011001100110011001100110011001101(二進制)
而在這個轉化過程中存在誤差,這樣,就造成了我們與程序計算結果的差異。
這倆二進制數通過二進制法則運算後,再通過複雜的計算公式,將二進制結果轉成十進制小數。
數據的應用
四則運算
運算優先級:Python世界的運算優先級,和我們平時的計算優先級是一樣的。
字符串的拼接
字符串拼接的方法可簡單了,就是利用字符串拼接符號【+】,將需要拼接的變量連在一起就行了。
數據類型的查詢——type()函數
那麼,這個type()函數要怎麼使用呢?答案就是:只需把查詢的內容放在括號裏就行。
數據轉換
負責轉換數據類型的函數一共有3種:str()、 int()和float()。
str()函數
str()函數能將數據轉換成其字符串類型,不管這個數據是int類型還是float類型,只要放到括號裏。這個數據就能搖身一變,成爲字符串類型
int()函數
將數據轉換爲整數類型的方法也很簡單,就是int()函數。其使用方法同str()一樣,將你需要轉換的內容放在括號裏就行,像這樣:int(轉換的內容)。
對於int()函數的使用,大家要注意一點:只有符合整數規範的字符串類數據,才能被int()強制轉換。
小數形式的字符串,由於Python的語法規則,也不能使用int()函數強制轉換。
print(int('3.8')) # 運行後顯示結果:ValueError:invalid literal for int() with base 10: '3.8'
雖然浮點形式的字符串,不能使用int()函數。但浮點數是可以被int()函數強制轉換的。
print(int(3.8))
3
int()函數的本質是將數據轉換爲整數。所以對於浮點數,int()函數會做取整處理。但是,同我們平時對小數四捨五入的處理方法不同,int()函數會直接抹零,直接輸出整數部分。
float()函數
首先float()函數的使用,也是將需要轉換的數據放在括號裏,像這樣:float(數據)。
float()函數也可以將整數和字符串轉換爲浮點類型。但同時,如果括號裏面的數據是字符串類型,那這個數據一定得是數字形式。
height = 188.0 weight = 180.0 age = '89' print(height) print(weight) print(float(age) 188.0 180.0 89.0
height與weight變量已經是浮點類型,age是字符串類型(可以用type(變量)來查看數據類型),因此打印前對將age進行float(age)
轉化即可。
小結: