python内置函数

 

函数名

解释

例子

abs()

绝对值

>>> print(abs(-1))
1

all()

循环传入的对象,并判断bool值,所有都是True才返回True

>>> print(all([1,2,3,4,5,6]))
True
>>> print(all([1,2,3,4,5,0]))
False

any()

循环传入的对象,并判断bool值,任意一个值为True就返回True

>>> print(all([1,2,3,4,5,0]))
True
>>> print(any([0]))
False

bin()

将十进制转成二进制

>>> bin(100)
'0b1100100'

callable()

是否可调用

>>> def hi():print('sayhi')
...
>>> callable(hi)
True

bool()

判断布尔值

>>> bool('fda')
True
>>> bool(0)
False
>>> bool(None)
False

bytearray()

将参数变为byte格式的列表,使其可修改

>>> a = 'alex'
>>> b = a.encode()
>>> b2 = bytearray(b)
>>> b2[0]
97
>>> b2[0] = 98
>>> b2.decode()
'blex'

bytes() 字节

将参数变为byte格式

>>> bytes(1)
b'\x00'
>>> bytes('oldboy'.encode())
b'oldboy'
>>> bytes('老男孩'.encode())
b'\xe8\x80\x81\xe7\x94\xb7\xe5\xad\xa9'

chr()

把数字转成ascii码

>>> chr(123)
'{'
>>> chr(98)
'b'
>>> chr(50)
'2'

ord()

将ascii码转为数字

>>> ord('{')
123
>>> ord('a')
97
>>> ord('1')
49

compile()

将代码文件加载进来,按exec或eval的方式解析并执行

f = open('a.py')
data = complie(f.read(),'','exec')
exec(data)

exec()

可以把字符串形式的代码解析并执行

>>> a = 'print("abvvc")'
>>> exec(a)
abvvc

eval()

把字符串形式的表达式解析并执行

>>> b = "1+3/2*4"
>>> eval(b)
7.0

complex()

复数

 

dir()

看对像所有的方法

 

dict()

创建一个新字典

>>> dict(one=1, two=2, three=3)
{'two': 2, 'three': 3, 'one': 1}
>>> dict(zip(['one', 'two', 'three'], [1, 2, 3]))
{'two': 2, 'three': 3, 'one': 1}

divmod()

返回余数和商

>>> print(divmod(10,3))
(3, 1)
>>> print(divmod(10,2))
(5, 0)

filter(函数,可迭代对象)

返回过滤的值,例:查找大于五的数

>>> a = range(10)
>>> b = filter(lambda x:x>5,a)
>>> for i in b: print(i)
...
6
7
8
9
>>> list(b)

map()

传一个参数,配合lambda使用,返回一个列表,例:每个值+1

>>> a = map(lambda x:x+1, range(10))
>>> list(a)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

reduce()

传两个参数,例:0到9累加

>>> from functools import reduce
>>> a = reduce(lambda x,y:x+y,range(10))
>>> a
45

globals()

把当前环境全局变量以字典形式展示

 

locals()

把当前环境的局部变量以字典形式展示

 

frozenset()

传入可迭代对象,返回 不可变集合

>>> frozenset('123')
frozenset({'2', '3', '1'})
>>> frozenset([1,2,3])
frozenset({1, 2, 3})

hash()

取hash值,在同一脚本、命令行中,同一个对象的哈希值不变

>>> hash(123)
123
>>> hash('123')
-6029623391157008272
>>> hash('123')
-6029623391157008272

hex()

数字转换成16进制

>>> hex(123)
'0x7b'

id()

查看对象的内存地址

>>> id(123)
8943552
>>> id(a)
140483542707032

isinstance()

判断对象和数据类型是否一致,返回布尔值,功能与type()一样

>>> print(isinstance('s',str))
True
>>> print(isinstance(123,int))
True
>>> print(isinstance([1,2,3],list))
True
>>> print(isinstance({1:2},dict))
True
>>> print(isinstance((1,2,3),tuple))
True

memoryview()

在进行切片并赋值数据时,不需要重新copy源列表数据,可以直接映射源数据内存

a = memoryview(b'alex')
for n in (10000,20000,30000,40000):
    data = b'x'*n
    start = time.time()
    b = memoryview(data)
    while b:
        b = b[1:]
    print(time.time()-start)

oct()

8进制,没啥用,忘记他吧

 

pow()

xx的几次方

>>> pow(4,2)
16
>>> pow(10,32)
100000000000000000000000000000000

print()

打印

---- 打印不换行 ----
>>> print("haha",end='')
haha>>>
---- 进度条 牛了逼了 ----
import time
for i in range(10):
    print("#",end='',flush=True)
    time.sleep(0.1)
---- 打印输出保存到文件 ----
f = open('test.txt',w)
print('hey,you',file=f)

repr()

给终端用的,忘记他吧

 

reversed()

排逆序,不会改变原来的对象

>>> l = [1,2,3]
>>> reversed(l)
<list_reverseiterator object at 0x7ff8e332bef0>
>>> list(reversed(l))
[3, 2, 1]

round()

四舍五入

>>> round(3.1415926,2)
3.14

slice()

切片,一般用不上,忘记他吧

>>> l = [1,2,3]
>>> a = slice(0,2,1)
>>> l[a]
[1, 2]

sum()

求和

>>> print(sum([1,2,3,4,5]))
15
>>> print(sum([1,2,3,4,5],100))
115

vars()

以字典形式返回对象object的属性和属性值。如果默认不输入参数,就打印当前调用位置的属性和属性值,相当于locals()的功能。

>>> def func():pass
...
>>> func.version = 1.00
>>> vars(func)
{'version': 1.0}
>>> func.__dict__
{'version': 1.0}

zip()

合并两个可迭代对象的元素

>>> a = list(range(10))
>>> b = list(range(10,16))
>>> zip(a,b)
<zip object at 0x7f77567828c8>
>>> list(zip(a,b))
[(0, 10), (1, 11), (2, 12), (3, 13), (4, 14), (5, 15)]
-------------------------------------------------------
>>> a = {1:'a',2:'b',3:'c'}
>>> b = {4:'d',5:'e',6:'f',7:'g'}
>>> zip(a,b)
<zip object at 0x7f7756782cc8>
>>> list(zip(a,b))
[(1, 4), (2, 5), (3, 6)]

posted @ 2017-02-27 10:11  wescker  阅读(140)  评论(0)    收藏  举报