【まず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 ###
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
2023/11/29(水) 13:46:04.06ID:Z6GycUPt
>>254
すみません
a_presentation.pyとb_presentation.pyのelseの中で
self._set_new_p(p)のあとにbreakが必要でした
2023/12/01(金) 06:10:11.53ID:+Sulqil7
>>254,255
自己解決しました
Mediatorパターンが参考になりました
遷移先のPresentationクラスの生成をCreatorクラスにまかせて、
PresentationクラスはそのインターフェースCreatorBaseのインスタンスを持つようにしました
CreatorクラスのインスタンスはRPAクラスのメンバーにしてPresentationに__init__()の引数として渡しました
すべてのPresentationクラスの実装のインポートをCreator内に集約することでPresentation間での循環インポートを解消できました
2023/12/01(金) 22:39:32.22ID:dcWZLwtR
循環インポートを避けるには
from .a_presentation import APresentationじゃなくて
import presentation.a_presentation as A とかにして
A.APresentationの形で使うだけでも大丈夫
2023/12/01(金) 22:43:35.51ID:dcWZLwtR
それにしても随分とパターン熱に冒されてるねー
StateパターンになってないしStateパターンを使うべきケースでもないと思うんだけどな
259デフォルトの名無しさん
垢版 |
2023/12/01(金) 23:03:50.71ID:3nL4Jfiv
pip installでインストールできるようにパッケージ化してみたらいいと思う
2023/12/02(土) 00:49:51.55ID:IL/rFcuk
>>257,258
ご回答ありがとうございます
右も左も分からない初心者なもので見苦しくてすみません
調べている中で257の方法も試してみたのですが、
それだとmain.pyでAの方のif文は実行されたのですがBの方は実行されませんでした
なぜでしょうか?
あと画面の状態と操作を扱うクラスなのでStateかと思ったのですが違ったのでしょうか?
2023/12/02(土) 01:22:32.17ID:IL/rFcuk
>>260
度々すみません
Bが実行されないのはset_new_pしたあとnew_pを参照していないからでした
2023/12/02(土) 11:24:03.67ID:W00DnSBP
>>260
>あと画面の状態と操作を扱うクラスなのでStateかと思ったのですが違ったのでしょうか?

ある画面が状態Aでも状態Bでも状態Cでも
画面を操作するクライアント側のコード(今回で言えば主にmain)はどの状態であるかを意識ぜずに同じメソッドを呼び出す
呼び出された側が状態に応じた振る舞いや状態遷移を行うんだけどその際呼び出された側がif文で条件分岐するのではなく各状態ごとにクラス等を用意してポリモーフィズムで分岐させるのがStateパターン
2023/12/02(土) 12:28:53.41ID:+bysY8AL
>>262
ありがとうございます
具象クラスのメソッドを直接操作してるので何かが違うんだけどとは考えてました
すると今回のように呼び出し側が画面に合わせた操作をする必要がある場合はどういう設計がベターでしょうか?

循環インポートの解消に関しては
from . import a_presentation as A
でも問題なく動きました
これはAPresentationの定義の読み込みが呼び出し時までされないということでいいですか?
2023/12/02(土) 14:02:31.64ID:0tC7Yjqi
だめ絶対
2023/12/03(日) 18:54:22.91ID:l1Ri8dMm
手始めにPython3エンジニア基礎試験合格したんだけど、次何したらいいの?
2023/12/03(日) 20:34:04.98ID:B7yqPTfY
>>265
趣味ならそこがゴール
あとは作りたいアプリを存分に作りまくってくれ
2023/12/04(月) 07:29:49.93ID:ZEr6pdQQ
>>266
特にない。何ができるのかよくわからん。
株価のデータをウェブから持ってこようと思って始めたが、それはできた。
それ以外はない。
当面、基礎試験はの次の実践試験の方やってみながら作りたいもの探すか
2023/12/04(月) 11:28:39.23ID:7xJZTz8z
何もないならやる必要はない
時間の無駄
2023/12/04(月) 12:42:51.69ID:LMh9z4VO
>>267
作りたいものはないけど情報工学技術に興味があるということかな
それなら専門学校か大学に行くとよいのでは
題材は向こうが勝手に用意してくれる
独学で専門技術を身に着けたいというのは無理ではないけどモチベが続かないだろう
2023/12/04(月) 13:45:27.90ID:C1dIH7Kj
>>267
株価とか出来高とか板とか見て自動で売買するアプリ作ってはどうでしょうか?

