みやたくワークスの徒然ブログ

みやたくワークスの徒然ブログ

PR

×

Profile

たくぷれっさ2号機

たくぷれっさ2号機

Calendar

Archives

2026.05
2026.04
2026.03
2026.02
2026.01
2023.11.26
XML
カテゴリ: Python
swift とかでも何度かハマったことがあるが、class A のインスタンスに class Bのインスタンの参照を持ち、かつ、class B のインスタンスにもclass A のインスタンスの参照を持ちたい時、classごとにソースを分けておくと、class の import 時に衝突が起きる。

swift では、NotificationCenter を使って回避していたが、Pythonではこんな解決方法もあったよと言う話。


# ModuleA.py

class MyClassA:
    pass

# ModuleB.py

class MyClassB:
    pass
# 循環参照を避けるために関数内でimport
def some_function():

    from ModuleA import MyClassA
    from ModuleB import MyClassB
    # MyClassAやMyClassBを使用する処理
​必要な時にだけ、class をインポートしてあげることができるらしい。

こんな解決方法があるよと言うことは分かりつつ、PySide にもNotificationCenterのようなものがあるらしいのでそっちで解決予定。






お気に入りの記事を「いいね!」で応援しよう

Last updated  2025.04.16 20:17:54
コメントを書く
[Python] カテゴリの最新記事


■コメント

お名前
タイトル
メッセージ
画像認証
上の画像で表示されている数字を入力して下さい。


利用規約 に同意してコメントを
※コメントに関するよくある質問は、 こちら をご確認ください。


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
Design a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: