Python——创建更加牛逼的对象

简介:

    什么叫更加牛逼的对象?其实是一种更高级别的对象——管理对象

什么是管理对象:
    一种用来管理其他对象的对象,这种对象可以将一切都绑在一起

管理对象的作用:
    将工作委托给其他方法,只需按照规定好的顺序委托其他方法工作

好吧!有点晕乎乎的感觉!我想了个例子,比如系统打补丁。

操作系统打补丁一般需要经历三个步骤:
1、下载补丁
2、安装补丁
3、重启系统

那么,管理对象只需确保这3个步骤按顺序发生即可!!
下面的代码只是对事件的模拟,看下面的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class  Host:
     def  __init__( self , hostname, ip):
         self .hostname  =  hostname
         self .ip  =  ip
 
     def  patch_repair( self ):
         #管理者方法(补丁修复顺序)
         self .download_patch()  #下载
         self .install_patch()  #安装
         self .reboot_system()  #重启
 
     def  download_patch( self ):
         #补丁下载
         print ( "{} Start downloading the patch" . format ( self .hostname))
 
     def  install_patch( self ):
         #补丁安装
         print ( "{} Start install patch" . format ( self .hostname))
 
     def  reboot_system( self ):
         #重启系统
         print ( "{} Start reboot system" . format ( self .hostname))
 
if  __name__  = =  '__main__' :
 
     =  Host( "pc001" "192.168.89.67" )
     h.patch_repair()


似乎没毛病!那么这样做的好处是啥?
    1、增强可读性,每一个步骤的代码都是独立的,
    2、增强可扩展性,如果子类只需下载补丁的方法,那么就可以直接继承并覆盖它,重写它
    3、增强隔离性,一个外部类可以创建这个类的实例,可以直接使用其中的一个方法,而不是 patch_repair



本文转自 TtrToby 51CTO博客,原文链接:http://blog.51cto.com/freshair/2064521

相关文章
|
3月前
|
Python
python对象模型
这篇文章介绍了Python中的对象模型,包括各种内置对象类型如数字、字符串、列表、字典等,以及如何使用`type()`函数来查看变量的数据类型。
|
3月前
|
Python
探索Python中的魔法方法:打造你自己的自定义对象
【8月更文挑战第29天】在Python的世界里,魔法方法如同神秘的咒语,它们赋予了对象超常的能力。本文将带你一探究竟,学习如何通过魔法方法来定制你的对象行为,让你的代码更具魔力。
42 5
|
1月前
|
存储 缓存 Java
深度解密 Python 虚拟机的执行环境:栈帧对象
深度解密 Python 虚拟机的执行环境:栈帧对象
56 13
|
1月前
|
索引 Python
Python 对象的行为是怎么区分的?
Python 对象的行为是怎么区分的?
19 3
|
1月前
|
存储 缓存 算法
详解 PyTypeObject,Python 类型对象的载体
详解 PyTypeObject,Python 类型对象的载体
24 3
|
30天前
|
Python
深入解析 Python 中的对象创建与初始化:__new__ 与 __init__ 方法
深入解析 Python 中的对象创建与初始化:__new__ 与 __init__ 方法
17 1
|
1月前
|
缓存 Java 程序员
一个 Python 对象会在何时被销毁?
一个 Python 对象会在何时被销毁?
29 2
|
1月前
|
API Python 容器
再探泛型 API,感受 Python 对象的设计哲学
再探泛型 API,感受 Python 对象的设计哲学
18 2
|
1月前
|
API Python
当调用一个 Python 对象时,背后都经历了哪些过程?
当调用一个 Python 对象时,背后都经历了哪些过程?
19 2
|
1月前
|
存储 API C语言
当创建一个 Python 对象时,背后都经历了哪些过程?
当创建一个 Python 对象时,背后都经历了哪些过程?
17 2