Python基本資料型別
Python 中的變數不需要宣告,每個變數在使用前都必須賦值,變數賦值以后該變數才會被創建,
在 Python 中,變數就是變數,它沒有型別,我們所說的"型別"是變數所指的記憶體中物件的型別,
等號(=)用來給變數賦值,
等號(=)運算子左邊是一個變數名,等號(=)運算子右邊是存盤在變數中的值,例如:
#!/usr/bin/python3
counter = 100 # 整型變數
miles = 1000.0 # 浮點型變數
name = "runoob" # 字串
**print** (counter)
**print** (miles)
**print** (name)
執行以上程式會輸出如下結果:
100
1000.0
runoob
多個變數賦值
Python允許你同時為多個變數賦值,例如:
a = b = c = 1
以上例子,創建一個整型物件,值為 1,從后向前賦值,三個變數被賦予相同的數值,
也可以為多個物件指定多個變數,例如:
a, b, c = 1, 2, "runoob"
以上例子,兩個整型物件 1 和 2 的分配給變數 a 和 b,字串物件 "runoob" 分配給變數 c,
標準資料型別
Python3 中有六個標準的資料型別:
- Number(數字)
- String(字串)
- List(串列)
- Tuple(元組)
- Set(集合)
- Dictionary(字典)
Python3 的六個標準資料型別中:
- 不可變資料(3 個):Number(數字)、String(字串)、Tuple(元組);
- 可變資料(3 個):List(串列)、Dictionary(字典)、Set(集合),
Number(數字)
Python3 支持 int、float、bool、complex(復數),
在Python 3里,只有一種整數型別 int,表示為長整型,沒有 python2 中的 Long,
像大多數語言一樣,數值型別的賦值和計算都是很直觀的,
內置的 type() 函式可以用來查詢變數所指的物件型別,
>>> a, b, c, d = 20, 5.5, True, 4+3j
>>> print(type(a), type(b), type(c), type(d))
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
此外還可以用 isinstance 來判斷:
>>> a = 111
>>> isinstance(a, int)
True
>>>
isinstance 和 type 的區別在于:
- type()不會認為子類是一種父型別別,
- isinstance()會認為子類是一種父型別別,
>>> class A:
... pass
...
>>> class B(A):
... pass
...
>>> isinstance(A(), A)
True
>>> type(A()) == A
True
>>> isinstance(B(), A)
True
>>> type(B()) == A
False
注意:在 Python2 中是沒有布爾型的,它用數字 0 表示 False,用 1 表示 True,到 Python3 中,把 True 和 False 定義成關鍵字了,但它們的值還是 1 和 0,它們可以和數字相加,
當指定一個值時,Number 物件就會被創建:
var1 = 1
var2 = 10
也可以使用del陳述句洗掉一些物件參考,
del陳述句的語法是:
del var1[,var2[,var3[....,varN]]]
可以通過使用del陳述句洗掉單個或多個物件,例如:
del var
del var_a, var_b
數值運算
>>> 5 + 4 # 加法
9
>>> 4.3 - 2 # 減法
2.3
>>> 3 * 7 # 乘法
21
\>>> 2 / 4 # 除法,得到一個浮點數
0.5
\>>> 2 // 4 # 除法,得到一個整數
0
\>>> 17 % 3 # 取余
2
\>>> 2 ** 5 # 乘方
32
注意:
- 1、Python可以同時為多個變數賦值,如a, b = 1, 2,
- 2、一個變數可以通過賦值指向不同型別的物件,
- 3、數值的除法包含兩個運算子:/ 回傳一個浮點數,// 回傳一個整數,
- 4、在混合計算時,Python會把整型轉換成為浮點數,
數值型別
| int | float | complex |
|---|---|---|
| 10 | 0.0 | 3.14j |
| 100 | 15.20 | 45.j |
| -786 | -21.9 | 9.322e-36j |
| 080 | 32.3e+18 | .876j |
| -0490 | -90. | -.6545+0J |
| -0x260 | -32.54e100 | 3e+26J |
| 0x69 | 70.2E-12 | 4.53e-7j |
Python還支持復數,復數由實數部分和虛數部分構成,可以用a + bj,或者complex(a,b)表示, 復數的實部a和虛部b都是浮點型
String(字串)
Python中的字串用單引號 ' 或雙引號 " 括起來,同時使用反斜杠 ** 轉義特殊字符,
字串的截取的語法格式如下:
變數[頭下標:尾下標]
索引值以 0 為開始值,-1 為從末尾的開始位置,

加號 + 是字串的連接符, 星號 ***** 表示復制當前字串,與之結合的數字為復制的次數,例子如下:
str = 'Runoob'
print(str) # 輸出字串
print(str[0:-1]) # 輸出第一個到倒數第二個的所有字符
print(str[0]) # 輸出字串第一個字符
print(str[2:5]) # 輸出從第三個開始到第五個的字符
print(str[2:]) # 輸出從第三個開始的后的所有字符
print(str * 2) # 輸出字串兩次,也可以寫成 print (2 * str)
print(str + "TEST") # 連接字串
執行以上程式會輸出如下結果:
Runoob
Runoo
R
noo
noob
RunoobRunoob
RunoobTEST
Python 使用反斜杠 ** 轉義特殊字符,如果你不想讓反斜杠發生轉義,可以在字串前面添加一個 r,表示原始字串:
>>> print('Ru\noob')
Ru
oob
>>> print(r'Ru\noob')
Ru \n oob
>>>
另外,反斜杠()可以作為續行符,表示下一行是上一行的延續,也可以使用 """...""" 或者 '''...''' 跨越多行,
注意,Python 沒有單獨的字符型別,一個字符就是長度為1的字串,
>>> word = 'Python'
>>> **print**(word[0], word[5])
P n
>>> **print**(word[-1], word[-6])
n P
與 C 字串不同的是,Python 字串不能被改變,向一個索引位置賦值,比如word[0] = 'm'會導致錯誤,
**注意:
- 1、反斜杠可以用來轉義,使用r可以讓反斜杠不發生轉義,
- 2、字串可以用+運算子連接在一起,用*運算子重復,
- 3、Python中的字串有兩種索引方式,從左往右以0開始,從右往左以-1開始,
- 4、Python中的字串不能改變,
List(串列)
List(串列) 是 Python 中使用最頻繁的資料型別,
串列可以完成大多數集合類的資料結構實作,串列中元素的型別可以不相同,它支持數字,字串甚至可以包含串列(所謂嵌套),
串列是寫在方括號 [] 之間、用逗號分隔開的元素串列,
和字串一樣,串列同樣可以被索引和截取,串列被截取后回傳一個包含所需元素的新串列,
串列截取的語法格式如下:
變數[頭下標:尾下標]
索引值以 0 為開始值,-1 為從末尾的開始位置,
加號 + 是串列連接運算子,星號 ***** 是重復操作,
如:
list = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]
tinylist = [123, 'runoob']
print(list) # 輸出完整串列
print(list[0]) # 輸出串列第一個元素
print(list[1:3]) # 從第二個開始輸出到第三個元素
print(list[2:]) # 輸出從第三個元素開始的所有元素
print(tinylist * 2) # 輸出兩次串列
print(list + tinylist) # 連接串列
輸出結果為:
['abcd', 786, 2.23, 'runoob', 70.2]
abcd
[786, 2.23]
[2.23, 'runoob', 70.2]
[123, 'runoob', 123, 'runoob']
['abcd', 786, 2.23, 'runoob', 70.2, 123, 'runoob']
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/115634.html
標籤:Python
上一篇:Python的簡介及環境安裝
