1 tutle模块

  1. import tutle #导入turtle模块
  2. t = turtle.Pen() #用turtle模块中Pen类,实例化出一个叫做t的对象
  3. t.forward(像素点) # 让t向前走多少个像素点
  4. t.backward(像素点) # 让t向后走多少个像素点
  5. t.left(像素点) # 让t左转多少角度
  6. t.right(像素点) # 让t右转多少角度
  7. t.reset(像素点) # 让t复位

2 函数、模块、包

(1)函数

  1. def hi_name(yourname)
  2. print "hello %s"%yourname #百分号表示占位

(2)模块
模块是一个函数的几何,先导入,再使用,用模块.函数名调用

  1. import time
  2. time.asctime()

(3)包
包是包含多个模块

  1. from PIL import Image

3 类

(1)概念
类:物以类聚人以群分,是函数的几何,可实例化出对象的模具
实例化:对象 = 类()
对象:是类实例化出来的实体,对象实实在在存在的,完成具体的工作
面向对象:程序员反复修改优化类,类实例化出对象,对象调用类里面的函数具体的操作。

  1. class 类名(父类名):
  2. pass# 占位符

(2)规定

  • 先用pass占位置,起架构;再用具体的函数替换pass完善类
  • 类里定义函数时,语法规定第一个参数必须是self
  • init函数,在新对象实例化时会自动运动,用于给新对象赋初值
  • 对象调用类里的函数,用对象.函数名
  • 对象调用类的变量,用对象.变量名
  • 类内定义函数时,如调用自身或父类的函数与变量时,必须用self.引导,应写为self.函数名self.变量名
    1. # pytest.py
    2. class Animals()
    3. def breathe(self):
    4. print "breathing"
    5. def move(self):
    6. print "moving"
    7. def ear(self):
    8. print "eating food"
    9. class Mammals(Animals):
    10. def breastfeed(self):
    11. print "feeding young"
    12. class Cats(Mammals):
    13. def __init__(self,spots):
    14. self.spots = spots
    15. def catch_mouse(self):
    16. print "catch mouse"
    17. def left_foot_forward(self):
    18. print "left foot forward"
    19. def left_foot_backward(self):
    20. print "left foot backwad"
    21. def dance(self):
    22. self.left_foot_forward()
    23. self.left_foot_backward()
    24. self.left_foot_forward()
    25. self.left_foot_backward()
    26. kitty = Cats(10)
    27. print kitty.spots
    28. kitty.dance()
    29. kitty.breastfeed()
    30. kitty.move()

    4 文件的读写

    import pickle
    开: 文件变量 = open(“文件路径文件名”,”wb”)
    存:pickle.dump(待写入的变量,文件变量)
    关:文件变量.close()
    举例:存储文件
    1. # savedata.py
    2. imprt pickle
    3. game_data = {"postition":"N2 E3","pocket":["key","knife"],"money":160}
    4. save_file = open("save.dat","wb") #打开文件
    5. pickle.dump(game_data,save_file) # 存储文件
    6. save_file.close()
    举例:读取文件
    1. # readdata.py
    2. imprt pickle
    3. load_file = open("save.dat","rb") #打开文件
    4. load_game_data = pickle.load(load_file) # 存储文件
    5. load_file.close()
    6. print load_game_data

5 Bug总结

linux系统中保存写入带有中文的文件报错:SyntaxError:Non-ASCII character ‘\xe8’ in file x.py on line 1 ,but no encoding declared
分析:因为保存的文件编码格式不对,不兼容中文汉字,需要改成UTF-8编码格式
解决:在文件的第一行加上#coding:utf-8