python字符串调用类_Python——基于字符串调用类方法或函数,python,根据

使用python内置函数getattr可实现。

很多地方都讲到这个方法论, 我着重强调一点:

返回类的方法后,不可以再实例化,然后调用该方法

getattr函数输入一个类对象和一个字符串,返回与字符串同名的类对象的属性。

该函数原型为: getattr(object, name[, default])

object :类的对象

name : 类属性名对应的字符串

default :可选项,当name对应的属性不存在时:如果输入了default参数,返回default;否则产生AttributeError异常。

若name对应的属性存在,该函数返回该属性。

示例:

class example:

def __init__(self):

self.member = 0

def func(self):

pass

对于该类执行如下语句:

e = example()

member = getattr(e, 'member', None)

func = getattr(e, 'func', None)

# 不可以 e.func()

print('member is :' + str(member))

func()

通过调用getattr函数,使得:member = e.member,func  = e.func

运行出的结果为:

member is :0

this is a func

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值