Dive into python 第5和6章面向对象学习笔记
2014-10-07 22:24
1166 查看
由于Diveintopython的第五和第六章使用一个例子,所讲的东西也比较多。需要仔细整理。
1.
def __setitem__(self, key, item):
if key == "name" and item: # 为什么还需要
and item 呢? 因为 item 可以是None
self.__parse(item)
2. python 的__init__像C++的构造器,但是不完全是,因为在__init__之前,实例已经被构造。
3. Dict模块和UserDict模块类似,但是Dict不是包装类,可以不用初始化,直接调用。
4. python有实例数据属性和类属性,对象数据属性只在__inti__定义,类属性一般做静态变量,但是其并不是一定是常数。
5. 可以用_Class__PrivateFunc来访问私有函数,但是这不被鼓励。
6. open()函数可能出现IOError, import出现ImportError。
7. file_object.tell()函数可以告诉你当前file_object的位置
8.seek(offset,whence) whence是0则offset的位置从头开始,1则从当前位置,2则从尾部开始。
9.
12.
14. os.path.splitext()将路径和扩展名分开
15. os.listdir() 显示当前路径的文件夹和文件, os.path.isdir()和os.path.isfile()分别区分路径中的文件和文件夹,os.getcwd()可以显示当前工作目录
16. 在windows和MAC,os.path.normcase()将路径转成小写,反斜杠。
1.
def __setitem__(self, key, item):
if key == "name" and item: # 为什么还需要
and item 呢? 因为 item 可以是None
self.__parse(item)
2. python 的__init__像C++的构造器,但是不完全是,因为在__init__之前,实例已经被构造。
3. Dict模块和UserDict模块类似,但是Dict不是包装类,可以不用初始化,直接调用。
4. python有实例数据属性和类属性,对象数据属性只在__inti__定义,类属性一般做静态变量,但是其并不是一定是常数。
5. 可以用_Class__PrivateFunc来访问私有函数,但是这不被鼓励。
6. open()函数可能出现IOError, import出现ImportError。
7. file_object.tell()函数可以告诉你当前file_object的位置
8.seek(offset,whence) whence是0则offset的位置从头开始,1则从当前位置,2则从尾部开始。
9.
try: <span style="white-space:pre"> </span>fsock = open(filename, "rb", 0) <span style="white-space:pre"> </span>try: <span style="white-space:pre"> </span>fsock.seek(−128, 2) # seek, read 都可能IOError,所以finally close file <span style="white-space:pre"> </span>tagdata = fsock.read(128) <span style="white-space:pre"> </span>finally: <span style="white-space:pre"> </span>fsock.close() except IOError: <span style="white-space:pre"> </span>pass
关于open(name[, mode[, buffering ] ])函数中buffering,0代表不缓存,1代表行缓存,其他正值代表实际bytes的buffer大小,负值使用系统默认。
<span style="font-family: Arial, Helvetica, sans-serif;">10.</span>
>>> print "\n".join(["%s=%s" % (k, v) <span style="font-family: Arial, Helvetica, sans-serif;">for k, v in os.environ.items()])</span>
>>> for k,v in os.environ.items(): #这个循环比上一个慢,因为每次都要print print "\n".join ("%s=%s" % (k,v))11. open的‘w'模式会覆盖源文件内容,如果不存在文件将生成文件。
12.
>>> os.path.expanduser("~") #显示当前用户路径,注意是~ 'c:\\Documents and Settings\\mpilgrim\\My Documents'
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">13. os.path.split() 将路径和文件名分开,以tuple的形式</span>
14. os.path.splitext()将路径和扩展名分开
15. os.listdir() 显示当前路径的文件夹和文件, os.path.isdir()和os.path.isfile()分别区分路径中的文件和文件夹,os.getcwd()可以显示当前工作目录
16. 在windows和MAC,os.path.normcase()将路径转成小写,反斜杠。
相关文章推荐
- Python面向对象高级编程——学习笔记
- 《Dive into python》 学习笔记 CH1-CH4
- 【Python】学习笔记九:面向对象拓展
- Python面向对象学习笔记
- 【Python】学习笔记——-8.5、面向对象高级编程:5.使用枚举类
- python学习笔记六之初识面向对象上(基础篇)
- python 学习笔记--面向对象
- 初学Python的学习笔记9----面向对象编程(获取对象信息、实例属性和类属性)、面向对象高级编程(使用__slots__、使用@property)
- 初学Python的学习笔记7----偏函数、模块、重点是面向对象
- 【Python】学习笔记——-8.6、面向对象高级编程:6.使用元类
- [Python学习笔记][第六章Python面向对象程序设计]
- python学习笔记(七) - 面向对象高级编程
- 【Python】学习笔记——-8.3、面向对象高级编程:3.多重继承
- 廖雪峰python学习笔记9:面向对象高级
- 【Python】学习笔记——-8.1、面向对象高级编程:1.使用__slots__
- 廖雪峰Python教程 学习笔记11 面向对象高级编程
- python学习笔记——6_面向对象
- 【Python】学习笔记——-8.4、面向对象高级编程:4.定制类
- python2.7学习笔记(10) ——面向对象高级编程
- Python3 高级功能学习笔记(面向对象和正则表达式)