python 类的调用实例_在Python中从该类内部的类调用实例变量

我有一个具有logger实例变量的类,我正在创建另一个类,我想在该类中使用logger实例变量,但不知道如何调用它.

示例代码:

class A():

def __init__(self):

self.logger = Logger.get() #this works fine didn't include the Logger class

def func(self):

class B():

def __init__(self):

self.a = 'hello'

def log(self):

#How do I call A's logger to log B's self.a

#I tried self.logger, but that looks inside of the B Class

正如Python的Zen所说,“Flat比嵌套更好”.您可以取消嵌套B,并将记录器作为参数传递给B .__ init__.

通过这样做,

>您明确了B所依赖的变量.

> B变得更容易进行单元测试

> B可以在其他情况下重复使用.

class A():

def __init__(self):

self.logger = Logger.get() #this works fine didn't include the Logger class

def log(self):

b = B(self.logger)

class B():

def __init__(self, logger): # pass the logger when instantiating B

self.a = 'hello'

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值