2 3 Python資料型別

2021-10-07 10:28:28 字數 3487 閱讀 1172

數值分成三種: 整數、浮點數、複數

(1)整數:在python中整數都是int型別,無大小限制,可任意大小

如果數字長度過大可以使用下劃線作為分隔符

如:a = 123_456_345 (a的值為123456345)

十進位制的數字不能以0開頭

其他進製的整數,只要是數字列印時一定是以十進位制的形式顯示

二進位制0b開頭 bin(2) ---> 將數字2轉化為二進位制數

八進位制0o開頭 oct(2) ---> 將數字2轉化為八進位制數

十六進製制0x開頭 hex(2) ---> 將數字2轉化為十六進製制數

(2)浮點數(小數):在python中所有小數都是float型別

對浮點數進行運算時,可能會得到乙個不精確的結果,如:

0.1 + 0.2 = 0.3000000000000000004

(3)複數

不解釋

使用引號引起來,可以是單引號,也可以是雙引號,但相同的引號之間不能巢狀,如:

s = "我說: "我是最棒的!"" ----錯誤

s = '我說: "我是最棒的!"' ----正確

s = '飛流直下三千尺,

疑是銀河落九天' -----錯誤

s = '飛流直下三千尺,\

疑是銀河落九天' -----正確

三重引號可以用來表示乙個長字串,三重引號可以換行,並且會保留字串中的格式

''' 或 """,如"""sdfasdfasdfasdfasdfgsdgafdha"""

轉義字元:

可以使用\作為轉義字元,通過\可以在字串中使用一些特殊的內容,例如:

\' 表示 '

\" 表示 "

\t 表示 製表符

\n 表示 換行符

\\ 表示反斜槓\

\u***x 表示unicode編碼

(1)(拼串)字串之間可以進行加法運算,如:

a = 'fgh'

b = 'bnm'

c = a + b

則c是'fghbnm'

但是字串不能和其他的資料型別相拼接,可以這麼做:

a = 123

print('a=' + a),可是此方法不常用

(2)(多個引數)也可以使用print來格式化輸出:

a = 123

b = 'sad'

print('a =', a, b)

(3)(佔位符)在建立字串時,可以在字串中指定佔位符%s,此佔位符可辨識任意字元,如:

b = 'hello %s' % 'world' # 表示用world去填充佔位符%s的位置

輸出: hello world

當有多個佔位符時,可以這麼處理:

b = 'hello %s, 我是%s' %('小紅', '小麥')

若佔位符前面加了數字,如%3s,則表示代替的字串至少有三個(不夠則補位)

如%3.5s,則表示字串長度在3-5之間

原則上%也可用於數字的佔位符,但是在有效數字要求上不好處理,因此還有另外乙個佔位符

%f 浮點數佔位符,%.4f 表示保留到小數點後四位

%d 整數佔位符 直接把小數捨去

新的方法:

(4)格式化字串

在字串前新增乙個f來建立乙個格式化字串,在其中可以直接嵌入變數,例子:

a = 'mai'

b = 'sasa'

c = f' loves '

則c的值是 'mai loves sasa'

也可以直接列印: print(f' loves ')

如: a = 'abc'

c = a * 20 (字串跟數字位置可以顛倒)

直譯器會將字串重複指定的次數並返回

(1)布林值(boolean,簡稱bool)

布林值主要用來做 邏輯判斷

布林值共有兩個: true false

布林值實際上也屬於整型,true相當於1,false相當於0

- 用作布林表示式時,下面的值都被直譯器視為假:

false none 0 '' () {}

(2)none(空值)

專門用來表示不存在

先回顧一下python的資料型別:

數值整型

布林值浮點型

復數字串

空值type() 用來檢查值的型別,該函式會將檢查的結果作為返回值返回,例如:

c = type(a)

- python是一門物件導向的語言

- 一切皆物件!

- 程式執行當中,所有的資料都是儲存到記憶體當中然後再執行的!

- 物件就是記憶體中專門用來儲存指定資料的一塊區域

- 物件實際上就是乙個容器,專門用來儲存資料

- 數值、字串、布林值、none等都是物件

- 每個物件中都要儲存三種資料

(1)id(標識) -用來標識物件的唯一性,每個物件對應乙個唯一的id,物件一旦建立,則永遠不會改變

可通過id()檢視,在cpython中,id就是物件的記憶體位址

(2)type(型別) -python是一門強型別語言,因此物件一旦建立型別便不能改變

可通過type()檢視型別

(3)value(值)

-物件分成兩大類,可變物件和不可變物件

可變物件的值可以改變

不可變物件的值不可以改變(目前學的都是不可變物件)

實際上,物件並沒有直接儲存到變數中,在python中變數更像是物件的乙個別名,

變數中儲存的不是物件的值,而是物件的id(記憶體位址),當我們使用變數時,實際上就是在通過物件id尋找物件

- 將乙個型別的物件轉換為另乙個型別的物件

- 型別轉換不是改變原有物件本身的型別,而是將物件的值轉換為新的物件(即根據當前物件的值建立乙個新的物件)

型別轉換函式:

(1) int()

-可以用來將其他物件轉換為整型,將浮點數用int()轉換後,小數直接被捨去

-合法的整數字串,則可以直接轉化為對應的數字,否則報錯

-布林值 true-->1 false-->0

-不能轉化none型別

(2) float()

-和int()規則基本一致

-布林值 true-->1.0 false-->0.0

(3) str()

-轉為字串

-布林值 true-->'true' false-->'false'

(4) bool()

-在python中任何物件都能轉化為布林值

-規則:所有表示空性的物件都會轉化為false,其餘的轉化為true,

如 0、none、''、""等等

ARTS打卡23 Python自帶迷你資料庫

algorithm做演算法題,review點評英文文章,tip總結技術技巧,share做技術分享。每週打卡一次,這就是arts打卡。leetcode 劍指 offer 59 ii.佇列的最大值 題目描述 請定義乙個佇列並實現函式max value得到佇列裡的最大值,要求函式max value pus...

(23)python集合的使用

集合是無序可變,元素不能重複。實際上,集合底層是字典實現,集合的所有元素都是字典中的 鍵物件 因此是不能重複的且唯一的。1.使用 建立集合物件,並使用 add 方法新增元素 a a a.add 9 a 2.使用 set 將列表 元組等可迭代物件轉成集合。如果原來資料存在重複資料,則只保留乙個。a a...

23 Python常用模組(一)

1.簡單了解模組 寫的每乙個py檔案都是乙個模組.還有一些我們一直在使用的模組 buildins 內建模組.print,input random 主要是和隨機相關的內容 random 隨機小數 uninform a,b 隨機小數 randint a,b 隨機整數 choice 隨機選擇乙個 samp...