Pythonのお勉強 Part74

レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん (ワッチョイ 0b4a-lz98)
垢版 |
2024/09/21(土) 10:14:02.15ID:ZHy4g+PL0
!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
↑スレ立てる毎に減るので、減ってたら3つに補充すること。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

これめっちゃ判る
特に初心者ほどやめた方が良い
2024/10/04(金) 13:45:12.37ID:2V3z57MG0
色分けされてる方が読みやすい
という単純な事実なのでは

初心者でも慣れてても同じ
道具に頼ると素手でできなくなるからと道具使わない人みたいな感じ
2024/10/04(金) 13:48:53.62ID:RqFpLHKv0
逆に初心者の方が誤りを判別する手助けにもなるので、
色分けされていたほうが便利だと思う
2024/10/04(金) 14:16:07.08ID:3xmlzivUa
>色分けをしていないコード
ってどういうことなんだろ
わかる言ってるやついるけど
おれは全然わかんないわ笑
色無いなら自分で色分けすればよくね?

色アリ無しどちらではじめようが慣れたら結局
・色分け無しで慣れる→色分けアリでも読める
・色分けアリで慣れる→色分け無しでも読める
なんだから、最初から色分けアリの方が学習コスト低いよな
2024/10/04(金) 14:22:18.26ID:i5vhWVds0
まぁ(初心者)色分けやめた方がいいって言ってるやつも
色分けした方が読みやすいって言ってんのが答えだわなw
2024/10/04(金) 14:30:37.03ID:vJhSgpGOa
道具に頼って素手よりパフォーマンス上がればそりゃ道具使うわな
土方ですら水平器もインパクトドライバーも使ってるわ
2024/10/04(金) 14:32:10.85ID:IDs1O+210
勉強にならんからIDE使うな的な
2024/10/04(金) 14:49:16.95ID:Af8duaqZ0
コーディングから実行までちんたらする時間がマジで無駄
スペルミスに勘づくスキルは上昇しづらくなるだろうがエラーメッセージに頼ればいいしエラーメッセージと勝負して先回りする意味はない
まず善い手本参考に自分で書いたコードが成功か失敗か確かめる数こなした方が上達する
言語学習でも同じ
インプットアウトプットの回数多い方が文法も語彙力も上がる
文脈把握できればエラーに気づく能力も上がる
色分け無し縛り云々は逆張り愉快犯以外に利点はない
66デフォルトの名無しさん (ワッチョイ 6f09-/XLF)
垢版 |
2024/10/04(金) 15:58:46.91ID:lUav+mwb0
>>58
この論理ほど馬鹿なものもない
便利機能はどんどん使えばいい
災害を想定して普段から水電気ガスが満足に使えない生活をしているやつは殆どいないだろう
2024/10/04(金) 16:18:08.42ID:lDeI5PGjH
androidアプリ作ろうと思ってkivyで書いて
コンパイルをgoogle colaboratoryでbuildozerでやったら
上手くapk作成できてandroid端末でもインストール動作確認できたけど
コンパイルの時間めっちゃかかったなにこれ…たぶん20分くらい
こういうもんなの
2024/10/04(金) 17:21:46.00ID:2V3z57MG0
if elif elif else
みたいにインデントを深くせずにtryを書けないかな
2024/10/04(金) 18:37:26.59ID:x2l03NKV0
>>68
日本語でOK
70デフォルトの名無しさん (ワッチョイ 6f09-/XLF)
垢版 |
2024/10/04(金) 18:47:11.58ID:lUav+mwb0
execで無理やり書け
2024/10/04(金) 19:21:49.26ID:Z9HGqIB60
色分けに慣れたらコード読めなくなるってマジ?
でもキータとか見ても色分けして表示されてるところが多いしなあ

とりあえずVScodeデフォルトでしばらく使ってみるわ!ありがと
72デフォルトの名無しさん (ワッチョイ 6f09-/XLF)
垢版 |
2024/10/04(金) 19:29:54.92ID:lUav+mwb0
エディタの便利機能使わないならメモ帳でやっとけって話になるわな
2024/10/04(金) 19:31:01.13ID:2V3z57MG0
https://i.imgur.com/ZRZqENW.png
evalでできた
2024/10/04(金) 19:35:22.61ID:2V3z57MG0
数値部分eval だけでいいな
2024/10/04(金) 19:58:19.41ID:upmSrzby0
for convert in (int, float, complex):
でいい
2024/10/04(金) 20:17:43.91ID:oFau5fAJ0
chromeでseleniumを動かしているのですが、実行した直後にコマンドプロンプトが落ちてしまうので、何のエラーなのかが一切分かりません
どうやったら落ちなくできますか?
2024/10/04(金) 20:33:28.99ID:JKo0fS4W0
>>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("正常終了。")
2024/10/04(金) 22:19:24.82ID:JAupTFkx0
>>76
.pyファイルをダブルクリックするとかしてpy.exe(Python Launcher)経由でプログラムを実行してると推測する

VSCodeとか入れてるならVSCodeからプログラムを実行すれば出力も確認できる
入れてないならプログラムの最後にinput()と書いてプログラム終了前にユーザー入力を待つようにするか.pyファイルをダブルクリックするのではなくコマンドプロンプトを先に開いてそこからpython hello.pyの形でプログラムを実行すれば出力内容を確認できる
2024/10/05(土) 16:10:10.09ID:kis0iOlf0
>>77
>>78
ありがとうございます!
これまではbatファイルにpyファイルのパスを書いて、batファイルをダブルクリックで実行していましたが、
教えていただいたとおりコマンドプロンプトを開いて手動で打ち込んで実行すれば落ちずエラーを確認できました
2024/10/06(日) 16:50:59.12ID:kvSgTVMcM
質問です。ある書籍で
price = 100
print(price * 1.10)
print(int(price * 1.10))
の結果が
110.00000000000001 ←浮動小数点で表示
110 ←int関数を使って整数で表示
と書いてあるのですが、何故110.00000000000001になるのかが浮動小数点について調べましたが、私の知識では理解出来ません。
どなたか解説をお願いいたします。よろしくお願いします。
81デフォルトの名無しさん (JP 0H03-dA/z)
垢版 |
2024/10/06(日) 17:09:34.73ID:UFSeVUgGH
浮動小数点と丸めの話は定番の話でググって出てくる説明で分からんかったらここでも多分無理だぞ
2024/10/06(日) 19:11:14.13ID:6RIEhc9V0
print(100 * 1.08 == int(100 * 1.08)) # true
print(100 * 1.1 == int(100 * 1.1)) # false

1.08だったら正確に108.0だったのにな
2024/10/06(日) 19:18:39.74ID:6RIEhc9V0
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だとエラー
84デフォルトの名無しさん (ワッチョイ 0621-dA/z)
垢版 |
2024/10/06(日) 21:53:44.52ID:D+tHfaDh0
結局二進数表記で無限桁になる場合は誤差が出るってことにつきる
2024/10/06(日) 22:18:43.84ID:6RIEhc9V0
from fractions import Fraction
rate = Fraction(110, 100)
print(100*rate == int(100*rate)) # True
2024/10/06(日) 23:29:37.04ID:AAf4wbtz0
ハイパーモダンpythonって何だそれ?って立ち読みしたらただのツールチェインの解説だった
原書見るとhypermodern python toolingだった
日本のオライリーは完全に終わった
87デフォルトの名無しさん (ワッチョイ 46ad-b23o)
垢版 |
2024/10/07(月) 22:15:19.09ID:QvvyKpnV0
質問です。こちらの職業は勇者、戦士、空手家
勇者から柔道家までの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まで。
次の発言からコードを書いていく。
2024/10/07(月) 22:52:41.61ID:stL6GaPr0
発達障害風の生成AI?
2024/10/07(月) 22:54:11.40ID:nsk0Xk2O0
>>88
そんなものサンプルがないからこれは本物
90デフォルトの名無しさん (ワッチョイ 46ad-b23o)
垢版 |
2024/10/08(火) 23:32:02.99ID:2RqDvWQU0
>>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
91デフォルトの名無しさん (ワッチョイ 46ad-b23o)
垢版 |
2024/10/08(火) 23:41:03.98ID:2RqDvWQU0
もっとシンプルにいこう!
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
92デフォルトの名無しさん (ワッチョイ 46ad-b23o)
垢版 |
2024/10/08(火) 23:58:45.01ID:2RqDvWQU0
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
93デフォルトの名無しさん (ワッチョイ 46ad-b23o)
垢版 |
2024/10/09(水) 00:28:36.20ID:4B3K5XUV0
そっか、フローチャートにしたほうがみやすいか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
94デフォルトの名無しさん (ワッチョイ 46ad-b23o)
垢版 |
2024/10/09(水) 02:09:25.11ID:4B3K5XUV0
これでいいや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) + "防御された")
2024/10/09(水) 08:32:08.43ID:URDCdGxSa
スレチうんこはBAN汁
96デフォルトの名無しさん (ワッチョイ 4e03-oLgd)
垢版 |
2024/10/09(水) 09:42:13.95ID:1k3A/F0A0
福祉系か
97デフォルトの名無しさん (ワッチョイ 4e03-oLgd)
垢版 |
2024/10/09(水) 09:43:01.06ID:1k3A/F0A0
>>88
福祉案件
98デフォルトの名無しさん (ワッチョイ 066c-dA/z)
垢版 |
2024/10/09(水) 10:51:29.69ID:MfPA4Dhe0
match文使え
2024/10/09(水) 12:30:53.22ID:L0RwG3mX0
使ったことない
2024/10/09(水) 15:51:29.02ID:wjyYHYx1M
html → javascript浅 → php → javascript深 → python

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

$ sudo apt install tree build-essential cmake pkg-config
これだけで開発環境整うとは知らなかった
pythonスクリプトと連携して簡単に開発できるか検討中
2024/10/09(水) 15:56:04.77ID:L0RwG3mX0
自分が高速化しなければ
という余地が残ってればいいけど

電子工作とかと同じで、一通りできるようになったけど作るものが何もない状態になる
102デフォルトの名無しさん (ワッチョイ 4eb3-oLgd)
垢版 |
2024/10/09(水) 17:59:18.01ID:1k3A/F0A0
>>100
llvm使ってgplから逃げろ
2024/10/11(金) 03:18:27.10ID:bCU/2bPQ0
https://imonar.com/PKQJotV.jpg
2024/10/11(金) 16:07:56.09ID:tTImpqsq0
python+opencvすげえ!
たった10行くらいでwebカメラの動画表示された!ものの1,2分のコーディングじゃん
皆pythonに移行するわけだなこんな便利なライブラリあったら他のやってられねえわ
2024/10/11(金) 19:42:25.28ID:fZZZF+Af0
大事なのは表示されてからだぞ
どういうアプリを提供するのか?
これだけライブラリが進化してるのにそれを使って大したアプリが出てないことを考えると
簡単かどうかは関係がない
2024/10/11(金) 23:05:48.34ID:V8K6PYDOd
PythonはPoC止まり言語というイメージあるよね
「やってみた」ともいう
2024/10/11(金) 23:05:48.34ID:V8K6PYDOd
PythonはPoC止まり言語というイメージあるよね
「やってみた」ともいう
2024/10/12(土) 00:58:43.18ID:3/0Ne1V+0
1817を渡すと'00:30:17'に変換してくれる関数ってある?
2024/10/12(土) 01:09:25.66ID:3/0Ne1V+0
import datetime
td = datetime.timedelta(seconds=1817)
print(td)

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

print(f'{td:%H:%M:%S}')
みたいなことをしてもエラーになる
妙に融通が利かない
110デフォルトの名無しさん (スッップ Sdea-gWHf)
垢版 |
2024/10/12(土) 07:14:47.22ID:5rKKsk01d
本物の馬鹿っているんだな
2024/10/12(土) 08:38:00.65ID:g42aTpjG0
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とかが省略可能だったら
2024/10/12(土) 11:17:40.09ID:xwLOOV9/0
pip install モジュール名==
でモジュールのバージョン一覧が出る機能っていつのまにか無くなってんだな
便利だったのになんでだろ
113デフォルトの名無しさん (アウアウエー Sa3f-mL/d)
垢版 |
2024/10/13(日) 10:02:03.52ID:UZT3uuKDa
>>104
入り口が広い(初心者向け)っていうのは重要だけど
込み入ったことしようとすると速度とか色々気になって来る
まあ気になったら乗り換えればいいんだけど
114デフォルトの名無しさん (アウアウエー Sa3f-mL/d)
垢版 |
2024/10/13(日) 10:03:05.15ID:UZT3uuKDa
>>105
そうほんとそれ
みんなサンプル動かして満足して終わり
2024/10/13(日) 10:17:48.38ID:UZT3uuKDa
>>111
>>> import time
>>> print(time.strftime('%H:%M:%S', time.gmtime(1817)))
00:30:17
2024/10/13(日) 10:26:22.93ID:5hnynBwd0
print(f'{time.gmtime(1817):%H:%M:%S}')
こうは書けないんだよな
書けても誰も困らないだろうに、もう更新の止まった古いモジュール
117デフォルトの名無しさん (ワッチョイ 8b01-GQwk)
垢版 |
2024/10/13(日) 11:57:56.51ID:HElLI/1G0
pythonむずい
118デフォルトの名無しさん (アウアウエー Sa3f-mL/d)
垢版 |
2024/10/13(日) 12:19:27.14ID:UZT3uuKDa
>>116
これもだめっぽ?
import time
tt = time.gmtime(1817)
print(f'{tt:%H:%M:%S}')
2024/10/13(日) 12:24:50.27ID:5hnynBwd0
試したら判るがな
TypeError: unsupported format string passed to time.struct_time.__format__

formatをサポートしていない
サポートしていないものを新たにサポートさせても、既存のコードには何の影響もない
だから、python 3.4で追加しましたとかなってても不思議ではないけど、
もうtimeモジュールは捨てられている
120デフォルトの名無しさん (アウアウエー Sa3f-mL/d)
垢版 |
2024/10/13(日) 14:44:15.99ID:UZT3uuKDa
自分で追加したらええんやで
2024/10/13(日) 14:54:11.13ID:5hnynBwd0
電池が自作できます
2024/10/13(日) 15:56:29.59ID:Lfw+7lSHd
勉強になったわthx
https://paiza.io/projects/fWmiW0ZJcfGIiFRKkL1YTw
2024/10/13(日) 17:39:27.08ID:5hnynBwd0
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__を追加する
2024/10/13(日) 20:18:44.93ID:XBbSNdN/0
timedeltaをdatetime用の書式で表現したら
間違いが起こりそうで怖いのは気のせいか
2024/10/13(日) 21:05:07.54ID:5hnynBwd0
マイナスを渡すと23:29:43とかになる
多分欲しいのは、-00:30:17
126デフォルトの名無しさん (ブーイモ MM8f-oCgE)
垢版 |
2024/10/13(日) 21:18:08.75ID:TikvsAQNM
>>125
時刻と時間は別物だし、文字列として持っていればいい話。
2024/10/13(日) 21:20:20.02ID:4MeCS0kR0
td = datetime.timedelta(seconds=1809)
print(str(td).zfill(8))

これはだめ?
2024/10/13(日) 22:02:19.97ID:5hnynBwd0
さすがに小手先すぎる
マイナスにも対応できない

そして秒は小数点以下1桁も表示することという仕様変更により、
3600で割ったりして全部自前で作ることになった
129デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/13(日) 23:12:53.64ID:0McD6feo0
マイナスの日時という発想がわからない
130デフォルトの名無しさん (アウアウエー Sa3f-mL/d)
垢版 |
2024/10/13(日) 23:36:18.34ID:cfTcGRh7a
仕様後出し過去悪い
2024/10/14(月) 00:55:34.21ID: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
2024/10/14(月) 00:58:07.55ID:63V1I12+0
1日超えたら駄目だったわ >>131
2024/10/14(月) 01:01:58.25ID:Na+e0b340
0で折り返すのは、abs()で処理して<0だったら'-'付ける、だろうなあ
流用できる処理が無い
134デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 02:27:55.47ID:iqlRL8W80
秒数を時分に変えるのは60で割ればいい話だろうにw
135デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 03:26:42.21ID:iqlRL8W80
>>131
0.123が何を指しているのかわかる方がおかしい
136デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 03:29:11.20ID:iqlRL8W80
>>133
四則計算と文字列を任意の日時フォーマットにするだけだぜ?

日時データ型をいじるというのはコンピューターが最も苦手な計算。
2024/10/14(月) 06:09:53.67ID:cfRK145W0
>日時データ型をいじるというのはコンピューターが最も苦手な計算。

馬鹿なのか
138デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 06:26:06.92ID:iqlRL8W80
>>137
64ビットだぜ?
139デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 06:28:17.12ID:iqlRL8W80
しかもまだ過渡期だから、実際は32ビットで計算している。

2036年問題だってすべてが対策済みというわけでもない。
140デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 06:29:49.49ID:iqlRL8W80
60で割って1000で割るとか、64ビットだけではできない。
141デフォルトの名無しさん (ワッチョイ fbb4-+sfS)
垢版 |
2024/10/14(月) 08:54:29.92ID:B2/CkVb50
小数の誤差の話をしてる?
日時や時刻を扱う上で問題になるような誤差が出ることはなくない?
どんなに厳しい分野でも必要なのはナノ秒の数値までだろうし
142デフォルトの名無しさん (アウアウエー Sa3f-mL/d)
垢版 |
2024/10/14(月) 08:56:37.40ID:9n6nFJIZa
>>136
おまいが計算苦手なだけだろ
143デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 10:43:52.07ID:iqlRL8W80
>>141
64ビットCPUは64ビットのレジスタと外部とのやりとりが64ビットだ。

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

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

コンピューターは10進数の計算が苦手、時分秒なんてコンピューターには概念すらない。
144デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 10:44:50.51ID:iqlRL8W80
>>141
質問しているやつは秒を分にする方法を知らない。
60で割るということもわからない。
2024/10/14(月) 11:01:11.87ID:XiI9iPvI0
そもそも質問ってなんなの
>>108 からの >>111、派生で>>116
後出しで
・マイナス
・小数点以下
にも対応

ようは、ほんとはdatetimeかtimeで
一発で書きたい
もしくは、
出来る限り自作関数など無しで書きたい
だと思うけど
146デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 11:01:57.59ID:iqlRL8W80
初心者は数値は数値型、文字列は文字列型とか意味もわからずにデータ型を決めたがるよな。

hh:mm:ssは日時型という内部表現と画面に表示されている見た目を混同するあたりも意味がわからない。
147デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 11:04:17.72ID:iqlRL8W80
>>145
秒数を60で割る、ミリ秒は1000で割るという秒と分の換算がわからないというPython以前の問題児
2024/10/14(月) 11:52:49.48ID:H9fWIyl80
>>145
一発で書く方法はないので自作関数必須
いずれにしろ入力フォーマット、入力値の範囲、必要精度、出力フォーマットの仕様が必要

この程度は標準で用意しといてくれよという気持ちはよく分かる
149デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 12:36:08.87ID:iqlRL8W80
>>148
それだとあなたが存在する必要がない
2024/10/14(月) 12:38:01.47ID:upEjQ6n10
>>143
>彼は1/1000秒まで正確に求めたいらしい
どこを見てそんな解釈したんだ?
151デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 12:44:19.92ID:iqlRL8W80
>>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
152デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 12:45:05.98ID:iqlRL8W80
1816.123秒という例を本人が書いている
2024/10/14(月) 12:48:52.68ID:o4N23i0F0
60で割って云々はちょっとズレているというかアスペ感があるのでひとまずその問題は置いといて
ストップウォッチ風な表記をdatetimeかtimeで一発で出せたらいいのに、ってことなら
そもそもストップウォッチって
0’00’’00
だったような
なら0:00:00でよくて
別に2桁縛りの0埋めじゃなくてもよくね
ミリ秒部分は知らないけど
154デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 12:52:58.55ID:iqlRL8W80
>>153
彼はフォーマットのことも言っているが、1816秒を分に変換する方法がわからない。

1分は60秒だ。1000ミリ秒は1秒。
2024/10/14(月) 12:53:22.00ID:NoA08L9i0
0:00:00
10:00:00
これが揃ってないのがむずむずする
みたいな問題だとしたら
日付関数というよりprintなど出力フォーマット側の仕様にした方が個人的にはしっくりくる
2024/10/14(月) 12:53:51.85ID:upEjQ6n10
>>151
-1816.123という秒の単位で期間を表現した数値を
HH:MM:SS.0やHH:MM:SS.000形式の文字列にフォーマットしたいというのと
1/1000秒まで正確に求めたいというのは全然別の話じゃん

しかもそれ本人じゃないだろ
157デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 12:54:47.77ID:iqlRL8W80
本当に60秒が1分だと知らないのかもしれない。

datetimeライブラリなんか使う必要もない。
2024/10/14(月) 12:55:18.84ID:+rCJDD4J0
>>154
おまえはズレてるのでちょっと会話できないわ すまんね
そもそも>>131は別人だしお前以外は流れでわかってると思うよ
159デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 12:58:59.46ID:iqlRL8W80
>>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}')
みたいなことをしてもエラーになる
妙に融通が利かない
160デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 13:00:47.49ID:iqlRL8W80
1817秒を30分17秒と単純に割り算をして、文字列をくっつければいい簡単な話だぜ。
161デフォルトの名無しさん (ワッチョイ 1fec-1uE8)
垢版 |
2024/10/14(月) 14:04:34.65ID:2T1ySmhp0
54に続いて78が爆誕か
>>143の3行目とかマジでどういう脳ミソしてんだろう
2024/10/14(月) 14:11:38.27ID:mb36WxU50
>>155
printによる出力フォーマットは出力する値の型(ここではdatetime型やtimedelta型)に依存してるんだぞ
2024/10/14(月) 14:11:47.79ID:vJAIv8ZI0
最初の質問って「ある」「ない」を聞いてるだけじゃね?
無ければ自分で作るかぁ、みたいな
作り方なんて分かってる上での質問でしょ
2024/10/14(月) 14:28:50.30ID:CJVgcXbL0
>>162
その理論だとprintにオプションなくてもいいよね
2024/10/14(月) 15:04:56.69ID:Nrkl1oO4d
判ってると思うけど
1000 で割るより 1000000 で割った方が良い
166デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 15:56:41.32ID:iqlRL8W80
数値

時刻

文字列

という奇妙なデータ型変換
167デフォルトの名無しさん (ワッチョイ 9f8e-QBmB)
垢版 |
2024/10/14(月) 16:00:42.53ID:cfRK145W0
>>166
馬鹿が発狂した
168デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 16:05:57.37ID:iqlRL8W80
最終的な時刻フォーマットは時、分、秒がわかっていればいいだけなのにな。

1817秒÷60の結果で30分と17秒という分数と秒数が出せる。
2024/10/14(月) 16:38:57.17ID:u3iQG5/50
def convert_1817(sec):
  if sec == 1817:
    return '00:30:17'
  else:
    raise ValueError('sec must be 1817')

print(convert_1817(1817))
2024/10/14(月) 17:32:36.62ID:dK7b/9hZ0
20レスもしていて簡単なサンプルコードも書けないという事実
2024/10/14(月) 17:41:03.15ID:rj+zMLjj0
むしろ誰がコードなんて欲してるの?
2024/10/14(月) 18:10:36.90ID:Q0jRvIar0
回答としては
質問の要求を満たす何らかの
・関数
・datetimeやtimeなどオプションやメソッド
の掲示、なければ無い
場合によってはノーコードにもならない

ただひとつ確実に言えることは
割る60だの算出方法にひたすら拘っているアスペっぽいやつが的外れだということ
2024/10/14(月) 18:27:31.94ID:/mng7eSx0
アスペおじさんもだけど君も大概やで
>>131とか>>164とかギャグじゃなければヤバいぞ
174デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 18:33:31.99ID:iqlRL8W80
>>170
数字とコロンを連結するというところがなぜかprint関数でやるというヘンテコ話になっているからネタかもしれない。
2024/10/14(月) 19:40:06.63ID:m36PLLju0
経験上、文句を言うだけで理由を言語化できない人の方がヤバい人は多いですね
2024/10/14(月) 19:42:21.98ID:dmvKd1h40
1f78-oCgEだけは段違いで会話が成立しないレベル
レス数から言ってもわざとやっているとは思えない
177デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 19:44:03.40ID:iqlRL8W80
printさせるのはいかにも入門書という感じだけどさ、データ型の概念もなければ、データ型を変換するキャストも知らない。

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

() + (1817 / / 60) + ':' + (1817 % 60)
178デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 19:44:17.15ID:iqlRL8W80
めんどくせぇな
179デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 19:46:36.32ID:iqlRL8W80
教えてクレクレ
180デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 19:49:17.59ID:iqlRL8W80
自分はわからないのでお金を出して他人にやってもらうというのが正解だ

段階を踏まずにいきなり最終形にしたがるのも初心者の特徴
181デフォルトの名無しさん (ワッチョイ 9f8e-QBmB)
垢版 |
2024/10/14(月) 20:22:43.99ID:cfRK145W0
ID:iqlRL8W80
基地外確定
2024/10/14(月) 21:40:22.67ID:SB1Ci/250
関数一つ設計することが出来ないおじさん二人の醜い争い
2024/10/15(火) 10:06:05.50ID:vVD3TI360
今からPython始めても食ってけない?

gptのせいでコード自動生成されてしまうから
2024/10/15(火) 12:07:07.85ID:4n6/+UIx0
>>183
その質問もまずはChatGPTに聞くとよい
2024/10/15(火) 12:20:33.41ID:vNiVptT20
コードを改良するプログラムを生成するように依頼
そのプログラムで自分自身を改良し続けるようにして実行
2024/10/15(火) 17:12:58.10ID:ISNWUP6x0
プログラマになれないのに諦めない心意気は買うが辛くなるだけだぞ
2024/10/15(火) 17:22:58.02ID:p9LvrA/f0
Python系YouTuberになるための肩書としてプログラマなるならありかも知れん
188デフォルトの名無しさん (ワッチョイ 6bbd-rY7G)
垢版 |
2024/10/15(火) 19:27:15.97ID:obclbCzJ0
今からPythonするならAIを設計する側に回るように頑張るのがいい
もしAIがより高性能なAIを設計できるようになったらそもそも社会が別物になるだろうし
2024/10/16(水) 17:27:46.34ID:98gvsp6K0
matchってswitch?

なんで変な名前なの?
190デフォルトの名無しさん (スッップ Sdbf-QBmB)
垢版 |
2024/10/16(水) 17:35:39.03ID:qvWniM9xd
>>189
馬鹿にはそう見えるのか
2024/10/16(水) 17:49:43.98ID:uCgI/8kk0
C言語の時点でswitchは特に便利でもなかった
そこだけインデントが変になるし、breakまみれになるし

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

だから必然的にpythonにswitchなんか不要
2024/10/16(水) 18:18:16.18ID:98gvsp6K0
>>191

