zoukankan      html  css  js  c++  java
  • 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         
  • 相关阅读:
    Bullet 学习笔记之 btPersistentManifold 及 btManifoldPoint
    Bullet 学习笔记之 btCollisionWorld::performDiscreteCollisionDetection
    Bullet 学习笔记之 btCollisionWorld
    hdu 6617
    codeforces 1247 E
    GYM 101174 A
    GYM 100714 G
    codeforces 1239 C
    牛客挑战赛33D
    codeforces 1238 E
  • 原文地址:https://www.cnblogs.com/jiangchenxi/p/8065789.html
Copyright © 2011-2022 走看看