what's the 内置函数?

  内置函数,内置函数就是python本身定义好的,我们直接拿来就可以用的函数。(python中一共有68中内置函数。)

    Built-in Functions    
abs() dict() help() min() setattr()
all() dir() hex() next() slice()
any() divmod() id() object() sorted()
ascii() enumerate() input() oct() staticmethod()
bin() eval() int() open() str()
bool() exec() isinstance() ord() sum()
bytearray() filter() issubclass() pow() super()
bytes() float() iter() print() tuple()
callable() format() len() property() type()
chr() frozenset() list() range() vars()
classmethod() getattr() locals() repr() zip()
compile() globals() map() reversed() __import__()
complex() hasattr() max() round()  
delattr() hash() memoryview() set()  

下面我们由作用不同分别进行详述:(字体加粗的为重点要掌握的)

与作用域相关:global和local

  • global——获取全局变量的字典
  • local——获取执行本方法所在命名空间内的局部变量的字典

str类型代码的执行:eval、exec、compile

  • eval()——将字符串类型的代码执行并返回结果
  • 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'"

与数字相关的:

  • 数字——数据类型相关: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

与数据结构有关:

  • 序列——列表和元组相关的: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]

其他:

输入输出: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)
复制代码
  • callable——查看参数是否能被调用
def func():pass
print(callable(func)) #参数是函数名,可调用,返回True
print(callable(123)) #参数是数字,不可调用,返回False
  • dir——可用于查看一个数据类型的内置方法,类似于help,是一种帮助

附:可供参考的有关所有内置函数的文档https://docs.python.org/3/library/functions.html#object

最新文章

  1. 【转载】跟随 Web 标准探究DOM -- Node 与 Element 的遍历
  2. 有关Javascript的length()函数
  3. java读取excel文件
  4. 去除DataTable中的重复数据
  5. fonts.googleapis.com 加载慢的解决方法
  6. pdo文字水印类,验证码类,缩略图类,logo类
  7. WP8:Unity3D之间的值传递
  8. Android开源源码推荐(一)
  9. A7600官方ROM_VIBEUI_V2.5_1537联通版使用体验
  10. Could not find a transformer to transform &quot;SimpleDataType{type=org.mule.transport.NullPayload
  11. JVM学习笔记(一)------基本结构
  12. hibernate配置文件详细解释
  13. [Mugeda HTML5技术教程之13]链接的添加方式
  14. 浅谈 angular新旧版本问题
  15. Oracle游标详解大全
  16. H5开发中的故障
  17. Docker配置加速器
  18. LoadRunner中 host-mapping的Capture Level说明
  19. 开源CFD并非万金油
  20. 【租房合同】2017北京市房屋租赁合同(自行成交版).doc

热门文章

  1. [原]OpenGL基础教程(一)多边形绘制
  2. [Bayes] Understanding Bayes: A Look at the Likelihood
  3. [IR] Graph Compression
  4. [React] 16 - Topic: Mixins &amp; Higher-Order Components
  5. 【Latex】常用工具包
  6. perl 遍历指定目录下的所有文件,替换指定文本内容,返回受影响的文件路径
  7. 网络推送通知:及时,相关和准确 (navigator.serviceWorker.register(), window.PushManager, new Notification)
  8. scala breeze使用替换底层线性库
  9. 基于jdk1.8的HashMap源码学习笔记
  10. 洛谷P1126 机器人搬重物【bfs】