變量只不過是用于存儲值的保留內存位置。這意味著當您創建一個變量時,您會在內存中保留一些空間。
根據變量的數據類型,解釋器分配內存并決定可以在保留內存中存儲什么。因此,通過為變量分配不同的數據類型,您可以在這些變量中存儲整數、小數或字符。
為變量賦值
Python 變量不需要顯式聲明來保留內存空間。當您為變量賦值時,聲明會自動發生。等號 (=) 用于為變量賦值。
= 運算符左側的操作數是變量的名稱,= 運算符右側的操作數是存儲在變量中的值。例如 -
現場演示
#!/usr/bin/python
counter = 100 # An integer assignment
miles = 1000.0 # A floating point
name = "John" # A string
print counter
print miles
print name
在這里,100、1000.0 和“John”分別是分配給counter、miles和name變量的值。這會產生以下結果 -
100
1000.0
John
多重賦值
Python 允許您同時為多個變量分配一個值。例如 -
a = b = c = 1
在這里,創建了一個值為 1 的整數對象,并將所有三個變量分配到相同的內存位置。您還可以將多個對象分配給多個變量。例如 -
a,b,c = 1,2,"john"
這里,兩個值為 1 和 2 的整數對象分別分配給變量 a 和 b,一個值為“john”的字符串對象分配給變量 c。
標準數據類型
存儲在內存中的數據可以有多種類型。例如,一個人的年齡存儲為一個數值,他或她的地址存儲為字母數字字符。Python 有各種標準數據類型,用于定義對它們可能進行的操作以及每種數據的存儲方法。
Python 有五種標準數據類型 -
數字
細繩
列表
元組
字典
Python 數字
數字數據類型存儲數值。Number 對象是在您為其賦值時創建的。例如 -
var1 = 1
var2 = 10
您還可以使用 del 語句刪除對數字對象的引用。del 語句的語法是 -
del var1[,var2[,var3[....,varN]]]]
您可以使用 del 語句刪除單個對象或多個對象。例如 -
del var
del var_a, var_b
Python 支持四種不同的數值類型 -
int(有符號整數)
long(長整數,也可以用八進制和十六進制表示)
float(浮點實數值)
復數(復數)
例子
以下是一些數字示例 -
整數 長 漂浮 復雜的
10 51924361L 0.0 3.14j
100 -0x19323L 15.20 45.j
-786 0122L -21.9 9.322e-36j
080 0xDEFABCECBDAECBFBAEl 32.3+e18 .876j
-0490 535633629843L -90。 -.6545+0J
-0x260 -052318172735L -32.54e100 3e+26J
0x69 -4721885298529L 70.2-E12 4.53e-7j
Python 允許您將小寫的 l 與 long 一起使用,但建議您僅使用大寫的 L 以避免與數字 1 混淆。Python 使用大寫的 L 顯示長整數。
復數由一對有序的實數浮點數組成,用 x + yj 表示,其中 x 和 y 是實數,j 是虛數單位。
Python 字符串
Python 中的字符串被標識為引號中表示的一組連續字符。Python 允許使用成對的單引號或雙引號??梢允褂们衅\算符([ ] 和 [:] )獲取字符串的子集,索引從字符串開頭的 0 開始,最后從 -1 開始。
加號 (+) 是字符串連接運算符,星號 (*) 是重復運算符。例如 -
現場演示
#!/usr/bin/python
str = 'Hello World!'
print str # Prints complete string
print str[0] # Prints first character of the string
print str[2:5] # Prints characters starting from 3rd to 5th
print str[2:] # Prints string starting from 3rd character
print str * 2 # Prints string two times
print str + "TEST" # Prints concatenated string
這將產生以下結果 -
Hello World!
H
llo
llo World!
Hello World!Hello World!
Hello World!TEST
Python 列表
列表是 Python 中最通用的復合數據類型。列表包含用逗號分隔并括在方括號 ([]) 中的項目。在某種程度上,列表類似于 C 中的數組。它們之間的一個區別是屬于列表的所有項目可以是不同的數據類型。
可以使用切片運算符([ ] 和 [:])訪問存儲在列表中的值,索引從列表開頭的 0 開始,并以它們的方式結束 -1。加號 (+) 是列表連接運算符,星號 (*) 是重復運算符。例如 -
#!/usr/bin/python
list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']
print list # Prints complete list
print list[0] # Prints first element of the list
print list[1:3] # Prints elements starting from 2nd till 3rd
print list[2:] # Prints elements starting from 3rd element
print tinylist * 2 # Prints list two times
print list + tinylist # Prints concatenated lists
這會產生以下結果 -
['abcd', 786, 2.23, 'john', 70.2]
abcd
[786, 2.23]
[2.23, 'john', 70.2]
[123, 'john', 123, 'john']
['abcd', 786, 2.23, 'john', 70.2, 123, 'john']
Python 元組
元組是另一種類似于列表的序列數據類型。元組由多個用逗號分隔的值組成。然而,與列表不同的是,元組用括號括起來。
列表和元組之間的主要區別是:列表括在方括號 ( [ ] ) 中,并且它們的元素和大小可以更改,而元組括在括號 ( ( ) ) 中并且不能更新。元組可以被認為是只讀列表。例如 -
現場演示
#!/usr/bin/python
tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 )
tinytuple = (123, 'john')
print tuple # Prints the complete tuple
print tuple[0] # Prints first element of the tuple
print tuple[1:3] # Prints elements of the tuple starting from 2nd till 3rd
print tuple[2:] # Prints elements of the tuple starting from 3rd element
print tinytuple * 2 # Prints the contents of the tuple twice
print tuple + tinytuple # Prints concatenated tuples
這會產生以下結果 -
('abcd', 786, 2.23, 'john', 70.2)
abcd
(786, 2.23)
(2.23, 'john', 70.2)
(123, 'john', 123, 'john')
('abcd', 786, 2.23, 'john', 70.2, 123, 'john')
以下代碼對元組無效,因為我們試圖更新一個元組,這是不允許的。列表可能會出現類似情況 -
#!/usr/bin/python
tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 )
list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
tuple[2] = 1000 # Invalid syntax with tuple
list[2] = 1000 # Valid syntax with list
Python字典
Python 的字典是一種哈希表類型。它們像 Perl 中的關聯數組或散列一樣工作,由鍵值對組成。字典鍵幾乎可以是任何 Python 類型,但通常是數字或字符串。另一方面,值可以是任意 Python 對象。
字典用大括號 ({ }) 括起來,并且可以使用方括號 ([]) 分配和訪問值。例如 -
現場演示
#!/usr/bin/python
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
print dict['one'] # Prints value for 'one' key
print dict[2] # Prints value for 2 key
print tinydict # Prints complete dictionary
print tinydict.keys() # Prints all the keys
print tinydict.values() # Prints all the values
這會產生以下結果 -
This is one
This is two
{'dept': 'sales', 'code': 6734, 'name': 'john'}
['dept', 'code', 'name']
['sales', 6734, 'john']
字典沒有元素之間的順序概念。說元素“亂序”是不正確的;它們只是無序的。
數據類型轉換
有時,您可能需要在內置類型之間執行轉換。要在類型之間進行轉換,您只需將類型名稱用作函數。
有幾個內置函數可以執行從一種數據類型到另一種數據類型的轉換。這些函數返回一個表示轉換后的值的新對象。
編號 功能說明
1
整數(x [,基數])
將 x 轉換為整數。如果 x 是字符串,base 指定基數。
2
長(x [,base] )
將 x 轉換為長整數。如果 x 是字符串,base 指定基數。
3
浮動(x)
將 x 轉換為浮點數。
4
復數(實數 [,imag])
創建一個復數。
5
字符串(x)
將對象 x 轉換為字符串表示形式。
6
代表(x)
將對象 x 轉換為表達式字符串。
7
評估(字符串)
計算一個字符串并返回一個對象。
8
元組
將 s 轉換為元組。
9
列表
將 s 轉換為列表。
10
套)
將 s 轉換為集合。
11
聽寫(d)
創建字典。d 必須是 (key,value) 元組的序列。
12
凍結集
將 s 轉換為凍結集。
13
chr(x)
將整數轉換為字符。
14
unichr(x)
將整數轉換為 Unicode 字符。
15
排序(x)
將單個字符轉換為其整數值。
16
十六進制(x)
將整數轉換為十六進制字符串。
17
八月(x)
將整數轉換為八進制字符串。