国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Python類型

2019-11-14 17:33:46
字體:
來源:轉載
供稿:網友
文章出處:http://m.survivalescaperooms.com/winstic/,請保留此連接
 
python是動態類型語言,不需要預先聲明變量的類型,變量類型和值在賦值的那一刻被初始化
 
python使用對象模型來存儲數據,構造任何類型的值都是一個對象
 

數字(Number)
  • 有符號整型
    • 長整型
    • 布爾值
  • 浮點數
  • 負數
  • decimal(2.4版新增)用于十進制浮點型,但需要引入包decimal
    >>> import decimal>>> PRint decimal.Decimal(1.1)1.100000000000000088817841970012523233890533447265625

         python 2.3開始,超出整型范圍的會自動轉換為長整型。

 


字符串(String)
  單引號與雙引號等價,三引號保留原字符串格式,'+'用于字符串連接,'*'用于字符串重復
  []:索引操作符,[:]:切片操作符
  
>>> pystr = "python">>> pystr[0]'p'>>> pystr[2:4]'th'>>> pystr + ' cool''python cool'>>> pystr * 2'pythonpython'

 


列表(list)

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

      list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]

  • 列表解析:在一行中使用for循環,將所有值放到一個列表中
    >>> pylist = [x ** 2 for x in range(4)]>>> type(pylist)<type 'list'>>>> print pylist[0, 1, 4, 9]

     

  • 對于上述的列表解析形式,有一種很類似的形式使用的操作時(),但返回的是迭代器(generator)類型,在此列出加以區分(注意不要與元組混淆)
    >>> pya = (x ** 2 for x in range(4))>>> type(pya)<type 'generator'>>>> for i in pya:    print i

     

列表同樣滿足索引操作([]),切片操作([:])


元組(Tuple)

  • 元組用"()"標識。內部元素用逗號隔開。但是元素不能二次賦值,相當于只讀列表。

     tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 )

元組同樣滿足索引操作([]),切片操作([:])


字典(dictionary)

  • 字典是python中的映射數據類型,類似于perl中的關聯數組或哈希表,由鍵-值(key-value)對構成,一般用不可變對象(immutable)作為鍵值
  • 字典用"{ }"標識。字典由索引(key)和它對應的值value組成。

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

  • 字典(dictionary)是除列表外python之中最靈活的內置數據結構類型。兩者之間的區別在于(當然不止以下區別):
    1. 列表是有序的對象結合,字典是無序的對象集合。
    2. 字典當中的元素是通過鍵來存取的,而列表通過偏移存取。

集合(set)

  • 集合對象是一組無序排列的可哈希值,因此集合成員可以作為字典的鍵。
  • 因集合是無序的,故無法對集合執行索引和切片操作。
  • 集合分為可變集合(set)和不可變集合(frozenset);對可變集合可以執行簡單的添加和刪除等操作。
    >>> # 集合set的簡單操作>>> s = set('python')          # 利用工廠函數set()創建集合>>> sset(['h', 'o', 'n', 'p', 't', 'y'])>>> 'p' in s                  # 判斷元素是否在集合中True>>> set('py') < s               # 子集True

    可以看到上面,集合的打印結果是無序的,而且以上只是簡單舉例集合操作,想要了解更多關于集合的操作可以使用函數dir() 和help()查看。


可變對象(mutable)和不可變對象(immutable)的區別

  首先再次聲明,python中所有的類型操作都作為對象處理,而且對變量的使用不需要預先聲明類型(其實這里不該使用“變量”描述,姑且用“變量”代替吧),python會根據變量的值動態確定變量類型并存儲在內存中(這是python的一大特點),對于immutable類型,若要改變它的值,采取的機制是分配一個新的對象(這里不必擔心內存浪費的情況,python有自己的一套內存回收機制);而對于mutable 類型還是在原來的內存地址上進行操作,~~類似于在C++ 中的引用。

 

  下面給以上類型分分類:

    不可變對象(mutable):Number , String , tuple , frozenset 

    可變對象(immutable):list , dictionary , set


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 厦门市| 万全县| 开平市| 桐梓县| 六枝特区| 阿合奇县| 新邵县| 台前县| 鄂尔多斯市| 德惠市| 聊城市| 舞钢市| 来安县| 连江县| 施秉县| 商河县| 泾川县| 巴东县| 庆云县| 鲁山县| 满城县| 邢台市| 综艺| 凉城县| 伽师县| 禄劝| 新竹县| 昌宁县| 太湖县| 冕宁县| 东山县| 宜兰县| 库伦旗| 兴业县| 锦屏县| 岑溪市| 西林县| 梅州市| 安化县| 郁南县| 剑阁县|