Python 自醒(也称反射)

本文通过一个生动的场景,讲解了Python中自省函数hasattr()、getattr()、setattr()、delattr()的使用方法。小红如何利用这些函数判断小明未完成的模块功能,以及在小明完善代码后,小红如何再次验证功能的存在。

自醒函数有几个?

  答:有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
#正在上传文件

 

 

  

转载于:https://www.cnblogs.com/yangjinquan/p/9739986.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值