python中的内部类,而不影响程序的正常操作

python中的内部类,而不影响程序的正常操作,python,Python,我在学习Python的同时也在做一个主题项目,我意识到我有两个类(类senA和senB),它们代表两个相似的元素,因此,我想知道这两个类是否可以组合在一个通用类(通用类)中,我正在查看内部类,但不幸的是,由于我必须访问每个类(senA和senB)的参数,所以总是生成错误。我的代码是这样的 class senA(): def __init__(self, arg, arg2): self.arg = arg self.arg2 = arg2 class

我在学习Python的同时也在做一个主题项目,我意识到我有两个类(类senA和senB),它们代表两个相似的元素,因此,我想知道这两个类是否可以组合在一个通用类(通用类)中,我正在查看内部类,但不幸的是,由于我必须访问每个类(senA和senB)的参数,所以总是生成错误。我的代码是这样的

class senA():
    def __init__(self, arg, arg2):
        self.arg = arg 
        self.arg2 = arg2 

class sensB():
    def __init__(self, arg3):
        self.arg3 = arg3


for i in range (3):
    obj = senA('hx', 'ex')
    objx = sensB ('hello')
    values=list(attrs.values())
    valuesx=list(attrsx.values())
    list_VALORES.append(values)
    list_metodos.append(valuesx)

print(list_metodos)
print(list_VALORES)
它工作得很好,但我想将senA和senB类关联到一个名为classGeneral的类中

class general():
    class senA():
        def __init__(self, arg, arg2):
            self.arg = arg 
            self.arg2 = arg2 
    
    class sensB():
        def __init__(self, arg3):
            self.arg3 = arg3
但它会产生不断的错误,例如,当我实例化对象时,程序会停止识别类。你知道我该怎么解决这个问题吗


对不起,我的英语不好,但我不是以英语为母语的人。我试图尽可能清楚地说明

据我所知,您想要的是创建一个单独的模块来容纳
senA
sensB
类。如果创建一个名为
general.py
的python文件来保存类定义,则可以将其导入另一个python脚本。因此,在您的
main.py
中,您可以在顶部添加以下行:
来自general import senA,sensB
,您可以像正常情况一样使用它们

如果您的类都相似并且共享属性,那么您也可以使用继承。例如:

类概述:
定义初始化(self,arg1):
self.arg1=arg1#senA和sensB都使用的参数
senA级(一般):
定义初始化(self,arg1,arg2):
super()。\uuuu init\uuuu(arg1)
self.arg2=arg2
B类传感器(一般):
定义初始化(self,arg1,arg2,arg3):
super()。\uuuu init\uuuu(arg1)
self.arg2=arg2
self.arg3=arg3
然后,您可以正常访问这些类中的属性,例如:

a=senA('arg1值'、'arg2值')
打印(a.arg1)#返回“arg1值”
打印(a.arg2)#返回“arg2值”

我尝试了您的示例,然后将obj=senA('hx','ex')/objx=sensB('hello')更改为obj=general().senA('hx','ex')/objx=general().sensB('hello')。这对我来说非常有效。您必须以
general.senA
general.senB
的身份访问这些类,但是为什么呢?你想达到什么目的?佐基,你完全正确。这就是它的最佳工作方式。这真的帮了我很大的忙,很明显,我必须不断学习有关课程的知识,以及如何使用这些课程。再次,非常感谢。我还没有考虑过这个模块,这正是我想做的。当我查看super()类时,看看我能理解什么。非常感谢你的回答。