在前面第十章以及第一章的时候介绍了Vector对象的运算符重载.第十三章专门介绍运算符重载.这里我们看几个之前没讲过的运算符__neg__,__pos__,__invert__ class Vector(object):     def __init__(self,x):         self.x=x     def __neg__(self):         return "Vector(%d)" % (-self.x)     def __str__(self):      …
第二章开始介绍了列表这种数据结构,这个在python是经常用到的结构 列表的推导,将一个字符串编程一个列表,有下面的2种方法.其中第二种方法更简洁.可读性也比第一种要好 str='abc' string=[] for s in str:     print string.append(s) ret=[s for s in str] print ret 用这种for-in的方法来推导列表,有个好处就是不会有变量泄露也就是越界的问题.这在c语言中是需要特别注意的问题. 对于两个以上的列表推导作者用到…
这一章中作者简要的介绍了python数据模型,主要是python的一些特殊方法.比如__len__, __getitem__. 并用一个纸牌的程序来讲解了这些方法 首先介绍下Tuple和nametuple的区别: Nametuple是类似于元组的数据类型.除了能够用索引来访问数据,还支持用方便的属性名来访问数据. 传统的元组访问如下.对每个元素的访问都必须通过索引来找到.这种找法很不直观 tup1=('abc','def','ghi') print tup1[1] 使用nametuple来构造:…
装饰器就如名字一样,对某样事物进行装饰过后然后返回一个新的事物.就好比一个毛坯房,经过装修后,变成了精装房,但是房子还是同样的房子,但是模样变了. 我们首先来看一个函数.加入我要求出函数的运行时间.一般来说代码写成如下.但是我有很多个函数都要计算运行时间.每个函数里面都要写一个计时的过程是一件很麻烦的事. def target():     start=time.time()     print 'running target()'     end=time.time()     print e…
首先来看下对象的表现形式: class People():     def __init__(self,name,age):         self.name=name         self.age=age if __name__== "__main__":     p=People('zhf','30')     print p E:\python2.7.11\python.exe E:/py_prj/fluent_python/chapter9.py <__main__…
Python学习笔记(十三): 模块 包 if name == main 软件目录结构规范 作业-ATM+购物商城程序 1. 模块 1. 模块导入方法 import 语句 import module1[, module2[,... moduleN] # 当我们使用import语句的时候,Python解释器通过自己的搜索路径(存在sys.path里)进行搜索 from-import 语句 from modname import name1[, name2[, ... nameN]] # 这个声明不…
第1-3章 这个文档是记录我学习python时一些学习笔记以及一些想法也可以称作复习笔记 第一章:起步这一章主要是从第一个"hello world"程序到python环境的搭建与配置,因为我在Mac上用的一个叫Jupiter Notebook的网页端界面,所以就省去了这个步骤,直接进行后面的练习了,当然后面到小项目的时候也许还是需要熟练的在Windows.MacOS.Linux三个不同环境下搭建环境的. 第二章:变量和简单数据类型这一章主要涵盖了:变量.字符串.数字.注释.python…
2016/1/30学习内容 第七章 Python文件操作 文本文件 文本文件存储的是常规字符串,通常每行以换行符'\n'结尾. 二进制文件 二进制文件把对象内容以字节串(bytes)进行存储,无法用笔记本或其他普通文本处理软件进行编辑,通常也无法被人类直接阅读和理解,需要使用专门的软件进行解码后读取,显示,修改或执行.常见的如图形图像文件,音视频文件,可执行文件,资源文件,各种数据库,Office文件都属于二进制文件 文件对象 通过open()函数即可以指定模式打开指定文件并创建文件对象 文件对…
2016/1/29学习内容 第四章 Python函数设计与使用 之前的几页忘记保存了 很伤心 变量作用域 -一个变量已在函数外定义,如果在函数内需要修改这个变量的值,并将这个赋值结果反映到函数之外,可以在函数内用global声明这个变量为全局变量,明确声明要使用已定义的同名全局变量 -在函数内部直接使用global关键词将一个变量声明为全局变量,即使在函数外没有定义该全局变量,在调用这个函数之后,将自动增加新的全局变量 def demo(): global a; a=3; demo(); pri…
2016/1/28学习内容 第四章 Python字符串与正则表达式之字符串 编码规则 UTF-8 以1个字节表示英语字符(兼容ASCII),以3个字节表示中文及其他语言,UTF-8对全世界所有国家需要用到的字符进行了编码 GB2312->GBK->CP936 用2个字节表示中文 Unicode 常用指定方法 #coding=utf-8 #coding:GBK #-*-coding:utf-8-*- 2.x与3.x区别 2.x没有很好的支持,len(中文)=2或3 3.x很好的支持了,len(中…