day4-内置函数

内置函数概览

官方详细地址:猛击这里

常用内置函数

1.abs()

用法:取绝对值

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

2.all()

用法:在可迭代的所有元素都是True返回True,空也返回True,0为真,0为假

>>>print(all([1,-1,2,5]))
True

>>>print(all([]))
True

>>>print(all([0,1,-1,2,5]))
False

3.any()

用法:如果可迭代里任意元素是True返回True,空返回False

>>>print(any([0,1,2]))
True

>>>print(any([]))
False

4.ascii()

用法:把内存对象转换成一个可打印的字符串

>>>a=ascii([1,2,"dick"])
>>>print(type(a),[a])
<class 'str'> ["[1, 2, 'dick']"]

5.bin()

用法:将数字十进制转二进制

>>> bin(1)
'0b1'

>>> bin(255)
'0b11111111'

6.bool()用法:返回布尔值

>>> bool(1)
True

>>> bool(0)
False

7.bytes()

用法:把字符串转换为字节

>>>a=bytes("abcde",encoding="utf-8")
>>>print(a.capitalize(),a)
b'Abcde' b'abcde'


a = bytes("abcde",encoding="utf-8")
b = bytearray("abcde",encoding="utf-8")
print(a.capitalize(),a)
print(b[0])
#输出
97
bytearray(b'a\xc8cde')

8.callable()

用法:检查对象是否可调用

>>>callable(1)
False

9.chr()

用法:把数字对应的ascii码输出

>>> chr(98)
'b'

>>> chr(100)
'd'

10.ord():

用法:ascii码对应的数字输出

>>> ord("d")
100

11.compile()

用法:将代码编译可以被exec()eval()执行

>>> code = "for i in range(10):print(i)"
>>> compile(code,"","exec")
<code object <module> at 0x105440ae0, file "", line 1>
>>> exec(code)
0
1
2
3
4
5
6
7
8
9


>>> code = "2+6*7-9"
>>> compile(code,"","eval")
<code object <module> at 0x1054828a0, file "", line 1>
>>> eval(code)
35

12.dir()

用法:查看对象有哪些方法

>>> a = []
>>> dir(a)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

13.divmod()

用法:求商和余数

>>> divmod(5,2)
(2, 1)

14.dict()

用法:生成字典

>>> dict()
{}

15.enumerate()

用法:返回一个enumerate类型,参数一般是可以遍历的东西,比如列表或字符串

>>>seasons=["spring","summer","fall","winter"]
>>>list(enumerate(seasons))
[(0, 'spring'), (1, 'summer'), (2, 'fall'), (3, 'winter')]

16.eval()

用法:把字典类型的字符串变成字典,把一个整数类型的字符变成int类型,或者加减乘除这种转换成表达式

>>> x=1
>>> eval("x+3")  #字符串转换为表达式
4

17.exec()

用法:有语句的和复杂的语句的字符串转换成表达式

>>> x=1
>>> exec("x+3")  #字符串转换为表达式
4

18.filter(function,iterable)

用法:通过function过滤条件,去获取iterable中你想要的数据

>>>a=filter(lambda n:n>5,range(10))
>>>a
<filter object at 0x0000000003093BE0>  #得到一个迭代器
>>>for i in a:
      print(i)
6
7
8
9

19.map(function,iterable)

用法:把后面的值拿出来交给前面处理,处理完再返回一个列表

a=map(lambda n:n*5,range(10))  #[lambda i:i*5 for i in range(10)] ##[i*5 for i in range(10)] 一样的效果

for i in a:
    print(i)
#输出
0
5
10
15
20
25
30
35
40
45

>>> [i*2 for i in range(10)]
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

20.reduce(function,iterable)

用法:把一组可迭代的序列通过function函数操作,元素之间相加或相乘操作。

import functools
res=functools.reduce(lambdax,y:x+y,range(10))  #从零加到9
print(res)
#输出
45

21.frozenset()

用法:把集合变成一个不可变集合

a=frozenset([11,22,3,34,55,66,1,1,11])

22.globals()

用法:返回当前程序里所有得变量字典格式key-value,变量是key,值是value

print(globals())

23.hash()

用法:返回该对象对应的hash值

>>> hash("dick")
-5772896519524564086

24.hex()

用法:把一个数字转成16进制

>>> hex(11)
'0xb'

25.id()

用法:返回内存地址

>>> id(1)
4297546560

26.locals()

用法:打印局部变量

def test():
    locals_var = 333
    print(locals())   #只打印局部变量
 
test()
print(globals().get("locals_var"))  #只能打印全局变量
#输出
{'locals_var': 333}
None

27.oct()

用法:转八进制--逢八进一

>>> oct(9)
'0o11'

28.pow()

用法:几的次方

>>> pow(3,5)
243

29.sorted()

用法:对序列排序

>>> sorted([5,3,2,6,8])
[2, 3, 5, 6, 8]
>>> a = {1:5,6:8,3:6}
>>> sorted(a)  #默认是按key排序
[1, 3, 6]
>>> sorted(a.items())  #按key排序
[(1, 5), (3, 6), (6, 8)]
>>> sorted(a.items(),key = lambda x:x[1])  #按value排序
[(1, 5), (3, 6), (6, 8)]

30.zip()

用法:按最少的拼

a=[1,2,3,4]
b=["a","b","c","d"]
 

for i in zip(a,b):
    print(i)
#输出
(1, 'a')
(2, 'b')
(3, 'c')
(4, 'd')
posted @ 2017-07-26 13:16  Mr.hu  阅读(98)  评论(0编辑  收藏  举报