2017-04-25 35 views
1

我想创建一个嵌套类来执行在每个子类中传递的参数的sum或multiplication。 下面的例子可以帮助我在类中执行动作,但是我无法找到任何帮助我将父类继承到子类的文档。在Python 3中嵌套的类3

最近我遇到一篇文章,其中突出显示“嵌套类无法在编译时访问其外部类的任何成员。”“。有没有更好的方法来传递类之间的值?我尝试使用全局变量,但是想要避免设置许多全局变量,而我按比例缩放这个逻辑来提取我的整个数据中心的库存,执行一些计算并再次传递给另一个类。

class Class1: 
    firstnumber=0 
    def __init__(self,arg): 
     self.firstnumber=arg 

    class Class2: 
     def __init__(self,arg): 
      self.secondnumber=arg 

     def sumit(self): 
      return Class1.firstnumber+Class1.Class2.secondnumber 


print(Class1(5).firstnumber) 
print(Class1(6).Class2(4).secondnumber) 

print(Class1(4).Class2(10).sumit()) 

我想与 的Class1执行计算(变量1).Class2(变量2).Class3(variable3)的.sum()或 的Class1(变量1).Class2(变量2).Class3(variable3)。多个(),并最终能够做到以下

数据中心( 'DC1')。GetServer( '服务器名称')。GetStorageCapacity( 'NFS')。使用() 数据中心( 'DC1')。GetServer(“服务器名称').GetStorageCapacity(' NFS“)。免费()

http://momentaryfascinations.com/programming/bound.inner.classes.for.python.html

+0

看起来像是你的错误理解。你引用的文件是正确的。你试图解决的问题并不需要嵌套类。 –

+0

感谢您的建设性反馈。 – Atulac

回答

-1

我可能是错的,但根据我的理解,您在类()和init声明之间放置的任何内容都是永久且不可更改的。你不需要为每个数字创建单独的类。创建同一个类的不同实例。

class numbers: 
    def __init__(self,arg): 
     self.arg = arg 

C1 =数字(3) C2 =数字(5)

我不知道如何将添加ARG变量一起也许别人可以在我错过了什么我填。

+0

我选择了数字示例以使其具有通用性。我们在全球不同城市拥有数据中心。我想从这些数据中心使用的不同工具中检索数据。如果有人帮助我使用嵌套类,它可以帮助我查询并使用以下Datacenter('DC1')检索这些服务器的服务器,存储和其他详细信息:GetServer('ServerName')。GetStorageCapacity('NFS')。Used () – Atulac