15、python学习手册之:元组、文件及其他
1、使用文本来存储python对象时,必须使用转换工具把对象转成字符串
2、内置函数eval可以把字符串当做可执行程序代码:eg s = ‘[1,2,3]’ eval(s) -->[1,2,3],这里eval及时把字符串转化为列表对象
3、pickle模块能够直接存储对象
D= {‘a’:1,‘b’:2}
F= open('datafile.pkl','wb')
pickle.dump(D,F)
F.close()
F = open('datafile.pkl','rb')
E = pickle.load(F)
E --> {‘a’:1,‘b’:2}
4、struct模块能够构造并解析打包的二进制数据。从某种意义上说,它是另一个数据转换工具,它能够把文件中的字符串解读为二进制数据
data = struct.pack('>i4sh',7,'spam',9) -->b'\x00\x00\x00\x07spam\0x00\x08'
data = b'\x00\x00\x00\x07spam\0x00\x08' value = struct.unpack('>i4sh',data) ---> (7,'spam',8)
5、文件上下文管理器支持自动异常处理,已确保在退出后可以自动关闭文件
with open(r") as myfile:
for line in myfile:
......
其他部分:
1、对象根据分类来共享操作;例如,字符串、列表和元组都共享诸如合并、长度和索引等序列操作
2、只有可变对象(列表、字典和集合)可以原处修改,我们不能原处修改数字、字符串或元组。
3、文件导出唯一的方法,因此可变性并不真的适用于他们----当处理文件的时候,它们的状态可能会修改,但是,这与python的核心类型可变性限制不完全相同
4、集合类似于一个无值的字典
5、赋值操作总是存储对象的引用,而不是这些对象的拷贝。不过,因为赋值操作会产生相同对象的多个引用,需要意识到在原处修改可变对象时可能会影响程序中其他地方对相同对象的其他引用,因此就需要明确地告诉python复制该对象
可以拷贝的情况:
没有限制条件的分片表达式(L[:])能够复制序列
字典copy方法(x.copy())能够复制字典
有些内置函数(例如:list)能够生成拷贝(list(L))
copy标准库模块能够生成完整拷贝
注意:无条件值的分片已经字典copy方法只能做顶层复制。也就是说,不能够复制嵌套的数据结构。如果你需要一个深层嵌套的数据结构的完整的、完全独立的拷贝,那么就要使用标准的copy模块———包括import copy语句,并编辑X = copy.deepcopy(Y)对任意嵌套对象Y做完整的复制。这一调用语句能够递归地遍历对象来复制它们所有的组成部分
6、重复能够增加层次深度
序列重复就好像是多次将一个序列加到自己身上。这是事实,但是当可变序列被嵌套时效果就不见得总翔你想的那样;eg
L= [4,5,6] X= L*4 Y=[L]*4
X=[4,5,6,4,5,6,4,5,6,4,5,6]
Y=[[4,5,6],[4,5,6],[4,5,6],[4,5,6]]
由于L在第二次重复中是嵌套的,Y结束嵌套的引用,返回赋值为L的原始列表
L[1]=0
X=[4,5,6,4,5,6,4,5,6,4,5,6]
Y=[[4,0,6],[4,0,6],[4,0,6],[4,0,6]]
15、python学习手册之:元组、文件及其他的更多相关文章
- Python学习手册之元组拆包、三元运算符和 else 语句深入
在上一篇文章中,我们介绍了 Python 之禅. Python 编程规范和函数参数,现在我们介绍 Python 的元组拆包.三元运算符和对 Python 的 else 语句深入讲解.查看上一篇文章请点 ...
- 《Python学习手册 第五版》 -第15章 文档
本章主要介绍Python中的文档,会通过多种方式来说明,如果查看Python自带文档和其他参考的资料 本章重点内容 1.#注释:源文件文档 2.dir函数:以列表显示对象中可用的属性 3.文档字符串 ...
- 自学笔记系列:《Python学习手册 第五版》 -写在开始之前
今年双十一,在当当网上买了这本书,很厚很厚的一本书,大概有将近1700页左右,的确是一个“大工程”, 关于这本书的学习,我想采用一种博客的方式进行,既是写给自己,也想分享给每一个对Python学习感兴 ...
- 《Python学习手册 第五版》 -第14章 迭代和推导
承接上一章for循环的讲解,迭代和推导,是对for循环的一种深入的探索和扩展 本章重点内容 1.迭代 1)什么是迭代?都有哪些分类 2)常规的使用方法 3)多遍迭代器VS单遍迭代器 2.列表推导 1) ...
- 《Python学习手册 第五版》 -第18章 参数
在函数的定义和调用中,参数是使用最多喝最频繁的,本章内容就是围绕函数的参数进行讲解 本章重点内容如下: 1.参数的传递 1)不可变得参数传递 2)可变得参数传递 2.参数的匹配模式 1)位置次序:从左 ...
- 《Python学习手册 第五版》 -第16章 函数基础
前面的章节讲解的是一些基础数据类型.基本语句使用和一些文档查看的内容,这些都是一些基础,其实还谈不上入门,只有了解了函数,才算入门 函数是编程里面使用最多的也是最基本的程序结构, 本章重点内容 1.函 ...
- 《Python学习手册 第五版》 -第17章 作用域
上一章的是函数的基础,因为函数在运用过程中,是可以嵌套的,函数中是会涉及到变量的,为了明确各自变量的使用范围,系统是有一套规则或者原则的,这就是作用域的概念 本章重点内容 1.作用域:作用域的概念 2 ...
- Python学习手册(第4版) - 专业程序员的养成完整版PDF免费下载_百度云盘
Python学习手册(第4版) - 专业程序员的养成完整版PDF免费下载_百度云盘 提取码:g7v1 作者简介 作为全球Python培训界的领军人物,<Python学习手册:第4版>作者M ...
- Python学习手册(第4版)PDF高清完整版免费下载|百度云盘
Python学习手册(第4版)PDF高清完整版免费下载|百度云盘 提取码:z6il 内容简介 Google和YouTube由于Python的高可适应性.易于维护以及适合于快速开发而采用它.如果你想要编 ...
- [python学习手册-笔记]002.python核心数据类型
python核心数据类型 ❝ 本系列文章是我个人学习<python学习手册(第五版)>的学习笔记,其中大部分内容为该书的总结和个人理解,小部分内容为相关知识点的扩展. 非商业用途转载请注明 ...
随机推荐
- try/catch的用法
1.try/catch用法基础介绍 try { //程序中抛出异常 throw value; } catch(valuetype v) { //例外处理程序段 } 语法小结:throw抛出值,catc ...
- Spatial Pyramid Matching
转自:http://blog.csdn.net/jwh_bupt/article/details/9625469 SPM 全称是Spatial Pyramid Matching,出现的背景是bag o ...
- 如何在Ubuntu14.04中安装mysql
接触过MySQL的小伙伴们都知道,在Windows下安装MySQL是一件让人十分头大的事情,但是在Ubuntu等其他Linux系统中安装MySQL就简单很多了,具体的教程如下.1.在Ubuntu的命令 ...
- "getElementsByClassName is not a function" 报错原因
element.getElementsByClassName(""): 返回的含有该类的子元素数组,除了子元素以外的后代元素是获取不到的.要遍历使用,或者.element.getE ...
- 【Redis发布订阅】
Redis通过PUBLISH.SUBSCRIBE等命令实现发布与订阅模式. 举例:QQ群的公告,单个发布者,多个收听着. *** 发布/订阅 PUBLISH 频道 消息 将消息发布到指定的频道. . ...
- 【shell学习】经常使用条件推断-字符,数字,文件
IF 推断 之前也写过简单的shell脚本,也不是转职运维.和系统相关的工作比較少.所以不怎么熟练. 近期因为系统总是出现各种乱七八糟的问题,也没有人来协助.仅仅好自己写shell脚本了,都是些基础的 ...
- 搭建个人博客 方式2 使用jekyll
孙广东 2016.3.12 环境安装:1.通过 RailsInstaller 来安装 Ruby https://www.ruby-lang.org/zh_cn/documentation/inst ...
- USACO milk
/* ID:kevin_s1 PROG:milk LANG:C++ */ #include <iostream> #include <string> #include < ...
- Android自己定义视图(一):带下划线的TextView
package com.francis.underlinetextviewtest; import android.content.Context; import android.content.re ...
- 量化派基于Hadoop、Spark、Storm的大数据风控架构--转
原文地址:http://www.csdn.net/article/2015-10-06/2825849 量化派是一家金融大数据公司,为金融机构提供数据服务和技术支持,也通过旗下产品“信用钱包”帮助个人 ...