首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python基础常见问题总结(一)

生成器有两种实现方式: (1).生成器函数 生成器函数:常规函数定义中使用return返回结果,在生成器函数中使用yield关键字代替return,yield语句一次返回一个结果,在每个结果中间挂起函数的状态...生成器表达式:和列表生成式相似,不过将“[]”改为“()”,但是生成器返回按需产生结果的一个对象,而不是一次构建一个结果列表。...pickle模块支持讲一个Python对象转化为字节流,同时还能对相应的字节流逆操作得到原来的对象 pickle模块的常用函数: pickle.dump(obj.file [,protocol])对象序列化操作函数...pickle.load(file)将file中的对象序列化读取 pickle.dumps(obj,[,protocol]) 将对象转化为string字符串类型 pickle.loads(string)...从string中读取并反序列化还原之前的obj对象

1.2K20

Python知识点总结篇(4)

生成器:generator,列表元素按某种算法推算而出,一边循环一边计算的机制,称为生成器,只有在调用时才产生相应数据; 直接作用域for循环的对象称为可迭代对象,Iterable,使用isinstance...()判断一个对象是否为Iterable对象,可用于for循环的数据类型有 以下两类: 集合数据类型:list、tuple、dict、set、str等 generator,包括生成器和带yield...的可迭代对象; 迭代器: 可以别next()函数调用并不断返回下一个值的对象称为迭代器,他们表示一个惰性计算的序列,Iterator; 生成对象都是迭代器对象,list、dict、str虽然是可迭代对象...,但却不是迭代器,使用iter()函数可将他们从迭代对象转换为迭代器; json 和 pickle 数据序列化 # json序列化与反序列化 import json info = { 'name...(pickle.dumps(info)) #与下一句作用相同 pickle.dump(info, f) # 反序列化 f = open('test.txt', 'rb') data = pickle.loads

22940
您找到你想要的搜索结果了吗?
是的
没有找到

Python知识点总结篇(四)

迭代器与生成器 生成器:generator,列表元素按某种算法推算而出,一边循环一边计算的机制,称为生成器,只有在调用时才产生相应数据; 直接作用域for循环的对象称为可迭代对象,Iterable,...使用isinstance()判断一个对象是否为Iterable对象,可用于for循环的数据类型有 以下两类: 集合数据类型:list、tuple、dict、set、str等 generator,包括生成器和带...yield的可迭代对象; 迭代器: 可以别next()函数调用并不断返回下一个值的对象称为迭代器,他们表示一个惰性计算的序列,Iterator; 生成对象都是迭代器对象,list、dict、str虽然是可迭代对象...,但却不是迭代器,使用iter()函数可将他们从迭代对象转换为迭代器; json和pickle数据序列化 # json序列化与反序列化 import json info = { 'name...(pickle.dumps(info)) #与下一句作用相同 pickle.dump(info, f) # 反序列化 f = open('test.txt', 'rb') data = pickle.loads

31310

Python IO

file-like对象,但是这个file-like对象并不是固定的,这个对象类型会随着打开mode的变化而变化。...self):删除目录,并且目录必须为空,否则会报错 使用示例如下 In [4]: cwd.is_dir() Out[4]: True In [5]: cwd.iterdir() # iterdir函数返回的是一个生成器...序列化对象转化为数据 反序列化: 数据转化为对象 Python私有协议pickle pickle 是Python私有的序列化协议 pickle源代码见:lib/python3.5/pickle.py...主要函数 dumps 对象导出为数据,即序列化 loads 数据载入为对象,即反序列化,反序列化一个对象时,必须存在此对象的类 In [1]: import pickle In [2]: class...(b) In [9]: a.print() # 原始对象的print函数 aaaa In [10]: aa.print() # 反序列化对象的print函数 aaaa 通用的json协议 JSON格式支持的数据类型如下

92510

《Effictive python》读书笔记2

第16条 可以用生成器来改写返回列表的函数 当调用生成器的next函数时,会执行到下一个yield表达式,并将返回yield的值 这样会节省内存,输入量。...第17条 生成器作为参数的时候要注意 生成器是有状态的,只能迭代1次。造成枯竭。 可以写个容器类,实现__iter__()方法(里面要yield返回每次迭代的东西)。...为了更便于继承等,不要使用private类型,有隐私要求的可使用protected类型(代码规范,不是强制),一个下划线。并在文档中详细说明。...模块对数据进行序列化,将其变成二进制形式; 3.通过本地套接字,将序列化后的数据从主进程,发送到子解释器所在进程; 4.在子进程中,用pickle对二进制数据进行反序列化操作,将其还原为python对象...9.主进程将字节反序列化为python对象; 10.最后将每条子进程中的计算结果合并到一份列表。

1.1K20

工具 | 学习总结:当我学完Python我学了些什么