高速化は事実だが、
テーブルうんぬんは間違い。
2024/10/16(水) 20:02:33.53ID:P8hUv73s0
高速化として意味があったのは昔の話だけどね
2024/10/17(木) 18:14:57.71ID:lX/5R9Jx0
profile指定する以外の方法でseleniumでメルカリにログインする方法が判らん
2024/10/17(木) 20:37:13.97ID:rL5MZKqkH
>>189
別に変じゃないだろ
マッチ(match)させてその結果により分岐(switch)するという二段階の処理
用語として前を取るか後ろを取るかだけの話だ
2024/10/17(木) 20:43:44.76ID:91c0XYHa0
パターンマッチのmatch
switchにはパターンマッチの機能はない
2024/10/17(木) 20:52:52.68ID:l8JBYm7A0
>>195
え?

じゃ、switchでいいでしょ
2024/10/17(木) 21:15:16.24ID:lX/5R9Jx0
条件に合うか検査して分岐するんだからswitchだよな

英語のswitchってそんな多数分岐のニュアンスあるか? という疑問もある
AからBへswitchみたいな、2分岐がせいぜいなのでは
2024/10/17(木) 21:31:53.31ID:rL5MZKqkH
>>197
じゃ、て何よ
どっちかなんだからmatchでもいいじゃん
2024/10/17(木) 21:41:55.68ID:lX/5R9Jx0
switchと似て非なるもの、という意味でmatchにしたんだろうな
-tchが共通してるのは意図的

switchと同じと思われることを避けるというよりは、
switchとは違うのだよswitchとはという積極的な意思表示
201デフォルトの名無しさん (アウアウエー Sa3f-mL/d)
垢版 |
2024/10/17(木) 21:50:15.51ID:yeHUFxEBa
switchに2択という意味は無いぞ
2024/10/17(木) 21:55:19.50ID:lX/5R9Jx0
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へ切り替えの意味なんだよな
2024/10/17(木) 21:59:22.15ID:lX/5R9Jx0
ああ、2分岐でいいんだ
だからcaseなんだ

この場合はこれに切り替え、この場合は、という2分岐がたくさん書いてあるのか
長年の違和感がやっと解決した
2024/10/17(木) 22:45:28.58ID:iAHoYOGo0
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引数を指定すると、実行してもなぜかすぐ終了してしまいます
原因わかる形いませんか?
2024/10/17(木) 22:49:09.06ID:iAHoYOGo0
すみませんencoding="shift-jis"にしたら動きました
質問したらすぐに自己解決する不思議・・・というか何も即終了しなくても
2024/10/18(金) 01:36:02.01ID:Ut6mxk750
でも
matchって色々機能があるね
使うのめんどくさいな
207デフォルトの名無しさん (アウアウエー Sa3f-mL/d)
垢版 |
2024/10/18(金) 03:44:59.91ID:5Kk3482aa
Zennにもゴミ記事ってあるんだな
https://zenn.dev/nekoshita/articles/01c04ec83144ee
2024/10/18(金) 05:05:39.02ID:YY9Hp1UeH
>>206
うん
if~elifで済ませてきたんだから今更だし
確かPythonには一つのことをするのに複数のやり方があるのはご法度って考えがあったはずだし
開発陣の頭がボケてるとしか思えん
209デフォルトの名無しさん (ワッチョイ 1f45-oCgE)
垢版 |
2024/10/18(金) 07:12:42.20ID:HW2s8lVK0
マッチでもスイッチでもいいが、CPU内では比較命令をそのたびにしてプログラムをジャンプすることでロジックをスルーする。
210デフォルトの名無しさん (アウアウエー Sa3f-mL/d)
垢版 |
2024/10/18(金) 11:16:24.04ID:wVDH4S6Qa
choiceでも良いし
selectでも良い
2024/10/18(金) 11:26:19.64ID:gGHJI5N60
branchかなあ
複数に分岐する意味も最初から持ってる
でもアセンブラ的にはブランチは条件ジャンプと同義、、、
2024/10/18(金) 13:52:06.91ID:wVDH4S6Qa
case の方を前面に出した言語もあったはずω
2024/10/18(金) 15:40:13.78ID:Ut6mxk750
>>206
速度は場合によるようだね

ifのほうが早いケースもある
2024/10/19(土) 09:16:44.68ID:XsGIQo9N0
print(mes, file=(f, sys.stdout))
みたいなことができればいいのに
2024/10/19(土) 10:19:20.60ID:+tdI/ffv0
複数箇所にwrite()するクラスを用意すれば簡単にできるけど
ちゃんとしたアプリケーションならロガーを使うし
簡易的なスクリプトならpythonの出力をteeするので
普通はやらない
2024/10/19(土) 10:32:03.25ID:XsGIQo9N0
ログではないんだよな
結果をファイルに出力しながら、経過の情報を画面に出力する
所要時間はこれだけでした、みたいな両方に出力したい内容は両方に出す
217デフォルトの名無しさん (スププ Sdbf-l2+s)
垢版 |
2024/10/19(土) 11:05:51.25ID:Qn7y5thLd
>>216
>>215
2024/10/19(土) 11:15:28.75ID:+tdI/ffv0
>>216
であれば余計に1つのprintで処理する内容じゃないから
違う形の抽象化を考えたほうがいいよ

どういう形の抽象化がいいかは将来的な変更の可能性や
コンフィグ可能にしておく要素によって変わってくる
2024/10/19(土) 11:24:28.68ID:XsGIQo9N0
いや、同一内容を2箇所に出力できれば片付く問題なんよ
2024/10/19(土) 11:30:30.87ID:+tdI/ffv0
>>216
経過情報や所要時間はこれだけでしたみたいな出力は一般的にはログって言うんだよ
2024/10/19(土) 11:32:49.65ID:+tdI/ffv0
>>219
printで2箇所に出力したいなら>>215に書いてるように
簡単にできるんだからそうすればいいんじゃない?

いい設計ではないけどね
2024/10/19(土) 11:35:48.54ID:XsGIQo9N0
logは記録に残すもので、画面にだけ表示して消えていいものはlogとは言わない

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

代替の方法はあまり良くなくて、提案どおりが最適なんだから、
反論の間違いを認めないと何も進まない
223デフォルトの名無しさん (ワッチョイ 9f8e-QBmB)
垢版 |
2024/10/19(土) 11:40:20.05ID:3bJ6rPck0
また時刻の頭に0が入っていないとかいう馬鹿と同じ馬鹿か
224デフォルトの名無しさん (アウアウエー Sa3f-mL/d)
垢版 |
2024/10/19(土) 12:10:24.78ID:3T8uATjna
>>219
>>215
2024/10/19(土) 12:13:44.20ID:RjXmMaIpd
teeは全てのケースでカバー可能
226デフォルトの名無しさん (ワッチョイ 8ba6-lE/J)
垢版 |
2024/10/19(土) 13:21:31.18ID:brAMeERq0
あるソフトウェア会社にテスターとして入ったが、
メカ音痴、通信音痴の詐欺人材である。
仕事をやったフリをするのが難しいので、
バグを発見した際はすぐに報告せず、
ストックしておいて小出しに報告するやり方でしのいだ。
なにか問題が発生した際は、
知らない、オレじゃない、アイツがやった、もう済んだこと
を貫徹する現場猫を
2024/10/19(土) 13:34:16.86ID:7nKsGerl0
オアシス運動w
228デフォルトの名無しさん (ワッチョイ 9bbb-0IMV)
垢版 |
2024/10/19(土) 14:24:41.30ID:5nOU6ym70
バカは何やらせてもダメなんだな
229デフォルトの名無しさん (ワッチョイ ef9d-wMW8)
垢版 |
2024/10/19(土) 17:21:49.93ID:57zOCZIx0
だれか教えて。
実行環境はJupyterLab Python3.6.3
今までしっかり動いていたが今朝になって急にPyiCloudがエラーを吐くように。

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

ちなみに同じIDとパスでiPhoneやPCのWebからはログインが出来てる。
これうちだけの環境で起きてるだけかな?
230デフォルトの名無しさん (アウアウエー Sa3f-mL/d)
垢版 |
2024/10/19(土) 20:22:07.21ID:mCfaJTvfa
>>229
>>229
2024/10/20(日) 02:09:35.96ID:FYgfn/lt0
絵に描いたような老害がおるな
232デフォルトの名無しさん (ワッチョイ c697-6Oo2)
垢版 |
2024/10/20(日) 18:07:25.12ID:57kWXpit0
>>230
>>230
レスの意味がわからん。
一応、昨日の遅くからようやく開発元が認識をしたらしい。
どうもアップル側のセキュリティの方法が変わったとのこと、しばらく対応まちだな。
2024/10/20(日) 22:57:52.56ID:XWbRdnBX0
>>229
seleniumのwebdriver-managerもそうだけど、こう言う「間を介する」モジュールって片方のアップデート次第で不都合起きるからめんどくさいよね。
2024/10/20(日) 23:03:29.57ID:deI+4SvX0
windows = gw.getAllTitles()   ←windowsはlist型と表示されてる

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


これなんでAnyになるのか原因わかる人いますか?もう全然分からない・・・
ただリストの中をwindowで回したいだけなのに・・・
2024/10/20(日) 23:38:07.71ID:UoXQ+/wnH
>>234
何を悩んでるん?
型を気にしなくていいのがPythonを使う最大の強みじゃん
2024/10/21(月) 03:31:23.77ID:1Z2dcRpO0
>>234
Listの各要素はなんでも持てる型だからAny
>Any
>制約のない型であることを示す特別な型です
実際にリストに入ってるデータの型名併記
for window in windows:
 print(type(window), window)
237デフォルトの名無しさん (ワッチョイ c684-6Oo2)
垢版 |
2024/10/21(月) 09:33:53.50ID:D69IqQRS0
>>233
どうもサードパーティらiCloudに接続する方法を根本から変えているっぽくて、かなり大幅な改変が必要とのこと。 正規のライブラリを使っていないアプリケーションでは大規模に影響がでているはず。
とはいえ、もうRuby界隈の方は対応終わってるらしく、方法も公開されているから、Pythonの方も数日の辛抱という感じなのでは?と思っている。
2024/10/21(月) 11:10:24.41ID:cZ+nN4qG0
Appleが許可してない不正な方法でアクセスしてるんだから何が起きても文句は言えんよね

HTTP 503が返されてるのに'Invalid email/password combination.'扱いにしちゃう雑な作りのほうが気になる
2024/10/21(月) 14:35:51.14ID:lFfmrxXT0
icloudってiPhoneなくてもログインできないと詰むからガバガバなんだよね
今時あんなガバガバそうそうないぞ
240デフォルトの名無しさん (アウアウエー Sa8a-v/8H)
垢版 |
2024/10/23(水) 14:24:57.07ID:CetgrrtLa
governance不合格
241デフォルトの名無しさん (ワッチョイ fb16-1Wnr)
垢版 |
2024/10/30(水) 00:00:42.89ID:N5ISBsY60
pythonで不思議なのがif文

例えばこんな感じ。

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

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

このケースは二つだけのケースだが
三つのケースはelse:を追加
これって例えば誕生日きくときに
ifで1月
elifで2−11月
else12月。
これであってる?
なんかかなり面倒だからなんとかしてほしいw
242デフォルトの名無しさん (ワッチョイ fb16-1Wnr)
垢版 |
2024/10/30(水) 00:03:09.96ID:N5ISBsY60
あ、そっか。
まとめればいいだけだわ。
解決しましたw
2−11をまとめるとスッキリするねw
243デフォルトの名無しさん (ワッチョイ fb16-1Wnr)
垢版 |
2024/10/30(水) 00:27:22.21ID:N5ISBsY60
マッチつかおっと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)
244デフォルトの名無しさん (ワッチョイ fb16-1Wnr)
垢版 |
2024/10/30(水) 00:28:36.78ID:N5ISBsY60
上記訂正

# 分割する数字
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
245デフォルトの名無しさん (ワッチョイ fb16-1Wnr)
垢版 |
2024/10/30(水) 00:31:39.11ID:N5ISBsY60
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
2024/10/30(水) 00:32:21.56ID:E1mCSTtf0
fall-throughしないから6の倍数のやつがダメだろ
2024/10/30(水) 00:35:14.70ID:odUE1a8w0
if elif elseを置き換えるだけではmatchにする有り難みがない
もっとアクロバットなことができるけど、
そんなことをしたらpythonでなくなる気がする
248デフォルトの名無しさん (ワッチョイ fb16-1Wnr)
垢版 |
2024/10/30(水) 00:35:14.71ID:N5ISBsY60
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("無効な日です。")
2024/10/30(水) 00:36:51.27ID:E1mCSTtf0
どれもdictionaryにまとめるパターン
250デフォルトの名無しさん (ワッチョイ fb16-1Wnr)
垢版 |
2024/10/30(水) 00:43:34.90ID:N5ISBsY60
fruit = "apple"

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

複数のマッチ。
2024/10/30(水) 00:46:48.67ID:3XYQLByjH
アホだ
他言語ではswitchはバグの元って忌み嫌われてるのに
今になってわざわざ導入したPython陣営の愚かさよ
252デフォルトの名無しさん (ワッチョイ fb16-1Wnr)
垢版 |
2024/10/30(水) 00:49:17.11ID:N5ISBsY60
>>251
match 文はどう?
使い勝手がよいんだがw
2024/10/30(水) 00:54:05.39ID:E1mCSTtf0
>>250
キウイはトロピカルフルーツではないです
バナナはトロピカルフルーツです
2024/10/30(水) 01:03:26.08ID:3XYQLByjH
>>252
breakを書かないのが気持ち悪い
やはり条件分岐はifに勝るものなし
2024/10/30(水) 01:07:30.76ID:odUE1a8w0
switchにbreakがあるのが自然な感覚なら、if文もbreak要るやろ
アセンブラと一対一対応なただのジャンプ命令を高級言語にしただけなんだから
2024/10/30(水) 01:23:42.78ID:bt1w6ELFH
>>255
多分に感覚的なものだけどね
ifはelseというキーワードにより分岐から分岐に処理が流れることはないとはっきりわかるからbreakは不要
switchはそれがわからないからbreakがないと気持ち悪い

>>250で言えば、2個めのcaseからはelse caseとする設計なら安心できる
2024/10/30(水) 07:50:49.92ID:GeZTCF7U0
この場合は、と書いてるのに、それ以外の場合に処理が突っ込んでいくのが異常
自然言語として読んでそんな解釈する奴は皆無
C言語のswitchは実質goto文で、忌避すべき悪しき構造
2024/10/30(水) 08:34:25.79ID:bt1w6ELFH
>>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("デフォルト処理"))()
259デフォルトの名無しさん (ワッチョイ fb0a-1Wnr)
垢版 |
2024/10/30(水) 13:37:25.39ID:N5ISBsY60
100さんへ
ALL PYTHONDでもよくね?
260デフォルトの名無しさん (ワッチョイ fb0a-1Wnr)
垢版 |
2024/10/30(水) 13:40:41.42ID:N5ISBsY60
PHPでPYTHONやると語尾が気持ち悪くなるW
だっていつもコロンだか、セミコロンつかうじゃん?phpって
だから最初わしも慣れるのに苦労したW
2024/10/30(水) 13:56:31.26ID:DhwGc29Ga
HDLだとcaseで充分なんだよな
262デフォルトの名無しさん (アウアウエー Sae3-07nO)
垢版 |
2024/10/30(水) 14:02:40.72ID:DhwGc29Ga
>>258
アホはこれみてpythonは関数型言語(キリっ)とか言い出しそう
2024/11/02(土) 13:35:04.63ID:cytI8wNj0
同じ階層のlib.pyにdef func()があって、main.pyから
import lib
だけでfunc()使えなかったっけ

lib.func() なら使えるし、
from lib import func でも使えるけど、
import lib だけでも使えてるケースがあるのに違いが判らん
264デフォルトの名無しさん (ワッチョイ 535c-Idnl)
垢版 |
2024/11/02(土) 13:56:04.51ID:QT6/c5p90
使えるわけねーだろドキュメントくらい読め
2024/11/02(土) 14:01:43.84ID:cytI8wNj0
サンプルを書いてみると使えないんだけど、
実際に動いてるコードでは使えてるとしか思えないんだよな
266デフォルトの名無しさん (アウアウエー Sae3-07nO)
垢版 |
2024/11/02(土) 15:09:33.21ID:+GKIPsT4a
from lib import *
267デフォルトの名無しさん (アウアウエー Sae3-07nO)
垢版 |
2024/11/02(土) 15:24:56.26ID:+GKIPsT4a
lib.py の最後に
__builtins__['func'] = func
でいけるかな
2024/11/02(土) 15:25:32.30ID:+GKIPsT4a
lib.py の最後に
__builtins__['func'] = func
でいけるかな
269デフォルトの名無しさん (スププ Sd33-Kj37)
垢版 |
2024/11/02(土) 16:45:29.14ID:TIz0sdCnd
黒魔術禁止
2024/11/03(日) 05:30:42.12ID:3rcZcbik0
>>265
じゃあそのコード出してみればいいのに
2024/11/03(日) 09:54:14.13ID:3P3Nu4GE0
結局、動いてはいなかった
ImportError: cannot import name 'func' from 'lib'
というエラーにはならずに、とりあえず走り始める

で、funcを呼んだタイミングでエラーになるけど、
concurrent.futures.ThreadPoolExecutor.submit の先にあるので、
エラー表示は出ないし処理も止まらないだけだった
何なら、import lib すらなくても同じ動作になる
2024/11/03(日) 14:00:30.85ID:3P3Nu4GE0
エラー出ない問題は
future = concurrent.futures.ThreadPoolExecutor.submit(func)
future.result()
こんな風にすると解決する
concurrent.futures.ThreadPoolExecutor.submit(func).result()
でもok
2024/11/03(日) 16:59:41.21ID:oTBqZLJpM
なんなのこの日記
2024/11/03(日) 17:08:44.45ID:3P3Nu4GE0
但し、result()を評価すると完了を待つので同期処理になってしまう
多重処理で高速化できないので、デバッグが終わったら外す
2024/11/03(日) 17:09:12.43ID:L07G869G0
言っても無駄だから「集団無視」するのがいい
2024/11/03(日) 17:43:09.87ID:lgsiIHy30
>>273

この福祉系キチガイのせいでしょ>>87
2024/11/03(日) 18:43:10.23ID:aWrgo6rr0
五十四の日記
278デフォルトの名無しさん (スププ Sdb2-c1Ck)
垢版 |
2024/11/03(日) 19:21:34.34ID:4g0SxEOpd
過疎ってるね
2024/11/03(日) 20:18:30.62ID:rroxZfopd
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()
2024/11/03(日) 22:36:57.37ID:m0ql+Kks0
続 五十四の日記
2024/11/03(日) 23:08:48.69ID:3P3Nu4GE0
過疎るのは別に問題じゃないけど、課題はS/N比だな
何故内容のないことを書き込みたがるのか
2024/11/03(日) 23:24:53.04ID:upFikudE0
おまいう
2024/11/03(日) 23:42:27.04ID:Hsbf+jvP0
福祉施設からきた知的障害者が荒らしてるよな>>87
2024/11/03(日) 23:43:00.68ID:Hsbf+jvP0
>>279
失せろ知的障害朝鮮人
285デフォルトの名無しさん (ワッチョイ b6d7-W6cr)
垢版 |
2024/11/07(木) 22:30:21.43ID:0vDQcGjY0
pythonってなんで語尾に;がないの?
この語尾が気持ち悪いw
あとif文やelifが:だけ:があるのが慣れないなw
286デフォルトの名無しさん (スップ Sd12-XYkR)
垢版 |
2024/11/08(金) 00:05:39.08ID:te03q3B3d
>>285
お前みたいな馬鹿がいるこの世の中が気持ち悪い
お前みたいな馬鹿が生きていられることになれないなw
2024/11/08(金) 12:27:31.09ID:F9yTI1pla
pythonは文末に;憑いてても動く
288デフォルトの名無しさん (ワッチョイ b2a0-33NL)
垢版 |
2024/11/08(金) 18:53:48.94ID:y8v+DuF60
>>285
改行コードを終わりと見做すプログラミング言語だから
2024/11/08(金) 19:07:12.95ID:cLnY3Hqj0
改行に意味があるというよりは、ブロック構造をインデント任せにしてるからだけど

{と}でブロックが明示されてたらエディタの機能でブロックの先頭と末尾を行き来できるけど、
python専用エディタだとそんなことできたりする?
インデント深いと読めなさすぎて、あの手この手で浅くする
290デフォルトの名無しさん (ワッチョイ b2a0-33NL)
垢版 |
2024/11/08(金) 19:09:12.46ID:y8v+DuF60
>>289
初心者にそんな説明をするのは悪手
2024/11/08(金) 19:38:39.84ID:BBiCQq+eH
>>289
できないと思うけど
そもそもブロック単位の移動という操作が開発で必要とは思えない
2024/11/08(金) 19:41:06.28ID:G9PsHqcG0
>>285
別に付けてもいいぞ
何なら一行に複数の文も書ける
293デフォルトの名無しさん (ワッチョイ b2a0-33NL)
垢版 |
2024/11/08(金) 19:56:04.57ID:y8v+DuF60
>>292
Pythonの原作者の悪趣味を勧めるなw
294デフォルトの名無しさん (ワッチョイ b2a0-33NL)
垢版 |
2024/11/08(金) 19:58:22.87ID:y8v+DuF60
>>292
意味なく付けていると可読性が下がる
295デフォルトの名無しさん (ワッチョイ 6e50-Du01)
垢版 |
2024/11/08(金) 20:28:10.47ID:c7CpRr710
>>288
なんかメインフレーム臭さが漂ってんだよなあ
2024/11/08(金) 22:56:15.48ID:U1OZc4Nd0
>>289
vimはできるよ

Pythonでパッと見てネスト構造が分からないようなコードは問題がある気がするがブロック単位と移動や編集が便利なのは間違いない
297デフォルトの名無しさん (ワッチョイ 7509-gPyh)
垢版 |
2024/11/09(土) 01:03:02.37ID:6W4F7+P40
>>295
セミコロンを付けない言語もそれなりにあるし、Pythonだけがそうというわけではない
最近流行りのだとGoもそう
2024/11/09(土) 11:11:55.78ID:6RYR080/0
>>289
改行を文デリミタにするのとブロックの表し方は全然関係ないだろ。
シェルスクリプトとか見てみ。
2024/11/09(土) 11:58:53.83ID:wO7HvhhQ0
luaも無視してくれるね;
300デフォルトの名無しさん (アウアウエー Sada-GGiU)
垢版 |
2024/11/09(土) 14:29:53.24ID:B62lCCpIa
xxxxxxxxxxxx
2024/11/09(土) 15:56:26.85ID:uvbykfPp0
JavaScriptみたいに自明な場合はセミコロンを挿入するって風にすればいいのにな
そうすればワンライナーとの相性もよい
302デフォルトの名無しさん (ワッチョイ 5969-4b4N)
垢版 |
2024/11/09(土) 16:57:23.68ID:5wGLeQz90
そうするとめちゃくちゃなインデントするやつが絶対でてくるからな
2024/11/09(土) 17:24:04.02ID:LlsVFZwkd
vs codeで書いてるけど
インデントしてんのにインデントおかしいぞ!って怒ってくる
2024/11/09(土) 19:42:57.03ID:b5zF/lUM0
Pythonを使うには
空白文字が判別できるグリフになってるフォントが必要
305デフォルトの名無しさん (スッップ Sdb2-XYkR)
垢版 |
2024/11/09(土) 21:20:12.17ID:SkJltVwKd
>>304
このスレってこういう馬鹿ばっかだな
2024/11/09(土) 22:08:58.33ID:sXoCSO6d0
>>305
お前みたいなのがこのスレを破壊したって
自覚持ってくれ
307デフォルトの名無しさん (スッップ Sd43-DV/N)
垢版 |
2024/11/10(日) 00:52:09.53ID:H/zpgg/Vd
>>306
お前みたいに嘘を撒き散らす馬鹿がいるからだろ
308デフォルトの名無しさん (ワッチョイ e337-R46Z)
垢版 |
2024/11/10(日) 02:54:10.37ID:NcxfIIMm0
>>303
タブと半角スペースが混じっているだけじゃないのか?
309デフォルトの名無しさん (ワッチョイ cdd5-MfT4)
垢版 |
2024/11/10(日) 07:47:13.73ID:dkv1a77w0
フォントでなくエディター側でも解決できる
VS Codeだとタブ文字やスペースを見やすくする設定があるはず
全角スペースはフォント側で可視化されてるものを使うと便利
2024/11/10(日) 09:41:38.14ID:Mocr1U5E0
全角スペースをstrip()が削除するんだから、それがスペースだということは知ってるんだよな
なんでインデントに使ったらいけないのか謎
2024/11/10(日) 10:07:01.33ID:3craHbO10
個数で判定するか幅(それも1:2か3:5かそれ以外か)でか、で自転車置き場の屋根より長い議論になることが見えてるから
2024/11/10(日) 10:30:19.57ID:Mocr1U5E0
個数でも幅でもなく、組み合わせ
TABとスペースを混ぜた時と同じ挙動
313デフォルトの名無しさん (アウアウエー Sa13-vkNS)
垢版 |
2024/11/11(月) 06:06:38.40ID:mTrGHtv9a
全角SPはTABでも半角SPでもない
2024/11/11(月) 08:13:32.49ID:XjDPgffN0
C言語のブロック記号{}に全角空白もアリにしてと言ってるようなもんだな
日本語の全角空白含めても日本人の一部にしかメリット無いです
2024/11/11(月) 14:38:02.82ID:tRsIxhTt0
インデントはタブのみ許可
タブはインデントのみ許可
みたいにガチガチにしてしまえばいいのに
そこだけは非常に残念
2024/11/11(月) 16:41:38.17ID:RisB9sc6d
タブの存在しない処理系とかあるんじゃないの
知らんけど
2024/11/11(月) 16:45:22.89ID:XlNa4SSE0
https://www.openwork.jp/company.php?m_id=a0910000000FrzY
2024/11/11(月) 17:04:38.11ID:7xH2ULqH0
TAB使うなって言うからスペースでインデントしてるけど、
エディタがデデントに対応してなくて無駄に大変
2024/11/12(火) 09:00:04.47ID:MVEhN2a60
なぜ対応のエディタを使わないのか
VSコードでいいだろ
320デフォルトの名無しさん (ワッチョイ e38e-R46Z)
垢版 |
2024/11/12(火) 20:00:16.97ID:v7TGFNyn0
>>313
スペースのことを「SP」と書いている人を初めて見たわ
321デフォルトの名無しさん (ワッチョイ e38e-R46Z)
垢版 |
2024/11/12(火) 20:07:54.86ID:v7TGFNyn0
Pythonが誕生したころは、まだ1バイト使うか4バイトも使うか記憶装置の容量では悩むレベルだったから、タブを使うか半角スペースを複数個使うかで
322デフォルトの名無しさん (ワッチョイ e38e-R46Z)
垢版 |
2024/11/12(火) 20:08:36.68ID:v7TGFNyn0
人によって意見がわれていた
323デフォルトの名無しさん (ワッチョイ 4b8e-DV/N)
垢版 |
2024/11/12(火) 20:25:38.59ID:J1Sn69yS0
>>320
お前が何も知らない馬鹿なだけかと
2024/11/12(火) 21:12:33.59ID:ZcEeG3hE0
半角SPw
2024/11/12(火) 21:16:46.59ID:nvqj0JfO0
日本人の一部にしかメリットなくても、残りの誰にもデメリット無いなら、
それはメリットしか無いのでは
326デフォルトの名無しさん (アウアウエー Sa13-vkNS)
垢版 |
2024/11/13(水) 02:13:50.19ID:lxEAsUm8a
デメリットだらけ
327デフォルトの名無しさん (ワイーワ2 FF93-R46Z)
垢版 |
2024/11/14(木) 19:11:38.32ID:g26vUJe4F
ここで質問しているやつはPythonの資格対策本でも買って勉強しろ
328デフォルトの名無しさん (ワッチョイ 2bb6-QT1F)
垢版 |
2024/11/15(金) 10:25:38.19ID:G6HDJDaQ0
uvはactivate必要なのか
pyenvとpoetryでいいわ
329デフォルトの名無しさん (ワッチョイ e3dd-R46Z)
垢版 |
2024/11/15(金) 17:45:24.05ID:Jz1yaJFv0
>>328
プロアクティブが必要
2024/11/16(土) 19:00:54.48ID:ILOr4dg40
既存のファイルを'w'でopenする時に、他のプロセスがアクセスしているとOSErrorになることがある
ならないこともある
ファイルが大きいとなるっぽい

