读书笔记:简明python教程

这是一本很简单的python入门书,花1-2天的时间应该能大致掌握。

 
基础部分:
  1. P10:python语言写的程序不需要编译成二进制代码。可以直接从源码运行。在计算机内部,python解释去把源码转换成字节码的中间形式(可见的 .pyc 后缀文件)然后再把它翻译成计算机使用的机器语言并运行。
  2. P10:强大的标准库,以及其他高质量的库,如wxPythonTwistedpython图形库
  3. P20:echo $PATH
  4. P21:可以使用内建的help功能了解python函数或语句的快速信息帮助,注意“”的使用,如在查print时。
  5. P25:自然字符串:在字符串前加r或R表示不需要转义符那样的特殊处理。在处理文本文件时请用Unicode字符串,特别是这个文件含有用非英语的语言写的文本。
  6. P25:字符串是不可变。
  7. P26:在使用正则表达式时,一定要用自然字符串处理正则表达式。r或R的使用。
  8. P34:python中的运算符与用法,见表5.1,建议用圆括号来分组运算符和操作符
  9. P36:python的print会在变量间自动放入一个空格“漂亮的打印”
  10. P39:raw_input(),用来取得用户的输入信息
  11. P41:内建的range函数
  12. P44:控制流语句:if, while, for以及相关的contine和break
  13. P47:python也有局部变量的概念
  14. P47:!!global语句!!
  15. P48:函数的默认参数:准确的说,默认参数值应该是不可变的,并且只有在形参表末尾的那些参数可以有默认参数值。
  16. P51:DocString(文档字符串)
    1. DocString是一个重要的工具,它帮助我们的程序文档更加简单易懂,应尽量使用,甚至可以在程序运行的时候,从函数恢复文档字符串。
    2. 文档字符串的管理是一个多行字符串,它的首行以大写字母开始,句号结尾。第二行是空行,从第三行开始是详细的描述。强烈建议在函数中使用文档字符串时遵循这个惯例。
    3. 使用__doc__,查看
    4. 建议对任何缩写的正式函数编写文档字符串。
  17. P54:字节编译的.pyc文件:输入一个模块相对来说是一个比较费时的事情,所以python做了一些技巧,以便使输入模块更加快一些。一种方法是串讲字节编译的文件,这些文件以.pyc作为扩展名
  18. P56:模块的__name__,每个python模块都有它的__name__,如果它是"__main__",这说明这个模块被用户单独运行,我们可以进行相应的恰当操作。
  19. P58:dir()函数:列出模块定义的标识符,标识符有函数、类和变量。
  20. P60:python中有三种内建数据结构——列表、元组和字典
  21. python从0开始计数,而lua从1开始
  22. P62::元组
    1. 语法:(),元组和列表十分类似,只是元组和字符串一样是不可变的,即你不能修改元组。
    2. 最通常的用法:在打印语句中
    3. #!/usr/bin/python
    4. # Filename: print_tuple.py
    5. age = 22
    6. name = 'Swaroop'
    7. print '%s is %d years old' % (name, age)
    8. print 'Why is %s playing with that python?' % name
  23. P63:字典
    1. 键值对在字典中的标记方式:d={key1:value1, key2:value2},它们的键/值对用冒号分割,而各个对用都好分割,所有这些都在花括号中。
    2. 字典中的键值对是无顺序的。
    3. del语句用来删除键值对。
    4. in操作符来检验一个键值对是否存在。
  24. P64:序列的两个主要特点是索引操作符和切片操作符。
  25. P65:引用,当你创建一个对象并给它赋一个变量时,这个变量仅仅引用那个对象,而不是表示这个对象本身。也就是说变量名指向你计算机中存储那个对象的内存,这被称作名称到对象的绑定。
 


提升部分:
    主要内容:
  • 面向对象编程
    • 关键字:
      • self
      • __init__ : 对象刚创建的时候调用,  __del__: 对象消失的时候被调用,但是很难保证这个方法究竟什么时候运行,如果想指明它运行,就用del语句消除一个对象。
    • python中所有类成员(包括数据成员)都是公共的,所有方法都是有效的。(双下划线前缀即变为私有,如果某个变量只想在类或对象中使用,用单下划线前缀)
    • 继承
  • 输入/输出
    • file类,文件读写
    • print语句会自动换行,可以使用逗号消除自动换行
    • pickle:持久化存储对象。使用它可在一个文件中存储任何python对象,之后又可把它完整取出来。cPickle模块功能与pickle完全相同,只不过它用C语言编写
  • 异常
    • try ... except
    • try.... except exceptType1..... except exceptType2....     
    • try ... except... finally
    • raise语句引发异常:指明错误/异常的名称和伴随异常出发的异常对象。你可以引发的错误和异常应该分别是一个Error或Exception类的直接或间接导出类。
  • python标准库
    • OS
      • os.name : 指示正在使用的平台
      • os.getcwd()
      • os.getenv() os.putenv() : 分别用来读取和设置环境变量
      • os.listdir() : 返回指定目录下的所有文件和目录名
      • os.remove():栓出一个文件
      • os.system():运行shell命令
      • os.linesep : 字符串给出当前平台使用的行终止符
  • 更多python内容
    • 类相关
      • 如果想要类使用x[key]这样的索引操作(就像列表和元组),那么只需实现__getitem__()
    • 列表综合
      • listone = [2, 3, 4]  
      • listtwo = [2*i for i in listone if i > 2]
    • 在函数中接受元组和列表
      • 当要使函数接受元组货字典形式的参数的时候,有一种特殊的方法,它分别使用*和**前缀。这种方法在函数需要获取可变数量的参数的时候特别有用。
      • 由于在args变量前有*前缀,所有多余的函数参数都会作为一个元组存储在args中。若使用**前缀,多余的参数则会被认为是一个字典的键/值对
    • lambda
    • exec:执行存储在字符串货文件中的python语句
    • eval:计算存储在字符串中的有效python表达式
    • assert语句:用来声明某个条件是真的。
    • repr函数:用来取得对象的规范字符串表示。
  • 接下去要学的:
    • python标准库:http://docs.python.org/python世界性
    • 新闻组:comp.lang.python
    • python cookbook:http://code.activestate.com/recipes/langs/python/
    • 迷人的python:是David Mertz编著的一系列优秀的Python相关文章。
    • 深入理解python:是给有经验的Python程序员的一本很优秀的书。
    • JPython:是用Java语言实现的Python解释器。这意味着你可以用Python语言编写程序而同时使用Java库!Jython是一个稳定成熟的软件。如果你也是一个Java程序员,强烈建议你尝试一下Jython。
    • IronPython是用C#语言实现的Python解释器,可以运行在.NET、Mono和DotGNU平台上。这意味着你可以用Python语言编写程序而使用.NET库以及其他由这三种平台提供的库!IronPython还只是一个前期alpha测试软件,现在还只适合用来进行试验。JimHugunin,IronPython的开发者,已经加入了微软公司,将在将来全力开发一个完整版本的IronPython。
posted @ 2012-10-21 20:31  nepaul  阅读(1304)  评论(0编辑  收藏  举报