儲かりたいなら優待を
271デフォルトの名無しさん
垢版 |
2023/12/06(水) 07:20:37.12ID:TGpYlcbb
AIペイントすごいなGUIもこれで良いよな
プロンプトを絵コンテみたいに書いちゃえばほぼ完成になりそう
2023/12/06(水) 20:32:16.84ID:7Cu2FhSW
児童取引は怖い
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を選んだ理由。
ここで皆が脱落する。
大学院数学科じゃないと、まず無理
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は桁数をいくつまで手軽に扱えるの?
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にするとエラーにならないからこの程度が限界か?
277デフォルトの名無しさん
垢版 |
2023/12/07(木) 12:49:23.47ID:gpmkJ2Ny
Rubyは説明が少なくて面倒くさいな。ideoneも対応していないし。
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の値で返すはず。
279デフォルトの名無しさん
垢版 |
2023/12/07(木) 14:19:10.74ID:wNl2TimY
PythonスレでRubyの話してるのはアホなんか
2023/12/07(木) 15:32:59.56ID:6vUn2cKn
>>273
ケンタは「文系学部出てpython出来ても職はない」と言っている

まあ首都圏にはあったりするが

また「文系学部出てAIの仕事をしたいといっても仕事はない」とも言っている
pythonはAIで良く使われているので
AIの仕事の無い地方には仕事がない、
という事になる

だがkenta氏がこんな発言をしたのってもう4年以上前だなあ
今の情勢に合わせてChatGPTをローカルに置いてちょっとカスタマイズしたい、なんて仕事も出てくると
ソースコードを壊さないように弄る必要も出る

その程度で「数学科出身じゃないからやらせない」「情報工学出身じゃないからダメ」というのは
無駄の極み
281デフォルトの名無しさん
垢版 |
2023/12/07(木) 16:00:11.34ID:wNl2TimY
KENTAが文系学部出てpython出来ても職はない
KENTAが文系学部出てAIの仕事をしたいといっても仕事はない

ということだろ
2023/12/07(木) 17:27:42.18ID:XDYBiR0b
>>274
瞬殺されててワロタww
2023/12/19(火) 21:51:20.71ID:WeipM8cv
モジュールによっちゃ日本語の情報が少なくて外国のページ見て学ぶなりコピペしてくるなりしないといけないんだが
みんなそれくらいの英語は余裕でできるの?
2023/12/20(水) 00:47:47.59ID:bsiqnAom
サードパーティのモジュールはほぼ英語でしか説明ないけど
平易な表現しか使ってないから翻訳併用すれば中学英語レベルで十分理解できる
紹介記事は極論作者のメモ書きにすぎないからね
2023/12/22(金) 23:53:50.57ID:CDCAm2n1
リンク先のように書くと
https://dpaste.com/2LJ2MSMSX
piyoはNoneの既知のメンバーではありませんと怒られますが
回避するにはcastになるのですか?
他の言語みたいにNoneで無いことが分かっているなら!みたいに短く書く方法はないのでしょうか
2023/12/22(金) 23:57:32.60ID:CDCAm2n1
ifでチェックしたら回避できるのは知ってます。
2023/12/23(土) 00:06:34.21ID:nuv23jz/
結論から言えば無い
ifでチェックする

機能追加の提案もあるけど実装される見込みは今のところ無し
https://discuss.python.org/t/introducing-a-safe-navigation-operator-in-python/35480
288デフォルトの名無しさん
垢版 |
2023/12/30(土) 07:45:04.24ID:W5+FG6fR
pythonで変数スコープをどうにかしたいのですが定石とか何かありますか?

変数宣言せずに使えるのでスコープ外れてるのに値を入れたりして名前が同じ別スコープの変数が新たに出来てバグ子温床と発見に手間が掛かります

正直言って変数宣言にvarを導入して欲しい感じなのですが型チェックがオプション的に使える様に何か方法は無いでしょうか?
2023/12/30(土) 09:08:17.02ID:9xbp05/Y
>>288
スコープが外れるってどういうシチュ?
関数内での代入は全てローカル扱い
これを心得てさえいれば何も困らんと思うのだが
2023/12/30(土) 16:01:53.58ID:FgzdgIdy
>>288
参照可能な別の変数を上書き定義してるようなケースはpylintとかでチェックすれば警告が出る

