Pythonのお勉強 Part74

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 0b4a-lz98)
垢版 |
2024/09/21(土) 10:14:02.15ID:ZHy4g+PL0
!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
↑スレ立てる毎に減るので、減ってたら3つに補充すること。

※前スレ
Pythonのお勉強 Part73
https://mevius.5ch.net/test/read.cgi/tech/1717631290/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2024/09/21(土) 10:14:21.46ID:ZHy4g+PL0
・当スレにRubyのソースコード類を書くことを禁ず
・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
・「Ruby では」「Rubyでは」「Rails」正規表現→「^クソチョンw$」をNGワード登録推奨
・エラーを解決したいときは、かならず
エラー文(勝手に省略orスクショうp等の横着禁止)と
おま環(Pythonのバージョン番号+OS名とバージョン+IDE名)を書け。
2024/09/21(土) 10:14:40.35ID:ZHy4g+PL0
★Pythonのソースコードを5ちゃんに直貼はインデントが崩壊するので、
↓等のコードうp用サイトに貼ってきてくだしあ。(スクリーンショットをうpる「横着」禁止)
ttps://techiedelight.com/compiler/  Run Code機能あり。
ttp://ideone.com/      デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Pythonオフィシャルサイト http://www.python.org/
◇Pythonドキュメント https://docs.python.org/ja/3/
◇まとめwiki ttp://python.rdy.jp/
2024/09/21(土) 10:15:46.91ID:ZHy4g+PL0
●関連スレ● 自称初心者は↓へ
【まず1嫁】くだすれPython(超初心者用) その60
https://mevius.5ch.net/test/read.cgi/tech/1725188284/

次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなった)
2024/09/21(土) 10:16:58.18ID:ZHy4g+PL0
1がNGなるので分けたよ
6デフォルトの名無しさん (ワッチョイ 6308-4vSm)
垢版 |
2024/09/22(日) 19:10:31.46ID:OW9nCJH10
PyCon運営がPFN知らないは草
2024/09/22(日) 20:35:24.55ID:GWD12XrO0
Pythonでデータベース扱うなら、SQLite3が楽そうなんだけど
参考書とか探しても意外とないのね
SQLite学んでも、Pythonからの操作だと色々勝手が違うっぽいし、丁寧に解説してるところないか
8デフォルトの名無しさん (ワッチョイ 725c-jXms)
垢版 |
2024/09/22(日) 20:49:46.22ID:tU1JSeRu0
公式はよ?
9デフォルトの名無しさん (アウアウエー Saaa-rNKn)
垢版 |
2024/09/22(日) 22:22:02.95ID:e8rvHKs3a
>>7
簡単すぎるから不要なんよ
2024/09/24(火) 13:39:51.45ID:ktM6VWDF0
>>9
まあSQLを知ってたら、ただ接続するだけだもんな
2024/09/27(金) 14:57:42.16ID:lmMFo9JI0
ジェネレータのsend()ってどういう時に使うんだろう
2024/09/29(日) 09:08:42.58ID:dpItLQ7f0
Pythonの勉強始めたばかりで3.12だとjapaniz_matplotlibが使えないらしいどうするPython2年生使っている俺
2024/09/29(日) 10:53:32.97ID:IfOUm3IP0
>>12
選択肢
1. 3.11へダウングレード
2. pip install setuptools
3. japanize-matplotlibの代わりにmatplotlib_fontjaを使う
2024/09/29(日) 11:12:31.16ID:JxQ2ZLrB0
いつのまにか更新されなくなっていたのか…
matplotlib_fontjaありがとう
2024/09/29(日) 12:09:04.14ID:PTSFLh1b0
フォントを設定するだけのことでよくわからんライブラリに依存させるのがいいことなのかと思ってしまうな
2024/09/29(日) 17:28:15.27ID:gYCMQfko0
seleniumでサイト内の文字を検索して、
文字が存在する場合、存在しない場合に分けて動作させようと思っています
サイトに表示される文字列の一部が変化するため、完全一致では判定ができません

◯◯という文字を含む文字列がある場合
ない場合
というコードはどう書けばよいでしょうか?
よく分からないまま以下を書きましたがもちろん検索は失敗しました

try:
 driver.find_element(By.XPATH, "//*[text=あいうえお]")
 print("ありました")
except:
 print("ありませんでした")
2024/09/29(日) 19:12:48.23ID:3XpHNNRd0
text in driver.page_source
2024/09/29(日) 23:10:42.32ID:y18OCo2k0
>>16
XPathに慣れてるのでなければ初心者はCSS Selector一択
element.textがJavaScriptのinnerText相当

text = driver.find_element(By.CSS_SELECTOR, ‘body’).text
if ◯◯ in text:
 print("ありました")
