一,列表[]
c=[1,2,3,4,5]
d=["张三","李四"]
e=[1,2,3,"4","5",d]
列表可以类比c中的数组,只是没有数据类型限制。
(1)用列表名[索引号]索引列表中的元素
d[0]
(2)用列表名[起:止]表示切片,从列表中切出相应的元素(前闭后开区间)
c[0:2]切出[1,2]
c[:]切出[1,2,3,4,5]
(3)用列表名[起:止:步长]带步长的切片,步长有方向
c=[1,2,3,4,5,6,7]
c[4:0:-1]切出[5,4,3,2];c[4::-1]切出[5,4,3,2,1]
c[-2::-2]切出[6,4,2]
(4)修改:列表名[索引号]=新值.
(5)删除:del 列表名[索引号]
(6)插入:列表名.insert(插入位置索引号,新元素)
二,元组
一旦定义不能改变.
f=(1,2,3),可以类比c++中的const enum
三,字典
字典里放着{键:值,键:值,键:值}n个键值对,可以类比c++中的map
dic={1:"123",2:"456"}
(1)用字典名[键]索引字典中的值
(2)修改:字典名[键]=新值
(3)删除:del字典名[键]
(4)插入:字典名[新键]=新值
四,语句结构
循环,顺序,判断,可以类比c
五,函数
(1)定义函数:def 函数名(参数表):
函数体
(2)使用函数:函数名(参数表)
def hi_name(yourname):
print "Hello %s"%yourname
hi_name("zhangsan");
(3)函数返回值:return
def add(a,b):
return a+b
c=add(5,6)
六,模块(module)
import time
time.asctime()
七,包
from PIL import Image
八,类,对象和面向对象的编程
__init__函数,在新对象实例化时会自动运行,用于给新对象赋初值。
class Animals:
def breathe(self):
print "breathing"
def move(self):
print "moving"
def eat(self):
print "eating food"
class Mammals(Animals):
def breastfeed(self):
print "feeding young"
calss Cats(Mammals):
def __init__(self,spots):
self.spots=spots
def catch_mouse(self):
print "catch mouse"
补充:
_foo:以单下划线开头的表示的是protected类型的变量,即保护类型只能允许其本身与子类进行访问,不能用于from module import*
__foo:双下划线的表示的是私有类型(private)的变量,只能是允许这个类本身进行访问.
__foo__:头尾双下划线定义的是特例方法,类似__init__()
九,文件写操作
import pickle
game_data={"position":"N2 E3","pocket":["keys","knife"],"money":160}
save_file=open("save.dat","wb")
pickle.dump(game_data,save_file)
save_file.close()
十,文件读操作
import pickle
load_life=open("save.dat","rb")
load_game_data=pickle.load(load_file)
load_file.close()