なんとか強引に開けないものか
331デフォルトの名無しさん (ワッチョイ 1b5c-Bg8t)
垢版 |
2024/11/16(土) 21:38:03.01ID:JvbcygrM0
width同じでheightバラバラのjpg画像が大量にあるんだがこれをpdfに上下に敷き詰めるにはどうしたらいいの?
2024/11/16(土) 23:24:04.57ID:3kqPnMcZ0
>>330
windowsならWin32 APIでsharing modeを指定

>>331
bin packing problemでググれ
2024/11/17(日) 11:06:04.94ID:tn0ahmRja
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']
が欲しい
2024/11/17(日) 12:17:30.72ID:EcgVWlk90
>>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]')
2024/11/17(日) 12:24:22.30ID:33eX3D3e0
関係ないけど、excelで日毎のデータが何年分もあって、
グラフの横軸を年月で表示しようとしても微妙にうまく行かない
2024/11/17(日) 13:42:46.70ID:tn0ahmRja
>>334
ありがとう
print(np.arange(np.datetime64('2024-11-01'), np.datetime64('2025-05-01'), np.timedelta64(1, 'M')))
でエラーだったからどうしたもんかと
2024/11/17(日) 14:01:43.54ID:tn0ahmRja
print(np.arange(np.datetime64('2024-11-01'), np.datetime64('2025-05-01'), dtype='datetime64[M]'))
これでもうまくいったわ
338デフォルトの名無しさん (ワッチョイ 8e83-d7kS)
垢版 |
2024/11/17(日) 14:12:53.82ID:ENY5bRjq0
>>332
回答ありがたいんだが番号振られてあるから順番に上から下に敷き詰めたいんだが
339 警備員[Lv.10][芽] (ワッチョイ 6fad-gDrC)
垢版 |
2024/11/17(日) 17:22:39.74ID:z11Q5dQO0
下記の内容で Microsoft Copilot に聞いてみた で教えてくれる
------
pythonでwidth同じでheightバラバラのjpg画像が大量にあるんだがこれをpdfに上下に敷き詰めるにはどうしたらいいの?
番号振られてあるから順番に上から下に敷き詰めたいんだが
2024/11/17(日) 17:33:31.08ID:33eX3D3e0
pdfの高さが決まってて、そこに入るだけ順番に入れてくだけの話?

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

というだけのアルゴリズムでいけるのでは
341 警備員[Lv.10][芽] (ワッチョイ 6fad-gDrC)
垢版 |
2024/11/17(日) 17:40:21.98ID:z11Q5dQO0
聞いてみた結果
--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()
342 警備員[Lv.10][芽] (ワッチョイ 6fad-gDrC)
垢版 |
2024/11/17(日) 17:51:48.14ID:z11Q5dQO0
--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()
2024/11/17(日) 17:56:32.18ID:33eX3D3e0
datにはインデントのスペースも書かれてるんだけどな
表示のレンダリングで落としちゃうだけなので、
ブラウザに先頭のスペースを無視しないモードがあれば済むのに
344デフォルトの名無しさん (ワッチョイ 62d6-EBAf)
垢版 |
2024/11/18(月) 07:06:37.63ID:INV+aJIp0
【ナゾロジー】サイコパスは「痛みを伴う失敗」から学習できない! [すらいむ★]
http://itest.5ch.net/egg/test/read.cgi/scienceplus/1731838156
345デフォルトの名無しさん (アウアウエー Sa3a-iI0F)
垢版 |
2024/11/18(月) 12:58:55.73ID:0TuJxtFYa
>>343
専ブラ
346デフォルトの名無しさん (ワッチョイ 6742-PMgB)
垢版 |
2024/11/22(金) 01:57:46.65ID:icDgwF6r0
某キャリア回線アプリのON、OFFをAPI送信で叩きたいけど
POSTMANでは正常に叩けてアプリに反映されれるけど
python経由だとレスポンスが正常だけどなぜかアプリ側に反映されない。
POSTMANと全く同じヘッダーつけてもダメだった。
わかる方いるかしら?
347デフォルトの名無しさん (JP 0Hfa-rt3S)
垢版 |
2024/11/22(金) 23:22:02.38ID:axFgaWRBH?2BP(1000)

EchoAPIを使い始めて、このツールのおかげでAPIテストが効率化されし、機能開発にももっと集中できるようになった!
348デフォルトの名無しさん (ワッチョイ 6742-PMgB)
垢版 |
2024/11/23(土) 00:31:01.88ID:IcKkVXcm0
>>346
自己解決 APIが違った。
似たようなAPIがあって確認ミス
2024/11/25(月) 01:12:59.73ID:gOO2TZvc0
ハイパーモダンpython読みにくいなこれ
翻訳は悪いとは思わない
説明対象になる要素が出てくる順とか元の文章の流れが悪すぎる
350デフォルトの名無しさん (ワッチョイ ff2a-sa1W)
垢版 |
2024/11/25(月) 08:02:05.82ID:icG0ziFd0
これか。何か嬉しいことが書いてあるのかな。
cjolowicz.github.io/posts/hypermodern-python-01-setup/
351デフォルトの名無しさん (ワッチョイ 9fc2-ZGYG)
垢版 |
2024/11/25(月) 09:32:40.34ID:SsaYg1Am0
科学 + ンニュース 5ch

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

コメントも含めて読むと
陰謀論が収まら無い理由が判明する
2024/11/29(金) 17:36:52.72ID:1nbpjyP00
byteからstrへの変換がdecodeなんだから、
open()のencodingはdecodingが正解なのでは
353デフォルトの名無しさん (ワッチョイ d7ad-aW8T)
垢版 |
2024/11/30(土) 01:20:49.70ID:hNQfUfJr0
encodingは変換という意味だから、いいのでは
354デフォルトの名無しさん (ワッチョイ b72a-sa1W)
垢版 |
2024/11/30(土) 08:09:26.50ID:VXfE+2kW0
日常生活においてはいいけど、
Python のドキュメントに当たるときは、あやふやにしていると混乱する。
2024/11/30(土) 08:31:45.38ID:OzjPxg3T0
'r'でも'w'でもencoding=なんだから、そういう意味じゃないのは自明だったな

encoding はファイルのエンコードやデコードに使われる text encoding の名前です
There are a variety of different text serialization codecs, which are collectively referred to as "text encodings".
2024/11/30(土) 14:43:48.94ID:wliauO6ld
Streamlitアプリのパッケージ管理するなら、今ならuvがいいですか?
まだpython始めて1年くらいで、メインはNodejsフロントエンドなんですけど、今までconda使ってたんですが、しばらく触ってないとどの環境でどのアプリのどのブランチ触ってたかわかんなくなります、、、
357デフォルトの名無しさん (アウアウエー Sadf-wjfe)
垢版 |
2024/11/30(土) 15:01:57.04ID:l0dFcapba
git
358デフォルトの名無しさん (ワッチョイ bf40-8f7s)
垢版 |
2024/11/30(土) 17:23:52.72ID:UTmme7fc0
>>356
venv
2024/11/30(土) 17:33:17.56ID:OzjPxg3T0
環境の管理はまだ未成熟な気がするし、
何もしなくてもいい気もする
2024/12/01(日) 06:15:27.09ID:qIIa6Po8F
何かしら管理はしないと、
あとで触ったら時にいつのまにか動かなくなってたりしませんか?

uv触ってみました、良いですねこれ
仮想環境アクティブにしなくてもそのままスクリプト実行できますし、lockファイルがクロスプラットフォームなのがいいです
本当にnpmみたいです
361デフォルトの名無しさん (ワッチョイ 6fad-5WnV)
垢版 |
2024/12/01(日) 06:50:38.03ID:usl5rUYN0
AIでpythoのプログラム作成しているんだけど
完成したから、おしゃれなコメントをつけてって入れたら
なんかずっと返ってこない。
すごい、おしゃれなコメントを作っているのかな
362デフォルトの名無しさん (ワッチョイ 6fad-5WnV)
垢版 |
2024/12/01(日) 07:06:01.18ID:usl5rUYN0
おしゃれコメント生成はやめどきが難しい
# 画像やテキストを解析し、結果をお届け # ファイルがドロップされたら画像を読み込む魔法
# ここからがメインの舞台 # 画像を一瞬でBase64に変身させる # 新しい会話をエレガントに開始
2024/12/01(日) 17:18:14.50ID:/Q96hWUr0
driver.find_element(By.XPATH, ***).send_keys("***")
2024/12/01(日) 17:24:13.28ID:/Q96hWUr0
driver.find_element(By.XPATH, ***).send_keys("***")
でフォームに入力し、書き込みボタンを押して投稿するものを書いたのですが、
入力されないしボタンも押されず、固まっていることが頻繁にあります
これを防ぐ方法はありますか?
2024/12/01(日) 17:39:11.83ID:tRbUIFef0
waitを入れる
2024/12/01(日) 18:11:22.37ID:1JLx1bUH0
ログはどうなってる?
2024/12/01(日) 18:35:41.80ID:/Q96hWUr0
初心者なのでよく分かっていないですけど、コマンドプロンプトには何も表示されていないです。
書き込みできないまま止まっていて、getで再度サイトにアクセスすると書き込めるようになるときがあります
2024/12/01(日) 18:40:02.51ID:tRbUIFef0
input()とかbreakpoint()とかで止めながら試す
2024/12/01(日) 19:14:40.51ID:/Q96hWUr0
>>368
ありがとうございます
後ほど試してみます
2024/12/01(日) 21:56:37.25ID:/BlP4ndo0
どうしてもseleniumを使い続けなきゃいけない理由がないならplaywrightとかもう少しモダンなやつ使ったら?
send_keysが思ったように動かないとか手動でwaitいれなきゃいけないとか2020年代にする話じゃない
2024/12/01(日) 22:24:05.62ID:tRbUIFef0
RPAなんかも、細かく指定する原始的なのと勝手にやってくれる抽象的なのが同居してる

一旦苦労しといて、新しいのは楽だぜいとステップを踏んだ方がきっと楽しい
2024/12/01(日) 23:08:44.46ID:1o85ezT5d
(1)用語をいちいち意味不明なモンティパイソン用語に置き換えてあるのがうざい。それ以外も趣味悪い置き換えばかり。
(2)参考書でページ跨ぐ時にインデントの位置が読み取りにくい
2024/12/01(日) 23:16:42.03ID:gMHLdZsad
アップデートあると動かなくなるとかやめて
374デフォルトの名無しさん (ワッチョイ 6fad-5WnV)
垢版 |
2024/12/02(月) 00:25:56.92ID:7m/pDVQD0
#普通のクリックが効かない時(紐づいてるスクリプトを実行)
#---------------------------------------------------------------------------
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()
375デフォルトの名無しさん (ワッチョイ 6fad-5WnV)
垢版 |
2024/12/02(月) 04:52:39.52ID:7m/pDVQD0
要素が存在していても、フォーカスが違う時はsend_keysなどは動かない
親要素をクリックするとかしてから行う
oya=driver.find_element(By.xx,親要素)
oya.click()
--
フォーカスが別フレームなら戻すとか
is_displayed, driver.switch_to.frame, ActionChains(キー送信等で使う) とかも参照して
(いつもと違うのが(ポップアップみたいのが)、出てくると、あれ動かないみたいになる..はまるのをつぶすのはめんどくさい)
あと、XPathはHTMLの構造に依存するから、表示とかが変わると、同じにはならないから、使わない
>getで再度サイトにアクセスすると書き込めるようになるときがあります
これに当てはまる?
2024/12/02(月) 20:05:34.47ID:s4V+qYg3d
ハイパーモダンpythonは後の章に行くにつれて
話が繋がってくる
最初がきつい
377デフォルトの名無しさん (ワッチョイ ecac-Dj8N)
垢版 |
2024/12/03(火) 03:51:20.88ID:N6mUJPJA0
コボル、BASIC から初めて次にC/C++にしたが
考えるとPythonのカッコ使わない記述は古典すぎる
コボル用の原稿用紙みたいなマス目の紙がうってたが
昔風の記法は紙に書くとかエディタにカッコの認識機能がなかったとかで
昔はよかったがいまは逆に不利では
378デフォルトの名無しさん (ワッチョイ 6fad-5WnV)
垢版 |
2024/12/03(火) 05:57:29.53ID:e3hO3RHt0
COBOLのインデントはただの見た目。pythonはインデントで認識するから、
見た目は同じでも違う
2024/12/03(火) 09:41:07.24ID:kLLVN+mm0
>>364
人の目にページが表示されるまで細かくソースが変化するサイトがあって期待したエレメントを誤認識してクリック空振りとかあり得る
自分はクリック処理に入る前にページを完全に読み込んだか判断するようにしている
例えば「ここをクリック」のようなページ読み込み完了が確認できるような文字列がソースにあるか条件にし無ければwaitしてループみたいなの(できれば無限ループ避けに回数超えたらエラー終了とかいれて)
2024/12/03(火) 09:42:35.91ID:KPEF2J76H
>>377
何ゆってんの
カッコが要らないことはプログラミングの革命だよ
カッコをタイプするのに全プログラマが消費している手間と時間が年間どれだけになるか計算しろ
2024/12/03(火) 10:08:04.98ID:/RopnMZy0
IDE的なものを使ったことがないのかな?

IDEがサポートしてくれない手動アンインデント・手動フォーマットが必要なPythonのほうがタイプ量は多くなるぞ
382デフォルトの名無しさん (ワッチョイ 3f2a-L1ek)
垢版 |
2024/12/03(火) 10:08:51.03ID:d8XC/DSv0
日暮れて途遠し。関数のカッコも許すまじ。
2024/12/03(火) 10:11:04.18ID:N6mUJPJA0
もともとはカッコがなかったはずだ
アセンブラ FORTRAN Pascalとか
古典的なほど一行一文で必要性がひくい
2024/12/03(火) 12:51:02.33ID:pPfZPcder
364ですが皆さんアドバイスありがとうございます!
時間のあるときにいろいろ試したいと思います
385デフォルトの名無しさん (ワッチョイ 3f8e-gAXR)
垢版 |
2024/12/03(火) 16:08:05.47ID:UmbELZIZ0
>>380
馬鹿過ぎて話しにならない
そんな理屈だとBASICとかが革命ってことになるだろ
386デフォルトの名無しさん (ワッチョイ 6e2a-L1ek)
垢版 |
2024/12/03(火) 16:48:38.38ID:7+FAz+IT0
馬鹿げた話に馬鹿と突っ込むのは馬鹿っぽく見える。
387デフォルトの名無しさん (ブーイモ MMba-cbcK)
垢版 |
2024/12/05(木) 19:12:25.57ID:f+d6ZP2RM
>>385
タブや改行と半角スペースを混同して語るのは痛いな
388デフォルトの名無しさん (ブーイモ MMba-cbcK)
垢版 |
2024/12/05(木) 19:15:05.19ID:f+d6ZP2RM
BASICが詰めた見た目にできるのは構文解析が優秀だからだぞ?

アセンブラなんて1行、1命令だから。
2024/12/05(木) 20:01:54.48ID:m3F946dq0
>>377
コピペした時のインデントが人間にしかわからんねえしな
欠陥言語だよ
2024/12/05(木) 20:39:01.52ID:v//ZhfaU0
BASICでインデントすると、貴重なメモリがインデント用に減っていく
391デフォルトの名無しさん (ワッチョイ 46df-cbcK)
垢版 |
2024/12/05(木) 23:43:24.89ID:PwliRaIW0
>>390
いつのパソコンだよw
392デフォルトの名無しさん (ワッチョイ 46df-cbcK)
垢版 |
2024/12/05(木) 23:44:48.64ID:PwliRaIW0
>>389
ブロックを括弧にしたのは可読性が下がったので何とも言えない

START、ENDはくどいがこれはこれでわかりやすい
393デフォルトの名無しさん (ワッチョイ 46df-cbcK)
垢版 |
2024/12/05(木) 23:45:08.94ID:PwliRaIW0
BEGIN、ENDの間違い
394デフォルトの名無しさん (ワッチョイ 46df-cbcK)
垢版 |
2024/12/05(木) 23:45:53.80ID:PwliRaIW0
>>389
ブロックを括弧にしたのは可読性が下がったので何とも言えない

BEGIN、ENDはくどいがこれはこれでわかりやすい
2024/12/06(金) 05:18:04.91ID:AALfMO070
AIでスラスラ
2024/12/06(金) 05:54:20.93ID:7NYpJagN0
byteをhex()で変換すると長い文字列になって読みにくいので、
2文字ずつに区切る方法を誰か書いてないかなと検索したら、
AIが横取りして完全解答を示してきた
2024/12/06(金) 07:54:25.37ID:rsMlOC0k0
>>394
分かりにくい
398デフォルトの名無しさん (ワッチョイ 46df-cbcK)
垢版 |
2024/12/06(金) 16:36:41.30ID:JVxC5Ump0
>>397
括弧は単に慣れているから変に思わないだけ
2024/12/07(土) 14:06:32.90ID:8ekNK8XTa
dataをremで並べるのとかな
2024/12/08(日) 03:04:53.14ID:uhFONOyF0
>>398
言い方を変えると慣れない
つまり使いづらいし分かりにくい
2024/12/08(日) 15:49:08.95ID:s3gWwTLZ0
パイチョン嫌い
でも開発環境めっちゃ整備されてるな
perlがここまで来ていたら
2024/12/08(日) 15:56:53.41ID:am0IRcwN0
perlとは方向性がかなり違うからなあ

短期的にはperlの方が楽だけど、結局長い目で見るとpythonできっちり書いた方が楽
perlは例外的なケースもよしなに吸収しといてくれるけど、
pythonに移植してみると気付いてなかった問題が顕在化したりする
403デフォルトの名無しさん (ワッチョイ 8707-N88W)
垢版 |
2024/12/08(日) 16:17:35.04ID:YHg2sc8K0
Pythonはwindowsで長いパス(最長はしらんがおそらく3万字とか)に対応してるので
ほぼその目的で利用
C/C++とそれに似てるPHPなどのほうが使いやすいのでこっちで書いてから
AI翻訳+修正すればいいとわかった
2024/12/08(日) 16:21:58.87ID:am0IRcwN0
NASがext4なので、フルパスで255byteしか使えない
普通にきつい
2024/12/08(日) 16:35:08.33ID:koJ73GUG0
turtleモジュールの亀かわいい
406デフォルトの名無しさん (アウアウエー Sa9f-zpgV)
垢版 |
2024/12/09(月) 11:02:22.67ID:uh4vUAM3a
PHPはCと表面上は似てるけど全然違う詐欺みたいな言語だからな
407デフォルトの名無しさん (ワッチョイ dff4-tB0+)
垢版 |
2024/12/09(月) 13:23:03.85ID:wWCmXoxS0
科学 + 5ch

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

コメントに面白いことが書かれている
2024/12/09(月) 13:50:05.32ID:QWMKV9/M0
最近のプログラミングというのはAIに書かせたコードを切り貼りする作業なわけだが、
その点ではブロックをインデントで表現するスタイルはあまり相性良くないと思うわ
コピペ後に手修正が発生することが多い
もう一息でAIによる提案を反映するところまでAIにお任せで問題なくなるだろうけど、現状ではまだ人手での反映の方が結局早いことが多いんだよな
2024/12/09(月) 16:14:44.29ID:sn8s4H5G0
たしかにLLMはインデント苦手なんだよな
2024/12/09(月) 19:15:26.73ID:ktJRf3El0
b = b'\x00'

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

TypeError: a bytes-like object is required, not 'str'
なんで駄目なんだろう
411デフォルトの名無しさん (スフッ Sdff-Dl9P)
垢版 |
2024/12/09(月) 20:37:30.69ID:9JwnAf8xd
write
2024/12/09(月) 20:40:31.86ID:gu5LX463H
>>410
そりゃあなた、print()は文字を表示する関数ですから
文字に変換できないオブジェクトを渡すとそうなります
普通にf.write(b)じゃダメなの?
2024/12/09(月) 20:48:18.70ID:ktJRf3El0
"b'\x00'" という文字列に変換してwbする挙動になるのか

textはwrite使わずにprintの方がいろいろ便利だけど、
bytesで便利なことはなさそうだから、普通にwriteだな
414デフォルトの名無しさん (ワッチョイ 67ad-rb3w)
垢版 |
2024/12/10(火) 00:27:38.32ID:YQiWPJG/0
AIに聞けば、おしえてくれる。聞くまでもないんだけど
このエラーは、print関数を使ってbytesオブジェクトをファイルに書き込もうとしたために発生しています。
print関数は文字列を出力するために設計されていますが、bytesオブジェクトを扱う場合には文字列ではなくバイト列として処理する必要があります。
ファイルにbytesオブジェクトを直接書き込むためには、
file.write()メソッドを使用する必要があります。
2024/12/10(火) 00:32:59.18ID:dYoxCOIq0
このへんもperl脳なんだよな
openする時にテキストかバイナリか指定して、
出力はなんでもprint
暗黙で変換が入るとかしない
416410 ではない (ワッチョイ 872a-hkg+)
垢版 |
2024/12/10(火) 09:50:53.98ID:6plb36uZ0
a bytes-like object is required, not 'str'
'str' ではなく、bytes-like オブジェクトが必要

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

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

と読める。
2024/12/10(火) 10:10:38.83ID:ucbgABp/0
いや、その訳の方がおかしいだろ。
2024/12/10(火) 10:34:29.33ID:/OZpuXS/0
pythonで数式処理システム丸ごとパクリました
rustもいるのでモジュールはこっちでできます
というのはpythonの幸運だったんだろうな
419416 (ワッチョイ 872a-hkg+)
垢版 |
2024/12/10(火) 10:53:36.34ID:6plb36uZ0
>>417
そうなの? オレは他の訳を思い付かないのだけど、正しくはどう訳されるべきなの?
2024/12/10(火) 11:00:10.65ID:ucbgABp/0
>>419
スマン。おかしいのは訳でなくて解釈のほう。
421419 (ワッチョイ 872a-hkg+)
垢版 |
2024/12/10(火) 11:45:56.57ID:6plb36uZ0
>>420
正しくはどう解釈されるべきなの?
2024/12/10(火) 20:50:32.76ID:wrcvbyOIH
>>419
その解釈で合ってる
「バイナリ書き込みモードでopenされたファイルなんだからバイナリデータを寄越せ。printじゃstr型データしか来ねえから却下」とPythonは言いたいのだと思う
2024/12/11(水) 00:37:18.02ID:82tZrBQM0
perl脳の方が合ってると思うけどな
個人的には
424デフォルトの名無しさん (ワッチョイ df80-OBL7)
垢版 |
2024/12/11(水) 01:27:21.96ID:bYjfV/I80
>>416
センスの悪いエラーメッセージでも、あとからエラーメッセージを変更すると混乱が生じる。

バイナリーデータをbytes-like objectと呼んだり、テキストデータをstrと呼んだりしているのは、Pythonそのものの言葉のセンスが悪いだけ。
425デフォルトの名無しさん (ワッチョイ 476d-Ahcx)
垢版 |
2024/12/11(水) 07:23:25.72ID:uq+uLBFl0
bytes-likeもstrも妥当でしょ
bytes型やbytearray型などバイト列を意味するもの全般を渡すことができるんだし
実際に渡されたもの (str型) については具体的な型名が分かるんだから、これを「テキスト」のような抽象的な表現にする必要もない

それとエラーメッセージについては過去との互換性は重視されない
言語のバージョンアップの際に、より分かりやすいものになるよう変更されることがある
これは他の言語あるいはライブラリでもそうじゃないかと思う
426デフォルトの名無しさん (スププ Sdff-Dl9P)
垢版 |
2024/12/11(水) 12:05:40.54ID:m05bfKTqd
>>416
君はprintの方にしか目が行ってないからそうなる
bytesを要求してるのはfだ
誤ってprintを使っちゃってるからfにstrがわたってる

>>415 の言う暗黙の変換なんてどこにもない
むしろ暗黙の変換が酷いのはperlの方だ
427デフォルトの名無しさん (ワッチョイ 87db-N88W)
垢版 |
2024/12/11(水) 14:49:10.23ID:A39AeE7U0
自動変換にするかバイナリ1本化でいいとおもうのだが
実装はしらないが
文字列型といっても中身はバイナリで追加でエンコード型が付与されてるだけだろ
プログラムする側が何コードか把握してるか判別機があればすべてバイナリで問題はない
2024/12/11(水) 18:36:44.78ID:z4Opkr7B0
>>426
暗黙の変換はされてる
print関数のリファレンスに書いてある通り

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

多少改善はされたけどPythonのエラーメッセージの品質は所詮こんなものだからプルリクするのでなければ諦めれ
2024/12/11(水) 18:58:38.06ID:qJKCX3/k0
pythonのこの辺りの処理はゴミ
python2との互換性を壊してまでいたのがこれ?って感じ
2024/12/11(水) 22:06:14.26ID:svJ0GfXp0
大体わかっとけばあとは生成AIに任せておけば楽勝だからお前らみたいに細かい勉強してないわ
2024/12/11(水) 23:19:16.57ID:8u2IhVZ40
むしろこういう細かい部分こそAIが苦手で人間が理解しておくべきこと
432デフォルトの名無しさん (ワッチョイ 4781-N88W)
垢版 |
2024/12/12(木) 00:19:29.59ID:Vyvzpldr0
プログラミングガチ初心者なんですけどpython勉強するのに良いサイトとかってありますか?
出来れば無料で使える奴が良いです^^;
2024/12/12(木) 00:22:35.11ID:ztk/OuLW0
つ colab
2024/12/12(木) 00:25:55.25ID:AgOU+GVp0
>>432

