`
yzjklove
  • 浏览: 63033 次
  • 性别: Icon_minigender_1
  • 来自: 广东省惠州市
社区版块
存档分类
最新评论

Python学习笔记(实用技巧)

阅读更多
一、如何实现系统的灵活扩展
    在实际的应用中,经常要考虑系统的扩展性。当一个系统定型并被打包发布后(甚至被转成了exe文件包后),想要在不破坏整体性的同时,又能方便的扩展(或调整)系统的功能,就像插件、补丁这些功能。
1. 使用类别名+外部文件来扩展内部类
    原理:在代码编写过程中,注意使用类别名。即在类的定义完成后,给类赋一个标准别名,然后在类的实现时使用这个标准别名来操作。在扩展时,执行一个外部文件,这个文件中对原类做了扩展,并将标准别名赋给这个扩展类,就可以实现功能扩展了。
    举个例子:
代码一:test.py
----------------------------------------------------------
import os
class OldClass:
    def __init__(self):
        print 'OldClass: init'   
    def Test(self, info):
        print 'OldClass: ' + info       
    def __del__(self):
        print 'OldClass: del'
# 定义了类OldClass,赋了别名TestClass      
TestClass = OldClass
if os.path.exists('plugin.py'):
    execfile('plugin.py')      
if __name__ == '__main__':
    T = TestClass()  
    T.Test('info')
    T = None
    print '-END-'
---------------------------------------------------------
代码二:plugin.py
---------------------------------------------------------
class NewClass(OldClass):  
    def Test(self, info):
        print 'NewClass: ' + info 
# 定义了OldClass的子类NewClass,赋了别名TestClass        
TestClass = NewClass
---------------------------------------------------------
运行:在没有plugin.py时,执行了OldClass的Test方法,而在添加了plugin.py后,执行了NewClass的Test方法,这样我们只要修改外部文件plugin.py,就能达到不修改原始文件时扩展功能的目的。
分享到:
评论
1 楼 wl6179 2012-04-11  
很不一样的视角,谢谢yzjklove的解说!

相关推荐

    Python学习笔记(干货) 中文PDF完整版.pdf

    《Python学习笔记(干货) 中文PDF完整版.pdf》是一份非常实用的Python学习资料,适用于初学者和有一定编程基础的人群。本资料主要涵盖Python基础语法、面向对象编程、常用模块、Web开发、数据分析等方面的内容,内容...

    Python学习笔记+入门基础教程+语法总结+进阶版合集完整版

    Python学习笔记,根据作者学习编程的经验和体会整理而成,手把手教你学Python。基于最新的Python版本,零基础带你搭建开发环境,从无到有、从易到难、层层递进,逐步走进Python的世界。既有详细的知识点介绍,又有...

    Python学习笔记

    这是我个人0基础做的Python学习笔记,全都是基础知识,而且包括各种实用技巧,对于小白学Python会有很大的帮助,想学Python,又不知道从哪入手的值得一看。笔记中都是基础知识、基础知识、基础知识。

    某国一python算法做题笔记-算法模板

    《某国一Python算法做题笔记-算法模板》是一本专为Python编程爱好者... 总之,《某国一Python算法做题笔记-算法模板》是一本实用、易懂的Python算法学习指南,它将帮助你快速提升编程能力,掌握Python算法的核心技巧。

    Python实用库 PrettyTable 学习笔记

    主要介绍了Python实用库 PrettyTable 学习笔记,结合实例形式分析了Python表格操作库PrettyTable的安装、使用技巧与相关注意事项,需要的朋友可以参考下

    Python游戏开发笔记3.md

    然后讲解了优化游戏性能的技巧以及使用Pyinstaller工具将Python游戏打包成exe文件的方法。最后以贪吃蛇游戏作为案例,阐述了游戏规则和设计思路,并给出了实现蛇移动、吃食物、碰撞检测等功能的详细代码示例。整个课程...

    2023年python数据分析教程

    《Python数据分析教程》是针对Python程序员和数据分析师的实用教程,旨在帮助读者掌握Python中常用的数据分析技术和工具。本书通过实例演示的方式,详细介绍了数据分析的基本概念、数据处理、数据可视化、机器学习等...

    大学统计学考试重点(考试必备)

    大学统计学考试重点(考试必备) ...不仅包含国省级比赛奖项的学习笔记,还有众多实用的快速实战技巧以及学习干货定期更新哦! 欢迎分享想法或提出问题,期待与你的交流 ~ 请多多指教,让我们一起学习,共同成长!

    利用SBM数据包络分析法处理全要素生产率DEA测度问题

    【利用SBM数据包络分析法处理全要素...不仅包含国省级比赛奖项的学习笔记,还有众多实用的快速实战技巧以及学习干货定期更新哦! 欢迎分享想法或提出问题,期待与你的交流 ~ 请多多指教,让我们一起学习,共同成长!

    利用matlab移动平均值法处理数据缺失值

    利用matlab移动平均值法处理数据缺失...不仅包含国省级比赛奖项的学习笔记,还有众多实用的快速实战技巧以及学习干货定期更新哦! 欢迎分享想法或提出问题,期待与你的交流 ~ 请多多指教,让我们一起学习,共同成长!

    leetcode中国-star-repos:星宿

    android学习笔记 android的开源project python related 12306 Python programs to practice or demonstrate skills. js related html5动画那本书 js实现的数据结构与算法 js编程风格,也有语法 js语法学习 js开源教程...

    rsd-engineeringcourse:图灵研究软件工程课程的材料

    重点在于有效构建和维护复杂代码的实用技术,技巧和技术。 这是一个相对较短的时间(8个半天为32小时),是密集而实用的课程。 先决条件:您必须具有至少一种编译语言(例如C ++,C或Fortran)和至少一种动态语言...

Global site tag (gtag.js) - Google Analytics