Python内置函数
Posted lockegogo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python内置函数相关的知识,希望对你有一定的参考价值。
#author: Lockegogo #all()函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False #元素除了是 0、空、None、False 外都算 True #all(iterable) #元组或列表 print(all([0, -3, 5])) #any()函数用于判断给定的可迭代参数 iterable 中的如果有一个元素为真则为 TRUE print(any([0, -3, 5])) #ascii()函数把数据对象变成可打印的字符串的形式 print(ascii([1, 2, ‘你好‘])) #bin()函数十进制转二进制 print(bin(255)) #布尔函数:0就是假,1就是真,空列表空字符串都是假 print(bool(0)) a = bytes(‘abcde‘, encoding=‘utf-8‘) print(a.capitalize(), a) #字符串不能修改,只能覆盖 b = bytearray(‘abcde‘, encoding=‘utf-8‘) #bytearray()函数表示可修改的二进制字节格式 print(b[0]) #打印a的ascii码:97 b[1] = 100 #b就变为d, 100是d的ascii码 print(b) #callable()函数用于检查一个对象是否是可调用的 #函数,方法、lambda 函式、 类都是可以调用的 def a(): pass print(callable(a)) #chr()函数返回ascii码对应的字符 print(chr(98)) #ord()函数返回字符对应的ascii码 print(ord(‘b‘)) #compile()函数将一个字符串编译为字节代码 code = ‘for i in range(10): print(i)‘ compile(code, ‘‘, ‘exec‘) print(exec(code)) #dir()函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表 d = {} print(dir(d)) #divmod()函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a //b, a % b) print(divmod(5, 2)) #返回(2, 1) #eval()函数把字符串转换成字典,并返回结果 print(eval(‘4+4‘)) #exec()执行储存在字符串或文件中的Python语句,相比于 eval,exec 可以执行更复杂的 Python 代码 code1 = ‘for i in range(10): print(i)‘ print(exec(code1)) def sayhi(n): print(n) for i in range(10): print(i) sayhi(3) #lambda()用来创建匿名函数,函数体比def简单很多,只能处理三元运算,无法实现很复杂的功能 #lambda [arg1 [,arg2,.....argn]]:expression calc = lambda n: print(n) calc(5) calc1 = lambda n: 3 if n < 4 else n print(‘三元运算的结果:‘, calc1(1)) sum = lambda arg1, arg2: arg1+arg2 print(‘相加后的值:‘, sum(100, 2)) #filter()函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表 #filter(function, iterable) res = filter(lambda n: n > 5, range(10)) #打印大于5的数 for i in res: print(i) #map()会根据提供的函数对指定序列做映射 #第一个参数function以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表 #map(function, iterable, ...) res1 = map(lambda n: n*n, range(10)) #列表生成式:[i*i for i in range(10)] res2 = [lambda i: i*i for i in range(10)] #和上一句效果完全一样 for i in res1: print(‘map:‘, i) #reduce()函数会对参数序列中元素进行累积 #用传给reduce中的函数function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果 import functools res3 = functools.reduce(lambda x, y: x*y, range(1, 10)) print(res3) #阶乘 #frozenset()返回一个冻结的集合,冻结后集合不能再添加或删除任何元素 a = frozenset([1, 2, 4, 5, 1, 6]) #功能上将集合变为元组 #globals()函数会以字典类型返回当前位置的全部全局变量 print(globals()) #哈希算法:折半查找 #hash()用于获取取一个对象(字符串或者数值等)的哈希值 print(hash(‘Lcokegogo‘)) #hex()函数用于将10进制整数转换成16进制,以字符串形式表示 print(hex(255)) #oct()函数用于将10进制整数转换成8进制,以字符串形式表示 print(oct(8)) #locals()函数会以字典类型返回当前位置的全部局部变量 def test(): local_var = 333 print(locals()) #打印当前位置的局部变量 test() print(globals()) #只打印全局的变量,不打印局部的 print(globals().get(‘local_var‘)) #pow()方法返回xy(x的y次方)的值 print(pow(3, 5)) #round()函数保留两位小数 print(round(1.3452)) #slice()函数实现切片对象,主要用在切片操作函数里的参数传递 myslice = slice(5) arr = range(10) print(arr[myslice]) #sort()函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数 dict = {6:2, 8:0, 99:11, 4:22} print(dict) print(sorted(dict.items())) #按key来排序 print(sorted(dict.items(), key=lambda x:x[1])) #按value来排序 #zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表 a1 = [1,2,3] b1 = [‘a‘, ‘b‘, ‘c‘] for i in zip(a1, b1): print(i) #元素个数与最短的列表一致 #import ‘decorator‘ __import__(‘decorator‘)
以上是关于Python内置函数的主要内容,如果未能解决你的问题,请参考以下文章