kaggleかな
435デフォルトの名無しさん (ワッチョイ 47e7-N88W)
垢版 |
2024/12/12(木) 05:15:27.83ID:Vyvzpldr0
>>434
>>433
thx
436デフォルトの名無しさん (ワッチョイ 87e2-N88W)
垢版 |
2024/12/12(木) 12:07:07.57ID:f9Vwr+H/0
これバグだろ
いまだ治ってないのか
デストラクタで最後にファイル書き込みしようしたらopenが無いみたいな例外出て
この記事のようにimport atexitでできたが


Python: グローバルスコープにあるオブジェクトの __del__() でインポートしたときの挙動について
グローバルスコープにあるオブジェクトの __del__() で別のモジュールをインポートしてるとき、そのオブジェクトがプロセス終了時に破棄されると場合によっては例外になる。 ただし、これは Python の仕様かというとかなり微妙で CPython の 3.x 系でしか同じ問題は観測できていない。
2024/12/12(木) 19:02:13.23ID:EW+16OEH0
>>432
赤ちゃん向け
https://www.python.jp/train/index.html

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

どっちかやれば後はやりたいことに合わせて学べ
2024/12/12(木) 19:43:45.42ID:fFGTBp7j0
https://i.imgur.com/IqiyOaS.png
カオス
439デフォルトの名無しさん (ワッチョイ 672a-blvv)
垢版 |
2024/12/12(木) 20:08:40.63ID:xVVXHqvg0
>>437
Google Colab とかノートブックとか初っ端から謎ワードの連続で無理...
440デフォルトの名無しさん (ワッチョイ 474b-Ahcx)
垢版 |
2024/12/12(木) 22:42:21.01ID:m/Fq7DtI0
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を使わないとこのガイドは役に立たない」ということはないはず
2024/12/12(木) 22:45:32.70ID:fFGTBp7j0
よく知らん世界で変数に値が代入されてもどうでもいいからな
眼の前の細かい問題が解決されないことには何の役にも立たない
442デフォルトの名無しさん (スップ Sdff-4Hmg)
垢版 |
2024/12/13(金) 02:02:43.13ID:HOcX/CPId
馬鹿には無理
これが真実
2024/12/13(金) 06:04:06.54ID:J/ura0hhH
>>442
ところがどっこい
AIの登場で馬鹿でもコードが書ける世の中になりました
むしろITエンジニアは仕様をAIに的確に指示する国語力が問われます
2024/12/13(金) 08:13:08.30ID:PGPdXgeN0
過去に誰かが書いたことのあるコードを真似できるだけなんだけどな
どうせ似たようなことばっかりしてるだけだから、それで足りてしまう訳だけど
2024/12/13(金) 08:36:10.48ID:afuAO8aY0
Googleの2024年の新規コードの1/4はAIによるもの
これからますます増えるだろうな
2024/12/13(金) 08:51:50.46ID:J/ura0hhH
>>444
それでいいのよ
俺ら凡人がPythonで書きたいコードなんて、誰かしら先人が既に書いている
それを検索してコピペして手直しする作業をAIがやってくれるんだ
2024/12/13(金) 08:52:14.17ID:PGPdXgeN0
プログラミングは必須の知識だとして小学校で教え始めても、
ソロバンを教えてるのと同じようなことにならないか
2024/12/13(金) 11:08:31.34ID:p0EgxGbh0
>>446
企業のコードもそうだよな
結局
2024/12/13(金) 11:09:06.66ID:p0EgxGbh0
>>443
あれ国語でもないと思うぞ
別物
2024/12/13(金) 11:13:37.67ID:cFM+ofEq0
AIみたいに考えるスキルだろうね
2024/12/13(金) 11:41:56.11ID:PGPdXgeN0
そんなもんが要るのは黎明期の一瞬だけ
2024/12/13(金) 12:53:49.98ID:afuAO8aY0
cursorは使いこなせるようにならないとな
2024/12/13(金) 13:17:44.88ID:p0EgxGbh0
でもpython使うなら
新しいアルゴリズムを開発したいところ
俺も量子計算頑張る
454デフォルトの名無しさん (ワッチョイ 672a-blvv)
垢版 |
2024/12/13(金) 13:22:17.08ID:DEcGtboS0
>>447
> ソロバンを教えてるの

とは何。寓意が分からない。
2024/12/13(金) 14:10:25.85ID:cFM+ofEq0
>>454
計算機があるのに、ということやろ
456デフォルトの名無しさん (ワッチョイ 672a-blvv)
垢版 |
2024/12/13(金) 14:40:11.81ID:L2Jn8AUB0
>>455
ひとへに風の前の塵に同じ。
ひとへに計算機の前のソロバンに同じ。
ひとへに何の前のプログラミングに同じなの?
2024/12/13(金) 15:23:16.37ID:iO77Ft520
算盤がちゃんとできる人は暗算も得意だから無駄ではないだろ
2024/12/13(金) 15:55:46.77ID:S3vfDw/Zd
比喩が変だとどんどん話がおかしくなっていく
2024/12/13(金) 16:01:13.73ID:owGJr6UZ0
小学生にはプログラミングよりむしろソロバン教えたほうがいいだろうな
460デフォルトの名無しさん (ワッチョイ 672a-blvv)
垢版 |
2024/12/13(金) 16:55:13.59ID:L2Jn8AUB0
>>447
プログラミングは必須の知識だとして小学校で教え始めても、句読点を教えられても打てないお前らと同じようなことになるの?
461デフォルトの名無しさん (ワッチョイ 27a0-tB0+)
垢版 |
2024/12/13(金) 17:29:42.67ID:LAtQrsJV0
サイコパスの脳の違いを発見。一般の人に比べ線条体が大きいことが判明
karapaia.com/archives/52313287.html
462デフォルトの名無しさん (ワッチョイ a78e-4Hmg)
垢版 |
2024/12/13(金) 17:50:30.57ID:Uo55RvL40
>>443
馬鹿は何をどうすれば良いかすらわからんから無理
2024/12/13(金) 18:46:30.02ID:afuAO8aY0
それすらAIが出してくれる
464デフォルトの名無しさん (ワッチョイ 67ad-rb3w)
垢版 |
2024/12/14(土) 00:32:10.18ID:+/8ziscy0
AIに結果だけでなく 云々って やり取りしてたら
それが大事なことですって返されたw
2024/12/14(土) 03:24:41.72ID:pcjhhzVc0
現状は頭の悪い人が使いこなせるものではない
コードを生成する以上は当然何かしらの結果を求めるわけでそれが正しいかどうかはAIにもわからない
その関数が正しく動いても仕様を正しく満たしているとは限らないのだから
466デフォルトの名無しさん (ワッチョイ a78e-4Hmg)
垢版 |
2024/12/14(土) 03:37:00.65ID:SXm2TFHi0
>>465
>>463みたいな何が正しいかわからない馬鹿にはありがたがられている
2024/12/14(土) 07:07:26.39ID:o7zY5DjZ0
自動翻訳と似たようなもんで
書けないけど読める程度の能力は無いと、合ってるのか全然判らん

コードならテストも一緒に生成させて、保証済みにすることはできるけど、
今度はテストが正しいのかどうかが判らん
2024/12/14(土) 08:28:56.06ID:9RGS76CaH
自分で書ける人が楽するために使うのが効率いいね
書いてもらったコードに容赦なく突っ込みを入れて謝らせるのが快感
AIは人間と違っていくらダメ出ししてもへこたれたりコンプラ窓口に通報したりしないからな
469デフォルトの名無しさん (アウアウエー Sa9f-zpgV)
垢版 |
2024/12/14(土) 09:51:34.26ID:vNvVxWyEa
>>460
日本語には本来句読点は存在しないと教わらなかったのかおまえ
2024/12/14(土) 09:55:50.05ID:wREWJB/g0
>>469
何いってんだこいつ
471デフォルトの名無しさん (ワッチョイ 672a-hkg+)
垢版 |
2024/12/14(土) 10:30:09.42ID:MlLEwa0c0
>>469
どこまで進歩を否定できるかね。
・プログラム言語にPythonは存在しなかったと教わったので、アセンブリで記述する。
・ソフトウェアは存在しなかったと教わったので、ハードウェアで実現する。
・火を使わなかったと教わったので、生肉食って凍死する。
2024/12/15(日) 00:12:19.08ID:cAhZdgHB0
CPythonってコードの処理部分にエラーメッセージ個別に直書きしてるよね
えぇんかこんな作りで
473デフォルトの名無しさん (ワッチョイ 8fd2-sJMA)
垢版 |
2024/12/15(日) 11:36:58.09ID:kWIS2Vi/0
ライブラリなんかは大多数がそうやろ
Python以外の言語を含めても
UIのラベルとか、多言語対応が必要とか、そういうものでなければエラーメッセージは直書きでも基本的に問題ない

どこかでメッセージ一覧を定義して、それを各所から参考して……ってコードサイズが不必要に膨らむだけ
条件の直下のメッセージは確認しやすいけど、参照だとその先に飛ばないと内容を確認できないし、エラー理由とメッセージが合ってないなどの問題に気付きにくくなる
474デフォルトの名無しさん (ワッチョイ 8fd2-sJMA)
垢版 |
2024/12/15(日) 11:43:59.49ID:kWIS2Vi/0
同じソースファイルやモジュール内でならダブりを減らすために参照する、ということはあるけどね
その辺はある程度柔軟にして良いと思う
2024/12/15(日) 13:39:42.12ID:2ocAHxOm0
プログラムの理解は必要だけど
生成AI活用したらめちゃくちゃ生産性あがるね
いい時代だ
2024/12/15(日) 14:27:49.00ID:1H80RXIX0
細かいif文の条件設定とかまだ間違えて出してくるけど大枠の処理の流れとかは俺より速く賢いの出してくる
2024/12/15(日) 14:42:09.12ID:qMlmNzBuH
とりあえず大雑把でも動くものをサッと出してくれるのが本当に助かる
あとはテストしながら煮詰めて行けばいい
自分で一から書くと調べものだけで一日潰したりとかザラだからな
2024/12/15(日) 14:45:31.08ID:UyD9zs/g0
「コードを生成する」レベルだと俺たちの生産性が上がる程度のことなんだよな
もっと大きな視点で生成AIを語らなきゃ
「サービスを作る」
とか
「アプリを作る」
という時点で見ると今の生成AIはまだまだ物足りないね
進化の余地はまだまだある
2024/12/15(日) 14:47:13.51ID:2ocAHxOm0
プログラムとデータベースとサーバーのスキルがあれば
大抵のものは一人で作れるね
これからの時代、発信力とアイデアで勝負ですね
2024/12/15(日) 15:04:49.94ID:sTMTjc6t0
データベースとサーバーに関するものしか作れない
webアプリが作りたいならwebの知識が要るし、
ハード制御したいならハードの知識がいる
2024/12/15(日) 16:20:28.80ID:A5eyIB7V0
よそでやってるサービスを丸ごとパクってくるのがコンサルの仕事だったがこれがなくなったな
新しいものは誰にとっても大変

美術界芸術界デザイナーと同じことやな
パクリが偉そうにして必死で周りから盗んでる
2024/12/16(月) 09:24:58.90ID:EgTWSdxB0
re.searchがコンパイルしても速度でperlに負けるなあ
2024/12/20(金) 08:34:56.68ID:6q6MnR150
pypyってずっと「ぴぴー」だと思ってた
ぱいぱいなのね、エロい
484デフォルトの名無しさん (ワッチョイ eb78-RqoG)
垢版 |
2024/12/20(金) 15:29:58.94ID:raronLtC0
JAIST、「並行量子通信プロトコル」の完全な自動形式検証を実現
http://news.mynavi.jp/techplus/article/20241220-3090485/
485デフォルトの名無しさん (アウアウエー Sae2-N2kD)
垢版 |
2024/12/21(土) 10:55:16.63ID:bIHzWCsda
会員登録しないと読めないようなサイト貼るなよ
2024/12/21(土) 12:25:00.73ID:pwsLuBo50
そいついつもクソみたいな記事貼るからmynaviでNG登録しとくといいぞ
2024/12/21(土) 12:36:49.56ID:1IkBy+Fi0
そこは別にいいんちゃう
2024/12/22(日) 05:10:00.65ID:mtwx2rsP0
>>487
2024/12/22(日) 09:51:07.98ID:q6RAF36e0
マイナビ登録してみたけど、いろいろ作りの甘いサイトだな
ログインしないつもりだったのにログインしている
ログアウトが見つからない
サイトから移動しますかの確認がいちいち出る
必要条件が満たされないとボタンが押せない仕組みになっていない
ユーザーのアイコンに1の表示が出っぱなしで何のことか判らない

あまりIT技術に詳しくない人が作ってる
2024/12/22(日) 11:10:04.97ID:xPymu+XWM
個人情報お漏らししてるし
IT関連の会社ではないだろ
491デフォルトの名無しさん (アウアウエー Sa93-+sBl)
垢版 |
2024/12/22(日) 12:07:50.65ID:gGsgW1AHa
>>489
まるでQiitaやFacebookやXだな
2024/12/22(日) 12:26:42.74ID:q6RAF36e0
やっとログアウト方法見つけた
再ログインすると、ページが見つかりませんと表示される

会員アイコンをクリックするとマイページの階層に飛ぶのが本来の筈なのに、
その下の登録情報変更に飛んでそこから戻れない
493デフォルトの名無しさん (アウアウエー Sa93-+sBl)
垢版 |
2024/12/22(日) 12:35:12.03ID:gGsgW1AHa
ただのバグ報告はスレチ
2024/12/28(土) 10:13:29.12ID:3GhbGw0k0
PythonというよりはQtの話かもしれんないけど、PySide6を使ってるのでこちらで質問
ウィンドウ内にあるウィジェットの枠をドラッグで調整したいときの方法が分からないです

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

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

参考になるサイトやサンプルがあると助かるのですが、どなたかご存じの人がいたら教えてくださいm(_ _)m
495デフォルトの名無しさん (ワッチョイ 81ad-e8Ha)
垢版 |
2024/12/28(土) 15:14:32.69ID:+wr15D9A0
QSplitter を使う
AIに聞くにはこんな感じで
'PySide6 一つのフォームに 2つのwindow領域を作る例 左右の並びで
領域はサイズ調整可能'
2024/12/28(土) 20:36:02.31ID:3GhbGw0k0
>>495
サンクス!
Qt Designerでそれらしいコンテナが見つからず、slideとかで検索してもQSliderとか出てくるし、困ってた
Qt Designerでスプリッターを使うには、ウィジェットを選択して右クリックからなのね
これでGUIアプリの作成にチャレンジできますわ
AIも参考になりました
497デフォルトの名無しさん (ワッチョイ 3e46-8EYK)
垢版 |
2025/01/01(水) 22:16:25.37ID:1GuC2YKw0
pipとかpoetryからpyPI繋がんねーな
2025/01/04(土) 00:22:28.05ID:72xSf60h0
字幕表示してて、長さが画面幅を超えたら改行したい
プロポーショナルフォントで全角半角入り混じった表示幅なんか、
どうやったら取得できるだろう
499デフォルトの名無しさん (ワッチョイ dbad-JGez)
垢版 |
2025/01/04(土) 01:01:54.24ID:PFHZ5xFT0
True Typeフォントの使う文字の座標系を引っ張りだしてきて
その最小と最大の座標を取得して、フォントサイズのポイント相当のドット幅を計算する
使うすべての文字を1文字ずつ計算
って やればできるが現実的でない...よね
単純に 12ポイントが16x16ドットで計算するとか
2025/01/04(土) 01:21:50.54ID:M4FF0WkE0
カーニングとか考えないならそうなんだろうな
501デフォルトの名無しさん (アウアウエー Sa52-fscC)
垢版 |
2025/01/04(土) 10:12:43.18ID:9AJmtK0Pa
>>498
Windowsなら表示される文字列全体の表示幅を還すAPIがあるのでそれを使う
pythonだけで適当にやるなら実際に描画する前に表示されないメモリDCに先に描画して
背景と比較してどこまで描画されたかを調べて表示幅を取得すれば良いんじゃね
502デフォルトの名無しさん (スプッッ Sdca-Qywu)
垢版 |
2025/01/12(日) 00:27:05.77ID:dTcIHoiJd
角括弧[T]構文とかなんか汚ねえな
ジェネリックだのアノテーション方面から汚れてきてるな
すでにPerlより汚いのでは
前方参照とか__init__()だの
2025/01/12(日) 20:36:54.45ID:jie/PZI00
内包表記の書き方は覚えてても、内包表記という名称をいつも忘れる
504デフォルトの名無しさん (アウアウウー Sa91-HZB4)
垢版 |
2025/01/13(月) 13:34:17.99ID:g4/CTboDa
うbyよりはマシだよ
2025/01/13(月) 18:30:48.03ID:yjxCA/ti0
comprehensionの、もっと良い訳はなかったのか
2025/01/13(月) 18:40:00.54ID:2a7ZU6nP0
python初めて触れたけど、インデントが判断、ループブロックの意味を持つってクソすぎだろw
やっぱ、レス見ると同じ様に思ってる奴多いな。
どうしてこうなったw
2025/01/13(月) 20:43:50.82ID:0Vj63HhM0
インデント自体はクソだけど平易に書くように働く点で有能
そういう要素が多い
lambdaもそうでdefで書くようになる
2025/01/13(月) 21:00:08.60ID:S0OuVEz70
行内ではフリーフォーマットだけど、行頭のインデントだけは厳密
という態度豹変に面食らうんだよな

まあ、インデント間違ってても許される言語の方が実害多い
509デフォルトの名無しさん (ワッチョイ 862a-Zdzc)
垢版 |
2025/01/14(火) 08:11:01.41ID:SrCf5X7D0
>>508
> 行内ではフリーフォーマット

がよく分からない。
2025/01/14(火) 08:32:04.72ID:KhgfrG4BM
カラム位置まで指定されている RPGとかを想定しているんじゃね?
しらんけど
511デフォルトの名無しさん (ワッチョイ 1dae-fuva)
垢版 |
2025/01/14(火) 14:34:05.45ID:i6PsXw8T0
Pythonでスクレイピングの質問よろしいでしょうか。

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

お試しされた方がいらっしゃたら、コメントいただけると幸いです。
2025/01/14(火) 15:00:45.78ID:pTMFifAu0
アクセス制限されたなら使うべきじゃないんでは
大陸人の思想だな
2025/01/14(火) 15:52:41.71ID:49OmJo2t0
別に大陸とか関係なくクズはクズよ
最低賃金の仕事してからそう思うようになったわ
話がそれたけどブロックされてるならただのクラッキングだから辞めとけってのが答え
2025/01/14(火) 15:53:47.83ID:49OmJo2t0
クラッキングだから辞めとけ
2025/01/14(火) 19:43:05.09ID:VlX9UfuO0
堂々と違法行為の相談するとかおそろしい
2025/01/14(火) 19:50:11.75ID:6TReUIVg0
IPローテーションが有効かどうかはpython関係ないしな
517デフォルトの名無しさん (スップ Sdca-Qywu)
垢版 |
2025/01/14(火) 20:04:54.54ID:4a6i7DXld
今後はblackみたいな完全に機械的なフォーマットに従って書くようになっていくんだろ
ぱいちょんって
2025/01/16(木) 08:53:44.52ID:vHBJCVRy0
とはいえ皆カスタムするから結局バラバラなフォーマットになる
デフォルトの1行88文字制限とかアホすぎるし
2025/01/17(金) 10:42:50.01ID:w4z8H3gJ0
今更だが、本屋のコンピュータ関連書籍のトコ、
Python入門書が狂い咲きだね。
敷居が低くなるのは良い事だけど。
520デフォルトの名無しさん (ワッチョイ 862a-Zdzc)
垢版 |
2025/01/17(金) 10:53:59.70ID:eoeaxZuy0
>>519
君も著作したまえ。内容なんてどれもチュートリアル丸写しだ。
2025/01/17(金) 11:09:19.33ID:lUhfcPef0
リスト内包表記は数学の集合の内包的表記から来ている
内包的表記は外延的表記と対になる概念で、要素を列挙するか、要素の特徴で表すかの違い
内包的表記は定義域と命題関数から構成される
{x∈R | 2x}
こう書くと定義域がRで、命題関数が2x
Rに含まれるxに対して、2xで評価されるもので構成される集合

同じことをリスト内包表記で書くと、
[2*x for x in R]
になる
定義域と命題関数の順序が逆なのは、'for' というキーワードの意味と合わせる為だろう
2025/01/17(金) 11:41:18.37ID:lUhfcPef0
仮に数学と同じ順序で書くと
[x in R | 2*x]
[x in R such that 2*x]
[x in R s.t. 2*x]
こんな感じになっていただろう
言語仕様として微妙なので却下したけれど、
such that抜きでいきなり命題関数が現れるので、読んでも意味が判らなくなった
2025/01/17(金) 14:52:11.51ID:lUhfcPef0
2*xといきなり書く時点でxは初登場なので、普通に考えるとNameErrorになる
後で出てくるx in Rのxだよと言われても、そこだけ文法が歪んでいる
for x in R に対して 2*xのリストを作る、という順序で読めた方が明らかに判りやすい
2025/01/17(金) 16:46:49.13ID:Ik5FlFRf0
間違い。命題関数ってのは平たく言えば条件のことで、Pythonの内包表記のif節に相当する。
例えば [2*x for x in R if x < 5] は数学の内包表記では {2*x | x ∈ R, x < 5} と表記する。同じだろ?
2025/01/18(土) 08:37:19.38ID:naGWW37A0
seleniumはパスワードとかcookieを保存するとかより、
profileそのものを保持した方が無敵だったけど、
何かの拍子にprofile無効になっちゃうな
2025/01/18(土) 10:43:38.07ID:0UqLKpkd0
いまさら selenium
527デフォルトの名無しさん (ワッチョイ bef1-B4N5)
垢版 |
2025/01/18(土) 16:09:23.54ID:wtp0JU6d0
英文テキストを入力として,ロンゲストマッチ,というか,最長の部分列を探すプログラムを書きたいのだが,CだとPrograming Pearlsのコラム15にあるのでいいのだが,そのままだとpythonに乗らないし,何かいい方法はないかなあ.
2025/01/18(土) 16:19:53.66ID:FL3+FJ2v0
いうほどいまさらか?
なんかいい代わりになるものある?
2025/01/18(土) 16:30:43.24ID:BqhOY8myM
>>527
それそのまんまAIに聞けばいいよ
手元でGemini 2.0 Experimental Advancedに聞いてみたら見事な回答をくれたぞ
2025/01/18(土) 16:38:42.51ID:8uvwUc2N0
課金できないんだろ
察してやれ
2025/01/18(土) 17:32:09.61ID:vWHjWIZo0
>>528
Playwright とか?
2025/01/18(土) 19:20:33.75ID:FL3+FJ2v0
>>531
良さそうだな
試してみるわ
533デフォルトの名無しさん (ワッチョイ 43ad-4fJb)
垢版 |
2025/01/19(日) 00:35:41.94ID:WuaBvw6S0
文字列なんて、正規表現を使えば、最長一致・最短一致なんて簡単にできるのでは?
2025/01/19(日) 00:58:15.54ID:GNlIXdkj0
単純に文字列を探すなら最長も何もない訳で
最長と言ってる時点で正規表現のワイルドカードが前提なのでは
2025/01/19(日) 01:07:38.45ID:aE0XKMyP0
2つの文字列に共通する最長の部分文字列を探すやつでしょ
2025/01/19(日) 01:20:41.36ID:npat2aPV0
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”が答え
2025/01/19(日) 18:08:17.85ID:LhzIGXPA0
ここで質問するのとgeminiとかcopilotに質問すんのどっちが効率いいかな?
2025/01/19(日) 18:20:45.02ID:GNlIXdkj0
そもそも質問スレではない
539デフォルトの名無しさん (ワッチョイ cf2a-wVPw)
垢版 |
2025/01/19(日) 18:42:00.94ID:QRrLEXGb0
お勉強スレで質問するなとは無理すぎ。
2025/01/20(月) 01:08:32.20ID:BsvendGF0
pyscriptって最近どうなの?
js苦手だから当初は期待してたんだけど
2025/01/20(月) 15:05:27.82ID:7WH6y8fWM
最近もクソも今も昔もこれからもオモチャであり実用するようなものではない
js書きたくないならpythonで書いて翻訳してもらえばよい
2025/01/20(月) 20:50:18.86ID:uBkCdSeR0
その手のは大体アホが始めてやってるうちにアホらしくなって開発が止まる
Jythonとかね
2025/01/20(月) 21:03:17.22ID:6bfYmu3O0
pythonで書くのは簡単に書きたいという要求があると思うけど、
簡単に書きたいと厳密に書きたいは相反するので、
大抵は徒花言語として散っていくんだよな

pythonが意外と厳密な用途にも使えるのは、バランスが良かったのだろう
544デフォルトの名無しさん (ワッチョイ a3dc-rbLX)
垢版 |
2025/01/20(月) 22:50:09.23ID:08Nyz7B30
簡単に書けない言語って何?
2025/01/20(月) 22:55:39.50ID:6bfYmu3O0
C++
546デフォルトの名無しさん (アウアウウー Saa7-C2Lh)
垢版 |
2025/01/21(火) 08:23:31.58ID:yRL5l1cZa
rubyっぽい文法が売りのナントカとscriptでjsにするのもあったな
名前も忘れちゃったよ
547デフォルトの名無しさん (アウアウウー Saa7-C2Lh)
垢版 |
2025/01/21(火) 08:25:23.93ID:yRL5l1cZa
coffeescriptだ思い出した
2025/01/21(火) 11:52:18.11ID:gA/FmHct0
>>543
はえ~勉強になるぅ
549デフォルトの名無しさん (ワッチョイ 6ff8-Jbvc)
垢版 |
2025/01/21(火) 12:02:24.94ID:ZMbV0RT+0
やりたいことがやりたいように出来るのはC++
550デフォルトの名無しさん (アウアウエー Sadf-C2Lh)
垢版 |
2025/01/22(水) 15:36:19.34ID:3ss9Z0B7a
やりたいことがやりたいように出来るのはC
2025/01/22(水) 16:41:12.84ID:rqHpU9Ud0
C++に気に食わない機能や作法があっても
使わずに独自で書けばええんよ
552デフォルトの名無しさん (アウアウエー Sadf-C2Lh)
垢版 |
2025/01/23(木) 10:18:36.86ID:MfXmmgFNa
C++の要らない機能を無理に使わず
BetterThanCとしてCの範囲で使っておくのが正解
553デフォルトの名無しさん (ワッチョイ 2391-VyPR)
垢版 |
2025/01/23(木) 17:36:52.16ID:zJefYyzo0
拷問現在の日本でもある
https://nazology.kusuguru.co.jp/archives/168908
2025/01/24(金) 20:46:41.96ID:AnpieBwS0
forでリストを処理するときに
そのリストから値をremoveすると次の値が飛ばされる
その対策として
for i in tuple(リスト名):
としてタプルに変換して問題解決はしているのだけど
王道的な別な解決策ってある?
2025/01/24(金) 21:01:24.34ID:g+2OlWgu0
別のコピーなら何でもいいんでしょ
2025/01/24(金) 21:59:09.40ID:oJDbtKku0
王道は破壊的な処理をせずフィルタ動作にする
必要なら元の変数にアサインし直す
2025/01/24(金) 22:02:58.75ID:g+2OlWgu0
文脈が判らんけど、リストを条件に合うように作り直すなら、
あるべきリストを別に生成して、完成したら元のリストを更新するかな
2025/01/24(金) 22:24:39.69ID:CNUIUSvw0
リスト内包表記でいいじゃん
関数型言語的に書いた方がいいよ
forは使うところない
2025/01/24(金) 22:42:35.20ID:Js6GMDZG0
>>554
王道はin-placeで削除しようとせずにフィルターして削除済みの新しいリストを生成する
(Pythonでフィルターするときはcomprehensionを使うのがデフォ)

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

