1 認識Python的資料型別
上一篇文章我說了大部分語言都會從變數、資料型別,順序,選擇,迴圈,自定義型別,繼承,多型這個思路講起。那我們今天來看一看Python的資料型別,不過在解釋的時候我可能會穿插一些其他語言(諸如C++, Java)來從語言層面粗略的描述一下語言的通用的特性,和各個語言的個性。
1.1 變數
變數之前也說過了,就是一個可變的量,所以叫變數。
# Python
a = 3
a = 4
a = 5
複製程式碼
我們昨天說了程式是從上向下執行,這段程式碼最後a的值是幾,是5。 第一步:讓a的值為3 第二步:讓a的值為4 第三步:讓a的值為5
所以最後a的值是5; 從上面我們可以看出,a的值是一直在變化的,所以我們稱a為變數。變數是個很簡單的概念,所以還沒有理解的同學不要在此過於糾結,往後看,看著看著你說不定就明白了。
1.2 變數的型別
從上個例子我們可以看出一個變數是有型別的,比如a = 3,我們可以知道,這個變數是一個整型型別(int),簡單的說就是這個變數裡放著整數。變數的型別,可能用C++會說的更明白一些。
【程式碼中的註釋】 插個題外話,講解一下程式碼的註釋,程式碼的註釋就是程式碼中不執行的程式碼,因為有時候程式設計師寫的程式碼比較複雜,需要一些註釋描述一下這些程式碼是什麼意思,這部分就是註釋,在C++中,用//, /* */ 來註釋,在Python中用#來註釋;
【編譯器】 編譯器是把高階語言解釋成計算機能理解的機器程式碼(0和1的序列),不過對於Python這類指令碼語言用的是直譯器,大家可以先粗淺的理解其功能和編譯器差不多。
// C++
int a; // 這是一個變數宣告,告訴編譯器這個變數的型別是“整型”;
a = "hello world"; // 這個寫法編譯器會給你報錯,因為a中只能放整形;
a = 4; // 這個寫法是ok的
a = 0.5; // 這個寫法也是ok的,因為編譯器會隱式地把0.5轉成0賦值給a; “隱式地”就是“悄悄地”的意思
Student stu; // 有個學生型別,宣告瞭一個變數叫stu
Monkey m; // 有個Monkey宣告瞭一個變數就m
複製程式碼
大家可以看到這個寫法都是:“型別 變數”的寫法(即int a; Student stu;)所以我們也會換種說法稱之為:“類與例項” 或 “類與物件”
// C++
int a; // int 是類,a是int 類例項化出來的一個物件
Student tom; // Student 是類,tom是Student例項化出來的一個物件
Student lucy; // lucy是Student例項化出的另一個物件
Monkey wukong; // Monkey 是類,悟空是Monkey例項化出來的物件
複製程式碼
從上面的程式碼可以看出,非常接近人類的自然表述。但是對於Python不需要型別宣告,我們說Python的直譯器會自動推到,你不需要先告訴直譯器說:a是個int,而是直接a = 3後,直譯器自己知道a就是一個整型int;
1.3 資料型別
資料型別和變數型別所得是一個意思,就是往變數裡賦值的型別都有哪些
資料型別 | 說明 | 值 |
---|---|---|
int | 整型 | 3 |
float | 浮點數 | 3.2 |
bool | 布林值 | False / True |
string | 字串 | 您好 |
None | 空型別 | None |