Python支持面向对象编程,在面向对象编程中,class语句用于定义新类型的对象。
例如,下面这个类定义了一个简单的堆栈:
class Stack(object):
def __init__(self):
self.stack = []
def push(self,object):
self.stack.append(object)
def pop(self):
return self.stack.pop()
def length(self):
return len(self.stack)
在类定义中,方法用def语句定义。类中每个方法的第一个参数总是引用类实例对象本身,大家习惯上使用self这个名字代表这个参数。不过这仅仅是个习惯而已,如果你愿意也可以用任意的别的名字。不过为了别人容易看懂你的程序,最好还是跟随大家的习惯。类的方法中若需要调用实例对象的属性则必须显示使用self变量。方法名中若前后均有两个下划线,则表示这是一个特殊方法,比如init方法被用来初始化一个对象(实例)。
像下面这样来使用一个类:
s = Stack() #创建一个堆栈
s.push("SmallBox") #写入SmallBox到s中
x = s.pop() #读取s中的数据
print x #输出该数据
del s #删除s
对于堆栈的使用则是"先进后出"的原则
给大家举一个例子:
s = Stack()
s.push("Small")
s.push("Box")
x = s.pop()
print x
y = s.pop()
print y
del s
则最后的输出结果是
Box
Small
大家千万别以后是FIFO的原则