本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/87713
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時,獲得的字典會按照生成它時的順序排列
贊 (1)
建立dns服務
上一篇
2017-10-09 19:21
ThridWeek_FirstDay
下一篇
2017-10-09