当スレに★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公式◇ http://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 ###
【まず1嫁】くだすれPython(超初心者用) その59
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2023/07/13(木) 18:48:41.56ID:INS7SIu4184デフォルトの名無しさん
2023/09/13(水) 06:46:42.57ID:5G1pYC4E >>183
恥ずかしくない?
恥ずかしくない?
186デフォルトの名無しさん
2023/09/13(水) 14:24:03.36ID:7K6lTl9W pythonは俺が作った最強の系が多すぎて困る
豪語するのはデファクトになってからにしてくれ
豪語するのはデファクトになってからにしてくれ
187デフォルトの名無しさん
2023/09/13(水) 15:56:15.75ID:JmOEsGWT Rustのことですねわかります
188デフォルトの名無しさん
2023/09/13(水) 16:01:01.97ID:GC1GSAPg デファクト
189デフォルトの名無しさん
2023/09/16(土) 16:53:10.39ID:EeYw60jk vscodeのプラグイン分割されたせいか動きがおかしいしやつがいくつがあるな(´・ω・`)
190デフォルトの名無しさん
2023/09/16(土) 17:12:10.72ID:OSqYfQ8W 分割ってなに
191デフォルトの名無しさん
2023/09/23(土) 09:00:04.64ID:FVqyQUn9 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'], \}
警告内容がステータスラインとコード中のふたつ表示され邪魔で
コードのなかには赤とか青のハイライトだけでステータスに表示されてればよいなと思いました
どのように設定すればよいですか
自分の.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'], \}
192デフォルトの名無しさん
2023/09/23(土) 09:02:37.55ID:FVqyQUn9 あ、めちゃくちゃになったすみません(直せない)
193デフォルトの名無しさん
2023/09/28(木) 12:15:19.06ID:jwkusxvg pywebview から webview2 で表示させた中身は、どうやったらスクレイピングできますか?
194デフォルトの名無しさん
2023/09/28(木) 13:47:29.57ID:emnRgXWb window.get_elementsでいけそう
https://pywebview.flowrl.com/examples/get_elements.html
https://pywebview.flowrl.com/examples/get_elements.html
195デフォルトの名無しさん
2023/09/29(金) 15:15:41.90ID:+VVm/6J4 pythonは門外漢なのですがコードを読めずに困ってます
dp=[[0,0] for _ in range(N)]
dp[0]=[1,1]
これは何を表していますか?
dp[i][0]%=MODとか出てくるからdp[i][j]は数値だと思うのです
dp=[[0,0] for _ in range(N)]
dp[0]=[1,1]
これは何を表していますか?
dp[i][0]%=MODとか出てくるからdp[i][j]は数値だと思うのです
196デフォルトの名無しさん
2023/09/29(金) 15:20:33.59ID:K+K2fBee dp=[]
for _ in range(N):
dp.append([0,0])
dp[0]=[1,1]
for _ in range(N):
dp.append([0,0])
dp[0]=[1,1]
197デフォルトの名無しさん
2023/09/29(金) 15:27:47.40ID:Dt5xSUqE 全ての要素が [0,0] である N-1 個のリスト dp を作成
dp の最初の要素に [1,1] を代入
dp の最初の要素に [1,1] を代入
198デフォルトの名無しさん
2023/09/29(金) 15:32:53.86ID:K+K2fBee ChatGPTに聞いたらいい感じに答えてくれた
199デフォルトの名無しさん
2023/09/29(金) 15:57:49.40ID:DCwFF8Wu for文の変数が_ってこの変数自体を指定することはありませんよってポーズ?
200デフォルトの名無しさん
2023/09/29(金) 18:51:51.98ID:UcDRzO48 ふつうは言語機構つかって
[[0,0]] * N
と書くけど知らないと魔法にみえるからありなのか
[[0,0]] * N
と書くけど知らないと魔法にみえるからありなのか
201デフォルトの名無しさん
2023/09/29(金) 19:02:04.86ID:NAigsGqx [[0,0]] * Nはだめだよ
202デフォルトの名無しさん
2023/09/29(金) 19:54:46.54ID:DCwFF8Wu >>201
[0,0]のリストが同じIDでN個入ったリストができんだよね……
[0,0]のリストが同じIDでN個入ったリストができんだよね……
203デフォルトの名無しさん
2023/09/29(金) 20:35:11.07ID:UcDRzO48 たしかに
dp[0]=[1,1]
でしか操作しないならタプルにしてるだろうし撤回するわ
dp[0]=[1,1]
でしか操作しないならタプルにしてるだろうし撤回するわ
204デフォルトの名無しさん
2023/09/29(金) 20:51:40.89ID:w4soHy15 同じ実体を指してるリストが欲しいケースってそんなにあるんだろうか
簡便な記法をレアな用途に当ててしまってる気が
簡便な記法をレアな用途に当ててしまってる気が
205デフォルトの名無しさん
2023/09/30(土) 10:48:48.49ID:+WV6fTrG206195
2023/09/30(土) 13:38:46.89ID:rp4pJ3sH ありがとうございます。理解できました
207デフォルトの名無しさん
2023/10/04(水) 17:52:26.06ID:+BdHLUL4 webアプリを作ろうと思って、ローカルの環境でsqlite3を使って作ったDBとflaskとを組み合わせて開発しました。
しかし、webに公開することを考えると、mysqliteのような簡易なDBではなくちゃんとmysqlを勉強してそちらを使うように作り変えるべきでしょうか?
しかし、webに公開することを考えると、mysqliteのような簡易なDBではなくちゃんとmysqlを勉強してそちらを使うように作り変えるべきでしょうか?
208デフォルトの名無しさん
2023/10/04(水) 17:54:35.82ID:ilZ5d6ID はいそうなります
209デフォルトの名無しさん
2023/10/04(水) 18:42:00.03ID:sTQvT6wD アクセス数が少ないなら何の問題もない
210デフォルトの名無しさん
2023/10/05(木) 17:06:48.85ID:WXXGTjkD >>209
同意だけどアクセス権とかどうすんのかな
同意だけどアクセス権とかどうすんのかな
211デフォルトの名無しさん
2023/10/05(木) 17:57:28.56ID:EEXxhJ5S 読みだけならアクセス数がそれなりに多くても平気
不特定多数が同時に書き込んだり
書き込み時に読み込みがブロックされると困る仕組みならサーバー型のデータベース使う
不特定多数が同時に書き込んだり
書き込み時に読み込みがブロックされると困る仕組みならサーバー型のデータベース使う
212デフォルトの名無しさん
2023/10/06(金) 23:25:50.21ID:tE7CLicd213あぼーん
NGNGあぼーん
214デフォルトの名無しさん
2023/10/16(月) 16:21:27.52ID:spRcfSPO >>213
とりあえずやる価値はありそう
とりあえずやる価値はありそう
215デフォルトの名無しさん
2023/10/16(月) 19:47:27.54ID:X2HEt2zW >>213
グロ
グロ
216デフォルトの名無しさん
2023/10/19(木) 06:24:23.38ID:tPsc79zm # >>121
title = "第124回『「韓国徴用工問題」動かぬ証拠で一気に終結』【「日本製」普及Ch】"
uri = "htt" + "ps://www.youtube.com/watch?v=iu4jdRIKxUU&list=PLm1mQfWiRy2LycHWplMELJtgLje8YaeHL"
print( title, uri, sep="\n" )
title = "第124回『「韓国徴用工問題」動かぬ証拠で一気に終結』【「日本製」普及Ch】"
uri = "htt" + "ps://www.youtube.com/watch?v=iu4jdRIKxUU&list=PLm1mQfWiRy2LycHWplMELJtgLje8YaeHL"
print( title, uri, sep="\n" )
217デフォルトの名無しさん
2023/10/23(月) 15:26:08.05ID:Xp0vEwce 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を使いながらも、元の関数の引数名を補完や表示させることってできないでしょうか?
ちなみに、デコレータとしては使いません。
__#何かの処理
__return func(*args, **kwargs)
def func(aaa, bbb=None, ccc='CCC'):
__pass
例えばですが、上記のようなラッパー関数を作ったとき、元の関数へ引数をそのまま渡すために *args, **kwargs とか使うと思いますが、
この書き方だとVSCodeとかでwrap_funcを使用するコードを書くときのポップアップの引数表示とか補完で元の引数名が出てきません。
docstringとか書けば説明欄は表示させられますが、*args, **kwargsを使いながらも、元の関数の引数名を補完や表示させることってできないでしょうか?
ちなみに、デコレータとしては使いません。
218デフォルトの名無しさん
2023/10/23(月) 15:26:19.52ID:Xp0vEwce 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を使いながらも、元の関数の引数名を補完や表示させることってできないでしょうか?
ちなみに、デコレータとしては使いません。
__#何かの処理
__return func(*args, **kwargs)
def func(aaa, bbb=None, ccc='CCC'):
__pass
例えばですが、上記のようなラッパー関数を作ったとき、元の関数へ引数をそのまま渡すために *args, **kwargs とか使うと思いますが、
この書き方だとVSCodeとかでwrap_funcを使用するコードを書くときのポップアップの引数表示とか補完で元の引数名が出てきません。
docstringとか書けば説明欄は表示させられますが、*args, **kwargsを使いながらも、元の関数の引数名を補完や表示させることってできないでしょうか?
ちなみに、デコレータとしては使いません。
219デフォルトの名無しさん
2023/10/23(月) 16:57:56.53ID:IbZgkAts その例だと何もしなくても普通にwrapした関数の引数が表示される
220デフォルトの名無しさん
2023/10/23(月) 19:08:52.64ID:xU3WfdkE http://imgur.com/woxUIFm.png
http://imgur.com/fGFQYAZ.png
うーん、ヒントでは *args **kwargs としか表示されないですね…
何か別の拡張機能が必要ですか?
http://imgur.com/fGFQYAZ.png
うーん、ヒントでは *args **kwargs としか表示されないですね…
何か別の拡張機能が必要ですか?
221デフォルトの名無しさん
2023/10/23(月) 19:24:37.41ID:CJYAK+hs ぜんぜんためしてないけど
wrapper_funcの引数がreturn func以外で使用していないところまで分かるってことか
なかなかやね
wrapper_funcの引数がreturn func以外で使用していないところまで分かるってことか
なかなかやね
222デフォルトの名無しさん
2023/10/25(水) 11:33:57.19ID:9oOV85NF さすがに無理では
223デフォルトの名無しさん
2023/10/27(金) 12:37:21.43ID:Zw05fGjv スクレイピングしたデータをエクセルブックに保存しようとしたら失敗した上、エクセルブックのサイズが0になり開けなくなりました。
また以前のデータも消去されてしまいました。
復元する方法はありませんか?
また以前のデータも消去されてしまいました。
復元する方法はありませんか?
224デフォルトの名無しさん
2023/10/27(金) 15:12:16.53ID:IOqSzuPQ225デフォルトの名無しさん
2023/10/27(金) 15:20:37.20ID:tyc9gzgR データ直接いじるならバックアップは基本だろ
226デフォルトの名無しさん
2023/10/28(土) 14:10:34.16ID:1iiYkiVL 果たして本当に保存に失敗したのだろうか
同じ名前で空のワークブックを造ってしまって
そのまま保存しちゃったんじゃね
同じ名前で空のワークブックを造ってしまって
そのまま保存しちゃったんじゃね
227デフォルトの名無しさん
2023/10/30(月) 01:51:52.74ID:o+4A2fED mode=wとかで開いて上書きしちゃうのはあるあるミスだろうね
228デフォルトの名無しさん
2023/10/30(月) 02:10:56.85ID:ciWypUeS スクレイピングって要は他人が一生懸命作ったWebコンテンツをごっそりデータとして盗む泥棒行為だろ?
Pythonをそんな用途に使うんじゃない
Pythonをそんな用途に使うんじゃない
229デフォルトの名無しさん
2023/10/30(月) 14:29:49.94ID:3NOS0Vec chatGPTとかの学習ネタはWEBスクレイピングだね
画像も転がってるし、使える。
画像も転がってるし、使える。
230デフォルトの名無しさん
2023/10/31(火) 09:01:51.83ID:vhpvFizQ Googleとかのクローラーもスクレイピングの一種だよね
231デフォルトの名無しさん
2023/11/09(木) 04:33:46.02ID:/NCaVTst # >>216
# 反日教育は嘘ですよ〜〜2023年9月13日 フリージャーナリストの朴さんの経験。|채널fujichan
"".join("h_ttp_s://_www_.you_tube.co_m/wat_ch?_v=v_M1v_YrsA3_Ko".split("_"))
# 反日教育は嘘ですよ〜〜2023年9月13日 フリージャーナリストの朴さんの経験。|채널fujichan
"".join("h_ttp_s://_www_.you_tube.co_m/wat_ch?_v=v_M1v_YrsA3_Ko".split("_"))
232デフォルトの名無しさん
2023/11/11(土) 22:01:06.26ID:VAcD6vEV vscodeで.htmlファイルの中に書くpythonのコードを、.pyファイルの中に書かれたpythonのコードと同じ規則で色付けしてもらうにはどうすればいいですか?
できれば<py-script></py-script>で囲われた部分だけを色付けしたいです。
できれば<py-script></py-script>で囲われた部分だけを色付けしたいです。
233デフォルトの名無しさん
2023/11/12(日) 00:39:55.84ID:hUOoaneU Ruby では、埋め込みRuby・ERB で、HTML ファイルを書く。
<% 〜 %>, <%= 〜 %> を使って、HTML内にRubyの構文を書く
<% price = 2500 * 1.05 %>
<p>
本の値段は<%= price %>円です。
</p>
ERBの実装にもよるが、< > & " など、
HTMLの特殊文字がエスケープされるものと、されないものがある
<%= price %> これだけでエスケープされるものと、
<%=h price %> エスケープするのに、h が必要なものがある
ファイル名は、a.html.erb の形式で、
VSCode に、ERBに対応する様々な拡張機能がある
<% 〜 %>, <%= 〜 %> を使って、HTML内にRubyの構文を書く
<% price = 2500 * 1.05 %>
<p>
本の値段は<%= price %>円です。
</p>
ERBの実装にもよるが、< > & " など、
HTMLの特殊文字がエスケープされるものと、されないものがある
<%= price %> これだけでエスケープされるものと、
<%=h price %> エスケープするのに、h が必要なものがある
ファイル名は、a.html.erb の形式で、
VSCode に、ERBに対応する様々な拡張機能がある
234デフォルトの名無しさん
2023/11/17(金) 23:10:50.43ID:AvZ1Z1pY ~フルパス~\python.exe ~.py
だときちんと動くのに
c:\windows\py.exe ~.py
だと
No suitable Python runtime found
ってエラーになるのはなんで?
だときちんと動くのに
c:\windows\py.exe ~.py
だと
No suitable Python runtime found
ってエラーになるのはなんで?
235デフォルトの名無しさん
2023/11/17(金) 23:49:28.27ID:i6SiN6NQ >>234
py とだけ打ち込んだらなんて表示される?
py とだけ打ち込んだらなんて表示される?
236デフォルトの名無しさん
2023/11/20(月) 11:08:50.44ID:AlmeLY1B Python 3.11.6ではエラーにならない
237デフォルトの名無しさん
2023/11/20(月) 16:54:24.00ID:dslXur7U javascriptのオブジェクトの分割代入の表記って今後Pythonにも実装される可能性ってあるの?
obj={aaa, bbb, ccc, ddd}
{aaa, bbb} = obj (必要なキーだけ代入)
あと変数名とオブジェクトのキー名が同じ場合にキー名を省略できるのとか。
両方さわってると、「あーこの書き方できないのかー」って思うことが多く。
obj={aaa, bbb, ccc, ddd}
{aaa, bbb} = obj (必要なキーだけ代入)
あと変数名とオブジェクトのキー名が同じ場合にキー名を省略できるのとか。
両方さわってると、「あーこの書き方できないのかー」って思うことが多く。
238デフォルトの名無しさん
2023/11/20(月) 19:02:06.24ID:e16PnsSi Pythonの辞書のキーは文字列に特化してなくて
JSONみたいに引用符は省略できないから飛躍が大きい気がする
リフレクションでいろいろ丸見えなので実現するのは容易
JSONみたいに引用符は省略できないから飛躍が大きい気がする
リフレクションでいろいろ丸見えなので実現するのは容易
239デフォルトの名無しさん
2023/11/23(木) 10:27:41.94ID:mHKDjsht pythonの黒魔術覚えろ
240デフォルトの名無しさん
2023/11/27(月) 04:49:00.51ID:tnBtjkwo241デフォルトの名無しさん
2023/11/27(月) 07:08:59.26ID:dgaEQ1dv 密結合・疎結合の話なら右
242デフォルトの名無しさん
2023/11/27(月) 07:13:59.21ID:4HQtKID3 どう考えても右
左は関数の仕様変更に他の関数が引っ張られてスパゲッティになる
左は関数の仕様変更に他の関数が引っ張られてスパゲッティになる
243デフォルトの名無しさん
2023/11/27(月) 10:26:14.60ID:1pI4Xk/b 矢印の種類と意味が左と右で違うのが気になるがどちらの構造がいいかは状況次第だから処理内容を考慮せずに判断すべきではないよ
244デフォルトの名無しさん
2023/11/27(月) 12:48:17.49ID:R9It0cfW 処理内容次第の判断基準をざっくり言えば
関数A,B,Cがメイン関数で実行する抽象度として揃ってるなら右
抽象度が関数A > B > Cなら左
関数A,B,Cがメイン関数で実行する抽象度として揃ってるなら右
抽象度が関数A > B > Cなら左
245デフォルトの名無しさん
2023/11/27(月) 17:51:48.30ID:tnBtjkwo ありがとうございます
246デフォルトの名無しさん
2023/11/27(月) 17:52:20.22ID:ADnr9f8E >>244
もうちょっと易しくかいてぅれてもいいよ
もうちょっと易しくかいてぅれてもいいよ
247デフォルトの名無しさん
2023/11/27(月) 19:37:34.58ID:UlzV0bXg 初心者だしBでやってるけどAってどんなやつなんだBASICのような感じなのかな?
248デフォルトの名無しさん
2023/11/27(月) 22:20:18.48ID:tnBtjkwo こんなん 各2ヶ月かかった
ttps://dpaste.com/2EZ82ME9V
ttps://dpaste.com/2P2SFYGYL
ttps://dpaste.com/2EZ82ME9V
ttps://dpaste.com/2P2SFYGYL
249デフォルトの名無しさん
2023/11/28(火) 00:48:46.12ID:tbHgY5Ye コードはすまん読んでないけど
関数から呼ばれる関数は基本的に汎用的な関数として定義されているものであるべきと思う
例えばパスから画像を呼んでバイナリ化して返す関数を
引数にバイナリを指定し、画像加工する関数群(画像加工の種類ごとに関数を用意)からそれぞれの冒頭で呼び出す
とかなら自然かなと
汎用的ではない関数を、別の関数から呼ぶ…とかだと
渡したい引数を一旦メイン処理に戻してそっちから渡すBのやり方で書きたいなと思う
関数から呼ばれる関数は基本的に汎用的な関数として定義されているものであるべきと思う
例えばパスから画像を呼んでバイナリ化して返す関数を
引数にバイナリを指定し、画像加工する関数群(画像加工の種類ごとに関数を用意)からそれぞれの冒頭で呼び出す
とかなら自然かなと
汎用的ではない関数を、別の関数から呼ぶ…とかだと
渡したい引数を一旦メイン処理に戻してそっちから渡すBのやり方で書きたいなと思う
250デフォルトの名無しさん
2023/11/28(火) 04:07:22.70ID://fSvaZM 圧倒的に右
251デフォルトの名無しさん
2023/11/28(火) 08:32:22.00ID:t7+ip2Xg 右だとしても
class X 造ってその中に A, B, C 定義して
main からは x = X() してから x.A() x.B() x.C() が良いと思う
class X 造ってその中に A, B, C 定義して
main からは x = X() してから x.A() x.B() x.C() が良いと思う
252デフォルトの名無しさん
2023/11/28(火) 10:10:52.21ID:khx6Zkgl253デフォルトの名無しさん
2023/11/28(火) 10:14:34.91ID:t7+ip2Xg globalでもlocalでも引数で同じ情報を持ち回るのが馬鹿らしい
254デフォルトの名無しさん
2023/11/29(水) 04:29:33.80ID:Z6GycUPt 勉強のためにとある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
ページを操作するクラスを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
255デフォルトの名無しさん
2023/11/29(水) 13:46:04.06ID:Z6GycUPt256デフォルトの名無しさん
2023/12/01(金) 06:10:11.53ID:+Sulqil7 >>254,255
自己解決しました
Mediatorパターンが参考になりました
遷移先のPresentationクラスの生成をCreatorクラスにまかせて、
PresentationクラスはそのインターフェースCreatorBaseのインスタンスを持つようにしました
CreatorクラスのインスタンスはRPAクラスのメンバーにしてPresentationに__init__()の引数として渡しました
すべてのPresentationクラスの実装のインポートをCreator内に集約することでPresentation間での循環インポートを解消できました
自己解決しました
Mediatorパターンが参考になりました
遷移先のPresentationクラスの生成をCreatorクラスにまかせて、
PresentationクラスはそのインターフェースCreatorBaseのインスタンスを持つようにしました
CreatorクラスのインスタンスはRPAクラスのメンバーにしてPresentationに__init__()の引数として渡しました
すべてのPresentationクラスの実装のインポートをCreator内に集約することでPresentation間での循環インポートを解消できました
257デフォルトの名無しさん
2023/12/01(金) 22:39:32.22ID:dcWZLwtR 循環インポートを避けるには
from .a_presentation import APresentationじゃなくて
import presentation.a_presentation as A とかにして
A.APresentationの形で使うだけでも大丈夫
from .a_presentation import APresentationじゃなくて
import presentation.a_presentation as A とかにして
A.APresentationの形で使うだけでも大丈夫
258デフォルトの名無しさん
2023/12/01(金) 22:43:35.51ID:dcWZLwtR それにしても随分とパターン熱に冒されてるねー
StateパターンになってないしStateパターンを使うべきケースでもないと思うんだけどな
StateパターンになってないしStateパターンを使うべきケースでもないと思うんだけどな
259デフォルトの名無しさん
2023/12/01(金) 23:03:50.71ID:3nL4Jfiv pip installでインストールできるようにパッケージ化してみたらいいと思う
260デフォルトの名無しさん
2023/12/02(土) 00:49:51.55ID:IL/rFcuk >>257,258
ご回答ありがとうございます
右も左も分からない初心者なもので見苦しくてすみません
調べている中で257の方法も試してみたのですが、
それだとmain.pyでAの方のif文は実行されたのですがBの方は実行されませんでした
なぜでしょうか?
あと画面の状態と操作を扱うクラスなのでStateかと思ったのですが違ったのでしょうか?
ご回答ありがとうございます
右も左も分からない初心者なもので見苦しくてすみません
調べている中で257の方法も試してみたのですが、
それだとmain.pyでAの方のif文は実行されたのですがBの方は実行されませんでした
なぜでしょうか?
あと画面の状態と操作を扱うクラスなのでStateかと思ったのですが違ったのでしょうか?
261デフォルトの名無しさん
2023/12/02(土) 01:22:32.17ID:IL/rFcuk262デフォルトの名無しさん
2023/12/02(土) 11:24:03.67ID:W00DnSBP >>260
>あと画面の状態と操作を扱うクラスなのでStateかと思ったのですが違ったのでしょうか?
ある画面が状態Aでも状態Bでも状態Cでも
画面を操作するクライアント側のコード(今回で言えば主にmain)はどの状態であるかを意識ぜずに同じメソッドを呼び出す
呼び出された側が状態に応じた振る舞いや状態遷移を行うんだけどその際呼び出された側がif文で条件分岐するのではなく各状態ごとにクラス等を用意してポリモーフィズムで分岐させるのがStateパターン
>あと画面の状態と操作を扱うクラスなのでStateかと思ったのですが違ったのでしょうか?
ある画面が状態Aでも状態Bでも状態Cでも
画面を操作するクライアント側のコード(今回で言えば主にmain)はどの状態であるかを意識ぜずに同じメソッドを呼び出す
呼び出された側が状態に応じた振る舞いや状態遷移を行うんだけどその際呼び出された側がif文で条件分岐するのではなく各状態ごとにクラス等を用意してポリモーフィズムで分岐させるのがStateパターン
263デフォルトの名無しさん
2023/12/02(土) 12:28:53.41ID:+bysY8AL >>262
ありがとうございます
具象クラスのメソッドを直接操作してるので何かが違うんだけどとは考えてました
すると今回のように呼び出し側が画面に合わせた操作をする必要がある場合はどういう設計がベターでしょうか?
循環インポートの解消に関しては
from . import a_presentation as A
でも問題なく動きました
これはAPresentationの定義の読み込みが呼び出し時までされないということでいいですか?
ありがとうございます
具象クラスのメソッドを直接操作してるので何かが違うんだけどとは考えてました
すると今回のように呼び出し側が画面に合わせた操作をする必要がある場合はどういう設計がベターでしょうか?
循環インポートの解消に関しては
from . import a_presentation as A
でも問題なく動きました
これはAPresentationの定義の読み込みが呼び出し時までされないということでいいですか?
264デフォルトの名無しさん
2023/12/02(土) 14:02:31.64ID:0tC7Yjqi だめ絶対
265デフォルトの名無しさん
2023/12/03(日) 18:54:22.91ID:l1Ri8dMm 手始めにPython3エンジニア基礎試験合格したんだけど、次何したらいいの?
266デフォルトの名無しさん
2023/12/03(日) 20:34:04.98ID:B7yqPTfY267デフォルトの名無しさん
2023/12/04(月) 07:29:49.93ID:ZEr6pdQQ >>266
特にない。何ができるのかよくわからん。
株価のデータをウェブから持ってこようと思って始めたが、それはできた。
それ以外はない。
当面、基礎試験はの次の実践試験の方やってみながら作りたいもの探すか
特にない。何ができるのかよくわからん。
株価のデータをウェブから持ってこようと思って始めたが、それはできた。
それ以外はない。
当面、基礎試験はの次の実践試験の方やってみながら作りたいもの探すか
268デフォルトの名無しさん
2023/12/04(月) 11:28:39.23ID:7xJZTz8z 何もないならやる必要はない
時間の無駄
時間の無駄
269デフォルトの名無しさん
2023/12/04(月) 12:42:51.69ID:LMh9z4VO >>267
作りたいものはないけど情報工学技術に興味があるということかな
それなら専門学校か大学に行くとよいのでは
題材は向こうが勝手に用意してくれる
独学で専門技術を身に着けたいというのは無理ではないけどモチベが続かないだろう
作りたいものはないけど情報工学技術に興味があるということかな
それなら専門学校か大学に行くとよいのでは
題材は向こうが勝手に用意してくれる
独学で専門技術を身に着けたいというのは無理ではないけどモチベが続かないだろう
270デフォルトの名無しさん
2023/12/04(月) 13:45:27.90ID:C1dIH7Kj271デフォルトの名無しさん
2023/12/06(水) 07:20:37.12ID:TGpYlcbb AIペイントすごいなGUIもこれで良いよな
プロンプトを絵コンテみたいに書いちゃえばほぼ完成になりそう
プロンプトを絵コンテみたいに書いちゃえばほぼ完成になりそう
272デフォルトの名無しさん
2023/12/06(水) 20:32:16.84ID:7Cu2FhSW 児童取引は怖い
273デフォルトの名無しさん
2023/12/07(木) 05:46:48.95ID:0LP6dGg+ Python では転職できない。
だから、学校へ行っても仕方ない
YouTube で有名な雑食系エンジニア・KENTA が、既に言ってる。
初心者のキャリアパスは、Ruby on Rails → Go のみ
PHP, Scala はオワコン認定した
Pythonで必要な人は大学院数学科か、AWS 機械学習資格。
文系は無理。勉強のほとんどがプログラミングじゃないから。
だから、一発逆転狙いの文系のアホには、Railsがチート職業と言われるわけ
ただし、YouTuber のかよちんみたいに、
Railsをやっている人は、Django へ転職できる
全てのバックエンドは、Rails, AWS Solution Architect が基本だから。
この2つが米国年収で2千万円!
まず転職で聞かれるのが、RailsではなくPythonを選んだ理由。
ここで皆が脱落する。
大学院数学科じゃないと、まず無理
だから、学校へ行っても仕方ない
YouTube で有名な雑食系エンジニア・KENTA が、既に言ってる。
初心者のキャリアパスは、Ruby on Rails → Go のみ
PHP, Scala はオワコン認定した
Pythonで必要な人は大学院数学科か、AWS 機械学習資格。
文系は無理。勉強のほとんどがプログラミングじゃないから。
だから、一発逆転狙いの文系のアホには、Railsがチート職業と言われるわけ
ただし、YouTuber のかよちんみたいに、
Railsをやっている人は、Django へ転職できる
全てのバックエンドは、Rails, AWS Solution Architect が基本だから。
この2つが米国年収で2千万円!
まず転職で聞かれるのが、RailsではなくPythonを選んだ理由。
ここで皆が脱落する。
大学院数学科じゃないと、まず無理
274デフォルトの名無しさん
2023/12/07(木) 11:41:26.60ID:gpmkJ2Ny >>273
Pythonは巨大桁数を扱うのに便利。
Windows電卓:9999桁(10^3桁)
LM217:2147483647桁(10^9桁)
Python3(Decimal):999999999999999999桁(10^17桁)
Pypy2.7.13(Decimal):(10^10^5桁)
Python+Mpmath1.3.0:10^18446744073709551615桁(10^10^19桁)
あなたの宣伝するRuby on Railsは桁数をいくつまで手軽に扱えるの?
Pythonは巨大桁数を扱うのに便利。
Windows電卓:9999桁(10^3桁)
LM217:2147483647桁(10^9桁)
Python3(Decimal):999999999999999999桁(10^17桁)
Pypy2.7.13(Decimal):(10^10^5桁)
Python+Mpmath1.3.0:10^18446744073709551615桁(10^10^19桁)
あなたの宣伝するRuby on Railsは桁数をいくつまで手軽に扱えるの?
275デフォルトの名無しさん
2023/12/07(木) 11:54:23.24ID:Y5Tf+LqT https://docs.ruby-lang.org/ja/latest/method/BigDecimal/s/limit.html
しらんけど無制限らしいから計算機リソースのみに依存すんでない?
処理系の縛りがあるかは書いてないからわからん
しらんけど無制限らしいから計算機リソースのみに依存すんでない?
処理系の縛りがあるかは書いてないからわからん
276デフォルトの名無しさん
2023/12/07(木) 12:27:43.29ID:gpmkJ2Ny require 'bigdecimal'
n = 0 # デフォルト値
mf = BigDecimal::limit(n)
a = BigDecimal("10")
b = BigDecimal("7", 40)
mf = a ** a ** a ** b
このくらいでエラーになるぞ。
https://paiza.io/projects/9WG_gULsMWWWrrBnY9H8nA
bを6にするとエラーにならないからこの程度が限界か?
n = 0 # デフォルト値
mf = BigDecimal::limit(n)
a = BigDecimal("10")
b = BigDecimal("7", 40)
mf = a ** a ** a ** b
このくらいでエラーになるぞ。
https://paiza.io/projects/9WG_gULsMWWWrrBnY9H8nA
bを6にするとエラーにならないからこの程度が限界か?
277デフォルトの名無しさん
2023/12/07(木) 12:49:23.47ID:gpmkJ2Ny Rubyは説明が少なくて面倒くさいな。ideoneも対応していないし。
https://docs.ruby-lang.org/ja/latest/library/bigdecimal.html
サンプルのカンマで区切った2つ目の40という数値の意味の説明もないし。
有効桁数か?でもサンプルから考えると40なのはおかしくないか?
https://docs.ruby-lang.org/ja/latest/library/bigdecimal.html
サンプルのカンマで区切った2つ目の40という数値の意味の説明もないし。
有効桁数か?でもサンプルから考えると40なのはおかしくないか?
278デフォルトの名無しさん
2023/12/07(木) 13:17:06.58ID:gpmkJ2Ny Rubyのbigdecimalは解答を独自のフォーマットで返してくる。
https://paiza.io/projects/RKARq4tN_-ec8Nam_zImxA
普通は
2.003529930406846464979072351560255...7777506072339445587895905719156736e19728
の整数1桁と小数点以下とeの値で返すはず。
https://paiza.io/projects/RKARq4tN_-ec8Nam_zImxA
普通は
2.003529930406846464979072351560255...7777506072339445587895905719156736e19728
の整数1桁と小数点以下とeの値で返すはず。
279デフォルトの名無しさん
2023/12/07(木) 14:19:10.74ID:wNl2TimY PythonスレでRubyの話してるのはアホなんか
280デフォルトの名無しさん
2023/12/07(木) 15:32:59.56ID:6vUn2cKn >>273
ケンタは「文系学部出てpython出来ても職はない」と言っている
まあ首都圏にはあったりするが
また「文系学部出てAIの仕事をしたいといっても仕事はない」とも言っている
pythonはAIで良く使われているので
AIの仕事の無い地方には仕事がない、
という事になる
だがkenta氏がこんな発言をしたのってもう4年以上前だなあ
今の情勢に合わせてChatGPTをローカルに置いてちょっとカスタマイズしたい、なんて仕事も出てくると
ソースコードを壊さないように弄る必要も出る
その程度で「数学科出身じゃないからやらせない」「情報工学出身じゃないからダメ」というのは
無駄の極み
ケンタは「文系学部出てpython出来ても職はない」と言っている
まあ首都圏にはあったりするが
また「文系学部出てAIの仕事をしたいといっても仕事はない」とも言っている
pythonはAIで良く使われているので
AIの仕事の無い地方には仕事がない、
という事になる
だがkenta氏がこんな発言をしたのってもう4年以上前だなあ
今の情勢に合わせてChatGPTをローカルに置いてちょっとカスタマイズしたい、なんて仕事も出てくると
ソースコードを壊さないように弄る必要も出る
その程度で「数学科出身じゃないからやらせない」「情報工学出身じゃないからダメ」というのは
無駄の極み
281デフォルトの名無しさん
2023/12/07(木) 16:00:11.34ID:wNl2TimY KENTAが文系学部出てpython出来ても職はない
KENTAが文系学部出てAIの仕事をしたいといっても仕事はない
ということだろ
KENTAが文系学部出てAIの仕事をしたいといっても仕事はない
ということだろ
282デフォルトの名無しさん
2023/12/07(木) 17:27:42.18ID:XDYBiR0b >>274
瞬殺されててワロタww
瞬殺されててワロタww
283デフォルトの名無しさん
2023/12/19(火) 21:51:20.71ID:WeipM8cv モジュールによっちゃ日本語の情報が少なくて外国のページ見て学ぶなりコピペしてくるなりしないといけないんだが
みんなそれくらいの英語は余裕でできるの?
みんなそれくらいの英語は余裕でできるの?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★4 [BFU★]
- 小野田氏、”中国経済への依存“に警戒感 高市首相の国会答弁巡り [煮卵★]
- 【こんなの初めて…】民泊には既にキャンセルも 中国の渡航自粛で [ぐれ★]
- 日本が「世界で最も魅力的な国」1位に!✨「魅力的な都市」では東京が2位 「魅力的な地域」は北海道が7位に [煮卵★]
- 台湾声明 「台湾は独立した主権国家、中国は台湾を統治したことがなく、中国は口出しする権利ない」 中国が高市首相に抗議で ★7 [お断り★]
- 【サッカー】独占入手 最年長JリーガーにW不倫疑惑 『お風呂覗きたいんですが笑』LINE流出も… 慰謝料トラブルを本人に直撃 [冬月記者★]
- 東浩紀「日本はいままさに駆け引きをしている。」高市有事にピシャリ [834922174]
- 日経平均、49000円割れ 国賊高市を許すな [402859164]
- 【悲報】麻生太郎、石破憎しで高市を擁立し晩節を汚す [884040186]
- 【高市速報】日本「中国さんお願い首脳会談させて!ねえってば!😭」 [931948549]
- とうすこ🏡愛され絵文字♡🤥👊😅👊👶♡
- 中国とのパイプ役がいない高市政権、実施詰みか [668970678]
