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 timetime.asctime()
(3)包
包是包含多个模块
from PIL import Image
3 类
(1)概念
类:物以类聚人以群分,是函数的几何,可实例化出对象的模具
实例化:对象 = 类()
对象:是类实例化出来的实体,对象实实在在存在的,完成具体的工作
面向对象:程序员反复修改优化类,类实例化出对象,对象调用类里面的函数具体的操作。
class 类名(父类名):pass# 占位符
(2)规定
- 先用pass占位置,起架构;再用具体的函数替换pass完善类
- 类里定义函数时,语法规定第一个参数必须是self
- init函数,在新对象实例化时会自动运动,用于给新对象赋初值
- 对象调用类里的函数,用对象.函数名
- 对象调用类的变量,用对象.变量名
- 类内定义函数时,如调用自身或父类的函数与变量时,必须用self.引导,应写为self.函数名或self.变量名
# pytest.pyclass 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 = spotsdef 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.spotskitty.dance()kitty.breastfeed()kitty.move()
4 文件的读写
import pickle
开: 文件变量 = open(“文件路径文件名”,”wb”)
存:pickle.dump(待写入的变量,文件变量)
关:文件变量.close()
举例:存储文件
举例:读取文件# savedata.pyimprt picklegame_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.pyimprt pickleload_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
