Python 自醒(也称反射)

自醒函数有几个?

  答:有4个函数。hasattr()、getattr()、setattr()、delattr()

自醒函数的应用场景:

  今天项目经理给小明和小红分配写项目工作。过了几天小明有事请假了,但项目没有写完。小红写的功能 需要调用小明的模块!

但小红不知道小明写没有写完,接着小红突然想到用自醒函数来测试小明到底有没有写完

1、小明写的代码:

class FtpClien:
    'ftp客户端'
    def __init__(self,addr):
        self.addr = addr
        print('正在连接服务器%s' % self.addr)
        pass

2、小红写的代码:

from Ftp_clien import FtpClien

f1 = FtpClien('1.00.3.2')
if hasattr(f1,'put'):
    func_get = getattr(f1,'put')
    func_get()
else:
    print('没有这个方法不存在')

#正在连接服务器1.00.3.2
#没有这个方法不存在

3、小明度假完了,接着完善他的代码

class FtpClien:
    'ftp客户端'
    def __init__(self,addr):
        self.addr = addr
        print('正在连接服务器%s' % self.addr)
    #补充的代码
    def put(self):
        print('正在上传文件')

4、小红检查自己的代码

from Ftp_clien import FtpClien

f1 = FtpClien('1.00.3.2')
if hasattr(f1,'put'):
    func_get = getattr(f1,'put')
    func_get()
else:
    print('没有这个方法不存在')

#运行结果
#正在连接服务器1.00.3.2
#正在上传文件

 

 

  

posted @ 2018-10-03 16:15  气质哥  阅读(335)  评论(0编辑  收藏  举报