[過去ログ] くだすれPython(超初心者用) その37 (988レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
934
(2): 2018/05/13(日)03:39 ID:BxSSHPxy(1/2) AAS
最近始めたんですが、ファイルを分割したいのでimportを使うようなのですが、スコープが全然解らなくて教えてください。

main.py
class Filelorder():
 data=読み込んだデータをここに保持
class Calcfunc():
 def なんちゃら:
  file_lorder.data と参照して使用
file_lorder=Filelorder()
file_lorder.load() クラス内にdef loadは作ってあります

この様にしていたのですが

fileloader.py にclass Filelorderを移動
calcfunc.py にclass Calcfuncを移動
main.py
from fileloader import *
from calcfunc import *
file_lorder=Filelorder()
file_lorder.load()

として、file_lorderを切り分けたファイル側から参照するにはどうしたらいいのでしょうか
又は、Filelorder()のインスタンスの置き場所としてfile_lorderをグローバルに置くべきではないのでしょうか
class Filelorder の中を外部から直接見る方法はあるのか、fileloader.py 内でインスタンスを作ってしまってそれを他のファイルから参照できるのでしょうか
教えてくださいよろしくお願いします。
938: 2018/05/13(日)06:05 ID:BxSSHPxy(2/2) AAS
レスありがとうございます。
試行錯誤してみたのですが、ひとつのファイルならクラス外のグローバルにアクセスできるけど、ファイルを分けると完全に切り分けされてしまってグローバルにアクセスできなくなる感じだというのが解りました。
Calcfuncのインスタンスを作る時にfile_lorderを持たせて保持してもらうことで対応できそうです。
どうでもいいけど、lorderでなくてloaderですね、lordなら意味は通じなくもないけどerは付かない・・・
どうもありがとうございました。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.035s