十四、內置函數
阿新 • • 發佈:2018-04-27
相同 枚舉 pri class 內容 生成 dir 小數 映射
列表和生成器表達式
#一行搞定,列表推導式:用列表推導式能夠構建的任何列表,用別的都可以構建。
#一行,簡單,感覺高端。但是,不易排錯。
# li = [i for i in range(1,101)]
# print(li)
# l2 = [‘python%s期‘ % i for i in range(1,12)] 列表生成表達式
# print(l2)
#循環模式
#[經過加工的i for i in 可叠代對象]
l_obj = (‘python%s期‘ % i for i in range(1,12)) 生成器表達式
print(l_obj)
print(l_obj.__next__())
print(l_obj.__next__())
print(l_obj.__next__())
#列表推導式:一目了然,占內存。
#生成器表達式:不易看出,節省內容。
內置函數
#lambda 函數與內置函數的結合。
# sorted,map,fiter,max,min
1.filter過濾 這個函數只能過濾那些滿足函數要求的元素
s = [2,3,4,5,6]
s1 = filter(lambda x:x>4,s)
for i in s1:
print(i)
print(s1)
#5
6
2.map 會根據提供的函數對指定序列做映射。 這種方法可以讓叠代器內的元素做運算,將運算結果映射出來
s = [2,3,4,5,6]
s1 = map(lambda x:x-2,s)
for i in s1:
print(i)
#0
1
2
3
4
3,zip 以len 最短的為基準 拉鏈方法
l1 = [3,4,5]
l2 = (‘wdffv‘)
l3 = {‘w‘:3,‘e‘:4,‘f‘:6,‘v‘:8}
s = zip(l1,l2,l3)
for i in s:
print(i)
#(3, ‘w‘, ‘w‘)
(4, ‘d‘, ‘e‘)
(5, ‘f‘, ‘f‘)
4,enumerate 枚舉,返回一個枚舉對象
li = [‘老男孩‘, ‘alex‘, ‘wusir‘, ‘嫂子‘, ‘taibai‘] l2 = enumerate(li) for k,v in l2: print(k,v ) #0 老男孩 1 alex 2 wusir 3 嫂子 4 taibai
5,repr 原形畢露
print(repr(‘{"name":"alex"}‘))
print(‘{"name":"alex"}‘)
#‘{"name":"alex"}‘
{"name":"alex"}
6,print
# print(self, *args, sep=‘ ‘, end=‘\n‘, file=None)
print(333,end=‘‘)
print(666,)
print(111,222,333,sep=‘|‘)
#333666
111|222|333
7,eval:執行字符串類型的代碼,並返回最終結果
eval:執行字符串類型的代碼,並返回最終結果
print(eval(‘3 +4‘))
ret = eval(‘{"name":"老男孩"}‘)
print(ret,type(ret))
#7
{‘name‘: ‘老男孩‘} <class ‘dict‘>
8.exec:執行字符串類型的代碼,流程語句。
ret1 = ‘‘‘
li = [1,2,3]
for i in li:
print(i)
‘‘‘
exec(‘3 + 4‘) 這個不執行
print(exec(‘3 + 4‘)) None
exec (ret1) 1,2,3
print(exec(ret1)) 1,2,3 None
#None
1
2
3
1
2
3
None
9,callable 用於檢查一個對象是否是可調用的
如果返回True,object仍然可能調用失敗;但如果返回False,調用對象ojbect絕對不會成功。
def func1():
print(555)
a = 3
f = func1
print(callable(f))
print(callable(a))
True
False
10,dir
# print(dir(list))
11,reversed將一個序列翻轉,並返回此翻轉序列的叠代器。
li = [2,3,4,5,65,6,‘A‘,]
l2 = reversed(li)
for i in l2 :
print(i)
#A
6
65
5
4
3
2
數學相關
- abs(a) : 求取絕對值。abs(-1)
- max(list) : 求取list最大值。max([1,2,3])
- min(list) : 求取list最小值。min([1,2,3])
- sum(list) : 求取list元素的和。 sum([1,2,3]) >>> 6
- sorted(list) : 排序,返回排序後的list。
- len(list) : list長度,len([1,2,3])
- divmod(a,b): 獲取商和余數。 divmod(5,2) >>> (2,1)
- pow(a,b) : 獲取乘方數。pow(2,3) >>> 8
- round(a,b) : 獲取指定位數的小數。a代表浮點數,b代表要保留的位數。round(3.1415926,2) >>> 3.14
- range(a[,b]) : 生成一個a到b的數組,左閉右開。 range(1,10) >>> [1,2,3,4,5,6,7,8,9]
類型轉換
- int(str) : 轉換為int型。int(‘1‘) >>> 1
- float(int/str) : 將int型或字符型轉換為浮點型。float(‘1‘) >>> 1.0
- str(int) : 轉換為字符型。str(1) >>> ‘1‘
- bool(int) : 轉換為布爾類型。 str(0) >>> False str(None) >>> False
- bytes(str,code) : 接收一個字符串,與所要編碼的格式,返回一個字節流類型。bytes(‘abc‘, ‘utf-8‘) >>> b‘abc‘ bytes(u‘爬蟲‘, ‘utf-8‘) >>> b‘\xe7\x88\xac\xe8\x99\xab‘
- list(iterable) : 轉換為list。 list((1,2,3)) >>> [1,2,3]
- iter(iterable): 返回一個可叠代的對象。 iter([1,2,3]) >>> <list_iterator object at 0x0000000003813B00>
- dict(iterable) : 轉換為dict。 dict([(‘a‘, 1), (‘b‘, 2), (‘c‘, 3)]) >>> {‘a‘:1, ‘b‘:2, ‘c‘:3}
- enumerate(iterable) : 返回一個枚舉對象。
- tuple(iterable) : 轉換為tuple。 tuple([1,2,3]) >>>(1,2,3)
- set(iterable) : 轉換為set。 set([1,4,2,4,3,5]) >>> {1,2,3,4,5} set({1:‘a‘,2:‘b‘,3:‘c‘}) >>> {1,2,3}
- hex(int) : 轉換為16進制。hex(1024) >>> ‘0x400‘
- oct(int) : 轉換為8進制。 oct(1024) >>> ‘0o2000‘
- bin(int) : 轉換為2進制。 bin(1024) >>> ‘0b10000000000‘
- chr(int) : 轉換數字為相應ASCI碼字符。 chr(65) >>> ‘A‘
- ord(str) : 轉換ASCI字符為相應的數字。 ord(‘A‘) >>> 65
相關操作
- eval() : 執行一個表達式,或字符串作為運算。 eval(‘1+1‘) >>> 2
- exec() : 執行python語句。 exec(‘print("Python")‘) >>> Python
- filter(func, iterable) : 通過判斷函數fun,篩選符合條件的元素。 filter(lambda x: x>3, [1,2,3,4,5,6]) >>> <filter object at 0x0000000003813828>
- map(func, *iterable) : 將func用於每個iterable對象。 map(lambda a,b: a+b, [1,2,3,4], [5,6,7]) >>> [6,8,10]
- zip(*iterable) : 將iterable分組合並。返回一個zip對象。 list(zip([1,2,3],[4,5,6])) >>> [(1, 4), (2, 5), (3, 6)]
- type():返回一個對象的類型。
- id(): 返回一個對象的唯一標識值。
- hash(object):返回一個對象的hash值,具有相同值的object具有相同的hash值。 hash(‘python‘) >>> 7070808359261009780
- help():調用系統內置的幫助系統。
- isinstance():判斷一個對象是否為該類的一個實例。
- issubclass():判斷一個類是否為另一個類的子類。
- globals() : 返回當前全局變量的字典。
- next(iterator[, default]) : 接收一個叠代器,返回叠代器中的數值,如果設置了default,則當叠代器中的元素遍歷後,輸出default內容。
- reversed(sequence) : 生成一個反轉序列的叠代器。 reversed(‘abc‘) >>> [‘c‘,‘b‘,‘a‘]
十四、內置函數