Python 学习笔记 -- 类的一些小知识

 1 #什么是组合:其实就是在类定义中把需要的类放进去实例化就可以啦。
 2 class A:
 3     pass
 4 
 5 class B:
 6     pass
 7 
 8 class C:
 9     def __init__(self):
10         self.a = A()
11         self.b = B()
12 
13 
14 #C拥有了A和B,组合了A和B
15 #什么时候用组合呢,比如说,天上有一只鸟,水里有一条鱼。
16 #什么时候用继承呢,比如说,猫是动物,人也是动物
17 #-------------------------------------------------------------------
18 
19 #类对象和实例对象:
20 #类对象在类定义完的时候,类定义就变成了类对象,可以直接通过"类名.属性"和"类名.方法()"引用相关的属性或者方法
21 #实例属性:是一个类的具体实例,将一个类具体化成实例,赋值给一个变量
22 
23 #如果对象的属性和方法名相同时,对象属性会覆盖方法,避免方法是,属性用名词,方法用动词
24 
25 
26 #定义一个栈,后进先出特性的数据结构,方法:push(),pop(),top(),base()
27 class Stack:
28     
29     def __init__(self, datas=[]):
30         self.count = 0 #用于计算目前有多少内容
31         self.data = []
32         for x in datas:
33             self.push(x)
34 
35     def isEmpty(self):
36         return not bool(self.count)
37 
38     def push(self,data):
39         self.count += 1
40         self.data.append(data)
41 
42     def pop(self):
43         if self.isEmpty():
44             return -1
45         self.count -= 1
46         return self.data.pop()
47 
48     def top(self):
49         if self.isEmpty():
50             return -1
51         return self.data[self.count-1]
52 
53     def bottom(self):
54         if self.isEmpty():
55             return -1
56         return self.data[0]
57 
58 a = Stack([1,2,3])
59 print(a.isEmpty())
60 print(a.pop())
61 print(a.isEmpty())
62 print(a.pop())
63 print(a.pop())
64 print(a.pop())
65 print(a.pop())
66         

 

posted @ 2017-12-19 15:09  欧晨曦  阅读(209)  评论(0编辑  收藏  举报