我们一起来看看python里的内置函数。什么是内置函数?就是Python给你提供的,拿来直接用的函数,比如print,input等等。截止到python版本3.6.2,现在python一共为我们提供了68个内置函数。它们就是python提供给你直接可以拿来使用的所有函数。这些函数有些我们已经用过了,有些我们还没用到过,还有一些是被封印了。
一.其它中的12个
1.执行字符串类型代码的执行
eval:用来执行一个字符串表达式,并返回表达式的值。
描述
eval() 函数用来执行一个字符串表达式,并返回表达式的值。
语法
以下是 eval() 方法的语法:
eval(expression[, globals[, locals]])
参数
expression--表达式。
globals--变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
locals--变量作用域,局部命名空间,如果被提供,可以是任何映射对象。
返回值
返回表达式计算结果。
实例
以下展示了使用 eval() 方法的实例:>>>x = 7
>>> eval( '3 * x')21
>>> eval('pow(2,2)')4
>>> eval('2 + 2')4
>>> n=81
>>> eval("n + 4")85
View Code
exce:执行存储在字符串或文件中的Python语句,相比于eval,exec可以执行更Python代码
描述exec执行储存在字符串或文件中的Python语句,相比于 eval,exec可以执行更复杂的 Python 代码。
需要说明的是在 Python2 中exec不是函数,而是一个内置语句(statement),但是Python 2中有一个 execfile() 函数。可以理解为 Python3 把 exec 这个 statement 和 execfile() 函数的功能够整合到一个新的 exec() 函数中去了。
语法
以下是exec的语法:execobj
参数
obj--要执行的表达式。
返回值exec返回值永远为 None。
实例
以下展示了使用exec的实例:#实例 1
>>>exec 'print "Hello World"'Hello World#单行语句字符串
>>> exec "print 'runoob.com'"runoob.com#多行语句字符串
>>> exec """for i in range(5):
... print "iter time: %d" % i
..."""iter time: 0
iter time:1iter time:2iter time:3iter time:4
#实例 2
x = 10expr= """z = 30
sum = x + y + z
print(sum)"""
deffunc():
y= 20
exec(expr)exec(expr, {'x': 1, 'y': 2})exec(expr, {'x': 1, 'y': 2}, {'y': 3, 'z': 4})
func()
输出结果:60
33
34
View Code
-exec和eval都可以执行 字符串类型的代码-eval有返回值 —— 有结果的简单计算-exec没有返回值 —— 简单流程控制- eval只能用在你明确知道你要执行的代码是什么
compile:将一个字符串编译为字节代码。
ret='for i in range(5):print(i)'c=compile(ret,'','exec') #用exec执行,有返回值
exec(c)
ret='1+2+3+4'c=compile(ret,'','eval') #''引号原本的功能是放
print(eval(c)) #用eval执行,没有返回值,所以需要打印
View Code
2.输入输出
input:接受一个标准输入数据,返回为 string 类型。
>>>a = input("input:")
input:123 #输入整数
>>>type(a) #整型
>>> a = input("input:")
input:"runoob" #正确,字符串表达式
>>>type(a) #字符串
>>> a = input("input:")
input:runoob#报错,不是表达式
Traceback (most recent call last):
File"", line 1, in File"", line 1, in NameError: name'runoob' is notdefined
input3.x
>>>a = raw_input("input:")
input:123
>>>type(a) #字符串
>>> a = raw_input("input:")
input:runoob>>>type(a) #字符串
>>>
input2.x
print:方法用于打印输出,最常见的一个函数。
print 在 Python3.x 是一个函数,但在 Python2.x 版本不是一个函数,只是一个关键字。
>>>print(1)1
>>> print("Hello World")
Hello World>>> a = 1
>>> b = 'runoob'
>>> print(a,b)1runoob>>> print("aaa""bbb")
aaabbb>>> print("aaa","bbb")
aaa bbb>>>
>>> print("www","runoob","com",sep=".") #设置间隔符
www.runoob.com
View Code
3.内存相关
hash:用于获取取一个对象(字符串或者数值等)的哈希值。
>>>hash('test') #字符串
2314058222102390712
>>> hash(1) #数字
1
>>> hash(str([1,2,3])) #集合
1335416675971793195
>>> hash(str(sorted({'1':1}))) #字典
7666464346782421378
View Code
id:用于获取对象的内存地址。
>>>a = 'runoob'
>>>id(a)4531887632
>>> b = 1
>>>id(b)140588731085608
View Code
4.文件操作
open:函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写。
r:
以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb:
以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+:
打开一个文件用于读写。文件指针将会放在文件的开头。
rb+:
以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w:
打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb:
以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
w+:
打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+:
以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
a:
打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab:
以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+:
打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+:
以二进制格式打开一个文件用于追加。如果该文件已存在