platform: window7 python 3.5.2
“多元”赋值
将多个变量同时赋值的方法称为多远赋值(multuple),采用这种方式赋值,等号两边的对象都是元祖。通常元祖需要用小括号括起来,尽管可选但加上使代码有更高的可读性,同时使用多远赋值可以实现快速交换,而不用像c中通过临时变量来实现数据的交换
文件和内建函数open()、file()
handle = open(file_path, access_mode='r')
file_path变量是待打开的文件的字符串名字,access_mode中‘r’表示读取,‘w’表示写入,‘a’表示添加,‘+’表示读写,‘b’表示二进制访问,如果未提供access_mode,默认为‘r’如果open成功则返回文件对象句柄,后续操作都是通过此文件句柄进行
错误和异常
编译时会检查语法错误,此外Python在程序运行是也会检测国务,当检测到一个错误时Python解释器就引发一个异常,并显示异常信息,开发人员可以根据这些信息快速定位,要在代码中添加错误检测及异常处理,只要将它们封装在try-excepth语句中,try之后的代码组就是要管理的代码,except之后的代码则是处理错误的代码,此外程序员也可以通过raise语句故意引发一个异常
函数
类似其他的语言,Python中的函数使用小括号调用,函数在调用之前必须先定义,如果函数中没有return语句,就会自动返回None对象,Python是通过引用调用的,这意味着函数内对参数的改变会影响到原始对象,不过事实上只有可变对象会受此影响,对不可变对象来说,它的行为类似按值调用
def function_name([arguments]):
"option documentation string"
function_suite
定义一个函数的语法由def关键字及紧随其后的函数名再加上该函数需要的几个参数组成,函数参数是可选的,这个局域由一个冒号(:)结束(与if和while一致),之后是代表函数体的代码组
Python语言中调用函数与在其它高级语言中一样,函数名加上函数运算符,一对小括号,括号之间是所有可选的参数,及时一个参数也没有,小括号也不能省略。函数的参数可以有一个默认值,如果提供有默认值,在函数定义中,参数以赋值语句的形式提供,事实上这仅仅是提供默认参数的语法,它表示函数调用时如果没有提供这个参数,它就去这个值作为默认值
类
类是面向对象编程的核心,它扮演相关数据及逻辑的容器角色,它们提供了创建“真实”对象的蓝图,Python并不强求开发人员以面向对象的方式编程
class ClassName(baes_class[es]):
"optional documentation string"
static_member_declarations
method_declarations
使用class关键字定义类可以提供一个可选的父类或者基类,如果没有合适的基类就使用object作为基类,class行之后是可选的文档字符串,静态成员定义及方法定义
上面类中定义了一个静态变量time,它将被所有实例及四个方法共享,init()方法有个特殊的名字,所有名字开始和结束都有两个下划线的方法都是特殊方法,当一个类实例被创建时,init()方法会被自动执行,在类实例创建完毕后执行,类似构造函数,init()可以被当成构造函数,不过不像其他语言中的构造函数,它并不创建实例,它仅仅是对象创建后执行的第一个方法,它的目的是执行一些该对象的必要初始化工作,通过创建自己的init()方法,从而能够修饰刚刚创建的对象,在上面的例子中初始化了一个名为time的类实例属性,这个变量仅在类实例中存在,本身并不是实际类的一部分,init()需要一个默认的参数,上述每个方法都有一个参数self,它是类实例自身的引用,同c++中的this标识符
模块
模块是一种组织形式,它将彼此有关系的Python代码组合到一个个独立文件当中,模块可以包含可执行代码,函数和类或者这些东西的组合,当创建了一个Python源文件,模块的名字就是不带.py后缀的文件名,一个模块创建之后,可以从另一个模块中使用import语句导入这个模块来使用
import module_name #导入模块
module.function() #访问模块函数或访问一个模块变量
module.vatiable
实用函数
函数 | 描述 |
dir([obj]) | 显示对象的属性,如果没有提供参数,则显示全局变量的名字 |
help([obj]) | 以一种整齐美观的形式显示对象的文档字符串,如果没有提供任何参数则会进入交互式帮助 |
int(obj) | 将一个对象转换为整数 |
len(obj) | 返回对象的长度 |
open(fn,mode) | 以mode(‘r’,’w’)方式打开一个文件名为fn的文件 |
range([[start,]stop[,step]) | 返回一个整数列表,起始值为start,结束值为stop-1;start默认值为0,stop默认值为1 |
input(str) | 等待用户输入一个字符串,可以提供一个可选的参数str用作提示信息 |
str(obj) | 将一个对象转换为字符串 |
type(obj) | 返回对象的类型(返回值本身是一个type对象) |
语句和语法
- 井号(#)表示之后的字符为Python注释
- 换行(\n)是标准的行分隔符
- 反斜线()继续上一行
- 分号(;)将两个语句连接在一行中
- 冒号(:)将代码块的头和体分开
- 语句(代码块)用缩进块的方式体现
- 不同的缩进深度分隔不同的代码块
- Python文件以模块的形式组织