else:
 print("ありませんでした)
2024/09/30(月) 03:16:20.95ID:LdpNEqiv0
今さらだが、
for elseってあるんだな…

よく使うの?
2024/09/30(月) 08:26:32.91ID:CmdH7+bD0
結構使う
else: # breakしなかった場合
と毎回コメント付けてるけど

便利なんだけど名前が悪い
2024/09/30(月) 11:05:06.08ID:rGpxgfzi0
>>19
使わない

https://itest.5ch.net/mevius/test/read.cgi/tech/1689241721/451
の451~482あたりを見るといい
2024/09/30(月) 12:04:50.33ID:CmdH7+bD0
elseを使わずに同じことをしようとすると、フラグを追加して、breakする時にフラグをセットすることになる
実際そういうコードもよくある
elseはbreakが複数箇所あった場合の面倒さ、フラグの名前を考える手間を省いてくれる

effective pythonではなんか変な例を持ち出して違う解決方法を示すだけで、
普通にフラグを使うコードもあることを無視している
2024/09/30(月) 12:23:30.25ID:7i6IqdaJr
>>18
ありがとうございます!無事できました!
2024/09/30(月) 12:54:38.78ID:6iqOAEp20
>>22
for-elseの代わりにフラグ使う必要とかないでしょ
フラグ前提で考える人がfor-elseを使いたがるということなのか
2024/09/30(月) 13:03:56.81ID:CmdH7+bD0
例えばurlのリストに対してアクセスして、条件に合えばクリックして終了
クリックしなかったらメッセージを表示

フラグもelseも使わない実装は?
2024/09/30(月) 13:14:13.83ID:9iSCXpur0
初心者が今からPythonでデスクトップアプリ作りたい場合、GUIライブラリは何がいい?
2024/09/30(月) 13:30:33.16ID:CmdH7+bD0
with (
  open('file1.txt', 'w') as f1,
  open('file2.txt', 'w') as f2,
):
  print('あああ', file=f1)
  print('あああ', file=f2)

こんなことできたんだな
メインの出力とログと2種類要る時とか、仕方ないからネストさせてた
2024/09/30(月) 15:56:07.94ID:LdpNEqiv0
>>21
だよな

PythonでAIを作ったりしたが、for elseなんて見たことないな…
29デフォルトの名無しさん (ワッチョイ b33c-Ue/R)
垢版 |
2024/09/30(月) 18:03:23.78ID:Ivu6aBvf0
>>26
pysimpleguiが楽に色々作れるかな
商業利用が有料化されてインストールに少し手間がかかるようになったけど、それを許容できるならかなりオススメ

バージョン5以降は年1回無料のライセンスを取得する必要がある
それかライセンス認証が要らない4.70.1を入れる
30 警備員[Lv.30]:0.02830640 (ワッチョイ c310-D2eP)
垢版 |
2024/09/30(月) 18:07:32.20ID:D4YV+jMH0
>>26
標準で使えるtkinterじゃあかんの?
31デフォルトの名無しさん (ワッチョイ b305-/XLF)
垢版 |
2024/09/30(月) 18:48:50.45ID:kqBmzRMr0
ログハンドリングはforの上でするべきなのだ
2024/09/30(月) 20:27:11.71ID:mKhWOETT0
>>26
ファイルD&Dできないのが欠点だけど
fletがなかなかいい
2024/09/30(月) 20:32:14.10ID:9iSCXpur0
>>29-32
見事に全員違くて草
ぐぐってみた感じでも標準のtkinterか初心者でも使いやすいpysimpleguiがいいっぽいね
この二つで調べながらやってみる!あんがと
34 警備員[Lv.31]:0.02840106 (ワッチョイ c310-D2eP)
垢版 |
2024/09/30(月) 20:37:19.54ID:D4YV+jMH0
なんでもかんでもとりあえずChatGPTに聞いてみるのが一番いいよ。
2024/09/30(月) 20:37:34.93ID:CmdH7+bD0
結局GUIがやりたいならwebアプリが正解
いろんな人がそれぞれにGUI用の部品一式を提供してるけど、
一番馴染みがあるのがブラウザ
頑張ればゲームだって作れる
36デフォルトの名無しさん (ワッチョイ 2303-D2eP)
垢版 |
2024/09/30(月) 20:59:26.32ID:XGioOSpm0
for else基本使うことないけど、今までに2,3回これでいいかみたいな事があった気がする
具体的にどういうケースだったか忘れた

>>35
WebUIはゴールデンハンマー云々って言ってる人がいた
一理あるって思ってPyside使い始めてるけど、プログラミングやり始めでこれ使えって言われたら挫折してたかもしれない
GUI難しい
2024/10/01(火) 10:29:59.58ID:7ulB1lco0
>>25
普通にearly returnやyieldするだけ
2024/10/01(火) 10:40:45.87ID:7ulB1lco0
for-elseは命名の問題以外に
条件に合致する対象を見つけてくるという探索処理と
探索結果に対する処理とが不必要に密結合するという問題がある

これがなければ命名は我慢して使ってもいいと思えなくもない
2024/10/01(火) 11:59:53.46ID:CfRMfbr90
>>25の例を対象のurlを返すように関数化して処理を分離しようにも、
もうアクセスしちゃってるから続きでクリックするしかないんだよな

early returnが使いたいから、というだけの理由で粒度やスコープを無視して関数化しちゃうのもちょっと
2024/10/01(火) 17:31:02.48ID:sFQyIfLy0
>>39
>もうアクセスしちゃってるから続きでクリックするしかないんだよな
別にそんなことないでしょ
下の各行がそれぞれ別の関数に分かれたところで
同じdriver同じelementに同じ順番でアクセスしてればいいだけ

driver.get(url)
element = driver.find_element(…)
element.click()

逆にそれができないようなら必要な抽象化もできないことになる
例えばログインしちゃってるから続きでクリックするしかないとなったら
login関数という形で抽象化できない
41デフォルトの名無しさん (ワッチョイ 8f9a-Kyt2)
垢版 |
2024/10/01(火) 21:20:21.01ID:w4EeoDoz0
ガチ初心者の俺は
まず最初に何作ったら
勉強になるの?
2024/10/01(火) 23:53:16.60ID:CfRMfbr90
>>40
見つかった場合はclickすべきelementを返す
みたいな関数になるんだろう

不自然すぎる
やってやれないことはないみたいな強弁としか

大半のケースではfor elseの使い所は無いけど、
たまにばっちりはまるケースがある
頻度は低いので、使う時はコメント必須
2024/10/02(水) 12:51:21.76ID:VhOKxDCS0
3.13来週か
2024/10/02(水) 13:17:47.79ID:Y5PwfM4H0
>>13
google claboで3が使えないから日本語は無しで進めたw
ありがとう
2024/10/02(水) 18:09:10.91ID:4jHsmsQb0
re.DOTALLはインラインフラグでは(?s)だけど、sは何の略だろう
2024/10/02(水) 18:20:50.77ID:g2e/T20O0
singleline
2024/10/02(水) 18:32:37.11ID:4jHsmsQb0
なるほど
MULTILINEと対応してないな
perlでも/sと/mは結局どっちがどっちだか覚えられなかった
必ず逆になるんだよな
2024/10/03(木) 16:51:19.28ID:LhmpW7CX0
いまさVScodeでPythonを学んでいるんだけど
Pythonにあったテーマカラーで何かオススメない?
いまOne Dark Proっていうテーマにしてるんだけど、文字列はオレンジの方がいいかなって思ってきた
2024/10/03(木) 17:04:58.12ID:SXCr8u+C0
変更したいと思ったことすらない
50デフォルトの名無しさん (オッペケ Sr47-/XLF)
垢版 |
2024/10/03(木) 18:36:30.78ID:SO+gfZGnr
デフォルトなら文字列オレンジじゃね?
51デフォルトの名無しさん (ワッチョイ 7f90-jPv4)
垢版 |
2024/10/04(金) 00:56:50.57ID:3S+V9Rl60
>>48
VSCodeは融通が利かない
それに色分けは自分のためにならない

色情報はコードと何の関係もないので、色分けに慣れていると色分けをしていないコードが読めなくなる
2024/10/04(金) 01:05:39.06ID:Ls4Fx/rv0
>>51
で、
何がいいって話?
2024/10/04(金) 02:07:40.34ID:fj4w0BBZ0
色分けされてないコードを読む
そんな状況ってあるっけ・・?
白黒プリントアウトされてるとか?
2024/10/04(金) 02:21:36.87ID:7yCtL1J1x
あえて色分けなしにする
って訓練にはならないと思うけどね

もし訓練になるって言うなら
(慣れていない)別の色分けコードに遭遇したときに対しても
同じように読めなくならないと説明がつかないけど
そんなことないし

なので色は何でも良いんじゃない
おれは基本デフォ
ネットで調べるときも容赦なくデフォで表示されるし

初学者にとって
プログラミング向きのタイピング速度(コーディング速度)
これが一番重要だと個人的に思う

命名やコーディングにかかるチリツモ時間が
初心者にとっては妨げになるので
予測変換などもガンガン使っていった方がいい
55デフォルトの名無しさん (ワッチョイ 2384-D2eP)
垢版 |
2024/10/04(金) 09:53:42.06ID:8exysTNA0
シンタックスハイライトの後は自動インデント、自動補完の話が続くんだろ
chatgptにダーク系のおすすめ聞いてきたから好きなの鰓べ
Dracula, Monokai, Solarized Dark, One Dark Pro, Gruvbox Dark, Nord
2024/10/04(金) 12:29:15.26ID:f5VlUYAG0
>ハイパーモダンPython
ってそんなにすごい知識が身につくの?
57デフォルトの名無しさん (ワッチョイ 6f09-/XLF)
垢版 |
2024/10/04(金) 12:47:22.85ID:lUav+mwb0
>>51
寧ろvscodeは個別に配色の設定することも可能だから融通は利く
58デフォルトの名無しさん (アウアウエー Sadf-D2eP)
垢版 |
2024/10/04(金) 13:27:33.15ID:RixEjMnja
>>51
>色情報はコードと何の関係もないので、色分けに慣れていると色分けをしていないコードが読めなくなる

これめっちゃ判る
特に初心者ほどやめた方が良い
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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