[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 10/13 03:24 / Filesize : 252 KB / Number-of Response : 1018
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Pythonのお勉強 Part74



1 名前:デフォルトの名無しさん [2024/09/21(土) 10:14:02.15 ID:ZHy4g+PL0.net]
!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

7 名前:デフォルトの名無しさん [2024/09/22(日) 19:10:31.46 ID:OW9nCJH10.net]
PyCon運営がPFN知らないは草

8 名前:デフォルトの名無しさん (ワッチョイ d3ee-4vSm) mailto:sage [2024/09/22(日) 20:35:24.55 ID:GWD12XrO0.net]
Pythonでデータベース扱うなら、SQLite3が楽そうなんだけど
参考書とか探しても意外とないのね
SQLite学んでも、Pythonからの操作だと色々勝手が違うっぽいし、丁寧に解説してるところないか

9 名前:デフォルトの名無しさん (ワッチョイ 725c-jXms) [2024/09/22(日) 20:49:46.22 ID:tU1JSeRu0.net]
公式はよ?

10 名前:デフォルトの名無しさん [2024/09/22(日) 22:22:02.95 ID:e8rvHKs3a.net]
>>7
簡単すぎるから不要なんよ

11 名前:デフォルトの名無しさん mailto:sage [2024/09/24(火) 13:39:51.45 ID:ktM6VWDF0.net]
>>9
まあSQLを知ってたら、ただ接続するだけだもんな

12 名前:デフォルトの名無しさん mailto:sage [2024/09/27(金) 14:57:42.16 ID:lmMFo9JI0.net]
ジェネレータのsend()ってどういう時に使うんだろう

13 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 09:08:42.58 ID:dpItLQ7f0.net]
Pythonの勉強始めたばかりで3.12だとjapaniz_matplotlibが使えないらしいどうするPython2年生使っている俺

14 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 10:53:32.97 ID:IfOUm3IP0.net]
>>12
選択肢
1. 3.11へダウングレード
2. pip install setuptools
3. japanize-matplotlibの代わりにmatplotlib_fontjaを使う

15 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 11:12:31.16 ID:JxQ2ZLrB0.net]
いつのまにか更新されなくなっていたのか…
matplotlib_fontjaありがとう



16 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 12:09:04.14 ID:PTSFLh1b0.net]
フォントを設定するだけのことでよくわからんライブラリに依存させるのがいいことなのかと思ってしまうな

17 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 17:28:15.27 ID:gYCMQfko0.net]
seleniumでサイト内の文字を検索して、
文字が存在する場合、存在しない場合に分けて動作させようと思っています
サイトに表示される文字列の一部が変化するため、完全一致では判定ができません

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

try:
 driver.find_element(By.XPATH, "//*[text=あいうえお]")
 print("ありました")
except:
 print("ありませんでした")

18 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 19:12:48.23 ID:3XpHNNRd0.net]
text in driver.page_source

19 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 23:10:42.32 ID:y18OCo2k0.net]
>>16
XPathに慣れてるのでなければ初心者はCSS Selector一択
element.textがJavaScriptのinnerText相当

text = driver.find_element(By.CSS_SELECTOR, ‘body’).text
if ◯◯ in text:
 print("ありました")
