【まず1嫁】くだすれPython(超初心者用) その59

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2023/07/13(木) 18:48:41.56ID:INS7SIu4
当スレに★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 ###
154デフォルトの名無しさん
垢版 |
2023/09/01(金) 12:58:49.16ID:cc3ovi53
フロントエンドエンジニアのフリーランス平均年収867万円!98%がリモート可案件!
業界別ではSIer 950万円、SaaS 921万円|SOKUDAN調査レポート
一般的な平均年収599万円よりも、+268万円高い。全案件の56%が年収800万円超

フリーランス・複業・副業の求人マッチングサービス『SOKUDAN(ソクダン)』を運営する、
CAMELORS株式会社は、フリーランスWebディレクターの平均年収・時給について調査した
フリーランスフロントエンドエンジニアの56%が年収800万円超
・一般的な平均年収599万円よりも、フリーランスの方が867万円と+268万円高い
・週3日以下の案件が約62%、リモート可能な案件は98%
・案件が多い業界は、SaaS、Web制作、システムインテグレータ
・求められるスキルはJavaScript、React.js・Next.js、Vue.js・Nuxt.js、Typescript
・平均年収867万円、平均時給4,303円
・中央値年収819万円、中央値時給4,063円
・年収800万円以上が56%を占める
・年収1,000万円以上が22%を占める
・年収600万円以下よりも年収1,200万円以上の方が多い
一般的なフロントエンドエンジニアの平均年収 「599万円(求人ボックス・給料ナビ)」
2023/09/01(金) 14:17:16.98ID:8Q6o7DlX
!omikuji の日でござる
2023/09/04(月) 01:06:34.09ID:HnNo1tWR
以下の様なスクリプトがあります

class Student:
 def __init__(self, id, name):
  self.id = id
  self.name = name

def main():
 s1 = Student(1, "Mike")
 print(s1.name)
 return 0

if __name__ == '__main__':
 exit(main())

ここで、Studentクラスの__init__内に以下のような処理を入れて、
自インスタンス名がs1ならself.nameを"John Doe"に
変更させたいと思ってます

  if 自インスタンス名 == "s1":
   self.name = "John Doe"

インスタンス側で、自インスタンス名を取得する方法がありますでしょうか

クラス変数にinstancenameみたいなものを追加しようかと思いましたが
わざわざインスタンス名と同じ値を設定しなければならないというのもイマイチに思ってます
2023/09/04(月) 01:20:29.31ID:svBXgOiP
>>156
無理
s1 = Student(1, "Mike")の行は右辺から評価されるわけでinitが実行されるタイミングでその処理結果を代入する先のインスタンス変数名を把握しようがない
2023/09/04(月) 01:34:16.67ID:HnNo1tWR
>>157
評価の順番で無理ですか
分かりやすい説明ありがとうございました

__init__ではなく、別のタイミングで呼ばれるクラスメソッドでは方法はあるのでしょうか
たとえばクラスに
  def check():
   if 自インスタンス名 == "s1":
    self.name = "John Doe"
といったメソッドを追加して、メイン側では
 s1 = Student(1, "Mike")
 s1.check()
みたいにする等して、インスタンス作成後であれば取得することは可能なのでしょうか
2023/09/04(月) 01:34:28.71ID:DzJnyl6r
あってるけどアサイン後ならわかるのかとミスリードせん?
コンテキスト側からは追えないこともないけども
2023/09/04(月) 01:35:47.98ID:DzJnyl6r
>>158
煩雑なだけだからできないと考えた方がいい
2023/09/04(月) 01:39:30.34ID:DzJnyl6r
s3 = s2 = s1 = Student(1, "Mike")
としたときどうすんのって話もある
2023/09/04(月) 02:05:01.07ID:HnNo1tWR
>>160
なるほど
いろいろ回答ありがとうございました

