Python内置(built-in)函数随着python解释器的运行而创建。在Python的程序中,你可以随时调用这些函数,不需要定义。
作用域相关(2)
locals() :以字典类型返回当前位置的全部局部变量
对于函数,方法,lambda函数,类,以及实现了__call__方法的类实例,它都返回True
globals() :以字典类型返回当前位置的全部全局变量
str类型代码的执行(3)
eval() :用来执行一个字符串表达式,并返回表达式的值
1 eval(expression[,globals[,locals]])
2
3 expression -- 表达式
4 globals -- 变量作用域,全局命令空间,如果被提供,则必须是一个字典对象
5 locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象
6 返回表达式计算结果
7
8 实例:
9 >>>x = 7
10 >>> eval( '3 * x' )
11 21
12 >>> eval('pow(2,2)')
13 4
14 >>> eval('2 + 2')
15 4
16 >>> eval("n + 4")
17 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()
1 class type(name, bases, dict)
2 name -- 类的名称
3 bases -- 基类的元祖
4 dict -- 字典,类内定义的命名空间变量
5
6 返回值:一个参数返回对象类型,三个参数,返回新的类型对象
内存相关(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
2 def is_sqr(x):
3 return math.sqrt(x) % 1 == 0
4 print(list(filter(is_sqr,range(1,101))))
5
6 [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
map() 函数是python内置的高阶函数,对传入的list的每一个元素进行映射,返回一个新的映射之后的list
1 l = [1,2,3,4]
2 def pow1(x):
3 return x*x
4 ret = list(map(pow1,l))
5 print(ret)
[1, 4, 9, 16]
sorted() 生成新的object,原object不改变 sorted(L1,key=abs,reverse=True)