else:
 print("ありませんでした)

20 名前:デフォルトの名無しさん mailto:sage [2024/09/30(月) 03:16:20.95 ID:LdpNEqiv0.net]
今さらだが、
for elseってあるんだな…

よく使うの?

21 名前:デフォルトの名無しさん mailto:sage [2024/09/30(月) 08:26:32.91 ID:CmdH7+bD0.net]
結構使う
else: # breakしなかった場合
と毎回コメント付けてるけど

便利なんだけど名前が悪い

22 名前:デフォルトの名無しさん mailto:sage [2024/09/30(月) 11:05:06.08 ID:rGpxgfzi0.net]
>>19
使わない

https://itest.5ch.net/mevius/test/read.cgi/tech/1689241721/451
の451~482あたりを見るといい

23 名前:デフォルトの名無しさん mailto:sage [2024/09/30(月) 12:04:50.33 ID:CmdH7+bD0.net]
elseを使わずに同じことをしようとすると、フラグを追加して、breakする時にフラグをセットすることになる
実際そういうコードもよくある
elseはbreakが複数箇所あった場合の面倒さ、フラグの名前を考える手間を省いてくれる

effective pythonではなんか変な例を持ち出して違う解決方法を示すだけで、
普通にフラグを使うコードもあることを無視している

24 名前:デフォルトの名無しさん (オッペケ Sr47-RzVJ) mailto:sage [2024/09/30(月) 12:23:30.25 ID:7i6IqdaJr.net]
>>18
ありがとうございます!無事できました!

25 名前:デフォルトの名無しさん mailto:sage [2024/09/30(月) 12:54:38.78 ID:6iqOAEp20.net]
>>22
for-elseの代わりにフラグ使う必要とかないでしょ
フラグ前提で考える人がfor-elseを使いたがるということなのか



26 名前:デフォルトの名無しさん mailto:sage [2024/09/30(月) 13:03:56.81 ID:CmdH7+bD0.net]
例えばurlのリストに対してアクセスして、条件に合えばクリックして終了
クリックしなかったらメッセージを表示

フラグもelseも使わない実装は?

27 名前:デフォルトの名無しさん mailto:sage [2024/09/30(月) 13:14:13.83 ID:9iSCXpur0.net]
初心者が今からPythonでデスクトップアプリ作りたい場合、GUIライブラリは何がいい?

28 名前:デフォルトの名無しさん mailto:sage [2024/09/30(月) 13:30:33.16 ID:CmdH7+bD0.net]
with (
  open('file1.txt', 'w') as f1,
  open('file2.txt', 'w') as f2,
):
  print('あああ', file=f1)
  print('あああ', file=f2)

こんなことできたんだな
メインの出力とログと2種類要る時とか、仕方ないからネストさせてた

29 名前:デフォルトの名無しさん mailto:sage [2024/09/30(月) 15:56:07.94 ID:LdpNEqiv0.net]
>>21
だよな

PythonでAIを作ったりしたが、for elseなんて見たことないな…

30 名前:デフォルトの名無しさん [2024/09/30(月) 18:03:23.78 ID:Ivu6aBvf0.net]
>>26
pysimpleguiが楽に色々作れるかな
商業利用が有料化されてインストールに少し手間がかかるようになったけど、それを許容できるならかなりオススメ

バージョン5以降は年1回無料のライセンスを取得する必要がある
それかライセンス認証が要らない4.70.1を入れる

31 名前: [2024/09/30(月) 18:07:32.20 ID:D4YV+jMH0.net]
>>26
標準で使えるtkinterじゃあかんの?

32 名前:デフォルトの名無しさん [2024/09/30(月) 18:48:50.45 ID:kqBmzRMr0.net]
ログハンドリングはforの上でするべきなのだ

33 名前:デフォルトの名無しさん (ワッチョイ b315-p+7u) mailto:sage [2024/09/30(月) 20:27:11.71 ID:mKhWOETT0.net]
>>26
ファイルD&Dできないのが欠点だけど
fletがなかなかいい

34 名前:デフォルトの名無しさん (ワッチョイ 73ee-eLKd) mailto:sage [2024/09/30(月) 20:32:14.10 ID:9iSCXpur0.net]
>>29-32
見事に全員違くて草
ぐぐってみた感じでも標準のtkinterか初心者でも使いやすいpysimpleguiがいいっぽいね
この二つで調べながらやってみる!あんがと

35 名前: 警備員[Lv.31]:0.02840106 (ワッチョイ c310-D2eP) [2024/09/30(月) 20:37:19.54 ID:D4YV+jMH0.net]
なんでもかんでもとりあえずChatGPTに聞いてみるのが一番いいよ。



36 名前:デフォルトの名無しさん (ワッチョイ 7354-KQ/N) mailto:sage [2024/09/30(月) 20:37:34.93 ID:CmdH7+bD0.net]
結局GUIがやりたいならwebアプリが正解
いろんな人がそれぞれにGUI用の部品一式を提供してるけど、
一番馴染みがあるのがブラウザ
頑張ればゲームだって作れる

37 名前:デフォルトの名無しさん [2024/09/30(月) 20:59:26.32 ID:XGioOSpm0.net]
for else基本使うことないけど、今までに2,3回これでいいかみたいな事があった気がする
具体的にどういうケースだったか忘れた

>>35
WebUIはゴールデンハンマー云々って言ってる人がいた
一理あるって思ってPyside使い始めてるけど、プログラミングやり始めでこれ使えって言われたら挫折してたかもしれない
GUI難しい

38 名前:デフォルトの名無しさん mailto:sage [2024/10/01(火) 10:29:59.58 ID:7ulB1lco0.net]
>>25
普通にearly returnやyieldするだけ

39 名前:デフォルトの名無しさん mailto:sage [2024/10/01(火) 10:40:45.87 ID:7ulB1lco0.net]
for-elseは命名の問題以外に
条件に合致する対象を見つけてくるという探索処理と
探索結果に対する処理とが不必要に密結合するという問題がある

これがなければ命名は我慢して使ってもいいと思えなくもない

40 名前:デフォルトの名無しさん mailto:sage [2024/10/01(火) 11:59:53.46 ID:CfRMfbr90.net]
>>25の例を対象のurlを返すように関数化して処理を分離しようにも、
もうアクセスしちゃってるから続きでクリックするしかないんだよな

early returnが使いたいから、というだけの理由で粒度やスコープを無視して関数化しちゃうのもちょっと

41 名前:デフォルトの名無しさん mailto:sage [2024/10/01(火) 17:31:02.48 ID:sFQyIfLy0.net]
>>39
>もうアクセスしちゃってるから続きでクリックするしかないんだよな
別にそんなことないでしょ
下の各行がそれぞれ別の関数に分かれたところで
同じdriver同じelementに同じ順番でアクセスしてればいいだけ

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

逆にそれができないようなら必要な抽象化もできないことになる
例えばログインしちゃってるから続きでクリックするしかないとなったら
login関数という形で抽象化できない

42 名前:デフォルトの名無しさん [2024/10/01(火) 21:20:21.01 ID:w4EeoDoz0.net]
ガチ初心者の俺は
まず最初に何作ったら
勉強になるの?

43 名前:デフォルトの名無しさん mailto:sage [2024/10/01(火) 23:53:16.60 ID:CfRMfbr90.net]
>>40
見つかった場合はclickすべきelementを返す
みたいな関数になるんだろう

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

大半のケースではfor elseの使い所は無いけど、
たまにばっちりはまるケースがある
頻度は低いので、使う時はコメント必須

44 名前:デフォルトの名無しさん (ワッチョイ 6fcd-fhRs) mailto:sage [2024/10/02(水) 12:51:21.76 ID:VhOKxDCS0.net]
3.13来週か

45 名前:デフォルトの名無しさん mailto:sage [2024/10/02(水) 13:17:47.79 ID:Y5PwfM4H0.net]
>>13
google claboで3が使えないから日本語は無しで進めたw
ありがとう



46 名前:デフォルトの名無しさん mailto:sage [2024/10/02(水) 18:09:10.91 ID:4jHsmsQb0.net]
re.DOTALLはインラインフラグでは(?s)だけど、sは何の略だろう

47 名前:デフォルトの名無しさん mailto:sage [2024/10/02(水) 18:20:50.77 ID:g2e/T20O0.net]
singleline

48 名前:デフォルトの名無しさん mailto:sage [2024/10/02(水) 18:32:37.11 ID:4jHsmsQb0.net]
なるほど
MULTILINEと対応してないな
perlでも/sと/mは結局どっちがどっちだか覚えられなかった
必ず逆になるんだよな

49 名前:デフォルトの名無しさん mailto:sage [2024/10/03(木) 16:51:19.28 ID:LhmpW7CX0.net]
いまさVScodeでPythonを学んでいるんだけど
Pythonにあったテーマカラーで何かオススメない?
いまOne Dark Proっていうテーマにしてるんだけど、文字列はオレンジの方がいいかなって思ってきた

50 名前:デフォルトの名無しさん mailto:sage [2024/10/03(木) 17:04:58.12 ID:SXCr8u+C0.net]
変更したいと思ったことすらない

51 名前:デフォルトの名無しさん [2024/10/03(木) 18:36:30.78 ID:SO+gfZGnr.net]
デフォルトなら文字列オレンジじゃね?

52 名前:デフォルトの名無しさん [2024/10/04(金) 00:56:50.57 ID:3S+V9Rl60.net]
>>48
VSCodeは融通が利かない
それに色分けは自分のためにならない

色情報はコードと何の関係もないので、色分けに慣れていると色分けをしていないコードが読めなくなる

53 名前:デフォルトの名無しさん mailto:sage [2024/10/04(金) 01:05:39.06 ID:Ls4Fx/rv0.net]
>>51
で、
何がいいって話?

54 名前:デフォルトの名無しさん mailto:sage [2024/10/04(金) 02:07:40.34 ID:fj4w0BBZ0.net]
色分けされてないコードを読む
そんな状況ってあるっけ・・?
白黒プリントアウトされてるとか?

55 名前:デフォルトの名無しさん mailto:sage [2024/10/04(金) 02:21:36.87 ID:7yCtL1J1x.net]
あえて色分けなしにする
って訓練にはならないと思うけどね

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

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

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

命名やコーディングにかかるチリツモ時間が
初心者にとっては妨げになるので
予測変換などもガンガン使っていった方がいい



56 名前:デフォルトの名無しさん [2024/10/04(金) 09:53:42.06 ID:8exysTNA0.net]
シンタックスハイライトの後は自動インデント、自動補完の話が続くんだろ
chatgptにダーク系のおすすめ聞いてきたから好きなの鰓べ
Dracula, Monokai, Solarized Dark, One Dark Pro, Gruvbox Dark, Nord

57 名前:デフォルトの名無しさん mailto:sage [2024/10/04(金) 12:29:15.26 ID:f5VlUYAG0.net]
>ハイパーモダンPython
ってそんなにすごい知識が身につくの?

58 名前:デフォルトの名無しさん [2024/10/04(金) 12:47:22.85 ID:lUav+mwb0.net]
>>51
寧ろvscodeは個別に配色の設定することも可能だから融通は利く

59 名前:デフォルトの名無しさん [2024/10/04(金) 13:27:33.15 ID:RixEjMnja.net]
>>51
>色情報はコードと何の関係もないので、色分けに慣れていると色分けをしていないコードが読めなくなる

これめっちゃ判る
特に初心者ほどやめた方が良い

60 名前:デフォルトの名無しさん mailto:sage [2024/10/04(金) 13:45:12.37 ID:2V3z57MG0.net]
色分けされてる方が読みやすい
という単純な事実なのでは

初心者でも慣れてても同じ
道具に頼ると素手でできなくなるからと道具使わない人みたいな感じ

61 名前:デフォルトの名無しさん mailto:sage [2024/10/04(金) 13:48:53.62 ID:RqFpLHKv0.net]
逆に初心者の方が誤りを判別する手助けにもなるので、
色分けされていたほうが便利だと思う

62 名前:デフォルトの名無しさん mailto:sage [2024/10/04(金) 14:16:07.08 ID:3xmlzivUa.net]
>色分けをしていないコード
ってどういうことなんだろ
わかる言ってるやついるけど
おれは全然わかんないわ笑
色無いなら自分で色分けすればよくね?

色アリ無しどちらではじめようが慣れたら結局
・色分け無しで慣れる→色分けアリでも読める
・色分けアリで慣れる→色分け無しでも読める
なんだから、最初から色分けアリの方が学習コスト低いよな

63 名前:デフォルトの名無しさん mailto:sage [2024/10/04(金) 14:22:18.26 ID:i5vhWVds0.net]
まぁ(初心者)色分けやめた方がいいって言ってるやつも
色分けした方が読みやすいって言ってんのが答えだわなw

64 名前:デフォルトの名無しさん mailto:sage [2024/10/04(金) 14:30:37.03 ID:vJhSgpGOa.net]
道具に頼って素手よりパフォーマンス上がればそりゃ道具使うわな
土方ですら水平器もインパクトドライバーも使ってるわ

65 名前:デフォルトの名無しさん mailto:sage [2024/10/04(金) 14:32:10.85 ID:IDs1O+210.net]
勉強にならんからIDE使うな的な



66 名前:デフォルトの名無しさん mailto:sage [2024/10/04(金) 14:49:16.95 ID:Af8duaqZ0.net]
コーディングから実行までちんたらする時間がマジで無駄
スペルミスに勘づくスキルは上昇しづらくなるだろうがエラーメッセージに頼ればいいしエラーメッセージと勝負して先回りする意味はない
まず善い手本参考に自分で書いたコードが成功か失敗か確かめる数こなした方が上達する
言語学習でも同じ
インプットアウトプットの回数多い方が文法も語彙力も上がる
文脈把握できればエラーに気づく能力も上がる
色分け無し縛り云々は逆張り愉快犯以外に利点はない

67 名前:デフォルトの名無しさん (ワッチョイ 6f09-/XLF) [2024/10/04(金) 15:58:46.91 ID:lUav+mwb0.net]
>>58
この論理ほど馬鹿なものもない
便利機能はどんどん使えばいい
災害を想定して普段から水電気ガスが満足に使えない生活をしているやつは殆どいないだろう

68 名前:デフォルトの名無しさん (JP 0H87-PHWo) mailto:sage [2024/10/04(金) 16:18:08.42 ID:lDeI5PGjH.net]
androidアプリ作ろうと思ってkivyで書いて
コンパイルをgoogle colaboratoryでbuildozerでやったら
上手くapk作成できてandroid端末でもインストール動作確認できたけど
コンパイルの時間めっちゃかかったなにこれ…たぶん20分くらい
こういうもんなの

69 名前:デフォルトの名無しさん mailto:sage [2024/10/04(金) 17:21:46.00 ID:2V3z57MG0.net]
if elif elif else
みたいにインデントを深くせずにtryを書けないかな

70 名前:デフォルトの名無しさん mailto:sage [2024/10/04(金) 18:37:26.59 ID:x2l03NKV0.net]
>>68
日本語でOK

71 名前:デフォルトの名無しさん (ワッチョイ 6f09-/XLF) [2024/10/04(金) 18:47:11.58 ID:lUav+mwb0.net]
execで無理やり書け

72 名前:デフォルトの名無しさん mailto:sage [2024/10/04(金) 19:21:49.26 ID:Z9HGqIB60.net]
色分けに慣れたらコード読めなくなるってマジ?
でもキータとか見ても色分けして表示されてるところが多いしなあ

とりあえずVScodeデフォルトでしばらく使ってみるわ!ありがと

73 名前:デフォルトの名無しさん [2024/10/04(金) 19:29:54.92 ID:lUav+mwb0.net]
エディタの便利機能使わないならメモ帳でやっとけって話になるわな

74 名前:デフォルトの名無しさん mailto:sage [2024/10/04(金) 19:31:01.13 ID:2V3z57MG0.net]
https://i.imgur.com/ZRZqENW.png
evalでできた

75 名前:デフォルトの名無しさん mailto:sage [2024/10/04(金) 19:35:22.61 ID:2V3z57MG0.net]
数値部分eval だけでいいな



76 名前:デフォルトの名無しさん mailto:sage [2024/10/04(金) 19:58:19.41 ID:upmSrzby0.net]
for convert in (int, float, complex):
でいい

77 名前:デフォルトの名無しさん mailto:sage [2024/10/04(金) 20:17:43.91 ID:oFau5fAJ0.net]
chromeでseleniumを動かしているのですが、実行した直後にコマンドプロンプトが落ちてしまうので、何のエラーなのかが一切分かりません
どうやったら落ちなくできますか?

78 名前:デフォルトの名無しさん mailto:sage [2024/10/04(金) 20:33:28.99 ID:JKo0fS4W0.net]
>>76
そういうときは出来る限り最小構成
↓で試して落ちるならseleniumのインストール時点で何かしら問題あるかも

import time
from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
#chrome_options.add_argument('--no-sandbox')
#chrome_options.add_argument('--disable-dev-shm-usage')
driver = webdriver.Chrome(options=chrome_options)
print("driver.get")
driver.get("https://www.google.co.jp")
print(driver.title)
time.sleep(1)
driver.quit()
print("正常終了。")

79 名前:デフォルトの名無しさん mailto:sage [2024/10/04(金) 22:19:24.82 ID:JAupTFkx0.net]
>>76
.pyファイルをダブルクリックするとかしてpy.exe(Python Launcher)経由でプログラムを実行してると推測する

VSCodeとか入れてるならVSCodeからプログラムを実行すれば出力も確認できる
入れてないならプログラムの最後にinput()と書いてプログラム終了前にユーザー入力を待つようにするか.pyファイルをダブルクリックするのではなくコマンドプロンプトを先に開いてそこからpython hello.pyの形でプログラムを実行すれば出力内容を確認できる

80 名前:デフォルトの名無しさん mailto:sage [2024/10/05(土) 16:10:10.09 ID:kis0iOlf0.net]
>>77
>>78
ありがとうございます!
これまではbatファイルにpyファイルのパスを書いて、batファイルをダブルクリックで実行していましたが、
教えていただいたとおりコマンドプロンプトを開いて手動で打ち込んで実行すれば落ちずエラーを確認できました

81 名前:デフォルトの名無しさん mailto:sage [2024/10/06(日) 16:50:59.12 ID:kvSgTVMcM.net]
質問です。ある書籍で
price = 100
print(price * 1.10)
print(int(price * 1.10))
の結果が
110.00000000000001 ←浮動小数点で表示
110 ←int関数を使って整数で表示
と書いてあるのですが、何故110.00000000000001になるのかが浮動小数点について調べましたが、私の知識では理解出来ません。
どなたか解説をお願いいたします。よろしくお願いします。

82 名前:デフォルトの名無しさん [2024/10/06(日) 17:09:34.73 ID:UFSeVUgGH.net]
浮動小数点と丸めの話は定番の話でググって出てくる説明で分からんかったらここでも多分無理だぞ

83 名前:デフォルトの名無しさん mailto:sage [2024/10/06(日) 19:11:14.13 ID:6RIEhc9V0.net]
print(100 * 1.08 == int(100 * 1.08)) # true
print(100 * 1.1 == int(100 * 1.1)) # false

1.08だったら正確に108.0だったのにな

84 名前:デフォルトの名無しさん mailto:sage [2024/10/06(日) 19:18:39.74 ID:6RIEhc9V0.net]
a = 100*1.08
b = int(a)
print(a is b) # False
print(a == b) # True
print(hash(a) == hash(b)) # True

d = {}
d[a] = 1
print(d[b]) # 1

1.1だとエラー

85 名前:デフォルトの名無しさん [2024/10/06(日) 21:53:44.52 ID:D+tHfaDh0.net]
結局二進数表記で無限桁になる場合は誤差が出るってことにつきる



86 名前:デフォルトの名無しさん mailto:sage [2024/10/06(日) 22:18:43.84 ID:6RIEhc9V0.net]
from fractions import Fraction
rate = Fraction(110, 100)
print(100*rate == int(100*rate)) # True

87 名前:デフォルトの名無しさん mailto:sage [2024/10/06(日) 23:29:37.04 ID:AAf4wbtz0.net]
ハイパーモダンpythonって何だそれ?って立ち読みしたらただのツールチェインの解説だった
原書見るとhypermodern python toolingだった
日本のオライリーは完全に終わった

88 名前:デフォルトの名無しさん [2024/10/07(月) 22:15:19.09 ID:QvvyKpnV0.net]
質問です。こちらの職業は勇者、戦士、空手家
勇者から柔道家までの5人の攻撃回数が異なります。
まず勇者は2回攻撃、戦士は3回攻撃、空手は3回攻撃
(勇者の1回分の攻撃は100〜200、20%の確率でクリティカルヒットの攻撃になることがある。
(戦士の攻撃は200〜300、20%の確率で攻撃がクリティカルヒット1回になることがある。
(空手家)空手家の攻撃は350〜500、ただし20%の確率で攻撃がクリティカルヒットとなるときがある。勇者は5%の確率でロトの剣が手に入る。
クリティカルヒットは攻撃力X2です。さてプログラムをやっていくか。

まずギルガメッシュっていう名前のenemy
ラスボスの名前はenemyとする。ボスのHPは5万。
ボスは基本的に何もしません、できません。これやるとさすがに面倒なのでw
基本的にボスは攻撃しません。(面倒だからw)
一方的になかまあつめてボコすw
さて、次の問題はキャラクターが何人いるか。
イフ文1でまず攻撃は勇者〜勇者=yu 戦士=sen 空手家=karate
*ロトの剣で攻撃したら攻撃力が1.5倍あがります。*
**癒しの穂。食べたら防御力と賢さがあがります**
ロトの剣の出現条件は3並びで一つ食べることができます。
例えば111攻撃とか222攻撃とか333攻撃とか〜999まで。
次の発言からコードを書いていく。

89 名前:デフォルトの名無しさん mailto:sage [2024/10/07(月) 22:52:41.61 ID:stL6GaPr0.net]
発達障害風の生成AI?

90 名前:デフォルトの名無しさん mailto:sage [2024/10/07(月) 22:54:11.40 ID:nsk0Xk2O0.net]
>>88
そんなものサンプルがないからこれは本物

91 名前:デフォルトの名無しさん [2024/10/08(火) 23:32:02.99 ID:2RqDvWQU0.net]
>>88さん
みんなで考えよう!
print("ゾーマが現れた")
zoma == HP10000
print("勇者が笛を吹いた")#笛を吹くと仲間が一定数増える。
print("笛のおかげで戦士が仲間になった")
print("zomaは何も攻撃してこない)#攻撃したらもっとプログラムの量が増えるから割愛w
yusya kougeki =40
print("40のダメージを与えた")
senshi = 100
if zomaの体力が0になった
print("zomaは死んだ"
elif:
yusya=yusyakougeki
だめだ
あたまがいたくなってきたw

92 名前:デフォルトの名無しさん [2024/10/08(火) 23:41:03.98 ID:2RqDvWQU0.net]
もっとシンプルにいこう!
if文でいいはずw
number = int(input())
print(number)

if number == 10:
print(str(number) + "のダメージは10に等しい")
elif number > 10:
print(str(number) + "のダメージは10より大きい")
else:
print(str(number) + "のダメージは10未満")

ここまでできたw

93 名前:デフォルトの名無しさん [2024/10/08(火) 23:58:45.01 ID:2RqDvWQU0.net]
yousya=you
senshi=sen
karateka=kara
あぶねー初期化忘れてたわw
you,sen,kara=0
これでよしw
次は割合に入るから気合いれなw
number = int(input())
print(number)
#その前にランダム要素を入れるの忘れてたw
import random
random.random()
random.randint(1回攻撃、二回攻撃)
if numberyou == 153:
print(str(number) + "は153に等しい")
elif number > 200:#勇者は二回攻撃なので、153と200の攻撃=攻撃となる。
print(str(number) + "senはyouより大きい")
else:
print(str(number) + "の攻撃力はsenとyou")
まだまだだなーw誰か一緒にとかないかい?w

94 名前:デフォルトの名無しさん [2024/10/09(水) 00:28:36.20 ID:4B3K5XUV0.net]
そっか、フローチャートにしたほうがみやすいかw
'''スタートです。ラスボスは1匹。ゾーマです。ゾーマの攻撃は3回連続です。
こっちのキャラクターは勇者、戦士、魔法使い、僧侶、賢者、遊び人、魔法剣士、武道家の8人
また敵のスピードは8人より遅いのでいつも最後にゾーマのターンになります。
呪文が一切効かない。そのため、勇者、戦士、魔法剣士、武道家の攻撃のみで倒さないといけません。あと変数は勇者はyou、戦士はsen,魔法剣士はmaho ,武道家はbu。僧侶、賢者、遊び人は体力が減ったら回復呪文を唱えます。''
勇者以外全員体力が999です。
勇者は体力が500です。
100 スタート  
200 変数を初期化する  
ゾーマが生きている場合
you,sen,bu,mahoが攻撃をする
それ以外は体力が減ったら回復につとめる
ゾーマのHPは5万。
youの攻撃は3回連続して足した値
senの攻撃も3回連続
mahoも3回連続
buも3回
設定で自由かできる。
a=ガンガンいこうぜ!
print("ガンガンいこうぜ!)
b=体力回復を最優先にしようぜ!
print("体力の回復を優先しよう!)
c=攻守のバランスがいい
print("攻守のバランスがいい)
続く。。。w

95 名前:デフォルトの名無しさん [2024/10/09(水) 02:09:25.11 ID:4B3K5XUV0.net]
これでいいやw面倒だしw

# RPGの攻撃状況を再現

# モンスターと戦っている。
# 1から10のサイコロをふって、
# 6未満の場合、サイコロの目だけダメージを与えたと表示。
# 6以上の場合、クリティカルヒットとして、100のダメージを与えたと表示。
# 0の場合、防御されたとして、0ダメージを表示。

import random
hit = random.randint(0,10)
if 1 <= hit < 6:
print("スライムに、" + str(hit) + "のダメージを与えた!")
elif hit >= 6:
print("クリティカルヒットダメージ100を与えた")
else:
print("ダメージは、" + str(hit) + "防御された")



96 名前:デフォルトの名無しさん mailto:sage [2024/10/09(水) 08:32:08.43 ID:URDCdGxSa.net]
スレチうんこはBAN汁

97 名前:デフォルトの名無しさん [2024/10/09(水) 09:42:13.95 ID:1k3A/F0A0.net]
福祉系か

98 名前:デフォルトの名無しさん [2024/10/09(水) 09:43:01.06 ID:1k3A/F0A0.net]
>>88
福祉案件

99 名前:デフォルトの名無しさん [2024/10/09(水) 10:51:29.69 ID:MfPA4Dhe0.net]
match文使え

100 名前:デフォルトの名無しさん mailto:sage [2024/10/09(水) 12:30:53.22 ID:L0RwG3mX0.net]
使ったことない

101 名前:デフォルトの名無しさん mailto:sage [2024/10/09(水) 15:51:29.02 ID:wjyYHYx1M.net]
html → javascript浅 → php → javascript深 → python

と来てついにc++に手出すことにしたわ
専業でもないしpythonだけで自分のやりたいことほぼなんでもできるし見向きすらしなかった

$ sudo apt install tree build-essential cmake pkg-config
これだけで開発環境整うとは知らなかった
pythonスクリプトと連携して簡単に開発できるか検討中

102 名前:デフォルトの名無しさん mailto:sage [2024/10/09(水) 15:56:04.77 ID:L0RwG3mX0.net]
自分が高速化しなければ
という余地が残ってればいいけど

電子工作とかと同じで、一通りできるようになったけど作るものが何もない状態になる

103 名前:デフォルトの名無しさん [2024/10/09(水) 17:59:18.01 ID:1k3A/F0A0.net]
>>100
llvm使ってgplから逃げろ

104 名前:デフォルトの名無しさん (ワッチョイ cafa-lt6P) mailto:sage [2024/10/11(金) 03:18:27.10 ID:bCU/2bPQ0.net]
https://imonar.com/PKQJotV.jpg

105 名前:デフォルトの名無しさん mailto:sage [2024/10/11(金) 16:07:56.09 ID:tTImpqsq0.net]
python+opencvすげえ!
たった10行くらいでwebカメラの動画表示された!ものの1,2分のコーディングじゃん
皆pythonに移行するわけだなこんな便利なライブラリあったら他のやってられねえわ



106 名前:デフォルトの名無しさん mailto:sage [2024/10/11(金) 19:42:25.28 ID:fZZZF+Af0.net]
大事なのは表示されてからだぞ
どういうアプリを提供するのか?
これだけライブラリが進化してるのにそれを使って大したアプリが出てないことを考えると
簡単かどうかは関係がない

107 名前:デフォルトの名無しさん mailto:sage [2024/10/11(金) 23:05:48.34 ID:V8K6PYDOd.net]
PythonはPoC止まり言語というイメージあるよね
「やってみた」ともいう

108 名前:デフォルトの名無しさん mailto:sage [2024/10/11(金) 23:05:48.34 ID:V8K6PYDOd.net]
PythonはPoC止まり言語というイメージあるよね
「やってみた」ともいう

109 名前:デフォルトの名無しさん mailto:sage [2024/10/12(土) 00:58:43.18 ID:3/0Ne1V+0.net]
1817を渡すと'00:30:17'に変換してくれる関数ってある?

110 名前:デフォルトの名無しさん mailto:sage [2024/10/12(土) 01:09:25.66 ID:3/0Ne1V+0.net]
import datetime
td = datetime.timedelta(seconds=1817)
print(td)

これで '0:30:17' が表示される
ただし、'00:30:17' ではない

print(f'{td:%H:%M:%S}')
みたいなことをしてもエラーになる
妙に融通が利かない

111 名前:デフォルトの名無しさん [2024/10/12(土) 07:14:47.22 ID:5rKKsk01d.net]
本物の馬鹿っているんだな

112 名前:デフォルトの名無しさん mailto:sage [2024/10/12(土) 08:38:00.65 ID:g42aTpjG0.net]
import datetime
dt = datetime.datetime(year=2001, month=1, day=1)
td = datetime.timedelta(seconds=1817)
print(f'{dt+td:%H:%M:%S}')

こうやると'00:30:17' を得ることができる
せめてyearとかが省略可能だったら

113 名前:デフォルトの名無しさん mailto:sage [2024/10/12(土) 11:17:40.09 ID:xwLOOV9/0.net]
pip install モジュール名==
でモジュールのバージョン一覧が出る機能っていつのまにか無くなってんだな
便利だったのになんでだろ

114 名前:デフォルトの名無しさん [2024/10/13(日) 10:02:03.52 ID:UZT3uuKDa.net]
>>104
入り口が広い(初心者向け)っていうのは重要だけど
込み入ったことしようとすると速度とか色々気になって来る
まあ気になったら乗り換えればいいんだけど

115 名前:デフォルトの名無しさん [2024/10/13(日) 10:03:05.15 ID:UZT3uuKDa.net]
>>105
そうほんとそれ
みんなサンプル動かして満足して終わり



116 名前:デフォルトの名無しさん mailto:sage [2024/10/13(日) 10:17:48.38 ID:UZT3uuKDa.net]
>>111
>>> import time
>>> print(time.strftime('%H:%M:%S', time.gmtime(1817)))
00:30:17

117 名前:デフォルトの名無しさん mailto:sage [2024/10/13(日) 10:26:22.93 ID:5hnynBwd0.net]
print(f'{time.gmtime(1817):%H:%M:%S}')
こうは書けないんだよな
書けても誰も困らないだろうに

118 名前:Aもう更新の止まった古いモジュール []
[ここ壊れてます]

119 名前:デフォルトの名無しさん [2024/10/13(日) 11:57:56.51 ID:HElLI/1G0.net]
pythonむずい

120 名前:デフォルトの名無しさん [2024/10/13(日) 12:19:27.14 ID:UZT3uuKDa.net]
>>116
これもだめっぽ?
import time
tt = time.gmtime(1817)
print(f'{tt:%H:%M:%S}')

121 名前:デフォルトの名無しさん mailto:sage [2024/10/13(日) 12:24:50.27 ID:5hnynBwd0.net]
試したら判るがな
TypeError: unsupported format string passed to time.struct_time.__format__

formatをサポートしていない
サポートしていないものを新たにサポートさせても、既存のコードには何の影響もない
だから、python 3.4で追加しましたとかなってても不思議ではないけど、
もうtimeモジュールは捨てられている

122 名前:デフォルトの名無しさん [2024/10/13(日) 14:44:15.99 ID:UZT3uuKDa.net]
自分で追加したらええんやで

123 名前:デフォルトの名無しさん mailto:sage [2024/10/13(日) 14:54:11.13 ID:5hnynBwd0.net]
電池が自作できます

124 名前:デフォルトの名無しさん mailto:sage [2024/10/13(日) 15:56:29.59 ID:Lfw+7lSHd.net]
勉強になったわthx
https://paiza.io/projects/fWmiW0ZJcfGIiFRKkL1YTw

125 名前:デフォルトの名無しさん mailto:sage [2024/10/13(日) 17:39:27.08 ID:5hnynBwd0.net]
import datetime
class My_timedelta(datetime.timedelta):
  def __init__(self, seconds):
    self.dt = datetime.datetime(year=2001, month=1, day=1) + datetime.timedelta(seconds=seconds)
  def __format__(self, format):
    return self.dt.strftime(format)

td = My_timedelta(seconds=1817)
print(f'{td:%H:%M:%S}')
print(f'{datetime.datetime.now()+td:%H:%M:%S}')

これは継承の練習問題でしょう
既存のtimedeltaに__format__を追加する



126 名前:デフォルトの名無しさん mailto:sage [2024/10/13(日) 20:18:44.93 ID:XBbSNdN/0.net]
timedeltaをdatetime用の書式で表現したら
間違いが起こりそうで怖いのは気のせいか

127 名前:デフォルトの名無しさん mailto:sage [2024/10/13(日) 21:05:07.54 ID:5hnynBwd0.net]
マイナスを渡すと23:29:43とかになる
多分欲しいのは、-00:30:17

128 名前:デフォルトの名無しさん [2024/10/13(日) 21:18:08.75 ID:TikvsAQNM.net]
>>125
時刻と時間は別物だし、文字列として持っていればいい話。

129 名前:デフォルトの名無しさん mailto:sage [2024/10/13(日) 21:20:20.02 ID:4MeCS0kR0.net]
td = datetime.timedelta(seconds=1809)
print(str(td).zfill(8))

これはだめ?

130 名前:デフォルトの名無しさん mailto:sage [2024/10/13(日) 22:02:19.97 ID:5hnynBwd0.net]
さすがに小手先すぎる
マイナスにも対応できない

そして秒は小数点以下1桁も表示することという仕様変更により、
3600で割ったりして全部自前で作ることになった

131 名前:デフォルトの名無しさん [2024/10/13(日) 23:12:53.64 ID:0McD6feo0.net]
マイナスの日時という発想がわからない

132 名前:デフォルトの名無しさん [2024/10/13(日) 23:36:18.34 ID:cfTcGRh7a.net]
仕様後出し過去悪い

133 名前:デフォルトの名無しさん mailto:sage [2024/ ]
[ここ壊れてます]

134 名前:10/14(月) 00:55:34.21 ID:hhbIrBZG0.net mailto: import datetime
s = -1816.123
g = (s>0)-1
td = str(datetime.timedelta(seconds=abs(s))).split(".")
print(f'{str(g)[0]}{td[0].zfill(7-g)}.{td[1][:1]}')#-00:30:16.1
[]
[ここ壊れてます]

135 名前:デフォルトの名無しさん mailto:sage [2024/10/14(月) 00:58:07.55 ID:63V1I12+0.net]
1日超えたら駄目だったわ >>131



136 名前:デフォルトの名無しさん mailto:sage [2024/10/14(月) 01:01:58.25 ID:Na+e0b340.net]
0で折り返すのは、abs()で処理して<0だったら'-'付ける、だろうなあ
流用できる処理が無い

137 名前:デフォルトの名無しさん [2024/10/14(月) 02:27:55.47 ID:iqlRL8W80.net]
秒数を時分に変えるのは60で割ればいい話だろうにw

138 名前:デフォルトの名無しさん [2024/10/14(月) 03:26:42.21 ID:iqlRL8W80.net]
>>131
0.123が何を指しているのかわかる方がおかしい

139 名前:デフォルトの名無しさん [2024/10/14(月) 03:29:11.20 ID:iqlRL8W80.net]
>>133
四則計算と文字列を任意の日時フォーマットにするだけだぜ?

日時データ型をいじるというのはコンピューターが最も苦手な計算。

140 名前:デフォルトの名無しさん mailto:sage [2024/10/14(月) 06:09:53.67 ID:cfRK145W0.net]
>日時データ型をいじるというのはコンピューターが最も苦手な計算。

馬鹿なのか

141 名前:デフォルトの名無しさん [2024/10/14(月) 06:26:06.92 ID:iqlRL8W80.net]
>>137
64ビットだぜ?

142 名前:デフォルトの名無しさん [2024/10/14(月) 06:28:17.12 ID:iqlRL8W80.net]
しかもまだ過渡期だから、実際は32ビットで計算している。

2036年問題だってすべてが対策済みというわけでもない。

143 名前:デフォルトの名無しさん [2024/10/14(月) 06:29:49.49 ID:iqlRL8W80.net]
60で割って1000で割るとか、64ビットだけではできない。

144 名前:デフォルトの名無しさん [2024/10/14(月) 08:54:29.92 ID:B2/CkVb50.net]
小数の誤差の話をしてる?
日時や時刻を扱う上で問題になるような誤差が出ることはなくない?
どんなに厳しい分野でも必要なのはナノ秒の数値までだろうし

145 名前:デフォルトの名無しさん [2024/10/14(月) 08:56:37.40 ID:9n6nFJIZa.net]
>>136
おまいが計算苦手なだけだろ



146 名前:デフォルトの名無しさん [2024/10/14(月) 10:43:52.07 ID:iqlRL8W80.net]
>>141
64ビットCPUは64ビットのレジスタと外部とのやりとりが64ビットだ。

彼は1/1000秒まで正確に求めたいらしいが、2進数は10進数の表現ができない。

例えば10進数の1000は2進数だと1024になってしまう。

コンピューターは10進数の計算が苦手、時分秒なんてコンピューターには概念すらない。

147 名前:デフォルトの名無しさん [2024/10/14(月) 10:44:50.51 ID:iqlRL8W80.net]
>>141
質問しているやつは秒を分にする方法を知らない。
60で割るということもわからない。

148 名前:デフォルトの名無しさん mailto:sage [2024/10/14(月) 11:01:11.87 ID:XiI9iPvI0.net]
そもそも質問ってなんなの
>>108 からの >>111、派生で>>116
後出しで
・マイナス
・小数点以下
にも対応

ようは、ほんとはdatetimeかtimeで
一発で書きたい
もしくは、
出来る限り自作関数など無しで書きたい
だと思うけど

149 名前:デフォルトの名無しさん [2024/10/14(月) 11:01:57.59 ID:iqlRL8W80.net]
初心者は数値は数値型、文字列は文字列型とか意味もわからずにデータ型を決めたがるよな。

hh:mm:ssは日時型という内部表現と画面に表示されている見た目を混同するあたりも意味がわからない。

150 名前:デフォルトの名無しさん [2024/10/14(月) 11:04:17.72 ID:iqlRL8W80.net]
>>145
秒数を60で割る、ミリ秒は1000で割るという秒と分の換算がわからないというPython以前の問題児

151 名前:デフォルトの名無しさん mailto:sage [2024/10/14(月) 11:52:49.48 ID:H9fWIyl80.net]
>>145
一発で書く方法はないので自作関数必須
いずれにしろ入力フォーマット、入力値の範囲、必要精度、出力フォーマットの仕様が必要

この程度は標準で用意しといてくれよという気持ちはよく分かる

152 名前:デフォルトの名無しさん [2024/10/14(月) 12:36:08.87 ID:iqlRL8W80.net]
>>148
それだとあなたが存在する必要がない

153 名前:デフォルトの名無しさん mailto:sage [2024/10/14(月) 12:38:01.47 ID:upEjQ6n10.net]
>>143
>彼は1/1000秒まで正確に求めたいらしい
どこを見てそんな解釈したんだ?

154 名前:デフォルトの名無しさん [2024/10/14(月) 12:44:19.92 ID:iqlRL8W80.net]
>>150
131 デフォルトの名無しさん (ワッチョイ eb61-lE/J) sage 2024/10/14(月) 00:55:34.21 ID:hhbIrBZG0
import datetime
s = -1816.123
g = (s>0)-1
td = str(datetime.timedelta(seconds=abs(s))).split(".")
print(f'{str(g)[0]}{td[0].zfill(7-g)}.{td[1][:1]}')#-00:30:16.1

155 名前:デフォルトの名無しさん [2024/10/14(月) 12:45:05.98 ID:iqlRL8W80.net]
1816.123秒という例を本人が書いている



156 名前:デフォルトの名無しさん mailto:sage [2024/10/14(月) 12:48:52.68 ID:o4N23i0F0.net]
60で割って云々はちょっとズレているというかアスペ感があるのでひとまずその問題は置いといて
ストップウォッチ風な表記をdatetimeかtimeで一発で出せたらいいのに、ってことなら
そもそもストップウォッチって
0’00’’00
だったような
なら0:00:00でよくて
別に2桁縛りの0埋めじゃなくてもよくね
ミリ秒部分は知らないけど

157 名前:デフォルトの名無しさん [2024/10/14(月) 12:52:58.55 ID:iqlRL8W80.net]
>>153
彼はフォーマットのことも言っているが、1816秒を分に変換する方法がわからない。

1分は60秒だ。1000ミリ秒は1秒。

158 名前:デフォルトの名無しさん mailto:sage [2024/10/14(月) 12:53:22.00 ID:NoA08L9i0.net]
0:00:00
10:00:00
これが揃ってないのがむずむずする
みたいな問題だとしたら
日付関数というよりprintなど出力フォーマット側の仕様にした方が個人的にはしっくりくる

159 名前:デフォルトの名無しさん mailto:sage [2024/10/14(月) 12:53:51.85 ID:upEjQ6n10.net]
>>151
-1816.123という秒の単位で期間を表現した数値を
HH:MM:SS.0やHH:MM:SS.000形式の文字列にフォーマットしたいというのと
1/1000秒まで正確に求めたいというのは全然別の話じゃん

しかもそれ本人じゃないだろ

160 名前:デフォルトの名無しさん [2024/10/14(月) 12:54:47.77 ID:iqlRL8W80.net]
本当に60秒が1分だと知らないのかもしれない。

datetimeライブラリなんか使う必要もない。

161 名前:デフォルトの名無しさん mailto:sage [2024/10/14(月) 12:55:18.84 ID:+rCJDD4J0.net]
>>154
おまえはズレてるのでちょっと会話できないわ すまんね
そもそも>>131は別人だしお前以外は流れでわかってると思うよ

162 名前:デフォルトの名無しさん [2024/10/14(月) 12:58:59.46 ID:iqlRL8W80.net]
>>158
本人の書き込み
109 デフォルトの名無しさん (ワッチョイ 4f54-O9y3) sage 2024/10/12(土) 01:09:25.66 ID:3/0Ne1V+0
import datetime
td = datetime.timedelta(seconds=1817)
print(td)

これで '0:30:17' が表示される
ただし、'00:30:17' ではない

print(f'{td:%H:%M:%S}')
みたいなことをしてもエラーになる
妙に融通が利かない

163 名前:デフォルトの名無しさん [2024/10/14(月) 13:00:47.49 ID:iqlRL8W80.net]
1817秒を30分17秒と単純に割り算をして、文字列をくっつければいい簡単な話だぜ。

164 名前:デフォルトの名無しさん [2024/10/14(月) 14:04:34.65 ID:2T1ySmhp0.net]
54に続いて78が爆誕か
>>143の3行目とかマジでどういう脳ミソしてんだろう

165 名前:デフォルトの名無しさん mailto:sage [2024/10/14(月) 14:11:38.27 ID:mb36WxU50.net]
>>155
printによる出力フォーマットは出力する値の型(ここではdatetime型やtimedelta型)に依存してるんだぞ



166 名前:デフォルトの名無しさん mailto:sage [2024/10/14(月) 14:11:47.79 ID:vJAIv8ZI0.net]
最初の質問って「ある」「ない」を聞いてるだけじゃね?
無ければ自分で作るかぁ、みたいな
作り方なんて分かってる上での質問でしょ

167 名前:デフォルトの名無しさん mailto:sage [2024/10/14(月) 14:28:50.30 ID:CJVgcXbL0.net]
>>162
その理論だとprintにオプションなくてもいいよね

168 名前:デフォルトの名無しさん mailto:sage [2024/10/14(月) 15:04:56.69 ID:Nrkl1oO4d.net]
判ってると思うけど
1000 で割るより 1000000 で割った方が良い

169 名前:デフォルトの名無しさん [2024/10/14(月) 15:56:41.32 ID:iqlRL8W80.net]
数値

時刻

文字列

という奇妙なデータ型変換

170 名前:デフォルトの名無しさん [2024/10/14(月) 16:00:42.53 ID:cfRK145W0.net]
>>166
馬鹿が発狂した

171 名前:デフォルトの名無しさん [2024/10/14(月) 16:05:57.37 ID:iqlRL8W80.net]
最終的な時刻フォーマットは時、分、秒がわかっていればいいだけなのにな。

1817秒÷60の結果で30分と17秒という分数と秒数が出せる。

172 名前:デフォルトの名無しさん mailto:sage [2024/10/14(月) 16:38:57.17 ID:u3iQG5/50.net]
def convert_1817(sec):
  if sec == 1817:
    return '00:30:17'
  else:
    raise ValueError('sec must be 1817')

print(convert_1817(1817))

173 名前:デフォルトの名無しさん mailto:sage [2024/10/14(月) 17:32:36.62 ID:dK7b/9hZ0.net]
20レスもしていて簡単なサンプルコードも書けないという事実

174 名前:デフォルトの名無しさん mailto:sage [2024/10/14(月) 17:41:03.15 ID:rj+zMLjj0.net]
むしろ誰がコードなんて欲してるの?

175 名前:デフォルトの名無しさん mailto:sage [2024/10/14(月) 18:10:36.90 ID:Q0jRvIa ]
[ここ壊れてます]



176 名前:r0.net mailto: 回答としては
質問の要求を満たす何らかの
・関数
・datetimeやtimeなどオプションやメソッド
の掲示、なければ無い
場合によってはノーコードにもならない

ただひとつ確実に言えることは
割る60だの算出方法にひたすら拘っているアスペっぽいやつが的外れだということ
[]
[ここ壊れてます]

177 名前:デフォルトの名無しさん mailto:sage [2024/10/14(月) 18:27:31.94 ID:/mng7eSx0.net]
アスペおじさんもだけど君も大概やで
>>131とか>>164とかギャグじゃなければヤバいぞ

178 名前:デフォルトの名無しさん [2024/10/14(月) 18:33:31.99 ID:iqlRL8W80.net]
>>170
数字とコロンを連結するというところがなぜかprint関数でやるというヘンテコ話になっているからネタかもしれない。

179 名前:デフォルトの名無しさん mailto:sage [2024/10/14(月) 19:40:06.63 ID:m36PLLju0.net]
経験上、文句を言うだけで理由を言語化できない人の方がヤバい人は多いですね

180 名前:デフォルトの名無しさん mailto:sage [2024/10/14(月) 19:42:21.98 ID:dmvKd1h40.net]
1f78-oCgEだけは段違いで会話が成立しないレベル
レス数から言ってもわざとやっているとは思えない

181 名前:デフォルトの名無しさん [2024/10/14(月) 19:44:03.40 ID:iqlRL8W80.net]
printさせるのはいかにも入門書という感じだけどさ、データ型の概念もなければ、データ型を変換するキャストも知らない。

ms = 1817
= f'{num:04}'
ji = = f'{num:(ms // 3600)02
fun = ms // 60
byo = ms % 60

() + (1817 / / 60) + ':' + (1817 % 60)

182 名前:デフォルトの名無しさん [2024/10/14(月) 19:44:17.15 ID:iqlRL8W80.net]
めんどくせぇな

183 名前:デフォルトの名無しさん [2024/10/14(月) 19:46:36.32 ID:iqlRL8W80.net]
教えてクレクレ

184 名前:デフォルトの名無しさん [2024/10/14(月) 19:49:17.59 ID:iqlRL8W80.net]
自分はわからないのでお金を出して他人にやってもらうというのが正解だ

段階を踏まずにいきなり最終形にしたがるのも初心者の特徴

185 名前:デフォルトの名無しさん [2024/10/14(月) 20:22:43.99 ID:cfRK145W0.net]
ID:iqlRL8W80
基地外確定



186 名前:デフォルトの名無しさん mailto:sage [2024/10/14(月) 21:40:22.67 ID:SB1Ci/250.net]
関数一つ設計することが出来ないおじさん二人の醜い争い

187 名前:デフォルトの名無しさん mailto:sage [2024/10/15(火) 10:06:05.50 ID:vVD3TI360.net]
今からPython始めても食ってけない?

gptのせいでコード自動生成されてしまうから

188 名前:デフォルトの名無しさん mailto:sage [2024/10/15(火) 12:07:07.85 ID:4n6/+UIx0.net]
>>183
その質問もまずはChatGPTに聞くとよい

189 名前:デフォルトの名無しさん mailto:sage [2024/10/15(火) 12:20:33.41 ID:vNiVptT20.net]
コードを改良するプログラムを生成するように依頼
そのプログラムで自分自身を改良し続けるようにして実行

190 名前:デフォルトの名無しさん mailto:sage [2024/10/15(火) 17:12:58.10 ID:ISNWUP6x0.net]
プログラマになれないのに諦めない心意気は買うが辛くなるだけだぞ

191 名前:デフォルトの名無しさん mailto:sage [2024/10/15(火) 17:22:58.02 ID:p9LvrA/f0.net]
Python系YouTuberになるための肩書としてプログラマなるならありかも知れん

192 名前:デフォルトの名無しさん [2024/10/15(火) 19:27:15.97 ID:obclbCzJ0.net]
今からPythonするならAIを設計する側に回るように頑張るのがいい
もしAIがより高性能なAIを設計できるようになったらそもそも社会が別物になるだろうし

193 名前:デフォルトの名無しさん mailto:sage [2024/10/16(水) 17:27:46.34 ID:98gvsp6K0.net]
matchってswitch?

なんで変な名前なの?

194 名前:デフォルトの名無しさん [2024/10/16(水) 17:35:39.03 ID:qvWniM9xd.net]
>>189
馬鹿にはそう見えるのか

195 名前:デフォルトの名無しさん mailto:sage [2024/10/16(水) 17:49:43.98 ID:uCgI/8kk0.net]
C言語の時点でswitchは特に便利でもなかった
そこだけインデントが変になるし、breakまみれになるし

それでも推奨されたのはコンパイルで高速化できるから
分岐のかたまりではなくテーブルでジャンプするように変換してくれる

だから必然的にpythonにswitchなんか不要



196 名前:デフォルトの名無しさん mailto:sage [2024/10/16(水) 18:18:16.18 ID:98gvsp6K0.net]
>>191

高速化は事実だが、
テーブルうんぬんは間違い。

197 名前:デフォルトの名無しさん (ワッチョイ 9f5a-G8R7) mailto:sage [2024/10/16(水) 20:02:33.53 ID:P8hUv73s0.net]
高速化として意味があったのは昔の話だけどね

198 名前:デフォルトの名無しさん mailto:sage [2024/10/17(木) 18:14:57.71 ID:lX/5R9Jx0.net]
profile指定する以外の方法でseleniumでメルカリにログインする方法が判らん

199 名前:デフォルトの名無しさん mailto:sage [2024/10/17(木) 20:37:13.97 ID:rL5MZKqkH.net]
>>189
別に変じゃないだろ
マッチ(match)させてその結果により分岐(switch)するという二段階の処理
用語として前を取るか後ろを取るかだけの話だ

200 名前:デフォルトの名無しさん mailto:sage [2024/10/17(木) 20:43:44.76 ID:91c0XYHa0.net]
パターンマッチのmatch
switchにはパターンマッチの機能はない

201 名前:デフォルトの名無しさん mailto:sage [2024/10/17(木) 20:52:52.68 ID:l8JBYm7A0.net]
>>195
え?

じゃ、switchでいいでしょ

202 名前:デフォルトの名無しさん mailto:sage [2024/10/17(木) 21:15:16.24 ID:lX/5R9Jx0.net]
条件に合うか検査して分岐するんだからswitchだよな

英語のswitchってそんな多数分岐のニュアンスあるか? という疑問もある
AからBへswitchみたいな、2分岐がせいぜいなのでは

203 名前:デフォルトの名無しさん mailto:sage [2024/10/17(木) 21:31:53.31 ID:rL5MZKqkH.net]
>>197
じゃ、て何よ
どっちかなんだからmatchでもいいじゃん

204 名前:デフォルトの名無しさん mailto:sage [2024/10/17(木) 21:41:55.68 ID:lX/5R9Jx0.net]
switchと似て非なるもの、という意味でmatchにしたんだろうな
-tchが共通してるのは意図的

switchと同じと思われることを避けるというよりは、
switchとは違うのだよswitchとはという積極的な意思表示

205 名前:デフォルトの名無しさん [2024/10/17(木) 21:50:15.51 ID:yeHUFxEBa.net]
switchに2択という意味は無いぞ



206 名前:デフォルトの名無しさん mailto:sage [2024/10/17(木) 21:55:19.50 ID:lX/5R9Jx0.net]
longmanを引くと
1. to change from one thing to another, usually suddenly
2. to secretly remove one object and put another similar object in its place
3. to help someone you work with who needs time away from the job by agreeing to work certain hours for them if they do the same for you
4. to change the way a machine operates by using a switch
1.ある物から別の物へ、通常は突然変えること。
2.ある物をこっそり取り除き、別の似たような物をその場所に置くこと。
3. 一緒に働いている人が仕事から離れる時間を必要としている場合、その人が自分と同じことをしてくれるなら、その人のために一定の時間働くことに同意することによって、その人を助けること。
4. スイッチを使って、機械の作動方法を変えること。

何かからanotherへ切り替えの意味なんだよな

207 名前:デフォルトの名無しさん mailto:sage [2024/10/17(木) 21:59:22.15 ID:lX/5R9Jx0.net]
ああ、2分岐でいいんだ
だからcaseなんだ

この場合はこれに切り替え、この場合は、という2分岐がたくさん書いてあるのか
長年の違和感がやっと解決した

208 名前:デフォルトの名無しさん mailto:sage [2024/10/17(木) 22:45:28.58 ID:iAHoYOGo0.net]
with open(file_path, "r") as file:
lines = file.readlines()

これだと普通に動くのですが

with open(file_path, "r" , encoding="utf-8") as file:
lines = file.readlines()

こういう風にopen関数に第3引数を指定すると、実行してもなぜかすぐ終了してしまいます
原因わかる形いませんか?

209 名前:デフォルトの名無しさん mailto:sage [2024/10/17(木) 22:49:09.06 ID:iAHoYOGo0.net]
すみませんencoding="shift-jis"にしたら動きました
質問したらすぐに自己解決する不思議・・・というか何も即終了しなくても

210 名前:デフォルトの名無しさん mailto:sage [2024/10/18(金) 01:36:02.01 ID:Ut6mx ]
[ここ壊れてます]

211 名前:k750.net mailto: でも
matchって色々機能があるね
使うのめんどくさいな
[]
[ここ壊れてます]

212 名前:デフォルトの名無しさん [2024/10/18(金) 03:44:59.91 ID:5Kk3482aa.net]
Zennにもゴミ記事ってあるんだな
https://zenn.dev/nekoshita/articles/01c04ec83144ee

213 名前:デフォルトの名無しさん mailto:sage [2024/10/18(金) 05:05:39.02 ID:YY9Hp1UeH.net]
>>206
うん
if~elifで済ませてきたんだから今更だし
確かPythonには一つのことをするのに複数のやり方があるのはご法度って考えがあったはずだし
開発陣の頭がボケてるとしか思えん

214 名前:デフォルトの名無しさん [2024/10/18(金) 07:12:42.20 ID:HW2s8lVK0.net]
マッチでもスイッチでもいいが、CPU内では比較命令をそのたびにしてプログラムをジャンプすることでロジックをスルーする。

215 名前:デフォルトの名無しさん (アウアウエー Sa3f-mL/d) [2024/10/18(金) 11:16:24.04 ID:wVDH4S6Qa.net]
choiceでも良いし
selectでも良い



216 名前:デフォルトの名無しさん (ワッチョイ 3b54-I4pY) mailto:sage [2024/10/18(金) 11:26:19.64 ID:gGHJI5N60.net]
branchかなあ
複数に分岐する意味も最初から持ってる
でもアセンブラ的にはブランチは条件ジャンプと同義、、、

217 名前:デフォルトの名無しさん mailto:sage [2024/10/18(金) 13:52:06.91 ID:wVDH4S6Qa.net]
case の方を前面に出した言語もあったはずω

218 名前:デフォルトの名無しさん mailto:sage [2024/10/18(金) 15:40:13.78 ID:Ut6mxk750.net]
>>206
速度は場合によるようだね

ifのほうが早いケースもある

219 名前:デフォルトの名無しさん mailto:sage [2024/10/19(土) 09:16:44.68 ID:XsGIQo9N0.net]
print(mes, file=(f, sys.stdout))
みたいなことができればいいのに

220 名前:デフォルトの名無しさん (ワッチョイ cf01-sfBM) mailto:sage [2024/10/19(土) 10:19:20.60 ID:+tdI/ffv0.net]
複数箇所にwrite()するクラスを用意すれば簡単にできるけど
ちゃんとしたアプリケーションならロガーを使うし
簡易的なスクリプトならpythonの出力をteeするので
普通はやらない

221 名前:デフォルトの名無しさん (ワッチョイ 3b54-I4pY) mailto:sage [2024/10/19(土) 10:32:03.25 ID:XsGIQo9N0.net]
ログではないんだよな
結果をファイルに出力しながら、経過の情報を画面に出力する
所要時間はこれだけでした、みたいな両方に出力したい内容は両方に出す

222 名前:デフォルトの名無しさん [2024/10/19(土) 11:05:51.25 ID:Qn7y5thLd.net]
>>216
>>215

223 名前:デフォルトの名無しさん mailto:sage [2024/10/19(土) 11:15:28.75 ID:+tdI/ffv0.net]
>>216
であれば余計に1つのprintで処理する内容じゃないから
違う形の抽象化を考えたほうがいいよ

どういう形の抽象化がいいかは将来的な変更の可能性や
コンフィグ可能にしておく要素によって変わってくる

224 名前:デフォルトの名無しさん mailto:sage [2024/10/19(土) 11:24:28.68 ID:XsGIQo9N0.net]
いや、同一内容を2箇所に出力できれば片付く問題なんよ

225 名前:デフォルトの名無しさん mailto:sage [2024/10/19(土) 11:30:30.87 ID:+tdI/ffv0.net]
>>216
経過情報や所要時間はこれだけでしたみたいな出力は一般的にはログって言うんだよ



226 名前:デフォルトの名無しさん mailto:sage [2024/10/19(土) 11:32:49.65 ID:+tdI/ffv0.net]
>>219
printで2箇所に出力したいなら>>215に書いてるように
簡単にできるんだからそうすればいいんじゃない?

いい設計ではないけどね

227 名前:デフォルトの名無しさん mailto:sage [2024/10/19(土) 11:35:48.54 ID:XsGIQo9N0.net]
logは記録に残すもので、画面にだけ表示して消えていいものはlogとは言わない

用語の定義はどうでもいいんだよ
こういう機能があると便利という提案に対して、
それはこの機能でカバーできるから不要であると反論するならば、
全てのケースでカバー可能という悪魔の証明に挑むことになる

代替の方法はあまり良くなくて、提案どおりが最適なんだから、
反論の間違いを認めないと何も進まない

228 名前:デフォルトの名無しさん [2024/10/19(土) 11:40:20.05 ID:3bJ6rPck0.net]
また時刻の頭に0が入っていないとかいう馬鹿と同じ馬鹿か

229 名前:デフォルトの名無しさん [2024/10/19(土) 12:10:24.78 ID:3T8uATjna.net]
>>219
>>215

230 名前:デフォルトの名無しさん mailto:sage [2024/10/19(土) 12:13:44.20 ID:RjXmMaIpd.net]
teeは全てのケースでカバー可能

231 名前:デフォルトの名無しさん [2024/10/19(土) 13:21:31.18 ID:brAMeERq0.net]
あるソフトウェア会社にテスターとして入ったが、
メカ音痴、通信音痴の詐欺人材である。
仕事をやったフリをするのが難しいので、
バグを発見した際はすぐに報告せず、
ストックしておいて小出しに報告するやり方でしのいだ。
なにか問題が発生した際は、
知らない、オレじゃない、アイツがやった、もう済んだこと
を貫徹する現場猫を

232 名前:デフォルトの名無しさん mailto:sage [2024/10/19(土) 13:34:16.86 ID:7nKsGerl0.net]
オアシス運動w

233 名前:デフォルトの名無しさん [2024/10/19(土) 14:24:41.30 ID:5nOU6ym70.net]
バカは何やらせてもダメなんだな

234 名前:デフォルトの名無しさん [2024/10/19(土) 17:21:49.93 ID:57zOCZIx0.net]
だれか教えて。
実行環境はJupyterLab Python3.6.3
今までしっかり動いていたが今朝になって急にPyiCloudがエラーを吐くように。

PyiCloudFailedLoginException: ('Invalid email/password combination.', PyiCloudAPIResponseException('Service Temporarily Unavailable (503)'))

ちなみに同じIDとパスでiPhoneやPCのWebからはログインが出来てる。
これうちだけの環境で起きてるだけかな?

235 名前:デフォルトの名無しさん [2024/10/19(土) 20:22:07.21 ID:mCfaJTvfa.net]
>>229
>>229



236 名前:デフォルトの名無しさん mailto:sage [2024/10/20(日) 02:09:35.96 ID:FYgfn/lt0.net]
絵に描いたような老害がおるな

237 名前:デフォルトの名無しさん (ワッチョイ c697-6Oo2) [2024/10/20(日) 18:07:25.12 ID:57kWXpit0.net]
>>230
>>230
レスの意味がわからん。
一応、昨日の遅くからようやく開発元が認識をしたらしい。
どうもアップル側のセキュリティの方法が変わったとのこと、しばらく対応まちだな。

238 名前:デフォルトの名無しさん mailto:sage [2024/10/20(日) 22:57:52.56 ID:XWbRdnBX0.net]
>>229
seleniumのwebdriver-managerもそうだけど、こう言う「間を介する」モジュールって片方のアップデート次第で不都合起きるからめんどくさいよね。

239 名前:デフォルトの名無しさん mailto:sage [2024/10/20(日) 23:03:29.57 ID:deI+4SvX0.net]
windows = gw.getAllTitles()   ←windowsはlist型と表示されてる

for window in windows: ←windowsはリスト型なのに、windowがAnyになる


これなんでAnyになるのか原因わかる人いますか?もう全然分からない・・・
ただリストの中をwindowで回したいだけなのに・・・

240 名前:デフォルトの名無しさん mailto:sage [2024/10/20(日) 23:38:07.71 ID:UoXQ+/wnH.net]
>>234
何を悩んでるん?
型を気にしなくていいのがPythonを使う最大の強みじゃん

241 名前:デフォルトの名無しさん mailto:sage [2024/10/21(月) 03:31:23.77 ID:1Z2dcRpO0.net]
>>234
Listの各要素はなんでも持てる型だからAny
>Any
>制約のない型であることを示す特別な型です
実際にリストに入ってるデータの型名併記
for window in windows:
 print(type(window), window)

242 名前:デフォルトの名無しさん [2024/10/21(月) 09:33:53.50 ID:D69IqQRS0.net]
>>233
どうもサードパーティらiCloudに接続する方法を根本から変えているっぽくて、かなり大幅な改変が必要とのこと。 正規のライブラリを使っていないアプリケーションでは大規模に影響がでているはず。
とはいえ、もうRuby界隈の方は対応終わってるらしく、方法も公開されているから、Pythonの方も数日の辛抱という感じなのでは?と思っている。

243 名前:デフォルトの名無しさん mailto:sage [2024/10/21(月) 11:10:24.41 ID:cZ+nN4qG0.net]
Appleが許可してない不正な方法でアクセスしてるんだから何が起きても文句は言えんよね

HTTP 503が返されてるのに'Invalid email/password combination.'扱いにしちゃう雑な作りのほうが気になる

244 名前:デフォルトの名無しさん mailto:sage [2024/10/21(月) 14:35:51.14 ID:lFfmrxXT0.net]
icloudってiPhoneなくてもログインできないと詰むからガバガバなんだよね
今時あんなガバガバそうそうないぞ

245 名前:デフォルトの名無しさん [2024/10/23(水) 14:24:57.07 ID:CetgrrtLa.net]
governance不合格



246 名前:デフォルトの名無しさん [2024/10/30(水) 00:00:42.89 ID:N5ISBsY60.net]
pythonで不思議なのがif文

例えばこんな感じ。

name = input()
print("Hello " + name)

if name == "python":
print("Welcome")
else:
print("Goodbye")

このケースは二つだけのケースだが
三つのケースはelse:を追加
これって例えば誕生日きくときに
ifで1月
elifで2−11月
else12月。
これであってる?
なんかかなり面倒だからなんとかしてほしいw

247 名前:デフォルトの名無しさん [2024/10/30(水) 00:03:09.96 ID:N5ISBsY60.net]
あ、そっか。
まとめればいいだけだわ。
解決しましたw
2−11をまとめるとスッキリするねw

248 名前:デフォルトの名無しさん [2024/10/30(水) 00:27:22.21 ID:N5ISBsY60.net]
マッチつかおっとw
list = [1, 2, 3, 4, 5, 6, 8, 10, 11, 13, 15, 17, 19, 20, 22, 23]
list_mult2 = []
list_mult3 = []
list_others = []

for i in list:
match i:
# 2 の倍数を格納
case i % 2 == 0:
list_mult2.append(i)
# 3 の倍数を格納
case i % 3 == 0:
list_mult3.append(i)
# その他
case _:
list_others.append(i)

249 名前:デフォルトの名無しさん [2024/10/30(水) 00:28:36.78 ID:N5ISBsY60.net]
上記訂正

# 分割する数字
list = [1, 2, 3, 4, 5, 6, 8, 10, 11, 13, 15, 17, 19, 20, 22, 23]
list_mult2 = []
list_mult3 = []
list_others = []

for i in list:
match i:
case i if i % 2 ==0:
list_mult2.append(i)
case i if i % 3 ==0:
list_mult3.append(i)
case _:
list_others.append(i)

#これでよし!w

250 名前:デフォルトの名無しさん [2024/10/30(水) 00:31:39.11 ID:N5ISBsY60.net]
switch文かなり便利やな。
match beer_style: # Pilsner, IPA, Hazy IPA and others
case "Pilsner":
result = "First drink"
case "IPA":
result = "I like it"
case "Hazy IPA":
result = "Cloudy and cloudy"
case _: # ワイルドカードパターン
result = "I like most beers"
こんなに簡単にできるんだ。
今までif文がばからしいww

251 名前:デフォルトの名無しさん mailto:sage [2024/10/30(水) 00:32:21.56 ID:E1mCSTtf0.net]
fall-throughしないから6の倍数のやつがダメだろ

252 名前:デフォルトの名無しさん mailto:sage [2024/10/30(水) 00:35:14.70 ID:odUE1a8w0.net]
if elif elseを置き換えるだけではmatchにする有り難みがない
もっとアクロバットなことができるけど、
そんなことをしたらpythonでなくなる気がする

253 名前:デフォルトの名無しさん [2024/10/30(水) 00:35:14.71 ID:N5ISBsY60.net]
day = 3

match day:
case 1:
print("今日は月曜日です。")
case 2:
print("今日は火曜日です。")
case 3:
print("今日は水曜日です。")
case 4:
print("今日は木曜日です。")
case 5:
print("今日は金曜日です。")
case 6:
print("今日は土曜日です。")
case 7:
print("今日は日曜日です。")
case _:
print("無効な日です。")

254 名前:デフォルトの名無しさん mailto:sage [2024/10/30(水) 00:36:51.27 ID:E1mCSTtf0.net]
どれもdictionaryにまとめるパターン

255 名前:デフォルトの名無しさん (ワッチョイ fb16-1Wnr) [2024/10/30(水) 00:43:34.90 ID:N5ISBsY60.net]
fruit = "apple"

match fruit:
case "apple" | "banana" | "cherry":
print("これは一般的な果物です。")
case "kiwi" | "mango":
print("これはトロピカルフルーツです。")
case _:
print("これは知らない果物です。")

複数のマッチ。



256 名前:デフォルトの名無しさん (JP 0Heb-k86b) mailto:sage [2024/10/30(水) 00:46:48.67 ID:3XYQLByjH.net]
アホだ
他言語ではswitchはバグの元って忌み嫌われてるのに
今になってわざわざ導入したPython陣営の愚かさよ

257 名前:デフォルトの名無しさん (ワッチョイ fb16-1Wnr) [2024/10/30(水) 00:49:17.11 ID:N5ISBsY60.net]
>>251
match 文はどう?
使い勝手がよいんだがw

258 名前:デフォルトの名無しさん mailto:sage [2024/10/30(水) 00:54:05.39 ID:E1mCSTtf0.net]
>>250
キウイはトロピカルフルーツではないです
バナナはトロピカルフルーツです

259 名前:デフォルトの名無しさん mailto:sage [2024/10/30(水) 01:03:26.08 ID:3XYQLByjH.net]
>>252
breakを書かないのが気持ち悪い
やはり条件分岐はifに勝るものなし

260 名前:デフォルトの名無しさん mailto:sage [2024/10/30(水) 01:07:30.76 ID:odUE1a8w0.net]
switchにbreakがあるのが自然な感覚なら、if文もbreak要るやろ
アセンブラと一対一対応なただのジャンプ命令を高級言語にしただけなんだから

261 名前:デフォルトの名無しさん mailto:sage [2024/10/30(水) 01:23:42.78 ID:bt1w6ELFH.net]
>>255
多分に感覚的なものだけどね
ifはelseというキーワードにより分岐から分岐に処理が流れることはないとはっきりわかるからbreakは不要
switchはそれがわからないからbreakがないと気持ち悪い

>>250で言えば、2個めのcaseからはelse caseとする設計なら安心できる

262 名前:デフォルトの名無しさん mailto:sage [2024/10/30(水) 07:50:49.92 ID:GeZTCF7U0.net]
この場合は、と書いてるのに、それ以外の場合に処理が突っ込んでいくのが異常
自然言語として読んでそんな解釈する奴は皆無
C言語のswitchは実質goto文で、忌避すべき悪しき構造

263 名前:デフォルトの名無しさん mailto:sage [2024/10/30(水) 08:34:25.79 ID:bt1w6ELFH.net]
>>257
C、Java、JacaScriptという錚々たるメンバーでbreakが要るんだからしょうがないじゃない

あとChatGPTに聞いてみたら、下記の記述があったけどこんなのが一般的とか言われて俺もまだまだだなと思った
-----
Pythonには switch 文はありませんが、代わりに辞書を使った条件分岐が一般的です。この場合、各条件が明示的に処理されるため、break は不要です。

switch_dict = {
1: lambda: print("処理1"),
2: lambda: print("処理2"),
}
switch_dict.get(value, lambda: print("デフォルト処理"))()

264 名前:デフォルトの名無しさん [2024/10/30(水) 13:37:25.39 ID:N5ISBsY60.net]
100さんへ
ALL PYTHONDでもよくね?

265 名前:デフォルトの名無しさん [2024/10/30(水) 13:40:41.42 ID:N5ISBsY60.net]
PHPでPYTHONやると語尾が気持ち悪くなるW
だっていつもコロンだか、セミコロンつかうじゃん?phpって
だから最初わしも慣れるのに苦労したW



266 名前:デフォルトの名無しさん mailto:sage [2024/10/30(水) 13:56:31.26 ID:DhwGc29Ga.net]
HDLだとcaseで充分なんだよな

267 名前:デフォルトの名無しさん [2024/10/30(水) 14:02:40.72 ID:DhwGc29Ga.net]
>>258
アホはこれみてpythonは関数型言語(キリっ)とか言い出しそう

268 名前:デフォルトの名無しさん mailto:sage [2024/11/02(土) 13:35:04.63 ID:cytI8wNj0.net]
同じ階層のlib.pyにdef func()があって、main.pyから
import lib
だけでfunc()使えなかったっけ

lib.func() なら使えるし、
from lib import func でも使えるけど、
import lib だけでも使えてるケースがあるのに違いが判らん

269 名前:デフォルトの名無しさん [2024/11/02(土) 13:56:04.51 ID:QT6/c5p90.net]
使えるわけねーだろドキュメントくらい読め

270 名前:デフォルトの名無しさん mailto:sage [2024/11/02(土) 14:01:43.84 ID:cytI8wNj0.net]
サンプルを書いてみると使えないんだけど、
実際に動いてるコードでは使えてるとしか思えないんだよな

271 名前:デフォルトの名無しさん [2024/11/02(土) 15:09:33.21 ID:+GKIPsT4a.net]
from lib import *

272 名前:デフォルトの名無しさん [2024/11/02(土) 15:24:56.26 ID:+GKIPsT4a.net]
lib.py の最後に
__builtins__['func'] = func
でいけるかな

273 名前:デフォルトの名無しさん mailto:sage [2024/11/02(土) 15:25:32.30 ID:+GKIPsT4a.net]
lib.py の最後に
__builtins__['func'] = func
でいけるかな

274 名前:デフォルトの名無しさん [2024/11/02(土) 16:45:29.14 ID:TIz0sdCnd.net]
黒魔術禁止

275 名前:デフォルトの名無しさん (ワッチョイ 71b8-jwtj) mailto:sage [2024/11/03(日) 05:30:42.12 ID:3rcZcbik0.net]
>>265
じゃあそのコード出してみればいいのに



276 名前:デフォルトの名無しさん mailto:sage [2024/11/03(日) 09:54:14.13 ID:3P3Nu4GE0.net]
結局、動いてはいなかった
ImportError: cannot import name 'func' from 'lib'
というエラーにはならずに、とりあえず走り始める

で、funcを呼んだタイミングでエラーになるけど、
concurrent.futures.ThreadPoolExecutor.submit の先にあるので、
エラー表示は出ないし処理も止まらないだけだった
何なら、import lib すらなくても同じ動作になる

277 名前:デフォルトの名無しさん mailto:sage [2024/11/03(日) 14:00:30.85 ID:3P3Nu4GE0.net]
エラー出ない問題は
future = concurrent.futures.ThreadPoolExecutor.submit(func)
future.result()
こんな風にすると解決する
concurrent.futures.ThreadPoolExecutor.submit(func).result()
でもok

278 名前:デフォルトの名無しさん mailto:sage [2024/11/03(日) 16:59:41.21 ID:oTBqZLJpM.net]
なんなのこの日記

279 名前:デフォルトの名無しさん mailto:sage [2024/11/03(日) 17:08:44.45 ID:3P3Nu4GE0.net]
但し、result()を評価すると完了を待つので同期処理になってしまう
多重処理で高速化できないので、デバッグが終わったら外す

280 名前:デフォルトの名無しさん mailto:sage [2024/11/03(日) 17:09:12.43 ID:L07G869G0.net]
言っても無駄だから「集団無視」するのがいい

281 名前:デフォルトの名無しさん mailto:sage [2024/11/03(日) 17:43:09.87 ID:lgsiIHy30.net]
>>273

この福祉系キチガイのせいでしょ>>87

282 名前:デフォルトの名無しさん mailto:sage [2024/11/03(日) 18:43:10.23 ID:aWrgo6rr0.net]
五十四の日記

283 名前:デフォルトの名無しさん [2024/11/03(日) 19:21:34.34 ID:4g0SxEOpd.net]
過疎ってるね

284 名前:デフォルトの名無しさん mailto:sage [2024/11/03(日) 20:18:30.62 ID:rroxZfopd.net]
seleniumやりたくてpython始めたけど
エラーばっかしで嫌になってきた
ラジオボタン選択したいだけなのにうまくいかなくて調べてったらこんな事になった


element = driver.find_element(By.ID, "spAccKbn2")
action = webdriver.common.action_chains.ActionChains( driver ) action.move_to_element_with_offset( element , 1 , -1 )
action.click()
action.perform()

285 名前:デフォルトの名無しさん mailto:sage [2024/11/03(日) 22:36:57.37 ID:m0ql+Kks0.net]
続 五十四の日記



286 名前:デフォルトの名無しさん (ワッチョイ 8554-u42f) mailto:sage [2024/11/03(日) 23:08:48.69 ID:3P3Nu4GE0.net]
過疎るのは別に問題じゃないけど、課題はS/N比だな
何故内容のないことを書き込みたがるのか

287 名前:デフォルトの名無しさん (ワッチョイ 9e83-aO9f) mailto:sage [2024/11/03(日) 23:24:53.04 ID:upFikudE0.net]
おまいう

288 名前:デフォルトの名無しさん mailto:sage [2024/11/03(日) 23:42:27.04 ID:Hsbf+jvP0.net]
福祉施設からきた知的障害者が荒らしてるよな>>87

289 名前:デフォルトの名無しさん mailto:sage [2024/11/03(日) 23:43:00.68 ID:Hsbf+jvP0.net]
>>279
失せろ知的障害朝鮮人

290 名前:デフォルトの名無しさん [2024/11/07(木) 22:30:21.43 ID:0vDQcGjY0.net]
pythonってなんで語尾に;がないの?
この語尾が気持ち悪いw
あとif文やelifが:だけ:があるのが慣れないなw

291 名前:デフォルトの名無しさん [2024/11/08(金) 00:05:39.08 ID:te03q3B3d.net]
>>285
お前みたいな馬鹿がいるこの世の中が気持ち悪い
お前みたいな馬鹿が生きていられることになれないなw

292 名前:デフォルトの名無しさん mailto:sage [2024/11/08(金) 12:27:31.09 ID:F9yTI1pla.net]
pythonは文末に;憑いてても動く

293 名前:デフォルトの名無しさん [2024/11/08(金) 18:53:48.94 ID:y8v+DuF60.net]
>>285
改行コードを終わりと見做すプログラミング言語だから

294 名前:デフォルトの名無しさん mailto:sage [2024/11/08(金) 19:07:12.95 ID:cLnY3Hqj0.net]
改行に意味があるというよりは、ブロック構造をインデント任せにしてるからだけど

{と}でブロックが明示されてたらエディタの機能でブロックの先頭と末尾を行き来できるけど、
python専用エディタだとそんなことできたりする?
インデント深いと読めなさすぎて、あの手この手で浅くする

295 名前:デフォルトの名無しさん [2024/11/08(金) 19:09:12.46 ID:y8v+DuF60.net]
>>289
初心者にそんな説明をするのは悪手



296 名前:デフォルトの名無しさん mailto:sage [2024/11/08(金) 19:38:39.84 ID:BBiCQq+eH.net]
>>289
できないと思うけど
そもそもブロック単位の移動という操作が開発で必要とは思えない

297 名前:デフォルトの名無しさん mailto:sage [2024/11/08(金) 19:41:06.28 ID:G9PsHqcG0.net]
>>285
別に付けてもいいぞ
何なら一行に複数の文も書ける

298 名前:デフォルトの名無しさん [2024/11/08(金) 19:56:04.57 ID:y8v+DuF60.net]
>>292
Pythonの原作者の悪趣味を勧めるなw

299 名前:デフォルトの名無しさん [2024/11/08(金) 19:58:22.87 ID:y8v+DuF60.net]
>>292
意味なく付けていると可読性が下がる

300 名前:デフォルトの名無しさん [2024/11/08(金) 20:28:10.47 ID:c7CpRr710.net]
>>288
なんかメインフレーム臭さが漂ってんだよなあ

301 名前:デフォルトの名無しさん (ワッチョイ 75cf-kuJi) mailto:sage [2024/11/08(金) 22:56:15.48 ID:U1OZc4Nd0.net]
>>289
vimはできるよ

Pythonでパッと見てネスト構造が分からないようなコードは問題がある気がするがブロック単位と移動や編集が便利なのは間違いない

302 名前:デフォルトの名無しさん [2024/11/09(土) 01:03:02.37 ID:6W4F7+P40.net]
>>295
セミコロンを付けない言語もそれなりにあるし、Pythonだけがそうというわけではない
最近流行りのだとGoもそう

303 名前:デフォルトの名無しさん mailto:sage [2024/11/09(土) 11:11:55.78 ID:6RYR080/0.net]
>>289
改行を文デリミタにするのとブロックの表し方は全然関係ないだろ。
シェルスクリプトとか見てみ。

304 名前:デフォルトの名無しさん (ワッチョイ 926b-4b4N) mailto:sage [2024/11/09(土) 11:58:53.83 ID:wO7HvhhQ0.net]
luaも無視してくれるね;

305 名前:デフォルトの名無しさん [2024/11/09(土) 14:29:53.24 ID:B62lCCpIa.net]
xxxxxxxxxxxx



306 名前:デフォルトの名無しさん mailto:sage [2024/11/09(土) 15:56:26.85 ID:uvbykfPp0.net]
JavaScriptみたいに自明な場合はセミコロンを挿入するって風にすればいいのにな
そうすればワンライナーとの相性もよい

307 名前:デフォルトの名無しさん [2024/11/09(土) 16:57:23.68 ID:5wGLeQz90.net]
そうするとめちゃくちゃなインデントするやつが絶対でてくるからな

308 名前:デフォルトの名無しさん mailto:sage [2024/11/09(土) 17:24:04.02 ID:LlsVFZwkd.net]
vs codeで書いてるけど
インデントしてんのにインデントおかしいぞ!って怒ってくる

309 名前:デフォルトの名無しさん mailto:sage [2024/11/09(土) 19:42:57.03 ID:b5zF/lUM0.net]
Pythonを使うには
空白文字が判別できるグリフになってるフォントが必要

310 名前:デフォルトの名無しさん [2024/11/09(土) 21:20:12.17 ID:SkJltVwKd.net]
>>304
このスレってこういう馬鹿ばっかだな

311 名前:デフォルトの名無しさん mailto:sage [2024/11/09(土) 22:08:58.33 ID:sXoCSO6d0.net]
>>305
お前みたいなのがこのスレを破壊したって
自覚持ってくれ

312 名前:デフォルトの名無しさん [2024/11/10(日) 00:52:09.53 ID:H/zpgg/Vd.net]
>>306
お前みたいに嘘を撒き散らす馬鹿がいるからだろ

313 名前:デフォルトの名無しさん [2024/11/10(日) 02:54:10.37 ID:NcxfIIMm0.net]
>>303
タブと半角スペースが混じっているだけじゃないのか?

314 名前:デフォルトの名無しさん [2024/11/10(日) 07:47:13.73 ID:dkv1a77w0.net]
フォントでなくエディター側でも解決できる
VS Codeだとタブ文字やスペースを見やすくする設定があるはず
全角スペースはフォント側で可視化されてるものを使うと便利

315 名前:デフォルトの名無しさん mailto:sage [2024/11/10(日) 09:41:38.14 ID:Mocr1U5E0.net]
全角スペースをstrip()が削除するんだから、それがスペースだということは知ってるんだよな
なんでインデントに使ったらいけないのか謎



316 名前:デフォルトの名無しさん (ワッチョイ 0530-yjVJ) mailto:sage [2024/11/10(日) 10:07:01.33 ID:3craHbO10.net]
個数で判定するか幅(それも1:2か3:5かそれ以外か)でか、で自転車置き場の屋根より長い議論になることが見えてるから

317 名前:デフォルトの名無しさん (ワッチョイ ad54-CU01) mailto:sage [2024/11/10(日) 10:30:19.57 ID:Mocr1U5E0.net]
個数でも幅でもなく、組み合わせ
TABとスペースを混ぜた時と同じ挙動

318 名前:デフォルトの名無しさん [2024/11/11(月) 06:06:38.40 ID:mTrGHtv9a.net]
全角SPはTABでも半角SPでもない

319 名前:デフォルトの名無しさん mailto:sage [2024/11/11(月) 08:13:32.49 ID:XjDPgffN0.net]
C言語のブロック記号{}に全角空白もアリにしてと言ってるようなもんだな
日本語の全角空白含めても日本人の一部にしかメリット無いです

320 名前:デフォルトの名無しさん mailto:sage [2024/11/11(月) 14:38:02.82 ID:tRsIxhTt0.net]
インデントはタブのみ許可
タブはインデントのみ許可
みたいにガチガチにしてしまえばいいのに
そこだけは非常に残念

321 名前:デフォルトの名無しさん mailto:sage [2024/11/11(月) 16:41:38.17 ID:RisB9sc6d.net]
タブの存在しない処理系とかあるんじゃないの
知らんけど

322 名前:デフォルトの名無しさん (ワッチョイ 759b-NX7e) mailto:sage [2024/11/11(月) 16:45:22.89 ID:XlNa4SSE0.net]
https://www.openwork.jp/company.php?m_id=a0910000000FrzY

323 名前:デフォルトの名無しさん mailto:sage [2024/11/11(月) 17:04:38.11 ID:7xH2ULqH0.net]
TAB使うなって言うからスペースでインデントしてるけど、
エディタがデデントに対応してなくて無駄に大変

324 名前:デフォルトの名無しさん mailto:sage [2024/11/12(火) 09:00:04.47 ID:MVEhN2a60.net]
なぜ対応のエディタを使わないのか
VSコードでいいだろ

325 名前:デフォルトの名無しさん [2024/11/12(火) 20:00:16.97 ID:v7TGFNyn0.net]
>>313
スペースのことを「SP」と書いている人を初めて見たわ



326 名前:デフォルトの名無しさん (ワッチョイ e38e-R46Z) [2024/11/12(火) 20:07:54.86 ID:v7TGFNyn0.net]
Pythonが誕生したころは、まだ1バイト使うか4バイトも使うか記憶装置の容量では悩むレベルだったから、タブを使うか半角スペースを複数個使うかで

327 名前:デフォルトの名無しさん (ワッチョイ e38e-R46Z) [2024/11/12(火) 20:08:36.68 ID:v7TGFNyn0.net]
人によって意見がわれていた

328 名前:デフォルトの名無しさん (ワッチョイ 4b8e-DV/N) [2024/11/12(火) 20:25:38.59 ID:J1Sn69yS0.net]
>>320
お前が何も知らない馬鹿なだけかと

329 名前:デフォルトの名無しさん mailto:sage [2024/11/12(火) 21:12:33.59 ID:ZcEeG3hE0.net]
半角SPw

330 名前:デフォルトの名無しさん mailto:sage [2024/11/12(火) 21:16:46.59 ID:nvqj0JfO0.net]
日本人の一部にしかメリットなくても、残りの誰にもデメリット無いなら、
それはメリットしか無いのでは

331 名前:デフォルトの名無しさん [2024/11/13(水) 02:13:50.19 ID:lxEAsUm8a.net]
デメリットだらけ

332 名前:デフォルトの名無しさん [2024/11/14(木) 19:11:38.32 ID:g26vUJe4F.net]
ここで質問しているやつはPythonの資格対策本でも買って勉強しろ

333 名前:デフォルトの名無しさん [2024/11/15(金) 10:25:38.19 ID:G6HDJDaQ0.net]
uvはactivate必要なのか
pyenvとpoetryでいいわ

334 名前:デフォルトの名無しさん [2024/11/15(金) 17:45:24.05 ID:Jz1yaJFv0.net]
>>328
プロアクティブが必要

335 名前:デフォルトの名無しさん mailto:sage [2024/11/16(土) 19:00:54.48 ID:ILOr4dg40.net]
既存のファイルを'w'でopenする時に、他のプロセスがアクセスしているとOSErrorになることがある
ならないこともある
ファイルが大きいとなるっぽい

なんとか強引に開けないものか



336 名前:デフォルトの名無しさん (ワッチョイ 1b5c-Bg8t) [2024/11/16(土) 21:38:03.01 ID:JvbcygrM0.net]
width同じでheightバラバラのjpg画像が大量にあるんだがこれをpdfに上下に敷き詰めるにはどうしたらいいの?

337 名前:デフォルトの名無しさん mailto:sage [2024/11/16(土) 23:24:04.57 ID:3kqPnMcZ0.net]
>>330
windowsならWin32 APIでsharing modeを指定

>>331
bin packing problemでググれ

338 名前:デフォルトの名無しさん mailto:sage [2024/11/17(日) 11:06:04.94 ID:tn0ahmRja.net]
print(np.arange(np.datetime64('2024-11-01'), np.datetime64('2025-05-01'), np.timedelta64(30, 'D')))

['2024-11-01' '2024-12-01' '2024-12-31' '2025-01-30' '2025-03-01' '2025-03-31' '2025-04-30']

print(np.arange(np.datetime64('2024-11-01'), np.datetime64('2025-05-01'), np.timedelta64(31, 'D')))

['2024-11-01' '2024-12-02' '2025-01-02' '2025-02-02' '2025-03-05' '2025-04-05']
なんだが

['2024-11' '2024-12' '2025-01' '2025-02' '2025-03' '2025-04']
が欲しい

339 名前:デフォルトの名無しさん mailto:sage [2024/11/17(日) 12:17:30.72 ID:EcgVWlk90.net]
>>333
月ベースで計算したいのになぜ日ベースで計算しようとするのか

In : np.arange(np.datetime64('2024-11'), np.datetime64('2025-05'))
Out: array(['2024-11', '2024-12', '2025-01', '2025-02', '2025-03', '2025-04'], dtype='datetime64[M]')

340 名前:デフォルトの名無しさん mailto:sage [2024/11/17(日) 12:24:22.30 ID:33eX3D3e0.net]
関係ないけど、excelで日毎のデータが何年分もあって、
グラフの横軸を年月で表示しようとしても微妙にうまく行かない

341 名前:デフォルトの名無しさん mailto:sage [2024/11/17(日) 13:42:46.70 ID:tn0ahmRja.net]
>>334
ありがとう
print(np.arange(np.datetime64('2024-11-01'), np.datetime64('2025-05-01'), np.timedelta64(1, 'M')))
でエラーだったからどうしたもんかと []
[ここ壊れてます]

343 名前:デフォルトの名無しさん mailto:sage [2024/11/17(日) 14:01:43.54 ID:tn0ahmRja.net]
print(np.arange(np.datetime64('2024-11-01'), np.datetime64('2025-05-01'), dtype='datetime64[M]'))
これでもうまくいったわ

344 名前:デフォルトの名無しさん [2024/11/17(日) 14:12:53.82 ID:ENY5bRjq0.net]
>>332
回答ありがたいんだが番号振られてあるから順番に上から下に敷き詰めたいんだが

345 名前: [2024/11/17(日) 17:22:39.74 ID:z11Q5dQO0.net]
下記の内容で Microsoft Copilot に聞いてみた で教えてくれる
------
pythonでwidth同じでheightバラバラのjpg画像が大量にあるんだがこれをpdfに上下に敷き詰めるにはどうしたらいいの?
番号振られてあるから順番に上から下に敷き詰めたいんだが



346 名前:デフォルトの名無しさん mailto:sage [2024/11/17(日) 17:33:31.08 ID:33eX3D3e0.net]
pdfの高さが決まってて、そこに入るだけ

347 名前:順番に入れてくだけの話?

if トータル高さ > pdfの高さ:
 次のページに

というだけのアルゴリズムでいけるのでは
[]
[ここ壊れてます]

348 名前: [2024/11/17(日) 17:40:21.98 ID:z11Q5dQO0.net]
聞いてみた結果
--from PIL import Image
from reportlab.lib.pagesizes import portrait
from reportlab.pdfgen import canvas
import os
# 画像が保存されているディレクトリのパス
image_dir = 'my_folder'
output_pdf = 'output.pdf'
# 画像ファイルのリストを取得し、ファイル名順にソート
image_files = sorted([f for f in os.listdir(image_dir) if f.endswith('.jpg')])
# 画像の幅を取得(すべての画像が同じ幅である前提)
first_image = Image.open(os.path.join(image_dir, image_files[0]))
width, _ = first_image.size
# PDFキャンバスの作成
c = canvas.Canvas(output_pdf)
# 画像をPDFに追加
for image_file in image_files:
image_path = os.path.join(image_dir, image_file)
img = Image.open(image_path)
img_width, img_height = img.size
if img_width != width:
raise ValueError(f"Image {image_file} has a different width: {img_width}")
# ページサイズを画像の縦サイズに設定し、新しいページを追加
c.setPageSize((width, img_height))
c.showPage()
# 画像をPDFに描画
c.drawImage(image_path, 0, 0, width=width, height=img_height)
# PDFの保存
c.save()

349 名前: [2024/11/17(日) 17:51:48.14 ID:z11Q5dQO0.net]
--tabがわからん
# 画像をPDFに追加
for image_file in image_files:
  image_path = os.path.join(image_dir, image_file)
  img = Image.open(image_path)
  img_width, img_height = img.size
  if img_width != width:
    raise ValueError(f"Image {image_file} has a different width: {img_width}")
  # ページサイズを画像の縦サイズに設定し、新しいページを追加
  c.setPageSize((width, img_height))
  c.showPage()
  # 画像をPDFに描画
  c.drawImage(image_path, 0, 0, width=width, height=img_height)
# PDFの保存
c.save()

350 名前:デフォルトの名無しさん mailto:sage [2024/11/17(日) 17:56:32.18 ID:33eX3D3e0.net]
datにはインデントのスペースも書かれてるんだけどな
表示のレンダリングで落としちゃうだけなので、
ブラウザに先頭のスペースを無視しないモードがあれば済むのに

351 名前:デフォルトの名無しさん [2024/11/18(月) 07:06:37.63 ID:INV+aJIp0.net]
【ナゾロジー】サイコパスは「痛みを伴う失敗」から学習できない! [すらいむ★]
itest.5ch.net/egg/test/read.cgi/scienceplus/1731838156

352 名前:デフォルトの名無しさん [2024/11/18(月) 12:58:55.73 ID:0TuJxtFYa.net]
>>343
専ブラ

353 名前:デフォルトの名無しさん [2024/11/22(金) 01:57:46.65 ID:icDgwF6r0.net]
某キャリア回線アプリのON、OFFをAPI送信で叩きたいけど
POSTMANでは正常に叩けてアプリに反映されれるけど
python経由だとレスポンスが正常だけどなぜかアプリ側に反映されない。
POSTMANと全く同じヘッダーつけてもダメだった。
わかる方いるかしら?

354 名前:デフォルトの名無しさん [2024/11/22(金) 23:22:02.38 ID:axFgaWRBH.net BE:629052145-2BP(1000)]
https://img.5ch.net/ico/nida.gif
EchoAPIを使い始めて、このツールのおかげでAPIテストが効率化されし、機能開発にももっと集中できるようになった!

355 名前:デフォルトの名無しさん [2024/11/23(土) 00:31:01.88 ID:IcKkVXcm0.net]
>>346
自己解決 APIが違った。
似たようなAPIがあって確認ミス



356 名前:デフォルトの名無しさん mailto:sage [2024/11/25(月) 01:12:59.73 ID:gOO2TZvc0.net]
ハイパーモダンpython読みにくいなこれ
翻訳は悪いとは思わない
説明対象になる要素が出てくる順とか元の文章の流れが悪すぎる

357 名前:デフォルトの名無しさん [2024/11/25(月) 08:02:05.82 ID:icG0ziFd0.net]
これか。何か嬉しいことが書いてあるのかな。
cjolowicz.github.io/posts/hypermodern-python-01-setup/

358 名前:デフォルトの名無しさん [2024/11/25(月) 09:32:40.34 ID:SsaYg1Am0.net]
科学 + ンニュース 5ch

保守派もリベラル派も「自分の政治的信念に合致したニュース」を信じやすいという研究結果 [すらいむ★]
https://itest.5ch.net/egg/test/read.cgi/scienceplus/1732447647

コメントも含めて読むと
陰謀論が収まら無い理由が判明する

359 名前:デフォルトの名無しさん mailto:sage [2024/11/29(金) 17:36:52.72 ID:1nbpjyP00.net]
byteからstrへの変換がdecodeなんだから、
open()のencodingはdecodingが正解なのでは

360 名前:デフォルトの名無しさん [2024/11/30(土) 01:20:49.70 ID:hNQfUfJr0.net]
encodingは変換という意味だから、いいのでは

361 名前:デフォルトの名無しさん [2024/11/30(土) 08:09:26.50 ID:VXfE+2kW0.net]
日常生活においてはいいけど、
Python のドキュメントに当たるときは、あやふやにしていると混乱する。

362 名前:デフォルトの名無しさん mailto:sage [2024/11/30(土) 08:31:45.38 ID:OzjPxg3T0.net]
'r'でも'w'でもencoding=なんだから、そういう意味じゃないのは自明だったな

encoding はファイルのエンコードやデコードに使われる text encoding の名前です
There are a variety of different text serialization codecs, which are collectively referred to as "text encodings".

363 名前:デフォルトの名無しさん mailto:sage [2024/11/30(土) 14:43:48.94 ID:wliauO6ld.net]
Streamlitアプリのパッケージ管理するなら、今ならuvがいいですか?
まだpython始めて1年くらいで、メインはNodejsフロントエンドなんですけど、今までconda使ってたんですが、しばらく触ってないとどの環境でどのアプリのどのブランチ触ってたかわかんなくなります、、、

364 名前:デフォルトの名無しさん [2024/11/30(土) 15:01:57.04 ID:l0dFcapba.net]
git

365 名前:デフォルトの名無しさん [2024/11/30(土) 17:23:52.72 ID:UTmme7fc0.net]
>>356
venv



366 名前:デフォルトの名無しさん mailto:sage [2024/11/30(土) 17:33:17.56 ID:OzjPxg3T0.net]
環境の管理はまだ未成熟な気がするし、
何もしなくてもいい気もする

367 名前:デフォルトの名無しさん mailto:sage [2024/12/01(日) 06:15:27.09 ID:qIIa6Po8F.net]
何かしら管理はしないと、
あとで触ったら時にいつのまにか動かなくなってたりしませんか?

uv触ってみました、良いですねこれ
仮想環境アクティブにしなくてもそのままスクリプト実行できますし、lockファイルがクロスプラットフォームなのがいいです
本当にnpmみたいです

368 名前:デフォルトの名無しさん [2024/12/01(日) 06:50:38.03 ID:usl5rUYN0.net]
AIでpythoのプログラム作成しているんだけど
完成したから、おしゃれなコメントをつけてって入れたら
なんかずっと返ってこない。
すごい、おしゃれなコメントを作っているのかな

369 名前:デフォルトの名無しさん [2024/12/01(日) 07:06:01.18 ID:usl5rUYN0.net]
おしゃれコメント生成はやめどきが難しい
# 画像やテキストを解析し、結果をお届け # ファイルがドロップされたら画像を読み込む魔法
# ここからがメインの舞台 # 画像を一瞬でBase64に変身させる # 新しい会話をエレガントに開始

370 名前:デフォルトの名無しさん (ワッチョイ 66e6-maZQ) mailto:sage [2024/12/01(日) 17:18:14.50 ID:/Q96hWUr0.net]
driver.find_element(By.XPATH, ***).send_keys("***")

371 名前:デフォルトの名無しさん (ワッチョイ 66e6-maZQ) mailto:sage [2024/12/01(日) 17:24:13.28 ID:/Q96hWUr0.net]
driver.find_element(By.XPATH, ***).send_keys("***")
でフォームに入力し、書き込みボタンを押して投稿するものを書いたのですが、
入力されないしボタンも押されず、固まっていることが頻繁にあります
これを防ぐ方法はありますか?

372 名前:デフォルトの名無しさん mailto:sage [2024/12/01(日) 17:39:11.83 ID:tRbUIFef0.net]
waitを入れる

373 名前:デフォルトの名無しさん mailto:sage [2024/12/01(日) 18:11:22.37 ID:1JLx1bUH0.net]
ログはどうなってる?

374 名前:デフォルトの名無しさん mailto:sage [2024/12/01(日) 18:35:41.80 ID:/Q96hWUr0.net]
初心者なのでよく分かっていないですけど、コマンドプロンプトには何も表示されていないです。
書き込みできないまま止まっていて、getで再度サイトにアクセスすると書き込めるようになるときがあります

375 名前:デフォルトの名無しさん mailto:sage [2024/12/01(日) 18:40:02.51 ID:tRbUIFef0.net]
input()とかbreakpoint()とかで止めながら試す



376 名前:デフォルトの名無しさん mailto:sage [2024/12/01(日) 19:14:40.51 ID:/Q96hWUr0.net]
>>368
ありがとうございます
後ほど試してみます

377 名前:デフォルトの名無しさん mailto:sage [2024/12/01(日) 21:56:37.25 ID:/BlP4ndo0.net]
どうしてもseleniumを使い続けなきゃいけない理由がないならplaywrightとかもう少しモダンなやつ使ったら?
send_keysが思ったように動かないとか手動でwaitいれなきゃいけないとか2020年代にする話じゃない

378 名前:デフォルトの名無しさん (ワッチョイ fb54-5MfX) mailto:sage [2024/12/01(日) 22:24:05.62 ID:tRbUIFef0.net]
RPAなんかも、細かく指定する原始的なのと勝手にやってくれる抽象的なのが同居してる

一旦苦労しといて、新しいのは楽だぜいとステップを踏んだ方がきっと楽しい

379 名前:デフォルトの名無しさん mailto:sage [2024/12/01(日) 23:08:44.46 ID:1o85ezT5d.net]
(1)用語をいちいち意味不明なモンティパイソン用語に置き換えてあるのがうざい。それ以外も趣味悪い置き換えばかり。
(2)参考書でページ跨ぐ時にインデントの位置が読み取りにくい

380 名前:デフォルトの名無しさん mailto:sage [2024/12/01(日) 23:16:42.03 ID:gMHLdZsad.net]
アップデートあると動かなくなるとかやめて

381 名前:デフォルトの名無しさん [2024/12/02(月) 00:25:56.92 ID:7m/pDVQD0.net]
#普通のクリックが効かない時(紐づいてるスクリプトを実行)
#---------------------------------------------------------------------------
btn=driver.find_element(By.CLASS_NAME,'xxxBtn')
driver.execute_script('arguments[0].click();', btn)
#同じ名前の要素がある場合- 2つ目をクリック
#---------------------------------------------------------------------------
elems=driver.find_elements(By.CLASS_NAME,'xxx_btn')
elems[1].click()

382 名前:デフォルトの名無しさん [2024/12/02(月) 04:52:39.52 ID:7m/pDVQD0.net]
要素が存在していても、フォーカスが違う時はsend_keysなどは動かない
親要素をクリックするとかしてから行う
oya=driver.find_element(By.xx,親要素)
oya.click()
--
フォーカスが別フレームなら戻すとか
is_displayed, driver.switch_to.frame, ActionChains(キー送信等で使う) とかも参照して
(いつもと違うのが(ポップアップみたいのが)、出てくると、あれ動かないみたいになる..はまるのをつぶすのはめんどくさい)
あと、XPathはHTMLの構造に依存するから、表示とかが変わると、同じにはならないから、使わない
>getで再度サイトにアクセスすると書き込めるようになるときがあります
これに当てはまる?

383 名前:デフォルトの名無しさん mailto:sage [2024/12/02(月) 20:05:34.47 ID:s4V+qYg3d.net]
ハイパーモダンpythonは後の章に行くにつれて
話が繋がってくる
最初がきつい

384 名前:デフォルトの名無しさん [2024/12/03(火) 03:51:20.88 ID:N6mUJPJA0.net]
コボル、BASIC から初めて次にC/C++にしたが
考えるとPythonのカッコ使わない記述は古典すぎる
コボル用の原稿用紙みたいなマス目の紙がうってたが
昔風の記法は紙に書くとかエディタにカッコの認識機能がなかったとかで
昔はよかったがいまは逆に不利では

385 名前:デフォルトの名無しさん [2024/12/03(火) 05:57:29.53 ID:e3hO3RHt0.net]
COBOLのインデントはただの見た目。pythonはインデントで認識するから、
見た目は同じでも違う



386 名前:デフォルトの名無しさん mailto:sage [2024/12/03(火) 09:41:07.24 ID:kLLVN+mm0.net]
>>364
人の目にページが表示されるまで細かくソースが変化するサイトがあって期待したエレメントを誤認識してクリック空振りとかあり得る
自分はクリック処理に入る前にページを完全に読み込んだか判断するようにしている
例えば「ここをクリック」のようなページ読み込み完了が確認できるような文字列がソースにあるか条件にし無ければwaitしてループみたいなの(できれば無限ループ避けに回数超えたらエラー終了とかいれて)

387 名前:デフォルトの名無しさん mailto:sage [2024/12/03(火) 09:42:35.91 ID:KPEF2J76H.net]
>>377
何ゆってんの
カッコが要らないことはプログラミングの革命だよ
カッコをタイプするのに全プログラマが消費している手間と時間が年間どれだけになるか計算しろ

388 名前:デフォルトの名無しさん (ワッチョイ b901-JDvb) mailto:sage [2024/12/03(火) 10:08:04.98 ID:/RopnMZy0.net]
IDE的なものを使ったことがないのかな?

IDEがサポートしてくれない手動アンインデント・手動フォーマットが必要なPythonのほうがタイプ量は多くなるぞ

389 名前:デフォルトの名無しさん (ワッチョイ 3f2a-L1ek) [2024/12/03(火) 10:08:51.03 ID:d8XC/DSv0.net]
日暮れて途遠し。関数のカッコも許すまじ。

390 名前:デフォルトの名無しさん (ワッチョイ ecd8-ZfKc) mailto:sage [2024/12/03(火) 10:11:04.18 ID:N6mUJPJA0.net]
もともとはカッコがなかったはずだ
アセンブラ FORTRAN Pascalとか
古典的なほど一行一文で必要性がひくい

391 名前:デフォルトの名無しさん (オッペケ Src1-maZQ) mailto:sage [2024/12/03(火) 12:51:02.33 ID:pPfZPcder.net]
364ですが皆さんアドバイスありがとうございます!
時間のあるときにいろいろ試したいと思います

392 名前:デフォルトの名無しさん [2024/12/03(火) 16:08:05.47 ID:UmbELZIZ0.net]
>>380
馬鹿過ぎて話しにならない
そんな理屈だとBASICとかが革命ってことになるだろ

393 名前:デフォルトの名無しさん [2024/12/03(火) 16:48:38.38 ID:7+FAz+IT0.net]
馬鹿げた話に馬鹿と突っ込むのは馬鹿っぽく見える。

394 名前:デフォルトの名無しさん (ブーイモ MMba-cbcK) [2024/12/05(木) 19:12:25.57 ID:f+d6ZP2RM.net]
>>385
タブや改行と半角スペースを混同して語るのは痛いな

395 名前:デフォルトの名無しさん (ブーイモ MMba-cbcK) [2024/12/05(木) 19:15:05.19 ID:f+d6ZP2RM.net]
BASICが詰めた見た目にできるのは構文解析が優秀だからだぞ?

アセンブラなんて1行、1命令だから。



396 名前:デフォルトの名無しさん mailto:sage [2024/12/05(木) 20:01:54.48 ID:m3F946dq0.net]
>>377
コピペした時のインデントが人間にしかわからんねえしな
欠陥言語だよ

397 名前:デフォルトの名無しさん (ワッチョイ fb54-5MfX) mailto:sage [2024/12/05(木) 20:39:01.52 ID:v//ZhfaU0.net]
BASICでインデントすると、貴重なメモリがインデント用に減っていく

398 名前:デフォルトの名無しさん [2024/12/05(木) 23:43:24.89 ID:PwliRaIW0.net]
>>390
いつのパソコンだよw

399 名前:デフォルトの名無しさん [2024/12/05(木) 23:44 ]
[ここ壊れてます]

400 名前::48.64 ID:PwliRaIW0.net mailto: >>389
ブロックを括弧にしたのは可読性が下がったので何とも言えない

START、ENDはくどいがこれはこれでわかりやすい
[]
[ここ壊れてます]

401 名前:デフォルトの名無しさん [2024/12/05(木) 23:45:08.94 ID:PwliRaIW0.net]
BEGIN、ENDの間違い

402 名前:デフォルトの名無しさん [2024/12/05(木) 23:45:53.80 ID:PwliRaIW0.net]
>>389
ブロックを括弧にしたのは可読性が下がったので何とも言えない

BEGIN、ENDはくどいがこれはこれでわかりやすい

403 名前:デフォルトの名無しさん mailto:sage [2024/12/06(金) 05:18:04.91 ID:AALfMO070.net]
AIでスラスラ

404 名前:デフォルトの名無しさん mailto:sage [2024/12/06(金) 05:54:20.93 ID:7NYpJagN0.net]
byteをhex()で変換すると長い文字列になって読みにくいので、
2文字ずつに区切る方法を誰か書いてないかなと検索したら、
AIが横取りして完全解答を示してきた

405 名前:デフォルトの名無しさん mailto:sage [2024/12/06(金) 07:54:25.37 ID:rsMlOC0k0.net]
>>394
分かりにくい



406 名前:デフォルトの名無しさん (ワッチョイ 46df-cbcK) [2024/12/06(金) 16:36:41.30 ID:JVxC5Ump0.net]
>>397
括弧は単に慣れているから変に思わないだけ

407 名前:デフォルトの名無しさん mailto:sage [2024/12/07(土) 14:06:32.90 ID:8ekNK8XTa.net]
dataをremで並べるのとかな

408 名前:デフォルトの名無しさん mailto:sage [2024/12/08(日) 03:04:53.14 ID:uhFONOyF0.net]
>>398
言い方を変えると慣れない
つまり使いづらいし分かりにくい

409 名前:デフォルトの名無しさん mailto:sage [2024/12/08(日) 15:49:08.95 ID:s3gWwTLZ0.net]
パイチョン嫌い
でも開発環境めっちゃ整備されてるな
perlがここまで来ていたら

410 名前:デフォルトの名無しさん mailto:sage [2024/12/08(日) 15:56:53.41 ID:am0IRcwN0.net]
perlとは方向性がかなり違うからなあ

短期的にはperlの方が楽だけど、結局長い目で見るとpythonできっちり書いた方が楽
perlは例外的なケースもよしなに吸収しといてくれるけど、
pythonに移植してみると気付いてなかった問題が顕在化したりする

411 名前:デフォルトの名無しさん [2024/12/08(日) 16:17:35.04 ID:YHg2sc8K0.net]
Pythonはwindowsで長いパス(最長はしらんがおそらく3万字とか)に対応してるので
ほぼその目的で利用
C/C++とそれに似てるPHPなどのほうが使いやすいのでこっちで書いてから
AI翻訳+修正すればいいとわかった

412 名前:デフォルトの名無しさん mailto:sage [2024/12/08(日) 16:21:58.87 ID:am0IRcwN0.net]
NASがext4なので、フルパスで255byteしか使えない
普通にきつい

413 名前:デフォルトの名無しさん (ワッチョイ ff33-4IGW) mailto:sage [2024/12/08(日) 16:35:08.33 ID:koJ73GUG0.net]
turtleモジュールの亀かわいい

414 名前:デフォルトの名無しさん [2024/12/09(月) 11:02:22.67 ID:uh4vUAM3a.net]
PHPはCと表面上は似てるけど全然違う詐欺みたいな言語だからな

415 名前:デフォルトの名無しさん (ワッチョイ dff4-tB0+) [2024/12/09(月) 13:23:03.85 ID:wWCmXoxS0.net]
科学 + 5ch

【AI】AIはわずか2時間の対話で人間の性格をコピーできる [すらいむ★]
https://egg.5ch.net/test/read.cgi/scienceplus/1733576027/

コメントに面白いことが書かれている



416 名前:デフォルトの名無しさん mailto:sage [2024/12/09(月) 13:50:05.32 ID:QWMKV9/M0.net]
最近のプログラミングというのはAIに書かせたコードを切り貼りする作業なわけだが、
その点ではブロックをインデントで表現するスタイルはあまり相性良くないと思うわ
コピペ後に手修正が発生することが多い
もう一息でAIによる提案を反映するところまでAIにお任せで問題なくなるだろうけど、現状ではまだ人手での反映の方が結局早いことが多いんだよな

417 名前:デフォルトの名無しさん mailto:sage [2024/12/09(月) 16:14:44.29 ID:sn8s4H5G0.net]
たしかにLLMはインデント苦手なんだよな

418 名前:デフォルトの名無しさん mailto:sage [2024/12/09(月) 19:15:26.73 ID:ktJRf3El0.net]
b = b'\x00'

with open('out.bin', 'wb') as f:
 print(b, file=f)

TypeError: a bytes-like object is required, not 'str'
なんで駄目なんだろう

419 名前:デフォルトの名無しさん [2024/12/09(月) 20:37:30.69 ID:9JwnAf8xd.net]
write

420 名前:デフォルトの名無しさん mailto:sage [2024/12/09(月) 20:40:31.86 ID:gu5LX463H.net]
>>410
そりゃあなた、print()は文字を表示する関数ですから
文字に変換できないオブジェクトを渡すとそうなります
普通にf.write(b)じゃダメなの?

421 名前:デフォルトの名無しさん mailto:sage [2024/12/09(月) 20:48:18.70 ID:ktJRf3El0.net]
"b'\x00'" という文字列に変換してwbする挙動になるのか

textはwrite使わずにprintの方がいろいろ便利だけど、
bytesで便利なことはなさそうだから、普通にwriteだな

422 名前:デフォルトの名無しさん [2024/12/10(火) 00:27:38.32 ID:YQiWPJG/0.net]
AIに聞けば、おしえてくれる。聞くまでもないんだけど
このエラーは、print関数を使ってbytesオブジェクトをファイルに書き込もうとしたために発生しています。
print関数は文字列を出力するために設計されていますが、bytesオブジェクトを扱う場合には文字列ではなくバイト列として処理する必要があります。
ファイルにbytesオブジェクトを直接書き込むためには、
file.write()メソッドを使用する必要があります。

423 名前:デフォルトの名無しさん mailto:sage [2024/12/10(火) 00:32:59.18 ID:dYoxCOIq0.net]
このへんもperl脳なんだよな
openする時にテキストかバイナリか指定して、
出力はなんでもprint
暗黙で変換が入るとかしない

424 名前:410 ではない (ワッチョイ 872a-hkg+) [2024/12/10(火) 09:50:53.98 ID:6plb36uZ0.net]
a bytes-like object is required, not 'str'
'str' ではなく、bytes-like オブジェクトが必要

ってエラー文がおかしくないか。>>412 や AI の説明は

bytes-like オブジェクトではなく、'str' が必要

と読める。

425 名前:デフォルトの名無しさん (ワッチョイ 7f32-swFN) mailto:sage [2024/12/10(火) 10:10:38.83 ID:ucbgABp/0.net]
いや、その訳の方がおかしいだろ。



426 名前:デフォルトの名無しさん mailto:sage [2024/12/10(火) 10:34:29.33 ID:/OZpuXS/0.net]
pythonで数式処理システム丸ごとパクリました
rustもいるのでモジュールはこっちでできます
というのはpythonの幸運だったんだろうな

427 名前:416 [2024/12/10(火) 10:53:36.34 ID:6plb36uZ0.net]
>>417
そうなの? オレは他の訳を思い付かないのだけど、正しくはどう訳されるべきなの?

428 名前:デフォルトの名無しさん mailto:sage [2024/12/10(火) 11:00:10.65 ID:ucbgABp/0.net]
>>419
スマン。おかしいのは訳でなくて解釈のほう。

429 名前:419 [2024/12/10(火) 11:45:56.57 ID:6plb36uZ0.net]
>>420
正しくはどう解釈されるべきなの?

430 名前:デフォルトの名無しさん mailto:sage [2024/12/10(火) 20:50:32.76 ID:wrcvbyOIH.net]
>>419
その解釈で合ってる
「バイナリ書き込みモードでopenされたファイルなんだからバイナリデータを寄越せ。printじゃstr型データしか来ねえから却下」とPythonは言いたいのだと思う

431 名前:デフォルトの名無しさん mailto:sage [2024/12/11(水) 00:37:18.02 ID:82tZrBQM0.net]
perl脳の方が合ってると思うけどな
個人的には

432 名前:デフォルトの名無しさん [2024/12/11(水) 01:27:21.96 ID:bYjfV/I80.net]
>>416
センスの悪いエラーメッセージでも、あとからエラーメッセージを変更すると混乱が生じる。

バイナリーデータをbytes-like objectと呼んだり、テキストデータをstrと呼んだりしているのは、Pythonそのものの言葉のセンスが悪いだけ。

433 名前:デフォルトの名無しさん [2024/12/11(水) 07:23:25.72 ID:uq+uLBFl0.net]
bytes-likeもstrも妥当でしょ
bytes型やbytearray型などバイト列を意味するもの全般を渡すことができるんだし
実際に渡されたもの (str型) については具体的な型名が分かるんだから、これを「テキスト」のような抽象的な表現にする必要もない

それとエラーメッセージについては過去との互換性は重視されない
言語のバージョンアップの際に、より分かりやすいものになるよう変更されることがある
これは他の言語あるいはライブラリでもそうじゃないかと思う

434 名前:デフォルトの名無しさん (スププ Sdff-Dl9P) [2024/12/11(水) 12:05:40.54 ID:m05bfKTqd.net]

435 名前:target="_blank">>>416
君はprintの方にしか目が行ってないからそうなる
bytesを要求してるのはfだ
誤ってprintを使っちゃってるからfにstrがわたってる

>>415 の言う暗黙の変換なんてどこにもない
むしろ暗黙の変換が酷いのはperlの方だ
[]
[ここ壊れてます]



436 名前:デフォルトの名無しさん [2024/12/11(水) 14:49:10.23 ID:A39AeE7U0.net]
自動変換にするかバイナリ1本化でいいとおもうのだが
実装はしらないが
文字列型といっても中身はバイナリで追加でエンコード型が付与されてるだけだろ
プログラムする側が何コードか把握してるか判別機があればすべてバイナリで問題はない

437 名前:デフォルトの名無しさん mailto:sage [2024/12/11(水) 18:36:44.78 ID:z4Opkr7B0.net]
>>426
暗黙の変換はされてる
print関数のリファレンスに書いてある通り

バイナリモードのファイルオブジェクトはprint関数のfile引数として使えないという制約があるにも関わらずそれをprint関数独自ではチェックせずファイルオブジェクト側でチェックしてるから不親切なエラーメッセージしか出せない

多少改善はされたけどPythonのエラーメッセージの品質は所詮こんなものだからプルリクするのでなければ諦めれ

438 名前:デフォルトの名無しさん (ワッチョイ a7f0-jQuo) mailto:sage [2024/12/11(水) 18:58:38.06 ID:qJKCX3/k0.net]
pythonのこの辺りの処理はゴミ
python2との互換性を壊してまでいたのがこれ?って感じ

439 名前:デフォルトの名無しさん mailto:sage [2024/12/11(水) 22:06:14.26 ID:svJ0GfXp0.net]
大体わかっとけばあとは生成AIに任せておけば楽勝だからお前らみたいに細かい勉強してないわ

440 名前:デフォルトの名無しさん mailto:sage [2024/12/11(水) 23:19:16.57 ID:8u2IhVZ40.net]
むしろこういう細かい部分こそAIが苦手で人間が理解しておくべきこと

441 名前:デフォルトの名無しさん (ワッチョイ 4781-N88W) [2024/12/12(木) 00:19:29.59 ID:Vyvzpldr0.net]
プログラミングガチ初心者なんですけどpython勉強するのに良いサイトとかってありますか?
出来れば無料で使える奴が良いです^^;

442 名前:デフォルトの名無しさん (ワッチョイ 2762-RQnm) mailto:sage [2024/12/12(木) 00:22:35.11 ID:ztk/OuLW0.net]
つ colab

443 名前:デフォルトの名無しさん (ワッチョイ df02-xJXv) mailto:sage [2024/12/12(木) 00:25:55.25 ID:AgOU+GVp0.net]
>>432

kaggleかな

444 名前:デフォルトの名無しさん (ワッチョイ 47e7-N88W) [2024/12/12(木) 05:15:27.83 ID:Vyvzpldr0.net]
>>434
>>433
thx

445 名前:デフォルトの名無しさん [2024/12/12(木) 12:07:07.57 ID:f9Vwr+H/0.net]
これバグだろ
いまだ治ってないのか
デストラクタで最後にファイル書き込みしようしたらopenが無いみたいな例外出て
この記事のようにimport atexitでできたが


Python: グローバルスコープにあるオブジェクトの __del__() でインポートしたときの挙動について
グローバルスコープにあるオブジェクトの __del__() で別のモジュールをインポートしてるとき、そのオブジェクトがプロセス終了時に破棄されると場合によっては例外になる。 ただし、これは Python の仕様かというとかなり微妙で CPython の 3.x 系でしか同じ問題は観測できていない。



446 名前:デフォルトの名無しさん mailto:sage [2024/12/12(木) 19:02:13.23 ID:EW+16OEH0.net]
>>432
赤ちゃん向け
https://www.python.jp/train/index.html

幼稚園児向け
https://utokyo-ipp.github.io/

どっちかやれば後はやりたいことに合わせて学べ

447 名前:デフォルトの名無しさん mailto:sage [2024/12/12(木) 19:43:45.42 ID:fFGTBp7j0.net]
https://i.imgur.com/IqiyOaS.png
カオス

448 名前:デフォルトの名無しさん [2024/12/12(木) 20:08:40.63 ID:xVVXHqvg0.net]
>>437
Google Colab とかノートブックとか初っ端から謎ワードの連続で無理...

449 名前:デフォルトの名無しさん (ワッチョイ 474b-Ahcx) [2024/12/12(木) 22:42:21.01 ID:m/Fq7DtI0.net]
Colabでなく自分のPCにPythonの実行環境を入れるても良いと思う
公式のWebページから自分のPCに合ったもの (例えばWindowsならWindows用のインストーラー) をダウンロードして実行する

Pythonは実行環境が必要で、例えばPythonのプログラムを書いたとしても、それを読み取って命令を実行するものが無いと何もできない
それが実行環境
例えば「PythonがインストールされているPC」のような言い回しをした場合はこれを指す

Colabはざっくり言えば「Web上でPythonコードを書いて、Web上で結果を確認する」もので、PythonをインストールしてないPCでもPythonを体験できるというもの
ただしGoogleでのアカウント登録などの手間は要る
Colab自体の説明もそのページにあるし、それに従っても良いけど、自分のPCで動かしても良い

自PCで動かす場合は、プログラムを書くための道具 (エディタ) として VS Code をインストールするのをおすすめする

プログラムの書き方とかはColabでも自分のPCで実行するのでも変わらないので、「Colabを使わないとこのガイドは役に立たない」ということはないはず

450 名前:デフォルトの名無しさん mailto:sage [2024/12/12(木) 22:45:32.70 ID:fFGTBp7j0.net]
よく知らん世界で変数に値が代入されてもどうでもいいからな
眼の前の細かい問題が解決されないことには何の役にも立たない

451 名前:デフォルトの名無しさん [2024/12/13(金) 02:02:43.13 ID:HOcX/CPId.net]
馬鹿には無理
これが真実

452 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 06:04:06.54 ID:J/ura0hhH.net]
>>442
ところがどっこい
AIの登場で馬鹿でもコードが書ける世の中になりました
むしろITエンジニアは仕様をAIに的確に指示する国語力が問われます

453 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 08:13:08.30 ID:PGPdXgeN0.net]
過去に誰かが書いたことのあるコードを真似できるだけなんだけどな
どうせ似たようなことばっかりしてるだけだから、それで足りてしまう訳だけど

454 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 08:36:10.48 ID:afuAO8aY0.net]
Googleの2024年の新規コードの1/4はAIによるもの
これからますます増えるだろうな

455 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 08:51:50.46 ID:J/ura0hhH.net]
>>444
それでいいのよ
俺ら凡人がPythonで書きたいコードなんて、誰かしら先人が既に書いている
それを検索してコピペして手直しする作業をAIがやってくれるんだ



456 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 08:52:14.17 ID:PGPdXgeN0.net]
プログラミングは必須の知識だとして小学校で教え始めても、
ソロバンを教えてるのと同じようなことにならないか

457 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 11:08:31.34 ID:p0EgxGbh0.net]
>>446
企業のコードもそうだよな
結局

458 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 11:09:06.66 ID:p0EgxGbh0.net]
>>443
あれ国語でもないと思うぞ
別物

459 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 11:13:37.67 ID:cFM+ofEq0.net]
AIみたいに考えるスキルだろうね

460 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 11:41:56.11 ID:PGPdXgeN0.net]
そんなもんが要るのは黎明期の一瞬だけ

461 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 12:53:49.98 ID:afuAO8aY0.net]
cursorは使いこなせるようにならないとな

462 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 13:17:44.88 ID:p0EgxGbh0.net]
でもpython使うなら
新しいアルゴリズムを開発したいところ
俺も量子計算頑張る

463 名前:デフォルトの名無しさん [2024/12/13(金) 13:22:17.08 ID:DEcGtboS0.net]
>>447
> ソロバンを教えてるの

とは何。寓意が分からない。

464 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 14:10:25.85 ID:cFM+ofEq0.net]
>>454
計算機があるのに、ということやろ

465 名前:デフォルトの名無しさん [2024/12/13(金) 14:40:11.81 ID:L2Jn8AUB0.net]
>>455
ひとへに風の前の塵に同じ。
ひとへに計算機の前のソロバンに同じ。
ひとへに何の前のプログラミングに同じなの?



466 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 15:23:16.37 ID:iO77Ft520.net]
算盤がちゃんとできる人は暗算も得意だから無駄ではないだろ

467 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 15:55:46.77 ID:S3vfDw/Zd.net]
比喩が変だとどんどん話がおかしくなっていく

468 名前:デフォルトの名無しさん mailto:sage [2024/12/13(金) 16:01:13.73 ID:owGJr6UZ0.net]
小学生にはプログラミングよりむしろソロバン教えたほうがいいだろうな

469 名前:デフォルトの名無しさん [2024/12/13(金) 16:55:13.59 ID:L2Jn8AUB0.net]
>>447
プログラミングは必須の知識だとして小学校で教え始めても、句読点を教えられても打てないお前らと同じようなことになるの?

470 名前:デフォルトの名無しさん [2024/12/13(金) 17:29:42.67 ID:LAtQrsJV0.net]
サイコパスの脳の違いを発見。一般の人に比べ線条体が大きいことが判明
karapaia.com/archives/52313287.html

471 名前:デフォルトの名無しさん [2024/12/13(金) 17:50:30.57 ID:Uo55RvL40.net]
>>443
馬鹿は何をどうすれば良いかすらわからんから無理

472 名前:デフォルトの名無しさん (ワッチョイ ffdc-02MV) mailto:sage [2024/12/13(金) 18:46:30.02 ID:afuAO8aY0.net]
それすらAIが出してくれる

473 名前:デフォルトの名無しさん [2024/12/14(土) 00:32:10.18 ID:+/8ziscy0.net]
AIに結果だけでなく 云々って やり取りしてたら
それが大事なことですって返されたw

474 名前:デフォルトの名無しさん mailto:sage [2024/12/14(土) 03:24:41.72 ID:pcjhhzVc0.net]
現状は頭の悪い人が使いこなせるものではない
コードを生成する以上は当然何かしらの結果を求めるわけでそれが正しいかどうかはAIにもわからない
その関数が正しく動いても仕様を正しく満たしているとは限らないのだから

475 名前:デフォルトの名無しさん [2024/12/14(土) 03:37:00.65 ID:SXm2TFHi0.net]
>>465
>>463みたいな何が正しいかわからない馬鹿にはありがたがられている



476 名前:デフォルトの名無しさん (ワッチョイ c754-9uuH) mailto:sage [2024/12/14(土) 07:07:26.39 ID:o7zY5DjZ0.net]
自動翻訳と似たようなもんで
書けないけど読める程度の能力は無いと、合ってるのか全然判らん

コードならテストも一緒に生成させて、保証済みにすることはできるけど、
今度はテストが正しいのかどうかが判らん

477 名前:デフォルトの名無しさん mailto:sage [2024/12/14(土) 08:28:56.06 ID:9RGS76CaH.net]
自分で書ける人が楽するために使うのが効率いいね
書いてもらったコードに容赦なく突っ込みを入れて謝らせるのが快感
AIは人間と違っていくらダメ出ししてもへこたれたりコンプラ窓口に通報したりしないからな

478 名前:デフォルトの名無しさん [2024/12/14(土) 09:51:34.26 ID:vNvVxWyEa.net]
>>460
日本語には本来句読点は存在しないと教わらなかったのかおまえ

479 名前:デフォルトの名無しさん mailto:sage [2024/12/14(土) 09:55:50.05 ID:wREWJB/g0.net]
>>469
何いってんだこいつ

480 名前:デフォルトの名無しさん [2024/12/14(土) 10:30:09.42 ID:MlLEwa0c0.net]
>>469
どこまで進歩を否定できるかね。
・プログラム言語にPythonは存在しなかったと教わったので、アセンブリで記述する。
・ソフトウェアは存在しなかったと教わったので、ハードウェアで実現する。
・火を使わなかったと教わったので、生肉食って凍死する。

481 名前:デフォルトの名無しさん mailto:sage [2024/12/15(日) 00:12:19.08 ID:cAhZdgHB0.net]
CPythonってコードの処理部分にエラーメッセージ個別に直書きしてるよね
えぇんかこんな作りで

482 名前:デフォルトの名無しさん [2024/12/15(日) 11:36:58.09 ID:kWIS2Vi/0.net]
ライブラリなんかは大多数がそうやろ
Python以外の言語を含めても
UIのラベルとか、多言語対応が必要とか、そういうものでなければエラーメッセージは直書きでも基本的に問題ない

どこかでメッセージ一覧を定義して、それを各所から参考して……ってコードサイズが不必要に膨らむだけ
条件の直下のメッセージは確認しやすいけど、参照だとその先に飛ばないと内容を確認できないし、エラー理由とメッセージが合ってないなどの問題に気付きにくくなる

483 名前:デフォルトの名無しさん [2024/12/15(日) 11:43:59.49 ID:kWIS2Vi/0.net]
同じソースファイルやモジュール内でならダブりを減らすために参照する、ということはあるけどね
その辺はある程度柔軟にして良いと思う

484 名前:デフォルトの名無しさん (ワッチョイ 4a67-MuSW) mailto:sage [2024/12/15(日) 13:39:42.12 ID:2ocAHxOm0.net]
プログラムの理解は必要だけど
生成AI活用したらめちゃくちゃ生産性あがるね
いい時代だ

485 名前:デフォルトの名無しさん mailto:sage [2024/12/15(日) 14:27:49.00 ID:1H80RXIX0.net]
細かいif文の条件設定とかまだ間違えて出してくるけど大枠の処理の流れとかは俺より速く賢いの出してくる



486 名前:デフォルトの名無しさん mailto:sage [2024/12/15(日) 14:42:09.12 ID:qMlmNzBuH.net]
とりあえず大雑把でも動くものをサッと出してくれるのが本当に助かる
あとはテストしながら煮詰めて行けばいい
自分で一から書くと調べものだけで一日潰したりとかザラだからな

487 名前:デフォルトの名無しさん mailto:sage [2024/12/15(日) 14:45:31.08 ID:UyD9zs/g0.net]
「コードを生成する」レベルだと俺たちの生産性が上がる程度のことなんだよな
もっと大きな視点で生成AIを語らなきゃ
「サービスを作る」
とか
「アプリを作る」
という時点で見ると今の生成AIはまだまだ物足りないね
進化の余地はまだまだある

488 名前:デフォルトの名無しさん mailto:sage [2024/12/15(日) 14:47:13.51 ID:2ocAHxOm0.net]
プログラムとデータベースとサーバーのスキルがあれば
大抵のものは一人で作れるね
これからの時代、発信力とアイデアで勝負ですね

489 名前:デフォルトの名無しさん mailto:sage [2024/12/15(日) 15:04:49.94 ID:sTMTjc6t0.net]
データベースとサーバーに関するものしか作れない
webアプリが作りたいならwebの知識が要るし、
ハード制御したいならハードの知識がいる

490 名前:デフォルトの名無しさん mailto:sage [2024/12/15(日) 16:20:28.80 ID:A5eyIB7V0.net]
よそでやってるサービスを丸ごとパクってくるのがコンサルの仕事だったがこれがなくなったな
新しいものは誰にとっても大変

美術界芸術界デザイナーと同じことやな
パクリが偉そうにして必死で周りから盗んでる

491 名前:デフォルトの名無しさん mailto:sage [2024/12/16(月) 09:24:58.90 ID:EgTWSdxB0.net]
re.searchがコンパイルしても速度でperlに負けるなあ

492 名前:デフォルトの名無しさん mailto:sage [2024/12/20(金) 08:34:56.68 ID:6q6MnR150.net]
pypyってずっと「ぴぴー」だと思ってた
ぱいぱいなのね、エロい

493 名前:デフォルトの名無しさん [2024/12/20(金) 15:29:58.94 ID:raronLtC0.net]
JAIST、「並行量子通信プロトコル」の完全な自動形式検証を実現
news.mynavi.jp/techplus/article/20241220-3090485/

494 名前:デフォルトの名無しさん [2024/12/21(土) 10:55:16.63 ID:bIHzWCsda.net]
会員登録しないと読めないようなサイト貼るなよ

495 名前:デフォルトの名無しさん mailto:sage [2024/12/21(土) 12:25:00.73 ID:pwsLuBo50.net]
そいついつもクソみたいな記事貼るからmynaviでNG登録しとくといいぞ



496 名前:デフォルトの名無しさん mailto:sage [2024/12/21(土) 12:36:49.56 ID:1IkBy+Fi0.net]
そこは別にいいんちゃう

497 名前:デフォルトの名無しさん mailto:sage [2024/12/22(日) 05:10:00.65 ID:mtwx2rsP0.net]
>>487


498 名前:デフォルトの名無しさん mailto:sage [2024/12/22(日) 09:51:07.98 ID:q6RAF36e0.net]
マイナビ登録してみたけど、いろいろ作りの甘いサイトだな
ログインしないつもりだったのにログインしている
ログアウトが見つからない
サイトから移動しますかの確認がいちいち出る
必要条件が満たされないとボタンが押せない仕組みになっていない
ユーザーのアイコンに1の表示が出っぱなしで何のことか判らない

あまりIT技術に詳しくない人が作ってる

499 名前:デフォルトの名無しさん mailto:sage [2024/12/22(日) 11:10:04.97 ID:xPymu+XWM.net]
個人情報お漏らししてるし
IT関連の会社ではないだろ

500 名前:デフォルトの名無しさん [2024/12/22(日) 12:07:50.65 ID:gGsgW1AHa.net]
>>489
まるでQiitaやFacebookやXだな

501 名前:デフォルトの名無しさん mailto:sage [2024/12/22(日) 12:26:42.74 ID:q6RAF36e0.net]
やっとログアウト方法見つけた
再ログインすると、ページが見つかりませんと表示される

会員アイコンをクリックするとマイページの階層に飛ぶのが本来の筈なのに、
その下の登録情報変更に飛んでそこから戻れない

502 名前:デフォルトの名無しさん [2024/12/22(日) 12:35:12.03 ID:gGsgW1AHa.net]
ただのバグ報告はスレチ

503 名前:デフォルトの名無しさん mailto:sage [2024/12/28(土) 10:13:29.12 ID:3GhbGw0k0.net]
PythonというよりはQtの話かもしれんないけど、PySide6を使ってるのでこちらで質問
ウィンドウ内にあるウィジェットの枠をドラッグで調整したいときの方法が分からないです

↓の動画のような動きをしたい
https://streamable.com/k87ct0

動画はエクスプローラーの例で、左がツリービュー、右がリストビューで、その間をドラッグでサイズ調整したいんです
Windowsアプリではよくあると思うんですが、この機能の名称が分からず検索しても見つけられなかった

参考になるサイトやサンプルがあると助かるのですが、どなたかご存じの人がいたら教えてくださいm(_ _)m

504 名前:デフォルトの名無しさん [2024/12/28(土) 15:14:32.69 ID:+wr15D9A0.net]
QSplitter を使う
AIに聞くにはこんな感じで
'PySide6 一つのフォームに 2つのwindow領域を作る例 左右の並びで
領域はサイズ調整可能'

505 名前:デフォルトの名無しさん mailto:sage [2024/12/28(土) 20:36:02.31 ID:3GhbGw0k0.net]
>>495
サンクス!
Qt Designerでそれらしいコンテナが見つからず、slideとかで検索してもQSliderとか出てくるし、困ってた
Qt Designerでスプリッターを使うには、ウィジェットを選択して右クリックからなのね
これでGUIアプリの作成にチャレンジできますわ
AIも参考になりました



506 名前:デフォルトの名無しさん [2025/01/01(水) 22:16:25.37 ID:1GuC2YKw0.net]
pipとかpoetryからpyPI繋がんねーな

507 名前:デフォルトの名無しさん mailto:sage [2025/01/04(土) 00:22:28.05 ID:72xSf60h0.net]
字幕表示してて、長さが画面幅を超えたら改行したい
プロポーショナルフォントで全角半角入り混じった表示幅なんか、
どうやったら取得できるだろう

508 名前:デフォルトの名無しさん [2025/01/04(土) 01:01:54.24 ID:PFHZ5xFT0.net]
True Typeフォントの使う文字の座標系を引っ張りだしてきて
その最小と最大の座標を取得して、フォントサイズのポイント相当のドット幅を計算する
使うすべての文字を1文字ずつ計算
って やればできるが現実的でない...よね
単純に 12ポイントが16x16ドットで計算するとか

509 名前:デフォルトの名無しさん mailto:sage [2025/01/04(土) 01:21:50.54 ID:M4FF0WkE0.net]
カーニングとか考えないならそうなんだろうな

510 名前:デフォルトの名無しさん (アウアウエー Sa52-fscC) [2025/01/04(土) 10:12:43.18 ID:9AJmtK0Pa.net]
>>498
Windowsなら表示される文字列全体の表示幅を還すAPIがあるのでそれを使う
pythonだけで適当にやるなら実際に描画する前に表示されないメモリDCに先に描画して
背景と比較してどこまで描画されたかを調べて表示幅を取得すれば良いんじゃね

511 名前:デフォルトの名無しさん [2025/01/12(日) 00:27:05.77 ID:dTcIHoiJd.net]
角括弧[T]構文とかなんか汚ねえな
ジェネリックだのアノテーション方面から汚れてきてるな
すでにPerlより汚いのでは
前方参照とか__init__()だの

512 名前:デフォルトの名無しさん mailto:sage [2025/01/12(日) 20:36:54.45 ID:jie/PZI00.net]
内包表記の書き方は覚えてても、内包表記という名称をいつも忘れる

513 名前:デフォルトの名無しさん [2025/01/13(月) 13:34:17.99 ID:g4/CTboDa.net]
うbyよりはマシだよ

514 名前:デフォルトの名無しさん mailto:sage [2025/01/13(月) 18:30:48.03 ID:yjxCA/ti0.net]
comprehensionの、もっと良い訳はなかったのか

515 名前:デフォルトの名無しさん mailto:sage [2025/01/13(月) 18:40:00.54 ID:2a7ZU6nP0.net]
python初めて触れたけど、インデントが判断、ループブロックの意味を持つってクソすぎだろw
やっぱ、レス見ると同じ様に思ってる奴多いな。
どうしてこうなったw



516 名前:デフォルトの名無しさん mailto:sage [2025/01/13(月) 20:43:50.82 ID:0Vj63HhM0.net]
インデント自体はクソだけど平易に書くように働く点で有能
そういう要素が多い
lambdaもそうでdefで書くようになる

517 名前:デフォルトの名無しさん mailto:sage [2025/01/13(月) 21:00:08.60 ID:S0OuVEz70.net]
行内ではフリーフォーマットだけど、行頭のインデントだけは厳密
という態度豹変に面食らうんだよな

まあ、インデント間違ってても許される言語の方が実害多い

518 名前:デフォルトの名無しさん [2025/01/14(火) 08:11:01.41 ID:SrCf5X7D0.net]
>>508
> 行内ではフリーフォーマット

がよく分からない。

519 名前:デフォルトの名無しさん mailto:sage [2025/01/14(火) 08:32:04.72 ID:KhgfrG4BM.net]
カラム位置まで指定されている RPGとかを想定しているんじゃね?
しらんけど

520 名前:デフォルトの名無しさん [2025/01/14(火) 14:34:05.45 ID:i6PsXw8T0.net]
Pythonでスクレイピングの質問よろしいでしょうか。

IPローテーションでインスタライブの情報を取得したいと考えています。
かつて、PythonでInstagramの非公開APIに繰り返しアクセスし、インスタライブの配信情報を取得していましたが、IPブロックのせいか前述の方法でアクセスできなくなりました。
bright dataのような有料サービスを利用し、IPローテーションでアクセスを試みたいのですが、Instagram関連のAPIに有効でしょうか。

お試しされた方がいらっしゃたら、コメントいただけると幸いです。

521 名前:デフォルトの名無しさん mailto:sage [2025/01/14(火) 15:00:45.78 ID:pTMFifAu0.net]
アクセス制限されたなら使うべきじゃないんでは
大陸人の思想だな

522 名前:デフォルトの名無しさん mailto:sage [2025/01/14(火) 15:52:41.71 ID:49OmJo2t0.net]
別に大陸とか関係なくクズはクズよ
最低賃金の仕事してからそう思うようになったわ
話がそれたけどブロックされてるならただのクラッキングだから辞めとけってのが答え

523 名前:デフォルトの名無しさん mailto:sage [2025/01/14(火) 15:53:47.83 ID:49OmJo2t0.net]
クラッキングだから辞めとけ

524 名前:デフォルトの名無しさん (ワッチョイ 4acb-U3nF) mailto:sage [2025/01/14(火) 19:43:05.09 ID:VlX9UfuO0.net]
堂々と違法行為の相談するとかおそろしい

525 名前:デフォルトの名無しさん (ワッチョイ f954-A89Y) mailto:sage [2025/01/14(火) 19:50:11.75 ID:6TReUIVg0.net]
IPローテーションが有効かどうかはpython関係ないしな



526 名前:デフォルトの名無しさん (スップ Sdca-Qywu) [2025/01/14(火) 20:04:54.54 ID:4a6i7DXld.net]
今後はblackみたいな完全に機械的なフォーマットに従って書くようになっていくんだろ
ぱいちょんって

527 名前:デフォルトの名無しさん (ワッチョイ a993-1EqR) mailto:sage [2025/01/16(木) 08:53:44.52 ID:vHBJCVRy0.net]
とはいえ皆カスタムするから結局バラバラなフォーマットになる
デフォルトの1行88文字制限とかアホすぎるし

528 名前:デフォルトの名無しさん mailto:sage [2025/01/17(金) 10:42:50.01 ID:w4z8H3gJ0.net]
今更だが、本屋のコンピュータ関連書籍のトコ、
Python入門書が狂い咲きだね。
敷居が低くなるのは良い事だけど。

529 名前:デフォルトの名無しさん (ワッチョイ 862a-Zdzc) [2025/01/17(金) 10:53:59.70 ID:eoeaxZuy0.net]
>>519
君も著作したまえ。内容なんてどれもチュートリアル丸写しだ。

530 名前:デフォルトの名無しさん (ワッチョイ f954-A89Y) mailto:sage [2025/01/17(金) 11:09:19.33 ID:lUhfcPef0.net]
リスト内包表記は数学の集合の内包的表記から来ている
内包的表記は外延的表記と対になる概念で、要素を列挙するか、要素の特徴で表すかの違い
内包的表記は定義域と命題関数から構成される
{x∈R | 2x}
こう書くと定義域がRで、命題関数が2x
Rに含まれるxに対して、2xで評価されるもので構成される集合

同じことをリスト内包表記で書くと、
[2*x for x in R]
になる
定義域と命題関数の順序が逆なのは、'for' というキーワードの意味と合わせる為だろう

531 名前:デフォルトの名無しさん mailto:sage [2025/01/17(金) 11:41:18.37 ID:lUhfcPef0.net]
仮に数学と同じ順序で書くと
[x in R | 2*x]
[x in R such that 2*x]
[x in R s.t. 2*x]
こんな感じになっていただろう
言語仕様として微妙なので却下したけれど、
such that抜きでいきなり命題関数が現れるので、読んでも意味が判らなくなった

532 名前:デフォルトの名無しさん mailto:sage [2025/01/17(金) 14:52:11.51 ID:lUhfcPef0.net]
2*xといきなり書く時点でxは初登場なので、普通に考えるとNameErrorになる
後で出てくるx in Rのxだよと言われても、そこだけ文法が歪んでいる
for x in R に対して 2*xのリストを作る、という順序で読めた方が明らかに判りやすい

533 名前:デフォルトの名無しさん mailto:sage [2025/01/17(金) 16:46:49.13 ID:Ik5FlFRf0.net]
間違い。命題関数ってのは平たく言えば条件のことで、Pythonの内包表記のif節に相当する。
例えば [2*x for x in R if x < 5] は数学の内包表記では {2*x | x ∈ R, x < 5} と表記する。同じだろ?

534 名前:デフォルトの名無しさん mailto:sage [2025/01/18(土) 08:37:19.38 ID:naGWW37A0.net]
seleniumはパスワードとかcookieを保存するとかより、
profileそのものを保持した方が無敵だったけど、
何かの拍子にprofile無効になっちゃうな

535 名前:デフォルトの名無しさん mailto:sage [2025/01/18(土) 10:43:38.07 ID:0UqLKpkd0.net]
いまさら selenium



536 名前:デフォルトの名無しさん [2025/01/18(土) 16:09:23.54 ID:wtp0JU6d0.net]
英文テキストを入力として,ロンゲストマッチ,というか,最長の部分列を探すプログラムを書きたいのだが,CだとPrograming Pearlsのコラム15にあるのでいいのだが,そのままだとpythonに乗らないし,何かいい方法はないかなあ.

537 名前:デフォルトの名無しさん mailto:sage [2025/01/18(土) 16:19:53.66 ID:FL3+FJ2v0.net]
いうほどいまさらか?
なんかいい代わりになるものある?

538 名前:デフォルトの名無しさん mailto:sage [2025/01/18(土) 16:30:43.24 ID:BqhOY8myM.net]
>>527
それそのまんまAIに聞けばいいよ
手元でGemini 2.0 Experimental Advancedに聞いてみたら見事な回答をくれたぞ

539 名前:デフォルトの名無しさん mailto:sage [2025/01/18(土) 16:38:42.51 ID:8uvwUc2N0.net]
課金できないんだろ
察してやれ

540 名前:デフォルトの名無しさん mailto:sage [2025/01/18(土) 17:32:09.61 ID:vWHjWIZo0.net]
>>528
Playwright とか?

541 名前:デフォルトの名無しさん (ワッチョイ fef0-gVZi) mailto:sage [2025/01/18(土) 19:20:33.75 ID:FL3+FJ2v0.net]
>>531
良さそうだな
試してみるわ

542 名前:デフォルトの名無しさん (ワッチョイ 43ad-4fJb) [2025/01/19(日) 00:35:41.94 ID:WuaBvw6S0.net]
文字列なんて、正規表現を使えば、最長一致・最短一致なんて簡単にできるのでは?

543 名前:デフォルトの名無しさん (ワッチョイ f354-Be6J) mailto:sage [2025/01/19(日) 00:58:15.54 ID:GNlIXdkj0.net]
単純に文字列を探すなら最長も何もない訳で
最長と言ってる時点で正規表現のワイルドカードが前提なのでは

544 名前:デフォルトの名無しさん (ワッチョイ 33b1-dt5S) mailto:sage [2025/01/19(日) 01:07:38.45 ID:aE0XKMyP0.net]
2つの文字列に共通する最長の部分文字列を探すやつでしょ

545 名前:デフォルトの名無しさん (ワッチョイ 5301-IoNS) mailto:sage [2025/01/19(日) 01:20:41.36 ID:npat2aPV0.net]
find the longest duplicated substringってやつでしょ
Programming Pearlsの一番簡単な例でいくと“Ask not what your country can do for you, but what you can do for your country”という文字列なら”can do for you”が答え



546 名前:デフォルトの名無しさん mailto:sage [2025/01/19(日) 18:08:17.85 ID:LhzIGXPA0.net]
ここで質問するのとgeminiとかcopilotに質問すんのどっちが効率いいかな?

547 名前:デフォルトの名無しさん mailto:sage [2025/01/19(日) 18:20:45.02 ID:GNlIXdkj0.net]
そもそも質問スレではない

548 名前:デフォルトの名無しさん [2025/01/19(日) 18:42:00.94 ID:QRrLEXGb0.net]
お勉強スレで質問するなとは無理すぎ。

549 名前:デフォルトの名無しさん mailto:sage [2025/01/20(月) 01:08:32.20 ID:BsvendGF0.net]
pyscriptって最近どうなの?
js苦手だから当初は期待してたんだけど

550 名前:デフォルトの名無しさん (ベーイモ MMff-4FDL) mailto:sage [2025/01/20(月) 15:05:27.82 ID:7WH6y8fWM.net]
最近もクソも今も昔もこれからもオモチャであり実用するようなものではない
js書きたくないならpythonで書いて翻訳してもらえばよい

551 名前:デフォルトの名無しさん mailto:sage [2025/01/20(月) 20:50:18.86 ID:uBkCdSeR0.net]
その手のは大体アホが始めてやってるうちにアホらしくなって開発が止まる
Jythonとかね

552 名前:デフォルトの名無しさん mailto:sage [2025/01/20(月) 21:03:17.22 ID:6bfYmu3O0.net]
pythonで書くのは簡単に書きたいという要求があると思うけど、
簡単に書きたいと厳密に書きたいは相反するので、
大抵は徒花言語として散っていくんだよな

pythonが意外と厳密な用途にも使えるのは、バランスが良かったのだろう

553 名前:デフォルトの名無しさん [2025/01/20(月) 22:50:09.23 ID:08Nyz7B30.net]
簡単に書けない言語って何?

554 名前:デフォルトの名無しさん mailto:sage [2025/01/20(月) 22:55:39.50 ID:6bfYmu3O0.net]
C++

555 名前:デフォルトの名無しさん [2025/01/21(火) 08:23:31.58 ID:yRL5l1cZa.net]
rubyっぽい文法が売りのナントカとscriptでjsにするのもあったな
名前も忘れちゃったよ



556 名前:デフォルトの名無しさん (アウアウウー Saa7-C2Lh) [2025/01/21(火) 08:25:23.93 ID:yRL5l1cZa.net]
coffeescriptだ思い出した

557 名前:デフォルトの名無しさん mailto:sage [2025/01/21(火) 11:52:18.11 ID:gA/FmHct0.net]
>>543
はえ~勉強になるぅ

558 名前:デフォルトの名無しさん [2025/01/21(火) 12:02:24.94 ID:ZMbV0RT+0.net]
やりたいことがやりたいように出来るのはC++

559 名前:デフォルトの名無しさん [2025/01/22(水) 15:36:19.34 ID:3ss9Z0B7a.net]
やりたいことがやりたいように出来るのはC

560 名前:デフォルトの名無しさん mailto:sage [2025/01/22(水) 16:41:12.84 ID:rqHpU9Ud0.net]
C++に気に食わない機能や作法があっても
使わずに独自で書けばええんよ

561 名前:デフォルトの名無しさん [2025/01/23(木) 10:18:36.86 ID:MfXmmgFNa.net]
C++の要らない機能を無理に使わず
BetterThanCとしてCの範囲で使っておくのが正解

562 名前:デフォルトの名無しさん [2025/01/23(木) 17:36:52.16 ID:zJefYyzo0.net]
拷問現在の日本でもある
https://nazology.kusuguru.co.jp/archives/168908

563 名前:デフォルトの名無しさん mailto:sage [2025/01/24(金) 20:46:41.96 ID:AnpieBwS0.net]
forでリストを処理するときに
そのリストから値をremoveすると次の値が飛ばされる
その対策として
for i in tuple(リスト名):
としてタプルに変換して問題解決はしているのだけど
王道的な別な解決策ってある?

564 名前:デフォルトの名無しさん mailto:sage [2025/01/24(金) 21:01:24.34 ID:g+2OlWgu0.net]
別のコピーなら何でもいいんでしょ

565 名前:デフォルトの名無しさん mailto:sage [2025/01/24(金) 21:59:09.40 ID:oJDbtKku0.net]
王道は破壊的な処理をせずフィルタ動作にする
必要なら元の変数にアサインし直す



566 名前:デフォルトの名無しさん mailto:sage [2025/01/24(金) 22:02:58.75 ID:g+2OlWgu0.net]
文脈が判らんけど、リストを条件に合うように作り直すなら、
あるべきリストを別に生成して、完成したら元のリストを更新するかな

567 名前:デフォルトの名無しさん mailto:sage [2025/01/24(金) 22:24:39.69 ID:CNUIUSvw0.net]
リスト内包表記でいいじゃん
関数型言語的に書いた方がいいよ
forは使うところない

568 名前:デフォルトの名無しさん (ワッチョイ 5301-U9fZ) mailto:sage [2025/01/24(金) 22:42:35.20 ID:Js6GMDZG0.net]
>>554
王道はin-placeで削除しようとせずにフィルターして削除済みの新しいリストを生成する
(Pythonでフィルターするときはcomprehensionを使うのがデフォ)

in-placeで削除したい時はリストの最後からインデックスで回して削除する

↓これはO(n)でいいところをO(n^2)で処理してるからNG
for i in tuple(リスト名):
 if predicate(i):
  リスト名.remove(i)

569 名前:デフォルトの名無しさん (ワッチョイ cf10-3anD) mailto:sage [2025/01/24(金) 22:47:32.12 ID:rKtZO0PM0.net]
文が必要な場合には内包表記では書けないでしょ。

570 名前:デフォルトの名無しさん (アウアウウー Saa7-LZB9) [2025/01/24(金) 22:51:11.07 ID:CUf3ZumHa.net]
忌み数字を踏ませる業者、アプリ、コンピュータプログラムの嫌がらせ

動画

571 名前:ト生回数、表示回数、登録者数、フォロワー数、評価数、コメント数、レベル、経験値、ポイント、HP、通貨、価格、メッセージ数、通知数、フレンド数

4(死)、13(キリスト教における忌み数字)

18(嫌)、24(〜に死)、34(〜さん死)

40、42、44

56(殺)、64(無視)

71(無い)、74(無し)、79(無く、亡く)

84(〜は死)、94(〜君死)、96(黒)

このような数字と名前や生年月日、IDなどを組み合わせて執拗に強調することで、精神攻撃をする業者やストーカー、嫌がらせ組織がキモい。
[]
[ここ壊れてます]

572 名前:デフォルトの名無しさん (ワッチョイ 5301-U9fZ) mailto:sage [2025/01/24(金) 22:51:58.63 ID:Js6GMDZG0.net]
関数化するだけでしょ。

573 名前:デフォルトの名無しさん (ワッチョイ f354-Be6J) mailto:sage [2025/01/24(金) 22:53:05.01 ID:g+2OlWgu0.net]
王道がわらわら出てくるっていう

574 名前:デフォルトの名無しさん (ワッチョイ 6f9f-uL6f) mailto:sage [2025/01/24(金) 22:57:24.27 ID:oJDbtKku0.net]
>>560
それよね
各操作を関数化したところで、短い=簡潔で分かりやすいとは限らない
デメリットもあるけどコロンとインデントで見通しよく書けるのも強み

575 名前:デフォルトの名無しさん (ワッチョイ cf10-3anD) mailto:sage [2025/01/24(金) 22:59:26.00 ID:rKtZO0PM0.net]
内包表記は便利だけど、内包表記で書くためだけに関数を作るのは個人的にはちょっと嫌かな。そこはfor文と適宜使い分ければいいのでは。



576 名前:デフォルトの名無しさん mailto:sage [2025/01/24(金) 23:07:41.94 ID:g+2OlWgu0.net]
わかりやすさの為なら何でもする
内包表記も関数化も抽象化でありわかりやすさ
説明変数もばんばん使うべき

577 名前:デフォルトの名無しさん (ワッチョイ e32d-YeI8) mailto:sage [2025/01/24(金) 23:44:28.59 ID:bnSBcaeW0.net]
>>554です
書き方が悪かったようですいません
リストの値をフィルターしたいのではなく
リストの値で処理した結果で削除が発生する処理をしています
実際は画像名のリストで画像判定をして
その結果で様々な処理をしているのですが
その処理の一つが削除というものです

>>559
逆回しは思い付きませんでした
削除しても飛ばされず処理出来ますね

578 名前:デフォルトの名無しさん (ワッチョイ 5301-U9fZ) mailto:sage [2025/01/25(土) 00:01:16.03 ID:JgWImGBF0.net]
>>567
>リストの値で処理した結果で削除が発生する処理をしています
mapしてfilterしてるのと同じことでは?

579 名前:デフォルトの名無しさん mailto:sage [2025/01/25(土) 00:28:58.11 ID:PCXbr1vN0.net]
>>567
日本語が意味不明だからコード出せよ

580 名前:デフォルトの名無しさん mailto:sage [2025/01/25(土) 00:33:36.06 ID:YBOPAb6b0.net]
コード出せを悪口だと思ってるな
お前の母ちゃんコード出せ

581 名前:デフォルトの名無しさん mailto:sage [2025/01/25(土) 01:04:29.61 ID:ta403zjD0.net]
結果保存用に空リストを作って、そこに加工後の画像だか画像名だかをappendしていくみたいな原始的なやり方ではダメかな?

582 名前:デフォルトの名無しさん mailto:sage [2025/01/25(土) 02:05:52.81 ID:PCXbr1vN0.net]
なぜそこまで頑なにコードを出したくないのか理解不能

583 名前:デフォルトの名無しさん [2025/01/25(土) 15:55:30.71 ID:9QNSyzV2a.net]
逆回しは良くやるけど万能ではない

584 名前:デフォルトの名無しさん mailto:sage [2025/01/25(土) 16:15:16.97 ID:kYeOXsrBM.net]
そもそもオリジナルのリストの削除をバックワードに進めないとおかしくなるのは自明だろ
なんで先頭から消す必要あるの?

585 名前:デフォルトの名無しさん mailto:sage [2025/01/25(土) 16:22:51.45 ID:YBOPAb6b0.net]
表が巨大でコピーなんか作ってられないなら仕方なく対象そのものをいじるけど、
その場合は削除するだけでも大変なので、やっぱりいい方法ではない



586 名前:デフォルトの名無しさん mailto:sage [2025/01/25(土) 17:05:22.09 ID:I/LFBEOt0.net]
逆回しにしたところでリストの場合は途中の要素を削除したらそれ以降の要素(のポインタ)をコピーして詰める必要があるから非効率なんだよね

587 名前:デフォルトの名無しさん mailto:sage [2025/01/25(土) 17:19:09.28 ID:YBOPAb6b0.net]
どう考えもバグりやすいし、大丈夫だと判っても他人や未来の自分は不安だし、
理解するのも時間かかるし、何もいいことがない

時間がかかったとしても、判りやすく堅牢な方法で書いて、
速度で困った時に初めてトリッキーな方法を検討する

588 名前:デフォルトの名無しさん mailto:sage [2025/01/25(土) 19:02:59.44 ID:ue9pmKTV0.net]
for i in original_list[:]:
some_process( i )
みたいな感じでやるんじゃなかったっけ。

特に問題がないケースなら、
res = []
for i in original_list:
some_process( i )
と新しいリストを作ってsome_processの中で適宜res.appendする方が分かりやすいかなと思う。

589 名前:デフォルトの名無しさん mailto:sage [2025/01/26(日) 00:49:53.92 ID:tS9IC3AC0.net]
ソースが巨大なら印だけつけてあとで一括削除

590 名前:デフォルトの名無しさん (ワッチョイ 8754-5CbQ) mailto:sage [2025/01/26(日) 08:01:06.06 ID:W6rEvGvT0.net]
対象を直接操作して一括で削除するアルゴリズムってどんなの

591 名前:デフォルトの名無しさん [2025/01/28(火) 10:16:11.80 ID:dqvH8r5Ca.net]
循環参照ありのRCGC

592 名前:デフォルトの名無しさん (ワッチョイ 0ec0-natb) mailto:sage [2025/01/28(火) 10:44:41.07 ID:jWrC9Jca0.net]
それリストの話じゃなくなってるやん

593 名前:デフォルトの名無しさん mailto:sage [2025/01/28(火) 16:47:42.00 ID:GmSjCRuqd.net]
去年poetryでやってたけど
uv圧倒的に速いな

594 名前:デフォルトの名無しさん mailto:sage [2025/01/30(木) 17:48:17.31 ID:VLQDVSyo0.net]
光る君への公式ホームページが31日で消去されるから保存したい
シンプルだしwgetでいけるかと思ったら表示にjavascript使ってるから
それのせいで保存できなかった

調べていくうちにpythonとヘッドレスブラウザを利用する方法があると知った
しかし、プログラミングのプの字もさっぱりです。pythonも昨日インスコしたばっかり
pythonとヘッドレスブラウザを利用した方法、解説されているようなサイトやヒントご存じでしたら教えてください

595 名前:デフォルトの名無しさん mailto:sage [2025/01/30(木) 18:08:53.47 ID:+zNA14SN0.net]
まるっとローカルに保存してくれるツールを買え



596 名前:デフォルトの名無しさん mailto:sage [2025/01/30(木) 18:13:37.22 ID:x7iBFXJ9d.net]
>>584
https://ja.m.wikipedia.org/wiki/波乗野郎

597 名前:デフォルトの名無しさん mailto:sage [2025/01/30(木) 18:14:18.23 ID:x7iBFXJ9d.net]
>>584
PerMan Surfer 波乗野郎でごっそり保管
https://ja.m.wikipedia.org/wiki/波乗野郎

598 名前:デフォルトの名無しさん mailto:sage [2025/01/30(木) 18:27:40.22 ID:lxoi8Hgj0.net]
HTTrackのProxyTrackつかうのがええんでは

599 名前:デフォルトの名無しさん mailto:sage [2025/01/30(木) 19:59:08.37 ID:rlxtAv1y0.net]
画像だけ全部落としたい、みたいな時も大抵は汎用ツールは使えなくて、
サイト毎に特化したのを作るな

サイトまるごとだとさらに難易度が上がる
リンク先は含めるのかみたいな判断付かない問題が出てくる
外部サイトは含めないとしたくても、ページの内容が複数のサイトで構成されてたりする

600 名前:デフォルトの名無しさん [2025/02/01(土) 12:23:22.67 ID:Dm0gVBeEa.net]
imgタグもファイル名とかじゃなくてbase64で展開されてたりするよな

601 名前:デフォルトの名無しさん [2025/02/03(月) 09:45:21.23 ID:gwlnb/NB0.net]
data1からdata2に変換したい。
data1=b'Z\x00V\x00-\x00E\x001\x000\x00\x00'
data2="ZV-E10"

data1はバイナリデーターで元はtcpのパケットの一部。
(英数+x00) (英数+x00) (英数+x00) ・・・・
というふうになってる。

602 名前:デフォルトの名無しさん mailto:sage [2025/02/03(月) 10:56:25.39 ID:CGp2zuw30.net]
変換したいのならすればいいじゃない

603 名前:デフォルトの名無しさん (ワッチョイ 3f3d-ZuVD) [2025/02/03(月) 12:03:25.53 ID:gwlnb/NB0.net]
>>592
どうやって?

604 名前:デフォルトの名無しさん mailto:sage [2025/02/03(月) 12:46:11.42 ID:eVgE9/na0.net]
https://docs.python.org/ja/3.13/library/stdtypes.html#bytes
bytesはバイトのシーケンスだから好きにすればいいけど
一見UTF-16LEにもみえるから
data2 = data1.decode('utf-16le', errors='ignore')
でもいけそう

605 名前:デフォルトの名無しさん mailto:sage [2025/02/03(月) 12:46:55.10 ID:CGp2zuw30.net]
えー
置換すりゃあいいじゃん
文字列短いかいならsplit/joinでもまあいい



606 名前:デフォルトの名無しさん mailto:sage [2025/02/03(月) 12:48:55.52 ID:CGp2zuw30.net]
たよねー
俺もnull終端させたutf16-leだと思う
ignoreせずにstripしてからdecodeかな

607 名前:デフォルトの名無しさん [2025/02/03(月) 14:44:29.24 ID:gwlnb/NB0.net]
>>594
THXです。
できました。

608 名前:デフォルトの名無しさん mailto:sage [2025/02/03(月) 15:00:49.10 ID:eVgE9/na0.net]
596さんが書いてるけどignoreだと不正なシーケンスに弱いから
末尾0か確認してスライス[:-1]で削るのが手堅いよ
安価なかったので心配

609 名前:デフォルトの名無しさん [2025/02/04(火) 12:24:19.84 ID:AbihjpY6a.net]
data1=b'Z\x00V\x00-\x00E\x001\x000\x00\x00\x00'
じゃないのは何故なんだぜ

610 名前:デフォルトの名無しさん [2025/02/04(火) 19:51:38.43 ID:Nh0/7bRn0.net]
Google Colaboratoryで自動でカッコやシングルクォーテーション、ダブルクォーテーションを閉じてくれるのはいいのですが
改行するのに右小指を右矢印まで移動させるのが面倒くさいです
この機能を有効にしながらタイピングのホームポジションから極力指を動かさずにプログラムを改行する方法はどういったものがありますか

611 名前:デフォルトの名無しさん mailto:sage [2025/02/04(火) 20:02:33.96 ID:Q6BV74Me0.net]
ダイヤモンドカーソル

612 名前:デフォルトの名無しさん mailto:sage [2025/02/04(火) 20:05:48.54 ID:Yb/oB3W3M.net]
wordmasterですね?

613 名前:デフォルトの名無しさん mailto:sage [2025/02/04(火) 20:15:46.13 ID:bltbnC560.net]
キーボードショートカット表示させたら発見多い
vimバインドがあるのにも気づける

614 名前:デフォルトの名無しさん mailto:sage [2025/02/04(火) 20:16:37.26 ID:Q6BV74Me0.net]
capsキーをモディファイア化して、カーソルとpgup/dn, home, end, ctrl-home, ctrl-end
なんかをそのへんのキーにアサインすると便利
ctrlなんかにするのはもったいない

615 名前:デフォルトの名無しさん [2025/02/05(水) 12:03:09.56 ID:0aVaPzHU0.net]
textwrap --- テキストの折り返しと詰め込み
https://docs.python.org/ja/3.12/library/textwrap.html

標準ライブラリにこんなモジュールあったの初めてしった



616 名前:デフォルトの名無しさん [2025/02/05(水) 14:41:00.30 ID:RWIQAOlpa.net]
ctrl+J ctrl+M

617 名前:デフォルトの名無しさん mailto:sage [2025/02/05(水) 18:14:35.27 ID:d15iAK/y0.net]
WindowsだとCtrl+EやCtrl+Aは動かないんだっけ?

618 名前:デフォルトの名無しさん mailto:sage [2025/02/05(水) 18:53:32.47 ID:dNg2S/kf0.net]
アンダースコア2個の変数って
VSCodeのデバックでも見えなくなるんだな
そこは値みせろよ

619 名前:デフォルトの名無しさん mailto:sage [2025/02/05(水) 21:07:19.31 ID:4wonhmBO0.net]
https://www.deback.be
選択肢にないからドイツ語圏は弱小なんだな
学びがある

620 名前:デフォルトの名無しさん (ワッチョイ 63c4-SXYI) [2025/02/09(日) 17:06:41.88 ID:cm7GCNiQ0.net]
スレッド処理できんぞこのポンコツ

621 名前:デフォルトの名無しさん (ワッチョイ 1a8b-RGTj) mailto:sage [2025/02/09(日) 17:14:28.12 ID:tUOkxeUe0.net]
ThreadPoolExecutor使えば簡単に実装できるだろ
GIL無効のはまだ試したことないけど

622 名前:デフォルトの名無しさん mailto:sage [2025/02/09(日) 22:07:58.46 ID:DVKKH7160.net]
enumerate()はindexが追加される、と覚えてるから、
indexを2番目にしてしまうという間違いを繰り返す

大抵は、for val in array: と書いてて、
indexが必要になって追加すると思うので、
前に挿入という変更にも抵抗がある

623 名前:デフォルトの名無しさん mailto:sage [2025/02/09(日) 22:42:27.28 ID:1H3Dm2g50.net]
使い勝手からするとindexは先頭であってんだけど
tupleやなくクラスだったらよかったかな
挿入という感覚はないな

624 名前:デフォルトの名無しさん mailto:sage [2025/02/10(月) 09:56:50.77 ID:JMZMJPbu0.net]
items() が key, valueの順で渡してくるのは納得なんだよな
enumerate() も意味的には似てるんだけど、
dictはforで読んだらkeyが返るけど、listは中身だしな

まあ、複数同時に返して順番意識しないと間違う仕様が全部悪

625 名前:デフォルトの名無しさん mailto:sage [2025/02/13(木) 17:02:51.99 ID:uy7D7eTZ0.net]
windowsでリアルタイムで画像を描かせるとウィンドウが反応なしになる
最初pygameで作って、Pyxelでも駄目で、matplotlibも駄目だった
どう見ても原因はwindows側なんだけど、どうやったら回避できるんだろう



626 名前:デフォルトの名無しさん mailto:sage [2025/02/13(木) 17:53:45.53 ID:iuf/njBUM.net]
メッセージキューの状態は?

627 名前:デフォルトの名無しさん mailto:sage [2025/02/13(木) 18:21:00.45 ID:gV1L3zya0.net]
型ヒント、どうやって書くとおK?

>>> a:int, b:int = 1, 2
File "<stdin>", line 1
a:int, b:int = 1, 2
^
SyntaxError: invalid syntax

628 名前:デフォルトの名無しさん mailto:sage [2025/02/13(木) 18:50:18.04 ID:UcNEd134M.net]
>>617
そういう書き方しなければならない理由ある?

629 名前:デフォルトの名無しさん [2025/02/13(木) 20:34:08.66 ID:gV1L3zya0.net]
>>618
そういう書き方とは何を指したの。
書き方がおかしいので、正しい書き方を質問した。

630 名前:デフォルトの名無しさん mailto:sage [2025/02/13(木) 21:07:07.34 ID:1OgGkneUp.net]
二ついっぺんに?

631 名前:デフォルトの名無しさん mailto:sage [2025/02/13(木) 21:41:07.46 ID:uy7D7eTZ0.net]
def func(a:int = 0, b:int = 0): # OK
a, b = 0, 0 # OK
a:int = 0, b:int = 0 #NG

ということだな

632 名前:デフォルトの名無しさん mailto:sage [2025/02/13(木) 23:08:28.29 ID:FScSEbGI0.net]
>>619
回答がでてるから(俺は確認してない)
気にしてないと思うけど
コードは手段であって目的ではない
エラーが出てよくわからないなら別の方法探すのが合理的だろ?

633 名前:デフォルトの名無しさん mailto:sage [2025/02/13(木) 23:20:12.60 ID:uy7D7eTZ0.net]
a, b = 0, 0
のケースは、
(a, b) = (0, 0)
というタプルへの代入の省略形だと思うので、
関数定義の引数の列とは本質的に別物

タプルだと思って書くと、
(a:int, b:int) = (0, 0)
これが文法的に許されてるかという個別の話になって、
単純にタプルに型アノテーションは書けません
という誤りに帰着する

634 名前:デフォルトの名無しさん mailto:sage [2025/02/13(木) 23:39:49.88 ID:3i0teOTZ0.net]
>>621
>a:int = 0, b:int = 0 #NG
a:int = 0; b:int = 0 #OK

7.2.2. Annotated assignment statements
The difference from normal Assignment statements is that only a single target is allowed.
https://docs.python.org/3/reference/simple_stmts.html#annotated-assignment-statements

635 名前:デフォルトの名無しさん mailto:sage [2025/02/13(木) 23:48:39.44 ID:3i0teOTZ0.net]
変数の数が多かったりアノテーションが長かったりするのであれば
一旦1つの変数で受けといてからunpackすればいいんじゃないか思う
style guideとかでこの辺りが確立されてるやつがあるのかどうかは知らん

xs: Tuple[Optional[int]] = 1, 2, 3
x, y, z = xs



636 名前:デフォルトの名無しさん (ワッチョイ ef54-r5n3) mailto:sage [2025/02/13(木) 23:50:55.54 ID:uy7D7eTZ0.net]
a:int = 0, b:int = 0
だと何が不味くてエラーにしたのか、ピンとこないな
誤解の余地はどこにもないと思うけど

637 名前:デフォルトの名無しさん mailto:sage [2025/02/14(金) 00:40:32.45 ID:itWJ0HMk0.net]
文法規則に沿ってないからエラーになってるだけでしょ

a:int = 0, の時点でパーサーからすると`0, `はタプルなのに
b:intのコロンようなサポートされてない表現が来てるから文法エラー

638 名前:デフォルトの名無しさん mailto:sage [2025/02/14(金) 00:52:13.45 ID:kUuP9oE90.net]
いや、言語設計の話ね
引数の列みたいなタプル的なもので許されてるなら、
タプルでも許されるような規則になってる方がコンシスタント

それを許すと別の問題が生じるなら仕方ないけど、
特にそんなのがあるような気がしない

639 名前:デフォルトの名無しさん mailto:sage [2025/02/14(金) 01:53:56.51 ID:itWJ0HMk0.net]
54氏に絡んだ私が馬鹿だったみたいだね

640 名前:デフォルトの名無しさん mailto:sage [2025/02/14(金) 07:12:48.02 ID:P2h4GvQIH.net]
型アノテーションはどう考えてもコードを冗長にするだけの効果しかなかった
次期バージョンからは廃止して欲しい
アノテーションありとなしのコードが混在する世界は誰も得しない

641 名前:デフォルトの名無しさん mailto:sage [2025/02/14(金) 07:34:58.64 ID:8QRTr0+h0.net]
01氏は相変わらずだのう
よく知らんけど

642 名前:デフォルトの名無しさん mailto:sage [2025/02/14(金) 12:40:51.82 ID:mTgus/9Q0.net]
型アノテーションしないとvscodeでメソッドとか補完してくれないじゃん~

643 名前:デフォルトの名無しさん mailto:sage [2025/02/14(金) 12:47:27.45 ID:rES5mJq/0.net]
>>630
これはそう
型の表現がゴミなのでその型意味ある?ってやつばっかでノイズにしかならん
tsみたいに別の処理系として作るべき

644 名前:デフォルトの名無しさん mailto:sage [2025/02/14(金) 13:23:14.36 ID:6dC8Hfpk0.net]
>>625
>xs: Tuple[Optional[int]] = 1, 2, 3
これじゃダメじゃん
ellipsis忘れてた

645 名前:デフォルトの名無しさん mailto:sage [2025/02/14(金) 19:00:49.38 ID:y0//4+C60.net]
どうせdataclassで型指定が必須になる



646 名前:デフォルトの名無しさん [2025/02/14(金) 22:20:16.99 ID:zA34SgDn0.net]
age : int = int(9)
右のint()は不要ってことだよね
今だと全部上の文にしようとしていました

647 名前:デフォルトの名無しさん mailto:sage [2025/02/14(金) 22:27:43.41 ID:y0//4+C60.net]
型なんかコンテキストに任せるperlの時代がまた来ないかな
厳密なのはCに任せておいて、手抜き派は限界まで脱力しないと

648 名前:デフォルトの名無しさん (ワッチョイ 8edb-u07z) [2025/02/14(金) 23:33:39.76 ID:zA34SgDn0.net]
perlは$@%で変数の中身と参照方法の手がかりがあるの楽すぎる
しかも記号の切り替えでアクセス方法も切り替えられる
初心者の俺だけかもしれないけど

649 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 00:03:38.48 ID:7QZxROg40.net]
>>638
dollar_とかatmark_とか変数に付ければいいのでは?

650 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 00:09:45.51 ID:nmEKbiHe0.net]
指し示す時は%varとか@varだけど、使う時は$var{}とか$var[]なのは、
普通に混乱するよな
同じ名前が使えるのはやばすぎるので、敢えて使わないようにしてた

651 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 00:24:38.71 ID:Ff6IMwfd0.net]
>>636
右のint()はintにキャストしたい時に使う
左のintも大半の箇所では不要

数値リテラルで初期化する場合に明示的に型を書く必要があるケースはあまりない
上で書かれてるdataclassのfieldなんかは例外

652 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 01:12:51.65 ID:8VzqP0+T0.net]
type aliasでwin32 apiみたいに狂ったようなヘッダーファイルのimportとかになったら嫌だな

653 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 02:36:03.74 ID:jP/E47uy0.net]
型ヒントないとやだやだ

654 名前:デフォルトの名無しさん (ワッチョイ 8edb-u07z) [2025/02/15(土) 03:01:40.24 ID:uBYSxski0.net]
>>641
ありがとうございます

655 名前:デフォルトの名無しさん (ワッチョイ 8edb-u07z) [2025/02/15(土) 03:03:06.76 ID:uBYSxski0.net]
>>640
なるほど



656 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 09:21:15.19 ID:PDHi7G9/0.net]
一括代入の左辺って、正確にはタプルではないよね。タプルに引き付けて考えるより、代入文の構文の1類型として整理しておく方が良いんじゃないかと思うが。

657 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 10:22:34.31 ID:FKA6BWJy0.net]
>>> x = a, b = 2, 3
>>> type(x)
<class 'tuple'>
よくわからんな

658 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 10:51:26.01 ID:HEvUb6VY0.net]
>>646
タプルとおもっていたが、正確には何なの?

659 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 13:22:10.39 ID:j/KKg+ui0.net]
タプルだよ
a, b = 1, 2 は(a, b) = (1, 2)と同じ

内部的にも一旦タプルとして扱われてunpackingが行われる
[a, b] = 1, 2とかにすれば左辺はリストになるけど
括弧省略したカンマ区切りの場合はタプル

660 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 14:36:18.19 ID:0rXlrcS60.net]
たとえば、タプル (3, 4) では、(要素0の)3を指すポインタと(要素1の)4 を指すポインタとはメモリ上隣接した位置に配置されるけど、
a = 1 b = 2 の後に a, b = 3, 4 と一括代入をしても、(一旦タプルが作られるのかどうかはともかく)そういうことにはならないんじゃない?

*[a, b], c = 1, 2, 3 のようないわゆるスター代入も、イテラブルのunpackではないと思うし。

661 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 16:45:49.40 ID:yy3Wu/gg0.net]
return文の複数値の返却もタプルだけど、
なぜかカッコを省略することが多い
まぁ、あくまでカンマがタプルの肝だからということか

662 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 17:05:56.61 ID:0vZBBpUh0.net]
リストの内包表記の[]を()にすると、
タプル内包表記ではなくジェネレータ内包表記になる罠

663 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 17:06:49.88 ID:8VzqP0+T0.net]
カッコの用途と意味が多くて初学者にはきついと思うわ
( ) はタプルとGenerater
{ } は辞書と集合
[ ] はリストと内包表記

664 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 17:09:49.95 ID:0vZBBpUh0.net]
空の集合で初期化しようとしてs = {} とか書いてしまう罠
(1,) とか class_ とか苦し紛れいろいろ

665 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 17:33:56.56 ID:0rXlrcS60.net]
丸括弧は関数・クラス等の呼び出し、角括弧はリスト、波括弧は辞書および集合。
リストと辞書と集合には内包表記があって、generator式は内包表記の仲間。
そうやって整理する分には、(単要素タプルの書き方がちょっと不格好なところを除けば)そんなに違和感はないけどなぁ。
辞書についてリテラル表記は波括弧なのに参照は角括弧なのはちょっと引っかかりを憶えないでもないけれども、これは他の言語でもそうだし。
他の言語と比べて特に複雑ということはないと思うけど。

むしろVBAみたいに、配列の添字指定に丸括弧を使わされたりする方が嫌だわ。



666 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 19:13:45.78 ID:PDHi7G9/0.net]
immutableなタプルの要素にはそもそも代入ができないはずなので、それだけでも一括代入の左辺がタプルでないのは明らかなのでは。
一括代入の左辺に丸括弧や角括弧が使えるのは、入れ子構造になっているときにその構造を明確にするために過ぎず、リストやタプルとは全く関係ないって考えた方が分かりやすいように思う。

667 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 23:10:55.08 ID:DkQLiBFd0.net]
左辺と右辺で違いがあるのは当たり前
右辺の値としてのタプルと左辺の言うなればパターンとしてのタプルが
全く同じように評価・実行されるわけがない

タプルじゃないとしたほうがわかりやすいならそうすればいいとは思うけど
言語的には左辺の(a, b)もタプルという扱い

668 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 23:12:46.33 ID:DkQLiBFd0.net]
ASTで見るとこうなる

import ast
expr = ast.parse("a, b = 1, 2")
print(ast.dump(expr, indent=4))

Module(
 body=[
  Assign(
   targets=[
    Tuple(
     elts=[
      Name(id='a', ctx=Store()),
      Name(id='b', ctx=Store())],
     ctx=Store())],
   value=Tuple(
    elts=[
     Constant(value=1),
     Constant(value=2)],
    ctx=Load()))])

669 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 23:29:56.42 ID:0vZBBpUh0.net]
a = 1
b = 2
t = (a, b)
print(t) # (1, 2)
a = 3
b = 4
print(t) # (1, 2)

変数でもそのオブジェクトでもなく、
中に入ってるものでタプルを作る
だから、(a, b) がタプルというのも不正確

670 名前:デフォルトの名無しさん mailto:sage [2025/02/16(日) 00:53:20.10 ID:wh5aR4tC0.net]
>>657-658
ASTでタプルとされているからタプルなのだ、それが言語上の定義なのだと言われればそうですかと言うしかないのだけれど、メモリレイアウトがどうなっているかは気になるな。a, bはメモリ上隣接した位置に配置されるのか、それとも、離れた位置に配置されるけれども代入文の左辺である限りはタプルと呼んでいいということなのか。

671 名前:デフォルトの名無しさん mailto:sage [2025/02/16(日) 07:14:20.57 ID:ThFtPuZc0.net]
メモリ上隣接はCPythonの話?
それこそはいそうですかだけど

672 名前:デフォルトの名無しさん [2025/02/16(日) 12:09:07.95 ID:rAQQ2/+ca.net]
(a, b): (int, int) = (0, 0)

673 名前:デフォルトの名無しさん mailto:sage [2025/02/16(日) 13:10:26.00 ID:24lkekzA0.net]
>>660
a, b = 1, 2とすればaとbが個別のローカル変数としてスタックフレームに追加されるだけ
CPythonでは定義順になるから内部の配列内で隣接してる場合もあればしてない場合もある
スタック上の変数でかつそれぞれ直接アクセスしかしないんだから隣接してるかどうかは実用上はどうでもいいこと

674 名前:デフォルトの名無しさん mailto:sage [2025/02/16(日) 13:51:57.18 ID:dLfK62nh0.net]
そうでしょ、やっぱりメモリレイアウトが全然違うよね。
一括代入の左辺の場合には、その後もタプルとして使われることは全くなく個別的にしかアクセスしないのだから、メモリ上隣接しているかどうかがどうでもいいというのはある意味当然のことで、それは、通常の意味でのタプル(固定長でimmutableなコレクション・コンテナとしてのタプル)でないことの裏返しだと思うけど。
言語仕様上はそれもまたタプルとして定義されているということであれば「タプルではない」というのは正しくないことになるしそれはそれで構わないのだけれど、重要なのは通常の意味でのタプルとは全く別物だという点であって、その点の認識はあった方が良いんじゃないかなぁ。

675 名前:デフォルトの名無しさん [2025/02/16(日) 13:58:47.89 ID:rAQQ2/+ca.net]
a, b = 0, 0
構文解析上の文法は
(a, b) = (0, 0) の略
ではなく
a, b = (0, 0) の略
じゃないかな
代入前(右辺)はタプルで代入後(左辺)はタプルではなく個別
もし左辺がタプルならbindされた名前が無いので利用出来ない



676 名前:デフォルトの名無しさん mailto:sage [2025/02/16(日) 14:30:13.56 ID:dLfK62nh0.net]
一括代入の左辺のターゲット並びは、丸括弧や角括弧で囲うことも全く囲わないこともできる。
角括弧で囲った場合はリストになり、丸括弧で囲った場合や全く囲わない場合はタプルになるということはできるけれども、通常の意味でのリストやタプルとはまったく別物だし、その後もリストやタプルとして利用されることはないので、それがリストやタプルであるということにどれほどの意味があるのか、むしろ通常の意味でのリストやタプルと混同してしまう人が出かねない弊害の方が多いのではないかというのが個人的な感想。
むろん、言語仕様上、リストやタプルとして定義されていますということであれば、あえて逆らうつもりはないけれども、リストやタプルの概念の中に異質なものを抱え込むことになって概念内容が拡散するように思うし(e.g.要素に代入できるタプル)、概念整理としては、一括代入の左辺については、リストやタプルのリテラル構文の形式を借用した代入構文の一形式であって、それ自体としてはリストでもタプルでもないという形で整理した方が遥かに分かりやすいのではないかと思っている。

677 名前:デフォルトの名無しさん [2025/02/16(日) 15:20:14.54 ID:rAQQ2/+ca.net]
>全く囲わない場合はタプルになるということはできるけれども

いや出来ないやろ

678 名前:デフォルトの名無しさん mailto:sage [2025/02/16(日) 16:31:54.22 ID:dLfK62nh0.net]
自分は、一括代入の左辺については(通常の意味での)リストやタプルとは区別した方がわかりやすいのではないかという立場だけど、これらもリストやタプルであると考える立場に立つ場合、その中で、丸括弧で囲むか否かによってタプルになったりならなかったりするという考え方はないんじゃない? ASTでは丸括弧がなくてもタプル扱いみたいだし(>>658

679 名前:デフォルトの名無しさん [2025/02/16(日) 16:50:55.15 ID:rAQQ2/+ca.net]
左辺がタプルになる代入は
c = 0, 0
とか
_ = 0, 0
の場合な訳で
(後者は暗黙で名前が付かないbindの例で敢えて描いたけど)
(a, b) = 0, 0
はタプルに代入してる訳じゃないでしょ
という立場ですね

680 名前:デフォルトの名無しさん mailto:sage [2025/02/16(日) 17:02:45.20 ID:ThFtPuZc0.net]
>>669
>>647
タプルでもリストでもない何かとしてもいいけどね
即値だけのコードも正当なのでbinding(assignment?)の有無は根拠にならんかも

681 名前:デフォルトの名無しさん mailto:sage [2025/02/16(日) 17:36:27.88 ID:dLfK62nh0.net]
c = 0, 0 と _ = 0, 0 は、代入ターゲットが1つしかない単一代入の文だから、今の話題と直接的な関係はないかと。

一括代入として、
ア  a, b = 0, 0
イ (a, b) = 0, 0
ウ [a, b] = 0, 0 の3つの文に実質的な違いは(おそらく)何もなく、あえて左辺がタプルだリストだという必要はないのではないか(少なくとも通常の意味でのタプルやリストではないので、これらがタプルやリストであると考える意味もほとんどないのではないか)、それよりも一括代入の構文として共通のものとして理解する視点の方が有用なのではないかという感覚かな。
言語仕様上、リストやタプルの概念がこれらも含むような形で定義されているかはまた別の問題として。

682 名前:デフォルトの名無しさん mailto:sage [2025/02/16(日) 22:36:18.21 ID:38lJcH0O0.net]
個人的には一括代入って言葉の方がよっぽど気になるけどな

683 名前:デフォルトの名無しさん mailto:sage [2025/02/16(日) 22:53:37.86 ID:6PRP0OeT0.net]
用語法はまったく本質的な部分ではないので、意味が通じれば何でもいいと思うけど。一括代入、複数代入、多重代入、併行代入……好きなのを使えばいいんじゃない? 既に定着している用語法があるならそれに従っておく方が無難だとは思うが。
あとa = b = c みたいなのと語感上、区別しやすい用語だとなお良いね。

684 名前:デフォルトの名無しさん mailto:sage [2025/02/16(日) 23:06:15.10 ID:38lJcH0O0.net]
じゃ左辺のタプルも意味が通じればなんでもいいんじゃない?

685 名前:デフォルトの名無しさん (ワッチョイ cb10-+v22) mailto:sage [2025/02/17(月) 00:13:36.55 ID:S+Nz3ahz0.net]
要素に代入できるタプルというものを観念して、いわば特殊なタプルと位置付けてタプル概念に含める方向性で考えるのか、タプルとは区別して整理する方向性を指向するのかというのは、理屈としてはタプル概念の外縁の画定に関する1つの態度決定の問題だから、重要でないとはいえないだろうし、タプルに含める立場をとる場合でも、通常の意味でのタプル(immutableな固定長コンテナとしてのタプル)とは質的に異なるということを意識しておくことは実践的にも意味がある……と自分なんかは思うけど、人の考え方はさまざまだからね。674が、用語法の違いと同程度のどうでもいい問題だと思うのなら、実際674にとってはそうなんでしょ。そのことを否定はしないよ。



686 名前:デフォルトの名無しさん mailto:sage [2025/02/17(月) 00:31:13.10 ID:ROCyt//h0.net]
利用者から観察できんし内部処理知ってると最適化できる類のもんでもなさそう
今の処理系でどういう扱いしてるのか知りたいならわかるけど
個人的にはどうでもいい寄りというかあえて意識したくない話かな

687 名前:デフォルトの名無しさん mailto:sage [2025/02/17(月) 11:24:47.42 ID:5+w8yWyk0.net]
「正確にはタプルじゃない!」とイキった手前どんなに見苦しい言い訳を繰り返してでも自己正当化したいのだろう

688 名前:デフォルトの名無しさん mailto:sage [2025/02/17(月) 12:14:13.77 ID:kwgQ3IwM0.net]
タプルオブジェクトではないとでも言っておけば不毛なレスバしなくてよかったのにね

689 名前:デフォルトの名無しさん (ワッチョイ e327-g3m2) mailto:sage [2025/02/17(月) 12:36:50.89 ID:Ta1N8VfU0.net]
レスバしたという感覚はないし、そんなに間違ったことを書いたつもりもないんだけどな。678のいう「タプルオブジェクトではない」という表現の方が受け入れやすいということなら別にそれで構わないと思うし。

690 名前:デフォルトの名無しさん mailto:sage [2025/02/17(月) 16:30:08.05 ID:33cG7id30.net]
5chで細かいところまで正確に伝えるのは難しいんだし
あんまり気にしなくていいんじゃね
SNSは議論に向かないしさ

691 名前:デフォルトの名無しさん [2025/02/18(火) 01:50:34.73 ID:kyyl/iJD0.net]
辞書に追加する方法を教えてほしいです
存在しないキーを追加してその中にさらにキーを追加したいです
以下だとエラーになりました

https://pastebin.com/k1VaU5GZ

692 名前:デフォルトの名無しさん mailto:sage [2025/02/18(火) 02:55:12.14 ID:a4UZNug90.net]
>>681
d["tomorrow"] = {"トマト": 70}
ではどうだろう。(未検証)

693 名前:デフォルトの名無しさん [2025/02/18(火) 03:32:54.30 ID:kyyl/iJD0.net]
>>682
うまくいきました!
どうもありがとうございます!

694 名前:デフォルトの名無しさん [2025/02/18(火) 03:48:38.37 ID:kyyl/iJD0.net]

695 名前:"reply_link">>>681
この関連ですけど、辞書の中の辞書の一部のキーのバリューを変更するにはどうしたらいいですか?

todayのりんごの値はそのままでみかんだけ40にしたいです
[]
[ここ壊れてます]



696 名前:デフォルトの名無しさん [2025/02/18(火) 08:18:06.27 ID:goEKoJkr0.net]
>>684
値の変更はこれで良いのでは。

> d["tomorrow"]["トマト"] = 70 # これだとエラーになる

697 名前:デフォルトの名無しさん mailto:sage [2025/02/18(火) 08:51:43.27 ID:aG61gPOQ0.net]
混乱させるかもしれんけど標準モジュールcollectionsにあるdefaultdict使えば
from collections import defaultdict
d = defaultdict(dict, {"today": {"りんご": 100, "みかん": 50}})
d["tomorrow"]["トマト"] = 70
でエラーにならない
d["tomorrow"] の時点で {} が自動生成される

698 名前:デフォルトの名無しさん (ワッチョイ e5b1-+v22) mailto:sage [2025/02/18(火) 09:17:41.68 ID:UncCeV9C0.net]
get, setdefault, collections.defaultdict, __missing__ の違いについては、たしかEffectivePythonで2〜3項目さかれていたね。

699 名前:デフォルトの名無しさん [2025/02/18(火) 11:02:20.10 ID:HbHlBTpRa.net]
まあうまくいくだろうし便利だろうけど
キーのスペル間違いとかがチェックされない怖さはあるな

700 名前:デフォルトの名無しさん [2025/02/19(水) 07:26:57.60 ID:if5TaTL20.net]
亀レスすみません
みなさんありがとうございます

>>685
これでうまくいきました

>>686
エラーにならず.getのように自動生成されるのはいいですね

701 名前:デフォルトの名無しさん mailto:sage [2025/02/19(水) 07:46:07.12 ID:ouE8cAfi0.net]
いきなり参照してエラーになるのは嫌なので、
いつもgetを使うようにしよう

というのは必ずしもいい考えじゃないんだよな
エラーにならない筈のものがエラーになるなら異常なので捕まえるべき
本気で何が入ってるか予想できないケースではgetを使うしかないけど、
そんな状況になるのも何か間違ってる

702 名前:デフォルトの名無しさん mailto:sage [2025/02/19(水) 08:27:04.14 ID:mSxUrXXi0.net]
noneが帰るならそれキャッチしとけば同じじゃない?

703 名前:デフォルトの名無しさん mailto:sage [2025/02/19(水) 09:44:18.83 ID:tY+HC/mE0.net]
新しいキーが挿入されるのはsetdefaultやcollections.defaultdictであって、getは別に新しいキーは挿入されないんじゃなかったっけ?

704 名前:デフォルトの名無しさん mailto:sage [2025/02/19(水) 16:01:59.58 ID:7/rbEKea0.net]
想定していないことは例外にする
局所的に意図してフォールバックさせたいときはget
恒常的にはdefaultってだけよ

705 名前:デフォルトの名無しさん (ワッチョイ cd54-3IcV) mailto:sage [2025/02/19(水) 20:05:14.43 ID:O180uynF0.net]
継承したクラスにあった__repr__()をそのまま使って欲しいのにうまく行かない



706 名前:デフォルトの名無しさん mailto:sage [2025/02/19(水) 21:58:33.63 ID:S2Edg5gIM.net]
keyerrorとかindexerrorとか事前にかわせるやつも例外にするのどうなの?
なんかコスト高そうな印象だけど

707 名前:デフォルトの名無しさん mailto:sage [2025/02/19(水) 22:19:23.68 ID:7/rbEKea0.net]
VMといえど高いし気になるならin (__contains__)を使えばとしか
オレはコードの意図がつかみやすいかで使い分けてる

708 名前:デフォルトの名無しさん mailto:sage [2025/02/19(水) 22:48:10.15 ID:/AQQIY230.net]
Rustとか最近の言語って例外ないらしいじゃない。そっちの方が優れているというのがコンセンサスになったらPython4とか5とかのメジャーパージョンアップのときにそちらに舵を切るということもありうるのかな? 自分は3以降でPythonを知ったので、2→3のときの大改革ってのは未経験なんだけど。

709 名前:デフォルトの名無しさん mailto:sage [2025/02/19(水) 22:56:14.91 ID:O180uynF0.net]
3での変更点って、ええー2ではまだそんなこと考えてたのという、
3が先進的というよりは2が後進的で、
pythonなら当然そうするでしょという感じなんだよな

2の頃はまだperlをメインに使ってた

710 名前:デフォルトの名無しさん mailto:sage [2025/02/19(水) 22:59:08.90 ID:aJXoRfiD0.net]
2はprintがステートメントで
ステートメント?!と驚いた
と思ったら3でもdelがステートメントでまた驚いた

711 名前:デフォルトの名無しさん mailto:sage [2025/02/20(木) 00:52:57.36 ID:laXgRgOS0.net]
パイチョンはインタプリタが全然頑張らないアホの子

712 名前:デフォルトの名無しさん mailto:sage [2025/02/20(木) 04:49:24.69 ID:2izZplM70.net]
毎日が新鮮な驚きに溢れて楽しそうですね

713 名前:デフォルトの名無しさん (ベーイモ MM2b-gW//) mailto:sage [2025/02/20(木) 11:00:03.67 ID:gDWkqRFJM.net]
>>697
Pythonは、ぼくこんぴゅーたのむずかしいことわかんないけどえーあいあぷりつくるんだもん!な子を満足させる使命があるから例外は必要
彼らが例外を放置してもアプリが止まってしまわないのはフレームワークが最終的にケツを拭いてくれているおかげ

714 名前:デフォルトの名無しさん mailto:sage [2025/02/20(木) 19:27:27.78 ID:qCo+divFH.net]
例外処理って必要?
書かなくてもPython自身が例外を出して止まるよね

715 名前:デフォルトの名無しさん mailto:sage [2025/02/20(木) 19:58:06.02 ID:YvSU5J1d0.net]
変な値が入力されたらエラーを表示したい
でも入力部分はずっと下の階層の処理なので、
エラーの情報を上までバトンリレーしないといけない
例外なら言語がやってくれる



716 名前:デフォルトの名無しさん [2025/02/21(金) 06:33:27.06 ID:dPC4thbz0.net]
ギャンブルのデータ分析?とai予想したいのですが、どういう環境がいいんでしょうか?
anacondaが定番のような気がしますが、ローカルだとマシンパワーがどうなのかなと。

unityみたいなゲームエンジン上でも出来たりしますか?

717 名前:デフォルトの名無しさん mailto:sage [2025/02/21(金) 10:53:50.45 ID:ebrhUf4S0.net]
GoogleのColabでええよ

718 名前:デフォルトの名無しさん [2025/02/21(金) 11:17:38.16 ID:0EY3V3nR0.net]
>>703
例外処理っていうのは例外が発生した場合にリカバリー可能な処理を書くんだぞ
その辺わかってなくて単純に例外の時にって思ってる奴が多い

具体例で言うと通信
ゲームとかのアップデート想像してみればいい
大容量データダウンロードしてる時に通信状況が悪くなった
例外処理が無ければそのまま例外吐いて失敗となる

ここで例外処理として通信状況が良い所に移動しろ的なメッセージを出して続行ボタン押させたり、数秒から数十秒間隔で通信を再開させるようにした場合は処理がスムーズになるやろ

こういう風にリカバリー可能な処理を書くのが例外処理やで

719 名前:デフォルトの名無しさん [2025/02/21(金) 11:41:35.66 ID:vI88dzmZa.net]
>>705
もちろんUnityでも出来るよ

720 名前:デフォルトの名無しさん [2025/02/21(金) 13:53:02.83 ID:dPC4thbz0.net]
>>708
一般的にデータ分析ってアナコンダとか使うんですかね?
ゲーム目的じゃないですから

721 名前:デフォルトの名無しさん [2025/02/21(金) 15:26:48.94 ID:NDdeWha40.net]
現実世界の様子やUIを理解してタスクをこなせるマルチモーダルAIエージェントの基盤モデル「Magma」をMicrosoftが発表
https://gigazine.net/news/20250221-microsoft-magma/

悪用されている

722 名前:デフォルトの名無しさん [2025/02/21(金) 17:14:00.29 ID:0EY3V3nR0.net]
>>709
anacondaというよりjupyterを使う
なのでgoogle colabでも良いしvscodeのプラグイン入れてでも良い

723 名前:デフォルトの名無しさん [2025/02/21(金) 18:41:20.24 ID:dPC4thbz0.net]
>>711
ありがとう
jupyterlってのが必要なんすね
機械学習をunityでやろうとしてましたけど、それと別途で用意します

724 名前:デフォルトの名無しさん [2025/02/21(金) 18:53:52.10 ID:YTEtnXyW0.net]
>>712
>>711みたいな馬鹿を信じるなよ

725 名前:デフォルトの名無しさん [2025/02/21(金) 19:06:12.50 ID:hCnqiwLw0.net]
LLM の推論機能を活用する新しいバックドア攻撃「DarkMind」が提唱される
https://gigazine.net/news/20250221-darkmind-chain-of-thought/

AIはチェスで負けそうになるとチートする
https://gigazine.net/news/20250221-ai-chess-cheating/



726 名前:デフォルトの名無しさん [2025/02/21(金) 23:21:50.44 ID:TllVjNz50.net]
from datetime import datetime

t_start: str = "23:00"
t_end: str = "24:00"
t_start_dt: datetime.datetime = datetime.strptime(t_start, "%H:%M")
t_end_dt: datetime.datetime = datetime.strptime(t_end, "%H:%M")
unix_t_start: float = t_start_dt.timestamp()
unix_t_end: float = t_end_dt.timestamp()

x = int(unix_t_end - unix_t_start)

print(x)

t_endが24だと以下のエラーが出ます
24時間表記の時は%Hではないんでしょうか?

ValueError: time data '24:00' does not match format '%H:%M'

727 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 00:07:13.49 ID:Oo9CzgQsM.net]
>>715
知らんけど時間って
00:00:00~23:59:59
ちゃうの?

728 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 00:28:58.03 ID:rVspP8iQ0.net]
不親切なエラーだよね

729 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 00:58:09.16 ID:eBlj03Lj0.net]
境界値の問題って定番じゃね
テストケースにも必ずいれるだろ

730 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 07:44:50.26 ID:mdQ5EfsK0.net]
閏秒なんか廃止で当然だよな

731 名前:デフォルトの名無しさん [2025/02/22(土) 12:10:03.03 ID:kWiPacnr0.net]
>>716
ありがとうございます
このようにしてみましたがもっとスマートな方法ってありますか?

from datetime import datetime

t_start: str = "23:00"
t_end: str = "24:00"
if t_end[0:2] == "24":
t_end = f"00:{t_end[3:5]}"
t_start_dt: datetime.datetime = datetime.strptime(t_start, "%H:%M")
t_end_dt: datetime.datetime = datetime.strptime(t_end, "%H:%M")
unix_t_start: float = t_start_dt.timestamp()
unix_t_end: float = t_end_dt.timestamp()
if t_end[0:2] == "00":
unix_t_end += 86400 # 24時間足す
x = int(unix_t_end - unix_t_start)
print(x)

732 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 12:19:18.21 ID:mdQ5EfsK0.net]
何がしたいのか不明だけど、時間の計算にはtimedeltaを使う

733 名前:デフォルトの名無しさん [2025/02/22(土) 12:35:47.16 ID:kWiPacnr0.net]
>>721
ありがとうございます
調べてみます

734 名前:デフォルトの名無しさん [2025/02/22(土) 12:42:40.44 ID:kWiPacnr0.net]
やりたいことはt_startとt_endの中に入ってる文字列の時刻の差分を求めたいです

735 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 12:44:39.38 ID:mdQ5EfsK0.net]
といいつつ、日付ではなく時間の長さをhh:mm:ss形式で書きたい時用に、
秒単位のfloatと文字列の相互変換ライブラリを自作した
標準にはいいの無い



736 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 12:51:12.03 ID:mdQ5EfsK0.net]
うちのライブラリで書くと、
delta = str_sec(t_end)-str_sec(t_start)
print(sec_str(delta))
こんな感じになる

737 名前:デフォルトの名無しさん [2025/02/22(土) 13:11:12.71 ID:kWiPacnr0.net]
途中経過ですけど今こんな状態です

t_start: str = "23:00"
t_end: str = "24:00"

dt_now = datetime.now()
t_start_dt = datetime(year=dt_now.year, month=dt_now.month, day=dt_now.day, hour=int(t_start[0:2]), minute=int(t_start[3:5]))
if t_end[0:2] == "24":
dt_d = dt_now.day + 1 # もし現在が月の最終日だとエラーになる "ValueError: day is out of range for month"
t_end_dt = datetime(year=dt_now.year, month=dt_now.month, day=dt_d, hour=0, minute=int(t_end[3:5]))
else:
t_end_dt = datetime(year=dt_now.year, month=dt_now.month, day=dt_now.day, hour=int(t_end[0:2]), minute=int(t_end[3:5]))
x = t_end_dt - t_start_dt
print(t_start_dt)
print(t_end_dt)
print(x)

738 名前:デフォルトの名無しさん [2025/02/22(土) 13:58:51.98 ID:kWiPacnr0.net]
何度もすみません
とりあえずこうなりました
なんだが余計に長くなった気がします

from datetime import datetime

def strToDt(str_dt: str):
dt_now = datetime.now()
# TODO 25や26の場合があるかもしれないので24決め打ちはやめる
if str_dt[0:2] == "24":
next_dt = dt_now + timedelta(days=1)
dt_dt = datetime(year=next_dt.year, month=next_dt.month, day=next_dt.day, hour=0, minute=int(str_dt[3:5]))
else:
dt_dt = datetime(year=dt_now.year, month=dt_now.month, day=dt_now.day, hour=int(str_dt[0:2]), minute=int(str_dt[3:5]))
return dt_dt


t_start: str = "23:00"
t_end: str = "24:00"

t_start_dt = strToDt(t_start)
t_end_dt = strToDt(t_end)

x = t_end_dt - t_start_dt
print(t_start_dt)
print(t_end_dt)
print(x) # 時間:分:秒 形式
# TODO xを分形式に変換する

739 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 14:01:58.99 ID:92tqsAYeM.net]
初学者だと思うけど
end>startが保証されてるなら
>725

740 名前:
みたいに秒に変換して引き算が正解じゃない?
[]
[ここ壊れてます]

741 名前:デフォルトの名無しさん [2025/02/22(土) 14:16:15.84 ID:kWiPacnr0.net]
>>728
Endが24までなのか25や26もあるのか、それとも24の次は1なのか確実じゃないのでその辺考えて修正してみます
やっぱりタイムスタンプに変換した方が短くなりますか?
あと、727のインポートでtimedeltaが抜けてました

742 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 14:22:19.90 ID:mdQ5EfsK0.net]
print(datetime.now())
これの出力が
2025-02-22 14:20:40.735896
これになるのが嫌
秒を整数にしてくれたらそのまま使えるのに

743 名前:デフォルトの名無しさん [2025/02/22(土) 15:29:44.08 ID:kWiPacnr0.net]
何度もすみません
こうなりました
今のところt_startよりもt_endが小さいとエラーになります

https://techiedelight.com/compiler/?119b

744 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 18:46:10.84 ID:/k68f2f30.net]
pandasなら+“:00”してHH:mm:ss形式に揃えれば25:00や26:00でもパースできるけど簡単な処理だから自分で計算すればいいんじゃないかと思う

def parse_as_minutes(hhmm):
 hours, minutes = [int(x) for x in hhmm.split(':')]
 return hours * 60 + minutes

745 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 18:52:17.77 ID:mdQ5EfsK0.net]
そんなのを毎回作ってられない
2回くらいは作る
3回目あたりで、本腰入れて部品化する



746 名前:デフォルトの名無しさん (ワッチョイ 43ce-qk/j) [2025/02/22(土) 23:02:04.13 ID:eBlj03Lj0.net]
>>731
https://techiedelight.com/compiler/?96ec
これじゃ駄目なのか?

747 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 23:31:26.22 ID:d1IFpLYA0.net]
劣化しとるやないかーい

748 名前:デフォルトの名無しさん (ワッチョイ 6e9a-1YEc) [2025/02/23(日) 09:47:38.74 ID:BUMkVt7f0.net]
個人レベルで機械学習学んでも意味無いですかね?
例えば競馬予想aiを作りたいとして
しかし、けっきょくのところデータがないと、学習モデルだけあっても意味ないですもんね

競馬なら馬場状態を数値化したデータというのがないと、学習させられないですよね

749 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 10:33:41.64 ID:2+mAKcn80.net]
>>730
そのくらいは標準で簡単に出来るだろ

750 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 10:36:52.09 ID:foL9AaqB0.net]
>>736
自分で学習すりゃいいじゃん
データなんていくらでもあるんだし

751 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 11:58:59.62 ID:uSqDrBD8M.net]
>>736
他人の後追いするぐらいなら他人のシステム使えばよい

競輪なんて放送でAI予想の倍率出しながら中継してる

752 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 12:29:42.21 ID:TNVZaLWv0.net]
オッズの計算に投票だけではなくAI予想も加味したら、
面白さと利益率が上がるのでは

753 名前:デフォルトの名無しさん [2025/02/23(日) 13:11:05.65 ID:BUMkVt7f0.net]
>>739
例えばバンクのホコリっぽさとか、選手の体調とか、そういった不確定要素ってデータがないですよね
なので、公式のデータ以外ないとするなら、あまりやる意味がないのかなと

754 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 13:17:20.60 ID:TNVZaLWv0.net]
確率が計算できて、オッズがその確率通りならば、どこに賭けても期待値は同じ
実際には、確率とオッズに乖離が発生する
そこに着目して、確率の高いところではなく、期待値の高いところに掛けると儲かるかもしれない

755 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 14:34:58.45 ID:uSqDrBD8M.net]
>>741
競輪AIだと雨が降ってると硬い結果になる

選手が雨の中危険な勝負して事故ったりしたくないんだろ



756 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 15:42:44.26 ID:TNVZaLWv0.net]
early continue 便利だな
行は増えるけどネストは浅い方がいいので積極的に使おう

757 名前:デフォルトの名無しさん [2025/02/23(日) 16:11:59.81 ID:r171NbV30.net]
>>744
横からだけどサンクスこれいい

758 名前: []
[ここ壊れてます]

759 名前:デフォルトの名無しさん (ワッチョイ cd79-Ro5/) mailto:sage [2025/02/23(日) 16:59:33.82 ID:SH8eoGXi0.net]
そんな言い方があるんだな
同じように関数で場合分けごとにさっさとreturnしてるけど
これもearly returnっていうのを知らなかった

760 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 17:13:57.05 ID:TNVZaLWv0.net]
例えばループで文字列を処理していて
m = re.search(pattern, str)
found = m.groups()[0]
これだと見つからない時にエラーになる

で、
if m :=
にしたりするけど、見つからなかったら飛ばしたいなら、
else:
 continue
になって、なんか変

最初から m = のままで、
if not m:
 continue
を付ければすっきりする
セイウチは絶滅の方向で

761 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 18:43:24.49 ID:ap5ufkCU0.net]
それ最初からelse: continue必要ないじゃん

762 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 19:01:50.10 ID:TNVZaLWv0.net]
elseをほっとくと、foundの中身が不定になってしまう
事前にNoneを入れておいたりして、後の処理でNoneなら飛ばす
みたいなことになる
そんなことするくらいなら、continueしてしまった方が後腐れない

763 名前:デフォルトの名無しさん (アウアウウー Sa39-c/TO) [2025/02/23(日) 19:46:23.76 ID:CZU86cpwa.net]
>>709
Unityがゲームしか造れないという考え方は改めるべき

764 名前:デフォルトの名無しさん (アウアウウー Sa39-c/TO) [2025/02/23(日) 19:48:54.69 ID:CZU86cpwa.net]
re.findall(pattern, str)

765 名前:デフォルトの名無しさん (ワッチョイ 0154-ePnC) mailto:sage [2025/02/23(日) 20:05:27.12 ID:TNVZaLWv0.net]
もしかしてfindallって全ての点でsearchに勝ってる?



766 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 20:54:18.71 ID:ap5ufkCU0.net]
なんでだよw
めちゃくちゃ要領悪いな

767 名前:デフォルトの名無しさん [2025/02/23(日) 22:37:16.02 ID:R0b4DHIEd.net]
>>749
gotoを多用しそうな人発見

768 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 23:03:58.66 ID:LVu8ljPH0.net]
pythonのreはAPI設計に難があるよね
他の言語から戻って来るたびに仕様の確認が必要

769 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 23:09:23.71 ID:TNVZaLWv0.net]
perlから来たからsearchばっかり使ってるけど、
findallの方がこなれてそうだな

770 名前:デフォルトの名無しさん (ワッチョイ 6e9a-1YEc) [2025/02/24(月) 05:49:40.37 ID:ujJrcFED0.net]
>>750
tensorflowとかunityで使えるんすか(´・ω・`)

771 名前:デフォルトの名無しさん (ワッチョイ 752a-xrb0) [2025/02/24(月) 08:23:49.32 ID:TCszVRfv0.net]
>>747
> 最初から m = のままで、
> if not m:
>  continue
> を付ければすっきりする
> セイウチは絶滅の方向で

話題をよく理解していないのだけれど、
コロンイコールを使って、そのように論理を逆転してやればすっきりする、というハナシとも違うの?

if not (m := re.search(pattern, str)):
 continue

772 名前:デフォルトの名無しさん mailto:sage [2025/02/24(月) 12:12:57.30 ID:4WrA9fgL0.net]
>>758
747じゃないがセイウチはどうもPythonicじゃない感ある
他言語のletみたいにスコープも閉じてないし

773 名前:デフォルトの名無しさん mailto:sage [2025/02/24(月) 14:57:43.47 ID:d83yxTtH0.net]
いくつかのパターンのどれかに合致する、みたいな時は
if m :=
elif m :=
elif m :=
みたいにしか書きようがない
パターン検査と結果取得を同時に書かないと、同じことを2回書くことになる

774 名前:デフォルトの名無しさん mailto:sage [2025/02/24(月) 15:09:39.96 ID:Jwc6B7rV0.net]
>>756
ほんとにperl使ってた?
gフラグ + リストコンテキストを真似したのがfindallなんだが

775 名前:デフォルトの名無しさん mailto:sage [2025/02/24(月) 15:27:48.14 ID:d83yxTtH0.net]
だからこそ、1行で決まった数キャプチャーする時はsearchで、
全体からいくつあるか判らないけどあるだけ取ってくる時はfindallという使い分け

という設計だったけど、
1回しかマッチしないと判っててもfindallして[0]だけ使う方が使いやすいっていう



776 名前:デフォルトの名無しさん mailto:sage [2025/02/24(月) 15:29:10.34 ID:4WrA9fgL0.net]
>>760
人それぞれではあるけども
検査先を単一にしてパターンマッチングに持ち込めないんなら
一緒くたにしないで個別のifと必要なら早期return/continueにする
Pythonの簡潔さって表現力があって強力な他言語とは趣がちがう

777 名前:デフォルトの名無しさん mailto:sage [2025/02/24(月) 16:51:44.97 ID:Jwc6B7rV0.net]
>>762
pythonでも使い分けできてないみたいだな
自分の不出来をperlのせいにしたらだめだぞ

778 名前:デフォルトの名無しさん [2025/02/24(月) 17:00:02.49 ID:qXEt7oPpr.net]
C#のLINQは優秀だよな
async/awaitみたいにあれも貰ってきてくれよ

779 名前:デフォルトの名無しさん mailto:sage [2025/02/24(月) 18:19:27.76 ID:xkCGwjl20.net]
>>760
そういうのはパターンとアクションをコレクションにまとめる

780 名前:デフォルトの名無しさん mailto:sage [2025/02/24(月) 18:26:57.10 ID:d83yxTtH0.net]
具体的に何してるか書くと、日付や時刻をファイル名に含んだいろんなファイルを時系列ソートする
日付時刻の表記方法は10種類あって、どれでもない場合はタイムスタンプで代用する
日付は必ず含むが、時刻は無い場合もある

なかなか統一的には書けないので、if m := elifのかたまりになる

781 名前:デフォルトの名無しさん [2025/02/24(月) 18:37:53.69 ID:qXEt7oPpr.net]
都度ファイル名を解析して時系列ソートするんじゃなくて一発バッチでファイル名を統一してしまうわけにはいかんのか

782 名前:デフォルトの名無しさん mailto:sage [2025/02/24(月) 19:03:25.46 ID:Ts/aFZR80.net]
>>767
そういうのこそコレクションにまとめるべき
10個もif-elseで同じことしない

783 名前:デフォルトの名無しさん mailto:sage [2025/02/24(月) 22:53:00.73 ID:Wgnd8zr+0.net]
本人は同じ処理を繰り返し書いてる認識自体がないんじゃないかな
すごくベーシックなリファクタリング方法だけどメソッド抽出やクラス分割や統合に比べて認識できない人が多い印象がある

784 名前:デフォルトの名無しさん [2025/02/25(火) 09:13:08.75 ID:DokSK96w0.net]
>>770
コードを例示してあげなよ。
プログラム板でコードで話さないのもどうかと思うよ。ベーシックならそうマル秘でもないのでしょう。

785 名前:デフォルトの名無しさん [2025/02/25(火) 09:54:29.03 ID:XzpdRQ1Sa.net]
769がwinprocのWM_hogehogeのifelse観ると卒倒するだろうな



786 名前:デフォルトの名無しさん mailto:sage [2025/02/25(火) 17:56:27.99 ID:PjrSO8Sc0.net]
コンテキストが全然違うから比べる意味がない

787 名前:デフォルトの名無しさん mailto:sage [2025/02/25(火) 19:31:30.09 ID:z5mNSc8+0.net]
数百個のswitch caseは別に見にくいとは思わんのよな
むしろ追加が簡単だからわかりやすい

788 名前:デフォルトの名無しさん (ワッチョイ cd01-p51G) mailto:sage [2025/02/25(火) 23:57:48.17 ID:xhjdbHGf0.net]
>>771
わざわざ例示するのもちょっと恥ずかしいが一例を書いておく

for (pattern, func) in rules:
 if m := re.search(pattern, string):
  return func(m)

他言語でstatic dispatchが求められる用途ではもちろん使わない

789 名前:デフォルトの名無しさん (ワッチョイ 0154-ePnC) mailto:sage [2025/02/26(水) 00:09:16.17 ID:wJOChXEu0.net]
各funcがそれぞれ違う内容の筈という前提があるけど、
殆どそっくりなfuncが延々と並んだら、もう少し頭いいやり方があるのでは、と思うだろう

790 名前:デフォルトの名無しさん mailto:sage [2025/02/26(水) 00:50:58.38 ID:xhjdbHGf0.net]
うーん
そっくりじゃないから違う処理をしてる(と思ってる)
違う処理をしてるから統一的に書けない(と思ってる)
というのがまさに「本人は同じ処理を繰り返し書いてる認識自体がない」状態なんだがなぁ

791 名前:デフォルトの名無しさん mailto:sage [2025/02/26(水) 01:45:33.67 ID:TQg7w7Pj0.net]
argparseとかUIのイベント処理がそんな感じだけど
数が増えたらボイラープレートだらけで美しくないんだよな

792 名前:デフォルトの名無しさん [2025/02/26(水) 02:08:13.92 ID:O0INS9IK0.net]
日付のパターン 正規表現にして その日付部分を引っ張り出してきて 戻り値にすればいいのでは

793 名前:デフォルトの名無しさん mailto:sage [2025/02/26(水) 07:46:22.98 ID:EieBhFTu0.net]
あー、それだ
30時間制でhourが23を超えてたら、24引いて1日足す、みたいな処理もあって、
それを各関数でやってられない
最終的に欲しいのはdatetimeのオブジェクトで、その変換も一括でやりたい
で、全体を一つの処理にしてたけど、一番プリミティブな抽出部分だけ関数化すればいいのか
日付と時刻をバラバラで返すのは嫌すぎるのでclassにする

794 名前:デフォルトの名無しさん [2025/02/26(水) 09:52:35.13 ID:z2nMevLL0.net]
>>776
もう少し頭いいコードを示すと良いのでは。
10パターンの日時表現を1パターンに収斂、統一させる。殆どそっくりなfuncも収斂させるのだろうか。

795 名前:デフォルトの名無しさん mailto:sage [2025/02/26(水) 12:34:12.97 ID:RZQSvPw/0.net]
実際のパターン提示されてないし
一般化したい欲求から来てるのにそんな冗長なコード書くか?



796 名前:デフォルトの名無しさん mailto:sage [2025/02/26(水) 13:24:03.55 ID:XqJTS5Fa0.net]
実際でなくていいよ。適当にググったこんなので。
2025-02-26T23:45:12.34.txt
Wed 02-26-2025.dat
Wed 26 Feb 2025 11:45:12 PM.txt

797 名前:デフォルトの名無しさん mailto:sage [2025/02/26(水) 16:51:32.29 ID:w6olCj090.net]
その例だけならarrow使えば正規表現使わなくても簡単にできるよ
25時とかは守備範囲外なので別途事前処理が必要

798 名前:デフォルトの名無しさん mailto:sage [2025/02/26(水) 17:07:33.10 ID:n89P36ao0.net]
ubuntu22.04,python3.10.12でUSBカメラ繋いで撮った動画を保存するプログラム作ろうとしたんだけど保存した動画が再生出来ないや
静止画を結合して動画にする事はできたからコーデック的な問題ではないと思うんだけど
import cv2

cap=cv2.VideoCapture(0)
width,height=int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)),int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
out=cv2.VideoWriter("/home/taro/Videos/result.avi,cv2.VideoWriter.fourcc(*"DIVX"),30.0,(width,height),isColor=True)
print("録画を開始します")
try:
  while cap.isOpened():
    ret, frame=cap.read()
    if ret:
      out.write(frame)
      cv2.imshow("frame",frame)
      if cv2.waitkey(1) & 0xFF ==ord("q"):

        break
    else:
      break

except KeyboardInterrupt:
  print("録画を終了します")
finally:
  cap.release()
  out.release()
  cv2.destroyAllwindows()

799 名前:デフォルトの名無しさん mailto:sage [2025/02/26(水) 19:37:57.30 ID:j/LMUKKxa.net]
aiに聞けよ

800 名前:デフォルトの名無しさん (ワッチョイ 8d59-D2xv) [2025/02/27(木) 11:58:07.92 ID:80QDg94G0.net]
jsonファイルが開けません。何が原因でしょうか?

https://techiedelight.com/compiler/?b14b6e
24行目以降はスクリプトの出力結果です
TextIOWrapper型はダメと書いてあるようなんですけどどうしたらいいのか分かりません

https://jsonlint.com
jsonファイルの中はここで念のためチェックしました

801 名前:デフォルトの名無しさん (ワッチョイ 3d63-Ek8k) mailto:sage [2025/02/27(木) 12:05:58.52 ID:C53SLMw00.net]
>>787
json.loadsは文字列やバイト列しか受け取れない
fは文字列ではない

802 名前:デフォルトの名無しさん (ワッチョイ 8d59-D2xv) [2025/02/27(木) 12:07:08.33 ID:80QDg94G0.net]
>>787
自己レス
json.loadとjson.loadsは異なるようでjson.loadだと開けました

803 名前:デフォルトの名無しさん (ワッチョイ 8d59-D2xv) [2025/02/27(木) 12:07:38.80 ID:80QDg94G0.net]
>>788
すみません!どうもありがとうございます

804 名前:デフォルトの名無しさん (ワッチョイ 8d59-D2xv) [2025/02/27(木) 12:10:05.49 ID:80QDg94G0.net]
修正してこれだと動きました
https://techiedelight.com/compiler/?3c4203

805 名前:デフォルトの名無しさん [2025/02/27(木) 13:28:56.13 ID:VQNvJTxha.net]
伝わらないのは相手のスキーマに落として話してないから。
言い方がまずいのではなく、相手の思考に合わせて話さないから伝わらないという内容だったと理解しています。
普段からこの点に注意して周りの人と接するようになりました。



806 名前:デフォルトの名無しさん [2025/02/27(木) 13:29:27.69 ID:VQNvJTxha.net]
最後に生成aiが人と同じ思考をしないという記述がありました
特性をよく理解して使う必要があると思いました

807 名前:デフォルトの名無しさん mailto:sage [2025/02/27(木) 13:52:24.42 ID:/ts2T7b80.net]
スキーマなどない。我が拳は我流。我流は無型。無型ゆえに誰にも読めぬ。

808 名前: mailto:sage [2025/02/27(木) 14:01:47.40 ID:VQNvJTxha.net]
ごめん
何言ってるか判らん

809 名前:デフォルトの名無しさん mailto:sage [2025/02/27(木) 17:32:51.11 ID:ZgFfKBZe0.net]
お互いに心のスキーマ埋めて話せよ
ここはエスパーが集う優しいスレッドだぞ

810 名前:デフォルトの名無しさん [2025/03/02(日) 15:48:38.13 ID:HilFpukh0.net]
a-shellの質問はここでいいの?
iPhone、iPad用のPython用シェルなんだけど

811 名前:デフォルトの名無しさん mailto:sage [2025/03/02(日) 15:56:55.60 ID:/YCrqC3g0.net]
コマンドで出来ることをPythonで作ってcmdで起動させてるんだけどなんかもやる。いい方法なんか無いかなあ。

812 名前:デフォルトの名無しさん mailto:sage [2025/03/02(日) 16:10:57.40 ID:NOlVOyMW0.net]
コマンドでできることをpythonのosモジュールにやらせるとちゃんと動かなかったりするので、
cmdをsubprocessから実行させたりする
もう高級batファイル

813 名前:デフォルトの名無しさん [2025/03/02(日) 17:51:07.79 ID:89Av+BX/0.net]
>>798
コマンドで出来ることをコマンドにさせない理由が伝わらないので、もやるのが何故か分からない。

814 名前:デフォルトの名無しさん [2025/03/02(日) 17:59:44.66 ID:JAzjPHpUa.net]
コマンドで出来ることをPowerShellで作ってcmdで起動させてる人なんかはもやらないんだろうか

815 名前:デフォルトの名無しさん [2025/03/02(日) 18:19:18.79 ID:xrnlJRcX0.net]
お勉強スレだから頭の悪い人ばっかなの?



816 名前:デフォルトの名無しさん mailto:sage [2025/03/02(日) 19:39:01.42 ID:YF6lVSQXM.net]
コマンドは一部職人芸みたいなのがあるとメンテが難しいからPowershellかアプリの場合もあるでしょ

817 名前:デフォルトの名無しさん mailto:sage [2025/03/02(日) 19:44:47.14 ID:NOlVOyMW0.net]
最近 for /f 知ったけど、むっさ便利

818 名前:デフォルトの名無しさん mailto:sage [2025/03/03(月) 04:16:34.72 ID:NAxKZqvR0.net]
*nix shell scriptくらいがちょうどいい

819 名前:デフォルトの名無しさん [2025/03/03(月) 05:26:11.89 ID:xAYnQ1Zo0.net]
コードを視覚化したいのですが、オブジェクト同士の通信と、オブジェクトが持つコードを同時に表現出来るものでしょうか?
前者はクラス図、後者はフローチャートでやるものだと思いますが
マーメイド使ってます

820 名前:デフォルトの名無しさん [2025/03/04(火) 00:26:35.01 ID:r0fJoym10.net]
フローチャートの定義済みの処理でいいんじゃないの
双方向に矢印書けば、オブジェクト同士の通信になるし

821 名前:デフォルトの名無しさん mailto:sage [2025/03/04(火) 00:37:06.85 ID:JHGbD3as0.net]
厳密に書ける図しか出てこないんだよな
こまけぇこたぁいいんだよ、の図が一番判り易いのに

822 名前:デフォルトの名無しさん [2025/03/04(火) 17:23:52.29 ID:9TXFpBaY0.net]
matplotlibでグラフ作成するプログラムをPyinstallerでexe化し、別PCで動かしたら「フォントがねぇ!」
って怒られるんだけど、Pyinstallerでビルドするときにフォントを内蔵し、
別PCでフォントをインストールすることなく実行する方法ってありますでしょうか。

823 名前:デフォルトの名無しさん (ワッチョイ 9901-3FuH) mailto:sage [2025/03/04(火) 18:02:09.59 ID:c62Mny0R0.net]
専用のフォントファイル使ってるならpyinstallerの--add-dataでexeにフォントファイル追加して
実行側のmatplotlib.FontManager.addfontで追加したフォントファイル読み込めばいいんじゃね?
試してないけど

824 名前:デフォルトの名無しさん [2025/03/05(水) 07:05:35.50 ID:DooANywKa.net]
代替フォントで表示されて
元のグラフと違う!って怒り出すまでがデフォ

825 名前:デフォルトの名無しさん [2025/03/05(水) 10:17:47.61 ID:k4iH0qBY0.net]
こういう時こそ例外処理だ



826 名前:デフォルトの名無しさん [2025/03/05(水) 10:56:01.18 ID:t/BpZiCN0.net]
そもそもexeにして配布してもアンチウィルスソフトに引っ掛かるのがオチ
なんでstreamlitとかでWebって発想が無いのか

827 名前:デフォルトの名無しさん mailto:sage [2025/03/05(水) 12:29:12.97 ID:jqEKzIeO0.net]
>>811
㌧クス
内蔵した後のファイル呼び出し手間取ったけど実装出来ました。

>>813
そもそも配布するつもりはなくって、レアフォント使うからって言う理由があったんです。

828 名前:デフォルトの名無しさん mailto:sage [2025/03/05(水) 12:29:36.75 ID:jqEKzIeO0.net]
安価ミスった
>>810
だったじゃん・・・

829 名前:デフォルトの名無しさん mailto:sage [2025/03/05(水) 12:40:03.54 ID:je2apegZd.net]
809ではないけど、俺もStreamlitでダッシュボード作ったことあるんだけどデータソースが機密度高すぎてとてもインターネットにはデプロイできないので、社内サーバで運用してたのだがこれはこれで面倒くて
ElectronのPython版みたいなのあれば良いのにとは思うんだが
eelとかpywebviewとかビックリするほど情報少ない、需要無いんだろうけど

830 名前:デフォルトの名無しさん [2025/03/05(水) 17:42:14.00 ID:t/BpZiCN0.net]
>>816
AzureやAWSやGCPにデプロイすれば良いじゃん
VNET使って外から切り離してその後ろに鯖立てる
更にWebページ自体にSSOで多分365とか使ってるだろうからEntraIDで認証

831 名前:デフォルトの名無しさん (アウアウウー Sa1d-8P30) [2025/03/05(水) 18:42:44.64 ID:wl9RyfHna.net]
djangoだけでもいいけどSPAにしたければ
Vue.jsとかExt.jsとかと組み合わせる

832 名前:デフォルトの名無しさん [2025/03/05(水) 20:27:38.71 ID:k4iH0qBY0.net]
masterからbranch切ってコミットして、VSCodeにSyncronizeってボタンでたからそれ押したらmasterブランチで?に?pushされた
これってコマンドだとどういうコマンド使ったことになるの?

何か嫌だったからmasterブランチの方はpullしてrevertして、masterと新しく切ったbranchをpushしなおした

833 名前:デフォルトの名無しさん [2025/03/05(水) 20:28:07.14 ID:k4iH0qBY0.net]
gitスレと間違えちゃった

834 名前:デフォルトの名無しさん [2025/03/06(木) 13:35:09.45 ID:SW3gTDW+M.net]
ブランチは切るものなのかw

835 名前:デフォルトの名無しさん (ワッチョイ b154-IWyi) mailto:sage [2025/03/06(木) 19:16:56.29 ID:I5dHg2CT0.net]
生やす



836 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 19:59:07.22 ID:mUwM1gxX0.net]
新たな方向への舵とかチケットを「切る」イメージなんだろうけど、
branchは枝だから、せっかく生やしたものを切ってしまってはまずいなw

837 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 20:50:07.68 ID:pxVL1qQZ0.net]
英語でcut a branchと言うのを訳したものなので舵を切るやチケットを切るの切るとはまた違う

838 名前:デフォルトの名無しさん [2025/03/06(木) 20:52:35.77 ID:vk5/DvbY0.net]
そんなん使いだした奴に言うてくれよw

839 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 20:57:42.50 ID:ciT+lRoRM.net]
おい!新人!
ブランチ切っといて!
はい!喜んで!(削除)

840 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 21:06:41.75 ID:I5dHg2CT0.net]
アルファ・ベータ法でカットした筈の枝が生えそうだな

841 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 21:16:19.73 ID:MrSWvjk80.net]
ブランチ切るって使うけど界隈によるんかな

842 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 21:37:30.89 ID:mUwM1gxX0.net]
>>824
"cut a branch"は一般的な「枝を切る」ってだけの話で、
Gitでは"create a branch"じゃないの?
両者はまるで反対の意味になるし

843 名前:デフォルトの名無しさん [2025/03/06(木) 22:04:30.15 ID:mLXV+Jap0.net]
>>823
プラナリアに切れ目を入れるイメージ

844 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 23:02:53.82 ID:hP34p9/Z0.net]
cut a branchは「(枝道を)切り開く」のニュアンスかな
cutting edgeとかcut one's wayのcut
直訳の「切る」だと通じない

845 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 23:11:01.62 ID:I5dHg2CT0.net]
cutting edgeは切断面のイメージだけどな



846 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 23:19:51.18 ID:pxVL1qQZ0.net]
>>829
gitとかのコンテキストでのcut a branchはcut a branch from masterとかcut a branch off of trunkを短く言ってるもので大元のものからisolateされた状態にするイメージ

847 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 23:28:56.20 ID:I5dHg2CT0.net]
branchは分岐してるだけで本体とは繋がってるのに、
それをcutされたものと言っちゃうのはどうやっても誤解の原因になる
それが面白いという悪ふざけや言葉遊びならいいけど、
あまりオフィシャルには使えない

848 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 23:39:18.99 ID:pxVL1qQZ0.net]
例えばこことか公式ドキュメントで普通にcutが使われてるよね
https://tvm.apache.org/docs/v0.12.0/contribute/release_process.html#cut-a-release-candidate

英語でも日本語でも何十年も前から定着してる言い回し

849 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 23:45:48.92 ID:pxVL1qQZ0.net]
英語の辞書に載ってる意味で言うと↓ここのtransitive verbの3-cが一番近い
https://www.merriam-webster.com/dictionary/cut

850 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 23:46:35.04 ID:I5dHg2CT0.net]
Cut a Release Candidate
はリリース候補として何かのリビジョンを切り出すんだよ
分岐のイメージは無い
リリースしたものがその後育ったら困る

851 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 23:50:52.31 ID:I5dHg2CT0.net]
3-cの例文の
チームから切り離すとか、群れから切り離すのも、明確に分離している
分離と分岐は全然違う

852 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 00:34:50.26 ID:CROu0DDs0.net]
ブランチを作る目的は互いの変更が影響しあわない分離された開発ラインを仮想的に作ること

cutという単語が使われるのは分岐よりも分離に主眼があるから

853 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 01:44:12.43 ID:IYsfuX5M0.net]
枝道に逸れてサボってるお前らの給料をcutしよう

854 名前:デフォルトの名無しさん [2025/03/07(金) 02:22:26.83 ID:DC3oMiFw0.net]
>>829
日本語訳がおかしい。切るではなく分けるという意味。

855 名前:デフォルトの名無しさん [2025/03/07(金) 02:25:08.03 ID:DC3oMiFw0.net]
>>835
枝分かれという意味だけど、枝分かれしたものが本流に合流するから自然言語の言葉の選択に失敗しただけ。



856 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 06:09:46.75 ID:XXR0/Q3A0.net]
日本語訳ではなく元からおかしいのだろう
日本語の「課金」みたいな間違った使い方が定着しちゃうのはどこの言語でもある
マニュアルとかには登場せずに口語とかで使われる用法

だからといって、直訳して間違う必要はない

857 名前:デフォルトの名無しさん [2025/03/07(金) 07:52:09.30 ID:nBHkq2vS0.net]
git スレに於いては今後、枝をはらう意味のときは「剪る」「伐る」と書くこと。pythonスレで決めたからね。いいね。

858 名前:デフォルトの名無しさん [2025/03/07(金) 08:15:11.30 ID:i3TW8fQU0.net]
世間の慣習は変わらんぞ

859 名前:デフォルトの名無しさん [2025/03/07(金) 10:32:15.00 ID:DC3oMiFw0.net]
>>843
料金の請求そのものを「課金」と呼んでいる会社があるからなあ

860 名前:デフォルトの名無しさん [2025/03/07(金) 11:24:48.94 ID:i3TW8fQU0.net]
AAAのaccountingはアカウンティングとしか訳せない

861 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 14:17:00.73 ID:EmPVRGY00.net]
>>826
あぁ
トラウマ...

きっつ

862 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 14:18:41.52 ID:NMHLxQXg0.net]
>>826
別に削除しても問題ないやろ…

863 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 22:10:05.52 ID:qVctmwDB0.net]
>>841
branchを動詞として使い、それだけで大本から流れを「分ける」という意味になる(分離はしていない)
cutの場合はあくまで切り離してしまうので、分けるというより「切り分ける」(完全分離)という感じだな

いずれにしても、「ブランチを切る」は誤解を招く言い方だと思う

864 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 22:50:11.11 ID:wbHOjF8U0.net]
特定のバージョンをリリースする場合はcutで合ってる
正しく使われたcutの例を見て、ブランチを作ることをcutって言うんだ、と
ふわっと理解した層が誤用して定着してしまった、のだろう

865 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 22:57:11.00 ID:GKKg4qAw0.net]
ブランチを切らないおじさんたち
知らなかったことは恥ずかしいことではないが
その後のやり取りは非常に見苦しい

間違った独りよがりの解釈並べて
やっぱり俺は正しかったと思い込んだところで何も変わらない
素直に「知らなかった」ことを認めて謝ろう

そうすれば老害の進行を止められるよ



866 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 23:09:46.40 ID:wbHOjF8U0.net]
老害なんて、そんな大層な地位にはいないよ
そんなに煽てられると照れちゃうな

867 名前:デフォルトの名無しさん [2025/03/07(金) 23:17:57.73 ID:DC3oMiFw0.net]
英語の日本語訳でcutを考えるという謎の思考

868 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 10:47:12.14 ID:ygCjHTHI0.net]
mktime() なんて伝統的なメソッドなのに、ここだけ何で英語なんだよ。マジメに訳せよ。
https://docs.python.org/ja/3.13/library/time.html#time.mktime

869 名前:デフォルトの名無しさん [2025/03/08(土) 10:47:40.67 ID:e8GOpGZkH.net]
>>819は切るって言っただけでcutなんて言ってないからな

870 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 12:40:07.76 ID:5sZkGuqi0.net]
日本のIT業界では昔から、フォルダなど何らかのコンテナを作成することを「切る」と言う習慣がある
汎用機の時代はフォルダ(に類するもの)やDBのテーブルなんかを作るときに静的にディスクの領域を割り当てるのが一般的だったから、そこから切ると言うようになったのだろう

871 名前:デフォルトの名無しさん [2025/03/08(土) 13:01:40.23 ID:6f56mNzS0.net]
んなわけねーだろスケジュールを切るとか別に一般に使う動詞よ
なにがIT業界ではだよw

872 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 13:16:35.89 ID:XaJvZebA0.net]
言わんけどなあ
フォルダとかディレクトリは「掘る」だな
何かを発行することを切ると言うことはある
伝票を切るとか、歴史的には本当に切ってたのだろう

873 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 13:39:52.21 ID:ZW50ae5a0.net]
>>857
それは用語がごっちゃになってるだろ
パーティションとかクォーターなら切るだけど
フォルダやディレクトリは作るだろ
コマンドだってそうなんだし
Power Macは概念違うかもしれんが


あと掘るは探索だな

874 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 13:56:13.23 ID:i6kboqCH0.net]
>>860
現代のファイルシステムのモデルではそうだが、年輩者でフォルダを切ると表現する人は実際わりといる
何でも事前に静的に割り当てていた時代の人間は、大きいところから部分を切り出すというメンタルモデルから脱せないでいるのだろう

875 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 14:03:50.31 ID:XaJvZebA0.net]
パーティションは切る以外が思いつかないな
作成するよりもむしろ判り易い
ディレクトリは無から生み出してるけど、
パーティションは有限のものを切り分けてるだけだし



876 名前:デフォルトの名無しさん [2025/03/08(土) 14:11:12.81 ID:6GjCdbD90.net]
>>859
今でも伝票は切ってるやん
レシートも伝票やで
来て来たレシート切ってるやん
今は切り込みは入ってるとかレジが切って出て来るけどさ

877 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 14:14:44.53 ID:XaJvZebA0.net]
レシート切りますかと言ってくるコンビニ店員はおらん
実体が無くても切るという用語を使うという話

878 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 14:28:35.66 ID:5sZkGuqi0.net]
限られた可住面積と資源で生きてきた列島猿としては、
何かを新しく作るのはゼロから何かを生み出すのではなく常に大から小を切り出すことなんだろうな

879 名前:デフォルトの名無しさん (JP 0Heb-XXSS) mailto:sage [2025/03/08(土) 14:54:57.16 ID:bhzZOhlFH.net]
パスを切る=ディレクトリを作るって意味で使うし
ブランチを切るという言い方に何の違和感もない

880 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 15:22:00.93 ID:P4HKKOTE0.net]
22 (木を切って)つくる。

「今年はたびをも—・ってはかせい」

切るにはつくるって意味もあるようだ

881 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 15:22:48.97 ID:xQ5Fs9MV0.net]
>>858
それは日時や数量などに限定をつけるという別の用法で辞書にも載ってるもの
区切られた専用の領域を新しく作るといった意味で使うのは自分の知る限りIT業界特有

「〇〇用に新しく□□を切る」
- ブランチを切る
- ディレクトリを切る
- パーティションを切る
- サブネットを切る
- VLANを切る
- サブドメインを切る

パスを切るやエイリアスを切るが
これらと同じなのかは疑問の余地がある

882 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 15:24:08.77 ID:xQ5Fs9MV0.net]
>>866
>パスを切る=ディレクトリを作る
パスを切るのはディレクトリを作ることではなくない?

883 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 15:45:23.76 ID:jnuQA/jCd.net]
パスやエイリアスを切るのは道を切り開くという意味じゃない?
>>868で挙がっている「割譲する」というニュアンスの切るとはまた違うと思う

884 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 15:57:23.70 ID:XaJvZebA0.net]
PATHを切るは確かに言うな
PATHを通すと同義の奴じゃないかな
作成するのはディレクトリやフォルダで、PATHはフルパスのことなので、
それ自体を作成したりはしない

885 名前:デフォルトの名無しさん [2025/03/08(土) 16:22:09.63 ID:6GjCdbD90.net]
お前ら時代を考えろ
コマンドライン時代だ
/でディレクトリの区切りを示すやろ
この事からパスを切るって言うんだよ



886 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 16:28:31.93 ID:kCgnTDtk0.net]
Python勉強したかったらgithubのオープンソースと睨めっこしてこい。こんなとこでレスしても池沼mac信者しか沸かんぞ

887 名前:デフォルトの名無しさん [2025/03/08(土) 17:08:49.84 ID:ygCjHTHI0.net]
別れろ切れろはブランチの時に言う言葉、今のあたしにはいっそ kill と言っておくんなまし

888 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 17:37:17.94 ID:GgMgzR7UM.net]
言葉の意味を知らないで使い続けた慣用句の扱いだから
ゼロックスしておいておじさんが直すとも思えない
かと言って的は射るものですよ的な指摘も無粋

現場で仲良くやれればいいんじゃね?
意味はある程度通じているわけだし

889 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 17:38:34.41 ID:1IYLzVZ40.net]
何を発狂してんのよこのゴミは
「ブランチを切る」が現場で当たり前のように使われることを知らずに赤っ恥かいたから
正当化しようと暴れてるのか
見苦しい

890 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 17:53:41.60 ID:XaJvZebA0.net]
どっちかというと、ローカルな用語が一般で通用しなくてショック受けてる、が正解だな
これ方言だったの?的な

891 名前:デフォルトの名無しさん [2025/03/08(土) 20:56:09.68 ID:OhmQmpza0.net]
すいません>>819わかる人いたら教えてください
gitスレでも聞いたんですが、CUI vs GUIみたいな糞どうでもいい話ばっかりしててあいつらはもう駄目です

892 名前: []
[ここ壊れてます]

893 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 22:42:06.31 ID:Qlttoejh0.net]
>>878
gitのlogやreflogを確認するか
Syncボタンを押した時に発行されるgitコマンドが表示されるパネルを開いてから
もう一度試せばいいんじゃない?

gitというより聞くならVSCodeスレじゃないか

894 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 22:45:58.02 ID:Qlttoejh0.net]
>>877
公式サイトにある日本語訳でもブランチを切るという表現が多々出てくる
日本語訳が出来た2009年当時からずっと変わらず

895 名前:デフォルトの名無しさん [2025/03/08(土) 23:43:37.51 ID:zOJ1gnEL0.net]
>>857
作る、作成するでいいのに変な日本語を使い続けるのは老害



896 名前:デフォルトの名無しさん [2025/03/08(土) 23:44:49.47 ID:zOJ1gnEL0.net]
>>880
樹木の枝を切るという世間一般のイメージに引きずられているだけ

897 名前:デフォルトの名無しさん mailto:sage [2025/03/09(日) 01:03:40.90 ID:T7+XzD7W0.net]
『「的を得る」が間違い』は間違い

898 名前:デフォルトの名無しさん mailto:sage [2025/03/09(日) 01:50:12.00 ID:HKmOZnoF0.net]
>>878
その質問ChatGPTに聞いてみた?

899 名前:デフォルトの名無しさん [2025/03/09(日) 08:04:54.92 ID:mlSbYna30.net]
>>884
pullしてpushって言われた
>>879
確かに

900 名前:デフォルトの名無しさん mailto:sage [2025/03/09(日) 13:04:54.25 ID:Q8WEHnu70.net]
gptにコード書いてもらうのが一番

901 名前:デフォルトの名無しさん (ワッチョイ ce01-CSyU) mailto:sage [2025/03/09(日) 16:02:37.71 ID:GDw1TKD+0.net]
>>819はこれかな?
https://github.com/microsoft/vscode/issues/137686

902 名前:デフォルトの名無しさん [2025/03/09(日) 20:36:14.62 ID:0/t/zpFq0.net]
単純にVSCodeがorigin/masterにpushしてるだけだった
同じブランチでいくつかcommitして、sync changesボタンでたからマウスオーバーしたら、Push 4 commits to origin/masterってでたから
まんまmasterブランチにpushしてるだけだった
あとreflogにはVSCodeのSyncボタン押した時のログは残ってなかった

903 名前:デフォルトの名無しさん mailto:sage [2025/03/10(月) 12:17:45.33 ID:N4hnvL2z0.net]
連番のtxtファイルの中に物体名とそのXY座標値がスペース区切りで格納されてるんだけど
for文でぐるぐる回して各物体ごとに前のファイル内に書かれてる座標値との差分を連続で出したい時ってどういうやり方するのがスマートだろうか
pandas使ってDFに入れるのが早いのかなあ

904 名前:デフォルトの名無しさん mailto:sage [2025/03/10(月) 14:54:26.98 ID:A/G36wo60.net]
それのやり方は知らんけど
pandasよりpolarsの方が速いよ

905 名前:デフォルトの名無しさん mailto:sage [2025/03/10(月) 16:04:01.44 ID:dZmSaWL40.net]
>>889
プログラム設計時に必要になる情報と一緒だけど
前提となる入力と出力の仕様をもう少し明確にしないと
どういうやり方が適切なのかはわからないよ



906 名前:デフォルトの名無しさん mailto:sage [2025/03/10(月) 16:11:52.34 ID:9VCPJ0La0.net]
>>888
ローカルとリモートで互いに足りない部分をpull/pushして結果を同じにしてるんじゃないの?

907 名前:デフォルトの名無しさん mailto:sage [2025/03/10(月) 18:45:12.16 ID:dZmSaWL40.net]
git push origin hoge:masterのように
リモートは問答無用でmaster指定してるってことだろうけど
ローカルのhogeをリモートのmasterに直接pushするのが
あまり一般的なワークフローではないんじゃない?

908 名前:デフォルトの名無しさん (ワッチョイ 1154-QsVm) mailto:sage [2025/03/10(月) 19:26:13.81 ID:d55rHlaZ0.net]
pandasとかはファイルは一つでそこに行と列がたくさん、というデータを想定してるから、
ファイルがたくさんある時点で違う気がする

複数ファイルを一つのdfに結合する部分を自分で書けばpandasで処理できるだろうけど、
pandasで楽になりそうな処理にも思えない

909 名前:デフォルトの名無しさん (ワッチョイ aa8b-nrWv) mailto:sage [2025/03/10(月) 19:40:26.55 ID:pJkzwYQ20.net]
巨大なデータってオンメモリで終わるまでソワソワしながら待つの?
それとも中間ファイル残しながら失敗したらそこから再開とか?

910 名前:デフォルトの名無しさん mailto:sage [2025/03/11(火) 08:25:30.10 ID:Jqy2ddi90.net]
場合によるよね。
やったことないけどw

911 名前:デフォルトの名無しさん mailto:sage [2025/03/11(火) 12:26:00.83 ID:jytsrQer0.net]
>>895
スワップ使いまくるからオンメモリとは言えないかもしれないけど大きめのプログラムのフルコンパイルみたいなのはソワソワしながら待つ

途中まででコミットして再開可能なデータ処理は中断の可能性や再実行にかかる時間、プログラムの複雑化度合いなんかを加味して方針を決める

912 名前:デフォルトの名無しさん mailto:sage [2025/03/11(火) 19:24:18.03 ID:qtpkteRg0.net]
makeみたいな仕組みにしとけば、失敗したところからやり直せる

913 名前:デフォルトの名無しさん mailto:sage [2025/03/11(火) 19:40:15.54 ID:8wwlWO3U0.net]
大規模な処理の場合はSparkみたいな分散処理フレームワークが障害時の途中からの復旧とかを担保する
一方で、アドホックな作業の耐障害性はあまり問題にされることはない
いつも中途半端な実験ばかりで何一つ金になる成果を出さない自称データサイエンティストがノートブックで手元でチマチマやってる程度の作業なんて、
パーになったところでビジネス視点では何の影響もないからね

914 名前:デフォルトの名無しさん mailto:sage [2025/03/11(火) 20:32:11.49 ID:CtHRI6fk0.net]
アドホックな作業?

915 名前:デフォルトの名無しさん [2025/03/12(水) 10:36:16.02 ID:QJkVGgVP0.net]
ビルメン だから 業務効率化とかはできないけど趣味で Python 勉強中



916 名前:デフォルトの名無しさん [2025/03/12(水) 10:36:17.25 ID:QJkVGgVP0.net]
ビルメン だから 業務効率化とかはできないけど趣味で Python 勉強中

917 名前:デフォルトの名無しさん [2025/03/12(水) 16:55:28.43 ID:mpqw2K/o0.net]
巡回ロボを作るとか。

918 名前:デフォルトの名無しさん [2025/03/12(水) 18:02:38.98 ID:J7cIovHRa.net]
エレベーターの劣化チェックが良いな

919 名前:デフォルトの名無しさん (ワッチョイ a1f0-vVUT) [2025/03/12(水) 19:04:57.91 ID:CJgu15QK0.net]
巡回ロボいいね
エレベーターのチェックって画像認識?

920 名前:デフォルトの名無しさん (ワッチョイ 411f-WTPe) mailto:sage [2025/03/12(水) 19:42:29.70 ID:6E1Ob3Gq0.net]
boto3とrecognitionでできそうやな

921 名前:デフォルトの名無しさん mailto:sage [2025/03/13(木) 08:05:57.02 ID:CJt/ai2l0.net]
そんなもん1年後くらいに汎用マルチモーダルAIに自然言語で指示するだけ

922 名前:デフォルトの名無しさん [2025/03/13(木) 10:46:41.91 ID:Tpg+NeNc0.net]
どこまでプログラミング勉強すべきなんだろうな
AIのコーディング能力かなり上がってるから がっつり自分でかけるようになる必要はないけど、まるごと書いてくれるわけではないし 少し修正しようって思ったら丸ごと書き直さないといけないから効率悪いんだよな
基本をさらっとやって、クラスだかモジュールだかの設計ができるようになればいいのかな

923 名前:デフォルトの名無しさん mailto:sage [2025/03/13(木) 12:01:16.03 ID:XK7vUpM4d.net]
画像解析は汎用AI化が出遅れてる分野なので、PyTorchとかでシコシコ自前でやりたい人にとってはラストリゾート
とはいえ自動運転や医療画像みたいな絶対安全な分野を除けば向こう2年くらいの命だろうな

924 名前:デフォルトの名無しさん mailto:sage [2025/03/13(木) 12:54:57.01 ID:7qlVYF9v0.net]
AIエディタを使いこなせるか
これが最も重要

925 名前:デフォルトの名無しさん mailto:sage [2025/03/13(木) 17:05:12.30 ID:rucJuxY60.net]
耳コピの分野が出遅れてるんだよな
ピアノ音源限定でノイズが無ければ、音の高さまでは割と正確に判断する
でも小節の切れ目は判らないので楽譜化はできない
複数の楽器混在とかはまだ全然



926 名前:デフォルトの名無しさん [2025/03/17(月) 11:16:03.53 ID:3DJknzns0.net]
pythonの文法って簡潔すぎてわかりにくいの俺だけ?
for i in range(10)
よりも
for (i = 1; i < 10; i = i + 1)
の方がわかりやすい
C言語から始めたせいかもしれんが

927 名前:デフォルトの名無しさん [2025/03/17(月) 11:23:32.88 ID:3DJknzns0.net]
for i in range(10) ←配列0〜9の左から1つずつiに代入
まあわかる
if i in ng_numbers ←iが配列ng_numbersに入っていたら
???

928 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 11:30:36.89 ID:BQ9IDv+P0.net]
>>913
英語で考えりゃ自然

929 名前:デフォルトの名無しさん [2025/03/17(月) 11:50:52.82 ID:3DJknzns0.net]
>>914
そりゃ英語で考えればそうやがどういう処理しとんねんってなる

930 名前:デフォルトの名無しさん [2025/03/17(月) 12:21:38.78 ID:thUzMRxf0.net]
pythonで分かり難いのは、なんてったって str.encode() と bytes.decode() だわ。
型変換を符号化復号化と称すのもどうかと思うが、バイト列を文字列にするのが何で復号なのか不思議でならない。

931 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 12:45:47.58 ID:PxAUP6H20.net]
Pythonがどういう内部表現で文字列を表現してるかは一旦置いておいて
目に見える図形・グリフとしての文字の列をエンコードしてバイト列にするのがstr.encode()
エンコードされた結果のバイト列を文字の列に戻すのがbytes.decode()

わかりにくいのは確かだけど間違ってはいない

932 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 13:35:59.30 ID:tHr0fe9q0.net]
rangeとか lenは使わない
オブジェクトがあるんだから、そのものを渡そう

933 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 14:16:08.27 ID:P7s0k04b0.net]
>>913
どゆこと?
for i, ng in enumerate(ng_number)
これのことではなくて?
ng_numberの条件で飛ばすなら内包表記使って

for x in [ng for ng in ng_number if ng_number[何か] == 何か]

とかの話?

934 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 14:28:12.40 ID:WnkcGI4R0.net]
同じ”in”で使われ方も似てるけど文法的には別の”in”
https://docs.python.org/3/reference/compound_stmts.html#for
https://docs.python.org/3/reference/expressions.html#membership-test-operations

935 名前:デフォルトの名無しさん (ワッチョイ c179-lSw3) mailto:sage [2025/03/17(月) 15:27:05.92 ID:fqOs9Smn0.net]
pythonのfor文は他の言語でいうところのforeach文だな
シェルスクリプト(sh系)もそうで、これから入ったのでこちらのほうが馴染む



936 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 18:25:36.28 ID:3djl4ZDr0.net]
CからC++とか進んだけど特にforで何とも思ったことないな

937 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 18:35:25.17 ID:wBqhLaFH0.net]
生成してもらってるから
forの意味すら知らん

938 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 18:59:30.26 ID:aMO6RKr50.net]
FOR X = 0 TO 9 (BASIC)
for x := 0 to 9 (pascal)
for (x = 0; x < 10; x++) (C)
なんかどんどんforの意味からずれていく

for x in range(10)
これが正解

939 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 20:11:45.28 ID:+VsjTnZQ0.net]
for i in range(10)で0~9のループってのがアホらしい
0から9と明示している言語が自然

940 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 20:35:11.55 ID:tHr0fe9q0.net]
rangeは直前までのrangeオブジェクトを返す、と慣れればそれでいいじゃん

941 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 20:42:27.97 ID:aMO6RKr50.net]
range(1, 11) みたいに複雑になると、もうこれは
for (x = 1; x < 11; x++) から数字を抽出したものになってくるけど、
普通は先頭は0なので本質的には要素数を表している
0から始まって当然の頭になれば自然に見える

942 名前:デフォルトの名無しさん [2025/03/17(月) 21:19:59.96 ID:gvomcM2e0.net]
>>926
seq コマンドといつもごっちゃになってまう...

>>> tuple(range(2))
(0, 1)
>>>
$ seq 2
1
2
$

943 名前:デフォルトの名無しさん mailto:sage [2025/03/18(火) 01:35:19.58 ID:fgyGQdvg0.net]
個人的には他言語のforeach相当しかないのはかなり好きなポイントだな

944 名前:デフォルトの名無しさん [2025/03/18(火) 01:59:29.87 ID:4sQPnHny0.net]
>>912
Pythonはこの書き方が便利だとか、わかりやすいなどとは思えない構文が多い

945 名前:デフォルトの名無しさん mailto:sage [2025/03/18(火) 03:15:42.25 ID:SyDRbCg30.net]
>>912
pythonのforは他言語の
foreachに近い
書き方だからなあ

で、foreachも
foreach 要素 in 配列名
タイプの書き方の言語と
foreach 配列名 as 要素
タイプの書き方の言語がある



946 名前:デフォルトの名無しさん mailto:sage [2025/03/18(火) 03:23:10.83 ID:NvLfwtos0.net]
perlはけっこう自然言語っぽい構文も追加で備えてるな

947 名前:デフォルトの名無しさん mailto:sage [2025/03/18(火) 07:41:55.04 ID:9Q7xxzXC0.net]
繰り返し処理に for というキーワードを選んだのが間違いなのでは
BASICが最初なのかな
てっきりFORTRANだと思ってたけど、DOなんだよな
DO X = 0, 9
それはそれで変だけど

一定範囲をスキャンするとか、要素を全部舐めるとか、
そういうニュアンスの単語が無かったんだろう

948 名前:デフォルトの名無しさん mailto:sage [2025/03/18(火) 08:08:58.90 ID:dFh3Cu4yM.net]
sweep

949 名前:デフォルトの名無しさん mailto:sage [2025/03/18(火) 10:39:43.40 ID:mIJI9ibF0.net]
#include

950 名前:デフォルトの名無しさん [2025/03/18(火) 11:03:33.56 ID:v2b6/sSk0.net]
BASICなわけねーだろw その辺は全部ALGOLだよ
なかったもクソもforには反復とかいくつずつみたいな意味が元々ある
ていうかそもそもはドイツ語だったかなんかのはず

951 名前:デフォルトの名無しさん mailto:sage [2025/03/18(火) 17:06:54.31 ID:XDcEae/z0.net]
ALGOLは使ったことないなあ
FORTRANで採用を見送られたのに、その後また復活したのか

ステートメントが前置詞というのはやっぱり筋が悪いって

952 名前:デフォルトの名無しさん mailto:sage [2025/03/18(火) 18:15:32.73 ID:IYkL8cYP0.net]
数式の英語での読み方から来てるから英語で数学を習った人にとっては何の違和感もない

953 名前:はず []
[ここ壊れてます]

954 名前:デフォルトの名無しさん mailto:sage [2025/03/18(火) 22:08:58.63 ID:3MP8eql20.net]
ALGOL(含む68)辺りにリアタイで手を出していたら、ミニコン使いやで。
インターフェースがトラ技別冊だった頃を知っているかと。

基準画像「某レナさん」のグラビアを見た事があるんじゃね?

955 名前:デフォルトの名無しさん mailto:sage [2025/03/18(火) 22:14:52.79 ID:GYPHuJM60.net]
島倉千代子を推してた口だな



956 名前:デフォルトの名無しさん [2025/03/19(水) 09:12:58.29 ID:Irgid5LDa.net]
ALGOLはイスラムが語源
FORTRANはFormulaTranslator

957 名前:デフォルトの名無しさん mailto:sage [2025/03/19(水) 18:59:21.09 ID:uxWT9Crg0.net]
alの部分は定冠詞だけどな

958 名前:デフォルトの名無しさん [2025/03/20(木) 08:55:27.85 ID:8365Cn8s0.net]
def func(param): は
def func(param: str): なのに、
def func(param='value'): が、
def func(param='value': str): でなく、
def func(param: str='value'): なのは、おかしいだろ。責任者のアホ。

959 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 10:13:00.87 ID:1M6YtTqp0.net]
>>943
def func(param): が
def func(param: str): だからこそ、
def func(param='value'): は、
def func(param='value': str): でなく、
def func(param: str='value'):

型ヒントは変数の型をチェックするために存在してる

960 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 10:16:14.83 ID:uFR0AtSp0.net]
param: str='value'

param: と str='value' に分かれて見えてるんだな
そうではなくて
param: str というかたまりに 'value' を入れている

961 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 10:19:49.89 ID:uFR0AtSp0.net]
コロンやらスペースを乗り越えた先に左辺値があることに脳パーサがバグるのは判る

962 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 10:33:23.18 ID:Il2FvhCIH.net]
型ヒントって必要?
使わない人が大半だと思うんでプライベートなコード以外には使わないでほしい
仕事で型ヒントが大量にちりばめられてるるコードのメンテナンスなんてやりたくない

963 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 11:00:47.02 ID:6xIUkw+E0.net]
逆では
みんなの頭がつながっていないからこそ必要
IDEの支援ももらえるし

964 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 11:09:51.36 ID:uFR0AtSp0.net]
型は制約されてないし、だからこそのオブジェクト指向だけど、
実際は入る型なんか決まってるケースが大半なのでヒント止まりになる
正式なコメントの書き方

965 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 11:16:01.10 ID:+MvFUuxY0.net]
型ヒントないとやだわ



966 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 13:38:22.10 ID:Wa0651PK0.net]
>>947
いらない
そもそも高度な型を書けないから無意味
エディタで補完されるしそれで十分

967 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 13:39:45.20 ID:Wa0651PK0.net]
本当に型が欲しいならTypeScriptなりRust使うっての

968 名前:デフォルトの名無しさん (JP 0H8b-0naI) mailto:sage [2025/03/20(木) 14:29:39.20 ID:Il2FvhCIH.net]
>>952
だよねえ
必須でもない型機能なんて混乱をもたらすだけだと思うわ
この運営の迷走ぶりがPython凋落のきっかけになるんじゃないかと危惧している

969 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 14:55:26.24 ID:gYhPd4eL0.net]
自作コードは好みだろうけど、
公式ドキュメントは記述を対応させて欲しい。

> str.split(sep=None, maxsplit=-1)
https://docs.python.org/ja/3.12/library/stdtypes.html#str.split
なんて表記じゃ、sepに区切文字を入れるのか、複数の区切文字の配列を入れるのか分からない。
実行結果も、リストか返るのか、独自型が返るのか、或いは返さずに REPLY. 変数に結果をセットするのか分からない。
この例は split() なので想像つくのだけど、謎機能は入出力も謎で泣ける。

970 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 17:38:19.11 ID:IBTbkPm20.net]
型ヒントはコメントで書く
3.4(XPラスト)用をメンテしなくちゃならないので

971 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 18:15:32.43 ID:HvSgxtYp0.net]
pyenv pipx poetryをos丸ごと捨ててuvに切り替えた
poertyって依存のバージョン解釈がバグってることあったけど、uvはちゃんとしてるな
アストラルがanacondaみたいにいきなり発狂しなきゃいいけど

972 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 18:21:06.92 ID:uFR0AtSp0.net]
いつかいいのができるまで、バージョン管理なしでやってる

973 名前:デフォルトの名無しさん [2025/03/22(土) 14:27:58.31 ID:U6/Lg1xxa.net]
Rust の crates と Cargo は良さげだけど微妙
Python で真似するの流行り過ぎて心配

974 名前:デフォルトの名無しさん mailto:sage [2025/03/22(土) 19:43:37.05 ID:6JcU+3AE0.net]
>>956
マジか
もうanacondaから卒業すべきだな

975 名前:デフォルトの名無しさん mailto:sage [2025/03/22(土) 21:27:24.19 ID:dq8l+zNL0.net]
pythonのバージョン管理よりも、コードの構成管理したい
いろんなとこにコード書き散らすから、svnでもgitでも管理できない



976 名前:デフォルトの名無しさん mailto:sage [2025/03/22(土) 22:06:39.66 ID:+ZRnNyRr0.net]
バージョン管理ツールで作成した環境の一覧がわかればいいの?
ならpyenv-virtualenvとか
zoxideやautojumpもいいかも

977 名前:デフォルトの名無しさん mailto:sage [2025/03/22(土) 22:19:14.19 ID:nPu00byz0.net]
uvとruffにした
ネットの情報古いのばかりでここにたどり着くのがすごい大変だった
素がpythonじゃないのでいきなりインストールして環境作れるのも楽
そのうち有料になっても金払っていいレベル

978 名前:デフォルトの名無しさん mailto:sage [2025/03/22(土) 22:20:25.56 ID:Y+iWZXI70.net]
uvはlockまでちゃんとクロスプラットフォームなのがでかい
どこまで信用できるかは分からないけど、今のところ問題はないので
新しく書いたやつを中心に徐々に移行してる

979 名前:デフォルトの名無しさん mailto:sage [2025/03/23(日) 22:26:19.29 ID:8QvyzI2Q0.net]
>>736
馬場状態とか、、、数あるファクターのただの一つに過ぎないよ。
本気でやるならjvlinkで仕様書見てどんなデータがあるか眺めてみるといい。
どうせ挫折するだろうからあまり深く言わないけど、未来を予想するのと、ギャンブルで勝つのは二つ分析目標があると考えた方が良い。
勝率と回収率が逆相関になることがわかったらそこが沼の入り口だよ。
あすすめは、まず人気と回収率のデータを取ってみて、競馬は1番人気を買うと絶対に回収率がマイナスになり、最低人気を買っても同じ。これは何故かを考えることをお勧めするよ。

980 名前:デフォルトの名無しさん mailto:sage [2025/03/24(月) 08:15:13.03 ID:Kzm/5Ai30.net]
ギャンブルにAIを使おうとするなんてばかにすることよな
働けよ

981 名前:デフォルトの名無しさん mailto:sage [2025/03/25(火) 15:35:13.74 ID:ICE7mE9e0.net]
自分は静的型検査はどっちかといえばある方がいいかな派(でも自分ではあんまりやっていない)なんだけど、typingモジュールの内容は盛り沢山すぎて、なかなか腰を据えて勉強する気になれないな。たぶん、型に一家言ある世界中の人が議論して仕様を作っているんだろうとは思うけど。
もう数年して仕様が落ち着いてきたら、たぶん解説本が出ると思うので、それを読んで勉強しよう。ロバストPytnonは結構面白かったので、その延長上で型アノテーションの説明に焦点を絞ったようなやつが出れば面白いと思う。

982 名前:デフォルトの名無しさん mailto:sage [2025/03/25(火) 21:47:04.49 ID:CXmZfdeW0.net]
ハイパーモダンPython改訂版出してくれ

983 名前:デフォルトの名無しさん mailto:sage [2025/03/26(水) 04:22:01.80 ID:9+5RYHjhH.net]
>>967
お前が作るんだよ
オープンソースだから改変し放題

984 名前:デフォルトの名無しさん [2025/03/26(水) 10:28:10.74 ID:klkMmD4b0.net]
>>967
本の Example Code らしいが、Commits on Jun 17, 2024 なので、2024年発刊したその本は最新版ちゃうか。
https://github.com/hypermodern-python/hmpt-code?tab=readme-ov-file#hypermodern-python-tooling---example-code

985 名前:デフォルトの名無しさん mailto:sage [2025/03/26(水) 11:14:52.23 ID:kQr2CXead.net]
>>969
そうだよ
だから新バージョン出してと
今のPythonの状況だと
毎年書いてくらいに思ってる
良い本だった



986 名前:デフォルトの名無しさん mailto:sage [2025/03/26(水) 11:21:03.47 ID:5p9B9np30.net]
>>968
本のことだぞw

987 名前:デフォルトの名無しさん mailto:sage [2025/03/26(水) 11:26:56.84 ID:0cU+Eukb0.net]
ハイパーモダンPythonってツール本でしょ。ツールって、やっぱりみんな使うものなの? 個人的にはツールのバージョンアップを追いかけたりするのがしんどそうなので、あまり使わない派なんだけど。

988 名前:デフォルトの名無しさん [2025/03/26(水) 11:48:23.78 ID:bFpgRqWb0.net]
>>970
改訂稿は存在しないが、無い物ねだりしてみたというコトか。
原書より翻訳が古いて言ったのかとオモタ。

989 名前:デフォルトの名無しさん mailto:sage [2025/03/26(水) 14:17:55.91 ID:E7MgqOg/d.net]
>>972
向こう数年はもうuvとruffで最終形と思っていいと思う

990 名前:デフォルトの名無しさん mailto:sage [2025/03/26(水) 14:45:58.77 ID:0cU+Eukb0.net]
そうなんだ。皆が使っているド定番というところまで行来てるなら、ちょっと勉強してみるかという気になるかも。

991 名前:デフォルトの名無しさん (ワッチョイ 198c-GOYO) mailto:sage [2025/03/27(木) 05:19:00.87 ID:7jSR2TC60.net]
大昔に公式pythonをインストールした時は
とにかくlibrary合わせが大変だよ!
pipだとライブラリ名だけでなくバージョンも全部書かないと後で整合性無くなって環境壊れるよ
と脅された

それで長らくanaconda使ってたけど
登録必須だったりして面倒な要素がどんどん増えていた
稀に環境壊れるし

それが公式Python + UV使ったらライブラリ名だけでバージョンの依存関係も合わせてくれる
動作も早い

venvなどは今まで使ったことが無かったが、uvはちょっとコマンド覚えるのが厄介程度で
それも検索したらすぐ出てくる程度
ryeも使ったことがないがuvの方が手間も掛からん
numpy,scikit-learn,pandas,openpyxl,matplotlibなどなど問題なく入った

anacondaに飲み込まれてた日々から解放か
とにかくやっと軽いidleをPC上でさっと使えるようになったのが一番嬉しいw

GTOコピペをドブに浸けたような文ですまん

992 名前:デフォルトの名無しさん mailto:sage [2025/03/27(木) 13:38:34.44 ID:2ADBZW+f0.net]
uvというすでに存在してるライブラリの名前を使うセンスよ

993 名前:デフォルトの名無しさん mailto:sage [2025/03/27(木) 17:33:23.30 ID:7P69hYA/0.net]
ググってもプロジェクトマネージャのuvしか出てこないし問題ないでしょ

994 名前:デフォルトの名無しさん mailto:sage [2025/03/27(木) 23:23:05.56 ID:VXWTe0Gq0.net]
紫外線?が何か?

995 名前:デフォルトの名無しさん mailto:sage [2025/03/27(木) 23:51:20.99 ID:k+F7YT9B0.net]
libuv
Web系じゃないとピンとこんかも



996 名前:デフォルトの名無しさん mailto:sage [2025/03/27(木) 23:59:47.36 ID:kS/FHi0p0.net]
完全に同じだったらpipが困るし

997 名前:デフォルトの名無しさん (ワッチョイ 0602-NzvG) mailto:sage [2025/03/28(金) 06:17:22.73 ID:IPcuak0N0.net]
何でもいいけどrubyのbundlerみたいにデファクトスタンダードになってほしい(´・ω・`)

998 名前:デフォルトの名無しさん mailto:sage [2025/04/01(火) 22:29:18.22 ID:9c1k08Vz0.net]
使ってみたけど、flaskは楽やな
forルーブがそのままhtmlに書けて辞書を渡せる
{{ % for entry in entries % }}
{
name: '{{ entry.name }}',
age: {{ entry.age }},

999 名前:デフォルトの名無しさん mailto:sage [2025/04/02(水) 05:42:15.84 ID:DgG0AwHf0.net]
公式ドキュメントも読まず
またどこから仕入れてきたんだその書き方

1000 名前:デフォルトの名無しさん [2025/04/02(水) 11:34:04.41 ID:k9Y5euIya.net]
mustang

1001 名前:デフォルトの名無しさん mailto:sage [2025/04/02(水) 12:10:50.08 ID:k9Y5euIya.net]
>>911
鳥との会話はやってるみたいだよ

1002 名前:デフォルトの名無しさん [2025/04/02(水) 22:26:38.63 ID:WwewqrQk0.net]
コード書くのはMSX-Basic以来w
今は目的別に便利なライブラリをつないで
作るスタイルってのに驚きました。
便利なツールもあって進化を感じます。
なんかすごい事になっててw驚きs

1003 名前:デフォルトの名無しさん [2025/04/02(水) 23:29:11.29 ID:vIYRPSqy0.net]
Excel VBAすらスルーしていた興味のなさは半端じゃねえなw

1004 名前:デフォルトの名無しさん mailto:Sage [2025/04/03(木) 05:44:20.01 ID:EdKQlRYK0.net]
厳密には違いますが、53のおじさんがワクワクする環境ってのは久々でした。必要に迫られて13年ぶりにPCと向き合ったので。

1005 名前:デフォルトの名無しさん mailto:sage [2025/04/03(木) 06:53:05.71 ID:X+wL63br0.net]
BOMが付いてても大抵は何も起きないけど、
csvモジュールで読むとばっちりバグる
なんで直さないんだ



1006 名前:デフォルトの名無しさん mailto:sage [2025/04/03(木) 11:00:23.64 ID:MyC4XyHf0.net]
utf_8_sig 指定せずに問題起きてないのはたまたま
処理側のモジュールで個別対応するなんて愚の骨頂

1007 名前:デフォルトの名無しさん [2025/04/03(木) 11:26:57.33 ID:6V8WkUdO0.net]
>>991
賢の骨頂は何ぞ?
自作モジュールはBOM非対応のまま、CSVファイルからBOMを除去?

1008 名前:デフォルトの名無しさん mailto:sage [2025/04/03(木) 14:16:06.10 ID:MyC4XyHf0.net]
入力でutf_8_sigを指定する

1009 名前:デフォルトの名無しさん [2025/04/03(木) 21:21:38.60 ID:fy3xRWQwa.net]
ワクワクさせてよ
チンチン

1010 名前:デフォルトの名無しさん [2025/04/03(木) 21:23:19.22 ID:fy3xRWQwa.net]
>>992
BOM飛ばすpipe使うだけ
pythonで描いても数秒だろ

1011 名前:992 [2025/04/03(木) 21:55:23.24 ID:touOSSe00.net]
>>995
その pipe とは何を指したの。UNIXやDOSコマンドラインの "|" しかパっと思い浮かばない。

今のところ、>>993 が最良じゃないかと思う (オレは質問者でないので、僭越ながら) 。

1012 名前:デフォルトの名無しさん (ワッチョイ 7f0c-/YAI) [2025/04/03(木) 23:27:03.36 ID:yWhIQ9ik0.net]
>>996
DOSじゃねえだろ

1013 名前:デフォルトの名無しさん (ワッチョイ 5fd7-TCdU) mailto:sage [2025/04/03(木) 23:29:32.03 ID:I/PZjZDo0.net]
普通、RTX-11だよねぇw

1014 名前:デフォルトの名無しさん mailto:sage [2025/04/03(木) 23:36:05.82 ID:F1+U/OXw0.net]
pipe down

1015 名前:デフォルトの名無しさん mailto:sage [2025/04/04(金) 01:51:38.18 ID:UMpXJcmx0.net]
次スレ

Pythonのお勉強 Part75
https://mevius.5ch.net/test/read.cgi/tech/1743698824/l50

建てましたが、次回から、985が次スレを建ててくだしあ。



1016 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 194日 15時間 37分 37秒

1017 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<252KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef