美文网首页
Python笔记

Python笔记

作者: lingnanlu | 来源:发表于2015-07-10 21:23 被阅读162次

    其它

    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 = <some expression>:将表达式的值分别指派给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笔记

          本文链接:https://www.haomeiwen.com/subject/nnkuqttx.html