python數據類型及其函數方法歸納總結

數據類型的分類:
?數值型:
int ,float, complex, bool
? ? 序列對象:
字符串,列表,元組tuple
? ? 鍵值型
集合set,字典dict
如果按照可hash性來分類
hashable(可哈希性)
An object is hashable if it has a hash value which never changes during its
lifetime(it needs?_hash_() method),and can be compared to other objects
(it needs an _eq_() or _cmp_() method).Hashable objects which compare
?equal must have the same hash value.
如果 一個對象是可hash的,那么在它的生存期內必須不可變(需要一個哈希函數),而且可以和其
他對象比較需要比較方法).比較相同的對象一定有相同的哈希值
簡單的說就是生存期內可變的對象不可以哈希,就是說改變時候其id()是不可變的.
?? ?不可hash的:
列表,字典,集合
? ? 可hash型:
數值型,字符串,元組
是否可hash的區別主要是 字典里面的鍵必須為可hash類型的
可迭代類型 (interable)
序列對象:?字符串,列表,元組tuple ? ? ?還有 ? ?鍵值型:集合set,字典dict ?都是可迭代類型
他們都可以使用( for i in 對象: ) 將其元素一 一取出,使用 len(對象) 可以求其個數
range( ?),還有生成器產生的序列 也都是可迭代類型,無法打印顯示但是都能夠迭代
變量名
python中如果想使用一個數據多次,需要給它一個變量名,要不然它會被使用后消失
定義方法
python中所有數據類型生成即定義, ?如 a=3 ,生成int型變量3,變量名為a
a ={2,3,4},生成set型變量,變量名為a
對于列表,元組tuple,集合set,字典dict
可以通過構造函數獲得
list(iterable)
tuple(iterable)
set(iterable)
dict(iterable) ?構造函數中生成的對象要滿足類型的定義規定,所以字典中可迭代類型要由
一個或多個二元對象構成,且每個二元對象的第一個元素要為可hash類型,否則會報錯
數值型處理函數
round(),四舍六入五取偶
int()取整數部分. 強制類型轉換對象為數值型或者字符串,但是字符串需要為只包含數字
min() ,max() 獲取一系列數值類型中的最大和最小的數
bin(),oct(),hex() ?獲取一個十進制的二進制,八進制,十六進制數
使用math模塊可以實現幾乎所有數值類型處理 ? 可以使用 ?help(math) 查看幫助信息
或取圓周率,和自然常數
math.floor() 和 math.ceil() ?獲取一個數的地板,天花板
math.pi
math.e
字符串的定義初始化方法一般是直接生成
str(對象)也可以用,但很少用,如果對象一般是數值型,如果是其他類型會包含它們的表示符號
(”.join(對象) ?可以由其他類型生成字符串,但是需要借助到字符串)
使用help(str)可以查看到所有的字符串處理方法
可以使用索引訪問字符串中的每個元素
重用的有幾類,生成方法或者和格式化方法:
str(對象) -> str
“string”.join(iterable) -> str
‘string’ + ‘string’ -> str
格式化方法
“I am %03d” % (20,)
?‘I like %s.’ % ‘Python’
?‘%3.2f%% , 0x%x, 0X%02X’ % (89.7654, 10, 15)
?“I am %-5d” % (20,)
format函數的格式化方法
“{} {xxx}”.format(*args, **kwargs) -> str
分割方法:
split,partition等
split(sep=None, maxsplit=-1) -> list of strings
排版方法:
改變大小寫,居中顯示等
修改方法:
刪去,或修改字符
查詢方法:
find,index,count等
列表的定義初始化方法
list(iterable) -> new list initialized from iterable’s items
使用help(list)可以查看到所有的列表處理方法
可以使用索引訪問字符串中的每個元素
列表[index] ?可以訪問它的值,如果對它賦值可以修改它的值
追加 ? append(object) -> None
嵌入 ? insert(index, object) -> None
擴展 ?? extend(iteratable) -> None
連接或者重復操作產生一個新的列表 ? ?+, -> list
刪除 ?? remove(value) -> None
刪除末尾 ? pop([index]) -> item
清空 ? clear() -> None
反轉 ?reversed() -> None
排序 ? sort(key=None, reverse=False) -> None
復制 ?copy() ?-> List
元組由于是不可變類型,但是結構又比字符串復雜所有,它的操作函數很少
help(tuple) ,help(set),help(dict) 不解釋
它的定義初始化方法
tuple(iterable) -> tuple initialized from iterable’s items
連接或者重復操作產生一個新的元組 ? ?+, -> tuple
元組[index] ?可以訪問但無法賦值修改它的值
count() 獲得元素個數
set ?和 dict 也是可迭代類型不同于字符串,列表,元組的是沒法索引
set 的元素必須可hash類型
set初始化方法
set(iterable) -> new set object
增加元素 add(elem),update(*others)
刪除元素 remove等
clear()清空
dict初始化方法
可以是一個或兩個參數
dict(**kwargs),dict(iterable)
dict(iterable, **kwarg)
參數要滿足嚴格的格式
類方法 dict.fromkeys(iterable, value)
訪問
字典[key] ? ?賦值可以修改它的值
get(key[, default])
setdefault(key[, default]) ?訪問并修改
刪除 ? pop(),等
模塊collections中有兩個非常重要的函數
collections.defaultdict([default_factory[, …]])
當定義一個defaultdict時,如果獲取它的key不存在時,會獲取這個工廠函數生成對應的value
collections.OrderedDict([items])
當定義一個OrderedDict時,獲得的字典會按照生成它時的順序排列

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/87713