↓これはO(n)でいいところをO(n^2)で処理してるからNG
for i in tuple(リスト名):
 if predicate(i):
  リスト名.remove(i)
2025/01/24(金) 22:47:32.12ID:rKtZO0PM0
文が必要な場合には内包表記では書けないでしょ。
561デフォルトの名無しさん (アウアウウー Saa7-LZB9)
垢版 |
2025/01/24(金) 22:51:11.07ID:CUf3ZumHa
忌み数字を踏ませる業者、アプリ、コンピュータプログラムの嫌がらせ

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

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

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

40、42、44

56(殺)、64(無視)

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

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

このような数字と名前や生年月日、IDなどを組み合わせて執拗に強調することで、精神攻撃をする業者やストーカー、嫌がらせ組織がキモい。
2025/01/24(金) 22:51:58.63ID:Js6GMDZG0
関数化するだけでしょ。
2025/01/24(金) 22:53:05.01ID:g+2OlWgu0
王道がわらわら出てくるっていう
2025/01/24(金) 22:57:24.27ID:oJDbtKku0
>>560
それよね
各操作を関数化したところで、短い=簡潔で分かりやすいとは限らない
デメリットもあるけどコロンとインデントで見通しよく書けるのも強み
2025/01/24(金) 22:59:26.00ID:rKtZO0PM0
内包表記は便利だけど、内包表記で書くためだけに関数を作るのは個人的にはちょっと嫌かな。そこはfor文と適宜使い分ければいいのでは。
2025/01/24(金) 23:07:41.94ID:g+2OlWgu0
わかりやすさの為なら何でもする
内包表記も関数化も抽象化でありわかりやすさ
説明変数もばんばん使うべき
2025/01/24(金) 23:44:28.59ID:bnSBcaeW0
>>554です
書き方が悪かったようですいません
リストの値をフィルターしたいのではなく
リストの値で処理した結果で削除が発生する処理をしています
実際は画像名のリストで画像判定をして
その結果で様々な処理をしているのですが
その処理の一つが削除というものです

>>559
逆回しは思い付きませんでした
削除しても飛ばされず処理出来ますね
2025/01/25(土) 00:01:16.03ID:JgWImGBF0
>>567
>リストの値で処理した結果で削除が発生する処理をしています
mapしてfilterしてるのと同じことでは?
2025/01/25(土) 00:28:58.11ID:PCXbr1vN0
>>567
日本語が意味不明だからコード出せよ
2025/01/25(土) 00:33:36.06ID:YBOPAb6b0
コード出せを悪口だと思ってるな
お前の母ちゃんコード出せ
2025/01/25(土) 01:04:29.61ID:ta403zjD0
結果保存用に空リストを作って、そこに加工後の画像だか画像名だかをappendしていくみたいな原始的なやり方ではダメかな?
2025/01/25(土) 02:05:52.81ID:PCXbr1vN0
なぜそこまで頑なにコードを出したくないのか理解不能
573デフォルトの名無しさん (アウアウエー Sadf-C2Lh)
垢版 |
2025/01/25(土) 15:55:30.71ID:9QNSyzV2a
逆回しは良くやるけど万能ではない
2025/01/25(土) 16:15:16.97ID:kYeOXsrBM
そもそもオリジナルのリストの削除をバックワードに進めないとおかしくなるのは自明だろ
なんで先頭から消す必要あるの?
2025/01/25(土) 16:22:51.45ID:YBOPAb6b0
表が巨大でコピーなんか作ってられないなら仕方なく対象そのものをいじるけど、
その場合は削除するだけでも大変なので、やっぱりいい方法ではない
2025/01/25(土) 17:05:22.09ID:I/LFBEOt0
逆回しにしたところでリストの場合は途中の要素を削除したらそれ以降の要素(のポインタ)をコピーして詰める必要があるから非効率なんだよね
2025/01/25(土) 17:19:09.28ID:YBOPAb6b0
どう考えもバグりやすいし、大丈夫だと判っても他人や未来の自分は不安だし、
理解するのも時間かかるし、何もいいことがない

時間がかかったとしても、判りやすく堅牢な方法で書いて、
速度で困った時に初めてトリッキーな方法を検討する
2025/01/25(土) 19:02:59.44ID:ue9pmKTV0
for i in original_list[:]:
some_process( i )
みたいな感じでやるんじゃなかったっけ。

特に問題がないケースなら、
res = []
for i in original_list:
some_process( i )
と新しいリストを作ってsome_processの中で適宜res.appendする方が分かりやすいかなと思う。
2025/01/26(日) 00:49:53.92ID:tS9IC3AC0
ソースが巨大なら印だけつけてあとで一括削除
2025/01/26(日) 08:01:06.06ID:W6rEvGvT0
対象を直接操作して一括で削除するアルゴリズムってどんなの
581デフォルトの名無しさん (アウアウエー Sa52-FFa5)
垢版 |
2025/01/28(火) 10:16:11.80ID:dqvH8r5Ca
循環参照ありのRCGC
2025/01/28(火) 10:44:41.07ID:jWrC9Jca0
それリストの話じゃなくなってるやん
2025/01/28(火) 16:47:42.00ID:GmSjCRuqd
去年poetryでやってたけど
uv圧倒的に速いな
2025/01/30(木) 17:48:17.31ID:VLQDVSyo0
光る君への公式ホームページが31日で消去されるから保存したい
シンプルだしwgetでいけるかと思ったら表示にjavascript使ってるから
それのせいで保存できなかった

調べていくうちにpythonとヘッドレスブラウザを利用する方法があると知った
しかし、プログラミングのプの字もさっぱりです。pythonも昨日インスコしたばっかり
pythonとヘッドレスブラウザを利用した方法、解説されているようなサイトやヒントご存じでしたら教えてください
2025/01/30(木) 18:08:53.47ID:+zNA14SN0
まるっとローカルに保存してくれるツールを買え
2025/01/30(木) 18:13:37.22ID:x7iBFXJ9d
>>584
https://ja.m.wikipedia.org/wiki/波乗野郎
2025/01/30(木) 18:14:18.23ID:x7iBFXJ9d
>>584
PerMan Surfer 波乗野郎でごっそり保管
https://ja.m.wikipedia.org/wiki/波乗野郎
2025/01/30(木) 18:27:40.22ID:lxoi8Hgj0
HTTrackのProxyTrackつかうのがええんでは
2025/01/30(木) 19:59:08.37ID:rlxtAv1y0
画像だけ全部落としたい、みたいな時も大抵は汎用ツールは使えなくて、
サイト毎に特化したのを作るな

サイトまるごとだとさらに難易度が上がる
リンク先は含めるのかみたいな判断付かない問題が出てくる
外部サイトは含めないとしたくても、ページの内容が複数のサイトで構成されてたりする
590デフォルトの名無しさん (アウアウエー Sa52-FFa5)
垢版 |
2025/02/01(土) 12:23:22.67ID:Dm0gVBeEa
imgタグもファイル名とかじゃなくてbase64で展開されてたりするよな
591デフォルトの名無しさん (ワッチョイ 3f3d-ZuVD)
垢版 |
2025/02/03(月) 09:45:21.23ID:gwlnb/NB0
data1からdata2に変換したい。
data1=b'Z\x00V\x00-\x00E\x001\x000\x00\x00'
data2="ZV-E10"

data1はバイナリデーターで元はtcpのパケットの一部。
(英数+x00) (英数+x00) (英数+x00) ・・・・
というふうになってる。
2025/02/03(月) 10:56:25.39ID:CGp2zuw30
変換したいのならすればいいじゃない
593デフォルトの名無しさん (ワッチョイ 3f3d-ZuVD)
垢版 |
2025/02/03(月) 12:03:25.53ID:gwlnb/NB0
>>592
どうやって?
2025/02/03(月) 12:46:11.42ID:eVgE9/na0
https://docs.python.org/ja/3.13/library/stdtypes.html#bytes
bytesはバイトのシーケンスだから好きにすればいいけど
一見UTF-16LEにもみえるから
data2 = data1.decode('utf-16le', errors='ignore')
でもいけそう
2025/02/03(月) 12:46:55.10ID:CGp2zuw30
えー
置換すりゃあいいじゃん
文字列短いかいならsplit/joinでもまあいい
2025/02/03(月) 12:48:55.52ID:CGp2zuw30
たよねー
俺もnull終端させたutf16-leだと思う
ignoreせずにstripしてからdecodeかな
597デフォルトの名無しさん (ワッチョイ 3f3d-ZuVD)
垢版 |
2025/02/03(月) 14:44:29.24ID:gwlnb/NB0
>>594
THXです。
できました。
2025/02/03(月) 15:00:49.10ID:eVgE9/na0
596さんが書いてるけどignoreだと不正なシーケンスに弱いから
末尾0か確認してスライス[:-1]で削るのが手堅いよ
安価なかったので心配
599デフォルトの名無しさん (アウアウエー Sabf-J/8e)
垢版 |
2025/02/04(火) 12:24:19.84ID:AbihjpY6a
data1=b'Z\x00V\x00-\x00E\x001\x000\x00\x00\x00'
じゃないのは何故なんだぜ
600デフォルトの名無しさん (ワッチョイ 3f86-vucM)
垢版 |
2025/02/04(火) 19:51:38.43ID:Nh0/7bRn0
Google Colaboratoryで自動でカッコやシングルクォーテーション、ダブルクォーテーションを閉じてくれるのはいいのですが
改行するのに右小指を右矢印まで移動させるのが面倒くさいです
この機能を有効にしながらタイピングのホームポジションから極力指を動かさずにプログラムを改行する方法はどういったものがありますか
2025/02/04(火) 20:02:33.96ID:Q6BV74Me0
ダイヤモンドカーソル
2025/02/04(火) 20:05:48.54ID:Yb/oB3W3M
wordmasterですね?
2025/02/04(火) 20:15:46.13ID:bltbnC560
キーボードショートカット表示させたら発見多い
vimバインドがあるのにも気づける
2025/02/04(火) 20:16:37.26ID:Q6BV74Me0
capsキーをモディファイア化して、カーソルとpgup/dn, home, end, ctrl-home, ctrl-end
なんかをそのへんのキーにアサインすると便利
ctrlなんかにするのはもったいない
605デフォルトの名無しさん (ワッチョイ cf3e-fK0e)
垢版 |
2025/02/05(水) 12:03:09.56ID:0aVaPzHU0
textwrap --- テキストの折り返しと詰め込み
https://docs.python.org/ja/3.12/library/textwrap.html

標準ライブラリにこんなモジュールあったの初めてしった
606デフォルトの名無しさん (アウアウエー Sabf-J/8e)
垢版 |
2025/02/05(水) 14:41:00.30ID:RWIQAOlpa
ctrl+J ctrl+M
2025/02/05(水) 18:14:35.27ID:d15iAK/y0
WindowsだとCtrl+EやCtrl+Aは動かないんだっけ?
2025/02/05(水) 18:53:32.47ID:dNg2S/kf0
アンダースコア2個の変数って
VSCodeのデバックでも見えなくなるんだな
そこは値みせろよ
2025/02/05(水) 21:07:19.31ID:4wonhmBO0
https://www.deback.be
選択肢にないからドイツ語圏は弱小なんだな
学びがある
610デフォルトの名無しさん (ワッチョイ 63c4-SXYI)
垢版 |
2025/02/09(日) 17:06:41.88ID:cm7GCNiQ0
スレッド処理できんぞこのポンコツ
2025/02/09(日) 17:14:28.12ID:tUOkxeUe0
ThreadPoolExecutor使えば簡単に実装できるだろ
GIL無効のはまだ試したことないけど
2025/02/09(日) 22:07:58.46ID:DVKKH7160
enumerate()はindexが追加される、と覚えてるから、
indexを2番目にしてしまうという間違いを繰り返す

大抵は、for val in array: と書いてて、
indexが必要になって追加すると思うので、
前に挿入という変更にも抵抗がある
2025/02/09(日) 22:42:27.28ID:1H3Dm2g50
使い勝手からするとindexは先頭であってんだけど
tupleやなくクラスだったらよかったかな
挿入という感覚はないな
2025/02/10(月) 09:56:50.77ID:JMZMJPbu0
items() が key, valueの順で渡してくるのは納得なんだよな
enumerate() も意味的には似てるんだけど、
dictはforで読んだらkeyが返るけど、listは中身だしな

まあ、複数同時に返して順番意識しないと間違う仕様が全部悪
2025/02/13(木) 17:02:51.99ID:uy7D7eTZ0
windowsでリアルタイムで画像を描かせるとウィンドウが反応なしになる
最初pygameで作って、Pyxelでも駄目で、matplotlibも駄目だった
どう見ても原因はwindows側なんだけど、どうやったら回避できるんだろう
2025/02/13(木) 17:53:45.53ID:iuf/njBUM
メッセージキューの状態は?
2025/02/13(木) 18:21:00.45ID:gV1L3zya0
型ヒント、どうやって書くとおK?

>>> a:int, b:int = 1, 2
File "<stdin>", line 1
a:int, b:int = 1, 2
^
SyntaxError: invalid syntax
2025/02/13(木) 18:50:18.04ID:UcNEd134M
>>617
そういう書き方しなければならない理由ある?
619デフォルトの名無しさん (ワッチョイ 232a-6f6K)
垢版 |
2025/02/13(木) 20:34:08.66ID:gV1L3zya0
>>618
そういう書き方とは何を指したの。
書き方がおかしいので、正しい書き方を質問した。
2025/02/13(木) 21:07:07.34ID:1OgGkneUp
二ついっぺんに?
2025/02/13(木) 21:41:07.46ID:uy7D7eTZ0
def func(a:int = 0, b:int = 0): # OK
a, b = 0, 0 # OK
a:int = 0, b:int = 0 #NG

ということだな
2025/02/13(木) 23:08:28.29ID:FScSEbGI0
>>619
回答がでてるから(俺は確認してない)
気にしてないと思うけど
コードは手段であって目的ではない
エラーが出てよくわからないなら別の方法探すのが合理的だろ?
2025/02/13(木) 23:20:12.60ID:uy7D7eTZ0
a, b = 0, 0
のケースは、
(a, b) = (0, 0)
というタプルへの代入の省略形だと思うので、
関数定義の引数の列とは本質的に別物

タプルだと思って書くと、
(a:int, b:int) = (0, 0)
これが文法的に許されてるかという個別の話になって、
単純にタプルに型アノテーションは書けません
という誤りに帰着する
2025/02/13(木) 23:39:49.88ID:3i0teOTZ0
>>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
2025/02/13(木) 23:48:39.44ID:3i0teOTZ0
変数の数が多かったりアノテーションが長かったりするのであれば
一旦1つの変数で受けといてからunpackすればいいんじゃないか思う
style guideとかでこの辺りが確立されてるやつがあるのかどうかは知らん

xs: Tuple[Optional[int]] = 1, 2, 3
x, y, z = xs
2025/02/13(木) 23:50:55.54ID:uy7D7eTZ0
a:int = 0, b:int = 0
だと何が不味くてエラーにしたのか、ピンとこないな
誤解の余地はどこにもないと思うけど
2025/02/14(金) 00:40:32.45ID:itWJ0HMk0
文法規則に沿ってないからエラーになってるだけでしょ

a:int = 0, の時点でパーサーからすると`0, `はタプルなのに
b:intのコロンようなサポートされてない表現が来てるから文法エラー
2025/02/14(金) 00:52:13.45ID:kUuP9oE90
いや、言語設計の話ね
引数の列みたいなタプル的なもので許されてるなら、
タプルでも許されるような規則になってる方がコンシスタント

それを許すと別の問題が生じるなら仕方ないけど、
特にそんなのがあるような気がしない
2025/02/14(金) 01:53:56.51ID:itWJ0HMk0
54氏に絡んだ私が馬鹿だったみたいだね
2025/02/14(金) 07:12:48.02ID:P2h4GvQIH
型アノテーションはどう考えてもコードを冗長にするだけの効果しかなかった
次期バージョンからは廃止して欲しい
アノテーションありとなしのコードが混在する世界は誰も得しない
2025/02/14(金) 07:34:58.64ID:8QRTr0+h0
01氏は相変わらずだのう
よく知らんけど
2025/02/14(金) 12:40:51.82ID:mTgus/9Q0
型アノテーションしないとvscodeでメソッドとか補完してくれないじゃん~
2025/02/14(金) 12:47:27.45ID:rES5mJq/0
>>630
これはそう
型の表現がゴミなのでその型意味ある?ってやつばっかでノイズにしかならん
tsみたいに別の処理系として作るべき
2025/02/14(金) 13:23:14.36ID:6dC8Hfpk0
>>625
>xs: Tuple[Optional[int]] = 1, 2, 3
これじゃダメじゃん
ellipsis忘れてた
2025/02/14(金) 19:00:49.38ID:y0//4+C60
どうせdataclassで型指定が必須になる
636デフォルトの名無しさん (ワッチョイ 8edb-u07z)
垢版 |
2025/02/14(金) 22:20:16.99ID:zA34SgDn0
age : int = int(9)
右のint()は不要ってことだよね
今だと全部上の文にしようとしていました
2025/02/14(金) 22:27:43.41ID:y0//4+C60
型なんかコンテキストに任せるperlの時代がまた来ないかな
厳密なのはCに任せておいて、手抜き派は限界まで脱力しないと
638デフォルトの名無しさん (ワッチョイ 8edb-u07z)
垢版 |
2025/02/14(金) 23:33:39.76ID:zA34SgDn0
perlは$@%で変数の中身と参照方法の手がかりがあるの楽すぎる
しかも記号の切り替えでアクセス方法も切り替えられる
初心者の俺だけかもしれないけど
2025/02/15(土) 00:03:38.48ID:7QZxROg40
>>638
dollar_とかatmark_とか変数に付ければいいのでは?
2025/02/15(土) 00:09:45.51ID:nmEKbiHe0
指し示す時は%varとか@varだけど、使う時は$var{}とか$var[]なのは、
普通に混乱するよな
同じ名前が使えるのはやばすぎるので、敢えて使わないようにしてた
2025/02/15(土) 00:24:38.71ID:Ff6IMwfd0
>>636
右のint()はintにキャストしたい時に使う
左のintも大半の箇所では不要

数値リテラルで初期化する場合に明示的に型を書く必要があるケースはあまりない
上で書かれてるdataclassのfieldなんかは例外
2025/02/15(土) 01:12:51.65ID:8VzqP0+T0
type aliasでwin32 apiみたいに狂ったようなヘッダーファイルのimportとかになったら嫌だな
2025/02/15(土) 02:36:03.74ID:jP/E47uy0
型ヒントないとやだやだ
644デフォルトの名無しさん (ワッチョイ 8edb-u07z)
垢版 |
2025/02/15(土) 03:01:40.24ID:uBYSxski0
>>641
ありがとうございます
645デフォルトの名無しさん (ワッチョイ 8edb-u07z)
垢版 |
2025/02/15(土) 03:03:06.76ID:uBYSxski0
>>640
なるほど
2025/02/15(土) 09:21:15.19ID:PDHi7G9/0
一括代入の左辺って、正確にはタプルではないよね。タプルに引き付けて考えるより、代入文の構文の1類型として整理しておく方が良いんじゃないかと思うが。
2025/02/15(土) 10:22:34.31ID:FKA6BWJy0
>>> x = a, b = 2, 3
>>> type(x)
<class 'tuple'>
よくわからんな
2025/02/15(土) 10:51:26.01ID:HEvUb6VY0
>>646
タプルとおもっていたが、正確には何なの?
2025/02/15(土) 13:22:10.39ID:j/KKg+ui0
タプルだよ
a, b = 1, 2 は(a, b) = (1, 2)と同じ

内部的にも一旦タプルとして扱われてunpackingが行われる
[a, b] = 1, 2とかにすれば左辺はリストになるけど
括弧省略したカンマ区切りの場合はタプル
2025/02/15(土) 14:36:18.19ID:0rXlrcS60
たとえば、タプル (3, 4) では、(要素0の)3を指すポインタと(要素1の)4 を指すポインタとはメモリ上隣接した位置に配置されるけど、
a = 1 b = 2 の後に a, b = 3, 4 と一括代入をしても、(一旦タプルが作られるのかどうかはともかく)そういうことにはならないんじゃない?

*[a, b], c = 1, 2, 3 のようないわゆるスター代入も、イテラブルのunpackではないと思うし。
2025/02/15(土) 16:45:49.40ID:yy3Wu/gg0
return文の複数値の返却もタプルだけど、
なぜかカッコを省略することが多い
まぁ、あくまでカンマがタプルの肝だからということか
2025/02/15(土) 17:05:56.61ID:0vZBBpUh0
リストの内包表記の[]を()にすると、
タプル内包表記ではなくジェネレータ内包表記になる罠
2025/02/15(土) 17:06:49.88ID:8VzqP0+T0
カッコの用途と意味が多くて初学者にはきついと思うわ
( ) はタプルとGenerater
{ } は辞書と集合
[ ] はリストと内包表記
2025/02/15(土) 17:09:49.95ID:0vZBBpUh0
空の集合で初期化しようとしてs = {} とか書いてしまう罠
(1,) とか class_ とか苦し紛れいろいろ
2025/02/15(土) 17:33:56.56ID:0rXlrcS60
丸括弧は関数・クラス等の呼び出し、角括弧はリスト、波括弧は辞書および集合。
リストと辞書と集合には内包表記があって、generator式は内包表記の仲間。
そうやって整理する分には、(単要素タプルの書き方がちょっと不格好なところを除けば)そんなに違和感はないけどなぁ。
辞書についてリテラル表記は波括弧なのに参照は角括弧なのはちょっと引っかかりを憶えないでもないけれども、これは他の言語でもそうだし。
他の言語と比べて特に複雑ということはないと思うけど。

むしろVBAみたいに、配列の添字指定に丸括弧を使わされたりする方が嫌だわ。
2025/02/15(土) 19:13:45.78ID:PDHi7G9/0
immutableなタプルの要素にはそもそも代入ができないはずなので、それだけでも一括代入の左辺がタプルでないのは明らかなのでは。
一括代入の左辺に丸括弧や角括弧が使えるのは、入れ子構造になっているときにその構造を明確にするために過ぎず、リストやタプルとは全く関係ないって考えた方が分かりやすいように思う。
2025/02/15(土) 23:10:55.08ID:DkQLiBFd0
左辺と右辺で違いがあるのは当たり前
右辺の値としてのタプルと左辺の言うなればパターンとしてのタプルが
全く同じように評価・実行されるわけがない

タプルじゃないとしたほうがわかりやすいならそうすればいいとは思うけど
言語的には左辺の(a, b)もタプルという扱い
2025/02/15(土) 23:12:46.33ID:DkQLiBFd0
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()))])
2025/02/15(土) 23:29:56.42ID:0vZBBpUh0
a = 1
b = 2
t = (a, b)
print(t) # (1, 2)
a = 3
b = 4
print(t) # (1, 2)

変数でもそのオブジェクトでもなく、
中に入ってるものでタプルを作る
だから、(a, b) がタプルというのも不正確
2025/02/16(日) 00:53:20.10ID:wh5aR4tC0
>>657-658
ASTでタプルとされているからタプルなのだ、それが言語上の定義なのだと言われればそうですかと言うしかないのだけれど、メモリレイアウトがどうなっているかは気になるな。a, bはメモリ上隣接した位置に配置されるのか、それとも、離れた位置に配置されるけれども代入文の左辺である限りはタプルと呼んでいいということなのか。
2025/02/16(日) 07:14:20.57ID:ThFtPuZc0
メモリ上隣接はCPythonの話?
それこそはいそうですかだけど
662デフォルトの名無しさん (アウアウエー Sa13-9cJ9)
垢版 |
2025/02/16(日) 12:09:07.95ID:rAQQ2/+ca
(a, b): (int, int) = (0, 0)
2025/02/16(日) 13:10:26.00ID:24lkekzA0
>>660
a, b = 1, 2とすればaとbが個別のローカル変数としてスタックフレームに追加されるだけ
CPythonでは定義順になるから内部の配列内で隣接してる場合もあればしてない場合もある
スタック上の変数でかつそれぞれ直接アクセスしかしないんだから隣接してるかどうかは実用上はどうでもいいこと
2025/02/16(日) 13:51:57.18ID:dLfK62nh0
そうでしょ、やっぱりメモリレイアウトが全然違うよね。
一括代入の左辺の場合には、その後もタプルとして使われることは全くなく個別的にしかアクセスしないのだから、メモリ上隣接しているかどうかがどうでもいいというのはある意味当然のことで、それは、通常の意味でのタプル(固定長でimmutableなコレクション・コンテナとしてのタプル)でないことの裏返しだと思うけど。
言語仕様上はそれもまたタプルとして定義されているということであれば「タプルではない」というのは正しくないことになるしそれはそれで構わないのだけれど、重要なのは通常の意味でのタプルとは全く別物だという点であって、その点の認識はあった方が良いんじゃないかなぁ。
665デフォルトの名無しさん (アウアウエー Sa13-9cJ9)
垢版 |
2025/02/16(日) 13:58:47.89ID:rAQQ2/+ca
a, b = 0, 0
構文解析上の文法は
(a, b) = (0, 0) の略
ではなく
a, b = (0, 0) の略
じゃないかな
代入前(右辺)はタプルで代入後(左辺)はタプルではなく個別
もし左辺がタプルならbindされた名前が無いので利用出来ない
2025/02/16(日) 14:30:13.56ID:dLfK62nh0
一括代入の左辺のターゲット並びは、丸括弧や角括弧で囲うことも全く囲わないこともできる。
角括弧で囲った場合はリストになり、丸括弧で囲った場合や全く囲わない場合はタプルになるということはできるけれども、通常の意味でのリストやタプルとはまったく別物だし、その後もリストやタプルとして利用されることはないので、それがリストやタプルであるということにどれほどの意味があるのか、むしろ通常の意味でのリストやタプルと混同してしまう人が出かねない弊害の方が多いのではないかというのが個人的な感想。
むろん、言語仕様上、リストやタプルとして定義されていますということであれば、あえて逆らうつもりはないけれども、リストやタプルの概念の中に異質なものを抱え込むことになって概念内容が拡散するように思うし(e.g.要素に代入できるタプル)、概念整理としては、一括代入の左辺については、リストやタプルのリテラル構文の形式を借用した代入構文の一形式であって、それ自体としてはリストでもタプルでもないという形で整理した方が遥かに分かりやすいのではないかと思っている。
667デフォルトの名無しさん (アウアウエー Sa13-9cJ9)
垢版 |
2025/02/16(日) 15:20:14.54ID:rAQQ2/+ca
>全く囲わない場合はタプルになるということはできるけれども