我们可以用next(g)取得生成器g的下一个返回值。...3.对于静态语言,如果要求传入一个class类型对象,那么传入的对象必须是class类型或者其子类,否则将无法调用class中的方法,而Python这样的动态语言有‘鸭子类型’一说,即不一定要传入class...序列化之后,就可以把序列化后的内容存储到磁盘上或者通过网络进行传输。pickle.dumps()将对象序列化成一个bytes,而pickle.loads()可以根据bytes反序列化对象。...2.pickle虽好,但是它专为Python而生,所以要在不同语言间传递对象,最好还是xml或者json,而json表示格式是一个字符串,更易读取,且比xml快,所以更加适宜于对象序列化。...3.但是在默认情况下,有些对象无法序列化的,所以我们有时还需要定制转换方法,告诉json该如何将某类对象转换成可序列为json格式的{}对象。如下即是一个转换方法: ?

977100

Python 编程 | 连载 21 -序列化与加密模块

json 和 pickle 模块 json模块中的序列化和反序列化的方法 方法 参数 描述 使用 返回值 dumps() obj 对象序列化 json.dumps([1,2]) 字符串 loads()...str 反序列化 json.loads('[1,2]') 原始数据类型 pickle模块中的序列化和反序列化的方法 方法 参数 描述 使用 返回值 dumps() obj 对象序列化 json.dumps...([1,2]) byte loads() byte 反序列化 json.loads('[1,2]') 原始数据类型 json 模块和 pickle 模块的序列化和反序列化的函数是一致的,不同的是序列化返回值和反序列化的参数...as e: print(e) finally: print('序列化完毕') class、function 都无法序列化 import pickle e = {'name': '...(_e))) pickle 模块序列化返回的是 byte 类型的数据 二、hashlib 和 base64 加密模块 Python中常用的加密模块主要有 hashlib 和 base64 两个模块

30920

JavaScript 权威指南第七版(GPT 重译)(五)

可能失败的第一件事是 fetch() 请求本身。如果网络连接断开(或由于某种原因无法进行 HTTP 请求),那么 Promise p1 将被拒绝,并带有一个 NetworkError 对象。...在这种情况下,引发 TypeError 的 c1 中的代码导致 p2 被拒绝,并带有该 TypeError 对象由于我们没有为 p2 指定错误处理程序,p3 也将被拒绝。...(Object.defineProperty()成功时返回o,失败时抛出 TypeError。)...成功时返回true,失败返回false(如果属性是只读的,则可能失败)。如果o不是对象,则抛出 TypeError。...如果o不是对象或p既不是对象也不是null,则抛出 TypeError。Object.setPrototypeOf()类似,但成功时返回o,失败时抛出 TypeError

16910

Python3.6、3.7、3.8、3.9新特性

一处可能无法向后兼容的变更涉及处理生成器中的异常。 面向解释器的“开发模式”。 具有纳秒分辨率的时间对象。 环境中默认使用UTF-8编码的UTF-8模式。 触发调试器的一个新的内置函数。...在旧版本的Python中,进程间共享数据只能通过写入文件、通过网络套接字发送,或采用Python的pickle模块进行序列化等方式。...6.新版本的pickle协议 Python的pickle模块提供了一种序列化和反序列化Python数据结构或实例的方法,可以将字典原样保存下来供以后读取。...不同版本的Python支持的pickle协议不同,而3.8版本的支持范围更广、更强大、更有效的序列化。...新的pickle避免了许多在pickle这些对象时的内存复制操作。 NumPy、Apache Arrow等外部库在各自的Python绑定中支持新的pickle协议。

4.4K52

python中认识异常,合理利用异常

补充next函数: 作用:主要是用来返回下一次迭代器的返回值。...举例: #使用变量来表示一个实际的生成器对象 scq=shengChengqi() print(next(scq)) print(next(scq)) ---- 本节知识视频教程 二、异常概述 提问:什么是异常...四、重要的内建类异常 Exception所有异常的基类 AttributeError属性引用或属性失败时抛出的异常 OSError当操作系统无法执行任务时抛出的异常 IndexError在使用序列中不存在的索引时抛出的异常...KeyError在使用映射中不存在的键值时抛出的异常 NameError找不到名字(变量)时抛出的异常 SyntaxError在代码为错误形式时触发 TypeError在内建操作或函数应用于错误类型对象时抛出的异常...ValueError在内建操作或者函数应用于正确类型对象,但该对象使用了不适合的值时抛出的异常 ZeroDivisionError在除法或者取模操作的第2个参数值为0时抛出的异常 五、总结强调 1

68410

python day five

s 获取传入对象的__str__方法的返回值,并将其格式化到指定位置   r 获取传入对象的__repr__方法的返回值,并将其格式化到指定位置   c 整数:将数字转换成其unicode对应的值...1:#生成器例子li = [11,22,33,44]result = filter(lambda x: x>22,li)print(result)     #具有生成指定条件数据的能力的一个对象(当循环的时候生成...pickle #python序列化pickle#序列化:将python数据类型转换成字符串import pickleli = [11,22,33,44]r1 = pickle...._dumps(li)      #序列化print (r1)print (type(r1))r2 = pickle.loads(r1)       #反序列化print (r2)print (type(...的区别 json:    1.适合跨语言使用    2.只能对python基本数据类型做操作    pickle:    1.仅适用于python    2.可以对python所有数据类型做操作 十二

58410
领券