- 1 名前:デフォルトの名無しさん [2023/07/13(木) 18:48:41.56 ID:INS7SIu4.net]
- 当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。 「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。 このスレッドは「お勉強」スレのほうには書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。 ★エラーを解決したい場合★は、 表示されたエラーの全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、 実行環境(Pythonのバージョン・OSとIDEの種類およびバージョン)をシッカリ書くこと。 Pythonの★ソースコードをそのまま5ちゃんに貼るとインデントが崩れてチヌ★ 【【【複数の連続半角スペースはなにもなかったことにされる&タブは普通には入れられない】】】掲示板の仕様なので、 プログラム文は↓等の、いわゆるコードうp用サイトに貼ってこいください。 ttps://techiedelight.com/compiler/ Run Code機能あり。 ttp://ideone.com/ デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。 ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。 ttp://pastebin.com/ まずまずシンプル。 ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。 ◇Python公式◇ www.python.org/ ◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi 〇前スレ〇 【まず1嫁】くだすれPython(超初心者用) その58 https://mevius.5ch.net/test/read.cgi/tech/1662514433/ 次スレたては >>985 あたりが挑戦する。 ### END OF TEMPLATE ###
- 172 名前:デフォルトの名無しさん [2023/09/07(木) 12:33:06.77 ID:iG8XE85c.net]
- yahooの再設定で生年月日わからんから生年月日を検索するツールを作りたいん
プログラム知識ないからAIで作らせたいん どうすればいいんですか?
- 173 名前:デフォルトの名無しさん mailto:sage [2023/09/07(木) 12:46:06.68 ID:KtKJhS7/.net]
- AIの知識があるなら
プログラムもAIで作ればいいんじゃないかな
- 174 名前:デフォルトの名無しさん [2023/09/07(木) 13:00:46.71 ID:yf0XBZB8.net]
- 馬鹿には無理
- 175 名前:デフォルトの名無しさん mailto:sage [2023/09/07(木) 13:07:12.08 ID:CDCme1Du.net]
- 総当たりじゃ解けないようになってるはず
サポートに問い合わせろ
- 176 名前:デフォルトの名無しさん [2023/09/07(木) 13:14:06.06 ID:iG8XE85c.net]
- 問い合わせても「お答えできない」としか返ってこないから意味ないん
- 177 名前:デフォルトの名無しさん mailto:sage [2023/09/08(金) 17:42:37.49 ID:NjDvTDdV.net]
- 宿題にはお答え出来ません
宿題と判らないように質問してください
- 178 名前:デフォルトの名無しさん [2023/09/10(日) 07:30:31.81 ID:hps7g+0s.net]
- 30代Pythonバカチョン男は強姦魔の犯罪者です!
あなたの近くにいます! 父母と祖父母の戸籍謄本を提出させましょう!
- 179 名前:デフォルトの名無しさん [2023/09/10(日) 07:34:36.02 ID:hps7g+0s.net]
- 「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。 「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。 「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。 「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。 「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。 「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。 「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。 「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。 「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
- 180 名前:デフォルトの名無しさん [2023/09/10(日) 07:34:51.97 ID:hps7g+0s.net]
- 30代Pythonバカチョン男は強姦魔の犯罪者です!
あなたの近くにいます! 父母と祖父母の戸籍謄本を提出させましょう!
- 181 名前:デフォルトの名無しさん mailto:sage [2023/09/11(月) 03:48:59.40 ID:WUmnzUS8.net]
- スレタイにふさわしい質問ですがryeってのどうですか?
Pythonバージョンの切り替えとかほぼしないしpoetryで不満ないんですが この手のツールはあんまりフラフラ変えないほうがいいですよね?
- 182 名前:デフォルトの名無しさん [2023/09/11(月) 09:49:56.20 ID:lXcI/Ajd.net]
- なにそれおいしいの
- 183 名前:デフォルトの名無しさん mailto:sage [2023/09/11(月) 12:23:17.90 ID:Uj3i56F3.net]
- Rustで作られた
Pythonの環境管理・installなどのツールか venvなどよりryeおすすめって記事をよく見る
- 184 名前:デフォルトの名無しさん mailto:sage [2023/09/11(月) 23:35:23.83 ID:VwcUnZnc.net]
- 日本人が作った、多言語バージョンマネージャーのanyenv がある。
同様のツールに、asdf もある。 他には、Docker もある Renv, crenv, denv, erlenv, exenv goenv, hsenv, jenv, jlenv, luaenv nodenv, phpenv, plenv, pyenv, rbenv sbtenv, scalaenv, swiftenv, tfenv
- 185 名前:デフォルトの名無しさん [2023/09/12(火) 15:27:42.12 ID:RGjhGQKs.net]
- 30代Pythonバカチョン男は強姦魔の犯罪者です!
あなたの近くにいます! 父母と祖父母の戸籍謄本を提出させましょう! そしてスレ主がその極悪非道の強姦魔バカチョンです! Python使う奴はチョンが多いです。 しかも北朝鮮人ですから犯罪なんでもやります。 必ず家族の戸籍を確認しましょう!
- 186 名前:デフォルトの名無しさん mailto:sage [2023/09/13(水) 06:46:42.57 ID:5G1pYC4E.net]
- >>183
恥ずかしくない?
- 187 名前:デフォルトの名無しさん [2023/09/13(水) 14:22:45.91 ID:JmOEsGWT.net]
- 漏れの読み
>>183 == >>184
- 188 名前:デフォルトの名無しさん mailto:sage [2023/09/13(水) 14:24:03.36 ID:7K6lTl9W.net]
- pythonは俺が作った最強の系が多すぎて困る
豪語するのはデファクトになってからにしてくれ
- 189 名前:デフォルトの名無しさん mailto:sage [2023/09/13(水) 15:56:15.75 ID:JmOEsGWT.net]
- Rustのことですねわかります
- 190 名前:デフォルトの名無しさん mailto:sage [2023/09/13(水) 16:01:01.97 ID:GC1GSAPg.net]
- デファクト
- 191 名前:デフォルトの名無しさん mailto:sage [2023/09/16(土) 16:53:10.39 ID:EeYw60jk.net]
- vscodeのプラグイン分割されたせいか動きがおかしいしやつがいくつがあるな(´・ω・`)
- 192 名前:デフォルトの名無しさん mailto:sage [2023/09/16(土) 17:12:10.72 ID:OSqYfQ8W.net]
- 分割ってなに
- 193 名前:デフォルトの名無しさん mailto:sage [2023/09/23(土) 09:00:04.64 ID:FVqyQUn9.net]
- aleにエラー警告など出してもらうことにしてみたらすっきりして満足なのですが
警告内容がステータスラインとコード中のふたつ表示され邪魔で コードのなかには赤とか青のハイライトだけでステータスに表示されてればよいなと思いました どのように設定すればよいですか 自分の.vimrcのlspに関係する部分 call plug#begin('~/.vim/plugged') Plug 'prabirshrestha/vim-lsp' Plug 'mattn/vim-lsp-settings' Plug 'w0rp/ale' call plug#end() if executable('pyls') au User lsp_setup call lsp#register_server({ \ 'name': 'pyls', \ 'cmd': {server_info->['pyls']}, \ 'whitelist': ['python'], \ }) endif " vim-lsp left signcolmn off setlocal signcolumn=no let g:lsp_diagnostics_enabled = 0 " 警告やエラーの表示はALEに任 せるのでOFFにする " my ale setting let g:ale_linters = { \ 'python': ['flake8', 'mypy'], \}
- 194 名前:デフォルトの名無しさん mailto:sage [2023/09/23(土) 09:02:37.55 ID:FVqyQUn9.net]
- あ、めちゃくちゃになったすみません(直せない)
- 195 名前:デフォルトの名無しさん [2023/09/28(木) 12:15:19.06 ID:jwkusxvg.net]
- pywebview から webview2 で表示させた中身は、どうやったらスクレイピングできますか?
- 196 名前:デフォルトの名無しさん mailto:sage [2023/09/28(木) 13:47:29.57 ID:emnRgXWb.net]
- window.get_elementsでいけそう
https://pywebview.flowrl.com/examples/get_elements.html
- 197 名前:デフォルトの名無しさん mailto:sage [2023/09/29(金) 15:15:41.90 ID:+VVm/6J4.net]
- pythonは門外漢なのですがコードを読めずに困ってます
dp=[[0,0] for _ in range(N)] dp[0]=[1,1] これは何を表していますか? dp[i][0]%=MODとか出てくるからdp[i][j]は数値だと思うのです
- 198 名前:デフォルトの名無しさん mailto:sage [2023/09/29(金) 15:20:33.59 ID:K+K2fBee.net]
- dp=[]
for _ in range(N): dp.append([0,0]) dp[0]=[1,1]
- 199 名前:デフォルトの名無しさん mailto:sage [2023/09/29(金) 15:27:47.40 ID:Dt5xSUqE.net]
- 全ての要素が [0,0] である N-1 個のリスト dp を作成
dp の最初の要素に [1,1] を代入
- 200 名前:デフォルトの名無しさん mailto:sage [2023/09/29(金) 15:32:53.86 ID:K+K2fBee.net]
- ChatGPTに聞いたらいい感じに答えてくれた
- 201 名前:デフォルトの名無しさん mailto:sage [2023/09/29(金) 15:57:49.40 ID:DCwFF8Wu.net]
- for文の変数が_ってこの変数自体を指定することはありませんよってポーズ?
- 202 名前:デフォルトの名無しさん mailto:sage [2023/09/29(金) 18:51:51.98 ID:UcDRzO48.net]
- ふつうは言語機構つかって
[[0,0]] * N と書くけど知らないと魔法にみえるからありなのか
- 203 名前:デフォルトの名無しさん mailto:sage [2023/09/29(金) 19:02:04.86 ID:NAigsGqx.net]
- [[0,0]] * Nはだめだよ
- 204 名前:デフォルトの名無しさん mailto:sage [2023/09/29(金) 19:54:46.54 ID:DCwFF8Wu.net]
- >>201
[0,0]のリストが同じIDでN個入ったリストができんだよね……
- 205 名前:デフォルトの名無しさん mailto:sage [2023/09/29(金) 20:35:11.07 ID:UcDRzO48.net]
- たしかに
dp[0]=[1,1] でしか操作しないならタプルにしてるだろうし撤回するわ
- 206 名前:デフォルトの名無しさん mailto:sage [2023/09/29(金) 20:51:40.89 ID:w4soHy15.net]
- 同じ実体を指してるリストが欲しいケースってそんなにあるんだろうか
簡便な記法をレアな用途に当ててしまってる気が
- 207 名前:デフォルトの名無しさん [2023/09/30(土) 10:48:48.49 ID:+WV6fTrG.net]
- >>195
N=3だとすると dp=[[1,1], [0,0], [0,0]] にしている
- 208 名前:195 mailto:sage [2023/09/30(土) 13:38:46.89 ID:rp4pJ3sH.net]
- ありがとうございます。理解できました
- 209 名前:デフォルトの名無しさん mailto:sage [2023/10/04(水) 17:52:26.06 ID:+BdHLUL4.net]
- webアプリを作ろうと思って、ローカルの環境でsqlite3を使って作ったDBとflaskとを組み合わせて開発しました。
しかし、webに公開することを考えると、mysqliteのような簡易なDBではなくちゃんとmysqlを勉強してそちらを使うように作り変えるべきでしょうか?
- 210 名前:デフォルトの名無しさん mailto:sage [2023/10/04(水) 17:54:35.82 ID:ilZ5d6ID.net]
- はいそうなります
- 211 名前:デフォルトの名無しさん mailto:sage [2023/10/04(水) 18:42:00.03 ID:sTQvT6wD.net]
- アクセス数が少ないなら何の問題もない
- 212 名前:デフォルトの名無しさん [2023/10/05(木) 17:06:48.85 ID:WXXGTjkD.net]
- >>209
同意だけどアクセス権とかどうすんのかな
- 213 名前:デフォルトの名無しさん mailto:sage [2023/10/05(木) 17:57:28.56 ID:EEXxhJ5S.net]
- 読みだけならアクセス数がそれなりに多くても平気
不特定多数が同時に書き込んだり 書き込み時に読み込みがブロックされると困る仕組みならサーバー型のデータベース使う
- 214 名前:デフォルトの名無しさん [2023/10/06(金) 23:25:50.21 ID:tE7CLicd.net]
- 何度質問してもOKだってさ
おまいら良かったな https://www.youtube.com/watch?v=l-qk1FX1Hw0
- 215 名前:デフォルトの名無しさん mailto:sage [2023/10/16(月) 15:27:42.68 ID:/1UTkc3m.net]
- https://i.imgur.com/G2Hy1wy.jpg
良ければお試しください ik..tk N-G用
- 216 名前:デフォルトの名無しさん mailto:sage [2023/10/16(月) 16:21:27.52 ID:spRcfSPO.net]
- >>213
とりあえずやる価値はありそう
- 217 名前:デフォルトの名無しさん mailto:sage [2023/10/16(月) 19:47:27.54 ID:X2HEt2zW.net]
- >>213
グロ
- 218 名前:デフォルトの名無しさん [2023/10/19(木) 06:24:23.38 ID:tPsc79zm.net]
- # >>121
title = "第124回『「韓国徴用工問題」動かぬ証拠で一気に終結』【「日本製」普及Ch】" uri = "htt" + "ps://www.youtube.com/watch?v=iu4jdRIKxUU&list=PLm1mQfWiRy2LycHWplMELJtgLje8YaeHL" print( title, uri, sep="\n" )
- 219 名前:デフォルトの名無しさん mailto:sage [2023/10/23(月) 15:26:08.05 ID:Xp0vEwce.net]
- def wrapper_func(*args, **kwargs):
__#何かの処理 __return func(*args, **kwargs) def func(aaa, bbb=None, ccc='CCC'): __pass 例えばですが、上記のようなラッパー関数を作ったとき、元の関数へ引数をそのまま渡すために *args, **kwargs とか使うと思いますが、 この書き方だとVSCodeとかでwrap_funcを使用するコードを書くときのポップアップの引数表示とか補完で元の引数名が出てきません。 docstringとか書けば説明欄は表示させられますが、*args, **kwargsを使いながらも、元の関数の引数名を補完や表示させることってできないでしょうか? ちなみに、デコレータとしては使いません。
- 220 名前:デフォルトの名無しさん mailto:sage [2023/10/23(月) 15:26:19.52 ID:Xp0vEwce.net]
- def wrapper_func(*args, **kwargs):
__#何かの処理 __return func(*args, **kwargs) def func(aaa, bbb=None, ccc='CCC'): __pass 例えばですが、上記のようなラッパー関数を作ったとき、元の関数へ引数をそのまま渡すために *args, **kwargs とか使うと思いますが、 この書き方だとVSCodeとかでwrap_funcを使用するコードを書くときのポップアップの引数表示とか補完で元の引数名が出てきません。 docstringとか書けば説明欄は表示させられますが、*args, **kwargsを使いながらも、元の関数の引数名を補完や表示させることってできないでしょうか? ちなみに、デコレータとしては使いません。
- 221 名前:デフォルトの名無しさん mailto:sage [2023/10/23(月) 16:57:56.53 ID:IbZgkAts.net]
- その例だと何もしなくても普通にwrapした関数の引数が表示される
- 222 名前:デフォルトの名無しさん mailto:sage [2023/10/23(月) 19:08:52.64 ID:xU3WfdkE.net]
- imgur.com/woxUIFm.png
imgur.com/fGFQYAZ.png うーん、ヒントでは *args **kwargs としか表示されないですね… 何か別の拡張機能が必要ですか?
- 223 名前:デフォルトの名無しさん mailto:sage [2023/10/23(月) 19:24:37.41 ID:CJYAK+hs.net]
- ぜんぜんためしてないけど
wrapper_funcの引数がreturn func以外で使用していないところまで分かるってことか なかなかやね
- 224 名前:デフォルトの名無しさん [2023/10/25(水) 11:33:57.19 ID:9oOV85NF.net]
- さすがに無理では
- 225 名前:デフォルトの名無しさん mailto:sage [2023/10/27(金) 12:37:21.43 ID:Zw05fGjv.net]
- スクレイピングしたデータをエクセルブックに保存しようとしたら失敗した上、エクセルブックのサイズが0になり開けなくなりました。
また以前のデータも消去されてしまいました。 復元する方法はありませんか?
- 226 名前:デフォルトの名無しさん mailto:sage [2023/10/27(金) 15:12:16.53 ID:IOqSzuPQ.net]
- https://i.imgur.com/kAj54cT.jpg
- 227 名前:デフォルトの名無しさん mailto:sage [2023/10/27(金) 15:20:37.20 ID:tyc9gzgR.net]
- データ直接いじるならバックアップは基本だろ
- 228 名前:デフォルトの名無しさん mailto:sage [2023/10/28(土) 14:10:34.16 ID:1iiYkiVL.net]
- 果たして本当に保存に失敗したのだろうか
同じ名前で空のワークブックを造ってしまって そのまま保存しちゃったんじゃね
- 229 名前:デフォルトの名無しさん mailto:sage [2023/10/30(月) 01:51:52.74 ID:o+4A2fED.net]
- mode=wとかで開いて上書きしちゃうのはあるあるミスだろうね
- 230 名前:デフォルトの名無しさん mailto:sage [2023/10/30(月) 02:10:56.85 ID:ciWypUeS.net]
- スクレイピングって要は他人が一生懸命作ったWebコンテンツをごっそりデータとして盗む泥棒行為だろ?
Pythonをそんな用途に使うんじゃない
- 231 名前:デフォルトの名無しさん [2023/10/30(月) 14:29:49.94 ID:3NOS0Vec.net]
- chatGPTとかの学習ネタはWEBスクレイピングだね
画像も転がってるし、使える。
- 232 名前:デフォルトの名無しさん mailto:sage [2023/10/31(火) 09:01:51.83 ID:vhpvFizQ.net]
- Googleとかのクローラーもスクレイピングの一種だよね
- 233 名前:デフォルトの名無しさん [2023/11/09(木) 04:33:46.02 ID:/NCaVTst.net]
- # >>216
# 反日教育は嘘ですよ〜〜2023年9月13日 フリージャーナリストの朴さんの経験。|채널fujichan "".join("h_ttp_s://_www_.you_tube.co_m/wat_ch?_v=v_M1v_YrsA3_Ko".split("_"))
- 234 名前:デフォルトの名無しさん [2023/11/11(土) 22:01:06.26 ID:VAcD6vEV.net]
- vscodeで.htmlファイルの中に書くpythonのコードを、.pyファイルの中に書かれたpythonのコードと同じ規則で色付けしてもらうにはどうすればいいですか?
できれば<py-script></py-script>で囲われた部分だけを色付けしたいです。
- 235 名前:デフォルトの名無しさん mailto:sage [2023/11/12(日) 00:39:55.84 ID:hUOoaneU.net]
- Ruby では、埋め込みRuby・ERB で、HTML ファイルを書く。
<% 〜 %>, <%= 〜 %> を使って、HTML内にRubyの構文を書く <% price = 2500 * 1.05 %> <p> 本の値段は<%= price %>円です。 </p> ERBの実装にもよるが、< > & " など、 HTMLの特殊文字がエスケープされるものと、されないものがある <%= price %> これだけでエスケープされるものと、 <%=h price %> エスケープするのに、h が必要なものがある ファイル名は、a.html.erb の形式で、 VSCode に、ERBに対応する様々な拡張機能がある
- 236 名前:デフォルトの名無しさん [2023/11/17(金) 23:10:50.43 ID:AvZ1Z1pY.net]
- ~フルパス~\python.exe ~.py
だときちんと動くのに c:\windows\py.exe ~.py だと No suitable Python runtime found ってエラーになるのはなんで?
- 237 名前:デフォルトの名無しさん mailto:sage [2023/11/17(金) 23:49:28.27 ID:i6SiN6NQ.net]
- >>234
py とだけ打ち込んだらなんて表示される?
- 238 名前:デフォルトの名無しさん mailto:sage [2023/11/20(月) 11:08:50.44 ID:AlmeLY1B.net]
- Python 3.11.6ではエラーにならない
- 239 名前:デフォルトの名無しさん mailto:sage [2023/11/20(月) 16:54:24.00 ID:dslXur7U.net]
- javascriptのオブジェクトの分割代入の表記って今後Pythonにも実装される可能性ってあるの?
obj={aaa, bbb, ccc, ddd} {aaa, bbb} = obj (必要なキーだけ代入) あと変数名とオブジェクトのキー名が同じ場合にキー名を省略できるのとか。 両方さわってると、「あーこの書き方できないのかー」って思うことが多く。
- 240 名前:デフォルトの名無しさん mailto:sage [2023/11/20(月) 19:02:06.24 ID:e16PnsSi.net]
- Pythonの辞書のキーは文字列に特化してなくて
JSONみたいに引用符は省略できないから飛躍が大きい気がする リフレクションでいろいろ丸見えなので実現するのは容易
- 241 名前:デフォルトの名無しさん [2023/11/23(木) 10:27:41.94 ID:mHKDjsht.net]
- pythonの黒魔術覚えろ
- 242 名前:デフォルトの名無しさん mailto:sage [2023/11/27(月) 04:49:00.51 ID:tnBtjkwo.net]
- どちらの方がいいでしょうか?
https://i.imgur.com/7Eg1hsH.png
- 243 名前:デフォルトの名無しさん mailto:sage [2023/11/27(月) 07:08:59.26 ID:dgaEQ1dv.net]
- 密結合・疎結合の話なら右
- 244 名前:デフォルトの名無しさん mailto:sage [2023/11/27(月) 07:13:59.21 ID:4HQtKID3.net]
- どう考えても右
左は関数の仕様変更に他の関数が引っ張られてスパゲッティになる
- 245 名前:デフォルトの名無しさん mailto:sage [2023/11/27(月) 10:26:14.60 ID:1pI4Xk/b.net]
- 矢印の種類と意味が左と右で違うのが気になるがどちらの構造がいいかは状況次第だから処理内容を考慮せずに判断すべきではないよ
- 246 名前:デフォルトの名無しさん mailto:sage [2023/11/27(月) 12:48:17.49 ID:R9It0cfW.net]
- 処理内容次第の判断基準をざっくり言えば
関数A,B,Cがメイン関数で実行する抽象度として揃ってるなら右 抽象度が関数A > B > Cなら左
- 247 名前:デフォルトの名無しさん mailto:sage [2023/11/27(月) 17:51:48.30 ID:tnBtjkwo.net]
- ありがとうございます
- 248 名前:デフォルトの名無しさん [2023/11/27(月) 17:52:20.22 ID:ADnr9f8E.net]
- >>244
もうちょっと易しくかいてぅれてもいいよ
- 249 名前:デフォルトの名無しさん mailto:sage [2023/11/27(月) 19:37:34.58 ID:UlzV0bXg.net]
- 初心者だしBでやってるけどAってどんなやつなんだBASICのような感じなのかな?
- 250 名前:デフォルトの名無しさん mailto:sage [2023/11/27(月) 22:20:18.48 ID:tnBtjkwo.net]
- こんなん 各2ヶ月かかった
ttps://dpaste.com/2EZ82ME9V ttps://dpaste.com/2P2SFYGYL
- 251 名前:デフォルトの名無しさん mailto:sage [2023/11/28(火) 00:48:46.12 ID:tbHgY5Ye.net]
- コードはすまん読んでないけど
関数から呼ばれる関数は基本的に汎用的な関数として定義されているものであるべきと思う 例えばパスから画像を呼んでバイナリ化して返す関数を 引数にバイナリを指定し、画像加工する関数群(画像加工の種類ごとに関数を用意)からそれぞれの冒頭で呼び出す とかなら自然かなと 汎用的ではない関数を、別の関数から呼ぶ…とかだと 渡したい引数を一旦メイン処理に戻してそっちから渡すBのやり方で書きたいなと思う
- 252 名前:デフォルトの名無しさん mailto:sage [2023/11/28(火) 04:07:22.70 ID://fSvaZM.net]
- 圧倒的に右
- 253 名前:デフォルトの名無しさん [2023/11/28(火) 08:32:22.00 ID:t7+ip2Xg.net]
- 右だとしても
class X 造ってその中に A, B, C 定義して main からは x = X() してから x.A() x.B() x.C() が良いと思う
- 254 名前:デフォルトの名無しさん mailto:sage [2023/11/28(火) 10:10:52.21 ID:khx6Zkgl.net]
- >>251
そのためだけにクラス作るのは馬鹿らしい 複数の関数を一つに閉じ込めたかったら関数内関数でいいじゃん
- 255 名前:デフォルトの名無しさん [2023/11/28(火) 10:14:34.91 ID:t7+ip2Xg.net]
- globalでもlocalでも引数で同じ情報を持ち回るのが馬鹿らしい
- 256 名前:デフォルトの名無しさん [2023/11/29(水) 04:29:33.80 ID:Z6GycUPt.net]
- 勉強のためにとあるWebページのRPA用のフレームワークを自作しようとしてるんですが
ページを操作するクラスをStateパターンの見よう見まねで実装しようとしたところ 画面を遷移させる部分で循環インポートになってしまいます できればmain.pyからの使い方は変えずに実装したいのですがどうすればよいですか? 操作内容は画面の状態によって異なるのでオーバーライドは無理な状況です メソッド内でimportすれば解決するような情報もありますが できればimportはソースコードの最上部で済ませたいです コードは以下の通りです main.py https://techiedelight.com/compiler/?83b5 rpa.py https://techiedelight.com/compiler/?577e presentation/__init__.py https://techiedelight.com/compiler/?eacd presentation/presentation_base.py https://techiedelight.com/compiler/?b70f presentation/a_presentation.py https://techiedelight.com/compiler/?272e presentation/b_presentation.py https://techiedelight.com/compiler/?08a0
- 257 名前:デフォルトの名無しさん mailto:sage [2023/11/29(水) 13:46:04.06 ID:Z6GycUPt.net]
- >>254
すみません a_presentation.pyとb_presentation.pyのelseの中で self._set_new_p(p)のあとにbreakが必要でした
- 258 名前:デフォルトの名無しさん mailto:sage [2023/12/01(金) 06:10:11.53 ID:+Sulqil7.net]
- >>254,255
自己解決しました Mediatorパターンが参考になりました 遷移先のPresentationクラスの生成をCreatorクラスにまかせて、 PresentationクラスはそのインターフェースCreatorBaseのインスタンスを持つようにしました CreatorクラスのインスタンスはRPAクラスのメンバーにしてPresentationに__init__()の引数として渡しました すべてのPresentationクラスの実装のインポートをCreator内に集約することでPresentation間での循環インポートを解消できました
- 259 名前:デフォルトの名無しさん mailto:sage [2023/12/01(金) 22:39:32.22 ID:dcWZLwtR.net]
- 循環インポートを避けるには
from .a_presentation import APresentationじゃなくて import presentation.a_presentation as A とかにして A.APresentationの形で使うだけでも大丈夫
- 260 名前:デフォルトの名無しさん mailto:sage [2023/12/01(金) 22:43:35.51 ID:dcWZLwtR.net]
- それにしても随分とパターン熱に冒されてるねー
StateパターンになってないしStateパターンを使うべきケースでもないと思うんだけどな
- 261 名前:デフォルトの名無しさん [2023/12/01(金) 23:03:50.71 ID:3nL4Jfiv.net]
- pip installでインストールできるようにパッケージ化してみたらいいと思う
- 262 名前:デフォルトの名無しさん mailto:sage [2023/12/02(土) 00:49:51.55 ID:IL/rFcuk.net]
- >>257,258
ご回答ありがとうございます 右も左も分からない初心者なもので見苦しくてすみません 調べている中で257の方法も試してみたのですが、 それだとmain.pyでAの方のif文は実行されたのですがBの方は実行されませんでした なぜでしょうか? あと画面の状態と操作を扱うクラスなのでStateかと思ったのですが違ったのでしょうか?
- 263 名前:デフォルトの名無しさん mailto:sage [2023/12/02(土) 01:22:32.17 ID:IL/rFcuk.net]
- >>260
度々すみません Bが実行されないのはset_new_pしたあとnew_pを参照していないからでした
- 264 名前:デフォルトの名無しさん mailto:sage [2023/12/02(土) 11:24:03.67 ID:W00DnSBP.net]
- >>260
>あと画面の状態と操作を扱うクラスなのでStateかと思ったのですが違ったのでしょうか? ある画面が状態Aでも状態Bでも状態Cでも 画面を操作するクライアント側のコード(今回で言えば主にmain)はどの状態であるかを意識ぜずに同じメソッドを呼び出す 呼び出された側が状態に応じた振る舞いや状態遷移を行うんだけどその際呼び出された側がif文で条件分岐するのではなく各状態ごとにクラス等を用意してポリモーフィズムで分岐させるのがStateパターン
- 265 名前:デフォルトの名無しさん mailto:sage [2023/12/02(土) 12:28:53.41 ID:+bysY8AL.net]
- >>262
ありがとうござい
- 266 名前:ワす
具象クラスのメソッドを直接操作してるので何かが違うんだけどとは考えてました すると今回のように呼び出し側が画面に合わせた操作をする必要がある場合はどういう設計がベターでしょうか? 循環インポートの解消に関しては from . import a_presentation as A でも問題なく動きました これはAPresentationの定義の読み込みが呼び出し時までされないということでいいですか? [] - [ここ壊れてます]
- 267 名前:デフォルトの名無しさん mailto:sage [2023/12/02(土) 14:02:31.64 ID:0tC7Yjqi.net]
- だめ絶対
- 268 名前:デフォルトの名無しさん mailto:sage [2023/12/03(日) 18:54:22.91 ID:l1Ri8dMm.net]
- 手始めにPython3エンジニア基礎試験合格したんだけど、次何したらいいの?
- 269 名前:デフォルトの名無しさん mailto:sage [2023/12/03(日) 20:34:04.98 ID:B7yqPTfY.net]
- >>265
趣味ならそこがゴール あとは作りたいアプリを存分に作りまくってくれ
- 270 名前:デフォルトの名無しさん mailto:sage [2023/12/04(月) 07:29:49.93 ID:ZEr6pdQQ.net]
- >>266
特にない。何ができるのかよくわからん。 株価のデータをウェブから持ってこようと思って始めたが、それはできた。 それ以外はない。 当面、基礎試験はの次の実践試験の方やってみながら作りたいもの探すか
- 271 名前:デフォルトの名無しさん mailto:sage [2023/12/04(月) 11:28:39.23 ID:7xJZTz8z.net]
- 何もないならやる必要はない
時間の無駄
- 272 名前:デフォルトの名無しさん mailto:sage [2023/12/04(月) 12:42:51.69 ID:LMh9z4VO.net]
- >>267
作りたいものはないけど情報工学技術に興味があるということかな それなら専門学校か大学に行くとよいのでは 題材は向こうが勝手に用意してくれる 独学で専門技術を身に着けたいというのは無理ではないけどモチベが続かないだろう
|

|