残雪余香

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
14、列表解析
        你可以在一行中使用一个for循环将所有值放到一个列表当中:
 
        列表解析甚至可以做更复杂的事情,比如挑选出符合要求的值放入列表:
        

 
15、文件和内建函数open()、file()
        文件访问是一门语言必备的功能,下面学习一下文件的操作。
        如何打开文件
            handle = open(filename, access_mode = 'r')
        filename变量包含我们希望打开文件的字符串名字,access_mode中的'r'表示读取,'w'表示写入,'a'表示添加。其它可能用到的标识还有'+'读写,‘b'表示二进制访问。默认是'r'。如果open()成功,一个文件对象句柄会被返回。所有的后续的文件操作都必须是通过此文件句柄进行。当一个文件对象返回之后,我们可以访问一些方法,如:readlines()和close()

        上面的例子,我们是一次读入文件的所有行,然后关闭文件,适用于文件大小适中的文件,对于很大的文件来说会占用太多的内存,这是最好一次读一行。
        file()内建函数是最近添加到python中的,功能等同于open(),不过file()更确切的表明它是一个工厂函数,(生成文件对象)类似int()生成整数对象,dict()生成字典对象。
 
16、错误和异常
        python允许程序在运行时检测错误,当检测到一个错误,python解释器就会引发一个异常,并显示异常的详细信息。在代码中添加错误检测及异常处理,只要将他们封装在try-except语句当中。try之后的代码组,是打算管理的代码,except之后的代码组是处理错误的代码。

17、函数
        python 中的函数使用小括号(())调用,函数在调用之前必须先定义。如果函数中没有return语句,就会自动返回None对象。python是通过引用调用的,意味着函数内对参数的改变会影响到原始对象。不过事实上只有可变对象会受此影响,对于不可变对象来说,是按值调用
        如何定义函数?
        def function_name([arguments]):
            "optional documentation string"
            function_suite
        定义一个函数的语法由def关键字及紧随其后的函数名再加上该函数需要的几个参数组。函数参数是可选的,这也是为什么把它们放到中括号中的原因。这个语句由一个冒号(:)结束(与if和while语句的结束方式一样),之后是代表函数体的代码组。如下例:

        python语言中调用函数与其它高级语言一样,函数名加上函数运算符,一对小括号。注:+运算符几乎与所有数据类型工作。换句话说,几乎所有的标准数据类型都支持+运算符,不管是非数值相加还是序列合并。
        函数的参数可以有一个默认值,如果提供有默认值,在函数定义中,参数以赋值语句的形式提供,事实上这仅仅是提供默认参数的语法,它表示函数调用时如果没有提供这个参数,它就取这个值作为默认值。如下例:

        上面的例子中,debug参数有一个默认值True,如果没有传递参数,则debug为默认值True,第二次调用的时候传递一个False,则默认值无效。
 
18、类
        类是面向对象编程的核心,它扮演相关数据及逻辑的容器角色。它们提供了创建“真是”对象的蓝图。因为python并不强求你以面向对象方式编程(与Java不同),此刻你也可以不学习类。
        如何定义类?
        class ClassName(base_class[es]):
            'optional docmentation string'
            static member declarations
            method_declarations
        使用class关键字定义类,可以提供一个可选的父类或者说是基类;如果没有合适的基类,那就使用object作为基类。class行之后是可选的文档字符串,静态成员定义,及方法定义。
 
19、模块
        模块是一种组织形式,它将彼此有关系的python代码组织到一个个独立的文件当中。模块可以包含可执行代码,函数和类这些东西可以组合。
        当你创建了一个python源文件,模块的名字就是不带.py后缀的文件名,一个模块创建之后,可以从另一个模块中使用import语句导入这个模块来使用。
        如何导入模块?
            import module_name
        如何访问一个模块函数或访问一个模块变量?
            module.function()
            module.variable
        如下例子,导入sys包,使用其方法及模块变量:

        这里的代码的输出与print类似,唯一的区别就是这次调用的是标准输出的write()方法,而且这次需要显式的在字符串中提供换行字符,不同于print语句,write()不会自动在字符串后面添加换行符号。
 
20、实用函数
        对一个新的python程序员来说有用的内建函数如:
        dir([obj])--显示对象属性,如果没有提供参数,则显示全局变量的名字
        help([obj])--以一种整齐美观的形式 显示对象的文档字符串,如果没有提供任何参数,则会进入交互式帮助。
        int(obj)--讲一个对象转换成整数
        len(obj)--返回对象的长度
        open(fn, mode)--以mode('r'=读,'w'=写)方式打开一个文件名为fn的文件
        range([[start,]]stop[,step])--返回一个整数列表,起始值为start,结束值为stop-1;start默认值是0,step默认值是1
        raw_input(str)--等待用户输入一个字符串,可以提供一个可选参数str作为提示信息。
        str(obj)--将一个对象转换成字符串
        type(obj)--返回对象的类型(返回值本社是一个type对象)
posted on 2012-12-11 14:13  残雪余香  阅读(425)  评论(0编辑  收藏  举报