python核心數據類型


本文采用版本pyton3.5

數據類型

數字: int,long,float,complex,bool
字符: str,unicode
列表: list
字典: dict
元組: tuple
文件: file
其他類型: 集合(set),frozenset,類類型,None

類型轉換

str(),repr()或format(): 將非字符類型數據轉換爲字符
int(): 轉爲整數
float(): 轉爲浮點
list(s): 將字符串轉爲列表
tuple(s): 將字符串轉爲元組
set(s): 將字符串轉爲集合
frozenset(s): 將字符串轉爲不可變集合
dict(d): 創建字典,其中d必須是(ke, value)的元組序列。[(‘a’,1),(‘b’,2),(‘c’,3)] ——> {‘a’:1, ‘c’:3, ‘b’:2}
chr(x): 將整數轉爲字符
ord(x): 將 字符轉爲整數值
hex(x): 將整數轉爲16進制字符
bin(x): 將整數轉爲2進制字符
oct(x): 將整數轉爲8進制字符

序列類型

指的是可以進行迭代,可以用下標進行操作的數據類型

字符串

把文本放入單引號,雙引號或三引號中

s1 = '這是字符串'
s2 = "這也是字符串"
s3 = '''這也是字符串'''
s4 = """這也是字符串"""
print(s1, s2, s3, s4)
# 這是字符串 這也是字符串 這也是字符串 這也是字符串

如果要使用unicode編碼,則在字符之前使用字符u進行標識,如u"tony"
文檔字符: 模塊,類或函數的第一條語句是一個字符的話,該字符就成爲文檔字符串,可以使用__doc__屬性引用

class Dog(object):
    """狗對象"""
    flag = 1

    def __init__(self, name="yuk", age="25", hobby="米飯"):
        self.name = name
        self.age = age
        self.hobby = hobby
print(Dog.__doc__)
# 狗對象

def printName(name):
    """這是打印方法"""
    print(name)

print(printName.__doc__)
# 這是打印方法

列表

[],有序可變,支持異構,任意嵌套;支持在原處修改:添加,刪除等
L1+L2: 合併兩個列表,不修改原列表

>>> L1=[1,2,3]
>>> L2=[4,5,6]
>>> L1+L2
[1, 2, 3, 4, 5, 6]
>>> L1
[1, 2, 3]

L1*N: 把列表重複N次,不修改原列表

>>> L1*2
[1, 2, 3, 1, 2, 3]
>>> L1
[1, 2, 3]

in/not in: 成員關係判斷,用法 item in[not in] container

>>> 1 in L1
True
>>> 0 in L1
False

列表複製:
淺複製:L2=L1,指向同一個地址

>>> L2=L1
>>> L2
[1, 2, 3]
>>> id(L1)
1511448597512
>>> id(L2)
1511448597512

深複製:L2=L1[:];import copy L2=copy.deepcopy(L1)

>>> import copy
>>> L2=copy.deepcopy(L1)
>>> id(L1)
1511448597512
>>> id(L2)
1511480648072

元組

(),有序不可變,支持異構,任意嵌套
定義元組: 可省略小括號(這一特性可以交換兩個參數的值)

>>> t=1,2
>>> t
(1, 2)

元組並非完全不可變: 如果元組內嵌套了可變類型的元素,比如(‘a’,‘b’,[4,5]),那麼對該可變元素的修改則直接修改了原元組

>>> L1=[4,5]
>>> t=(1,2,L1)
>>> t
(1, 2, [4, 5])
>>> L1.append(6)
>>> t
(1, 2, [4, 5, 6])

序列運算符

索引運算: [i]
切片運算: [i:j]
擴展切片運算: [i:j:stride],都可爲負數

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章