python前景如何调用带有event参数的方法_Python:如何通过作为param传递的类对象调用类方法...

我想将一个类作为参数传递给另一个类,然后调用我传递的类的方法,但是我得到了不同的错误。我从this开始,但是我的代码一直给我错误。

考虑以下情况:class A:

A_class_var = "I am an A class variable"

def __init__(self):

self.A_inst_var = "I am an A instance variable"

def GetClassVar(self):

return A_class_var

def GetInstVar(self):

return self.A_inst_var

class B:

def __init__(self, cls):

print cls.GetClassVar()

print cls.GetInstVar()

1)当我调用b = B(A)时,我得到一个“未绑定的方法GetClassVar()必须用一个实例作为第一个参数来调用(没有得到任何结果)。”因此我认为GetClassVar()和GetInstVar()需要一个实例,并试图将cls添加到B的__init__中的两个调用的参数中。同样的错误。

2)当我试图调用b = B(A())时,得到错误“global name A_class_var”未定义。

3)当我尝试调用a = A()然后再调用b = B(a)时,得到的错误与中的相同。

4)当我试图做上面链接的SO答案中的建议时,即将B的定义更改为:class B:

def __init__(self, cls):

self.my_friend = cls

def GetFriendsVariables(self):

print my_friend.GetClassVar()

print my_friend.GetInstVar()

然后调用b = B(A),然后再调用b.GetFriendsVariables()(也就是在这之后我链接),我得到GetFriendsVariables中的错误“global name my_friend is not defined”。

我真的很想了解如何正确地将类作为参数传递,以便能够访问这些类的变量和方法,并且很想了解为什么我上面的各种尝试都不起作用(但是我发送的so链接起作用了?)

非常感谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值