python内置函数用来打开文件_python内置函数

我们一起来看看python里的内置函数。什么是内置函数?就是Python给你提供的,拿来直接用的函数,比如print,input等等。截止到python版本3.6.2,现在python一共为我们提供了68个内置函数。它们就是python提供给你直接可以拿来使用的所有函数。这些函数有些我们已经用过了,有些我们还没用到过,还有一些是被封印了。

1329097-20181013104007396-51021534.png

1329097-20181013104313836-1785199902.png

一.其它中的12个

1.执行字符串类型代码的执行

eval:用来执行一个字符串表达式,并返回表达式的值。

ContractedBlock.gif

ExpandedBlockStart.gif

描述

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代码

ContractedBlock.gif

ExpandedBlockStart.gif

描述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:将一个字符串编译为字节代码。

ContractedBlock.gif

ExpandedBlockStart.gif

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 类型。

ContractedBlock.gif

ExpandedBlockStart.gif

>>>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

ContractedBlock.gif

ExpandedBlockStart.gif

>>>a = raw_input("input:")

input:123

>>>type(a) #字符串

>>> a = raw_input("input:")

input:runoob>>>type(a) #字符串

>>>

input2.x

print:方法用于打印输出,最常见的一个函数。

print 在 Python3.x 是一个函数,但在 Python2.x 版本不是一个函数,只是一个关键字。

ContractedBlock.gif

ExpandedBlockStart.gif

>>>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:用于获取取一个对象(字符串或者数值等)的哈希值。

ContractedBlock.gif

ExpandedBlockStart.gif

>>>hash('test') #字符串

2314058222102390712

>>> hash(1) #数字

1

>>> hash(str([1,2,3])) #集合

1335416675971793195

>>> hash(str(sorted({'1':1}))) #字典

7666464346782421378

View Code

id:用于获取对象的内存地址。

ContractedBlock.gif

ExpandedBlockStart.gif

>>>a = 'runoob'

>>>id(a)4531887632

>>> b = 1

>>>id(b)140588731085608

View Code

4.文件操作

open:函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写。

ContractedBlock.gif

ExpandedBlockStart.gif

r:

以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

rb:

以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。

r+:

打开一个文件用于读写。文件指针将会放在文件的开头。

rb+:

以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。

w:

打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

wb:

以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

w+:

打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

wb+:

以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

a:

打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

ab:

以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

a+:

打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

ab+:

以二进制格式打开一个文件用于追加。如果该文件已存在

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值