変数がスコープ内にあると勘違いして既存変数に代入したつもりが
新しい変数を定義して初期化しただけというケースはテストを書かずにチェックするのは実質無理
普通はそんなことにならないと思うけどテストを書くか変数定義にキーワードを要求する言語に乗り換えるかの二択
2023/12/30(土) 17:42:20.56ID:uPN73jPm
Copilot使いだしてからないけどself付け忘れはある
292デフォルトの名無しさん
垢版 |
2024/01/06(土) 11:42:23.38ID:Zs30euLJ
人間に独立した人格が有るように、チンポにも独立したチン格が有る
これは親クラスと子クラスの継承関係である
チン格とはつまり「愚息」であり、自分にも他人にも成り得る
これがオブジェクトの多態性と表現される
オシッコするときのチンポは随意筋、勃起するときのチンポは不随意筋
このように時と場合によって真逆の性質を併せ持つことができる

随意筋 不随意筋
  ↖ ↗
  チンポ

自然言語処理において語の意味は文脈によって変わるので、Pythonのような多重継承が不可欠ね!
2024/01/08(月) 08:28:08.05ID:UVvi3vWm
FANZAでエロ動画の価格をスクレイピングしようとしてるんですが
label for="4k"配下のdtタグのtextを出力したいんですが、for属性をfindするとエラーが出ます
print(soup.find("label",for_="4k").find("dt",class_="col2").text)
別のやり方じゃないとダメでしょうか?

https://www.techiedelight.com/compiler/?eb71
2024/01/08(月) 11:43:15.07ID:4FNw9MEQ
>>293
予約語回避のためのショートカットはclass_だけなのでattrsで書く
soup.find("label",attrs={"for":"4k"})
2024/01/08(月) 12:20:33.92ID:EIrMtl3n
>>293
独自記法が必要なfind/find_allは捨てて
標準的なCSSセレクターが使えるselect_one/selectを覚えたほうがいいよ
ブラウザからコピペしたりブラウザコンソールでそのまま確認できるので

soup.select_one('label[for="4k"]').select_one('dt.col2').text
2024/01/08(月) 13:31:11.16ID:qmm9XobD
>>294-295
ありがとうございます
出来ました
selectが見やすいのでselect使います
https://www.techiedelight.com/compiler/?eb71
2024/01/08(月) 13:33:49.83ID:qmm9XobD
リンク間違えました
https://techiedelight.com/compiler/ja/?f3d4
2024/01/08(月) 18:03:30.19ID:TiBm1ihV
今既存のRPA用のフレームワークを改良しています
オリジナルはこのようなコードになっています
Controllerは操作のためにDriverのアンダースコアつきメンバーに触ってるんですが
設計上しょうがないですか? ruffで警告が出るので気になります。
それともプロパティを公開して
フレームワーク利用者側からは呼ばないようにドキュメントを書く方がいいでしょうか?
Controllerは状況に合わせた専用のメソッドを持つ子クラスを都度使い分ける想定です。
https://techiedelight.com/compiler/?ce6c99
2024/01/08(月) 20:59:21.07ID:3KJvz+ds
>>297
スクレイピングから夜のおかずまで
幅広く手掛けるpython
2024/01/09(火) 11:51:37.25ID:mYyJOFIO
>>298
モジュールレベルの可視性とクラスレベルの可視性を使い分ける

クラスの外部からアクセスする前提のプロパティやメソッドならアンダースコアは付けない
利用者側コードでDriverを生成させる必然性はなさそうなのでフレームワーク側でDriverを生成してControllerをinitして返すAPIを用意する
__init__.pyでモジュールのユーザーに公開すべき内部モジュールを選別する
公開モジュールで非公開モジュールをインポートするときはアンダースコアを付ける
2024/01/10(水) 22:36:13.32ID:Ggzl3EdZ
>>300
ありがとうございます。利用者はControllerを直接受け取るということでいいですか?
最初に貼ったコードはちょっと省略しすぎました
実際には以下のようにDriverはwith文で使えるようになっているのですが
この場合もControllerを直接渡した方がよいのでしょうか?
たとえば手動操作とRPAからの操作を切り替えるような状況だと
Driverは最初に起動しておいてRPAが必要なときだけ都度Controllerを生成しています

