《Python简明教程》学习要点记录
- 字符双引号括起,数字不括;
- 分隔符为逗号(,),不能为空格
- 变量定义时即赋值
- 采用utf-8编码:#-*-coding:utf-8-*-或者#coding:utf-8
- 字符串定义:单/双引号括起
- %符号用来格式化字符串,"%s"表示用字符串替换,"%d"表示整数替换,"%r"表示不管什么都打印出来
- 三引号可以指示一个多行字符串,其内可自由使用单双引号
- 转义符为反斜杠(\),注:行末反斜杠表示字符串在下一行继续不中断
- 字符串加前缀r或R表示字符串为自然字符串,其中字符不需要特别处理,使用自然字符串处理正则表达式
- if...elif...elif...else;while循环首先定义一个真值,while真值为True时执行循环,中途结束将真值置为False,while循环中可以使用一个else从句;for...in循环,for循环中迭代参数(个人常用的是“i”)不用定义;
break终止语句:break以下的均不会被执行;
continue语句表示跳过当前块剩余语句,执行下次循环;
- raw_input():标准输入函数;range()返回一个序列的数,两个参数时表示从第一个到第二个(包含第一个数不包含第二个),三个参数时第三个参数表示步长
- 函数定义:
def 函数名(参数..):
使用global声明全局变量
函数中参数可定义默认值,有默认值的参数必须位于无默认值参数的后面
- return语句可跳出函数,也可以返回值
- pass语句不做任何事情,一般用做占位语句;
- 文档字符串:''' ''',首行大写字母开始,句号结尾,第二行空白,第三行详细描述;可使用__doc__调用(两边分别双下划线)
- 模块:以.py为后缀命名
__name__属性:通过判断__name__属性是否为__main__判断模块执行者
模块调用import 模块名;模块对象调用:模块名.对象名
每一个.py的python程序也即一个模块,可被同一目录下的其他程序调用
- dir()函数:列出模块定义的标识符,包括:函数、类和变量
当你为dir()提供一个模块名的时候,它返回模块定义的名称列表;
如果不提供参数,它返回当前模块中 定义的名称列表。
- 数据结构(序列):列表(list)、元组、数据
列表(list):内容可变:x=['apple','banana']
sort()方法用于数组排序【如列表x排序:x.sort()
】
,sorted获取已排序副本【如获取列表x的副本y:y=sorted(x)】
append()方法:在列表尾添加一个项目【如在x列表尾添加一个项目rice:x.append('rice')】
del方法:删除【如删除x列表第一项:del x[0]】
pop()方法:从列表中移除并返回元素对象
insert()方法:将指定对象插入列表【如在x列表开始添加一个项目A:x.insert(0,'A')】
列表打印默认一项一换行,可在print语句末端添加逗号(,)替换换行符
元组(tuple):内容不可变,通常用于打印语句:zoo=('wolf','elephant')
只包含一个项目的元组需要在项目后面加一个逗号,用于和一个带圆括号的对象区分开来
元组可结合%号用于打印;
字典(dict):键<--->值,键不可变,值可变:dict={key1:value1,key2:value2}
item方法可用于抓取字典中的键值
- 序列:索引操作符(抓取一个特定项目,也叫下标操作)和切片操作符(抓取一部分序列,即一个切片)
赋值语句不创建拷贝,只是创建一个参考(mylist=shoplist),相当于一个快捷方式,一改俱改;
若要实现复制列表或者序列或者复杂的对象,必须使用切片操作来取得拷贝(mylist=shoplist[:]),修改时互不影响;
- 字符串方法:
str.startswith('xx');'xx' in str;str.find('xx');
fengefu='---'
fengefu.join(str)
- 类和对象:
类/对象的方法:与普通函数只有一个区别:他们必须有一个额外的第一个参数名称self,这个特别的变量指的是对象本身。
__init__方法可用于初始化对象
类的变量:由类的所有对象共享,一变俱变
对象的变量:由类的每个对象/实例拥有,互不影响
- 继承:
超类---继承----子类;
类继承:子类定义时超类作为元组跟在后面;类中函数继承:超类名.函数名(self,变量1,变量x)
引用:类名.函数名.变量名(由大到小)
- 文件类(file)
指明打开的文件和模式:f=file('file.txt','w'),模式有写('w'),读('r')<----为默认打开方式,追加('a')等其他模式;
write()方法:f.write('xxx'),写入;close()方法:f.close(),使用完后关闭;
readline()方法用以读取包括行尾换行符在内的一整行,所以如果读到的结果为空,说明到文件尾了;
print ''以逗号“,”结尾:消除自动换行
- 存储器:pickle模块(cpickle),可用于存储并取出任何python对象
cpickle.dump(list,f):将list列表中内容存储到文件f中;
stored=cpickle.load(f):将f中内容取出到stored中
- 异常:
try...except语句用于处理异常,try-块中放正常的语句,except-块中放错误处理语句
raise语句可以用来引发异常,放在try-块中;
try...finally语句用于无论异常发生与否都处理finally块中的语句,比如说关闭操作(close())
- sys.argv:返回命令行参数,sys.argv[0]表示代码本身文件路径,所以参数从一开始
argv[1][2:]表示取第一个命令行参数,但是去掉两个字节,比如命令行参数为“--help”,就去掉--,执行help参数
- OS模块:
os.name:使用的系统平台;os.getcwd():得到当前工作目录;os.getenv()和os.putenv():读取和设置环境变量;os.listdir():返回指定目录下的所有文件和目录名;os.remove():删除一个文件;os.system():运行shell命令;os.linesep:字符串给出当前平台的行终止符;os.path.split():返回一个路径的目录名和文件名;os.path.isfile()和os.path.isdir():校验给出的路径是文件还是目录;os.path.existe():检验给出的路径是否存在;
- 使用*和**前缀接收元组和列表,前者将多余的函数参数作为一个元组存储在*参数后,在后者中多余的参数会被认为是一个字典的键/值对。
- lambda形式:lambda语句(return lambda s:表达式)被用来创建新的函数对象,并在运行时返回它们(lambda需要一个参数,后面仅跟单个表达式作为函数体,而表达式的值被这个新建的函数返回,注!:lambda只能使用表达式,即便是print语句也不能在lambda形式中)
- exec语句:用来执行存储在字符串或文件中的python语句,如:exec 'print "Hello World!"'---执行输出Hello World!语句;
- eval语句:用来计算存储在字符串中的有效python表达式,如:eval('2*3')---计算2*3的值;
- assert语句:用来声明某个条件语句是真的,如:assert 条件语句---判断条件语句是否为真,真值时不返回信息,条件语句为假时assert语句失败,会引发一个AssertionError错误。
- repr函数:用来取得对象的规范字符串表示,如:repr(i)---返回列表i的规范字符串表示(反引号,也称转换符``可以完成相同的功能,如:`i`)
posted @
2015-09-15 19:55
MR.小柿
阅读(
695)
评论()
编辑
收藏
举报