Python内置函数系列

时间:2022-03-05 09:39:03

Python内置(built-in)函数随着python解释器的运行而创建。在Python的程序中,你可以随时调用这些函数,不需要定义。

作用域相关(2)

locals()  :以字典类型返回当前位置的全部局部变量

对于函数,方法,lambda函数,类,以及实现了__call__方法的类实例,它都返回True

globals() :以字典类型返回当前位置的全部全局变量

str类型代码的执行(3)

eval() :用来执行一个字符串表达式,并返回表达式的值

 eval(expression[,globals[,locals]])

 expression -- 表达式
globals -- 变量作用域,全局命令空间,如果被提供,则必须是一个字典对象
locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象
返回表达式计算结果 实例:
>>>x = 7
>>> eval( '3 * x' )
21
>>> eval('pow(2,2)')
4
>>> eval('2 + 2')
4
>>> eval("n + 4")
85

exe() :可以用来执行一个文件

exec(source, globals=None, locals=None, /)  无返回值(None)

compile() :将一个字符串编译为字节代码

 1 compile(source,filename,mode[, dont'_inherit]])
2 参数
3 source -- 字符串或者AST(Abstract Syntax Trees)对象
4 filename -- 代码文件名称,如果不是从文件读取代码则传递一些可辨认的值
5 mode -- 指定编译代码的种类。可以指定为exec,eval,single
6 flags -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象
7 flags和dont_inherit是用来控制编译源码时的标志
8
9
10 com = compile("1+2+3",'',model="eval") 读字符串,代码,执行
11 eval(com)
12 s = ‘name = input("user:")'
13 com = compile(s,'',mode='single')
14 exec(com)
15 #name = input("user:")
16 print(name)

输入输出(2)

input()
print()     : print(self, *args, sep=' ', end='\n',file=None)

数据类型相关(1)
type()  : 如果只有第一个参数则返回对象的类型,三个参数返回新的类型对象

isinstance()和type()区别:

type()不会认为子类是一种父类类型,不考虑继承关系

isinstance()会认为是一种父类类型,考虑继承关系。

如果要判断两个类型是否相同推荐使用isinstance()

 class type(name, bases, dict)
name -- 类的名称
bases -- 基类的元祖
dict -- 字典,类内定义的命名空间变量 返回值:一个参数返回对象类型,三个参数,返回新的类型对象

内存相关(2)

id()   函数用于获取对象的内存地址

hash()  用于获取一个对象(不可变数据类型/函数名)的哈希值

文件操作相关(1)

open()

#r,w,a,r+,w+,a+,(b),encoding指定编码
读写r+ (打开文件,如果直接写从头覆盖;如果读了在写,就是追加写,如果用seek指定的光标的位置,就从该位置开始覆盖写)

帮助(1)

help()  : 用户查看函数或模块用途的详细说明

调用相关(1)

callable()  :用于检查一个对象是否可调用的。如果返回True,objec仍然可能调用失败;但如果返回False,调用对象object绝对不会成功。

对于函数,方法,lambda函式,类,以及实现了__call__方法的类实例,它都返回True

callable(object)

查看内容属性(1)

dir()

函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。

>>>dir()   #  获得当前模块的属性列表
['__builtins__', '__doc__', '__name__', '__package__', 'arr', 'myslice']
>>> dir([ ]) # 查看列表的方法
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

数据类型相关(4)

bool()

int()

float()

complex()

进制转换(3)

bin()

oct()

hex()

数学运算(7)

abs()   计算绝对值

divmod()  返回(除,余) divmod(7,3)商2余1

min()

max()

sum()      参数必须是一个有序类型,可迭代对象

pow()     pow(2,3)  =  2**3

列表和元祖(2)

list()

tuple()

相关内置函数(2)

reversed()

顺序的反转 list(reversed(list)) (reversed返回一个迭代器)
list.reverse() 改变了之前的列表
slice()

字符串(9)

str()
format() format('test','<20')左对齐 >右对齐 ,^居中
bytes() 转换成字节,enconding,decode
bytearray() 字节数组;可以用下标取值
memoryview()
chr()
repr() 用于%格式化输出:repr('1234') repr(1234)

dict()
set()
frozenset() 冻结的集合 set()和forzenset()相当于list tuple

相关的内置函数
len()
enumerate() for i, j in enumerate(1,1)
all() 判断是否有bool值为False的值all([1,2,3]) true, all([0,1,2]) false
any() 判断是否有bool值为True的值 any([0.1') true, any([0,0]) false
zip()

filter()  是 Python 内置的另一个有用的高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。

请利用filter()过滤出1~100中平方根是整数的数,即结果应该是:
1 import math
def is_sqr(x):
return math.sqrt(x) % 1 == 0
print(list(filter(is_sqr,range(1,101)))) [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

map()   函数是python内置的高阶函数,对传入的list的每一个元素进行映射,返回一个新的映射之后的list

 l = [1,2,3,4]
def pow1(x):
return x*x
ret = list(map(pow1,l))
print(ret)
[1, 4, 9, 16]

sorted() 生成新的object,原object不改变 sorted(L1,key=abs,reverse=True)