0-4 Python 基礎資料型別-數值型別
0-4 Python 基礎資料型別-數值型別
為什麼會有資料型別?[瞭解]
- 更好分配管理記憶體
- 方便統一管理
- 更貼近人類分類管理習慣
資料型別種類 [熟悉]
- 數值型別:int、bool、float、complex
- 序列型別:不可變:str、tuple、bytes 可變: list
- 集合型別:set
- 對映型別:dict
數值型別介紹 [熟悉]
- 數值型別是 不可變 型別。所謂的不可變型別,指的是型別的值一旦有不同了,那麼它就是一個全新的物件。數字1和2分別代表兩個不同的物件,對變數重新賦值一個數字型別,會新建一個數字物件。
- 還是要強調一下 Python 的變數和資料型別的關係,變數只是對某個物件的引用或者說代號、名字、呼叫等等,變數本身沒有資料型別的概念 。只有1,[1,2],"hello"這一類物件才具有資料型別的概念。
- Python 支援三種不同的數值型別:整數、浮點數和複數與布林。
整數 (int) 介紹 [熟悉]
- 整數通常被稱為整型,數值為正或者負,不帶小數點。表示數字的時候,通常使用十進位制(decimal) 來表示。
- 有時我們還會用八進位制或十六進位制來表示(瞭解)
- 十六進位制用 0x 字首和 0-9 , a-f 表示,例如: 0xff00 。 python 中使用hex() 將十進位制轉為十六進位制
- 八進位制用 0o 字首和 0-7 表示,例如 0o45 。 python 中使用 oct() 將十進位制轉為八進位制
- 二進位制用 0b 字首和 0-1 表示,例如 0b11 。 python 中使用 bin() 將十進位制轉為二進位制
整數記憶體 [瞭解]
- python 的整數長度為32位,並且通常是連續分配記憶體空間的。
- 從下面程式碼的記憶體地址看,之間正好相差32。
小整數物件池 [瞭解]
- python 初始化的時候會自動建立一個小整數物件池,方便我們呼叫,避免後期重複生成!這是一個包含262個指向整數物件的指標陣列,範圍是-5到256。也就是說比如整數10,即使我們在程式裡沒有建立它,其實在 Python 後臺已經悄悄為我們建立了。
- 作用:節省開銷,增快執行速度
整數緩衝區 [瞭解]
- 除了小整數物件池,Python 還有整數緩衝區的概念,也就是剛被刪除的整數,不會被真正立刻刪除回收,而是在後臺緩衝一段時間,等待下一次的可能呼叫。
- 注意:在互動環境當中演示不出來效果。該效果在pycharm當中實現;並且意不是小整數物件池當中的值。
浮點數 (float) 介紹 [熟悉]
- 浮點數也就是小數,如1.23,3.14,-9.01,等等。但是對於很大或很小的浮點數,一般用科學計數法表示,把10用e替代,1.23x10^9就是1.23e9,或者12.3e8,0.000012可以寫成1.2e-5,等等。
浮點數與整數之間轉換 [掌握]
複數 (complex) [瞭解]
- 複數由 實數部分 和 虛數部分 構成,可以用 a + bj, 或者 complex(a,b) 表示,複數的 實部a 和 虛部b 都是浮點。
數學計算
- 對於數學計算,除了前面提到過的簡單的加減乘除等等,更多的科學計算需要匯入 math 這個標準庫,它包含了絕大多數我們可能需要的科學計算函式。
math.ceil(x)
math.floor(x)
math.pow(x)
abs(x)
round(x)
布林與空值
布林型別介紹 [掌握]
- 比如我們拋硬幣,不是正面就是反面。那其實對於對與錯、0與1,都是傳統意義上的布林型別。
- 但在Python語言中,布林型別只有兩個值,True 與 False。
- 注意:首字母必須大寫,不能有其它的花式變型。
bool() 使用
- 我們透過 python 內建的 bool() 函式來測試一個表示式的布林值的結果
-
布
歸納:
- 數值型別:0、0.0的 bool 值都為 False,其它的都為 True
- 字串:空字串的 bool 值為 False,其它的都為 True。注意空格字串為 True
- 列表:空列表的 bool 值為False,其它的都為 True。
- None 的 bool 值永遠為 False
布林型別運算
布林型別運算如下:
- and 運算
- or 運算
- not 運算
- 算術 運算,注意:把 True 看作1,而 False 看作 0
空值 介紹 [掌握]
- 空值不是布林型別,是 Python 裡一個特殊的值,用 None 表示(首字母大寫)。
- None 不能理解為0,因為0是整數型別,而 None 是一個特殊的值。None 也不是布林型別,而是 NoneType。
** 字串 **
字串的小貼士~
字串中:print(“hello \n world”)
\n 用來表示換行 如果想列印 \n 則要新增轉義符 \ 如:print(hello \n world)
使用 三引號(文字格式) 可以保留文字樣式 如:換行、空格等
字串介紹 [掌握]
- 字串是 Python 中最常用的資料型別之一,使用單引號或雙引號來建立字串,使用三引號建立多行字串。
注意: - 字串的單引號與雙引號都是 成對 出現的,不能一邊單一邊雙。
- 字串是 不可變 的 序列資料型別,不能直接修改字串本身,和數字型別一樣!
字串的儲存 [瞭解]
思考: 以下 數值 與 字串 儲存是一樣的嗎?
答案是不一樣的
儲存方式的介紹
- CPU:速度快,儲存小
- 硬碟:速度慢,儲存大
- 記憶體:速度比CPU慢,但比硬碟快。儲存比CPU大,但比硬碟小。
- 16G
- 1G = 1024M
- 1M = 1024KB
- 1KB = 1024B
- 1B = 8bit
字串的儲存
整數 在記憶體中佔 一個位元組,字串 不管中間多少內容都要 單獨儲存。
字串的下標 [重點掌握]
- 由於字串是 序列資料結構 ,所以我們可以透過 下標 將字串中某個字母取出來。
- 下標也可稱為 索引,預設從0開始。
字串的切片 [重點掌握]
注意:
- 索引預設從0開始
- 切片時左閉右開
- 當是取單個字元的時候,索引超出範圍會報錯。而切片時不會報錯。
- 步長不能為0,也不允許為浮點數
字串型別轉換 [掌握]
字串組成方式 [掌握]
- 字串相加
- 字串格式化
%s %d %f
str.format()
- python3.6.4 引入
f''
字串常見操作 [熟悉]
S.find(sub)
--> 返回該元素最小的索引
S.index(sub)
--> 返回該元素最小的索引
S.replace(old, new[, count])
--> 替換
S.split(sep=None)
--> 以sep
來分割字串 , 並返回列表。sep
預設為None
, 分割預設為空格
S.startswith(prefix[, start[, end]])
--> 判斷字串是否以字首開始,返回為bool
值。
S.endswith(suffix[, start[, end]])
--> 判斷字串是否以尾綴結束,返回為bool
值。
S.lower()
--> 將字串全部轉為小寫
S.upper()
--> 將字串全部轉為大寫
S.strip([chars])
--> 預設去掉字串左右的空格
S.isalpha()
--> 判斷字串是否全為字母,返回的是bool
值
S.isdigit()
--> 判斷字串是否全為數字,返回的是bool
值
S.isalnum()
--> 判斷字串是否全為數字或者字母,不存在特殊字元,返回的是bool
值
S.join(iterable)
--> 將序列中的元素以指定的字元連線生成一個新的字串
課後作業
作業1
作業2
掌握浮點數與整數之間轉換
如:
int(120.55) 輸出120
float(120) 輸出 120.0
布林型別
- 比如我們拋硬幣,不是正面就是反面。那其實對於對與錯、0與1,都是傳統意義上的布林型別。
字串
- 但在Python語言中,布林型別只有兩個值,True 與 False。
- 注意:首字母必須大寫,不能有其它的花式變型。
- 字串是 Python 中最常用的資料型別之一,使用單引號或雙引號來建立字串,使用三引號建立多行字串。
注意:- 字串的單引號與雙引號都是 成對 出現的,不能一邊單一邊雙。
- 字串是 不可變 的 序列資料型別,不能直接修改字串本身,和數字型別一樣!
字串下標- 由於字串是 序列資料結構 ,所以我們可以透過 下標 將字串中某個字母取出來。
- 下標也可稱為 索引,預設從0開始。
作業3
切片逆序
var[::-1]
作業4
在字串與字串之間 + 加號用作為 連線符
轉載至:https://zhe88.blog.csdn.net/article/details/111551685
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30239065/viewspace-2744963/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 基礎1:Python 數值型別Python型別
- Python資料型別基礎Python資料型別
- Python 基礎資料型別Python資料型別
- Python基礎:資料型別-數字(5)Python資料型別
- 【MySQL資料型別1之--數值型別】MySql資料型別
- python基礎之資料型別Python資料型別
- python的基礎資料型別Python資料型別
- python基礎(二)—-資料型別Python資料型別
- 基礎資料型別資料型別
- go語言資料型別-基礎型別Go資料型別
- js基本語法之 值型別(資料型別)(變數型別)JS資料型別變數
- Python數值型別Python型別
- MySQL基礎之----資料型別篇(常用資料型別)MySql資料型別
- MYSQL 資料型別儲存-數值型MySQL 資料型別
- Python基礎02 基本資料型別Python資料型別
- Python - 基礎資料型別 list 列表Python資料型別
- Python - 基礎資料型別 set 集合Python資料型別
- Python - 基礎資料型別 dict 字典Python資料型別
- Python基礎:資料型別-字串(7)Python資料型別字串
- 圖解python | 基礎資料型別圖解Python資料型別
- Mysql資料庫學習(二):資料型別(數值型別 日期和時間型別 字串型別)MySql資料庫資料型別字串
- Go變數與基礎資料型別Go變數資料型別
- 區別值型別資料和引用型別資料型別
- PHP基礎-資料型別PHP資料型別
- java資料型別基礎Java資料型別
- XSD 數值資料型別資料型別
- python基礎 -08- 資料型別(set)Python資料型別
- Python3 基礎資料型別概述Python資料型別
- Python - 基礎資料型別 tuple 元組Python資料型別
- 第四課 Python基礎資料型別Python資料型別
- Python基礎教程02 - 基本資料型別Python資料型別
- 【Redis】Redis的資料型別速查(5種基礎型別,5特殊型別)Redis資料型別
- Python 快速教程(基礎篇02):基礎資料型別Python資料型別
- Kotlin 基礎 - 資料型別Kotlin資料型別
- [java基礎]之資料型別Java資料型別
- PHP基礎-資料型別-booleanPHP資料型別Boolean
- PHP基礎-資料型別-floatPHP資料型別
- PHP基礎-資料型別-integetPHP資料型別