いや出来ないやろ
2025/02/16(日) 16:31:54.22ID:dLfK62nh0
自分は、一括代入の左辺については(通常の意味での)リストやタプルとは区別した方がわかりやすいのではないかという立場だけど、これらもリストやタプルであると考える立場に立つ場合、その中で、丸括弧で囲むか否かによってタプルになったりならなかったりするという考え方はないんじゃない? ASTでは丸括弧がなくてもタプル扱いみたいだし(>>658
669デフォルトの名無しさん (アウアウエー Sa13-9cJ9)
垢版 |
2025/02/16(日) 16:50:55.15ID:rAQQ2/+ca
左辺がタプルになる代入は
c = 0, 0
とか
_ = 0, 0
の場合な訳で
(後者は暗黙で名前が付かないbindの例で敢えて描いたけど)
(a, b) = 0, 0
はタプルに代入してる訳じゃないでしょ
という立場ですね
2025/02/16(日) 17:02:45.20ID:ThFtPuZc0
>>669
>>647
タプルでもリストでもない何かとしてもいいけどね
即値だけのコードも正当なのでbinding(assignment?)の有無は根拠にならんかも
2025/02/16(日) 17:36:27.88ID:dLfK62nh0
c = 0, 0 と _ = 0, 0 は、代入ターゲットが1つしかない単一代入の文だから、今の話題と直接的な関係はないかと。

一括代入として、
ア  a, b = 0, 0
イ (a, b) = 0, 0
ウ [a, b] = 0, 0 の3つの文に実質的な違いは(おそらく)何もなく、あえて左辺がタプルだリストだという必要はないのではないか(少なくとも通常の意味でのタプルやリストではないので、これらがタプルやリストであると考える意味もほとんどないのではないか)、それよりも一括代入の構文として共通のものとして理解する視点の方が有用なのではないかという感覚かな。
言語仕様上、リストやタプルの概念がこれらも含むような形で定義されているかはまた別の問題として。
2025/02/16(日) 22:36:18.21ID:38lJcH0O0
個人的には一括代入って言葉の方がよっぽど気になるけどな
2025/02/16(日) 22:53:37.86ID:6PRP0OeT0
用語法はまったく本質的な部分ではないので、意味が通じれば何でもいいと思うけど。一括代入、複数代入、多重代入、併行代入……好きなのを使えばいいんじゃない? 既に定着している用語法があるならそれに従っておく方が無難だとは思うが。
あとa = b = c みたいなのと語感上、区別しやすい用語だとなお良いね。
2025/02/16(日) 23:06:15.10ID:38lJcH0O0
じゃ左辺のタプルも意味が通じればなんでもいいんじゃない?
2025/02/17(月) 00:13:36.55ID:S+Nz3ahz0
要素に代入できるタプルというものを観念して、いわば特殊なタプルと位置付けてタプル概念に含める方向性で考えるのか、タプルとは区別して整理する方向性を指向するのかというのは、理屈としてはタプル概念の外縁の画定に関する1つの態度決定の問題だから、重要でないとはいえないだろうし、タプルに含める立場をとる場合でも、通常の意味でのタプル(immutableな固定長コンテナとしてのタプル)とは質的に異なるということを意識しておくことは実践的にも意味がある……と自分なんかは思うけど、人の考え方はさまざまだからね。674が、用語法の違いと同程度のどうでもいい問題だと思うのなら、実際674にとってはそうなんでしょ。そのことを否定はしないよ。
2025/02/17(月) 00:31:13.10ID:ROCyt//h0
利用者から観察できんし内部処理知ってると最適化できる類のもんでもなさそう
今の処理系でどういう扱いしてるのか知りたいならわかるけど
個人的にはどうでもいい寄りというかあえて意識したくない話かな
2025/02/17(月) 11:24:47.42ID:5+w8yWyk0
「正確にはタプルじゃない!」とイキった手前どんなに見苦しい言い訳を繰り返してでも自己正当化したいのだろう
2025/02/17(月) 12:14:13.77ID:kwgQ3IwM0
タプルオブジェクトではないとでも言っておけば不毛なレスバしなくてよかったのにね
2025/02/17(月) 12:36:50.89ID:Ta1N8VfU0
レスバしたという感覚はないし、そんなに間違ったことを書いたつもりもないんだけどな。678のいう「タプルオブジェクトではない」という表現の方が受け入れやすいということなら別にそれで構わないと思うし。
2025/02/17(月) 16:30:08.05ID:33cG7id30
5chで細かいところまで正確に伝えるのは難しいんだし
あんまり気にしなくていいんじゃね
SNSは議論に向かないしさ
681デフォルトの名無しさん (ワッチョイ 1556-xt5A)
垢版 |
2025/02/18(火) 01:50:34.73ID:kyyl/iJD0
辞書に追加する方法を教えてほしいです
存在しないキーを追加してその中にさらにキーを追加したいです
以下だとエラーになりました

https://pastebin.com/k1VaU5GZ
2025/02/18(火) 02:55:12.14ID:a4UZNug90
>>681
d["tomorrow"] = {"トマト": 70}
ではどうだろう。(未検証)
683デフォルトの名無しさん (ワッチョイ 1556-xt5A)
垢版 |
2025/02/18(火) 03:32:54.30ID:kyyl/iJD0
>>682
うまくいきました!
どうもありがとうございます!
684デフォルトの名無しさん (ワッチョイ 1556-xt5A)
垢版 |
2025/02/18(火) 03:48:38.37ID:kyyl/iJD0
>>681
この関連ですけど、辞書の中の辞書の一部のキーのバリューを変更するにはどうしたらいいですか?

todayのりんごの値はそのままでみかんだけ40にしたいです
685デフォルトの名無しさん (ワッチョイ fd2a-TPdf)
垢版 |
2025/02/18(火) 08:18:06.27ID:goEKoJkr0
>>684
値の変更はこれで良いのでは。

> d["tomorrow"]["トマト"] = 70 # これだとエラーになる
2025/02/18(火) 08:51:43.27ID:aG61gPOQ0
混乱させるかもしれんけど標準モジュールcollectionsにあるdefaultdict使えば
from collections import defaultdict
d = defaultdict(dict, {"today": {"りんご": 100, "みかん": 50}})
d["tomorrow"]["トマト"] = 70
でエラーにならない
d["tomorrow"] の時点で {} が自動生成される
2025/02/18(火) 09:17:41.68ID:UncCeV9C0
get, setdefault, collections.defaultdict, __missing__ の違いについては、たしかEffectivePythonで2〜3項目さかれていたね。
688デフォルトの名無しさん (アウアウエー Sa13-9cJ9)
垢版 |
2025/02/18(火) 11:02:20.10ID:HbHlBTpRa
まあうまくいくだろうし便利だろうけど
キーのスペル間違いとかがチェックされない怖さはあるな
689デフォルトの名無しさん (ワッチョイ 15df-xt5A)
垢版 |
2025/02/19(水) 07:26:57.60ID:if5TaTL20
亀レスすみません
みなさんありがとうございます

>>685
これでうまくいきました

>>686
エラーにならず.getのように自動生成されるのはいいですね
2025/02/19(水) 07:46:07.12ID:ouE8cAfi0
いきなり参照してエラーになるのは嫌なので、
いつもgetを使うようにしよう

というのは必ずしもいい考えじゃないんだよな
エラーにならない筈のものがエラーになるなら異常なので捕まえるべき
本気で何が入ってるか予想できないケースではgetを使うしかないけど、
そんな状況になるのも何か間違ってる
2025/02/19(水) 08:27:04.14ID:mSxUrXXi0
noneが帰るならそれキャッチしとけば同じじゃない?
2025/02/19(水) 09:44:18.83ID:tY+HC/mE0
新しいキーが挿入されるのはsetdefaultやcollections.defaultdictであって、getは別に新しいキーは挿入されないんじゃなかったっけ?
2025/02/19(水) 16:01:59.58ID:7/rbEKea0
想定していないことは例外にする
局所的に意図してフォールバックさせたいときはget
恒常的にはdefaultってだけよ
2025/02/19(水) 20:05:14.43ID:O180uynF0
継承したクラスにあった__repr__()をそのまま使って欲しいのにうまく行かない
2025/02/19(水) 21:58:33.63ID:S2Edg5gIM
keyerrorとかindexerrorとか事前にかわせるやつも例外にするのどうなの?
なんかコスト高そうな印象だけど
2025/02/19(水) 22:19:23.68ID:7/rbEKea0
VMといえど高いし気になるならin (__contains__)を使えばとしか
オレはコードの意図がつかみやすいかで使い分けてる
2025/02/19(水) 22:48:10.15ID:/AQQIY230
Rustとか最近の言語って例外ないらしいじゃない。そっちの方が優れているというのがコンセンサスになったらPython4とか5とかのメジャーパージョンアップのときにそちらに舵を切るということもありうるのかな? 自分は3以降でPythonを知ったので、2→3のときの大改革ってのは未経験なんだけど。
2025/02/19(水) 22:56:14.91ID:O180uynF0
3での変更点って、ええー2ではまだそんなこと考えてたのという、
3が先進的というよりは2が後進的で、
pythonなら当然そうするでしょという感じなんだよな

2の頃はまだperlをメインに使ってた
2025/02/19(水) 22:59:08.90ID:aJXoRfiD0
2はprintがステートメントで
ステートメント?!と驚いた
と思ったら3でもdelがステートメントでまた驚いた
2025/02/20(木) 00:52:57.36ID:laXgRgOS0
パイチョンはインタプリタが全然頑張らないアホの子
2025/02/20(木) 04:49:24.69ID:2izZplM70
毎日が新鮮な驚きに溢れて楽しそうですね
2025/02/20(木) 11:00:03.67ID:gDWkqRFJM
>>697
Pythonは、ぼくこんぴゅーたのむずかしいことわかんないけどえーあいあぷりつくるんだもん!な子を満足させる使命があるから例外は必要
彼らが例外を放置してもアプリが止まってしまわないのはフレームワークが最終的にケツを拭いてくれているおかげ
2025/02/20(木) 19:27:27.78ID:qCo+divFH
例外処理って必要?
書かなくてもPython自身が例外を出して止まるよね
2025/02/20(木) 19:58:06.02ID:YvSU5J1d0
変な値が入力されたらエラーを表示したい
でも入力部分はずっと下の階層の処理なので、
エラーの情報を上までバトンリレーしないといけない
例外なら言語がやってくれる
705デフォルトの名無しさん (ワッチョイ 9b9a-MHHu)
垢版 |
2025/02/21(金) 06:33:27.06ID:dPC4thbz0
ギャンブルのデータ分析?とai予想したいのですが、どういう環境がいいんでしょうか?
anacondaが定番のような気がしますが、ローカルだとマシンパワーがどうなのかなと。

unityみたいなゲームエンジン上でも出来たりしますか?
2025/02/21(金) 10:53:50.45ID:ebrhUf4S0
GoogleのColabでええよ
707デフォルトの名無しさん (ワッチョイ fd7c-JOj3)
垢版 |
2025/02/21(金) 11:17:38.16ID:0EY3V3nR0
>>703
例外処理っていうのは例外が発生した場合にリカバリー可能な処理を書くんだぞ
その辺わかってなくて単純に例外の時にって思ってる奴が多い

具体例で言うと通信
ゲームとかのアップデート想像してみればいい
大容量データダウンロードしてる時に通信状況が悪くなった
例外処理が無ければそのまま例外吐いて失敗となる

ここで例外処理として通信状況が良い所に移動しろ的なメッセージを出して続行ボタン押させたり、数秒から数十秒間隔で通信を再開させるようにした場合は処理がスムーズになるやろ

こういう風にリカバリー可能な処理を書くのが例外処理やで
708デフォルトの名無しさん (アウアウウー Sa49-9cJ9)
垢版 |
2025/02/21(金) 11:41:35.66ID:vI88dzmZa
>>705
もちろんUnityでも出来るよ
709デフォルトの名無しさん (ワッチョイ 9b9a-MHHu)
垢版 |
2025/02/21(金) 13:53:02.83ID:dPC4thbz0
>>708
一般的にデータ分析ってアナコンダとか使うんですかね?
ゲーム目的じゃないですから
710デフォルトの名無しさん (ワッチョイ a54a-2NqA)
垢版 |
2025/02/21(金) 15:26:48.94ID:NDdeWha40
現実世界の様子やUIを理解してタスクをこなせるマルチモーダルAIエージェントの基盤モデル「Magma」をMicrosoftが発表
https://gigazine.net/news/20250221-microsoft-magma/

悪用されている
711デフォルトの名無しさん (ワッチョイ fd7c-JOj3)
垢版 |
2025/02/21(金) 17:14:00.29ID:0EY3V3nR0
>>709
anacondaというよりjupyterを使う
なのでgoogle colabでも良いしvscodeのプラグイン入れてでも良い
712デフォルトの名無しさん (ワッチョイ 9b9a-MHHu)
垢版 |
2025/02/21(金) 18:41:20.24ID:dPC4thbz0
>>711
ありがとう
jupyterlってのが必要なんすね
機械学習をunityでやろうとしてましたけど、それと別途で用意します
713デフォルトの名無しさん (ワッチョイ cb81-JFGK)
垢版 |
2025/02/21(金) 18:53:52.10ID:YTEtnXyW0
>>712
>>711みたいな馬鹿を信じるなよ
714デフォルトの名無しさん (ワッチョイ 6555-2NqA)
垢版 |
2025/02/21(金) 19:06:12.50ID:hCnqiwLw0
LLM の推論機能を活用する新しいバックドア攻撃「DarkMind」が提唱される
https://gigazine.net/news/20250221-darkmind-chain-of-thought/

AIはチェスで負けそうになるとチートする
https://gigazine.net/news/20250221-ai-chess-cheating/
715デフォルトの名無しさん (ワッチョイ 15b2-xt5A)
垢版 |
2025/02/21(金) 23:21:50.44ID:TllVjNz50
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'
2025/02/22(土) 00:07:13.49ID:Oo9CzgQsM
>>715
知らんけど時間って
00:00:00~23:59:59
ちゃうの?
2025/02/22(土) 00:28:58.03ID:rVspP8iQ0
不親切なエラーだよね
2025/02/22(土) 00:58:09.16ID:eBlj03Lj0
境界値の問題って定番じゃね
テストケースにも必ずいれるだろ
2025/02/22(土) 07:44:50.26ID:mdQ5EfsK0
閏秒なんか廃止で当然だよな
720デフォルトの名無しさん (ワッチョイ 15b2-xt5A)
垢版 |
2025/02/22(土) 12:10:03.03ID:kWiPacnr0
>>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)
2025/02/22(土) 12:19:18.21ID:mdQ5EfsK0
何がしたいのか不明だけど、時間の計算にはtimedeltaを使う
722デフォルトの名無しさん (ワッチョイ 15b2-xt5A)
垢版 |
2025/02/22(土) 12:35:47.16ID:kWiPacnr0
>>721
ありがとうございます
調べてみます
723デフォルトの名無しさん (ワッチョイ 15b2-xt5A)
垢版 |
2025/02/22(土) 12:42:40.44ID:kWiPacnr0
やりたいことはt_startとt_endの中に入ってる文字列の時刻の差分を求めたいです
2025/02/22(土) 12:44:39.38ID:mdQ5EfsK0
といいつつ、日付ではなく時間の長さをhh:mm:ss形式で書きたい時用に、
秒単位のfloatと文字列の相互変換ライブラリを自作した
標準にはいいの無い
2025/02/22(土) 12:51:12.03ID:mdQ5EfsK0
うちのライブラリで書くと、
delta = str_sec(t_end)-str_sec(t_start)
print(sec_str(delta))
こんな感じになる
726デフォルトの名無しさん (ワッチョイ 15b2-xt5A)
垢版 |
2025/02/22(土) 13:11:12.71ID:kWiPacnr0
途中経過ですけど今こんな状態です

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)
727デフォルトの名無しさん (ワッチョイ 15b2-xt5A)
垢版 |
2025/02/22(土) 13:58:51.98ID:kWiPacnr0
何度もすみません
とりあえずこうなりました
なんだが余計に長くなった気がします

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を分形式に変換する
2025/02/22(土) 14:01:58.99ID:92tqsAYeM
初学者だと思うけど
end>startが保証されてるなら
>725
みたいに秒に変換して引き算が正解じゃない?
729デフォルトの名無しさん (ワッチョイ 15b2-xt5A)
垢版 |
2025/02/22(土) 14:16:15.84ID:kWiPacnr0
>>728
Endが24までなのか25や26もあるのか、それとも24の次は1なのか確実じゃないのでその辺考えて修正してみます
やっぱりタイムスタンプに変換した方が短くなりますか?
あと、727のインポートでtimedeltaが抜けてました
2025/02/22(土) 14:22:19.90ID:mdQ5EfsK0
print(datetime.now())
これの出力が
2025-02-22 14:20:40.735896
これになるのが嫌
秒を整数にしてくれたらそのまま使えるのに
731デフォルトの名無しさん (ワッチョイ 15b2-xt5A)
垢版 |
2025/02/22(土) 15:29:44.08ID:kWiPacnr0
何度もすみません
こうなりました
今のところt_startよりもt_endが小さいとエラーになります

https://techiedelight.com/compiler/?119b
2025/02/22(土) 18:46:10.84ID:/k68f2f30
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
2025/02/22(土) 18:52:17.77ID:mdQ5EfsK0
そんなのを毎回作ってられない
2回くらいは作る
3回目あたりで、本腰入れて部品化する
734デフォルトの名無しさん (ワッチョイ 43ce-qk/j)
垢版 |
2025/02/22(土) 23:02:04.13ID:eBlj03Lj0
>>731
https://techiedelight.com/compiler/?96ec
これじゃ駄目なのか?
2025/02/22(土) 23:31:26.22ID:d1IFpLYA0
劣化しとるやないかーい
736デフォルトの名無しさん (ワッチョイ 6e9a-1YEc)
垢版 |
2025/02/23(日) 09:47:38.74ID:BUMkVt7f0
個人レベルで機械学習学んでも意味無いですかね?
例えば競馬予想aiを作りたいとして
しかし、けっきょくのところデータがないと、学習モデルだけあっても意味ないですもんね

競馬なら馬場状態を数値化したデータというのがないと、学習させられないですよね
2025/02/23(日) 10:33:41.64ID:2+mAKcn80
>>730
そのくらいは標準で簡単に出来るだろ
2025/02/23(日) 10:36:52.09ID:foL9AaqB0
>>736
自分で学習すりゃいいじゃん
データなんていくらでもあるんだし
2025/02/23(日) 11:58:59.62ID:uSqDrBD8M
>>736
他人の後追いするぐらいなら他人のシステム使えばよい

競輪なんて放送でAI予想の倍率出しながら中継してる
2025/02/23(日) 12:29:42.21ID:TNVZaLWv0
オッズの計算に投票だけではなくAI予想も加味したら、
面白さと利益率が上がるのでは
741デフォルトの名無しさん (ワッチョイ 6e9a-1YEc)
垢版 |
2025/02/23(日) 13:11:05.65ID:BUMkVt7f0
>>739
例えばバンクのホコリっぽさとか、選手の体調とか、そういった不確定要素ってデータがないですよね
なので、公式のデータ以外ないとするなら、あまりやる意味がないのかなと
2025/02/23(日) 13:17:20.60ID:TNVZaLWv0
確率が計算できて、オッズがその確率通りならば、どこに賭けても期待値は同じ
実際には、確率とオッズに乖離が発生する
そこに着目して、確率の高いところではなく、期待値の高いところに掛けると儲かるかもしれない
2025/02/23(日) 14:34:58.45ID:uSqDrBD8M
>>741
競輪AIだと雨が降ってると硬い結果になる

選手が雨の中危険な勝負して事故ったりしたくないんだろ
2025/02/23(日) 15:42:44.26ID:TNVZaLWv0
early continue 便利だな
行は増えるけどネストは浅い方がいいので積極的に使おう
745デフォルトの名無しさん (ワッチョイ 8d3e-D2xv)
垢版 |
2025/02/23(日) 16:11:59.81ID:r171NbV30
>>744
横からだけどサンクスこれいいな
2025/02/23(日) 16:59:33.82ID:SH8eoGXi0
そんな言い方があるんだな
同じように関数で場合分けごとにさっさとreturnしてるけど
これもearly returnっていうのを知らなかった
2025/02/23(日) 17:13:57.05ID:TNVZaLWv0
例えばループで文字列を処理していて
m = re.search(pattern, str)
found = m.groups()[0]
これだと見つからない時にエラーになる

で、
if m :=
にしたりするけど、見つからなかったら飛ばしたいなら、
else:
 continue
になって、なんか変

最初から m = のままで、
if not m:
 continue
