[過去ログ] Pythonのお勉強 Part68 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
690: (アウアウウー Sacd-nZLu) 2022/11/09(水) 17:30:52.94 ID:ugvw1ns9a(1) AAS
状態を持つオブジェクトを扱うならクラスは必然なのでは
691(1): (ワントンキン MM62-76so) 2022/11/09(水) 18:12:18.95 ID:uDSXzENKM(1/3) AAS
pythonはメンバ変数にself必須なのがダルい
メインプログラムまでクラス化する必要はないと思う
規模が小さければモジュール変数をグローバル変数のように使うのが便利
vscodeならインテリセンス利くし
692: (ワッチョイ 5e46-1KES) 2022/11/09(水) 18:40:16.27 ID:cOB3Ubn30(1) AAS
>>687
プログラム水準(?)の高低でなく、実行速度の遅速でそう言われるのを聞いたことはある。大昔ね。
事実かは知らぬ。
693(1): (テテンテンテン MM96-xcLn) 2022/11/09(水) 18:59:13.95 ID:2JAkKfpeM(1) AAS
>>687
使うべきでない理由をなぜ聞かなかったのか?
それを書けば話は終わる
君の友人ほどスキルのある人はここにはいないからな
694(1): (ワッチョイ 5e89-AYzQ) 2022/11/09(水) 20:24:05.09 ID:FPtq7UfL0(1) AAS
>>687
必要になるまで不要なもので汚すな
シンプルに書けってことかと
695(2): (テテンテンテン MM96-xvRb) 2022/11/09(水) 20:51:46.35 ID:yZGUhxlRM(1) AAS
>>691
だなselfを二文字くらいの別名に出来ないのかな?
696: (ワッチョイ 7247-GkOZ) 2022/11/09(水) 20:56:49.26 ID:F89FAkjE0(2/5) AAS
perlから来たからselfは当たり前だと思ってる
697: (ワッチョイ 7992-Dn6t) 2022/11/09(水) 21:06:27.04 ID:EoOj57gu0(1/2) AAS
開発者間で同意取れるなら
ただの関数の引数だから好きに変えられはする
698(1): (ワッチョイ 9201-obsI) 2022/11/09(水) 21:10:50.26 ID:5c+x4O200(1) AAS
>>687
理由を示さないお作法は無視していい
699: (ワントンキン MM62-76so) 2022/11/09(水) 21:21:40.38 ID:uDSXzENKM(2/3) AAS
グローバル変数用のファイルを作ってas gでインポートってのをqiitaで見たけどかなり便利
g.nameみたいにアクセスする
700: (ワッチョイ 7247-GkOZ) 2022/11/09(水) 21:30:42.42 ID:F89FAkjE0(3/5) AAS
それは他に影響しないというだけで、グローバル変数の欠点は何も解決しない
作って使ってすぐ捨てるならいいけど、保守が必要なら時間かけてシンプルにしとかないと
701: (ガックシ 0696-hUUh) 2022/11/09(水) 21:48:48.07 ID:dM0Gb0+w6(1/2) AAS
>>695
すればいいじゃん
702: (ワントンキン MM62-76so) 2022/11/09(水) 21:57:03.34 ID:uDSXzENKM(3/3) AAS
グローバル変数はプログラム全体を通した設定値とかに使うもんじゃない?
それこそメインプログラムにとってのselfよ
変に引数取りまくるより可読性高いと思う
規模にもよるんだろうけど
703: (ワッチョイ 7247-GkOZ) 2022/11/09(水) 22:03:03.05 ID:F89FAkjE0(4/5) AAS
configを読んでグローバルに格納してmain()を呼ぶ
みたいな作りになってるのが多い
うちのスクリプト
704: (ワッチョイ 7992-Dn6t) 2022/11/09(水) 22:10:05.03 ID:EoOj57gu0(2/2) AAS
設定値の保持ならぜんぜんOK
状態を丸見えで管理できないとこに置くなってことでしょ
705: (ワッチョイ 7247-GkOZ) 2022/11/09(水) 22:13:24.86 ID:F89FAkjE0(5/5) AAS
関数の中に下請け関数があって、
なんかごちゃごちゃしてきたからリファクタリングだと外に出したらスコープから外れたので、
じゃあみんなグローバル化したれ、みたいにglobal付けて誤魔化す
706: (ガックシ 0696-hUUh) 2022/11/09(水) 22:23:48.43 ID:dM0Gb0+w6(2/2) AAS
せめてconst できればいいのに
707(1): (ワッチョイ 927e-THRA) 2022/11/09(水) 23:03:08.26 ID:a3eCQ+jX0(1) AAS
>>687
どうせ、いたずらにclassを多用したゴミトランプゲームを
見せたんだろ?いつまでも練習だからって言って、設計もしないで
ゴミコードを見せ続けるから嫌われかけてるんだよ。
708(1): (ワッチョイ 5ecf-o+MF) 2022/11/10(木) 00:21:13.04 ID:8bOle1Do0(1) AAS
クラス化するのは、言語のタイプやプロジェクトの規模ではなくて
データ同士の相関を元に、見通しをよくすることが目的だと思う
あるいは自分用ライブラリとしてカプセル化しておきたいとか
そういう話を置いて、やらない方がいいレベルの問題があるのかw
709(1): (ワントンキン MM62-AYzQ) 2022/11/10(木) 00:21:46.71 ID:a0I25TkAM(1) AAS
>>687
理由を示せないお作法は取るべきでない
710(1): (ワッチョイ b5da-D+ul) 2022/11/10(木) 00:24:11.32 ID:KkTOa1Su0(1) AAS
>>687
おまいは友人に言われた事を何でも信じるのか?
この洗剤飲めるの。by アム・○○ぃ
711(1): (ワッチョイ 9263-zlm6) 2022/11/10(木) 00:27:36.22 ID:OBeQnBIU0(1) AAS
匿名掲示板で聞いて得た答えを信じるというのもどうかと思う
712(1): 687 (ワッチョイ b11d-Cw2/) 2022/11/10(木) 00:32:26.74 ID:ofaAiG0L0(1/2) AAS
レスしてくれた皆さんありがとうございます
参考にさせて頂きたいと思います
>>689
CUIの簡単なカードゲームではどうでしょうか?
>>693
失礼しました
曰く「クラスを下手に使わない方がコードが無駄に複雑にならなくてよい」
からだそうです
>>694
まさにそんな感じです
>>698
ちょっと彼に悪いかなって…
省3
713(1): (ワッチョイ 6905-pSqO) 2022/11/10(木) 10:45:10.57 ID:S46ME7RY0(1) AAS
ねえ、openpyxlとかでオンライン上のExcelファイルを修正できないの?
714: (ワッチョイ b6e8-Dn6t) 2022/11/10(木) 10:49:29.30 ID:+lvrwnnZ0(1) AAS
どこかのクラウド(どこ?)に置いたファイルの意味なのか
Office365で作成したファイルなのか
715: (アウアウウー Sacd-nZLu) 2022/11/10(木) 11:02:13.25 ID:ci7p4+PJa(1/2) AAS
どっちにしても手元に持ってこないと厳しいんじゃないかねえ
716(2): (ブーイモ MMb2-bOnd) 2022/11/10(木) 11:46:55.13 ID:rDE3wZvsM(1/2) AAS
関数とクラス両方使えるのがpythonのメリットなのだから、常に適切な方を選べってことじゃないかと。
717: (ブーイモ MMb2-bOnd) 2022/11/10(木) 11:47:43.94 ID:rDE3wZvsM(2/2) AAS
>>695
好きな名前をつけていいのよ。meとか
718: (アウアウウー Sacd-nZLu) 2022/11/10(木) 13:09:31.60 ID:ci7p4+PJa(2/2) AAS
abcを使わないとできんことはあまりやりたくないねえ
719: (ワッチョイ 7247-GkOZ) 2022/11/10(木) 13:26:04.03 ID:tUNuHkwK0(1/4) AAS
abcは知ってても
720: (アウアウウー Sacd-obsI) 2022/11/10(木) 13:50:13.84 ID:99QPf7Vaa(1/2) AAS
>>716
> 関数とクラス両方使えるのがpythonのメリットなのだから、常に適切な方を選べってことじゃないかと。
なら初めからそう言えや
まあそう言われたら適切な方の決め方について小一時間は問い詰めたいけどなw
721(1): (ワッチョイ 09f0-Z1Pq) 2022/11/10(木) 15:41:21.49 ID:avJI0YX/0(1/2) AAS
>>713
teamsで出来るぞ
722(1): (アウアウウー Sacd-obsI) 2022/11/10(木) 16:33:33.24 ID:99QPf7Vaa(2/2) AAS
>>721
マジで?
やり方教えて
723: (ワッチョイ 09f0-Z1Pq) 2022/11/10(木) 16:41:09.55 ID:avJI0YX/0(2/2) AAS
>>722
teamsに申し込んでoffice365に申し込めばクラウド上でエクセルが使えます
724(2): (ブーイモ MMd5-OSgl) 2022/11/10(木) 17:38:31.76 ID:aw2UCTg8M(1) AAS
>>712
カードゲームならカードクラスは作ったほうがよさそう。
あとはカードゲームのルールによる。
725(1): (ワッチョイ 927e-THRA) 2022/11/10(木) 18:14:06.31 ID:y5PDmjdo0(1) AAS
>>724
687が戒めたいのがまさに724みたいな馬鹿野郎なんだろうな。
目的と手段が入れ替わってclass考えて作るのに必死になる馬鹿。
726(3): (ワッチョイ 655f-nsye) 2022/11/10(木) 18:34:12.90 ID:RApG3JqD0(1) AAS
カードクラス作ってもいいけど、同じカードが存在しない、記号4つと数字1〜13の組み合わせの
ものにクラスがいちいちいるかな。
カードクラスはカード1枚を表して、なにができればいいんだ?
記号クラスがあって、各記号クラスがあって、ナンバークラスがあって、
is_MarkMatchとかis_NumberMatchとかもってんの?
idとprintがあればいいのかな。まあいいけど、そんだけのために
classいちいち用意するのめんどくない?
複数枚のカードを扱うcardsクラスなのかな?機能はいろいろ持てそうだけど
ゲーム固有すぎてどうなのかな?
727(1): (テテンテンテン MM96-xvRb) 2022/11/10(木) 19:12:07.27 ID:/sng0JalM(1) AAS
可読性考えるとクラスのほうが良いわな
自分だけが使うなら好きに作ればいい
728: (ワッチョイ 7247-GkOZ) 2022/11/10(木) 19:17:47.15 ID:tUNuHkwK0(2/4) AAS
自分だけが使う場合でも後々困る
読みにくくていいのは再利用しないと判ってる場合
729: (ワッチョイ 1997-OSgl) 2022/11/10(木) 19:47:31.93 ID:eS5awfmL0(1) AAS
>>725
689だが、トランプはクラスを作った方が(少なくともnamedtuple,dataclass)便利だと思うぞ
>>726
記号クラス、番号クラスなんて作らない
記号はenum、番号はそのまま1~13でいい
が、どの記号が黒だ赤だ、どの番号が絵柄か(JQKA)
みたいなのはたとえインスタンスが一個でもメソッドになってた方が便利だと思うけどなあ。
カードは内部表現とUI上の表現が異なるのが自然だし、そういう意味でもクラスにしておくのは悪くないと思うが
クラスにしすぎてもしょうがないというのは、ゲームのルールをクラスにして共通のインタフェース持たせて、バリエーションを切り替えられるようにしても大抵は仕方ないみたいなことだよ
もちろん、どんなゲームシステムを作るかによるし、ルールを共通インタフェースで入れ替えられるようにするメリットがある場合もあるけど
730: (アウアウウー Sacd-nZLu) 2022/11/10(木) 20:15:59.37 ID:1wmpgP/ea(1) AAS
>>726
ちょっと発想が変だよ
731: (ブーイモ MMad-bOnd) 2022/11/10(木) 20:18:11.54 ID:TQxJo3Q4M(1) AAS
全てユースケース次第じゃね
13×4のブール配列で持っていたほうが都合がよい場合もあるだろうし
732: (ワッチョイ 7247-GkOZ) 2022/11/10(木) 21:05:35.45 ID:tUNuHkwK0(3/4) AAS
とりあえず作って、必要に応じてリファクタリングしていけばいい
733: (ワッチョイ b12c-rDMU) 2022/11/10(木) 22:35:47.17 ID:SvDTIviz0(1) AAS
カード型のインスタンスを生成するデッキクラスを作りたいやん
deck.suffle()
hands = deck.draw(5)
みたいなさあ
あとは各ゲームで処理つくろ
734: (ワッチョイ 7247-GkOZ) 2022/11/10(木) 22:41:30.18 ID:tUNuHkwK0(4/4) AAS
カードのリストでよくね
735(1): 687 (ワッチョイ b11d-rPWN) 2022/11/10(木) 23:28:06.08 ID:ofaAiG0L0(2/2) AAS
多くのレスを頂き、ありがたく思います
ちょっと自己顕示欲が強い気もしますが、俺のGitHubを公開させて頂くので、
よろしければご覧下さい
外部リンク:github.com
のblackjack_3.pyがそれです
これでもクラス使わないで書けるのかな…
736(1): (ワッチョイ d201-+3fi) 2022/11/11(金) 00:15:20.89 ID:ajyQllPs0(1) AAS
力作だね
友人のアドバイスは痛いほどよく分かる
クラス云々よりも「ここからメインの処理」以降の各処理を関数にまとめるほうがずっと大事だよ
737(1): (ワッチョイ 7247-GkOZ) 2022/11/11(金) 00:21:32.63 ID:gNt5qX/T0(1/4) AAS
1関数がでけえ
ということを言いたかったんだろう
738(1): (ワッチョイ 09f0-Z1Pq) 2022/11/11(金) 00:23:24.86 ID:Zi2NVkwv0(1) AAS
マサくん
739(1): (ワッチョイ 5e10-420S) 2022/11/11(金) 00:52:49.95 ID:5ErmYwLs0(1) AAS
何のためにでっかい関数の中にクラス作るのか分からん
この設計センスなら友人のアドバイスは正しいな
740(1): (アウアウウー Sacd-nZLu) 2022/11/11(金) 00:55:17.73 ID:n0j9oGtca(1/2) AAS
blackjackで囲むのって意味あんのかね
741: 687 (ワッチョイ b11d-rPWN) 2022/11/11(金) 01:14:49.41 ID:9Wk/PRlY0(1/2) AAS
レスありがとうございます
>>708
クラス使った方が見通し良くなりますよね?
スッキリJavaにもそう書いてありました(Pythonの本ではないですが)
>>709
複雑にならない方がいいからだそうです
>>710
ええ、ですので皆さんの意見をお聞きしたんです
>>711
うーん、明らかにプロと思われる方の書き込みもありますし、
信じられるレスはあると思います
省3
742: (アウアウウー Sacd-nZLu) 2022/11/11(金) 01:21:10.00 ID:n0j9oGtca(2/2) AAS
クソクラスをクソと認識できるためにもそれなりの能力が要るからね
743(1): 687 (ワッチョイ b11d-rPWN) 2022/11/11(金) 01:28:18.01 ID:9Wk/PRlY0(2/2) AAS
>>724
そうですよね
カードのクラス作りました
>>726
複数枚のカードを持つCardクラスです
ブラックジャックなので、A・J・Q・Kの値は別に決める必要があります
>>727
可読性は重視したいです
>>736
そう言って頂けると大変ありがたいです
やっぱりそこは1つの関数にまとめた方がいいんですね
>>737-740
それも友人に、グローバル変数は少なければ少ないほどいい、と言われたのを
受けてのことです
744: (ワッチョイ 515f-r/4M) 2022/11/11(金) 01:39:45.03 ID:tK9Svk7P0(1/2) AAS
>>735
ざっと見た感じ、そりゃ色々言われるわ
クラス云々言ってるのに、blackjackっていうデカい関数の中にクラス切ってる時点で吹いたわ
あとクラスの役割分担というか、所属してる関数もおかしく感じるわ
プレイヤークラスっていう名前なのに、にルール関係のスコア計算、バースト判定とかが入ってるし
それこそblackjackのルールを管理をするクラスを作る方が自然だべ
あともうし自分で書くとしたら、ルールクラスにis_winっていう関数作って、そこで勝利判定してtrue/falseで返すわ
最後に全パターンで人間/CPUに対して勝利判定かけてるけど、参加プレイヤー/CPUが増えた時の勝利判定の実装とか
これベースだと面倒だろうなって思った
745: (ワッチョイ 515f-r/4M) 2022/11/11(金) 01:43:33.89 ID:tK9Svk7P0(2/2) AAS
>>743
>グローバル変数は少なければ少ないほどいい
これはまず変数のスコープは狭い方が良い、っていう話だぞ
(グローバル変数だとそれこそスコープが広くてどこで書き変わるのかが不明瞭になるから、なるべく使うなって言われてる)
バカデカい関数を作るって何の解決にもなってねえwwwwwww
746(1): (ワントンキン MM62-76so) 2022/11/11(金) 05:10:58.43 ID:dIH3TsNBM(1/3) AAS
使い回さないのに関数化やクラス化する意味ってあるんだろうか
747: (ワッチョイ 6914-hUUh) 2022/11/11(金) 06:45:32.82 ID:fLgBQpEC0(1) AAS
is_<動詞> ってたまに見るけどどこかで流行ってるの?
748: (テテンテンテン MM96-xcLn) 2022/11/11(金) 07:35:28.77 ID:BuWtLPbxM(1/2) AAS
>>746
この業界には、「一処理は100行に収めるべし」という格言があってな
つまり100行以上の処理があったら、100行以内にぶった切って関数にして順次呼ぶべしってことなんだよ
理由は知らん
749: (アウアウウー Sacd-nZLu) 2022/11/11(金) 08:51:38.78 ID:QYmFVFm/a(1) AAS
まあ分割っていうか処理に名前つけろやって感じだな
抽象的に書こう
750: (ワッチョイ 7247-GkOZ) 2022/11/11(金) 09:56:03.89 ID:gNt5qX/T0(2/4) AAS
でかい関数はあれもやってこれもやってになってるから、
それを機能毎に分割すればいいだけ
1箇所からしか呼ばれない関数がいくつもできるけど、それは問題ない
うまく作ってあれば、関数の戻り値を次の関数に渡すだけ、みたいなシンプルな構造に自然となる
それぞれの機能が変数をいろいろ共有していて切り分けられなかったら、元々の書き方が悪い
751: (ワッチョイ 927e-THRA) 2022/11/11(金) 10:26:37.58 ID:XH1qJoq+0(1/2) AAS
pythonではクラスをあまり作らないほうがいい、じゃなくて
お前にクラスは百年早い、って言いたかったんだろその友人は。
碌に関数も作れないのだからクラスなんて無用の長物。
752: (ワッチョイ 9263-zlm6) 2022/11/11(金) 10:31:34.23 ID:PAETAgDl0(1/2) AAS
昔、関数ごとに仕様書作成が必要な現場があって、それを嫌って
ほとんどの関数が200行を超えるサイズで書かれる様になった
753: (ワッチョイ 7247-GkOZ) 2022/11/11(金) 11:00:27.63 ID:gNt5qX/T0(3/4) AAS
テストができんやろ
754: (ワントンキン MM62-76so) 2022/11/11(金) 11:32:04.24 ID:dIH3TsNBM(2/3) AAS
文書をアウトライン化するような感じで使うのね
メンテのときに不要な部分を読み飛ばせるのがメリットか
755: (ワッチョイ 36a6-BGGY) 2022/11/11(金) 11:49:07.64 ID:VSBKZoKf0(1) AAS
何か楽をするためのプログラムを作るのはいけるけど、
サイトの仕様変更で動かなくなったときの修正が苦痛だな、、
そのまま放置になりがち、、
756(3): (ワッチョイ 7247-GkOZ) 2022/11/11(金) 11:59:14.38 ID:gNt5qX/T0(4/4) AAS
スクレイピングはそのうち廃れる気がする
元データがあって人間用に加工して表示したものをまた元データに戻さなくても、
最初から元データで公開した方がお互い楽なことに気づき始めた
757: (ワッチョイ 5ecf-o+MF) 2022/11/11(金) 12:00:41.38 ID:L/uUC/Rw0(1) AAS
C++でキー処理が数百行で、しかもファンクションキー毎に少しづつ違う
という構成のものを改修させれて辟易したことある
もしや、行数で成果が評価される現場だったのか
758: (ワッチョイ 927e-THRA) 2022/11/11(金) 13:05:05.34 ID:XH1qJoq+0(2/2) AAS
>>756
人間向けのHTMLを解析すれば無料なのにAPI経由は有料ってのも多いしな。
759(2): (オッペケ Sr79-+MYa) 2022/11/11(金) 13:20:52.45 ID:wT5HNNmtr(1) AAS
Python勉強してるけどどうやって初心者の粋を超えたらいいのかが分からない
何か作りたいけどその何かが思い浮かばないし
自動で巡回してエロビDLするとか電子書籍自動でスクショとかできるんだっけ?
760: (テテンテンテン MM96-xvRb) 2022/11/11(金) 13:23:31.34 ID:RyfBFStrM(1) AAS
やってから聞けばいいのに
761: (ワッチョイ 5e42-E6qO) 2022/11/11(金) 14:22:12.06 ID:Pyb1B8zp0(1) AAS
>>759
早速思い浮かんでるじゃん
誰かができないと言うからやらないというなら何の勉強にもならない
明確な目的が無く勉強自体が目的なら機能しないゴミしか作れなくても意味があるし思い浮かんだもの全部作ればいい
762: (ワッチョイ 1933-pSqO) 2022/11/11(金) 14:23:36.91 ID:JQ5LhQOs0(1/3) AAS
>>756
もしかして、APIが存在しない世界から来た方ですか?
763: (ワッチョイ 1933-pSqO) 2022/11/11(金) 14:29:46.62 ID:JQ5LhQOs0(2/3) AAS
別に既にあるものでも構わないから、何か作りたいというモチベーションがある内に色んなものを作った方がいい
独学は特に大事
764: (ワッチョイ 1933-pSqO) 2022/11/11(金) 14:34:12.48 ID:JQ5LhQOs0(3/3) AAS
途中で奥ちゃった
そしたら、次に何か新しいもの作りたくなった時に何が足りないか自分で調べられるぐらいにはなってると思う
765: (ワッチョイ 5e89-AYzQ) 2022/11/11(金) 15:20:48.12 ID:KvbVlUc20(1) AAS
奥り人なんだな
766(1): (ワッチョイ 1202-o+MF) 2022/11/11(金) 19:48:45.92 ID:acI+Bjnd0(1) AAS
クラスを設計するのはものすごく難しい
作り始めないとわからないことも多いし
途中で仕様が変わったりしたら
簡単に破綻する
大きなプロジェクトでは
途中でクラス構成を変えることは
困難なので
しばしば大変なことになる
767: (テテンテンテン MM96-xcLn) 2022/11/11(金) 21:01:39.50 ID:BuWtLPbxM(2/2) AAS
>>759
この前も同じこと言ってる人がいたよ
作りたいものがないのでなんかアイディアないですかって
まず、何のためにPythonを勉強しているのか聞きたい
普通は作りたいものがあったり、仕事だから、課題だからという
動機があるはずなんだ
動機もなく身に着けられるものじゃないよ。プログラミングは一応専門技能だから
768: (テテンテンテン MM96-xvRb) 2022/11/11(金) 21:43:58.80 ID:zIrG+C10M(1) AAS
自分探しして働かない奴と同じだよな
769: (ワッチョイ 9e6e-PWVJ) 2022/11/11(金) 21:51:56.55 ID:7hjsWVqY0(1) AAS
>>766
最初から完璧な要件・設計で開発なんて不可能だから
途中で構成変わる前提で組み立てるんだよ
クラスに限った話じゃないけど
770: (ワントンキン MM62-76so) 2022/11/11(金) 22:08:17.04 ID:dIH3TsNBM(3/3) AAS
インスピレーションを得るなら多くの作品に触れることでしょ
771: (ワッチョイ 9263-zlm6) 2022/11/11(金) 22:16:07.93 ID:PAETAgDl0(2/2) AAS
プログラムやりたいと思った動機ってそれぞれあるだろう
772: (テテンテンテン MM96-xvRb) 2022/11/11(金) 22:26:55.54 ID:6yLWq/6IM(1) AAS
ズボラほど上達が早いように思う
やりたくないことは全部コンピュータにやらせたい
773: (アウアウウー Sacd-nZLu) 2022/11/11(金) 23:18:07.02 ID:ywa4HP4la(1/2) AAS
現実は必死に努力してQiitaにちょっとやってみたーみたいなこと書いてるやつばっかりだけどな
774: (アウアウウー Sacd-nZLu) 2022/11/11(金) 23:19:39.80 ID:ywa4HP4la(2/2) AAS
部品の置き換えが利くってのは完璧なプログラムとほとんど同義だね
具体的にねっちょりと書くしか無いこともあるけど
775: (ワッチョイ 2389-UXd1) 2022/11/12(土) 11:00:15.35 ID:jZf8/3In0(1/2) AAS
質問です。
これをヘッドレスモードで動かしたいのですがどうするといいでしょうか?
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
browesr = webdriver.Chrome(ChromeDriverManager().install())
776: (ワッチョイ 2389-UXd1) 2022/11/12(土) 11:41:37.67 ID:jZf8/3In0(2/2) AAS
すいません。
解決しました。
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument('--headless')
browesr = webdriver.Chrome(ChromeDriverManager().install(), options=options)
browesr.quit()
777: (ワッチョイ 6347-gR3A) 2022/11/12(土) 13:03:04.39 ID:FJxDQgNh0(1) AAS
ちゃんと終わってる筈なのにタスクマネージャに残るんだよな
778(1): (ワッチョイ a300-9aJV) 2022/11/12(土) 14:06:44.73 ID:QoJFyqg+0(1/4) AAS
async関数の終了を2箇所で待つ方法は無いですか?
普通にawaitを2回使うと既にawaitedした処理だぜってエラーが出ます。
779: (ワッチョイ 1563-rv4X) 2022/11/12(土) 14:23:25.37 ID:ToW7pe8/0(1) AAS
答えは持ち合わせてないけど同じことを考えたことあるな
780(1): (ワッチョイ 6347-gR3A) 2022/11/12(土) 14:24:45.91 ID:T1+EK47n0(1) AAS
エラーなんか無視する
781: (ワッチョイ a300-9aJV) 2022/11/12(土) 15:22:28.94 ID:QoJFyqg+0(2/4) AAS
>>780
エラー握り潰しても、肝心な処理待ちが出来ないので駄目です。
782(1): (ワッチョイ 1b3b-spp/) 2022/11/12(土) 15:46:37.70 ID:AXYSbt7W0(1) AAS
メモ化する関数でラップ
頻発するならデコレータ書く
783: (ワッチョイ c597-AMkR) 2022/11/12(土) 15:58:01.40 ID:pkT2sKDg0(1) AAS
>>756
廃れないよ。Webって広告で成り立っている基本人間向けの情報発信ツールなんだから、人間向けのデータ(文章とかね)のスクレイピングは依然として残る。
APIは有料というのは広告収入につながらないから割と当たり前の話で。
利益を目的としないデータ公開はオープンデータ化していくだろうけれど、そういうのって政府や自治体のデータ公開、大学などぐらいしか基本的にはないだろう。
784: (ワッチョイ a300-9aJV) 2022/11/12(土) 15:59:27.93 ID:QoJFyqg+0(3/4) AAS
>>782
メモ化だと結果は再利用できますが、同時に待つことができないように思います。
785(1): (ワッチョイ a301-xL83) 2022/11/12(土) 16:11:11.71 ID:2L2Z04CZ0(1) AAS
>>778
task = asyncio.create_task(async_fn())
result = await task
result = await task
786: (ワッチョイ a300-9aJV) 2022/11/12(土) 17:58:24.29 ID:QoJFyqg+0(4/4) AAS
>>785
うまく行きました! ありがとうございます!
TaskというのがJavaScriptのPromiseみたいな事してくれるんですね!
787(1): (ワッチョイ cd02-EHNx) 2022/11/13(日) 15:06:45.34 ID:mAjRS9pi0(1) AAS
なんでOpenCVはちょっとしたことでぶっ壊れるんですか?
788(2): 2022/11/13(日) 19:56:00.79 ID:S7gZHHW/(1/3) AAS
_max=7
_min=3
a=2
if a>_max:
a=_max
elif a<_min:
a=_min
print(a)
これってもっとスマートに書けませんでしたっけ
789: 2022/11/13(日) 20:10:07.19 ID:S7gZHHW/(2/3) AAS
ちなみに0を含む自然数で
range(_min,_max,1)
です
これの範囲外は判定できるのですが
_minより小さく外したのか、_maxより大きく外したのか
って一行で短く書けなかったかな、と。
記憶違いかもしれません、無かったような気がしてきました
790(3): (ワッチョイ 4b10-TWxH) 2022/11/13(日) 20:12:10.16 ID:cgKyROyF0(1) AAS
a=max(min(a,_max),_min)
791: 2022/11/13(日) 20:16:44.58 ID:S7gZHHW/(3/3) AAS
>>790
できました!!
そうですこれです!
_max=7
_min=3
for i in range(10):
print(i,max(min(i,_max),_min))
ありがとうございます!!
792: (ワッチョイ 4b89-SmiF) 2022/11/13(日) 20:31:52.48 ID:J0JT7kUN0(1) AAS
>>787
それ依存関係が壊れてるからじゃね?
上下前次1-新書関写板覧索設栞歴
あと 210 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.033s