処理全体を見直そうと思います
2023/09/04(月) 21:22:59.99ID:nWTc2hmH
pip searchってもう使えなくてpypi.org見れって言ってくるんだけど、これってふざけてませんか?
CUI主義の人はこれだと困るじゃないですか
なんでこんな仕様変更したんだろう
164デフォルトの名無しさん
垢版 |
2023/09/04(月) 21:34:36.33ID:eS6UNx4I
>>163
負荷に耐えられないから
https://status.python.org/incidents/grk0k7sz6zkp
2023/09/05(火) 20:08:47.70ID:rogYYWHX
同じ名前なのにこいつはglobalでこいつはlocalですよ
そんなつもりじゃないですよね?って教えてくれる
terminalとvimでの環境でも使えるなにかってありますか
エラー報告器というのか、ハイライトというのか
なんだなんだどこかの仕掛けが反映されてないぞ、二つの別のリストがあるのではという状況になってます
2023/09/05(火) 20:20:30.09ID:xROyc3eI
vim-lspで好きなランゲージサーバと連携したらつよつよにはなるけど
globalつかうコードを避ける、使うのはアクセサだけにするなど自制するのがシンプル
2023/09/05(火) 20:55:48.31ID:rogYYWHX
vim-lspやランゲージサーバーを知らなかったので調べてみますありがとう
なかなかシンプルには頭の中からしてまとまらなくて…頑張ってみますw
2023/09/06(水) 13:26:44.71ID:ROxN7tKN
vscodeとpycharmがただで使えるのにvimで頑張るのか(´・ω・`)
2023/09/06(水) 14:02:07.39ID:pyg074gJ
>>168
スマホのtermux上で遊んでるだけなので、楽しんでたプログラムが思いがけず大きくなりました
linuxディストリビューションを入れることも可能なのでvscodeも試してみたことはあります
スマホ画面ではそう使いやすくは無く、初心者なのでなおさら苦悩が増えました
といった理由でterminalでvimとなってます

さっきpluginとしてvim-lspとPlug 'mattn/vim-lsp-settings'を入れてみました
黄色や赤でスペースがなってない!などと自分のコードをド派手に隠します…
printと書くとポップアップで自分には参考にならないpython docsと似た仕様をあらわす英文がでます
いまのところ使いこなせそうにありませんw
170デフォルトの名無しさん
垢版 |
2023/09/07(木) 12:33:06.77ID:iG8XE85c
yahooの再設定で生年月日わからんから生年月日を検索するツールを作りたいん
プログラム知識ないからAIで作らせたいん
どうすればいいんですか?
2023/09/07(木) 12:46:06.68ID:KtKJhS7/
AIの知識があるなら
プログラムもAIで作ればいいんじゃないかな
172デフォルトの名無しさん
垢版 |
2023/09/07(木) 13:00:46.71ID:yf0XBZB8
馬鹿には無理
2023/09/07(木) 13:07:12.08ID:CDCme1Du
総当たりじゃ解けないようになってるはず
サポートに問い合わせろ
174デフォルトの名無しさん
垢版 |
2023/09/07(木) 13:14:06.06ID:iG8XE85c
問い合わせても「お答えできない」としか返ってこないから意味ないん
2023/09/08(金) 17:42:37.49ID:NjDvTDdV
宿題にはお答え出来ません
宿題と判らないように質問してください
176デフォルトの名無しさん
垢版 |
2023/09/10(日) 07:30:31.81ID:hps7g+0s
30代Pythonバカチョン男は強姦魔の犯罪者です!
あなたの近くにいます!
父母と祖父母の戸籍謄本を提出させましょう!
177デフォルトの名無しさん
垢版 |
2023/09/10(日) 07:34:36.02ID:hps7g+0s
「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
178デフォルトの名無しさん
垢版 |
2023/09/10(日) 07:34:51.97ID:hps7g+0s
30代Pythonバカチョン男は強姦魔の犯罪者です!
あなたの近くにいます!
父母と祖父母の戸籍謄本を提出させましょう!
2023/09/11(月) 03:48:59.40ID:WUmnzUS8
スレタイにふさわしい質問ですがryeってのどうですか?
Pythonバージョンの切り替えとかほぼしないしpoetryで不満ないんですが
この手のツールはあんまりフラフラ変えないほうがいいですよね?
180デフォルトの名無しさん
垢版 |
2023/09/11(月) 09:49:56.20ID:lXcI/Ajd
なにそれおいしいの
2023/09/11(月) 12:23:17.90ID:Uj3i56F3
Rustで作られた
Pythonの環境管理・installなどのツールか
venvなどよりryeおすすめって記事をよく見る
2023/09/11(月) 23:35:23.83ID:VwcUnZnc
日本人が作った、多言語バージョンマネージャーのanyenv がある。
同様のツールに、asdf もある。
他には、Docker もある

Renv, crenv, denv, erlenv, exenv
goenv, hsenv, jenv, jlenv, luaenv
nodenv, phpenv, plenv, pyenv, rbenv
sbtenv, scalaenv, swiftenv, tfenv
183デフォルトの名無しさん
垢版 |
2023/09/12(火) 15:27:42.12ID:RGjhGQKs
30代Pythonバカチョン男は強姦魔の犯罪者です!
あなたの近くにいます!
父母と祖父母の戸籍謄本を提出させましょう!
そしてスレ主がその極悪非道の強姦魔バカチョンです!
Python使う奴はチョンが多いです。
しかも北朝鮮人ですから犯罪なんでもやります。
必ず家族の戸籍を確認しましょう!
2023/09/13(水) 06:46:42.57ID:5G1pYC4E
>>183
恥ずかしくない?
185デフォルトの名無しさん
垢版 |
2023/09/13(水) 14:22:45.91ID:JmOEsGWT
漏れの読み
>>183 == >>184
2023/09/13(水) 14:24:03.36ID:7K6lTl9W
pythonは俺が作った最強の系が多すぎて困る
豪語するのはデファクトになってからにしてくれ
2023/09/13(水) 15:56:15.75ID:JmOEsGWT
Rustのことですねわかります
2023/09/13(水) 16:01:01.97ID:GC1GSAPg
デファクト
2023/09/16(土) 16:53:10.39ID:EeYw60jk
vscodeのプラグイン分割されたせいか動きがおかしいしやつがいくつがあるな(´・ω・`)
2023/09/16(土) 17:12:10.72ID:OSqYfQ8W
分割ってなに
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'], \}
2023/09/23(土) 09:02:37.55ID:FVqyQUn9
あ、めちゃくちゃになったすみません(直せない)
193デフォルトの名無しさん
垢版 |
2023/09/28(木) 12:15:19.06ID:jwkusxvg
pywebview から webview2 で表示させた中身は、どうやったらスクレイピングできますか?
2023/09/28(木) 13:47:29.57ID:emnRgXWb
window.get_elementsでいけそう
https://pywebview.flowrl.com/examples/get_elements.html
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]は数値だと思うのです
2023/09/29(金) 15:20:33.59ID:K+K2fBee
dp=[]
for _ in range(N):
dp.append([0,0])
dp[0]=[1,1]
2023/09/29(金) 15:27:47.40ID:Dt5xSUqE
全ての要素が [0,0] である N-1 個のリスト dp を作成
dp の最初の要素に [1,1] を代入
2023/09/29(金) 15:32:53.86ID:K+K2fBee
ChatGPTに聞いたらいい感じに答えてくれた
2023/09/29(金) 15:57:49.40ID:DCwFF8Wu
for文の変数が_ってこの変数自体を指定することはありませんよってポーズ?
2023/09/29(金) 18:51:51.98ID:UcDRzO48
ふつうは言語機構つかって
[[0,0]] * N
と書くけど知らないと魔法にみえるからありなのか
2023/09/29(金) 19:02:04.86ID:NAigsGqx
[[0,0]] * Nはだめだよ
2023/09/29(金) 19:54:46.54ID:DCwFF8Wu
>>201
[0,0]のリストが同じIDでN個入ったリストができんだよね……
2023/09/29(金) 20:35:11.07ID:UcDRzO48
たしかに
dp[0]=[1,1]
でしか操作しないならタプルにしてるだろうし撤回するわ
2023/09/29(金) 20:51:40.89ID:w4soHy15
同じ実体を指してるリストが欲しいケースってそんなにあるんだろうか
簡便な記法をレアな用途に当ててしまってる気が
205デフォルトの名無しさん
垢版 |
2023/09/30(土) 10:48:48.49ID:+WV6fTrG
>>195
N=3だとすると
dp=[[1,1], [0,0], [0,0]]
にしている
206195
垢版 |
2023/09/30(土) 13:38:46.89ID:rp4pJ3sH
ありがとうございます。理解できました
2023/10/04(水) 17:52:26.06ID:+BdHLUL4
webアプリを作ろうと思って、ローカルの環境でsqlite3を使って作ったDBとflaskとを組み合わせて開発しました。

