月度归档:2021年01月

Python中 如何编写类继承呢?


摘要:
下文讲述Python中编写类继承的方法说明,如下所示:

面向对象编程开发中最大的好处是代码重用率高,
代码重用率中最重要的实现方法之一:采用继承的机制实现代码重用
那么Python语言中如何实现类继承呢?
下文将一一道来,如下所示:

实现思路:  
     class 派生类名(基类名)
------或----------
     class SubClassName (ParentClass1[, ParentClass2, ...])

Python继承注意事项:
     1、子类中如需运行父类中的构造方法,需显示调用父类中的构造方法
     2、如需运行基类中方法时,需采用基类的类名前缀,且需要带上 self 参数变量
     3、Python查找类中方法时,先在派生类中查找
        如果派生类中未找到,再从基类中查找

例:
Python 类继承的示例分享

 
#maomao365.com
#类继承的示例分享

class Parent:        # 定义父类
   parentAttr = 100
   def __init__(self):
      print ("我是父类构造函数")
 
   def parentMethod(self):
      print ('我是父类方法')
 
   def setAttr(self, attr):
      Parent.parentAttr = attr
 
   def getAttr(self):
      print ("父类属性 :", Parent.parentAttr)
 
class Child(Parent): # 定义子类
   def __init__(self):
      print ("我是子类构造方法")
 
   def childMethod(self):
      print ('我是子类方法')
 
c = Child()          # 实例化子类
c.childMethod()      # 调用子类的方法
c.parentMethod()     # 调用父类方法
c.setAttr(900)       # 再次调用父类的方法 - 设置属性值
c.getAttr()          # 再次调用父类的方法 - 获取属性

//输出
我是子类构造方法
我是子类方法
我是父类方法
父类属性 : 900 
Python类继承的示例分享

Python类继承的示例分享

Python中 如何销毁对象进行垃圾回收操作呢?


摘要:
下文讲述Python中销毁对象垃圾回收的操作说明,如下所示:

主动销毁对象是每门语言都拥有的功能,那么Python中如何进行对象销毁操作呢?
下文将一一道来,如下所示:

实现思路:  
     只需在类定义时,加入析构函数 __del__ 
      __del__ 析构函数会在对象销毁的时候被调用

例:
Python 对象销毁的示例分享

#maomao365.com
#对象销毁自动运行__del__的示例分享

class A(object): 
   x = 88
   name = None
   y = 99
   def __init__(self,name):
        self.x = 100
        self.y = 200
        self.name = name
   def __del__(self): 
        print ('我已经被销毁')
         


b = A("maomao");
c = A("maomao365.com");

del b;
del c;

//输出
我已经被销毁
我已经被销毁
Python销毁对象的示例分享

Python销毁对象的示例分享

Python中 “__bases__” 起什么作用呢?


摘要:
下文讲述Python中”__bases__” 的功能说明,如下所示:

 "__bases__" 是类中一个内置属性,
    其功能:返回一个元组,元组中包含父类的构成元素

例:
Python “__bases__” 属性示例分享

#maomao365.com
#__bases__的示例分享

class A(object): 
   x = 88
   name = None
   y = 99
   def __init__(self,name):
        self.x = 100
        self.y = 200
        self.name = name
   def test(self): 
        print ('selfA')

print (A.__bases__); 

//输出
(<class 'object'>,)