python變量類型

                    Python 變量類型

變量存儲在內存中的值。這就意味着在創建變量時會在內存中開闢一個空間。

基於變量的數據類型,解釋器會分配指定內存,並決定什麼數據可以被存儲在內存中。

因此,變量可以指定不同的數據類型,這些變量可以存儲整數,小數或字符。


  • python變量賦值

    Python中的變量不需要聲明,變量的賦值操作既是變量聲明和定義的過程。

    每個變量在內存中創建,都包括變量的標識,名稱和數據這些信息。

    每個變量在使用前都必須賦值,變量賦值以後該變量纔會被創建。

    等號(=)用來給變量賦值。


  • 數據類型

    python 5個數據類型


    • Numbers(數字)--->int

    • string(字符串)   --->str

    • list(列表)     --->list

    • Dictionary(字典)-->dict

    • Tuple(元組)      --->tuple

  •  字符串  

    字符串或串(String)是由數字、字母、下劃線組成的一串字符。

    它是編程語言中表示文本的數據類型。

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

  • 從左到右索引默認0開始的,最大範圍是字符串長度少1

  • 從右到左索引默認-1開始的,最大範圍是字符串開頭

  • 列表

    1.切片

    List(列表) 是 Python 中使用最頻繁的數據類型。

    列表可以完成大多數集合類的數據結構實現。它支持字符,數字,字符串甚至可以包含列表(所謂嵌套)。

    列表用[ ]標識。是python最通用的複合數據類型。

    列表切片爲左開有合(下標從0開始)

>>> list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
>>> list[0:2]        #取前兩個數據
['abcd', 786]
>>> list[:2]         #默認從0開始
['abcd', 786]
>>> list[::2]       #後面的2是代表,每隔一個元素,就取一個
['abcd', 2.23, 70.2]
>>> list[4:]        #取最後一個,不能寫-1
[70.2]

    2.增加

>>> name.append("e")       #添加到最後
>>> name
['a', 'c', 'b', 'd', 'e']
>>> name.insert(1,"f")     #添加到指定位置
>>> name
['a', 'f', 'c', 'b', 'd', 'e']

    3.刪除

>>> del name[2]              #刪除列表位置
>>> name
['a', 'f', 'b', 'd', 'e']    
>>> name.remove("e")         #刪除列表內容
>>> name
['a', 'f', 'b', 'd']
>>> name.pop()               #刪除最後一個
'd'
>>> name
['a', 'f', 'b']

    4.更改

>>> name
['a', 'f', 'b']
>>> name[2] = "e"
>>> name
['a', 'f', 'e']

    5.追加

>>> name
['a', 'f', 'e']
>>> name.append("d")
>>> name
['a', 'f', 'e', 'd']

    6.擴展

>>> name
['a', 'f', 'e', 'd']
>>> num
[1, 2, 3]
>>> name.extend(num)
>>> name
['a', 'f', 'e', 'd', 1, 2, 3]
>>> num
[1, 2, 3]

    7.獲取下標

['a', 'f', 'e', 'd', 1, 2, 3]
>>> name.index(1)
4
  • 字典

    字典(dictionary)是除列表以外python之中最靈活的內置數據結構類型。列表是有序的對象結合,字典是無序的對象集合。

    兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。

    字典用"{ }"標識。字典由索引(key)和它對應的值value組成。

        字典的特性:

    dict是無序的

    key必須是唯一的,so 天生去重

>>> dict = {'dept': 'sales', 'code': 6734, 'name': 'john'}
>>> for i in dict:
...    print(i,dict[i])
... 
code 6734
dept sales
name john
>>> for i,v in dict.items(): #先把dict轉成list,數據裏大時莫用
...    print(i,v)
... 
code 6734
dept sales
name john

    

    更新和刪除:

     直接用鍵值訪問更新:內建的update()方法可以將整個字典的內容拷貝到另一個字典中

 

    del dic['a'] 刪除字典中鍵值爲a的元素
    dic.pop('a')    刪除並返回鍵爲'a'的元素
    dic.clear()      刪除字典所有元素
    del dic            刪除整個字典

    字典中的函數:
    len(),hash()        用於判斷某個對象是否可以做一個字典的鍵,非哈希類型報TypeError錯誤。
    dict.clear()         刪除字典中的所有元素(字典變成空字典,但字典仍然存在)
    dict.fromkeys(seq,value=None)        以seq中的元素爲鍵創建並返回一個字典,val爲指定的默認值
    dict.get(key,default=None)                返回key的value,如果該鍵不存在返回default指定的值
    //dict.has_key(key)     【python2】           判斷字典中是否存在key,建議使用in和not in代替
    dict.items()                        返回鍵值對元組的列表
    dict.keys()                            返回字典中鍵的列表
    dict.setdefault(key,default=None)            同set(),若key存在則返回其value,若不存在,則            dict[key]=default
    dict.update(dict2)                將dict2中的鍵值對添加到字典dict中,如果有重複覆蓋,原字典不存在的條碼添加進去
    dict.values()                返回字典中所有值的列表


    字典用法:

    1. clear : 清空字典中的項

   >>> ddict={}.fromkeys(('x','y'),-1)
    >>> ddict.clear()
    >>> ddict
    {}

   2.fromkeys

    使用給定的鍵建立新的字典,每個鍵默認對應的值爲None

    >>> dict.fromkeys(['name','keys'])
   {'a': 'keys', 'n': 'keys', 'e': 'keys', 'm': 'keys'}

    3.get

    是個更加寬鬆的訪問字典項的方法,一般來說,如果試圖訪問字典中不存在的項會出錯

    >>> d
    {'name': ['huazai', 'patrick', 'abc']}
    >>> print d['names']
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    KeyError: 'names'
    >>> print d.get('names')    #無輸出

    6.setdefault

    在某種程度上類似於get 方法,就是能夠獲得與給定鍵相關聯的值,除此之外,setdefault 還能在字典中不含有給定鍵的情況下設置相應的鍵值。

    >>> d={}
    >>> d.setdefault('name','N/A')
    'N/A'
    >>> d
    {'name': 'N/A'}
    >>> d['name'] = 'pdadwa'
    >>> d
    {'name': 'pdadwa'}
    >>> d.setdefault('name','N/A')
    'pdadwa'
    >>> d
    {'name': 'pdadwa'}


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