内置函数,内置函数就是 python 本身定义好的,我们直接拿来就可以用的函数。(python 中一共有 68 中内置函数。)
下面我们由作用不同分别进行详述:(字体加粗的为重点要掌握的)
与作用域相关:global 和 local
global——获取全局变量的字典
local——获取执行本方法所在命名空间内的局部变量的字典
str 类型代码的执行:eval、exec、compileeval()——将字符串类型的代码执行并返回结果 exec()——将字符串类型的代码执行单不返回结果compile ——将字符串类型的代码编译。代码对象能够通过 exec 语句来执行或者 eval() 进行求值
- >>> #流程语句使用exec
- >>> code1 = 'for i in range(0,10): print (i)'
- >>> compile1 = compile(code1,'','exec')
- >>> exec (compile1)
- 1
- 3
- 5
- 7
- 9
- >>> #简单求值表达式用eval
- >>> code2 = '1 + 2 + 3 + 4'
- >>> compile2 = compile(code2,'','eval')
- >>> eval(compile2)
- >>> #交互语句用single
- >>> code3 = 'name = input("please input your name:")'
- >>> compile3 = compile(code3,'','single')
- >>> name #执行前name变量不存在
- Traceback (most recent call last):
- File "<pyshell#29>", line 1, in <module>
- name
- NameError: name 'name' is not defined
- >>> exec(compile3) #执行时显示交互命令,提示输入
- please input your name:'pythoner'
- >>> name #执行后name变量有值
- "'pythoner'"
View Code
与数字相关的:数字——数据类型相关:bool,int,float,complex
数字——进制转换相关:bin,oct,hex
数字——数学运算:abs(输出为数字的绝对值),divmod(使用方法即 divmod(数字 1,数字 2),输出为 (数字 1 整除数字 2 后得到的数,余数)),min,max,sum,round(精确的功能),pow(pow 的使用方法即 pow(数字 1,数字 2),数字 1** 数字 2,即次方的形式)
- print(divmod(7,3))#(2,1)
- print(round(3.14159,2))#3.14
- f = 4.197937590783291932703479 #-->二进制转换的问题
- print(f)#4.197937590783292
View Code
与数据结构有关:序列——列表和元组相关的:list 和 tuple
序列——字符串相关的:str,format,bytes,bytesarry,memoryview,ord(ord 与 chr 互为倒数,不过这不需要掌握),chr(返回表示 Unicode 代码点为整数 i 的字符的字符串。例如,chr(97) 返回字符串'a',同时 chr(8364) 返回字符串'€'),ascii,repr
序列:reversed(用 l.reverse,将原列表翻转并赋值,用 list(reversed(l) 只是将原列表翻转看看,不改变原列表的值也就是说不覆盖),slice(切片的功能)
数据集合——字典和集合:dict,set,frozenset
数据集合:len,sorted(排序功能),enumerate(将一个列表的元素由 "索引 值" 的形式一一解包出来),all,any,zip,filter(一种过滤的功能),map(一种迭代的功能)
- l2 = [1,3,5,-2,-4,-6]
- print(sorted(l2,key=abs,reverse=True))#[-6, 5, -4, 3, -2, 1]
- print(sorted(l2))#[-6, -4, -2, 1, 3, 5]
- print(l2)#[1, 3, 5, -2, -4, -6]
- l = ['a','b']
- for i,j in enumerate(l,1):
- print(i,j)
- #1 a
- 2 b
- L = [1,2,3,4]
- def pow2(x):
- return x*x
- l=map(pow2,L)
- print(list(l))
- # 结果:
- [1, 4, 9, 16]
- def is_odd(x):
- return x % 2 == 1
- l=filter(is_odd, [1, 4, 6, 7, 9, 12, 17])
- print(list(l))
- # 结果:
- [1, 7, 9, 17]
View Code
其他:输入输出:input(),print()
input——与用户交互用的
print——打印
- #print的源码分析:
- def print(self, *args, sep=' ', end='\n', file=None): # known special case of print
- """
- print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
- file: 默认是输出到屏幕,如果设置为文件句柄,输出到文件
- sep: 打印多个值之间的分隔符,默认为空格
- end: 每一次打印的结尾,默认为换行符
- flush: 立即把内容输出到流文件,不作缓存
- """
- #有关进度条打印的小知识
- import time
- import sys
- for i in range(0,101,2):
- time.sleep(0.1)
- char_num = i//2 #打印多少个#
- per_str = '%s%% : %s\n' % (i, '*' * char_num) if i == 100 else '\r%s%% : %s'%(i,'*'*char_num)
- print(per_str,end='', file=sys.stdout, flush=True)
- 复制代码
View Code
callable——查看参数是否能被调用
- def func():pass
- print(callable(func)) #参数是函数名,可调用,返回True
- print(callable(123)) #参数是数字,不可调用,返回False
dir——可用于查看一个数据类型的内置方法,类似于 help,是一种帮助
附:可供参考的有关所有内置函数的文档 https://docs.python.org/3/library/functions.html#object
来源: http://www.bubuko.com/infodetail-2451212.html