を付ければすっきりする
セイウチは絶滅の方向で
2025/02/23(日) 18:43:24.49ID:ap5ufkCU0
それ最初からelse: continue必要ないじゃん
2025/02/23(日) 19:01:50.10ID:TNVZaLWv0
elseをほっとくと、foundの中身が不定になってしまう
事前にNoneを入れておいたりして、後の処理でNoneなら飛ばす
みたいなことになる
そんなことするくらいなら、continueしてしまった方が後腐れない
750デフォルトの名無しさん (アウアウウー Sa39-c/TO)
垢版 |
2025/02/23(日) 19:46:23.76ID:CZU86cpwa
>>709
Unityがゲームしか造れないという考え方は改めるべき
751デフォルトの名無しさん (アウアウウー Sa39-c/TO)
垢版 |
2025/02/23(日) 19:48:54.69ID:CZU86cpwa
re.findall(pattern, str)
2025/02/23(日) 20:05:27.12ID:TNVZaLWv0
もしかしてfindallって全ての点でsearchに勝ってる?
2025/02/23(日) 20:54:18.71ID:ap5ufkCU0
なんでだよw
めちゃくちゃ要領悪いな
754デフォルトの名無しさん (スッップ Sdfa-O5ZF)
垢版 |
2025/02/23(日) 22:37:16.02ID:R0b4DHIEd
>>749
gotoを多用しそうな人発見
2025/02/23(日) 23:03:58.66ID:LVu8ljPH0
pythonのreはAPI設計に難があるよね
他の言語から戻って来るたびに仕様の確認が必要
2025/02/23(日) 23:09:23.71ID:TNVZaLWv0
perlから来たからsearchばっかり使ってるけど、
findallの方がこなれてそうだな
757デフォルトの名無しさん (ワッチョイ 6e9a-1YEc)
垢版 |
2025/02/24(月) 05:49:40.37ID:ujJrcFED0
>>750
tensorflowとかunityで使えるんすか(´・ω・`)
758デフォルトの名無しさん (ワッチョイ 752a-xrb0)
垢版 |
2025/02/24(月) 08:23:49.32ID:TCszVRfv0
>>747
> 最初から m = のままで、
> if not m:
>  continue
> を付ければすっきりする
> セイウチは絶滅の方向で

話題をよく理解していないのだけれど、
コロンイコールを使って、そのように論理を逆転してやればすっきりする、というハナシとも違うの?

if not (m := re.search(pattern, str)):
 continue
2025/02/24(月) 12:12:57.30ID:4WrA9fgL0
>>758
747じゃないがセイウチはどうもPythonicじゃない感ある
他言語のletみたいにスコープも閉じてないし
2025/02/24(月) 14:57:43.47ID:d83yxTtH0
いくつかのパターンのどれかに合致する、みたいな時は
if m :=
elif m :=
elif m :=
みたいにしか書きようがない
パターン検査と結果取得を同時に書かないと、同じことを2回書くことになる
2025/02/24(月) 15:09:39.96ID:Jwc6B7rV0
>>756
ほんとにperl使ってた?
gフラグ + リストコンテキストを真似したのがfindallなんだが
2025/02/24(月) 15:27:48.14ID:d83yxTtH0
だからこそ、1行で決まった数キャプチャーする時はsearchで、
全体からいくつあるか判らないけどあるだけ取ってくる時はfindallという使い分け

という設計だったけど、
1回しかマッチしないと判っててもfindallして[0]だけ使う方が使いやすいっていう
2025/02/24(月) 15:29:10.34ID:4WrA9fgL0
>>760
人それぞれではあるけども
検査先を単一にしてパターンマッチングに持ち込めないんなら
一緒くたにしないで個別のifと必要なら早期return/continueにする
Pythonの簡潔さって表現力があって強力な他言語とは趣がちがう
2025/02/24(月) 16:51:44.97ID:Jwc6B7rV0
>>762
pythonでも使い分けできてないみたいだな
自分の不出来をperlのせいにしたらだめだぞ
765デフォルトの名無しさん (オッペケ Sr75-rIvZ)
垢版 |
2025/02/24(月) 17:00:02.49ID:qXEt7oPpr
C#のLINQは優秀だよな
async/awaitみたいにあれも貰ってきてくれよ
2025/02/24(月) 18:19:27.76ID:xkCGwjl20
>>760
そういうのはパターンとアクションをコレクションにまとめる
2025/02/24(月) 18:26:57.10ID:d83yxTtH0
具体的に何してるか書くと、日付や時刻をファイル名に含んだいろんなファイルを時系列ソートする
日付時刻の表記方法は10種類あって、どれでもない場合はタイムスタンプで代用する
日付は必ず含むが、時刻は無い場合もある

なかなか統一的には書けないので、if m := elifのかたまりになる
768デフォルトの名無しさん (オッペケ Sr75-rIvZ)
垢版 |
2025/02/24(月) 18:37:53.69ID:qXEt7oPpr
都度ファイル名を解析して時系列ソートするんじゃなくて一発バッチでファイル名を統一してしまうわけにはいかんのか
2025/02/24(月) 19:03:25.46ID:Ts/aFZR80
>>767
そういうのこそコレクションにまとめるべき
10個もif-elseで同じことしない
2025/02/24(月) 22:53:00.73ID:Wgnd8zr+0
本人は同じ処理を繰り返し書いてる認識自体がないんじゃないかな
すごくベーシックなリファクタリング方法だけどメソッド抽出やクラス分割や統合に比べて認識できない人が多い印象がある
771デフォルトの名無しさん (ワッチョイ 762a-xrb0)
垢版 |
2025/02/25(火) 09:13:08.75ID:DokSK96w0
>>770
コードを例示してあげなよ。
プログラム板でコードで話さないのもどうかと思うよ。ベーシックならそうマル秘でもないのでしょう。
772デフォルトの名無しさん (アウアウウー Sa39-c/TO)
垢版 |
2025/02/25(火) 09:54:29.03ID:XzpdRQ1Sa
769がwinprocのWM_hogehogeのifelse観ると卒倒するだろうな
2025/02/25(火) 17:56:27.99ID:PjrSO8Sc0
コンテキストが全然違うから比べる意味がない
2025/02/25(火) 19:31:30.09ID:z5mNSc8+0
数百個のswitch caseは別に見にくいとは思わんのよな
むしろ追加が簡単だからわかりやすい
2025/02/25(火) 23:57:48.17ID:xhjdbHGf0
>>771
わざわざ例示するのもちょっと恥ずかしいが一例を書いておく

for (pattern, func) in rules:
 if m := re.search(pattern, string):
  return func(m)

他言語でstatic dispatchが求められる用途ではもちろん使わない
2025/02/26(水) 00:09:16.17ID:wJOChXEu0
各funcがそれぞれ違う内容の筈という前提があるけど、
殆どそっくりなfuncが延々と並んだら、もう少し頭いいやり方があるのでは、と思うだろう
2025/02/26(水) 00:50:58.38ID:xhjdbHGf0
うーん
そっくりじゃないから違う処理をしてる(と思ってる)
違う処理をしてるから統一的に書けない(と思ってる)
というのがまさに「本人は同じ処理を繰り返し書いてる認識自体がない」状態なんだがなぁ
2025/02/26(水) 01:45:33.67ID:TQg7w7Pj0
argparseとかUIのイベント処理がそんな感じだけど
数が増えたらボイラープレートだらけで美しくないんだよな
779デフォルトの名無しさん (ワッチョイ fdad-pgkt)
垢版 |
2025/02/26(水) 02:08:13.92ID:O0INS9IK0
日付のパターン 正規表現にして その日付部分を引っ張り出してきて 戻り値にすればいいのでは
2025/02/26(水) 07:46:22.98ID:EieBhFTu0
あー、それだ
30時間制でhourが23を超えてたら、24引いて1日足す、みたいな処理もあって、
それを各関数でやってられない
最終的に欲しいのはdatetimeのオブジェクトで、その変換も一括でやりたい
で、全体を一つの処理にしてたけど、一番プリミティブな抽出部分だけ関数化すればいいのか
日付と時刻をバラバラで返すのは嫌すぎるのでclassにする
781デフォルトの名無しさん (ワッチョイ 762a-xrb0)
垢版 |
2025/02/26(水) 09:52:35.13ID:z2nMevLL0
>>776
もう少し頭いいコードを示すと良いのでは。
10パターンの日時表現を1パターンに収斂、統一させる。殆どそっくりなfuncも収斂させるのだろうか。
2025/02/26(水) 12:34:12.97ID:RZQSvPw/0
実際のパターン提示されてないし
一般化したい欲求から来てるのにそんな冗長なコード書くか?
2025/02/26(水) 13:24:03.55ID:XqJTS5Fa0
実際でなくていいよ。適当にググったこんなので。
2025-02-26T23:45:12.34.txt
Wed 02-26-2025.dat
Wed 26 Feb 2025 11:45:12 PM.txt
2025/02/26(水) 16:51:32.29ID:w6olCj090
その例だけならarrow使えば正規表現使わなくても簡単にできるよ
25時とかは守備範囲外なので別途事前処理が必要
2025/02/26(水) 17:07:33.10ID:n89P36ao0
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()
2025/02/26(水) 19:37:57.30ID:j/LMUKKxa
aiに聞けよ
787デフォルトの名無しさん (ワッチョイ 8d59-D2xv)
垢版 |
2025/02/27(木) 11:58:07.92ID:80QDg94G0
jsonファイルが開けません。何が原因でしょうか?

https://techiedelight.com/compiler/?b14b6e
24行目以降はスクリプトの出力結果です
TextIOWrapper型はダメと書いてあるようなんですけどどうしたらいいのか分かりません

https://jsonlint.com
jsonファイルの中はここで念のためチェックしました
2025/02/27(木) 12:05:58.52ID:C53SLMw00
>>787
json.loadsは文字列やバイト列しか受け取れない
fは文字列ではない
789デフォルトの名無しさん (ワッチョイ 8d59-D2xv)
垢版 |
2025/02/27(木) 12:07:08.33ID:80QDg94G0
>>787
自己レス
json.loadとjson.loadsは異なるようでjson.loadだと開けました
790デフォルトの名無しさん (ワッチョイ 8d59-D2xv)
垢版 |
2025/02/27(木) 12:07:38.80ID:80QDg94G0
>>788
すみません!どうもありがとうございます
791デフォルトの名無しさん (ワッチョイ 8d59-D2xv)
垢版 |
2025/02/27(木) 12:10:05.49ID:80QDg94G0
修正してこれだと動きました
https://techiedelight.com/compiler/?3c4203
792デフォルトの名無しさん (アウアウウー Sa39-c/TO)
垢版 |
2025/02/27(木) 13:28:56.13ID:VQNvJTxha
伝わらないのは相手のスキーマに落として話してないから。
言い方がまずいのではなく、相手の思考に合わせて話さないから伝わらないという内容だったと理解しています。
普段からこの点に注意して周りの人と接するようになりました。
793デフォルトの名無しさん (アウアウウー Sa39-c/TO)
垢版 |
2025/02/27(木) 13:29:27.69ID:VQNvJTxha
最後に生成aiが人と同じ思考をしないという記述がありました
特性をよく理解して使う必要があると思いました
2025/02/27(木) 13:52:24.42ID:/ts2T7b80
スキーマなどない。我が拳は我流。我流は無型。無型ゆえに誰にも読めぬ。
2025/02/27(木) 14:01:47.40ID:VQNvJTxha
ごめん
何言ってるか判らん
2025/02/27(木) 17:32:51.11ID:ZgFfKBZe0
お互いに心のスキーマ埋めて話せよ
ここはエスパーが集う優しいスレッドだぞ
797デフォルトの名無しさん (ワッチョイ 7b1b-bDya)
垢版 |
2025/03/02(日) 15:48:38.13ID:HilFpukh0
a-shellの質問はここでいいの?
iPhone、iPad用のPython用シェルなんだけど
2025/03/02(日) 15:56:55.60ID:/YCrqC3g0
コマンドで出来ることをPythonで作ってcmdで起動させてるんだけどなんかもやる。いい方法なんか無いかなあ。
2025/03/02(日) 16:10:57.40ID:NOlVOyMW0
コマンドでできることをpythonのosモジュールにやらせるとちゃんと動かなかったりするので、
cmdをsubprocessから実行させたりする
もう高級batファイル
800デフォルトの名無しさん (ワッチョイ 8b2a-5BYj)
垢版 |
2025/03/02(日) 17:51:07.79ID:89Av+BX/0
>>798
コマンドで出来ることをコマンドにさせない理由が伝わらないので、もやるのが何故か分からない。
801デフォルトの名無しさん (アウアウウー Sa1d-8P30)
垢版 |
2025/03/02(日) 17:59:44.66ID:JAzjPHpUa
コマンドで出来ることをPowerShellで作ってcmdで起動させてる人なんかはもやらないんだろうか
802デフォルトの名無しさん (ワッチョイ 41a7-H/LY)
垢版 |
2025/03/02(日) 18:19:18.79ID:xrnlJRcX0
お勉強スレだから頭の悪い人ばっかなの?
2025/03/02(日) 19:39:01.42ID:YF6lVSQXM
コマンドは一部職人芸みたいなのがあるとメンテが難しいからPowershellかアプリの場合もあるでしょ
2025/03/02(日) 19:44:47.14ID:NOlVOyMW0
最近 for /f 知ったけど、むっさ便利
2025/03/03(月) 04:16:34.72ID:NAxKZqvR0
*nix shell scriptくらいがちょうどいい
806デフォルトの名無しさん (ワッチョイ fb9a-PCPn)
垢版 |
2025/03/03(月) 05:26:11.89ID:xAYnQ1Zo0
コードを視覚化したいのですが、オブジェクト同士の通信と、オブジェクトが持つコードを同時に表現出来るものでしょうか?
前者はクラス図、後者はフローチャートでやるものだと思いますが
マーメイド使ってます
807デフォルトの名無しさん (ワッチョイ e9ad-Zn77)
垢版 |
2025/03/04(火) 00:26:35.01ID:r0fJoym10
フローチャートの定義済みの処理でいいんじゃないの
双方向に矢印書けば、オブジェクト同士の通信になるし
2025/03/04(火) 00:37:06.85ID:JHGbD3as0
厳密に書ける図しか出てこないんだよな
こまけぇこたぁいいんだよ、の図が一番判り易いのに
809デフォルトの名無しさん (ワッチョイ 7b12-qwdi)
垢版 |
2025/03/04(火) 17:23:52.29ID:9TXFpBaY0
matplotlibでグラフ作成するプログラムをPyinstallerでexe化し、別PCで動かしたら「フォントがねぇ!」
って怒られるんだけど、Pyinstallerでビルドするときにフォントを内蔵し、
別PCでフォントをインストールすることなく実行する方法ってありますでしょうか。
2025/03/04(火) 18:02:09.59ID:c62Mny0R0
専用のフォントファイル使ってるならpyinstallerの--add-dataでexeにフォントファイル追加して
実行側のmatplotlib.FontManager.addfontで追加したフォントファイル読み込めばいいんじゃね?
試してないけど
811デフォルトの名無しさん (アウアウウー Sa1d-8P30)
垢版 |
2025/03/05(水) 07:05:35.50ID:DooANywKa
代替フォントで表示されて
元のグラフと違う!って怒り出すまでがデフォ
812デフォルトの名無しさん (ワッチョイ 7979-kaVN)
垢版 |
2025/03/05(水) 10:17:47.61ID:k4iH0qBY0
こういう時こそ例外処理だ
813デフォルトの名無しさん (ワッチョイ 417c-kP5n)
垢版 |
2025/03/05(水) 10:56:01.18ID:t/BpZiCN0
そもそもexeにして配布してもアンチウィルスソフトに引っ掛かるのがオチ
なんでstreamlitとかでWebって発想が無いのか
2025/03/05(水) 12:29:12.97ID:jqEKzIeO0
>>811
㌧クス
内蔵した後のファイル呼び出し手間取ったけど実装出来ました。

>>813
そもそも配布するつもりはなくって、レアフォント使うからって言う理由があったんです。
2025/03/05(水) 12:29:36.75ID:jqEKzIeO0
安価ミスった
>>810
だったじゃん・・・
2025/03/05(水) 12:40:03.54ID:je2apegZd
809ではないけど、俺もStreamlitでダッシュボード作ったことあるんだけどデータソースが機密度高すぎてとてもインターネットにはデプロイできないので、社内サーバで運用してたのだがこれはこれで面倒くて
ElectronのPython版みたいなのあれば良いのにとは思うんだが
eelとかpywebviewとかビックリするほど情報少ない、需要無いんだろうけど
817デフォルトの名無しさん (ワッチョイ 417c-kP5n)
垢版 |
2025/03/05(水) 17:42:14.00ID:t/BpZiCN0
>>816
AzureやAWSやGCPにデプロイすれば良いじゃん
VNET使って外から切り離してその後ろに鯖立てる
更にWebページ自体にSSOで多分365とか使ってるだろうからEntraIDで認証
818デフォルトの名無しさん (アウアウウー Sa1d-8P30)
垢版 |
2025/03/05(水) 18:42:44.64ID:wl9RyfHna
djangoだけでもいいけどSPAにしたければ
Vue.jsとかExt.jsとかと組み合わせる
819デフォルトの名無しさん (ワッチョイ 7986-3FuH)
垢版 |
2025/03/05(水) 20:27:38.71ID:k4iH0qBY0
masterからbranch切ってコミットして、VSCodeにSyncronizeってボタンでたからそれ押したらmasterブランチで?に?pushされた
これってコマンドだとどういうコマンド使ったことになるの?

何か嫌だったからmasterブランチの方はpullしてrevertして、masterと新しく切ったbranchをpushしなおした
820デフォルトの名無しさん (ワッチョイ 7986-3FuH)
垢版 |
2025/03/05(水) 20:28:07.14ID:k4iH0qBY0
gitスレと間違えちゃった
821デフォルトの名無しさん (ブーイモ MMeb-tbEw)
垢版 |
2025/03/06(木) 13:35:09.45ID:SW3gTDW+M
ブランチは切るものなのかw
2025/03/06(木) 19:16:56.29ID:I5dHg2CT0
生やす
2025/03/06(木) 19:59:07.22ID:mUwM1gxX0
新たな方向への舵とかチケットを「切る」イメージなんだろうけど、
branchは枝だから、せっかく生やしたものを切ってしまってはまずいなw
2025/03/06(木) 20:50:07.68ID:pxVL1qQZ0
英語でcut a branchと言うのを訳したものなので舵を切るやチケットを切るの切るとはまた違う
825デフォルトの名無しさん (ワッチョイ 794f-3FuH)
垢版 |
2025/03/06(木) 20:52:35.77ID:vk5/DvbY0
そんなん使いだした奴に言うてくれよw
2025/03/06(木) 20:57:42.50ID:ciT+lRoRM
おい!新人!
ブランチ切っといて!
はい!喜んで!(削除)
2025/03/06(木) 21:06:41.75ID:I5dHg2CT0
アルファ・ベータ法でカットした筈の枝が生えそうだな
2025/03/06(木) 21:16:19.73ID:MrSWvjk80
ブランチ切るって使うけど界隈によるんかな
2025/03/06(木) 21:37:30.89ID:mUwM1gxX0
>>824
"cut a branch"は一般的な「枝を切る」ってだけの話で、
Gitでは"create a branch"じゃないの?
両者はまるで反対の意味になるし
830デフォルトの名無しさん (ワッチョイ 2b63-VeWP)
垢版 |
2025/03/06(木) 22:04:30.15ID:mLXV+Jap0
>>823
プラナリアに切れ目を入れるイメージ
2025/03/06(木) 23:02:53.82ID:hP34p9/Z0
cut a branchは「(枝道を)切り開く」のニュアンスかな
cutting edgeとかcut one's wayのcut
直訳の「切る」だと通じない
2025/03/06(木) 23:11:01.62ID:I5dHg2CT0
cutting edgeは切断面のイメージだけどな
2025/03/06(木) 23:19:51.18ID:pxVL1qQZ0
>>829
gitとかのコンテキストでのcut a branchはcut a branch from masterとかcut a branch off of trunkを短く言ってるもので大元のものからisolateされた状態にするイメージ
2025/03/06(木) 23:28:56.20ID:I5dHg2CT0
branchは分岐してるだけで本体とは繋がってるのに、
それをcutされたものと言っちゃうのはどうやっても誤解の原因になる
それが面白いという悪ふざけや言葉遊びならいいけど、
あまりオフィシャルには使えない
2025/03/06(木) 23:39:18.99ID:pxVL1qQZ0
例えばこことか公式ドキュメントで普通にcutが使われてるよね
https://tvm.apache.org/docs/v0.12.0/contribute/release_process.html#cut-a-release-candidate

英語でも日本語でも何十年も前から定着してる言い回し
2025/03/06(木) 23:45:48.92ID:pxVL1qQZ0
英語の辞書に載ってる意味で言うと↓ここのtransitive verbの3-cが一番近い
https://www.merriam-webster.com/dictionary/cut
2025/03/06(木) 23:46:35.04ID:I5dHg2CT0
Cut a Release Candidate
はリリース候補として何かのリビジョンを切り出すんだよ
分岐のイメージは無い
リリースしたものがその後育ったら困る
2025/03/06(木) 23:50:52.31ID:I5dHg2CT0
3-cの例文の
チームから切り離すとか、群れから切り離すのも、明確に分離している
分離と分岐は全然違う
2025/03/07(金) 00:34:50.26ID:CROu0DDs0
ブランチを作る目的は互いの変更が影響しあわない分離された開発ラインを仮想的に作ること

cutという単語が使われるのは分岐よりも分離に主眼があるから
2025/03/07(金) 01:44:12.43ID:IYsfuX5M0
枝道に逸れてサボってるお前らの給料をcutしよう
841デフォルトの名無しさん (ワッチョイ 5312-tbEw)
垢版 |
2025/03/07(金) 02:22:26.83ID:DC3oMiFw0
>>829
日本語訳がおかしい。切るではなく分けるという意味。
842デフォルトの名無しさん (ワッチョイ 5312-tbEw)
垢版 |
2025/03/07(金) 02:25:08.03ID:DC3oMiFw0
>>835
枝分かれという意味だけど、枝分かれしたものが本流に合流するから自然言語の言葉の選択に失敗しただけ。
2025/03/07(金) 06:09:46.75ID:XXR0/Q3A0
日本語訳ではなく元からおかしいのだろう
日本語の「課金」みたいな間違った使い方が定着しちゃうのはどこの言語でもある
マニュアルとかには登場せずに口語とかで使われる用法

だからといって、直訳して間違う必要はない
844デフォルトの名無しさん (ワッチョイ e92a-5BYj)
垢版 |
2025/03/07(金) 07:52:09.30ID:nBHkq2vS0
git スレに於いては今後、枝をはらう意味のときは「剪る」「伐る」と書くこと。pythonスレで決めたからね。いいね。
845デフォルトの名無しさん (ワッチョイ 79dd-kaVN)
垢版 |
2025/03/07(金) 08:15:11.30ID:i3TW8fQU0
世間の慣習は変わらんぞ
846デフォルトの名無しさん (ワッチョイ 5312-tbEw)
垢版 |
2025/03/07(金) 10:32:15.00ID:DC3oMiFw0
>>843
料金の請求そのものを「課金」と呼んでいる会社があるからなあ
847デフォルトの名無しさん (ワッチョイ 79d3-3FuH)
垢版 |
2025/03/07(金) 11:24:48.94ID:i3TW8fQU0
AAAのaccountingはアカウンティングとしか訳せない
2025/03/07(金) 14:17:00.73ID:EmPVRGY00
>>826
あぁ
トラウマ...

きっつ
2025/03/07(金) 14:18:41.52ID:NMHLxQXg0
>>826
別に削除しても問題ないやろ…
2025/03/07(金) 22:10:05.52ID:qVctmwDB0
>>841
branchを動詞として使い、それだけで大本から流れを「分ける」という意味になる(分離はしていない)
cutの場合はあくまで切り離してしまうので、分けるというより「切り分ける」(完全分離)という感じだな

いずれにしても、「ブランチを切る」は誤解を招く言い方だと思う
2025/03/07(金) 22:50:11.11ID:wbHOjF8U0
特定のバージョンをリリースする場合はcutで合ってる
正しく使われたcutの例を見て、ブランチを作ることをcutって言うんだ、と
ふわっと理解した層が誤用して定着してしまった、のだろう
2025/03/07(金) 22:57:11.00ID:GKKg4qAw0
ブランチを切らないおじさんたち
知らなかったことは恥ずかしいことではないが
その後のやり取りは非常に見苦しい

間違った独りよがりの解釈並べて
やっぱり俺は正しかったと思い込んだところで何も変わらない
素直に「知らなかった」ことを認めて謝ろう

そうすれば老害の進行を止められるよ
2025/03/07(金) 23:09:46.40ID:wbHOjF8U0
老害なんて、そんな大層な地位にはいないよ
そんなに煽てられると照れちゃうな
854デフォルトの名無しさん (ワッチョイ 5312-tbEw)
垢版 |
2025/03/07(金) 23:17:57.73ID:DC3oMiFw0
英語の日本語訳でcutを考えるという謎の思考
2025/03/08(土) 10:47:12.14ID:ygCjHTHI0
mktime() なんて伝統的なメソッドなのに、ここだけ何で英語なんだよ。マジメに訳せよ。
https://docs.python.org/ja/3.13/library/time.html#time.mktime
856デフォルトの名無しさん (JP 0H45-kaVN)
垢版 |
2025/03/08(土) 10:47:40.67ID:e8GOpGZkH
>>819は切るって言っただけでcutなんて言ってないからな
2025/03/08(土) 12:40:07.76ID:5sZkGuqi0
日本のIT業界では昔から、フォルダなど何らかのコンテナを作成することを「切る」と言う習慣がある
汎用機の時代はフォルダ(に類するもの)やDBのテーブルなんかを作るときに静的にディスクの領域を割り当てるのが一般的だったから、そこから切ると言うようになったのだろう
858デフォルトの名無しさん (ワッチョイ 5320-phFF)
垢版 |
2025/03/08(土) 13:01:40.23ID:6f56mNzS0
んなわけねーだろスケジュールを切るとか別に一般に使う動詞よ
なにがIT業界ではだよw
2025/03/08(土) 13:16:35.89ID:XaJvZebA0
言わんけどなあ
フォルダとかディレクトリは「掘る」だな
何かを発行することを切ると言うことはある
伝票を切るとか、歴史的には本当に切ってたのだろう
2025/03/08(土) 13:39:52.21ID:ZW50ae5a0
>>857
それは用語がごっちゃになってるだろ
パーティションとかクォーターなら切るだけど
フォルダやディレクトリは作るだろ
コマンドだってそうなんだし
Power Macは概念違うかもしれんが


あと掘るは探索だな
2025/03/08(土) 13:56:13.23ID:i6kboqCH0
>>860
現代のファイルシステムのモデルではそうだが、年輩者でフォルダを切ると表現する人は実際わりといる
何でも事前に静的に割り当てていた時代の人間は、大きいところから部分を切り出すというメンタルモデルから脱せないでいるのだろう
2025/03/08(土) 14:03:50.31ID:XaJvZebA0
パーティションは切る以外が思いつかないな
作成するよりもむしろ判り易い
ディレクトリは無から生み出してるけど、
パーティションは有限のものを切り分けてるだけだし
863デフォルトの名無しさん (ワッチョイ 417c-kP5n)
垢版 |
2025/03/08(土) 14:11:12.81ID:6GjCdbD90
>>859
今でも伝票は切ってるやん
レシートも伝票やで
来て来たレシート切ってるやん
今は切り込みは入ってるとかレジが切って出て来るけどさ
2025/03/08(土) 14:14:44.53ID:XaJvZebA0
レシート切りますかと言ってくるコンビニ店員はおらん
実体が無くても切るという用語を使うという話
2025/03/08(土) 14:28:35.66ID:5sZkGuqi0
限られた可住面積と資源で生きてきた列島猿としては、
何かを新しく作るのはゼロから何かを生み出すのではなく常に大から小を切り出すことなんだろうな
2025/03/08(土) 14:54:57.16ID:bhzZOhlFH
パスを切る=ディレクトリを作るって意味で使うし
ブランチを切るという言い方に何の違和感もない
2025/03/08(土) 15:22:00.93ID:P4HKKOTE0
22 (木を切って)つくる。

「今年はたびをも—・ってはかせい」

切るにはつくるって意味もあるようだ
2025/03/08(土) 15:22:48.97ID:xQ5Fs9MV0
>>858
それは日時や数量などに限定をつけるという別の用法で辞書にも載ってるもの
区切られた専用の領域を新しく作るといった意味で使うのは自分の知る限りIT業界特有

「〇〇用に新しく□□を切る」
- ブランチを切る
- ディレクトリを切る
- パーティションを切る
- サブネットを切る
- VLANを切る
- サブドメインを切る

パスを切るやエイリアスを切るが
これらと同じなのかは疑問の余地がある
2025/03/08(土) 15:24:08.77ID:xQ5Fs9MV0
>>866
>パスを切る=ディレクトリを作る
パスを切るのはディレクトリを作ることではなくない?
2025/03/08(土) 15:45:23.76ID:jnuQA/jCd
パスやエイリアスを切るのは道を切り開くという意味じゃない?
>>868で挙がっている「割譲する」というニュアンスの切るとはまた違うと思う
2025/03/08(土) 15:57:23.70ID:XaJvZebA0
PATHを切るは確かに言うな
PATHを通すと同義の奴じゃないかな
作成するのはディレクトリやフォルダで、PATHはフルパスのことなので、
それ自体を作成したりはしない
872デフォルトの名無しさん (ワッチョイ 417c-kP5n)
垢版 |
2025/03/08(土) 16:22:09.63ID:6GjCdbD90
お前ら時代を考えろ
コマンドライン時代だ
/でディレクトリの区切りを示すやろ
この事からパスを切るって言うんだよ
2025/03/08(土) 16:28:31.93ID:kCgnTDtk0
Python勉強したかったらgithubのオープンソースと睨めっこしてこい。こんなとこでレスしても池沼mac信者しか沸かんぞ
874デフォルトの名無しさん (ワッチョイ 8b2a-P0QI)
垢版 |
2025/03/08(土) 17:08:49.84ID:ygCjHTHI0
別れろ切れろはブランチの時に言う言葉、今のあたしにはいっそ kill と言っておくんなまし
2025/03/08(土) 17:37:17.94ID:GgMgzR7UM
言葉の意味を知らないで使い続けた慣用句の扱いだから
ゼロックスしておいておじさんが直すとも思えない
かと言って的は射るものですよ的な指摘も無粋

現場で仲良くやれればいいんじゃね?
意味はある程度通じているわけだし
2025/03/08(土) 17:38:34.41ID:1IYLzVZ40
何を発狂してんのよこのゴミは
「ブランチを切る」が現場で当たり前のように使われることを知らずに赤っ恥かいたから
正当化しようと暴れてるのか
見苦しい
2025/03/08(土) 17:53:41.60ID:XaJvZebA0
どっちかというと、ローカルな用語が一般で通用しなくてショック受けてる、が正解だな
これ方言だったの?的な
878デフォルトの名無しさん (ワッチョイ 79af-3FuH)
垢版 |
2025/03/08(土) 20:56:09.68ID:OhmQmpza0
すいません>>819わかる人いたら教えてください
gitスレでも聞いたんですが、CUI vs GUIみたいな糞どうでもいい話ばっかりしててあいつらはもう駄目です
2025/03/08(土) 22:42:06.31ID:Qlttoejh0
>>878
gitのlogやreflogを確認するか
Syncボタンを押した時に発行されるgitコマンドが表示されるパネルを開いてから
もう一度試せばいいんじゃない?

gitというより聞くならVSCodeスレじゃないか
2025/03/08(土) 22:45:58.02ID:Qlttoejh0
>>877
公式サイトにある日本語訳でもブランチを切るという表現が多々出てくる
日本語訳が出来た2009年当時からずっと変わらず
881デフォルトの名無しさん (ワッチョイ 5312-tbEw)
垢版 |
2025/03/08(土) 23:43:37.51ID:zOJ1gnEL0
>>857
作る、作成するでいいのに変な日本語を使い続けるのは老害
882デフォルトの名無しさん (ワッチョイ 5312-tbEw)
垢版 |
2025/03/08(土) 23:44:49.47ID:zOJ1gnEL0
>>880
樹木の枝を切るという世間一般のイメージに引きずられているだけ
2025/03/09(日) 01:03:40.90ID:T7+XzD7W0
『「的を得る」が間違い』は間違い
2025/03/09(日) 01:50:12.00ID:HKmOZnoF0
>>878
その質問ChatGPTに聞いてみた?
885デフォルトの名無しさん (ワッチョイ 2508-3AUV)
垢版 |
2025/03/09(日) 08:04:54.92ID:mlSbYna30
>>884
pullしてpushって言われた
>>879
確かに
2025/03/09(日) 13:04:54.25ID:Q8WEHnu70
gptにコード書いてもらうのが一番
2025/03/09(日) 16:02:37.71ID:GDw1TKD+0
>>819はこれかな?
https://github.com/microsoft/vscode/issues/137686
888デフォルトの名無しさん (ワッチョイ d51d-GZ4+)
垢版 |
2025/03/09(日) 20:36:14.62ID:0/t/zpFq0
単純にVSCodeがorigin/masterにpushしてるだけだった
同じブランチでいくつかcommitして、sync changesボタンでたからマウスオーバーしたら、Push 4 commits to origin/masterってでたから
まんまmasterブランチにpushしてるだけだった
あとreflogにはVSCodeのSyncボタン押した時のログは残ってなかった
2025/03/10(月) 12:17:45.33ID:N4hnvL2z0
連番のtxtファイルの中に物体名とそのXY座標値がスペース区切りで格納されてるんだけど
for文でぐるぐる回して各物体ごとに前のファイル内に書かれてる座標値との差分を連続で出したい時ってどういうやり方するのがスマートだろうか
pandas使ってDFに入れるのが早いのかなあ
2025/03/10(月) 14:54:26.98ID:A/G36wo60
それのやり方は知らんけど
pandasよりpolarsの方が速いよ
2025/03/10(月) 16:04:01.44ID:dZmSaWL40
>>889
プログラム設計時に必要になる情報と一緒だけど
前提となる入力と出力の仕様をもう少し明確にしないと
どういうやり方が適切なのかはわからないよ
2025/03/10(月) 16:11:52.34ID:9VCPJ0La0
>>888
ローカルとリモートで互いに足りない部分をpull/pushして結果を同じにしてるんじゃないの?
2025/03/10(月) 18:45:12.16ID:dZmSaWL40
git push origin hoge:masterのように
リモートは問答無用でmaster指定してるってことだろうけど
ローカルのhogeをリモートのmasterに直接pushするのが
あまり一般的なワークフローではないんじゃない?
2025/03/10(月) 19:26:13.81ID:d55rHlaZ0
pandasとかはファイルは一つでそこに行と列がたくさん、というデータを想定してるから、
ファイルがたくさんある時点で違う気がする

複数ファイルを一つのdfに結合する部分を自分で書けばpandasで処理できるだろうけど、
pandasで楽になりそうな処理にも思えない
2025/03/10(月) 19:40:26.55ID:pJkzwYQ20
巨大なデータってオンメモリで終わるまでソワソワしながら待つの?
それとも中間ファイル残しながら失敗したらそこから再開とか?
2025/03/11(火) 08:25:30.10ID:Jqy2ddi90
場合によるよね。
やったことないけどw
2025/03/11(火) 12:26:00.83ID:jytsrQer0
>>895
スワップ使いまくるからオンメモリとは言えないかもしれないけど大きめのプログラムのフルコンパイルみたいなのはソワソワしながら待つ

途中まででコミットして再開可能なデータ処理は中断の可能性や再実行にかかる時間、プログラムの複雑化度合いなんかを加味して方針を決める
2025/03/11(火) 19:24:18.03ID:qtpkteRg0
makeみたいな仕組みにしとけば、失敗したところからやり直せる
2025/03/11(火) 19:40:15.54ID:8wwlWO3U0
大規模な処理の場合はSparkみたいな分散処理フレームワークが障害時の途中からの復旧とかを担保する
一方で、アドホックな作業の耐障害性はあまり問題にされることはない
いつも中途半端な実験ばかりで何一つ金になる成果を出さない自称データサイエンティストがノートブックで手元でチマチマやってる程度の作業なんて、
パーになったところでビジネス視点では何の影響もないからね
2025/03/11(火) 20:32:11.49ID:CtHRI6fk0
アドホックな作業?
901デフォルトの名無しさん (ワッチョイ 250e-iu9p)
垢版 |
2025/03/12(水) 10:36:16.02ID:QJkVGgVP0
ビルメン だから 業務効率化とかはできないけど趣味で Python 勉強中
902デフォルトの名無しさん (ワッチョイ 250e-iu9p)
垢版 |
2025/03/12(水) 10:36:17.25ID:QJkVGgVP0
ビルメン だから 業務効率化とかはできないけど趣味で Python 勉強中
903デフォルトの名無しさん (ワッチョイ d62a-8DeO)
垢版 |
2025/03/12(水) 16:55:28.43ID:mpqw2K/o0
巡回ロボを作るとか。
904デフォルトの名無しさん (アウアウウー Sa89-Cjjx)
垢版 |
2025/03/12(水) 18:02:38.98ID:J7cIovHRa
エレベーターの劣化チェックが良いな
905デフォルトの名無しさん (ワッチョイ a1f0-vVUT)
垢版 |
2025/03/12(水) 19:04:57.91ID:CJgu15QK0
巡回ロボいいね
エレベーターのチェックって画像認識?
2025/03/12(水) 19:42:29.70ID:6E1Ob3Gq0
boto3とrecognitionでできそうやな
2025/03/13(木) 08:05:57.02ID:CJt/ai2l0
そんなもん1年後くらいに汎用マルチモーダルAIに自然言語で指示するだけ
908デフォルトの名無しさん (ワッチョイ 25f5-iu9p)
垢版 |
2025/03/13(木) 10:46:41.91ID:Tpg+NeNc0
どこまでプログラミング勉強すべきなんだろうな
AIのコーディング能力かなり上がってるから がっつり自分でかけるようになる必要はないけど、まるごと書いてくれるわけではないし 少し修正しようって思ったら丸ごと書き直さないといけないから効率悪いんだよな
基本をさらっとやって、クラスだかモジュールだかの設計ができるようになればいいのかな
2025/03/13(木) 12:01:16.03ID:XK7vUpM4d
画像解析は汎用AI化が出遅れてる分野なので、PyTorchとかでシコシコ自前でやりたい人にとってはラストリゾート
とはいえ自動運転や医療画像みたいな絶対安全な分野を除けば向こう2年くらいの命だろうな
2025/03/13(木) 12:54:57.01ID:7qlVYF9v0
AIエディタを使いこなせるか
これが最も重要
2025/03/13(木) 17:05:12.30ID:rucJuxY60
耳コピの分野が出遅れてるんだよな
ピアノ音源限定でノイズが無ければ、音の高さまでは割と正確に判断する
でも小節の切れ目は判らないので楽譜化はできない
複数の楽器混在とかはまだ全然
912デフォルトの名無しさん (ワッチョイ 9180-HYGE)
垢版 |
2025/03/17(月) 11:16:03.53ID:3DJknzns0
pythonの文法って簡潔すぎてわかりにくいの俺だけ?
for i in range(10)
よりも
for (i = 1; i < 10; i = i + 1)
の方がわかりやすい
C言語から始めたせいかもしれんが
913デフォルトの名無しさん (ワッチョイ 9180-HYGE)
垢版 |
2025/03/17(月) 11:23:32.88ID:3DJknzns0
for i in range(10) ←配列0〜9の左から1つずつiに代入
まあわかる
if i in ng_numbers ←iが配列ng_numbersに入っていたら
???
2025/03/17(月) 11:30:36.89ID:BQ9IDv+P0
>>913
英語で考えりゃ自然
915デフォルトの名無しさん (ワッチョイ 9180-HYGE)
垢版 |
2025/03/17(月) 11:50:52.82ID:3DJknzns0
>>914
そりゃ英語で考えればそうやがどういう処理しとんねんってなる
916デフォルトの名無しさん (ワッチョイ 932a-yPGp)
垢版 |
2025/03/17(月) 12:21:38.78ID:thUzMRxf0
pythonで分かり難いのは、なんてったって str.encode() と bytes.decode() だわ。
型変換を符号化復号化と称すのもどうかと思うが、バイト列を文字列にするのが何で復号なのか不思議でならない。
2025/03/17(月) 12:45:47.58ID:PxAUP6H20
Pythonがどういう内部表現で文字列を表現してるかは一旦置いておいて
目に見える図形・グリフとしての文字の列をエンコードしてバイト列にするのがstr.encode()
エンコードされた結果のバイト列を文字の列に戻すのがbytes.decode()

わかりにくいのは確かだけど間違ってはいない
2025/03/17(月) 13:35:59.30ID:tHr0fe9q0
rangeとか lenは使わない
オブジェクトがあるんだから、そのものを渡そう
2025/03/17(月) 14:16:08.27ID:P7s0k04b0
>>913
どゆこと?
for i, ng in enumerate(ng_number)
これのことではなくて?
ng_numberの条件で飛ばすなら内包表記使って

for x in [ng for ng in ng_number if ng_number[何か] == 何か]

とかの話?
2025/03/17(月) 14:28:12.40ID:WnkcGI4R0
同じ”in”で使われ方も似てるけど文法的には別の”in”
https://docs.python.org/3/reference/compound_stmts.html#for
https://docs.python.org/3/reference/expressions.html#membership-test-operations
2025/03/17(月) 15:27:05.92ID:fqOs9Smn0
pythonのfor文は他の言語でいうところのforeach文だな
シェルスクリプト(sh系)もそうで、これから入ったのでこちらのほうが馴染む
2025/03/17(月) 18:25:36.28ID:3djl4ZDr0
CからC++とか進んだけど特にforで何とも思ったことないな
2025/03/17(月) 18:35:25.17ID:wBqhLaFH0
生成してもらってるから
forの意味すら知らん
2025/03/17(月) 18:59:30.26ID:aMO6RKr50
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)
これが正解
2025/03/17(月) 20:11:45.28ID:+VsjTnZQ0
for i in range(10)で0~9のループってのがアホらしい
0から9と明示している言語が自然
2025/03/17(月) 20:35:11.55ID:tHr0fe9q0
rangeは直前までのrangeオブジェクトを返す、と慣れればそれでいいじゃん
2025/03/17(月) 20:42:27.97ID:aMO6RKr50
range(1, 11) みたいに複雑になると、もうこれは
for (x = 1; x < 11; x++) から数字を抽出したものになってくるけど、
普通は先頭は0なので本質的には要素数を表している
0から始まって当然の頭になれば自然に見える
928デフォルトの名無しさん (ワッチョイ eb2a-Cuhd)
垢版 |
2025/03/17(月) 21:19:59.96ID:gvomcM2e0
>>926
seq コマンドといつもごっちゃになってまう...

>>> tuple(range(2))
(0, 1)
>>>
$ seq 2
1
2
$
2025/03/18(火) 01:35:19.58ID:fgyGQdvg0
個人的には他言語のforeach相当しかないのはかなり好きなポイントだな
930デフォルトの名無しさん (ワッチョイ 538b-7PFh)
垢版 |
2025/03/18(火) 01:59:29.87ID:4sQPnHny0
>>912
Pythonはこの書き方が便利だとか、わかりやすいなどとは思えない構文が多い
2025/03/18(火) 03:15:42.25ID:SyDRbCg30
>>912
pythonのforは他言語の
foreachに近い
書き方だからなあ

で、foreachも
foreach 要素 in 配列名
タイプの書き方の言語と
foreach 配列名 as 要素
タイプの書き方の言語がある
2025/03/18(火) 03:23:10.83ID:NvLfwtos0
perlはけっこう自然言語っぽい構文も追加で備えてるな
2025/03/18(火) 07:41:55.04ID:9Q7xxzXC0
繰り返し処理に for というキーワードを選んだのが間違いなのでは
BASICが最初なのかな
てっきりFORTRANだと思ってたけど、DOなんだよな
DO X = 0, 9
それはそれで変だけど

一定範囲をスキャンするとか、要素を全部舐めるとか、
そういうニュアンスの単語が無かったんだろう
2025/03/18(火) 08:08:58.90ID:dFh3Cu4yM
sweep
2025/03/18(火) 10:39:43.40ID:mIJI9ibF0
#include
936デフォルトの名無しさん (ワッチョイ 53f7-avMV)
垢版 |
2025/03/18(火) 11:03:33.56ID:v2b6/sSk0
BASICなわけねーだろw その辺は全部ALGOLだよ
なかったもクソもforには反復とかいくつずつみたいな意味が元々ある
ていうかそもそもはドイツ語だったかなんかのはず
2025/03/18(火) 17:06:54.31ID:XDcEae/z0
ALGOLは使ったことないなあ
FORTRANで採用を見送られたのに、その後また復活したのか

ステートメントが前置詞というのはやっぱり筋が悪いって
2025/03/18(火) 18:15:32.73ID:IYkL8cYP0
数式の英語での読み方から来てるから英語で数学を習った人にとっては何の違和感もないはず
2025/03/18(火) 22:08:58.63ID:3MP8eql20
ALGOL(含む68)辺りにリアタイで手を出していたら、ミニコン使いやで。
インターフェースがトラ技別冊だった頃を知っているかと。

基準画像「某レナさん」のグラビアを見た事があるんじゃね?
2025/03/18(火) 22:14:52.79ID:GYPHuJM60
島倉千代子を推してた口だな
941デフォルトの名無しさん (アウアウエー Sa23-D2PX)
垢版 |
2025/03/19(水) 09:12:58.29ID:Irgid5LDa
ALGOLはイスラムが語源
FORTRANはFormulaTranslator
2025/03/19(水) 18:59:21.09ID:uxWT9Crg0
alの部分は定冠詞だけどな
943デフォルトの名無しさん (ワッチョイ eb2a-QdO5)
垢版 |
2025/03/20(木) 08:55:27.85ID:8365Cn8s0
def func(param): は
def func(param: str): なのに、
def func(param='value'): が、
def func(param='value': str): でなく、
def func(param: str='value'): なのは、おかしいだろ。責任者のアホ。
2025/03/20(木) 10:13:00.87ID:1M6YtTqp0
>>943
def func(param): が
def func(param: str): だからこそ、
def func(param='value'): は、
def func(param='value': str): でなく、
def func(param: str='value'):

型ヒントは変数の型をチェックするために存在してる
2025/03/20(木) 10:16:14.83ID:uFR0AtSp0
param: str='value'

param: と str='value' に分かれて見えてるんだな
そうではなくて
param: str というかたまりに 'value' を入れている
2025/03/20(木) 10:19:49.89ID:uFR0AtSp0
コロンやらスペースを乗り越えた先に左辺値があることに脳パーサがバグるのは判る
2025/03/20(木) 10:33:23.18ID:Il2FvhCIH
型ヒントって必要?
使わない人が大半だと思うんでプライベートなコード以外には使わないでほしい
仕事で型ヒントが大量にちりばめられてるるコードのメンテナンスなんてやりたくない
2025/03/20(木) 11:00:47.02ID:6xIUkw+E0
逆では
みんなの頭がつながっていないからこそ必要
IDEの支援ももらえるし
2025/03/20(木) 11:09:51.36ID:uFR0AtSp0
型は制約されてないし、だからこそのオブジェクト指向だけど、
実際は入る型なんか決まってるケースが大半なのでヒント止まりになる
正式なコメントの書き方
2025/03/20(木) 11:16:01.10ID:+MvFUuxY0
型ヒントないとやだわ
2025/03/20(木) 13:38:22.10ID:Wa0651PK0
>>947
いらない
そもそも高度な型を書けないから無意味
エディタで補完されるしそれで十分
2025/03/20(木) 13:39:45.20ID:Wa0651PK0
本当に型が欲しいならTypeScriptなりRust使うっての
2025/03/20(木) 14:29:39.20ID:Il2FvhCIH
>>952
だよねえ
必須でもない型機能なんて混乱をもたらすだけだと思うわ
この運営の迷走ぶりがPython凋落のきっかけになるんじゃないかと危惧している
2025/03/20(木) 14:55:26.24ID:gYhPd4eL0
自作コードは好みだろうけど、
公式ドキュメントは記述を対応させて欲しい。

> str.split(sep=None, maxsplit=-1)
https://docs.python.org/ja/3.12/library/stdtypes.html#str.split
なんて表記じゃ、sepに区切文字を入れるのか、複数の区切文字の配列を入れるのか分からない。
実行結果も、リストか返るのか、独自型が返るのか、或いは返さずに REPLY. 変数に結果をセットするのか分からない。
この例は split() なので想像つくのだけど、謎機能は入出力も謎で泣ける。
2025/03/20(木) 17:38:19.11ID:IBTbkPm20
型ヒントはコメントで書く
3.4(XPラスト)用をメンテしなくちゃならないので
2025/03/20(木) 18:15:32.43ID:HvSgxtYp0
pyenv pipx poetryをos丸ごと捨ててuvに切り替えた
poertyって依存のバージョン解釈がバグってることあったけど、uvはちゃんとしてるな
アストラルがanacondaみたいにいきなり発狂しなきゃいいけど
2025/03/20(木) 18:21:06.92ID:uFR0AtSp0
いつかいいのができるまで、バージョン管理なしでやってる
958デフォルトの名無しさん (アウアウエー Sa23-D2PX)
垢版 |
2025/03/22(土) 14:27:58.31ID:U6/Lg1xxa
Rust の crates と Cargo は良さげだけど微妙
Python で真似するの流行り過ぎて心配
2025/03/22(土) 19:43:37.05ID:6JcU+3AE0
>>956
マジか
もうanacondaから卒業すべきだな
2025/03/22(土) 21:27:24.19ID:dq8l+zNL0
pythonのバージョン管理よりも、コードの構成管理したい
いろんなとこにコード書き散らすから、svnでもgitでも管理できない
2025/03/22(土) 22:06:39.66ID:+ZRnNyRr0
バージョン管理ツールで作成した環境の一覧がわかればいいの?
ならpyenv-virtualenvとか
zoxideやautojumpもいいかも
2025/03/22(土) 22:19:14.19ID:nPu00byz0
uvとruffにした
ネットの情報古いのばかりでここにたどり着くのがすごい大変だった
素がpythonじゃないのでいきなりインストールして環境作れるのも楽
そのうち有料になっても金払っていいレベル
2025/03/22(土) 22:20:25.56ID:Y+iWZXI70
uvはlockまでちゃんとクロスプラットフォームなのがでかい
どこまで信用できるかは分からないけど、今のところ問題はないので
新しく書いたやつを中心に徐々に移行してる
2025/03/23(日) 22:26:19.29ID:8QvyzI2Q0
>>736
馬場状態とか、、、数あるファクターのただの一つに過ぎないよ。
本気でやるならjvlinkで仕様書見てどんなデータがあるか眺めてみるといい。
どうせ挫折するだろうからあまり深く言わないけど、未来を予想するのと、ギャンブルで勝つのは二つ分析目標があると考えた方が良い。
勝率と回収率が逆相関になることがわかったらそこが沼の入り口だよ。
あすすめは、まず人気と回収率のデータを取ってみて、競馬は1番人気を買うと絶対に回収率がマイナスになり、最低人気を買っても同じ。これは何故かを考えることをお勧めするよ。
2025/03/24(月) 08:15:13.03ID:Kzm/5Ai30
ギャンブルにAIを使おうとするなんてばかにすることよな
働けよ
2025/03/25(火) 15:35:13.74ID:ICE7mE9e0
自分は静的型検査はどっちかといえばある方がいいかな派(でも自分ではあんまりやっていない)なんだけど、typingモジュールの内容は盛り沢山すぎて、なかなか腰を据えて勉強する気になれないな。たぶん、型に一家言ある世界中の人が議論して仕様を作っているんだろうとは思うけど。
もう数年して仕様が落ち着いてきたら、たぶん解説本が出ると思うので、それを読んで勉強しよう。ロバストPytnonは結構面白かったので、その延長上で型アノテーションの説明に焦点を絞ったようなやつが出れば面白いと思う。
2025/03/25(火) 21:47:04.49ID:CXmZfdeW0
ハイパーモダンPython改訂版出してくれ
2025/03/26(水) 04:22:01.80ID:9+5RYHjhH
>>967
お前が作るんだよ
オープンソースだから改変し放題
969デフォルトの名無しさん (ワッチョイ 822a-jhJX)
垢版 |
2025/03/26(水) 10:28:10.74ID:klkMmD4b0
>>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
2025/03/26(水) 11:14:52.23ID:kQr2CXead
>>969
そうだよ
だから新バージョン出してと
今のPythonの状況だと
毎年書いてくらいに思ってる
良い本だった
2025/03/26(水) 11:21:03.47ID:5p9B9np30
>>968
本のことだぞw
2025/03/26(水) 11:26:56.84ID:0cU+Eukb0
ハイパーモダンPythonってツール本でしょ。ツールって、やっぱりみんな使うものなの? 個人的にはツールのバージョンアップを追いかけたりするのがしんどそうなので、あまり使わない派なんだけど。
973デフォルトの名無しさん (ワッチョイ 2e2a-aKLX)
垢版 |
2025/03/26(水) 11:48:23.78ID:bFpgRqWb0
>>970
改訂稿は存在しないが、無い物ねだりしてみたというコトか。
原書より翻訳が古いて言ったのかとオモタ。
2025/03/26(水) 14:17:55.91ID:E7MgqOg/d
>>972
向こう数年はもうuvとruffで最終形と思っていいと思う
2025/03/26(水) 14:45:58.77ID:0cU+Eukb0
そうなんだ。皆が使っているド定番というところまで行来てるなら、ちょっと勉強してみるかという気になるかも。
2025/03/27(木) 05:19:00.87ID:7jSR2TC60
大昔に公式pythonをインストールした時は
とにかくlibrary合わせが大変だよ!
pipだとライブラリ名だけでなくバージョンも全部書かないと後で整合性無くなって環境壊れるよ
と脅された

それで長らくanaconda使ってたけど
登録必須だったりして面倒な要素がどんどん増えていた
稀に環境壊れるし

それが公式Python + UV使ったらライブラリ名だけでバージョンの依存関係も合わせてくれる
動作も早い

venvなどは今まで使ったことが無かったが、uvはちょっとコマンド覚えるのが厄介程度で
それも検索したらすぐ出てくる程度
ryeも使ったことがないがuvの方が手間も掛からん
numpy,scikit-learn,pandas,openpyxl,matplotlibなどなど問題なく入った

anacondaに飲み込まれてた日々から解放か
とにかくやっと軽いidleをPC上でさっと使えるようになったのが一番嬉しいw

GTOコピペをドブに浸けたような文ですまん
2025/03/27(木) 13:38:34.44ID:2ADBZW+f0
uvというすでに存在してるライブラリの名前を使うセンスよ
2025/03/27(木) 17:33:23.30ID:7P69hYA/0
ググってもプロジェクトマネージャのuvしか出てこないし問題ないでしょ
2025/03/27(木) 23:23:05.56ID:VXWTe0Gq0
紫外線?が何か?
2025/03/27(木) 23:51:20.99ID:k+F7YT9B0
libuv
Web系じゃないとピンとこんかも
2025/03/27(木) 23:59:47.36ID:kS/FHi0p0
完全に同じだったらpipが困るし
2025/03/28(金) 06:17:22.73ID:IPcuak0N0
何でもいいけどrubyのbundlerみたいにデファクトスタンダードになってほしい(´・ω・`)
2025/04/01(火) 22:29:18.22ID:9c1k08Vz0
使ってみたけど、flaskは楽やな
forルーブがそのままhtmlに書けて辞書を渡せる
{{ % for entry in entries % }}
{
name: '{{ entry.name }}',
age: {{ entry.age }},
2025/04/02(水) 05:42:15.84ID:DgG0AwHf0
公式ドキュメントも読まず
またどこから仕入れてきたんだその書き方
985デフォルトの名無しさん (アウアウウー Sa23-P5w+)
垢版 |
2025/04/02(水) 11:34:04.41ID:k9Y5euIya
mustang
2025/04/02(水) 12:10:50.08ID:k9Y5euIya
>>911
鳥との会話はやってるみたいだよ
987デフォルトの名無しさん (ワッチョイ dfd7-/+DP)
垢版 |
2025/04/02(水) 22:26:38.63ID:WwewqrQk0
コード書くのはMSX-Basic以来w
今は目的別に便利なライブラリをつないで
作るスタイルってのに驚きました。
便利なツールもあって進化を感じます。
なんかすごい事になっててw驚きs
988デフォルトの名無しさん (ワッチョイ 7f0c-/YAI)
垢版 |
2025/04/02(水) 23:29:11.29ID:vIYRPSqy0
Excel VBAすらスルーしていた興味のなさは半端じゃねえなw
2025/04/03(木) 05:44:20.01ID:EdKQlRYK0
厳密には違いますが、53のおじさんがワクワクする環境ってのは久々でした。必要に迫られて13年ぶりにPCと向き合ったので。
2025/04/03(木) 06:53:05.71ID:X+wL63br0
BOMが付いてても大抵は何も起きないけど、
csvモジュールで読むとばっちりバグる
なんで直さないんだ
2025/04/03(木) 11:00:23.64ID:MyC4XyHf0
utf_8_sig 指定せずに問題起きてないのはたまたま
処理側のモジュールで個別対応するなんて愚の骨頂
992デフォルトの名無しさん (ワッチョイ 5f2a-puL6)
垢版 |
2025/04/03(木) 11:26:57.33ID:6V8WkUdO0
>>991
賢の骨頂は何ぞ?
自作モジュールはBOM非対応のまま、CSVファイルからBOMを除去?
2025/04/03(木) 14:16:06.10ID:MyC4XyHf0
入力でutf_8_sigを指定する
994デフォルトの名無しさん (アウアウウー Sa23-P5w+)
垢版 |
2025/04/03(木) 21:21:38.60ID:fy3xRWQwa
ワクワクさせてよ
チンチン
995デフォルトの名無しさん (アウアウウー Sa23-P5w+)
垢版 |
2025/04/03(木) 21:23:19.22ID:fy3xRWQwa
>>992
BOM飛ばすpipe使うだけ
pythonで描いても数秒だろ
996992 (ワッチョイ 5f2a-dIv7)
垢版 |
2025/04/03(木) 21:55:23.24ID:touOSSe00
>>995
その pipe とは何を指したの。UNIXやDOSコマンドラインの "|" しかパっと思い浮かばない。

今のところ、>>993 が最良じゃないかと思う (オレは質問者でないので、僭越ながら) 。
997デフォルトの名無しさん (ワッチョイ 7f0c-/YAI)
垢版 |
2025/04/03(木) 23:27:03.36ID:yWhIQ9ik0
>>996
DOSじゃねえだろ
2025/04/03(木) 23:29:32.03ID:I/PZjZDo0
普通、RTX-11だよねぇw
2025/04/03(木) 23:36:05.82ID:F1+U/OXw0
pipe down
2025/04/04(金) 01:51:38.18ID:UMpXJcmx0
次スレ

Pythonのお勉強 Part75
https://mevius.5ch.net/test/read.cgi/tech/1743698824/l50

建てましたが、次回から、985が次スレを建ててくだしあ。
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 194日 15時間 37分 37秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はUPLIFT会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《UPLIFT会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
4 USD/mon. から匿名でご購入いただけます。

▼ UPLIFT会員登録はこちら ▼
https://uplift.5ch.net/

▼ UPLIFTログインはこちら ▼
https://uplift.5ch.net/login
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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