1 tutle模块
import tutle #导入turtle模块
t = turtle.Pen() #用turtle模块中Pen类,实例化出一个叫做t的对象
t.forward(像素点) # 让t向前走多少个像素点
t.backward(像素点) # 让t向后走多少个像素点
t.left(像素点) # 让t左转多少角度
t.right(像素点) # 让t右转多少角度
t.reset(像素点) # 让t复位
2 函数、模块、包
(1)函数
def hi_name(yourname)
print "hello %s"%yourname #百分号表示占位
(2)模块
模块是一个函数的几何,先导入,再使用,用模块.函数名调用
import time
time.asctime()
(3)包
包是包含多个模块
from PIL import Image
3 类
(1)概念
类:物以类聚人以群分,是函数的几何,可实例化出对象的模具
实例化:对象 = 类()
对象:是类实例化出来的实体,对象实实在在存在的,完成具体的工作
面向对象:程序员反复修改优化类,类实例化出对象,对象调用类里面的函数具体的操作。
class 类名(父类名):
pass# 占位符
(2)规定
- 先用pass占位置,起架构;再用具体的函数替换pass完善类
- 类里定义函数时,语法规定第一个参数必须是self
- init函数,在新对象实例化时会自动运动,用于给新对象赋初值
- 对象调用类里的函数,用对象.函数名
- 对象调用类的变量,用对象.变量名
- 类内定义函数时,如调用自身或父类的函数与变量时,必须用self.引导,应写为self.函数名或self.变量名
# pytest.py
class Animals()
def breathe(self):
print "breathing"
def move(self):
print "moving"
def ear(self):
print "eating food"
class Mammals(Animals):
def breastfeed(self):
print "feeding young"
class Cats(Mammals):
def __init__(self,spots):
self.spots = spots
def catch_mouse(self):
print "catch mouse"
def left_foot_forward(self):
print "left foot forward"
def left_foot_backward(self):
print "left foot backwad"
def dance(self):
self.left_foot_forward()
self.left_foot_backward()
self.left_foot_forward()
self.left_foot_backward()
kitty = Cats(10)
print kitty.spots
kitty.dance()
kitty.breastfeed()
kitty.move()
4 文件的读写
import pickle
开: 文件变量 = open(“文件路径文件名”,”wb”)
存:pickle.dump(待写入的变量,文件变量)
关:文件变量.close()
举例:存储文件
举例:读取文件# savedata.py
imprt pickle
game_data = {"postition":"N2 E3","pocket":["key","knife"],"money":160}
save_file = open("save.dat","wb") #打开文件
pickle.dump(game_data,save_file) # 存储文件
save_file.close()
# readdata.py
imprt pickle
load_file = open("save.dat","rb") #打开文件
load_game_data = pickle.load(load_file) # 存储文件
load_file.close()
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