Python變數型別

edithfang發表於2014-10-17
變數是隻不過保留的記憶體位置用來儲存值。這意味著,當建立一個變數,那麼它在記憶體中保留一些空間。

變數賦值:

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和respectively。當執行這個程式,這將產生以下結果:

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數字:
數字資料型別儲存數值。它們是不可變的資料型別,這意味著改變一個新分配的物件的數字資料型別的結果值。

當分配一個值給他們建立的物件。例如:
var1 = 1 var2 = 10
也可以使用del語句刪去有關一些物件。 del語句的語法是:
del var1[,var2[,var3[....,varN]]]]
也可以使用del語句刪除單個或多個物件。例如:
del var del var_a, var_b
Python支援四種不同的數值型別:
  • int (有符號整數)
  • long (長整數
  • [也可以以八進位制和十六進位制表示])
  • float (浮點實數值)
  • complex (複數)
例如:
這裡是數字的一些例子:

  • Python允許使用一個小寫L表示長整型,但建議您只使用一個大寫的L到避免和數字1 長得一樣不容易分辨,Python顯示長整數用一個大寫L。
  • 複數包含一個有序對錶示為a + bj,其中,a是實部,b是複數的虛部實浮點數。
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.200000000000003]
abcd
[786, 2.23]
[2.23, 'john', 70.200000000000003]
[123, 'john', 123, 'john']
['abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john']
Python元組:
元組是類似於列表中的序列資料型別。一個元組由數個逗號分隔的值。不同於列表,不過,元組圓括號括起來。

列表和元組之間的主要區別是:列表括在括號([])和它們的元素和大小是可以改變的,而元組在圓括號(),不能被更新。元組可以被認為是隻讀列表。例如:
#!/usr/bin/python tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 ) tinytuple = (123, 'john') print tuple # Prints complete list print tuple[0] # Prints first element of the list print tuple[1:3] # Prints elements starting from 2nd till 3rd  print tuple[2:] # Prints elements starting from 3rd element print tinytuple * 2 # Prints list two times print tuple + tinytuple # Prints concatenated lists
這將產生以下結果:
('abcd', 786, 2.23, 'john', 70.200000000000003)
abcd
(786, 2.23)
(2.23, 'john', 70.200000000000003)
(123, 'john', 123, 'john')
('abcd', 786, 2.23, 'john', 70.200000000000003, 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)

相關文章