Python内置函数系列

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)




 

posted @ 2017-08-01 16:22  eric_yi  阅读(146)  评论(0编辑  收藏  举报