(1)
daishitongdaishitong
上一篇 2017-10-09 19:21
下一篇 2017-10-09

相關推薦

  • Python線程指南

    本文介紹了Python對于線程的支持,包括“學會”多線程編程需要掌握的基礎以及Python兩個線程標準庫的完整介紹及使用示例。 注意:本文基于Python2.4完成,;如果看到不明白的詞匯請記得百度谷歌或維基,whatever。 尊重作者的勞動,轉載請注明作者及原文地址 >.< 1. 線程基礎 1.1. 線程狀態 線程有5種狀態,狀態轉換的過程如…

    2015-03-13
  • Python爬蟲實戰七之計算大學本學期績點

    大家好,本次為大家帶來的項目是計算大學本學期績點。首先說明的是,博主來自山東大學,有屬于個人的學生成績管理系統,需要學號密碼才可以登錄,不過可能廣大讀者沒有這個學號密碼,不能實際進行操作,所以最主要的還是獲取它的原理。最主要的是了解cookie的相關操作。 本篇目標 1.模擬登錄學生成績管理系統 2.抓取本學期成績界面 3.計算打印本學期成績 1.URL的獲…

    2017-09-09
  • DevOps如何重構IT戰略

    翻譯: 至尊寶 原文: http://www.citeworld.com/article/2897738/development/how-devops-can-redefine-your-it-strategy.html?page=2   DevOps究竟是曇花一現還是你一直在尋找的競爭優勢?我們咨詢了一些專家,對于這種趨勢他們的想法是什…

    Python干貨 2015-03-26
  • 開源跳板機Jumpserver v2.0.0 Beta版發布

    demo頁面: http://demo.jumpserver.org admin admin 一. 更新Log — 登錄腳本 — 1.1 使用paramiko原生ssh協議登錄后端主機(原來版本使用pexpect模擬登錄) 1.2 新增使用別名或備注登錄 1.3 新增主機分組查看,使用更方便 1.4 多線…

    Linux干貨 2015-04-20
  • queue,threading,user_agents

    queue 模塊 隊列
    threading 模塊 線程
    user_agents 瀏覽器信息提取

    2018-05-07
欧美性久久久久