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')