しかし、webに公開することを考えると、mysqliteのような簡易なDBではなくちゃんとmysqlを勉強してそちらを使うように作り変えるべきでしょうか?
2023/10/04(水) 17:54:35.82ID:ilZ5d6ID
はいそうなります
2023/10/04(水) 18:42:00.03ID:sTQvT6wD
アクセス数が少ないなら何の問題もない
210デフォルトの名無しさん
垢版 |
2023/10/05(木) 17:06:48.85ID:WXXGTjkD
>>209
同意だけどアクセス権とかどうすんのかな
2023/10/05(木) 17:57:28.56ID:EEXxhJ5S
読みだけならアクセス数がそれなりに多くても平気
不特定多数が同時に書き込んだり
書き込み時に読み込みがブロックされると困る仕組みならサーバー型のデータベース使う
212デフォルトの名無しさん
垢版 |
2023/10/06(金) 23:25:50.21ID:tE7CLicd
何度質問してもOKだってさ
おまいら良かったな
https://www.youtube.com/watch?v=l-qk1FX1Hw0
213あぼーん
垢版 |
NGNG
あぼーん
2023/10/16(月) 16:21:27.52ID:spRcfSPO
>>213
とりあえずやる価値はありそう
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" )
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を使いながらも、元の関数の引数名を補完や表示させることってできないでしょうか?
ちなみに、デコレータとしては使いません。
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を使いながらも、元の関数の引数名を補完や表示させることってできないでしょうか?
ちなみに、デコレータとしては使いません。
2023/10/23(月) 16:57:56.53ID:IbZgkAts
その例だと何もしなくても普通にwrapした関数の引数が表示される
2023/10/23(月) 19:08:52.64ID:xU3WfdkE
http://imgur.com/woxUIFm.png
http://imgur.com/fGFQYAZ.png
うーん、ヒントでは *args **kwargs としか表示されないですね…
何か別の拡張機能が必要ですか?
2023/10/23(月) 19:24:37.41ID:CJYAK+hs
ぜんぜんためしてないけど
wrapper_funcの引数がreturn func以外で使用していないところまで分かるってことか
なかなかやね
222デフォルトの名無しさん
垢版 |
2023/10/25(水) 11:33:57.19ID:9oOV85NF
さすがに無理では
2023/10/27(金) 12:37:21.43ID:Zw05fGjv
スクレイピングしたデータをエクセルブックに保存しようとしたら失敗した上、エクセルブックのサイズが0になり開けなくなりました。
また以前のデータも消去されてしまいました。
復元する方法はありませんか?
2023/10/27(金) 15:12:16.53ID:IOqSzuPQ
https://i.imgur.com/kAj54cT.jpg
2023/10/27(金) 15:20:37.20ID:tyc9gzgR
データ直接いじるならバックアップは基本だろ
2023/10/28(土) 14:10:34.16ID:1iiYkiVL
果たして本当に保存に失敗したのだろうか
同じ名前で空のワークブックを造ってしまって
そのまま保存しちゃったんじゃね
2023/10/30(月) 01:51:52.74ID:o+4A2fED
mode=wとかで開いて上書きしちゃうのはあるあるミスだろうね
2023/10/30(月) 02:10:56.85ID:ciWypUeS
スクレイピングって要は他人が一生懸命作ったWebコンテンツをごっそりデータとして盗む泥棒行為だろ?
Pythonをそんな用途に使うんじゃない
229デフォルトの名無しさん
垢版 |
2023/10/30(月) 14:29:49.94ID:3NOS0Vec
chatGPTとかの学習ネタはWEBスクレイピングだね
画像も転がってるし、使える。
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("_"))
232デフォルトの名無しさん
垢版 |
2023/11/11(土) 22:01:06.26ID:VAcD6vEV
vscodeで.htmlファイルの中に書くpythonのコードを、.pyファイルの中に書かれたpythonのコードと同じ規則で色付けしてもらうにはどうすればいいですか?
できれば<py-script></py-script>で囲われた部分だけを色付けしたいです。
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に対応する様々な拡張機能がある
234デフォルトの名無しさん
垢版 |
2023/11/17(金) 23:10:50.43ID:AvZ1Z1pY
~フルパス~\python.exe ~.py
だときちんと動くのに
c:\windows\py.exe ~.py
だと
No suitable Python runtime found
ってエラーになるのはなんで?
2023/11/17(金) 23:49:28.27ID:i6SiN6NQ
>>234
py とだけ打ち込んだらなんて表示される?
2023/11/20(月) 11:08:50.44ID:AlmeLY1B
Python 3.11.6ではエラーにならない
2023/11/20(月) 16:54:24.00ID:dslXur7U
javascriptのオブジェクトの分割代入の表記って今後Pythonにも実装される可能性ってあるの?
obj={aaa, bbb, ccc, ddd}
{aaa, bbb} = obj (必要なキーだけ代入)

