Python笔记

其它

  1. 使用帮助:在>>>下输入help('')
  2. 字符串常量:单引号和双引号作用相同,三引号用于输出字符串块
  3. format函数:用来格式化字符串,代替printf
  4. Raw String:为字符串添加r前缀,告诉解释器不对字符串进行处理(如转义字符)
  5. Python中一切皆对象,包括数字,字符串和函数
  6. Python中没有switch语句
  7. :暗示下一个语句块的开始,而语句块的区分是以缩进的多少
  8. DocStrings:一个函数开头的字符串可作为该函数的文档,同样也可用于modulesclasses。输出文档可以使用print func_name.—__doc__。该特性用在帮助文档中

Modules

  • Module是一些函数的集合,使用Module的方式之一是创建.py文件,并使用import导入
  • sys.path保存着Module的搜寻路径
  • .pyc.py的区别:.pyc是字节码形式,导入.pyc开销更小
  • from...import:使用该语句导入的Module可以不加模块名,如可使用path
  • Every module has a name and statements in a module can find out the name of their module. This is handy for the particular purpose of figuring out whether the module is being run standalone or being imported. When a module is imported for the first time, the code it contains get executed.For Example
if __name__ == '__main__':
    print 'This program is being run by itself'
else:
    print 'I am being imported from another module'
  • dir()函数用来列举一个对象定义的identifiers,如,对一个module来说,包括函数,类和变量
  • Packages:用来组织module,实际上就是包含module的文件夹,但该文件夹内有一个特殊的文件init.py

Data Structures

  1. Python有四种内置的数据结构—— list, tuple, dictionary and set

  2. Tuple使用(),Tuple是不可变的,而List可变,如 zoo = ('python', 'elephant', 'penguin')

  3. Dictionary就是键值对的集合,如d = [key1:value1, key2:value2]

  4. list, tuple, dictionary 都是Sequence,而Sequence支持如下三种操作

    • membership tests
    • indexing operations
    • slicing
  5. Set 如 bri = set(['brazil', 'russia', 'india'])

  6. String也是对象,也有许多方便的方法

Object Oriented

  1. Class方法和函数的区别是,class方法会隐含的传入一个参数self,该参数指的是调用该方法的实例本身。(如同this之于Java) 所以说,Class方法定义时,至少有个参数self。
  2. __init__方法:类似于构造函数
  3. 类变量和实例变量:定义在所有方法之外的是类变量,方法内使用self修饰的是实例变量。
  4. 类函数与实例函数:利用@classmethod修饰的为类函数。

Input and Output

  1. 对象序列化:利用pickle模块pickle.dump()pickle.load()方法
  2. 当使用非英语字符时,在字符串前加u表示使用Unicode编码,此时相当于将strings类型转化成unicode类型,为了在互联网上传输字符串,还需要将unicode转化为能发送和接收的格式,这种格式为UTF-8
  3. 当程序中使用unicode字符串时,需要在程序的顶端添加# encoding=utf-8以告诉python我们所使用的是UTF-8

Exceptions

  1. 利用raise语句抛出异常
  2. with语句:在try中获得一个资源,在finally释放资源是一种很常见的编程模式,为了简化这种模式的书写,使用with语句,这里在进入with下的语句块时,会调用所获得对象的enter方法,在离开语句块时,会调用对象的exit方法。

Python Standard Library

  1. sys:contains system-specific functionality.
  2. logging:日志,调试

More

  1. a, b = :将表达式的值分别指派给a, b(表达式返回一个tuple)

  2. special methods:可以为类定义一类特殊方法,这样方便对对象进行某些操作,如

    • str(self):当打印对象时,调用此方法
    • lt(self, other):比较对象时
    • getitem(self, key):使用x[key]
  3. Lambda Forms:lamba语句用来创建匿名函数,对于那些不方便起名又只使用一些的函数这种方法很方便,创建语法为lambatake a parameter后跟一个表达式作为函数体,该表达式的值作为返回值。

  4. 使用*和**使函数接受可变参数,*使用可变参数作为一个tuple传递给函数,**使得可变参数作为一个dict传递给函数

  5. Decorators:a shortcut to apply wrapper functions。

  6. Generator:一种一边循环一边计算的机制。如果一次生成所有元素会占据大量内存,它也是一种可迭代的对象,可以用在for循环中。在函数中,使用yield返回值就把函数定义为了一种生成器。对函数来说,每次调用next()函数才执行,遇到yield就中断。其执行顺序与一般函数不同。

你可能感兴趣的:(Python笔记)