1. 程式人生 > >Python2語法簡記(2):變數型別

Python2語法簡記(2):變數型別

2 變數型別

變數建立:用等號(=)賦值來建立變數。變數與型別無關,物件與型別有關。可以通過del刪除變數。
在Python中只有物件才有型別,變數沒有型別,通過等號(=)賦值來建立變數。
等號(=)前面的變數名與型別無關,等號(=)後面的值才是被建立的物件,變數名只是引用了該值物件的地址。同一變數名可以引用不同型別的物件。

多個變數之間用逗號 ,隔開

counter = 100 # 賦值整型變數
miles = 1000.0 # 浮點型
name = "John" # 字串
a = b = c = 1
a, b, c = 1, 2, "john"

五個標準的資料型別:數字、字串、列表、元祖、字典

  • Numbers(數字)
  • String(字串)
  • List(列表)
  • Tuple(元組)
  • Dictionary(字典)

數字(Numbers):不可改變。支援int, long, float, complex。例:a = 10

age1 = age2 = age3 = 30
del age2, age3

數字是不可改變的資料型別。
可以使用del語句刪除一些物件的引用。

Python支援四種不同的數字型別:

  • int(有符號整型)
  • long(長整型[也可以代表八進位制和十六進位制])
  • float(浮點型)
  • complex(複數)

字串(String):不可改變。有2種取值順序。通過[頭下標:尾下標]擷取。+連線,*重複。例:name = "Jack"

 name = “Jack”

字串是不可改變的資料型別。

python的字串列表有2種取值順序:

從左到右索引預設0開始的,最大範圍是字串長度少1
從右到左索引預設-1開始的,最大範圍是字串開頭

可以使用 [頭下標:尾下標] 來擷取相應的字串,其中下標是從 0 開始算起,可以是正數或負數,下標可以為空表示取到頭或尾。

[頭下標:尾下標] 獲取的子字串包含頭下標的字元,但不包含尾下標的字元。

加號(+)是字串連線運算子,星號(*)是重複操作

#!/usr/bin/python
# -*- coding: UTF-8 -*-
str = 'Hello World!'
print str           # 輸出完整字串
print str[0]        # 輸出字串中的第一個字元
print str[2:5]      # 輸出字串中第三個至第五個之間的字串
print str[2:]       # 輸出從第三個字元開始的字串
print str * 2       # 輸出字串兩次
print str + "TEST"  # 輸出連線的字串

列表(List):可改變。可混值。有2種取值順序。通過[頭下標:尾下標]擷取。+連線,*重複。例:list = [‘runoob’, 786, 2.23]

list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
list.append('hello')    # 新增列表元素
del list[2]  # 刪除列表的元素

一個列表中的元素可以混合支援字元,數字,字串甚至可以包含列表(即巢狀)。可以改變列表中元素的值。

列表和字串一樣,也可以使用 [頭下標:尾下標] 來擷取相應的列表,其中下標是從 0 開始算起,可以是正數或負數,下標可以為空表示取到頭或尾。
加號 + 是列表連線運算子,星號 * 是重複操作。

元祖(Tuple):只讀列表。多個物件以逗號隔開,預設為元祖。例:tuple = (‘runoob’, 786, 2.23)

# 元祖不能二次賦值,不能新增刪除元素,相當於只讀列表,用法和列表一樣。
tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
tup1 = (50,) # 只包含一個元素時,需要在元素後加逗號
del tup1     # 可以刪除整個元祖
# 任意無符號的物件,以逗號隔開,預設為元組
print 'abc', -4.24e93, 18+6.6j, 'xyz'
x, y = 1, 2
print "Value of x , y : ", x,y

字典(Dictionary):有key/value對組成。通過key存取元素。不支援擷取、+連線、*重複。例:tindic = {‘name’ : ‘john’, ‘age’ = 30}

tindict = {'name': 'john','code':6734, 'dept': 'sales'}

字典由索引(key)和它對應的值value組成。字典當中的元素是通過鍵來存取,列表是通過偏移存取。
字典不支援擷取,不支援加號 + 和 星號 *

#!/usr/bin/python
# -*- coding: UTF-8 -*-
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
print dict['one']          # 輸出鍵為'one' 的值
print dict[2]              # 輸出鍵為 2 的值
print tinydict             # 輸出完整的字典
print tinydict.keys()      # 輸出所有鍵
print tinydict.values()    # 輸出所有值
del tinydict['Name'];      # 刪除鍵是'Name'的條目
tinydict.clear();          # 清空詞典所有條目
del tinydict ;             # 刪除詞典

鍵不可變,可以用數字、字串、元祖做鍵。

資料型別轉換:將型別做為函式名。例:name = str(1234)
資料型別的轉換,只需要將資料型別作為函式名。例如:name = str(1234)