Python 基礎(chǔ)教程

Python 流程控制

Python 函數(shù)

Python 數(shù)據(jù)類(lèi)型

Python 文件操作

Python 對(duì)象和類(lèi)

Python 日期和時(shí)間

Python 高級(jí)知識(shí)

Python 參考手冊(cè)

Python 數(shù)據(jù)類(lèi)型

在本教程中,您將學(xué)習(xí)可在Python中使用的不同數(shù)據(jù)類(lèi)型。

Python中的數(shù)據(jù)類(lèi)型

Python中的每個(gè)值都有一個(gè)數(shù)據(jù)類(lèi)型。由于在Python編程中一切都是對(duì)象,因此數(shù)據(jù)類(lèi)型實(shí)際上是類(lèi),而變量是這些類(lèi)的示例(對(duì)象)。

Python中有多種數(shù)據(jù)類(lèi)型。下面列出了一些重要的類(lèi)型。

Python 數(shù)字(Number)

整數(shù)、浮點(diǎn)數(shù)和復(fù)數(shù)都屬于Python數(shù)字的范疇。在Python中,它們被定義為 int、float 和 complex類(lèi)。

我們可以使用type()函數(shù)來(lái)判斷一個(gè)變量或值屬于哪個(gè)類(lèi)。同樣地,isinstance() 函數(shù)用于檢查對(duì)象是否屬于特定的類(lèi)。

a = 5
print(a, "的類(lèi)型是  ", type(a))

a = 2.0
print(a, "的類(lèi)型是  ", type(a))

a = 1+2j
print(a, "是復(fù)數(shù)嗎?", isinstance(1+2j,complex))

輸出量

5 的類(lèi)型是  <class 'int'>
2.0 的類(lèi)型是  <class 'float'>
(1+2j) 是復(fù)數(shù)嗎? True

整數(shù)可以是任意長(zhǎng)度,但受可用內(nèi)存的限制。

浮點(diǎn)數(shù)最多可精確到 15 個(gè)小數(shù)位。整數(shù) 和 浮點(diǎn)由小數(shù)點(diǎn)分隔。1 是整數(shù),1.0 是浮點(diǎn)數(shù)。

復(fù)數(shù)以  x + yj 形式書(shū)寫(xiě),其中x是實(shí)部,y是虛部。這里有些示例。

>>> a = 1234567890123456789
>>> a
1234567890123456789
>>> b = 0.1234567890123456789
>>> b
0.12345678901234568
>>> c = 1+2j
>>> c
(1+2j)

注意,float變量b被截?cái)嗔恕?/p>

Python 列表(List)

列表是項(xiàng)目的有序序列。它是Python中最常用的數(shù)據(jù)類(lèi)型之一,非常靈活。列表中的項(xiàng)目允許不是同一類(lèi)型。

聲明列表非常簡(jiǎn)單。用逗號(hào)分隔的項(xiàng)目放在方括號(hào)內(nèi)[ ]。

a = [1, 2.2, 'python']

我們可以使用切片運(yùn)算符 [ ] 從列表中提取一個(gè)項(xiàng)目 或 一系列項(xiàng)目。注意,在Python中,索引從 0 開(kāi)始。

a = [5,10,15,20,25,30,35,40]

# a[2] = 15
print("a[2] = ", a[2])

# a[0:3] = [5, 10, 15]
print("a[0:3] = ", a[0:3])

# a[5:] = [30, 35, 40]
print("a[5:] = ", a[5:])

輸出量

a[2] =  15
a[0:3] =  [5, 10, 15]
a[5:] =  [30, 35, 40]

列表是可變的,也就是說(shuō),列表元素的值可以更改。

a = [1, 2, 3]
a[2] = 4
print(a)

輸出量

[1, 2, 4]

Python 元組(Tuple)

元組(Tuple)是項(xiàng)目的有序序列,與列表(List)相同。唯一的區(qū)別是元組是不可變的。元組一旦創(chuàng)建就不能修改。

元組用于寫(xiě)保護(hù)數(shù)據(jù),通常比列表快,因?yàn)樗鼈儾荒軇?dòng)態(tài)更改。

它在括號(hào)內(nèi) () 定義,其中各項(xiàng)之間用逗號(hào)分隔。

t = (5,'program', 1+3j)

我們可以使用切片運(yùn)算符 [] 提取項(xiàng)目,但不能更改其值。

t = (5,'program', 1+3j)

# t[1] = 'program'
print("t[1] = ", t[1])

# t[0:3] = (5, 'program', (1+3j))
print("t[0:3] = ", t[0:3])

