快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

python读函数 python看函数用法

python中isread函数么

文件对象(open() 函数的返回值)提供了read()函数可以按字节或字符读取文件内容,到底是读取字节还是字符,取决于使用 open() 函数打开文件时,是否使用了 b 模式,如果使用了 b 模式,则每次读取一个字节;反之,则每次读取一个字符。

成都创新互联专注于秦都企业网站建设,成都响应式网站建设,成都商城网站开发。秦都网站建设公司,为秦都等地区提供建站服务。全流程定制设计,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务

read() 函数的基本语法格式如下:

file.read([size])

其中,file 表示打开的文件对象;size 作为一个可选参数,用于指定要读取的字符个数,如果省略,则默认一次性读取所有内容。

【例 1】采用循环读取整个文件的内容。

# a.txt 文件内容为:C语言中文网

f = open("a.txt", 'r', True)

while True:

# 每次读取一个字符

ch = f.read(1)

# 如果没有读到数据,跳出循环

if not ch:

break

# 输出ch

print(ch, end='')

f.close()

运行结果为:

C语言中文网

上面程序采用循环依次读取每一个字符(因为程序没有使用 b 模式),每读取到一个字符,程序就输出该字符。

正如从上面程序所看到的,当程序读写完文件之后,推荐立即调用 close() 方法来关闭文件,这样可以避免资源泄露(后续章节会详细介绍 close() 函数)。

注意,在调用 read() 函数读取文件内容时,成功读取的前提是在 open() 函数中使用 r 或 r+ 的模式打开文件,否则(比如将上面程序中 open()的打开模式改为 w),程序会抛出io.UnsupportedOperation异常:

Traceback (most recent call last):

File "C:\Users\mengma\Desktop\demo.py", line 4, in

ch = f.read(1)

io.UnsupportedOperation: not readable

【例 2】调用 read() 方法时不传入参数,该方法默认会读取全部文件内容。例如:

f = open("a.txt", 'r', True)

# 直接读取全部文件

print(f.read())

f.close()

运行结果为:

C语言中文网

read()函数抛出UnicodeDecodeError异常的解决方法

当使用 open() 函数打开文本文件时,默认会使用当前操作系统的字符集,比如 Windows 平台,open() 函数默认使用 GBK 字符集。因此,上面程序读取的 a.txt 也必须使用 GBK 字符集保存;否则,程序就会出现UnicodeDecodeError错误。

如果要读取的文件所使用的字符集和当前操作系统的字符集不匹配,则有两种解决方式:

使用二进制模式读取,然后用 bytes 的 decode() 方法恢复成字符串。

利用 codecs 模块的 open() 函数来打开文件,该函数在打开文件时允许指定字符集。

例如,下面程序使用二进制模式来读取文本文件:

# 指定使用二进制方式读取文件内容,a.txt 以 utf-8 编码存储

f = open("a.txt", 'rb', True)

# 直接读取全部文件,并调用bytes的decode将字节内容恢复成字符串

print(f.read().decode('utf-8'))

f.close()

上面程序在调用 open() 函数时,传入了 rb 模式,这表明采用二进制模式读取文件,此时文件对象的 read() 方法返回的是 bytes 对象,程序可调用 bytes 对象的 decode() 方法将它恢复成字符串。由于此时读取的 a.txt 文件是以 UTF-8 的格式保存的,因此程序需要使用 decode() 方法恢复字符串时显式指定使用 UTF-8 字符集。

下面程序使用 codes 模块的 open() 函数来打开文件,此时可以显式指定字符集:

import codecs

# 指定使用utf-8 字符集读取文件内容

f = codecs.open("a.txt", 'r', 'utf-8', buffering=True)

while True:

# 每次读取一个字符

ch = f.read(1)

# 如果没有读取到数据,则跳出循环

if not ch : break

# 输出ch

print (ch, end='')

f.close()

上面程序在调用 open() 函数时显式指定使用 UTF-8 字符集,这样程序在读取文件内容时就完全没有问题了。

python内置函数

python内置函数是什么?一起来看下吧:

python内置函数有:

abs:求数值的绝对值

abs(-2) 2

pmod:返回两个数值的商和余数

pmod(5,2) (2,1) pmod(5.5,2) (2.0,1.5)

bool:根据传入的参数的逻辑值创建一个布尔值

bool() #未传入参数 False bool(0) #数值0、空序列等值为False False bool(1) True

all:判断可迭代对象的每个元素是否都为True值

all([1,2]) #列表中每个元素逻辑值均为True,返回True True  all(()) #空元组 True  all({}) #空字典 True

help:返回对象的帮助信息

help(str)  Help on class str in module builtins: class str(object) |  str(object='') - str |  str(bytes_or_buffer[, encoding[, errors]]) - str |   |  Create a new string object from the given object. If encoding or |  errors is specified, then the object must expose a data buffer |  that will be decoded using the given encoding and error handler. |  Otherwise, returns the result of object.__str__() (if defined) |  or repr(object). |  encoding defaults to sys.getdefaultencoding(). |  errors defaults to 'strict'. |   |  Methods defined here: |   |  __add__(self, value, /)           Return self+value.

_import_:动态导入模块

index = __import__('index') index.sayHello()

locals:返回当前作用域内的局部变量和其值组成的字典

def f():     print('before define a ')     print(locals()) #作用域内无变量     a = 1     print('after define a')     print(locals()) #作用域内有一个a变量,值为1  f f() before define a  {}  after define a {'a': 1}

input:读取用户输入值

s = input('please input your name:') please input your name:Ain  s 'Ain'

open:使用指定的模式和编码打开文件,返回文件读写对象

# t为文本读写,b为二进制读写  a = open('test.txt','rt')  a.read() 'some text'  a.close()