あと変数名とオブジェクトのキー名が同じ場合にキー名を省略できるのとか。

両方さわってると、「あーこの書き方できないのかー」って思うことが多く。
2023/11/20(月) 19:02:06.24ID:e16PnsSi
Pythonの辞書のキーは文字列に特化してなくて
JSONみたいに引用符は省略できないから飛躍が大きい気がする
リフレクションでいろいろ丸見えなので実現するのは容易
239デフォルトの名無しさん
垢版 |
2023/11/23(木) 10:27:41.94ID:mHKDjsht
pythonの黒魔術覚えろ
2023/11/27(月) 04:49:00.51ID:tnBtjkwo
どちらの方がいいでしょうか?

https://i.imgur.com/7Eg1hsH.png
2023/11/27(月) 07:08:59.26ID:dgaEQ1dv
密結合・疎結合の話なら右
2023/11/27(月) 07:13:59.21ID:4HQtKID3
どう考えても右
左は関数の仕様変更に他の関数が引っ張られてスパゲッティになる
2023/11/27(月) 10:26:14.60ID:1pI4Xk/b
矢印の種類と意味が左と右で違うのが気になるがどちらの構造がいいかは状況次第だから処理内容を考慮せずに判断すべきではないよ
2023/11/27(月) 12:48:17.49ID:R9It0cfW
処理内容次第の判断基準をざっくり言えば
関数A,B,Cがメイン関数で実行する抽象度として揃ってるなら右
抽象度が関数A > B > Cなら左
2023/11/27(月) 17:51:48.30ID:tnBtjkwo
ありがとうございます
246デフォルトの名無しさん
垢版 |
2023/11/27(月) 17:52:20.22ID:ADnr9f8E
>>244
もうちょっと易しくかいてぅれてもいいよ
2023/11/27(月) 19:37:34.58ID:UlzV0bXg
初心者だしBでやってるけどAってどんなやつなんだBASICのような感じなのかな?
2023/11/27(月) 22:20:18.48ID:tnBtjkwo
こんなん 各2ヶ月かかった
ttps://dpaste.com/2EZ82ME9V
ttps://dpaste.com/2P2SFYGYL
2023/11/28(火) 00:48:46.12ID:tbHgY5Ye
コードはすまん読んでないけど
関数から呼ばれる関数は基本的に汎用的な関数として定義されているものであるべきと思う

例えばパスから画像を呼んでバイナリ化して返す関数を
引数にバイナリを指定し、画像加工する関数群(画像加工の種類ごとに関数を用意)からそれぞれの冒頭で呼び出す

とかなら自然かなと
汎用的ではない関数を、別の関数から呼ぶ…とかだと
渡したい引数を一旦メイン処理に戻してそっちから渡すBのやり方で書きたいなと思う
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() が良いと思う
2023/11/28(火) 10:10:52.21ID:khx6Zkgl
>>251
そのためだけにクラス作るのは馬鹿らしい
複数の関数を一つに閉じ込めたかったら関数内関数でいいじゃん
253デフォルトの名無しさん
垢版 |
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
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況