Python 3.5.2 测试可以运行

import sys
from abc import ABC,abstractmethod class MyBase(ABC):
@abstractmethod
def func(self):
'''Implement in subclass''' class MyClass(MyBase):
def func(self):
con = "%s %s" % (self.__class__.__name__,sys._getframe().f_code.co_name)
print(con) obj = MyClass()
obj.func()

输出

MyClass func

python 2.7.12测试可以运行

import sys
from abc import ABCMeta, abstractmethod class MyBase():
__metaclass__ = ABCMeta
@abstractmethod
def func(self):
'''Implement in subclass''' class MyClass(MyBase):
def func(self):
con = "%s %s" % (self.__class__.__name__,sys._getframe().f_code.co_name)
print(con) obj = MyClass()
obj.func()

输出

MyClass func

上面python2的代码在python3中也可以正常输出.

还有一种3.0-3.3的写法 不写了.

兼容后的代码

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function import sys
if sys.version > '3':
from abc import ABC,abstractmethod
else:
from abc import ABCMeta, abstractmethod if sys.version > '3':
class MyBase(ABC):
@abstractmethod
def func(self):
'''Implement in subclass'''
else:
class MyBase():
__metaclass__ = ABCMeta
@abstractmethod
def func(self):
'''Implement in subclass''' class MyClass(MyBase):
def func(self):
con = "%s %s" % (self.__class__.__name__,sys._getframe().f_code.co_name)
print(con) obj = MyClass()
obj.func()

最新文章

  1. 利用节点更改table内容
  2. iOS基础框架的搭建/国际化操作
  3. 项目配置laungchImage
  4. CoreAnimation-09-模拟时钟
  5. win8安装新字体
  6. HDU-4742 Pinball Game 3D 三维LIS
  7. js简单实现删除记录时的提示效果
  8. Struts学习之类型转换
  9. JavaScript 逗号表达式
  10. hibernate---一对一单向外键关联--XML
  11. Notification弹出实现
  12. Mysql --数据的增删改
  13. Android中粗字体
  14. 无需脑图 无需思维导图 看Word大纲视图
  15. Linux下docker报错syntax error:unexpected protocol at end of statement
  16. C. Lorenzo Von Matterhorn LCA
  17. leetcode 315. Count of Smaller Numbers After Self 两种思路
  18. Android开发(十三)——全屏滚动与listview
  19. python3之深浅拷贝
  20. SAP 财务模块 FI-TV 差旅管理

热门文章

  1. VB自制计算器
  2. C# lambda 实现 Ascii 排序
  3. 用 shell 脚本做命令行工具扩展
  4. dotnet 读 WPF 源代码笔记 布局时 Arrange 如何影响元素渲染坐标
  5. webrtc源码阅读理解一
  6. re.findall用法
  7. Python+selenium自动化生成测试报告
  8. 四种引用类型在Springboot中的使用
  9. 图数据库Neo4j的基本使用及与SpringBoot集成
  10. 题解 51nod 1597 有限背包计数问题