首页 新闻 会员 周边 捐助

python getattr调用其他类的方法

0
悬赏园豆:30 [已关闭问题] 关闭于 2022-10-25 09:29
问题遇到的现象和发生背景

getattr只能调用自己类里的方法和属性,无法调用导入的其他类的属性和方法,但是导入其他类的实例化对象使用hasattr方法返回的是True,但是实例化对象里无法直接调用其他类的方法只能调用其他类对象,这个该怎样用getattr实现调用其他类的方法呢

用代码块功能插入代码,请勿粘贴截图

(```)python
from common.read_file import Read
class Ct:
def test3(self):
print('test4函数')

class Cs:
name='张三'
def init(self):
self.read=Read(r'../data/test.xlsx',0)
self.ct=Ct()
def test1(self):
print('test1函数')

def test2(self):
	print('test2函数')

if name == 'main':
c=Cs()
print(hasattr(c, 'ct'))#True
print(hasattr(c,'test2'))#True
print(hasattr(c,'name'))#True
print(hasattr(c,'test3'))#False
getattr(c, 'test2')()
getattr(c,'test3')()

(```)

运行结果及报错内容
getattr(c,'test3')()

AttributeError: 'Cs' object has no attribute 'test3'

我的解答思路和尝试过的方法

geattr(c,'ct.test3')()
getattr(c,'ct').test3()

我想要达到的结果

使用getattr方法可以让实例化对象c调用其他类里的test3方法,求大佬解答

Ttonet的主页 Ttonet | 初学一级 | 园豆:5
提问于:2022-10-25 09:25
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册