『無為則無心』Python基礎 — 8、Python中的數據類型(數值、布爾、字符串)
- 2021 年 6 月 26 日
- 筆記
- 測試基礎必會技能 - Python基礎
1、數據類型介紹
(1)什麼是數據類型
在生活中,我們日常使用的數據有大有小,有整數也有小數,同時也會使用字母或者漢字表示特定含義。而在每種編程語言里都會有一個叫數據類型的名詞,數據類型就是對常用的各種數據格式進行了明確的劃分,以應對不同的業務需求,並在使用時按經驗將不同的變量定義不同的類型的數據。
(2)Python3中有七個標準的數據類型
- 數值型(
Number
) - 布爾型(
Bool
) - 字符串(
String
) - 集合(
Set
) - 列表(
List
) - 元組(
Tuple
) - 字典(
Dict
)
如下圖所示:
(3)Python3中標準數據類型又可分為兩大類
- 不可變數據類型(4個):當該數據類型對應變量的值發生了改變,那麼它對應的內存地址也會發生改變,對於這種數據類型,就稱不可變數據類型。
Number
(數值)Bool
(布爾值)String
(字符串)Tuple
(元組)
- 可變數據(3 個):當該數據類型對應變量的值發生了改變,那麼它對應的內存地址不發生改變,對於這種數據類型,就稱可變數據類型。
List
(列表)Dictionary
(字典)Set
(集合)
總結:不可變數據類型更改後,地址發生改變;可變數據類型的更改,地址不發生改變。
提示:本篇文章我們主要介紹不可變數據類型中的數值、布爾值、字符串。其他的數據類型,之後逐個單獨說明。
2、數值型(Number)
數字型(Number)是不可改變的數據類型,如果改變了數值型變量的值,將重新分配內存空間,讓變量重新引用一個新的對象。(這點和 Java 的字符串差不多)
(1)Python 支持三種不同的數值類型
- 整型(
int
):通常被稱為是整型或整數,正負數都可以。
Python3 整型是沒有大小限制的,可以當作 Long 類型使用,所以 Python3 沒有 Python2 的 Long 類型。
如果數字的長度過大,可以使用下劃線作為分隔符。
10進制的數字不能以0開頭。 - 浮點型(
float
):浮點型由整數部分與小數部分組成(就是小數)。
浮點類型不精確存儲。
浮點型可以支持科學計數法表示。 - 複數(
complex
):複數由實數部分和虛數部分構成,具體以後在說明。
(2)示例
# 1、定義int類型數據
a = 10
b = -20
# 2、Python3整型是沒有大小限制的
# 輸出結果不會報錯
# 結果:999999999999999999999999
c = 999999999999999999999999
print(c)
# 3、如果數字的長度過大,可以使用下劃線作為分隔符
# 輸出結果為123456789
d = 123_456_789
print(d)
"""
4、10進制的數字不能以0開頭
如下面e會報錯:
SyntaxError: invalid token(語法錯誤)。
"""
e = 0123
print(e)
'''
5、其他進制的整數定義
只要是數字打印時一定是以十進制的形式顯示的。
'''
# 二進制 0b開頭
f = 0b10 # 二進制的10
# 八進制 0o開頭
g = 0o10
# 十六進制 0x開頭
h = 0x10
# 6、也可以通過運算符來對數字進行運算,
# 並且可以保證整數運算的精確
i = -100
i = i + 3
# 7、浮點數(小數),在Python中所有的小數都是float類型
j = 1.23
j = 4.56
# 8、對浮點數進行運算時,可能會得到一個不精確的結果
k = 0.1 + 0.2
print(k) # 0.30000000000000004
3、布爾型(bool)
- 布爾值全稱
Boolean
,在Python中使用bool
簡寫表示布爾類型。一個布爾值只有True
、False
兩種值,要麼是True
表示真,要麼是False
表示假。 - 布爾值主要用來做邏輯判斷。
True
和False
就是字面量(常量),不用加引號,注意首字母大寫。
示例:
# 1、定義布爾值(bool)變量
a = True
b = False
print('a =',a) # a = True
print('b =',b) # b = False
# 2、布爾值實際上屬於整型子類,
# True就相當於1,False就相當於0
print(1 + True) # 2
print(1 + False) # 1
# 3、可以通過布爾運算計算
c = 7 < 9
d = 7 > 8
print('c =',c) # c = True
print('d =',d) # d = False
# 4、布爾值經常用在條件判斷中
if age >= 18:
print('adult')
else:
print('teenager')
4、None(空值)
(1)None值的含義
空值是Python里一個特殊的值,用None
表示沒有值,不存在。None
不能理解為0
,因為0
是有意義的,同理也不能理解成空字符串,而None
是一個特殊的空值,(N
必須大寫)。
在Python中是沒有Java中NULL
值,但相近意義於Java中NULL
值。
# None(空值)用來表示不存在
a = None
print(a)
(2)關於None的注意事項
None
在 Python 解釋器啟動時自動創建, 解釋器退出時銷毀。None
和任何其他的數據類型比較永遠返回False>>> None == 0 False >>> None == ' ' False >>> None == False False >>> None == None True
- 上也證明了
None
與0、空列表、空字符串不一樣。 None
它屬於NoneType
類型,且None
是NoneType
類型的唯一值。也就是說,我們不能再創建其它NoneType
類型的變量。- 可以將
None
賦值給任何變量,也可以給None
值變量賦值 None
不支持任何運算也沒有任何內建方法,如沒有像len
、size
等屬性,要判斷一個變量是否為Non
e,直接使用如下方式:a = None if a is None: print("hello python") pass
- 對於所有沒有
return
語句的函數定義,Python 都會在末尾加上return None
。
None相對來說用的不多,主要是在對象中使用,我們知道表示不存在就可以。
5、常量
所謂常量就是值不能變的變量,比如常用的數學常數π
就是一個常量。在Python中,一般通過約定俗成的變量名全大寫的形式表示這是一個常量。
PI = 3.14159265359
但事實上PI
仍然是一個變量,Python根本沒有任何機制保證PI
不會被改變,所以,用全部大寫的變量名表示常量只是一個習慣上的用法,如果你一定要改變變量PI
的值,也沒人能攔住你。
6、字符串(String)
(1)字符串類型說明
- 1、在Python中使用
str
簡寫表示字符串類型。 - 2、字符串用來表示一段文本信息,字符串是程序中使用的最多的數據類型。
- 3、字符串的內容幾乎可以包含任何字符,英文字符也行,中文字符也行。
- 4、在Python中字符串需要使用引號引起來,
' '
單引號和" "
雙引號都可以。 - 5、python中字符串是不可變的,一旦聲明,不能改變。(同數值型)
(2)示例
# 1、在Python中字符串需要使用引號引起來
# 單引號和雙引號都可以。
a = 'hello'
b = "python"
# s = 'hello" 引號不能混合使用
# 如果混合使用會報錯,如下:
# SyntaxError: EOL while scanning string literal
"""
# 2、字符串變量必須使用引號引起來,不使用不是字符串
d = abc
Python解釋器會認為abc是一個abc名稱的變量,
在Python執行程序的時候,
如果之前沒有定義過abc這個變量,
則會報出NameError錯誤。
"""
"""
# 3、相同的引號之間不能嵌套
也就是雙引號裡邊不能在寫雙引號,單引號裡邊不能在單雙引號。
e = "子曰:"學而時習之,樂呵樂呵!""
而不同的引號之間是可以進行嵌套的,如下:
"""
f = '子曰:"學而時習之,樂呵樂呵!"'
"""
# 4、單引號和雙引號不能跨行使用,跨行必須使用\進行換行。
如下g的執行結果為:
鋤禾日當午,汗滴禾下土,誰知盤中餐,粒粒皆辛苦。
在一行進行輸出。
"""
g = '鋤禾日當午,\
汗滴禾下土,\
誰知盤中餐,\
粒粒皆辛苦。'
"""
# 5、長字符串
使用一對三重引號來表示一個長字符串,如'''和\"\"\"。
三重引號內可以自動換行,並且會保留字符串中的格式。
如下g的執行結果為:
鋤禾日當午,
汗滴禾下土,
誰知盤中餐,
粒粒皆辛苦。
"""
h = '''鋤禾日當午,
汗滴禾下土,
誰知盤中餐,
粒粒皆辛苦。'''
"""
# 6、字符串的複製
就是將字符串和數字相乘,乘以幾表示複製幾次。
* 在Pyhton語言中表示乘法。
所以如果將字符串和數字相乘,則解釋器會將字符串重複指定的次數並返回。
"""
# 輸出結果:abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.
a = 'abc.'
a = a * 10
print(a)
提示:以上就是Python中最基礎的數據類型,一定要好好掌握。關於集合、列表、元組、字典這幾個數據類型,後面會逐一單個的詳解介紹。