Python 2 总结

2018-05-20  本文已影响0人  siuLimTau

python 2 官方2020年停止维护。
参考文献

基础知识

  1. 现代计算机底层元件:晶体管(就是开关)
  2. 冯诺伊曼计算机体系结构


    冯诺依曼体系
  3. 编程规则
  1. Python简介:1989年诞生,开源,最佳实践语言
  2. 资源链接

开始使用

  1. "Hello World!":IDLE(GUI)中输入 print "Hello World!"

上面是Python 2.x版本写法,3.x是:print("Hello World!")

  1. 快捷键:脚本中 CTRL+ S 保存,之后F5运行
  2. 程序组成
  1. 对象命名:字母、数字(数字不能作首字母)和下划线组合

骆驼拼写法:thisIsAnInteger

  1. 变量创建:初次使用即创建(与Matlab类似);type()返回变量类型
  1. 运算符:**(方幂);a+=2等价于 a=a+2
  2. 数值计算符号表示 :1/12=0 ; 1.0/12 = 0.833...
  3. 海龟绘图法
import turtle 
for i in range(4): 
    turtle.forward(50)
    turtle.right(90)

9.帮助:help(functioName)查看函数用法;help('moduleName')查看模块用法

控制语句

  1. 语句分组通过缩进进行标识
  2. 可使用关系链:0<=a<=5
  3. 可多重赋值:a,b,c = 1,2,3
  4. 可直接交换:a,b = b,a
  5. Bool 关系符
  1. if 选择
if Bool expression: ...
else: ...
  1. if 复合选择:if - elif - else
  2. for 循环:for variable in set: ...
  3. range(起始值,终值,步长)
  1. while 循环
while Bool expression: ...
else: ... 
  1. 跳出循环

程序设计策略

  1. 参与并提交
  1. 了解,然后想象
  1. 编程之前先思考:拒绝“牛粪球”代码
  2. 试验:不必一次完成,多尝试
  3. 简化:问题分解,分而治之(“洋葱”法)
  4. 停下来思考
  5. 放松,休息。

函数

  1. 为什么要使用函数 —— 函数的特点
  1. 使用:先定义,后调用
def testFunc(Num):
    return Num * 3
  1. main:主程序本身也可以作为函数,在Python中创建独立脚本时很有用
def main():
    main()
  1. 作用域:包含某个变量的程序语句集合. 每个程序都有自己的命名空间,用来定义变量的作用域.
  1. Python传递的是对象引用:Python的一切皆为对象,所以每个值的传递都是对象的引用. 对象在这个过程中不可复制.

数据结构 1:字符串

  1. 以单引号或者双引号表示字符串
  2. 三引号:将保存所有字符的格式信息(字符串若跨行,则回车符也会保存)
  3. 非显示字符:回车:\n;制表:\t
  4. 字符串表示形式:每个字符都以数字形式(ASCII码)存储
'Hello World'[1] = 'e'
Hello World
012345678910
  1. 分片:字符串序列要包含结束符,即每次分片时要多含一位
  1. 函数:len(myStr),求长度;方法:myStr.upper(),转成大写
  2. 方法链:myStr.upper().find('s');查找方法:myStr.+TAB
  3. 格式化输出:print "format string % (data1,data2,..)
    例:print "%s is %d years old." % ("Bill",25)
  1. 字符串集合是不可变的:无法通过索引赋值,必须复制所选内容.

数据结构 2:列表和元组

  1. 什么是列表?
  1. 列表特性
  1. 列表方法(后缀)
  1. 列表与字符串转换
  1. 可变对象及其引用
  1. 拷贝(复制)在Python中就是为对象添加新的名字
    注:Python中的命名空间由名字列表和对象列表组成;
L =[1,2,3]
L = L + [9]  #创建了新对象
L.append(9)  #仅改变了对象
  1. 列表解析:用紧凑的方式构造列表 [表达式 + for子句 + if条件]
[i for i in range(10) if i % 2 == 0]
 >>> [0,2,4,6,8]
  1. 元组:myTuple = (1,2,3)

数据结构 3:字典和集合

  1. 字典:可变的数据结构
  1. 字典方法
  1. 集合:可变的数据结构
  1. 集合方法
  1. 再谈作用域
keys = ['red', 'white', 'blues']
values = [100,300,500]
d = dict(zip(keys,values)) = {'blues':500, 'white':300,'red':100} 

文件

  1. 文件:由字节组成的信息.
  1. 读取:testFile = open('temp.txt',"r")
for line in testFile:
    print line
testFile.close()
dataFile = open('temp2.txt',"w")
s = 'first line'
dataFile.write(s)
dataFile.close()
  1. 创建与重写
模式 操作 若文件不存在 是否覆盖
r 只读 报错 -
r+ 可读可写 报错
w 只写 创建
w+ 可读可写 创建
a 只写 创建 否,追加写
a+ 可读可写 创建 否,追加写
  1. 关闭文件:open函数在内存中创建缓存区,将磁盘内容复制到此位置. 关闭文件,则内存缓存区的所有内容写回瓷盘,保持同步.
  2. CSV文件:是文本文件格式,有CSV拓展模块支持.
  3. OS模块(Operating System) —— Python标准模块

类:自定义数据结构和算法

  1. 面向对象编程(OOP):Python基本算是OOP语言
  1. 类和实例
  1. 对象方法:定义类对象操作的函数称为方法
class myClass (object):
    def myMethod (self,param1)
        print "hello %s"  % (param1)
        self.instanceAttribute = param1
myInstance = myClass()
myInstance.myMethod('world')
  1. 融入Python类模型:Python保留了一些方法(开始和结束都是双下划线)
    __init__:初始化
    __str__:字符串方法,常用于输出
  2. Python的OOP细节

异常处理

  1. 错误
myStr = int(raw_input("number:"))
number: a
>>> ValueError

当程序运行出错时,Python先搜索程序员提供的相应错误处理程序. 如果找到,则将控制权交给这些代码;否则,Python会停止运行.

  1. 基本的错误处理:try-except语句
try:
    dividend = float(raw_input("dividend: "))
    divisor = float(raw_input("divisor: "))
    result = dividend / divisor
except ZeroDivisionError:
    print "Divided by 0 error"
except ValueError:
    print "Value Error"
print "Continue"

注:先看try代码块,无错误则跳过所有except;有错,则停止在出错行,寻找相应except语句,执行并跳过其他except;找不到则停止运行并报错.

  1. except后的错误名是Python给定的. 起始发现错误最简单的方法就是故意产生错误,然后查看Python给出的错误名称.
  2. 两种处理错误的方式
if not isinstance(s,str) or not s.isdigit:
    return None
elif len(s) > 10:
    return None
else:
    return int(str)
try:
    return int(str)
except (TypeError,ValueError,OverFlowError):
    return None
  1. try-except复合语句
try:...
except:...
else: #try代码块不出错,则执行此代码块,并继续
finally: #在try-except(-else)结束后要绝对执行的代码块
  1. 应用
while True:
    try:
        alueStr = raw_input("Input integer:")
        alueInt = int(valueStr)
        break
    except ValueError:
        print "Bad input"
while True:
    try:
        fileName = raw_input("Open a file:")
        open(fileName,"r")
    break
    except IOError:
        print "Bad file name"
class NewException(Exception): 
    pass
上一篇下一篇

猜你喜欢

热点阅读