回答編集履歴

2

コードに冗長な点があった為、ソース内コメントで説明(クラス内でインポートすれば import child1 as ch1 は不要だった)

2020/03/16 11:37

投稿

teamikl
teamikl

スコア8664

test CHANGED
@@ -80,7 +80,7 @@
80
80
 
81
81
  # 別ファイルで定義した関数を、インスタンスメソッドにする。
82
82
 
83
- create_notebook = ch1.create_notebook
83
+ create_notebook = ch1.create_notebook # ここで from child1 import create_notebook でも良い
84
84
 
85
85
  show_datalist = ch2.show_datalist
86
86
 

1

紹介した分割方法について、オブジェクト指向もしくはPythonでの一般的な分割方法だと誤解を招かれないように補足を追記

2020/03/16 11:37

投稿

teamikl
teamikl

スコア8664

test CHANGED
@@ -135,3 +135,15 @@
135
135
  self を通じて別ファイルで定義した関数を、メソッドとして呼び出す事が出来ます。
136
136
 
137
137
  >メソッド呼び出し→selfを渡す関数呼び出し といった変更作業が不要になります。
138
+
139
+
140
+
141
+ ----
142
+
143
+ 補足: 上記の分割方法について注意点
144
+
145
+ IDEやドキュメント生成ツールではメソッドと認識されない可能性があります。
146
+
147
+ あまり多用する分割方法ではなく、飽くまで「メソッドを関数にして (インスタンス)self を渡す」の代用です。
148
+
149
+ オブジェクト指向に於いては、役割毎に別クラスに分割するのが一般的です。