[過去ログ] Pythonのお勉強 Part65 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
903
(2): デフォルトの名無しさん (ワッチョイ 8101-XAe6) [] 2021/11/05(金) 11:09:17 ID:WVIgdnkY0(1/2) AAS
複数開いたブラウザに対して操作するプログラムを作っていて、
グローバル変数が大量になってしまったので、それがベストなのかアドバイスを頂きたくお願いします。

処理の流れは、一番最初に4つのウィンドウハンドルを取得して変数に格納(hnd1~4)、それぞれにURLなどを設定(これも4個)。
それらの変数使ってブラウザ操作しているのですが、変数が多くそれらが全てグローバル変数になっています。
グローバル変数にしている理由は、ブラウザ操作の関数で書き換えが出来ないのでグローバルにしています。

ボタン位置や読み込む文字が複数になればなるほど、倍々ゲームでグローバル変数が増えてしまうのですが、
問題はないでしょうか。
色々なサイトを見る限りは、グローバル変数は最低限にするというのですが、
どうしても関数に渡すにはそうなってしまうため教えていただければと思います
904
(1): デフォルトの名無しさん (ワッチョイ d201-CJ6T) [sage] 2021/11/05(金) 11:29:57 ID:WAcm7u050(1) AAS
>>903
問題ありまくりだけど個人のプログラムなら好きにすればいいと思う

ウィンドウを4つから5つとか6つとかに増やす場合があると仮定して
その際に設定ファイルの変更のみでプログラムの変更は必要ないように作るのが一般的
905
(1): デフォルトの名無しさん (ワッチョイ b236-awrp) [] 2021/11/05(金) 12:45:16 ID:ZmTTUUh30(2/3) AAS
>>903
クラスがいいんじゃねえの。

class Browser ():
    def __ init __ ( self ) :
      hnd = None
      url = ""
      buttonPosi = None      

    def setUrl(self,url):
      self.url = url

    def setHnd(self,hnd):
      self.hndl = hnd

if __name__ == '__main__':
    brow1 = Browser()
    brow2 = Browser()
    brow3 = Browser()
    brow4 = Browser()

    brow1 .setUrl("http://........")
    brow2 .setUrl("http://........")
    brow3 .setUrl("http://........")
    brow4 .setUrl("http://........")

超いいかんげんで書いたけど、こんな感じは?
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.208s*