https://techiedelight.com/compiler/?dc5c
2024/01/13(土) 15:42:46.23ID:W9CIMidi
エ○画像とそれ以外の画像を振り分けるプログラムなんですが
実行するとmodel.fitでエラーが出ます
解決策がさっぱりわからないので助けてください
[ソースコード]
https://techiedelight.com/compiler/?c301
[エラー内容]
https://i.imgur.com/BIkFIiE.jpg
2024/01/13(土) 20:43:02.34ID:Wk38PunC
>>302
もうプログラミングはAIに聞く時代だぞ
ChatGPTのプロンプトに
「Pythonの下記のコードで~というエラーメッセージが出る原因を教えて」とタイプしてShift + ENTER押して
コードをCtrl + Vで貼り付けてENTERすれば何かしらアドバイスしてくれる
2024/01/14(日) 12:29:02.68ID:0ohzHf92
ネタが新鮮だとChatGPTでは無理
https://github.com/tensorflow/tensorflow/issues/61215
2024/01/14(日) 17:49:42.52ID:NKNETmpB
無料版のChatGPTだからダメなのであって有料版のChatGPTなら新鮮なデータも答えられるでしょ
金払いたくなければBingやBardのでもいい
2024/01/14(日) 18:05:50.80ID:JQrCg+JK
>>305
Plusでも無理
やってみれば分かること
2024/01/14(日) 18:08:31.60ID:MIyVZkUg
バカとハサミは使いよう
何でもChatGPTに聞くのはバカ
2024/01/14(日) 18:12:22.27ID:mFqEsi68
プロンプト:Exception has occurred: AttributeErrorが起きます
以下ソースコード添付
===================
あなたのPythonスクリプトでAttributeErrorが発生しているようですね。
これは通常、オブジェクトが指定された属性やメソッドを持たない場合に発生します。
スクリプトを確認して、問題の原因を特定しましょう。

まず、kerasのインポートに関して、
tensorflow.python.kerasを直接参照するのではなく、
tensorflow.kerasを使用することをお勧めします。
これはTensorFlow 2.xでの推奨される使用方法です。

また、predict_classesメソッドは古いバージョンのKerasで使われていましたが、
新しいバージョンでは削除されています。
代わりにpredictメソッドを使用し、
予測結果から最大値のインデックスを取得する方法に変更する必要があります。

以下の変更を提案します:

import kerasをfrom tensorflow import kerasに変更します。
from tensorflow.python.keras.utils import np_utilsを
from tensorflow.keras.utils import to_categoricalに変更し、
np_utils.to_categoricalの使用をto_categoricalに変更します。

from tensorflow.python.keras.models import Sequentialを
from tensorflow.keras.models import Sequentialに変更します。

同様に、他のtensorflow.python.keras.layersのインポートもtensorflow.keras.layersに変更します。
model.predict_classesの代わりに、np.argmax(model.predict(Z), axis=-1)を使用して予測されたクラスを取得します。

これらの変更を行っても問題が解決しない場合、または他のエラーが発生した場合は、具体的なエラーメッセージを教えてください。
それに基づいて、さらにアドバイスを提供できます。
2024/01/14(日) 18:28:17.93ID:mFqEsi68
AttributeError が発生する場合、
これは通常、オブジェクトが期待されている属性を持っていないことを意味します。
エラーメッセージが具体的にどの属性が見つからないか示しているはずですが、
提供されたコードからは特定のエラー原因を特定するのは難しいです。

しかし、コードを見ると、いくつかの潜在的な問題点が見られます。以下にいくつかのポイントを挙げてみます:

Kerasのインポート方法: import keras と from tensorflow.python.keras を混在させています。
一般的には、from tensorflow import keras のように TensorFlow 2.x と一緒に Keras を使用することが推奨されています。

predict_classes の使用: TensorFlow 2.x 以降、predict_classes 関数は削除されました。
代わりに model.predict を使用し、最大の出力値を持つクラスを選択します。

ファイルリストの作成: file_list がどこにも定義されていないようです。
これは score = list(zip(TEST, file_list)) で使用されていますが、この変数の定義が見当たりません。

========
エラーメッセージをプロンプトに入れろと言われたが入力するのめんどくさいのでやってない
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。