python import nested class
我是Python的新手。这不是我的典型情况,只是我对导入嵌套类的好奇。
所以我有一个main.py和test.py。
测试:PY:
1 2 3 4 | class one(): class two(): def twodef(): pass |
所以在main.py中,我可以做
1 | error : ImportError: No module named one |
有人能解释吗?
你可以做的是只存在
1 2 | from test import one my_two = one.two() |
你可以做下面的:
1 2 3 4 | from test import one two_object = one.two() two_object.twodef() |
在test.py
1 2 3 4 5 | class One: class Two: @staticmethod def twodef(): print("twodef") |
我的主逻辑
1 2 3 | from test import One two_obj = One.Two two_obj.twodef() |
把parenthesis是结束了在类的定义。
编码标准:
你可以声明类的名字在骆驼案例(上一级一级>)。
更多关于范围
偏好:
如果你有一个单级内的Python文件,文件名称是总是在这类名称,但在下骆驼的情况。(test.py => one.py)。我想这是我们作为一个标准,但其已经广泛。我会用这个,因为如果项目的特性和尺寸,然后如果你最终有很多类和模块,它的逻辑和易于访问的访问模块,而不是找到的类名称。REF1ref2