#產(chǎn)生錯(cuò)誤
#元組是不可變的
t[0] = 10

輸出量

t[1] =  program
t[0:3] =  (5, 'program', (1+3j))
Traceback (most recent call last):
  File "test.py", line 11, in <module>
    t[0] = 10
TypeError: 'tuple' object does not support item assignment

Python 字符串

字符串是Unicode字符的序列。我們可以使用單引號(hào)或雙引號(hào)來(lái)表示字符串??梢允褂萌?hào) ''' 或 """ 來(lái)表示多行字符串。

s = "This is a string"
print(s)
s = '''A multiline
string'''
print(s)

輸出量

This is a string
A multiline
string

就像列表和元組一樣,切片運(yùn)算符 [ ] 可以與字符串一起使用。但是,字符串是不可變的。

s = 'Hello world!'

# s[4] = 'o'
print("s[4] = ", s[4])

# s[6:11] = 'world'
print("s[6:11] = ", s[6:11])

#發(fā)生錯(cuò)誤
#字符串在Python中是不可變的
s[5] ='d'

輸出量

s[4] =  o
s[6:11] =  world
Traceback (most recent call last):
  File "<string>", line 11, in <module>
TypeError: 'str' object does not support item assignment

Python 集合(Set)

Set 是唯一項(xiàng)的無(wú)序集合。Set 由用大括號(hào) { } 括起來(lái),并由逗號(hào)分隔的值的集合。集合中的項(xiàng)目是無(wú)序的。

a = {5,2,3,1,4}

# 輸出set集變量
print("a = ", a)

# 輸出a的數(shù)據(jù)類(lèi)型
print(type(a))

輸出量

a =  {1, 2, 3, 4, 5}
<class 'set'>

我們可以在兩個(gè)集合上執(zhí)行集合操作,例如 并集,交集。集具有唯一值。他們消除重復(fù)。

a = {1,2,2,3,3,3}
print(a)

輸出量

{1, 2, 3}

由于 set 是無(wú)序集合,因此索引沒(méi)有意義。因此,切片運(yùn)算符 [] 不起作用。

>>> a = {1,2,3}
>>> a[1]
Traceback (most recent call last):
  File "<string>", line 301, in runcode
  File "<interactive input>", line 1, in <module>
TypeError: 'set' object does not support indexing

Python字典

字典是 鍵值對(duì) 的無(wú)序集合。

當(dāng)我們擁有大量數(shù)據(jù)時(shí),通常使用它。字典針對(duì)檢索數(shù)據(jù)進(jìn)行了優(yōu)化。我們必須知道檢索值的密鑰。

在Python中,大括號(hào) {} 內(nèi)定義了字典,每一項(xiàng)都是形式為 key:value 。鍵 和 值 可以是任何類(lèi)型。

>>> d = {1:'value','key':2}
>>> type(d)
<class 'dict'>

我們可以使用鍵來(lái)檢索相應(yīng)的值。

d = {1:'value','key':2}
print(type(d))

print("d[1] = ", d[1]);

print("d['key'] = ", d['key']);

#產(chǎn)生錯(cuò)誤
print("d[2] = ", d[2]);

輸出量

<class 'dict'>
d[1] =  value
d['key'] =  2
Traceback (most recent call last):
  File "<string>", line 9, in <module>
KeyError: 2

數(shù)據(jù)類(lèi)型轉(zhuǎn)換

我們可以通過(guò)使用不同類(lèi)型的轉(zhuǎn)換功能,例如不同的數(shù)據(jù)類(lèi)型之間進(jìn)行轉(zhuǎn)換 int(),float(),str() 等。

>>> float(5)
5.0

從float 到 int的轉(zhuǎn)換將截?cái)嘣撝担ㄊ蛊浣咏悖?/p>

>>> int(10.6)
10
>>> int(-10.6)
-10

字符串之間的轉(zhuǎn)換必須包含兼容的值。

>>> float('2.5')
2.5
>>> str(25)
'25'
>>> int('1p')
Traceback (most recent call last):
  File "<string>", line 301, in runcode
  File "<interactive input>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '1p'

我們甚至可以將一個(gè)序列轉(zhuǎn)換為另一序列。

>>> set([1,2,3])
{1, 2, 3}
>>> tuple({5,6,7})
(5, 6, 7)
>>> list('hello')
['h', 'e', 'l', 'l', 'o']

要轉(zhuǎn)換為字典,每個(gè)元素必須成對(duì):

>>> dict([[1,2],[3,4]])
{1: 2, 3: 4}
>>> dict([(3,26),(4,44)])
{3: 26, 4: 44}
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清