もしかして、やりたいことって、VBAでいう Sheets(1).Cells(1,1).Value 、
JavaScript でいう DOM操作のようになんか伸びていくタイプでしょうか。
それなら私も似たような質問をした気がします。
簡単に言えば、『オブジェクトを返せばいい』です。
例えば VBAの Sheets(1).Cells(1,1).Value みたいなのを再現するとしたら、
SheetsクラスのCellsメソッドを用意する。
そのメソッドは Cellオブジェクトを返す。
つまり、イメージ的には、
sheet = Sheets( 1 )
cell = sheet.Cells( 1, 1 )
cell,Value = “test”
のように、AのオブジェクトがBオブジェクトを返し、BオブジェクトがCオブジェクトを返す。
とするのです。
class C:
# 処理
def method1():
return 100
class B:
# Cのオブジェクトを返す
def CreateC():
return C()
class A:
# Bのオブジェクトを返す
def CreateB():
return B()
a = A()
n = a.CreateB().CreateC().method1()
```
のようにやるとか。
それか、いわゆる**関数型**プログラミングっていうやつでやるかでしょうね。
こっちの方はよくわかりませんが。
----
[追記1]
上の処理の名前なんて言ったかな…鎖のように繋がっているからチェーンメソッドかなと思い、
調べてみました。
ああ、言い忘れていましたが、チェーンメソッドでも、『自身のオブジェクトを使う』のであれば、selfを使えば良さそうです。
ヒント: [参考1](https://plumfield56.com/python/method-chaining/)
どちらにしても、チェーンメソッドをやる場合は上記の『別のクラスのオブジェクトを返しながらやる』的なものっですね。単に自身(self)を返すのか、他のクラスのオブジェクトを返すのかぐらいの違いですね。
(厳密には違うとは思うが)