eval:执行动态表达式求值

eval('1+2+3+4') 10

除了上述举例的函数之外,内置函数按分类还可分为:

1、数学运算(7个)

2、类型转换(24个)

3、序列操作(8个)

4、对象操作(7个)

5、反射操作(8个)

6、变量操作(2个)

7、交互操作(2个)

8、文件操作(1个)

9、编译操作(4个)

10、装饰器(3个)

python怎么读封装函数

封装其实分为两个层面,但无论哪种层面的封装,都要对外界提供好访问你内部隐藏内容的接口(接口可以理解为入口,有了这个入口,使用者无需且不能够直接访问到内部隐藏的细节,只能走接口,并且我们可以在接口的实现上附加更多的处理逻辑,从而严格控制使用者的访问)

第一个层面的封装(什么都不用做):创建类和对象会分别创建二者的名称空间,我们只能用类名.或者obj.的方式去访问里面的名字,这本身就是一种封装。print(m1.brand) #实例化对象(m1.)

print(motor_vehicle.tag) #类名(motor_vehicle.)

-------------输出结果---------注意:对于这一层面的封装(隐藏),类名.和实例名.就是访问隐藏属性的接口

第二个层面的封装:类中把某些属性和方法隐藏起来(或者说定义成私有的),只在类的内部使用、外部无法访问,或者留下少量接口(函数)供外部访问。

Python中私有化的方法也比较简单,即在准备私有化的属性(包括方法、数据)名字前面加两个下划线即可。

一文读懂Python 高阶函数

将函数作为参数传入,这样的函数称为高阶函数。 函数式编程就是指这种高度抽象的编程范式。

变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。如下所示:

map(fun, lst),将传入的函数变量func作用到lst变量的每个元素中,并将结果组成新的列表返回。

定义一个匿名函数并调用,定义格式如--lambda arg1,arg2…:表达式

reduce把一个函数作用在一个序列[x1, x2, x3, …]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算。

filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。

闭包的定义?闭包本质上就是一个函数

如何创建闭包?

如何使用闭包?典型的使用场景是装饰器的使用。

global与nonlocal的区别:

简单的使用如下:

偏函数主要辅助原函数,作用其实和原函数差不多,不同的是,我们要多次调用原函数的时候,有些参数,我们需要多次手动的去提供值。

而偏函数便可简化这些操作,减少函数调用,主要是将一个或多个参数预先赋值,以便函数能用更少的参数进行调用。

我们再来看一下偏函数的定义:

类func = functools.partial(func, *args, **keywords)

我们可以看到,partial 一定接受三个参数,从之前的例子,我们也能大概知道这三个参数的作用。简单介绍下:

总结

本文是对Python 高阶函数相关知识的分享,主题内容总结如下:

python 文件的打开与读写

/python通过解释器内置的open()函数打开一个文件,并实现该文件与一个程序变量的关联,open()函数格式如下:

/open()函数包含有两个参数:文件名和打开模式.当文件与执行文件在同一文件夹中,直接输入文件名,亦可输入文件的完整路径.打开模式是指以何种方式打开文件,python提供了7种打开模式.

/r/w/x/a模式与b/t/+模式可以组合使用,比如'rt'为文本只读.'rb'为二级制只读.

/文件使用结束后,需要使用close()关闭文件使用权限,释放内存.

/当文件使用文本格式打开时,读写按照字符串方式,采用计算机当前编码或指定编码.

/当文件以二进制方式打开时,读写按照字节流方式.

/python本身将文件读取为一个行序列.

Python文件读写

常见的读写操作:

Python内置了读写文件的函数,用法和C是兼容的。本节介绍内容大致有:文件的打开/关闭、文件对象、文件的读写等。仅示例介绍 TXT 类型文档的读写,也就是最基础的文件读写,也需要注意编码问题;

open()   close()     with open(...) as ...

看以下示例就能了解 Python 的 open() 及 close() 函数。这边调用 read()方法可以一次读取文件的全部内容,Python把内容读到内存,用一个str对象表示,具体使用参见下文。

在 E 盘 python_file 文件夹下新建一 a.txt,输入随意,如下:

Python 操作 打开及关闭方式 如下:

注意 open() 之后 一定要 close()。但由于文件读写时都可能产生IOError,为了保证无论是否出错都能正确地关闭文件,我们用 try ... finally 来实现:

python 简化了改写法,即用 with open(...) as ...  ; 建议之后文件读写都用该写法:

上面,你肯定注意到了参数 "r";该参数决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。

相关参数:

File 对象

file 为一对象,它有一些内置属性,如下

file对象的属性:

read()    read(size)   readline()   readlines()

之前的例子已经接触到了 read() 函数,该函数会会一次性读取文件的全部内容,如果能确保文件的大小,自然可以。但若文件过大,内存就爆了,所以,可以反复调用read(size)方法,每次最多读取size个字节的内容;也可调用 readline() 每次读取一行内容;而调用readlines()可以一次读取所有内容并按行返回list。总之,根据需求来。仅以 txt 文件为例,其他的文件读取需要特殊处理;另外,文件的格式编码方式也需要注意;这边仅介绍读取方法,其他的会出专题来学习。

在D:\python_file 下新建 poet.txt;示例如下,由于一个中文会占多个字节,故read(size) 部分会乱码,如:

write()

写文件和读文件是一样的,唯一区别是调用open()函数时,传入标识符'w'或者'wb'表示写文本文件或写二进制文件;'a' 对应的表示追加等。

如下示例,由于 write.txt 文件不存在,创建该文件并写入:

在上例基础上,继续,该文件被重写:

继续,这次使用追加,会在文件结尾追加:


本文标题:python读函数 python看函数用法
转载来源:http://6mz.cn/article/hjjdhg.html

其他资讯