【Python入門】最基本的數據類型: 數、字符串

在這裏插入圖片描述

一、什麼是數據類型?

無論是在生活中還是在程序裏,“數據”都是一個很重要的東西。我無論是用Python來進行數據分析或是做爬蟲等各方面的應用,肯定少不了跟各種的數據打交道。那麼這就首先要涉及到“數據類型”這一概念。

對於程序而言,數據類型涉及到這一個數據具體是怎麼被處理、編碼、運算的。不過這是我們初學者並不需要深究的。

對於我們而言,不同種類的數據,需要用不同的數據類型進行存儲,而不同的數據類型也就意味着它們擁有不同的函數方法

舉個生活中的例子:
實數1是個“數”,而蘋果是種“食物”,它們是不同的“數據類型”。
我們可以對數1進行加減乘除等運算,但是沒有蘋果÷橘子這種操作;我們可以吃蘋果,但是不能吃1,這便是“不同的數據類型擁有不同的函數和方法”。

有的時候,對我們來說的樣同一個數據,也可以被程序存儲爲不同的數據類型。

比如整數1和字符串'1'在我們看來或許是一樣的,它都表達了“一、一個”的意思,但是對於程序來說是截然不同的兩種東西。

這些關於數據類型的,無論是常識性的,還是反常識的特點,就是我們今後所要注意不要被坑到,並且要加以利用的特點。


二、Python最基本的數據類型

如果我給你們講關於小行星612的這些細節,並且告訴你們它的編號,這是由於這些大人和他們行爲方式的緣故。大人們喜歡數字。當你對他們說你交了一個新朋友時,他們從來不向你提出實質性的問題。他們從來不講:“他說話聲音像什麼?他最喜愛什麼樣的遊戲?他是否收集蝴蝶標本?”相反,他們會問你:“他多大年紀呀?弟兄幾個呀?體重多少磅呀?他父親掙多少錢呀?”只有從這些數字信息,他們才覺得他們瞭解了他。如果你對大人們說:“我看到一幢用玫瑰色的磚蓋成的漂亮的房子,窗臺上擺着天竺葵,屋頂上還有鴿子……”他們無法對這個房子有任何感覺。如果你這樣對他們說:“我看見了一幢價值十萬法郎的房子。”那麼他們就驚叫道:“多麼漂亮的房子啊!”

——摘自《小王子》第四章

無論是我們人類語言還是程序語言,描述事物的最簡單的方法便是用字符來進行刻畫。

所以這一期我們我們來講講最最基本的兩個數據類型:數(number)字符串(string)

數(number)

或許你已經聽說過,Python的一大特點就在於變量不需要事先聲明類型就可以直接賦值。這一特點或許節省了我們的代碼量,使代碼更易寫。

更重要的是,這一特性弱化了在Python中整形(int) 浮點型(float)等數據類型的界限

在需要提前聲明變量的語言裏,如果你聲明瞭變量a是整形的,那麼即使賦值時給它賦值一個小數,最終它存儲的仍舊是整數部分。

而在Python中,正是因爲我們不用,也無法告訴程序某一個變量必須是什麼數據類型的。所以在賦值的時候,不論是整形或是浮點型,都會被Python 照單全收

並且,不論是整形還是浮點型,在我們看來都不過是實數罷了。
即使在Python內部也是有定義整形或是浮點型的,但是它們對外的表現是一樣的(擁有同樣的函數和方法)。
我們並不需要過分地糾結,只用知道有一類數據類型它存儲着實實在在能夠運算的數學意義上的就好了

下舉一例:

a = 1 #賦值(整數)
b = 2.3 #賦值(小數)
c = a + b #加法運算
print(type(a)) #type()函數能返回一個對象/變量的數據類型
print(type(b)) 
print(type(c))
<class 'int'>
<class 'float'>
<class 'float'>

可以看到,我們給變量賦值一個實數的時候,程序會自動判斷它是整形還是浮點型,並且在程序內部是有數據類型的區分的。我們可以使用“強制類型轉換”int() float()來指定這個數是什麼類型的。如下:

a = 1 #整形
b = 2.9 #浮點型
c = float(a) #用float()將整形a強制轉換爲浮點型並賦值給c
d = int(b) #用int()將整形b強制轉換爲浮點型並賦值給d
print(c)
print(d)
1.0
2

可以看到,對一個整形強制轉換爲浮點型以後,在輸出時就會加上小數“點零”;對一個浮點型強制轉換爲整形的話,就會輸出它的整數部分(去尾)。

字符串

字符串在程序內部,不過也是一段二進制的編碼罷了,不過當字符串被顯示在了屏幕上的時候,就變成了我們人類可以看得懂的文字。所以說,字符串其實是程序與人類溝通的一座橋樑

回到開篇的《小王子》中的問題:“他多大年紀呀?弟兄幾個呀?體重多少磅呀?他父親掙多少錢呀?”

我們用Python來寫可以是:在這裏插入圖片描述
那麼程序便分別把年齡、兄弟個數、體重、父親工資分別存儲在了 a, b, c, d 四個變量裏。

可是如果我們直接打印這四個變量:在這裏插入圖片描述
別的人並不知道這四個變量到底代表的是什麼意思。所以這時候,我們的字符串便登場了:在這裏插入圖片描述
從上面這個例子便很好的解釋了爲什麼我們說“字符串其實是程序與人類溝通的一座橋樑”。

同時我們也注意到了我在print()中用了三種方式將字符串和變量進行組合然後顯示出來。這也體現了Python的靈活之處。

更多關於print()函數的用法和操作可以參考菜鳥教程的這兩篇文章:Python print() 函數Python3 print 函數用法總結


三、下一期博客的劇透

在上面那個例子中,我們用了四個獨立的、身份地位相等的變量a b c d來去分別儲存一位朋友的信息。

但如果我們需要存儲很多人員的信息,像這樣用零散的、獨立的變量來儲存數據是行不通的。

這些數據一定要以某種順序、方式、結構組織起來,這樣才能方便我們以後的讀取、運算、分析等操作。

由於這樣的需求,我們便引入了列表(list) 元組(tuple) 字典(dictionary) 集合(set) 等一系列的數據類型。

但其實說白了,這些數據類型只不過是存儲別的數據的數據類型(此處應有彈幕“禁止套娃”)
在這裏插入圖片描述
下一期博客,我們就來聊一聊這些“擅長套娃的數據類型

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章