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


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

Pythonのお勉強 Part74



1 名前:デフォルトの名無しさん [2024/09/21(土) 10:14:02.15 ID:ZHy4g+PL0.net]
!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
↑スレ立てる毎に減るので、減ってたら3つに補充すること。

※前スレ
Pythonのお勉強 Part73
https://mevius.5ch.net/test/read.cgi/tech/1717631290/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured

685 名前:デフォルトの名無しさん (ワッチョイ cb10-+v22) mailto:sage [2025/02/17(月) 00:13:36.55 ID:S+Nz3ahz0.net]
要素に代入できるタプルというものを観念して、いわば特殊なタプルと位置付けてタプル概念に含める方向性で考えるのか、タプルとは区別して整理する方向性を指向するのかというのは、理屈としてはタプル概念の外縁の画定に関する1つの態度決定の問題だから、重要でないとはいえないだろうし、タプルに含める立場をとる場合でも、通常の意味でのタプル(immutableな固定長コンテナとしてのタプル)とは質的に異なるということを意識しておくことは実践的にも意味がある……と自分なんかは思うけど、人の考え方はさまざまだからね。674が、用語法の違いと同程度のどうでもいい問題だと思うのなら、実際674にとってはそうなんでしょ。そのことを否定はしないよ。

686 名前:デフォルトの名無しさん mailto:sage [2025/02/17(月) 00:31:13.10 ID:ROCyt//h0.net]
利用者から観察できんし内部処理知ってると最適化できる類のもんでもなさそう
今の処理系でどういう扱いしてるのか知りたいならわかるけど
個人的にはどうでもいい寄りというかあえて意識したくない話かな

687 名前:デフォルトの名無しさん mailto:sage [2025/02/17(月) 11:24:47.42 ID:5+w8yWyk0.net]
「正確にはタプルじゃない!」とイキった手前どんなに見苦しい言い訳を繰り返してでも自己正当化したいのだろう

688 名前:デフォルトの名無しさん mailto:sage [2025/02/17(月) 12:14:13.77 ID:kwgQ3IwM0.net]
タプルオブジェクトではないとでも言っておけば不毛なレスバしなくてよかったのにね

689 名前:デフォルトの名無しさん (ワッチョイ e327-g3m2) mailto:sage [2025/02/17(月) 12:36:50.89 ID:Ta1N8VfU0.net]
レスバしたという感覚はないし、そんなに間違ったことを書いたつもりもないんだけどな。678のいう「タプルオブジェクトではない」という表現の方が受け入れやすいということなら別にそれで構わないと思うし。

690 名前:デフォルトの名無しさん mailto:sage [2025/02/17(月) 16:30:08.05 ID:33cG7id30.net]
5chで細かいところまで正確に伝えるのは難しいんだし
あんまり気にしなくていいんじゃね
SNSは議論に向かないしさ

691 名前:デフォルトの名無しさん [2025/02/18(火) 01:50:34.73 ID:kyyl/iJD0.net]
辞書に追加する方法を教えてほしいです
存在しないキーを追加してその中にさらにキーを追加したいです
以下だとエラーになりました

https://pastebin.com/k1VaU5GZ

692 名前:デフォルトの名無しさん mailto:sage [2025/02/18(火) 02:55:12.14 ID:a4UZNug90.net]
>>681
d["tomorrow"] = {"トマト": 70}
ではどうだろう。(未検証)

693 名前:デフォルトの名無しさん [2025/02/18(火) 03:32:54.30 ID:kyyl/iJD0.net]
>>682
うまくいきました!
どうもありがとうございます!



694 名前:デフォルトの名無しさん [2025/02/18(火) 03:48:38.37 ID:kyyl/iJD0.net]

695 名前:"reply_link">>>681
この関連ですけど、辞書の中の辞書の一部のキーのバリューを変更するにはどうしたらいいですか?

todayのりんごの値はそのままでみかんだけ40にしたいです
[]
[ここ壊れてます]

696 名前:デフォルトの名無しさん [2025/02/18(火) 08:18:06.27 ID:goEKoJkr0.net]
>>684
値の変更はこれで良いのでは。

> d["tomorrow"]["トマト"] = 70 # これだとエラーになる

697 名前:デフォルトの名無しさん mailto:sage [2025/02/18(火) 08:51:43.27 ID:aG61gPOQ0.net]
混乱させるかもしれんけど標準モジュールcollectionsにあるdefaultdict使えば
from collections import defaultdict
d = defaultdict(dict, {"today": {"りんご": 100, "みかん": 50}})
d["tomorrow"]["トマト"] = 70
でエラーにならない
d["tomorrow"] の時点で {} が自動生成される

698 名前:デフォルトの名無しさん (ワッチョイ e5b1-+v22) mailto:sage [2025/02/18(火) 09:17:41.68 ID:UncCeV9C0.net]
get, setdefault, collections.defaultdict, __missing__ の違いについては、たしかEffectivePythonで2〜3項目さかれていたね。

699 名前:デフォルトの名無しさん [2025/02/18(火) 11:02:20.10 ID:HbHlBTpRa.net]
まあうまくいくだろうし便利だろうけど
キーのスペル間違いとかがチェックされない怖さはあるな

700 名前:デフォルトの名無しさん [2025/02/19(水) 07:26:57.60 ID:if5TaTL20.net]
亀レスすみません
みなさんありがとうございます

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

>>686
エラーにならず.getのように自動生成されるのはいいですね

701 名前:デフォルトの名無しさん mailto:sage [2025/02/19(水) 07:46:07.12 ID:ouE8cAfi0.net]
いきなり参照してエラーになるのは嫌なので、
いつもgetを使うようにしよう

というのは必ずしもいい考えじゃないんだよな
エラーにならない筈のものがエラーになるなら異常なので捕まえるべき
本気で何が入ってるか予想できないケースではgetを使うしかないけど、
そんな状況になるのも何か間違ってる

702 名前:デフォルトの名無しさん mailto:sage [2025/02/19(水) 08:27:04.14 ID:mSxUrXXi0.net]
noneが帰るならそれキャッチしとけば同じじゃない?

703 名前:デフォルトの名無しさん mailto:sage [2025/02/19(水) 09:44:18.83 ID:tY+HC/mE0.net]
新しいキーが挿入されるのはsetdefaultやcollections.defaultdictであって、getは別に新しいキーは挿入されないんじゃなかったっけ?



704 名前:デフォルトの名無しさん mailto:sage [2025/02/19(水) 16:01:59.58 ID:7/rbEKea0.net]
想定していないことは例外にする
局所的に意図してフォールバックさせたいときはget
恒常的にはdefaultってだけよ

705 名前:デフォルトの名無しさん (ワッチョイ cd54-3IcV) mailto:sage [2025/02/19(水) 20:05:14.43 ID:O180uynF0.net]
継承したクラスにあった__repr__()をそのまま使って欲しいのにうまく行かない

706 名前:デフォルトの名無しさん mailto:sage [2025/02/19(水) 21:58:33.63 ID:S2Edg5gIM.net]
keyerrorとかindexerrorとか事前にかわせるやつも例外にするのどうなの?
なんかコスト高そうな印象だけど

707 名前:デフォルトの名無しさん mailto:sage [2025/02/19(水) 22:19:23.68 ID:7/rbEKea0.net]
VMといえど高いし気になるならin (__contains__)を使えばとしか
オレはコードの意図がつかみやすいかで使い分けてる

708 名前:デフォルトの名無しさん mailto:sage [2025/02/19(水) 22:48:10.15 ID:/AQQIY230.net]
Rustとか最近の言語って例外ないらしいじゃない。そっちの方が優れているというのがコンセンサスになったらPython4とか5とかのメジャーパージョンアップのときにそちらに舵を切るということもありうるのかな? 自分は3以降でPythonを知ったので、2→3のときの大改革ってのは未経験なんだけど。

709 名前:デフォルトの名無しさん mailto:sage [2025/02/19(水) 22:56:14.91 ID:O180uynF0.net]
3での変更点って、ええー2ではまだそんなこと考えてたのという、
3が先進的というよりは2が後進的で、
pythonなら当然そうするでしょという感じなんだよな

2の頃はまだperlをメインに使ってた

710 名前:デフォルトの名無しさん mailto:sage [2025/02/19(水) 22:59:08.90 ID:aJXoRfiD0.net]
2はprintがステートメントで
ステートメント?!と驚いた
と思ったら3でもdelがステートメントでまた驚いた

711 名前:デフォルトの名無しさん mailto:sage [2025/02/20(木) 00:52:57.36 ID:laXgRgOS0.net]
パイチョンはインタプリタが全然頑張らないアホの子

712 名前:デフォルトの名無しさん mailto:sage [2025/02/20(木) 04:49:24.69 ID:2izZplM70.net]
毎日が新鮮な驚きに溢れて楽しそうですね

713 名前:デフォルトの名無しさん (ベーイモ MM2b-gW//) mailto:sage [2025/02/20(木) 11:00:03.67 ID:gDWkqRFJM.net]
>>697
Pythonは、ぼくこんぴゅーたのむずかしいことわかんないけどえーあいあぷりつくるんだもん!な子を満足させる使命があるから例外は必要
彼らが例外を放置してもアプリが止まってしまわないのはフレームワークが最終的にケツを拭いてくれているおかげ



714 名前:デフォルトの名無しさん mailto:sage [2025/02/20(木) 19:27:27.78 ID:qCo+divFH.net]
例外処理って必要?
書かなくてもPython自身が例外を出して止まるよね

715 名前:デフォルトの名無しさん mailto:sage [2025/02/20(木) 19:58:06.02 ID:YvSU5J1d0.net]
変な値が入力されたらエラーを表示したい
でも入力部分はずっと下の階層の処理なので、
エラーの情報を上までバトンリレーしないといけない
例外なら言語がやってくれる

716 名前:デフォルトの名無しさん [2025/02/21(金) 06:33:27.06 ID:dPC4thbz0.net]
ギャンブルのデータ分析?とai予想したいのですが、どういう環境がいいんでしょうか?
anacondaが定番のような気がしますが、ローカルだとマシンパワーがどうなのかなと。

unityみたいなゲームエンジン上でも出来たりしますか?

717 名前:デフォルトの名無しさん mailto:sage [2025/02/21(金) 10:53:50.45 ID:ebrhUf4S0.net]
GoogleのColabでええよ

718 名前:デフォルトの名無しさん [2025/02/21(金) 11:17:38.16 ID:0EY3V3nR0.net]
>>703
例外処理っていうのは例外が発生した場合にリカバリー可能な処理を書くんだぞ
その辺わかってなくて単純に例外の時にって思ってる奴が多い

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

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

こういう風にリカバリー可能な処理を書くのが例外処理やで

719 名前:デフォルトの名無しさん [2025/02/21(金) 11:41:35.66 ID:vI88dzmZa.net]
>>705
もちろんUnityでも出来るよ

720 名前:デフォルトの名無しさん [2025/02/21(金) 13:53:02.83 ID:dPC4thbz0.net]
>>708
一般的にデータ分析ってアナコンダとか使うんですかね?
ゲーム目的じゃないですから

721 名前:デフォルトの名無しさん [2025/02/21(金) 15:26:48.94 ID:NDdeWha40.net]
現実世界の様子やUIを理解してタスクをこなせるマルチモーダルAIエージェントの基盤モデル「Magma」をMicrosoftが発表
https://gigazine.net/news/20250221-microsoft-magma/

悪用されている

722 名前:デフォルトの名無しさん [2025/02/21(金) 17:14:00.29 ID:0EY3V3nR0.net]
>>709
anacondaというよりjupyterを使う
なのでgoogle colabでも良いしvscodeのプラグイン入れてでも良い

723 名前:デフォルトの名無しさん [2025/02/21(金) 18:41:20.24 ID:dPC4thbz0.net]
>>711
ありがとう
jupyterlってのが必要なんすね
機械学習をunityでやろうとしてましたけど、それと別途で用意します



724 名前:デフォルトの名無しさん [2025/02/21(金) 18:53:52.10 ID:YTEtnXyW0.net]
>>712
>>711みたいな馬鹿を信じるなよ

725 名前:デフォルトの名無しさん [2025/02/21(金) 19:06:12.50 ID:hCnqiwLw0.net]
LLM の推論機能を活用する新しいバックドア攻撃「DarkMind」が提唱される
https://gigazine.net/news/20250221-darkmind-chain-of-thought/

AIはチェスで負けそうになるとチートする
https://gigazine.net/news/20250221-ai-chess-cheating/

726 名前:デフォルトの名無しさん [2025/02/21(金) 23:21:50.44 ID:TllVjNz50.net]
from datetime import datetime

t_start: str = "23:00"
t_end: str = "24:00"
t_start_dt: datetime.datetime = datetime.strptime(t_start, "%H:%M")
t_end_dt: datetime.datetime = datetime.strptime(t_end, "%H:%M")
unix_t_start: float = t_start_dt.timestamp()
unix_t_end: float = t_end_dt.timestamp()

x = int(unix_t_end - unix_t_start)

print(x)

t_endが24だと以下のエラーが出ます
24時間表記の時は%Hではないんでしょうか?

ValueError: time data '24:00' does not match format '%H:%M'

727 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 00:07:13.49 ID:Oo9CzgQsM.net]
>>715
知らんけど時間って
00:00:00~23:59:59
ちゃうの?

728 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 00:28:58.03 ID:rVspP8iQ0.net]
不親切なエラーだよね

729 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 00:58:09.16 ID:eBlj03Lj0.net]
境界値の問題って定番じゃね
テストケースにも必ずいれるだろ

730 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 07:44:50.26 ID:mdQ5EfsK0.net]
閏秒なんか廃止で当然だよな

731 名前:デフォルトの名無しさん [2025/02/22(土) 12:10:03.03 ID:kWiPacnr0.net]
>>716
ありがとうございます
このようにしてみましたがもっとスマートな方法ってありますか?

from datetime import datetime

t_start: str = "23:00"
t_end: str = "24:00"
if t_end[0:2] == "24":
t_end = f"00:{t_end[3:5]}"
t_start_dt: datetime.datetime = datetime.strptime(t_start, "%H:%M")
t_end_dt: datetime.datetime = datetime.strptime(t_end, "%H:%M")
unix_t_start: float = t_start_dt.timestamp()
unix_t_end: float = t_end_dt.timestamp()
if t_end[0:2] == "00":
unix_t_end += 86400 # 24時間足す
x = int(unix_t_end - unix_t_start)
print(x)

732 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 12:19:18.21 ID:mdQ5EfsK0.net]
何がしたいのか不明だけど、時間の計算にはtimedeltaを使う

733 名前:デフォルトの名無しさん [2025/02/22(土) 12:35:47.16 ID:kWiPacnr0.net]
>>721
ありがとうございます
調べてみます



734 名前:デフォルトの名無しさん [2025/02/22(土) 12:42:40.44 ID:kWiPacnr0.net]
やりたいことはt_startとt_endの中に入ってる文字列の時刻の差分を求めたいです

735 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 12:44:39.38 ID:mdQ5EfsK0.net]
といいつつ、日付ではなく時間の長さをhh:mm:ss形式で書きたい時用に、
秒単位のfloatと文字列の相互変換ライブラリを自作した
標準にはいいの無い

736 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 12:51:12.03 ID:mdQ5EfsK0.net]
うちのライブラリで書くと、
delta = str_sec(t_end)-str_sec(t_start)
print(sec_str(delta))
こんな感じになる

737 名前:デフォルトの名無しさん [2025/02/22(土) 13:11:12.71 ID:kWiPacnr0.net]
途中経過ですけど今こんな状態です

t_start: str = "23:00"
t_end: str = "24:00"

dt_now = datetime.now()
t_start_dt = datetime(year=dt_now.year, month=dt_now.month, day=dt_now.day, hour=int(t_start[0:2]), minute=int(t_start[3:5]))
if t_end[0:2] == "24":
dt_d = dt_now.day + 1 # もし現在が月の最終日だとエラーになる "ValueError: day is out of range for month"
t_end_dt = datetime(year=dt_now.year, month=dt_now.month, day=dt_d, hour=0, minute=int(t_end[3:5]))
else:
t_end_dt = datetime(year=dt_now.year, month=dt_now.month, day=dt_now.day, hour=int(t_end[0:2]), minute=int(t_end[3:5]))
x = t_end_dt - t_start_dt
print(t_start_dt)
print(t_end_dt)
print(x)

738 名前:デフォルトの名無しさん [2025/02/22(土) 13:58:51.98 ID:kWiPacnr0.net]
何度もすみません
とりあえずこうなりました
なんだが余計に長くなった気がします

from datetime import datetime

def strToDt(str_dt: str):
dt_now = datetime.now()
# TODO 25や26の場合があるかもしれないので24決め打ちはやめる
if str_dt[0:2] == "24":
next_dt = dt_now + timedelta(days=1)
dt_dt = datetime(year=next_dt.year, month=next_dt.month, day=next_dt.day, hour=0, minute=int(str_dt[3:5]))
else:
dt_dt = datetime(year=dt_now.year, month=dt_now.month, day=dt_now.day, hour=int(str_dt[0:2]), minute=int(str_dt[3:5]))
return dt_dt


t_start: str = "23:00"
t_end: str = "24:00"

t_start_dt = strToDt(t_start)
t_end_dt = strToDt(t_end)

x = t_end_dt - t_start_dt
print(t_start_dt)
print(t_end_dt)
print(x) # 時間:分:秒 形式
# TODO xを分形式に変換する

739 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 14:01:58.99 ID:92tqsAYeM.net]
初学者だと思うけど
end>startが保証されてるなら
>725

740 名前:
みたいに秒に変換して引き算が正解じゃない?
[]
[ここ壊れてます]

741 名前:デフォルトの名無しさん [2025/02/22(土) 14:16:15.84 ID:kWiPacnr0.net]
>>728
Endが24までなのか25や26もあるのか、それとも24の次は1なのか確実じゃないのでその辺考えて修正してみます
やっぱりタイムスタンプに変換した方が短くなりますか?
あと、727のインポートでtimedeltaが抜けてました

742 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 14:22:19.90 ID:mdQ5EfsK0.net]
print(datetime.now())
これの出力が
2025-02-22 14:20:40.735896
これになるのが嫌
秒を整数にしてくれたらそのまま使えるのに

743 名前:デフォルトの名無しさん [2025/02/22(土) 15:29:44.08 ID:kWiPacnr0.net]
何度もすみません
こうなりました
今のところt_startよりもt_endが小さいとエラーになります

https://techiedelight.com/compiler/?119b



744 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 18:46:10.84 ID:/k68f2f30.net]
pandasなら+“:00”してHH:mm:ss形式に揃えれば25:00や26:00でもパースできるけど簡単な処理だから自分で計算すればいいんじゃないかと思う

def parse_as_minutes(hhmm):
 hours, minutes = [int(x) for x in hhmm.split(':')]
 return hours * 60 + minutes

745 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 18:52:17.77 ID:mdQ5EfsK0.net]
そんなのを毎回作ってられない
2回くらいは作る
3回目あたりで、本腰入れて部品化する

746 名前:デフォルトの名無しさん (ワッチョイ 43ce-qk/j) [2025/02/22(土) 23:02:04.13 ID:eBlj03Lj0.net]
>>731
https://techiedelight.com/compiler/?96ec
これじゃ駄目なのか?

747 名前:デフォルトの名無しさん mailto:sage [2025/02/22(土) 23:31:26.22 ID:d1IFpLYA0.net]
劣化しとるやないかーい

748 名前:デフォルトの名無しさん (ワッチョイ 6e9a-1YEc) [2025/02/23(日) 09:47:38.74 ID:BUMkVt7f0.net]
個人レベルで機械学習学んでも意味無いですかね?
例えば競馬予想aiを作りたいとして
しかし、けっきょくのところデータがないと、学習モデルだけあっても意味ないですもんね

競馬なら馬場状態を数値化したデータというのがないと、学習させられないですよね

749 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 10:33:41.64 ID:2+mAKcn80.net]
>>730
そのくらいは標準で簡単に出来るだろ

750 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 10:36:52.09 ID:foL9AaqB0.net]
>>736
自分で学習すりゃいいじゃん
データなんていくらでもあるんだし

751 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 11:58:59.62 ID:uSqDrBD8M.net]
>>736
他人の後追いするぐらいなら他人のシステム使えばよい

競輪なんて放送でAI予想の倍率出しながら中継してる

752 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 12:29:42.21 ID:TNVZaLWv0.net]
オッズの計算に投票だけではなくAI予想も加味したら、
面白さと利益率が上がるのでは

753 名前:デフォルトの名無しさん [2025/02/23(日) 13:11:05.65 ID:BUMkVt7f0.net]
>>739
例えばバンクのホコリっぽさとか、選手の体調とか、そういった不確定要素ってデータがないですよね
なので、公式のデータ以外ないとするなら、あまりやる意味がないのかなと



754 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 13:17:20.60 ID:TNVZaLWv0.net]
確率が計算できて、オッズがその確率通りならば、どこに賭けても期待値は同じ
実際には、確率とオッズに乖離が発生する
そこに着目して、確率の高いところではなく、期待値の高いところに掛けると儲かるかもしれない

755 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 14:34:58.45 ID:uSqDrBD8M.net]
>>741
競輪AIだと雨が降ってると硬い結果になる

選手が雨の中危険な勝負して事故ったりしたくないんだろ

756 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 15:42:44.26 ID:TNVZaLWv0.net]
early continue 便利だな
行は増えるけどネストは浅い方がいいので積極的に使おう

757 名前:デフォルトの名無しさん [2025/02/23(日) 16:11:59.81 ID:r171NbV30.net]
>>744
横からだけどサンクスこれいい

758 名前: []
[ここ壊れてます]

759 名前:デフォルトの名無しさん (ワッチョイ cd79-Ro5/) mailto:sage [2025/02/23(日) 16:59:33.82 ID:SH8eoGXi0.net]
そんな言い方があるんだな
同じように関数で場合分けごとにさっさとreturnしてるけど
これもearly returnっていうのを知らなかった

760 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 17:13:57.05 ID:TNVZaLWv0.net]
例えばループで文字列を処理していて
m = re.search(pattern, str)
found = m.groups()[0]
これだと見つからない時にエラーになる

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

最初から m = のままで、
if not m:
 continue
を付ければすっきりする
セイウチは絶滅の方向で

761 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 18:43:24.49 ID:ap5ufkCU0.net]
それ最初からelse: continue必要ないじゃん

762 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 19:01:50.10 ID:TNVZaLWv0.net]
elseをほっとくと、foundの中身が不定になってしまう
事前にNoneを入れておいたりして、後の処理でNoneなら飛ばす
みたいなことになる
そんなことするくらいなら、continueしてしまった方が後腐れない

763 名前:デフォルトの名無しさん (アウアウウー Sa39-c/TO) [2025/02/23(日) 19:46:23.76 ID:CZU86cpwa.net]
>>709
Unityがゲームしか造れないという考え方は改めるべき



764 名前:デフォルトの名無しさん (アウアウウー Sa39-c/TO) [2025/02/23(日) 19:48:54.69 ID:CZU86cpwa.net]
re.findall(pattern, str)

765 名前:デフォルトの名無しさん (ワッチョイ 0154-ePnC) mailto:sage [2025/02/23(日) 20:05:27.12 ID:TNVZaLWv0.net]
もしかしてfindallって全ての点でsearchに勝ってる?

766 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 20:54:18.71 ID:ap5ufkCU0.net]
なんでだよw
めちゃくちゃ要領悪いな

767 名前:デフォルトの名無しさん [2025/02/23(日) 22:37:16.02 ID:R0b4DHIEd.net]
>>749
gotoを多用しそうな人発見

768 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 23:03:58.66 ID:LVu8ljPH0.net]
pythonのreはAPI設計に難があるよね
他の言語から戻って来るたびに仕様の確認が必要

769 名前:デフォルトの名無しさん mailto:sage [2025/02/23(日) 23:09:23.71 ID:TNVZaLWv0.net]
perlから来たからsearchばっかり使ってるけど、
findallの方がこなれてそうだな

770 名前:デフォルトの名無しさん (ワッチョイ 6e9a-1YEc) [2025/02/24(月) 05:49:40.37 ID:ujJrcFED0.net]
>>750
tensorflowとかunityで使えるんすか(´・ω・`)

771 名前:デフォルトの名無しさん (ワッチョイ 752a-xrb0) [2025/02/24(月) 08:23:49.32 ID:TCszVRfv0.net]
>>747
> 最初から m = のままで、
> if not m:
>  continue
> を付ければすっきりする
> セイウチは絶滅の方向で

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

if not (m := re.search(pattern, str)):
 continue

772 名前:デフォルトの名無しさん mailto:sage [2025/02/24(月) 12:12:57.30 ID:4WrA9fgL0.net]
>>758
747じゃないがセイウチはどうもPythonicじゃない感ある
他言語のletみたいにスコープも閉じてないし

773 名前:デフォルトの名無しさん mailto:sage [2025/02/24(月) 14:57:43.47 ID:d83yxTtH0.net]
いくつかのパターンのどれかに合致する、みたいな時は
if m :=
elif m :=
elif m :=
みたいにしか書きようがない
パターン検査と結果取得を同時に書かないと、同じことを2回書くことになる



774 名前:デフォルトの名無しさん mailto:sage [2025/02/24(月) 15:09:39.96 ID:Jwc6B7rV0.net]
>>756
ほんとにperl使ってた?
gフラグ + リストコンテキストを真似したのがfindallなんだが

775 名前:デフォルトの名無しさん mailto:sage [2025/02/24(月) 15:27:48.14 ID:d83yxTtH0.net]
だからこそ、1行で決まった数キャプチャーする時はsearchで、
全体からいくつあるか判らないけどあるだけ取ってくる時はfindallという使い分け

という設計だったけど、
1回しかマッチしないと判っててもfindallして[0]だけ使う方が使いやすいっていう

776 名前:デフォルトの名無しさん mailto:sage [2025/02/24(月) 15:29:10.34 ID:4WrA9fgL0.net]
>>760
人それぞれではあるけども
検査先を単一にしてパターンマッチングに持ち込めないんなら
一緒くたにしないで個別のifと必要なら早期return/continueにする
Pythonの簡潔さって表現力があって強力な他言語とは趣がちがう

777 名前:デフォルトの名無しさん mailto:sage [2025/02/24(月) 16:51:44.97 ID:Jwc6B7rV0.net]
>>762
pythonでも使い分けできてないみたいだな
自分の不出来をperlのせいにしたらだめだぞ

778 名前:デフォルトの名無しさん [2025/02/24(月) 17:00:02.49 ID:qXEt7oPpr.net]
C#のLINQは優秀だよな
async/awaitみたいにあれも貰ってきてくれよ

779 名前:デフォルトの名無しさん mailto:sage [2025/02/24(月) 18:19:27.76 ID:xkCGwjl20.net]
>>760
そういうのはパターンとアクションをコレクションにまとめる

780 名前:デフォルトの名無しさん mailto:sage [2025/02/24(月) 18:26:57.10 ID:d83yxTtH0.net]
具体的に何してるか書くと、日付や時刻をファイル名に含んだいろんなファイルを時系列ソートする
日付時刻の表記方法は10種類あって、どれでもない場合はタイムスタンプで代用する
日付は必ず含むが、時刻は無い場合もある

なかなか統一的には書けないので、if m := elifのかたまりになる

781 名前:デフォルトの名無しさん [2025/02/24(月) 18:37:53.69 ID:qXEt7oPpr.net]
都度ファイル名を解析して時系列ソートするんじゃなくて一発バッチでファイル名を統一してしまうわけにはいかんのか

782 名前:デフォルトの名無しさん mailto:sage [2025/02/24(月) 19:03:25.46 ID:Ts/aFZR80.net]
>>767
そういうのこそコレクションにまとめるべき
10個もif-elseで同じことしない

783 名前:デフォルトの名無しさん mailto:sage [2025/02/24(月) 22:53:00.73 ID:Wgnd8zr+0.net]
本人は同じ処理を繰り返し書いてる認識自体がないんじゃないかな
すごくベーシックなリファクタリング方法だけどメソッド抽出やクラス分割や統合に比べて認識できない人が多い印象がある



784 名前:デフォルトの名無しさん [2025/02/25(火) 09:13:08.75 ID:DokSK96w0.net]
>>770
コードを例示してあげなよ。
プログラム板でコードで話さないのもどうかと思うよ。ベーシックならそうマル秘でもないのでしょう。

785 名前:デフォルトの名無しさん [2025/02/25(火) 09:54:29.03 ID:XzpdRQ1Sa.net]
769がwinprocのWM_hogehogeのifelse観ると卒倒するだろうな

786 名前:デフォルトの名無しさん mailto:sage [2025/02/25(火) 17:56:27.99 ID:PjrSO8Sc0.net]
コンテキストが全然違うから比べる意味がない

787 名前:デフォルトの名無しさん mailto:sage [2025/02/25(火) 19:31:30.09 ID:z5mNSc8+0.net]
数百個のswitch caseは別に見にくいとは思わんのよな
むしろ追加が簡単だからわかりやすい

788 名前:デフォルトの名無しさん (ワッチョイ cd01-p51G) mailto:sage [2025/02/25(火) 23:57:48.17 ID:xhjdbHGf0.net]
>>771
わざわざ例示するのもちょっと恥ずかしいが一例を書いておく

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

他言語でstatic dispatchが求められる用途ではもちろん使わない

789 名前:デフォルトの名無しさん (ワッチョイ 0154-ePnC) mailto:sage [2025/02/26(水) 00:09:16.17 ID:wJOChXEu0.net]
各funcがそれぞれ違う内容の筈という前提があるけど、
殆どそっくりなfuncが延々と並んだら、もう少し頭いいやり方があるのでは、と思うだろう

790 名前:デフォルトの名無しさん mailto:sage [2025/02/26(水) 00:50:58.38 ID:xhjdbHGf0.net]
うーん
そっくりじゃないから違う処理をしてる(と思ってる)
違う処理をしてるから統一的に書けない(と思ってる)
というのがまさに「本人は同じ処理を繰り返し書いてる認識自体がない」状態なんだがなぁ

791 名前:デフォルトの名無しさん mailto:sage [2025/02/26(水) 01:45:33.67 ID:TQg7w7Pj0.net]
argparseとかUIのイベント処理がそんな感じだけど
数が増えたらボイラープレートだらけで美しくないんだよな

792 名前:デフォルトの名無しさん [2025/02/26(水) 02:08:13.92 ID:O0INS9IK0.net]
日付のパターン 正規表現にして その日付部分を引っ張り出してきて 戻り値にすればいいのでは

793 名前:デフォルトの名無しさん mailto:sage [2025/02/26(水) 07:46:22.98 ID:EieBhFTu0.net]
あー、それだ
30時間制でhourが23を超えてたら、24引いて1日足す、みたいな処理もあって、
それを各関数でやってられない
最終的に欲しいのはdatetimeのオブジェクトで、その変換も一括でやりたい
で、全体を一つの処理にしてたけど、一番プリミティブな抽出部分だけ関数化すればいいのか
日付と時刻をバラバラで返すのは嫌すぎるのでclassにする



794 名前:デフォルトの名無しさん [2025/02/26(水) 09:52:35.13 ID:z2nMevLL0.net]
>>776
もう少し頭いいコードを示すと良いのでは。
10パターンの日時表現を1パターンに収斂、統一させる。殆どそっくりなfuncも収斂させるのだろうか。

795 名前:デフォルトの名無しさん mailto:sage [2025/02/26(水) 12:34:12.97 ID:RZQSvPw/0.net]
実際のパターン提示されてないし
一般化したい欲求から来てるのにそんな冗長なコード書くか?

796 名前:デフォルトの名無しさん mailto:sage [2025/02/26(水) 13:24:03.55 ID:XqJTS5Fa0.net]
実際でなくていいよ。適当にググったこんなので。
2025-02-26T23:45:12.34.txt
Wed 02-26-2025.dat
Wed 26 Feb 2025 11:45:12 PM.txt

797 名前:デフォルトの名無しさん mailto:sage [2025/02/26(水) 16:51:32.29 ID:w6olCj090.net]
その例だけならarrow使えば正規表現使わなくても簡単にできるよ
25時とかは守備範囲外なので別途事前処理が必要

798 名前:デフォルトの名無しさん mailto:sage [2025/02/26(水) 17:07:33.10 ID:n89P36ao0.net]
ubuntu22.04,python3.10.12でUSBカメラ繋いで撮った動画を保存するプログラム作ろうとしたんだけど保存した動画が再生出来ないや
静止画を結合して動画にする事はできたからコーデック的な問題ではないと思うんだけど
import cv2

cap=cv2.VideoCapture(0)
width,height=int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)),int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
out=cv2.VideoWriter("/home/taro/Videos/result.avi,cv2.VideoWriter.fourcc(*"DIVX"),30.0,(width,height),isColor=True)
print("録画を開始します")
try:
  while cap.isOpened():
    ret, frame=cap.read()
    if ret:
      out.write(frame)
      cv2.imshow("frame",frame)
      if cv2.waitkey(1) & 0xFF ==ord("q"):

        break
    else:
      break

except KeyboardInterrupt:
  print("録画を終了します")
finally:
  cap.release()
  out.release()
  cv2.destroyAllwindows()

799 名前:デフォルトの名無しさん mailto:sage [2025/02/26(水) 19:37:57.30 ID:j/LMUKKxa.net]
aiに聞けよ

800 名前:デフォルトの名無しさん (ワッチョイ 8d59-D2xv) [2025/02/27(木) 11:58:07.92 ID:80QDg94G0.net]
jsonファイルが開けません。何が原因でしょうか?

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

https://jsonlint.com
jsonファイルの中はここで念のためチェックしました

801 名前:デフォルトの名無しさん (ワッチョイ 3d63-Ek8k) mailto:sage [2025/02/27(木) 12:05:58.52 ID:C53SLMw00.net]
>>787
json.loadsは文字列やバイト列しか受け取れない
fは文字列ではない

802 名前:デフォルトの名無しさん (ワッチョイ 8d59-D2xv) [2025/02/27(木) 12:07:08.33 ID:80QDg94G0.net]
>>787
自己レス
json.loadとjson.loadsは異なるようでjson.loadだと開けました

803 名前:デフォルトの名無しさん (ワッチョイ 8d59-D2xv) [2025/02/27(木) 12:07:38.80 ID:80QDg94G0.net]
>>788
すみません!どうもありがとうございます



804 名前:デフォルトの名無しさん (ワッチョイ 8d59-D2xv) [2025/02/27(木) 12:10:05.49 ID:80QDg94G0.net]
修正してこれだと動きました
https://techiedelight.com/compiler/?3c4203

805 名前:デフォルトの名無しさん [2025/02/27(木) 13:28:56.13 ID:VQNvJTxha.net]
伝わらないのは相手のスキーマに落として話してないから。
言い方がまずいのではなく、相手の思考に合わせて話さないから伝わらないという内容だったと理解しています。
普段からこの点に注意して周りの人と接するようになりました。

806 名前:デフォルトの名無しさん [2025/02/27(木) 13:29:27.69 ID:VQNvJTxha.net]
最後に生成aiが人と同じ思考をしないという記述がありました
特性をよく理解して使う必要があると思いました

807 名前:デフォルトの名無しさん mailto:sage [2025/02/27(木) 13:52:24.42 ID:/ts2T7b80.net]
スキーマなどない。我が拳は我流。我流は無型。無型ゆえに誰にも読めぬ。

808 名前: mailto:sage [2025/02/27(木) 14:01:47.40 ID:VQNvJTxha.net]
ごめん
何言ってるか判らん

809 名前:デフォルトの名無しさん mailto:sage [2025/02/27(木) 17:32:51.11 ID:ZgFfKBZe0.net]
お互いに心のスキーマ埋めて話せよ
ここはエスパーが集う優しいスレッドだぞ

810 名前:デフォルトの名無しさん [2025/03/02(日) 15:48:38.13 ID:HilFpukh0.net]
a-shellの質問はここでいいの?
iPhone、iPad用のPython用シェルなんだけど

811 名前:デフォルトの名無しさん mailto:sage [2025/03/02(日) 15:56:55.60 ID:/YCrqC3g0.net]
コマンドで出来ることをPythonで作ってcmdで起動させてるんだけどなんかもやる。いい方法なんか無いかなあ。

812 名前:デフォルトの名無しさん mailto:sage [2025/03/02(日) 16:10:57.40 ID:NOlVOyMW0.net]
コマンドでできることをpythonのosモジュールにやらせるとちゃんと動かなかったりするので、
cmdをsubprocessから実行させたりする
もう高級batファイル

813 名前:デフォルトの名無しさん [2025/03/02(日) 17:51:07.79 ID:89Av+BX/0.net]
>>798
コマンドで出来ることをコマンドにさせない理由が伝わらないので、もやるのが何故か分からない。



814 名前:デフォルトの名無しさん [2025/03/02(日) 17:59:44.66 ID:JAzjPHpUa.net]
コマンドで出来ることをPowerShellで作ってcmdで起動させてる人なんかはもやらないんだろうか

815 名前:デフォルトの名無しさん [2025/03/02(日) 18:19:18.79 ID:xrnlJRcX0.net]
お勉強スレだから頭の悪い人ばっかなの?

816 名前:デフォルトの名無しさん mailto:sage [2025/03/02(日) 19:39:01.42 ID:YF6lVSQXM.net]
コマンドは一部職人芸みたいなのがあるとメンテが難しいからPowershellかアプリの場合もあるでしょ

817 名前:デフォルトの名無しさん mailto:sage [2025/03/02(日) 19:44:47.14 ID:NOlVOyMW0.net]
最近 for /f 知ったけど、むっさ便利

818 名前:デフォルトの名無しさん mailto:sage [2025/03/03(月) 04:16:34.72 ID:NAxKZqvR0.net]
*nix shell scriptくらいがちょうどいい

819 名前:デフォルトの名無しさん [2025/03/03(月) 05:26:11.89 ID:xAYnQ1Zo0.net]
コードを視覚化したいのですが、オブジェクト同士の通信と、オブジェクトが持つコードを同時に表現出来るものでしょうか?
前者はクラス図、後者はフローチャートでやるものだと思いますが
マーメイド使ってます

820 名前:デフォルトの名無しさん [2025/03/04(火) 00:26:35.01 ID:r0fJoym10.net]
フローチャートの定義済みの処理でいいんじゃないの
双方向に矢印書けば、オブジェクト同士の通信になるし

821 名前:デフォルトの名無しさん mailto:sage [2025/03/04(火) 00:37:06.85 ID:JHGbD3as0.net]
厳密に書ける図しか出てこないんだよな
こまけぇこたぁいいんだよ、の図が一番判り易いのに

822 名前:デフォルトの名無しさん [2025/03/04(火) 17:23:52.29 ID:9TXFpBaY0.net]
matplotlibでグラフ作成するプログラムをPyinstallerでexe化し、別PCで動かしたら「フォントがねぇ!」
って怒られるんだけど、Pyinstallerでビルドするときにフォントを内蔵し、
別PCでフォントをインストールすることなく実行する方法ってありますでしょうか。

823 名前:デフォルトの名無しさん (ワッチョイ 9901-3FuH) mailto:sage [2025/03/04(火) 18:02:09.59 ID:c62Mny0R0.net]
専用のフォントファイル使ってるならpyinstallerの--add-dataでexeにフォントファイル追加して
実行側のmatplotlib.FontManager.addfontで追加したフォントファイル読み込めばいいんじゃね?
試してないけど



824 名前:デフォルトの名無しさん [2025/03/05(水) 07:05:35.50 ID:DooANywKa.net]
代替フォントで表示されて
元のグラフと違う!って怒り出すまでがデフォ

825 名前:デフォルトの名無しさん [2025/03/05(水) 10:17:47.61 ID:k4iH0qBY0.net]
こういう時こそ例外処理だ

826 名前:デフォルトの名無しさん [2025/03/05(水) 10:56:01.18 ID:t/BpZiCN0.net]
そもそもexeにして配布してもアンチウィルスソフトに引っ掛かるのがオチ
なんでstreamlitとかでWebって発想が無いのか

827 名前:デフォルトの名無しさん mailto:sage [2025/03/05(水) 12:29:12.97 ID:jqEKzIeO0.net]
>>811
㌧クス
内蔵した後のファイル呼び出し手間取ったけど実装出来ました。

>>813
そもそも配布するつもりはなくって、レアフォント使うからって言う理由があったんです。

828 名前:デフォルトの名無しさん mailto:sage [2025/03/05(水) 12:29:36.75 ID:jqEKzIeO0.net]
安価ミスった
>>810
だったじゃん・・・

829 名前:デフォルトの名無しさん mailto:sage [2025/03/05(水) 12:40:03.54 ID:je2apegZd.net]
809ではないけど、俺もStreamlitでダッシュボード作ったことあるんだけどデータソースが機密度高すぎてとてもインターネットにはデプロイできないので、社内サーバで運用してたのだがこれはこれで面倒くて
ElectronのPython版みたいなのあれば良いのにとは思うんだが
eelとかpywebviewとかビックリするほど情報少ない、需要無いんだろうけど

830 名前:デフォルトの名無しさん [2025/03/05(水) 17:42:14.00 ID:t/BpZiCN0.net]
>>816
AzureやAWSやGCPにデプロイすれば良いじゃん
VNET使って外から切り離してその後ろに鯖立てる
更にWebページ自体にSSOで多分365とか使ってるだろうからEntraIDで認証

831 名前:デフォルトの名無しさん (アウアウウー Sa1d-8P30) [2025/03/05(水) 18:42:44.64 ID:wl9RyfHna.net]
djangoだけでもいいけどSPAにしたければ
Vue.jsとかExt.jsとかと組み合わせる

832 名前:デフォルトの名無しさん [2025/03/05(水) 20:27:38.71 ID:k4iH0qBY0.net]
masterからbranch切ってコミットして、VSCodeにSyncronizeってボタンでたからそれ押したらmasterブランチで?に?pushされた
これってコマンドだとどういうコマンド使ったことになるの?

何か嫌だったからmasterブランチの方はpullしてrevertして、masterと新しく切ったbranchをpushしなおした

833 名前:デフォルトの名無しさん [2025/03/05(水) 20:28:07.14 ID:k4iH0qBY0.net]
gitスレと間違えちゃった



834 名前:デフォルトの名無しさん [2025/03/06(木) 13:35:09.45 ID:SW3gTDW+M.net]
ブランチは切るものなのかw

835 名前:デフォルトの名無しさん (ワッチョイ b154-IWyi) mailto:sage [2025/03/06(木) 19:16:56.29 ID:I5dHg2CT0.net]
生やす

836 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 19:59:07.22 ID:mUwM1gxX0.net]
新たな方向への舵とかチケットを「切る」イメージなんだろうけど、
branchは枝だから、せっかく生やしたものを切ってしまってはまずいなw

837 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 20:50:07.68 ID:pxVL1qQZ0.net]
英語でcut a branchと言うのを訳したものなので舵を切るやチケットを切るの切るとはまた違う

838 名前:デフォルトの名無しさん [2025/03/06(木) 20:52:35.77 ID:vk5/DvbY0.net]
そんなん使いだした奴に言うてくれよw

839 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 20:57:42.50 ID:ciT+lRoRM.net]
おい!新人!
ブランチ切っといて!
はい!喜んで!(削除)

840 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 21:06:41.75 ID:I5dHg2CT0.net]
アルファ・ベータ法でカットした筈の枝が生えそうだな

841 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 21:16:19.73 ID:MrSWvjk80.net]
ブランチ切るって使うけど界隈によるんかな

842 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 21:37:30.89 ID:mUwM1gxX0.net]
>>824
"cut a branch"は一般的な「枝を切る」ってだけの話で、
Gitでは"create a branch"じゃないの?
両者はまるで反対の意味になるし

843 名前:デフォルトの名無しさん [2025/03/06(木) 22:04:30.15 ID:mLXV+Jap0.net]
>>823
プラナリアに切れ目を入れるイメージ



844 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 23:02:53.82 ID:hP34p9/Z0.net]
cut a branchは「(枝道を)切り開く」のニュアンスかな
cutting edgeとかcut one's wayのcut
直訳の「切る」だと通じない

845 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 23:11:01.62 ID:I5dHg2CT0.net]
cutting edgeは切断面のイメージだけどな

846 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 23:19:51.18 ID:pxVL1qQZ0.net]
>>829
gitとかのコンテキストでのcut a branchはcut a branch from masterとかcut a branch off of trunkを短く言ってるもので大元のものからisolateされた状態にするイメージ

847 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 23:28:56.20 ID:I5dHg2CT0.net]
branchは分岐してるだけで本体とは繋がってるのに、
それをcutされたものと言っちゃうのはどうやっても誤解の原因になる
それが面白いという悪ふざけや言葉遊びならいいけど、
あまりオフィシャルには使えない

848 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 23:39:18.99 ID:pxVL1qQZ0.net]
例えばこことか公式ドキュメントで普通にcutが使われてるよね
https://tvm.apache.org/docs/v0.12.0/contribute/release_process.html#cut-a-release-candidate

英語でも日本語でも何十年も前から定着してる言い回し

849 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 23:45:48.92 ID:pxVL1qQZ0.net]
英語の辞書に載ってる意味で言うと↓ここのtransitive verbの3-cが一番近い
https://www.merriam-webster.com/dictionary/cut

850 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 23:46:35.04 ID:I5dHg2CT0.net]
Cut a Release Candidate
はリリース候補として何かのリビジョンを切り出すんだよ
分岐のイメージは無い
リリースしたものがその後育ったら困る

851 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 23:50:52.31 ID:I5dHg2CT0.net]
3-cの例文の
チームから切り離すとか、群れから切り離すのも、明確に分離している
分離と分岐は全然違う

852 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 00:34:50.26 ID:CROu0DDs0.net]
ブランチを作る目的は互いの変更が影響しあわない分離された開発ラインを仮想的に作ること

cutという単語が使われるのは分岐よりも分離に主眼があるから

853 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 01:44:12.43 ID:IYsfuX5M0.net]
枝道に逸れてサボってるお前らの給料をcutしよう



854 名前:デフォルトの名無しさん [2025/03/07(金) 02:22:26.83 ID:DC3oMiFw0.net]
>>829
日本語訳がおかしい。切るではなく分けるという意味。

855 名前:デフォルトの名無しさん [2025/03/07(金) 02:25:08.03 ID:DC3oMiFw0.net]
>>835
枝分かれという意味だけど、枝分かれしたものが本流に合流するから自然言語の言葉の選択に失敗しただけ。

856 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 06:09:46.75 ID:XXR0/Q3A0.net]
日本語訳ではなく元からおかしいのだろう
日本語の「課金」みたいな間違った使い方が定着しちゃうのはどこの言語でもある
マニュアルとかには登場せずに口語とかで使われる用法

だからといって、直訳して間違う必要はない

857 名前:デフォルトの名無しさん [2025/03/07(金) 07:52:09.30 ID:nBHkq2vS0.net]
git スレに於いては今後、枝をはらう意味のときは「剪る」「伐る」と書くこと。pythonスレで決めたからね。いいね。

858 名前:デフォルトの名無しさん [2025/03/07(金) 08:15:11.30 ID:i3TW8fQU0.net]
世間の慣習は変わらんぞ

859 名前:デフォルトの名無しさん [2025/03/07(金) 10:32:15.00 ID:DC3oMiFw0.net]
>>843
料金の請求そのものを「課金」と呼んでいる会社があるからなあ

860 名前:デフォルトの名無しさん [2025/03/07(金) 11:24:48.94 ID:i3TW8fQU0.net]
AAAのaccountingはアカウンティングとしか訳せない

861 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 14:17:00.73 ID:EmPVRGY00.net]
>>826
あぁ
トラウマ...

きっつ

862 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 14:18:41.52 ID:NMHLxQXg0.net]
>>826
別に削除しても問題ないやろ…

863 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 22:10:05.52 ID:qVctmwDB0.net]
>>841
branchを動詞として使い、それだけで大本から流れを「分ける」という意味になる(分離はしていない)
cutの場合はあくまで切り離してしまうので、分けるというより「切り分ける」(完全分離)という感じだな

いずれにしても、「ブランチを切る」は誤解を招く言い方だと思う



864 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 22:50:11.11 ID:wbHOjF8U0.net]
特定のバージョンをリリースする場合はcutで合ってる
正しく使われたcutの例を見て、ブランチを作ることをcutって言うんだ、と
ふわっと理解した層が誤用して定着してしまった、のだろう

865 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 22:57:11.00 ID:GKKg4qAw0.net]
ブランチを切らないおじさんたち
知らなかったことは恥ずかしいことではないが
その後のやり取りは非常に見苦しい

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

そうすれば老害の進行を止められるよ

866 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 23:09:46.40 ID:wbHOjF8U0.net]
老害なんて、そんな大層な地位にはいないよ
そんなに煽てられると照れちゃうな

867 名前:デフォルトの名無しさん [2025/03/07(金) 23:17:57.73 ID:DC3oMiFw0.net]
英語の日本語訳でcutを考えるという謎の思考

868 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 10:47:12.14 ID:ygCjHTHI0.net]
mktime() なんて伝統的なメソッドなのに、ここだけ何で英語なんだよ。マジメに訳せよ。
https://docs.python.org/ja/3.13/library/time.html#time.mktime

869 名前:デフォルトの名無しさん [2025/03/08(土) 10:47:40.67 ID:e8GOpGZkH.net]
>>819は切るって言っただけでcutなんて言ってないからな

870 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 12:40:07.76 ID:5sZkGuqi0.net]
日本のIT業界では昔から、フォルダなど何らかのコンテナを作成することを「切る」と言う習慣がある
汎用機の時代はフォルダ(に類するもの)やDBのテーブルなんかを作るときに静的にディスクの領域を割り当てるのが一般的だったから、そこから切ると言うようになったのだろう

871 名前:デフォルトの名無しさん [2025/03/08(土) 13:01:40.23 ID:6f56mNzS0.net]
んなわけねーだろスケジュールを切るとか別に一般に使う動詞よ
なにがIT業界ではだよw

872 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 13:16:35.89 ID:XaJvZebA0.net]
言わんけどなあ
フォルダとかディレクトリは「掘る」だな
何かを発行することを切ると言うことはある
伝票を切るとか、歴史的には本当に切ってたのだろう

873 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 13:39:52.21 ID:ZW50ae5a0.net]
>>857
それは用語がごっちゃになってるだろ
パーティションとかクォーターなら切るだけど
フォルダやディレクトリは作るだろ
コマンドだってそうなんだし
Power Macは概念違うかもしれんが


あと掘るは探索だな



874 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 13:56:13.23 ID:i6kboqCH0.net]
>>860
現代のファイルシステムのモデルではそうだが、年輩者でフォルダを切ると表現する人は実際わりといる
何でも事前に静的に割り当てていた時代の人間は、大きいところから部分を切り出すというメンタルモデルから脱せないでいるのだろう

875 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 14:03:50.31 ID:XaJvZebA0.net]
パーティションは切る以外が思いつかないな
作成するよりもむしろ判り易い
ディレクトリは無から生み出してるけど、
パーティションは有限のものを切り分けてるだけだし

876 名前:デフォルトの名無しさん [2025/03/08(土) 14:11:12.81 ID:6GjCdbD90.net]
>>859
今でも伝票は切ってるやん
レシートも伝票やで
来て来たレシート切ってるやん
今は切り込みは入ってるとかレジが切って出て来るけどさ

877 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 14:14:44.53 ID:XaJvZebA0.net]
レシート切りますかと言ってくるコンビニ店員はおらん
実体が無くても切るという用語を使うという話

878 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 14:28:35.66 ID:5sZkGuqi0.net]
限られた可住面積と資源で生きてきた列島猿としては、
何かを新しく作るのはゼロから何かを生み出すのではなく常に大から小を切り出すことなんだろうな

879 名前:デフォルトの名無しさん (JP 0Heb-XXSS) mailto:sage [2025/03/08(土) 14:54:57.16 ID:bhzZOhlFH.net]
パスを切る=ディレクトリを作るって意味で使うし
ブランチを切るという言い方に何の違和感もない

880 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 15:22:00.93 ID:P4HKKOTE0.net]
22 (木を切って)つくる。

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

切るにはつくるって意味もあるようだ

881 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 15:22:48.97 ID:xQ5Fs9MV0.net]
>>858
それは日時や数量などに限定をつけるという別の用法で辞書にも載ってるもの
区切られた専用の領域を新しく作るといった意味で使うのは自分の知る限りIT業界特有

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

パスを切るやエイリアスを切るが
これらと同じなのかは疑問の余地がある

882 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 15:24:08.77 ID:xQ5Fs9MV0.net]
>>866
>パスを切る=ディレクトリを作る
パスを切るのはディレクトリを作ることではなくない?

883 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 15:45:23.76 ID:jnuQA/jCd.net]
パスやエイリアスを切るのは道を切り開くという意味じゃない?
>>868で挙がっている「割譲する」というニュアンスの切るとはまた違うと思う



884 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 15:57:23.70 ID:XaJvZebA0.net]
PATHを切るは確かに言うな
PATHを通すと同義の奴じゃないかな
作成するのはディレクトリやフォルダで、PATHはフルパスのことなので、
それ自体を作成したりはしない

885 名前:デフォルトの名無しさん [2025/03/08(土) 16:22:09.63 ID:6GjCdbD90.net]
お前ら時代を考えろ
コマンドライン時代だ
/でディレクトリの区切りを示すやろ
この事からパスを切るって言うんだよ

886 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 16:28:31.93 ID:kCgnTDtk0.net]
Python勉強したかったらgithubのオープンソースと睨めっこしてこい。こんなとこでレスしても池沼mac信者しか沸かんぞ

887 名前:デフォルトの名無しさん [2025/03/08(土) 17:08:49.84 ID:ygCjHTHI0.net]
別れろ切れろはブランチの時に言う言葉、今のあたしにはいっそ kill と言っておくんなまし

888 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 17:37:17.94 ID:GgMgzR7UM.net]
言葉の意味を知らないで使い続けた慣用句の扱いだから
ゼロックスしておいておじさんが直すとも思えない
かと言って的は射るものですよ的な指摘も無粋

現場で仲良くやれればいいんじゃね?
意味はある程度通じているわけだし

889 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 17:38:34.41 ID:1IYLzVZ40.net]
何を発狂してんのよこのゴミは
「ブランチを切る」が現場で当たり前のように使われることを知らずに赤っ恥かいたから
正当化しようと暴れてるのか
見苦しい

890 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 17:53:41.60 ID:XaJvZebA0.net]
どっちかというと、ローカルな用語が一般で通用しなくてショック受けてる、が正解だな
これ方言だったの?的な

891 名前:デフォルトの名無しさん [2025/03/08(土) 20:56:09.68 ID:OhmQmpza0.net]
すいません>>819わかる人いたら教えてください
gitスレでも聞いたんですが、CUI vs GUIみたいな糞どうでもいい話ばっかりしててあいつらはもう駄目です

892 名前: []
[ここ壊れてます]

893 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 22:42:06.31 ID:Qlttoejh0.net]
>>878
gitのlogやreflogを確認するか
Syncボタンを押した時に発行されるgitコマンドが表示されるパネルを開いてから
もう一度試せばいいんじゃない?

gitというより聞くならVSCodeスレじゃないか



894 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 22:45:58.02 ID:Qlttoejh0.net]
>>877
公式サイトにある日本語訳でもブランチを切るという表現が多々出てくる
日本語訳が出来た2009年当時からずっと変わらず

895 名前:デフォルトの名無しさん [2025/03/08(土) 23:43:37.51 ID:zOJ1gnEL0.net]
>>857
作る、作成するでいいのに変な日本語を使い続けるのは老害

896 名前:デフォルトの名無しさん [2025/03/08(土) 23:44:49.47 ID:zOJ1gnEL0.net]
>>880
樹木の枝を切るという世間一般のイメージに引きずられているだけ

897 名前:デフォルトの名無しさん mailto:sage [2025/03/09(日) 01:03:40.90 ID:T7+XzD7W0.net]
『「的を得る」が間違い』は間違い

898 名前:デフォルトの名無しさん mailto:sage [2025/03/09(日) 01:50:12.00 ID:HKmOZnoF0.net]
>>878
その質問ChatGPTに聞いてみた?

899 名前:デフォルトの名無しさん [2025/03/09(日) 08:04:54.92 ID:mlSbYna30.net]
>>884
pullしてpushって言われた
>>879
確かに

900 名前:デフォルトの名無しさん mailto:sage [2025/03/09(日) 13:04:54.25 ID:Q8WEHnu70.net]
gptにコード書いてもらうのが一番

901 名前:デフォルトの名無しさん (ワッチョイ ce01-CSyU) mailto:sage [2025/03/09(日) 16:02:37.71 ID:GDw1TKD+0.net]
>>819はこれかな?
https://github.com/microsoft/vscode/issues/137686

902 名前:デフォルトの名無しさん [2025/03/09(日) 20:36:14.62 ID:0/t/zpFq0.net]
単純にVSCodeがorigin/masterにpushしてるだけだった
同じブランチでいくつかcommitして、sync changesボタンでたからマウスオーバーしたら、Push 4 commits to origin/masterってでたから
まんまmasterブランチにpushしてるだけだった
あとreflogにはVSCodeのSyncボタン押した時のログは残ってなかった

903 名前:デフォルトの名無しさん mailto:sage [2025/03/10(月) 12:17:45.33 ID:N4hnvL2z0.net]
連番のtxtファイルの中に物体名とそのXY座標値がスペース区切りで格納されてるんだけど
for文でぐるぐる回して各物体ごとに前のファイル内に書かれてる座標値との差分を連続で出したい時ってどういうやり方するのがスマートだろうか
pandas使ってDFに入れるのが早いのかなあ



904 名前:デフォルトの名無しさん mailto:sage [2025/03/10(月) 14:54:26.98 ID:A/G36wo60.net]
それのやり方は知らんけど
pandasよりpolarsの方が速いよ

905 名前:デフォルトの名無しさん mailto:sage [2025/03/10(月) 16:04:01.44 ID:dZmSaWL40.net]
>>889
プログラム設計時に必要になる情報と一緒だけど
前提となる入力と出力の仕様をもう少し明確にしないと
どういうやり方が適切なのかはわからないよ

906 名前:デフォルトの名無しさん mailto:sage [2025/03/10(月) 16:11:52.34 ID:9VCPJ0La0.net]
>>888
ローカルとリモートで互いに足りない部分をpull/pushして結果を同じにしてるんじゃないの?

907 名前:デフォルトの名無しさん mailto:sage [2025/03/10(月) 18:45:12.16 ID:dZmSaWL40.net]
git push origin hoge:masterのように
リモートは問答無用でmaster指定してるってことだろうけど
ローカルのhogeをリモートのmasterに直接pushするのが
あまり一般的なワークフローではないんじゃない?

908 名前:デフォルトの名無しさん (ワッチョイ 1154-QsVm) mailto:sage [2025/03/10(月) 19:26:13.81 ID:d55rHlaZ0.net]
pandasとかはファイルは一つでそこに行と列がたくさん、というデータを想定してるから、
ファイルがたくさんある時点で違う気がする

複数ファイルを一つのdfに結合する部分を自分で書けばpandasで処理できるだろうけど、
pandasで楽になりそうな処理にも思えない

909 名前:デフォルトの名無しさん (ワッチョイ aa8b-nrWv) mailto:sage [2025/03/10(月) 19:40:26.55 ID:pJkzwYQ20.net]
巨大なデータってオンメモリで終わるまでソワソワしながら待つの?
それとも中間ファイル残しながら失敗したらそこから再開とか?

910 名前:デフォルトの名無しさん mailto:sage [2025/03/11(火) 08:25:30.10 ID:Jqy2ddi90.net]
場合によるよね。
やったことないけどw

911 名前:デフォルトの名無しさん mailto:sage [2025/03/11(火) 12:26:00.83 ID:jytsrQer0.net]
>>895
スワップ使いまくるからオンメモリとは言えないかもしれないけど大きめのプログラムのフルコンパイルみたいなのはソワソワしながら待つ

途中まででコミットして再開可能なデータ処理は中断の可能性や再実行にかかる時間、プログラムの複雑化度合いなんかを加味して方針を決める

912 名前:デフォルトの名無しさん mailto:sage [2025/03/11(火) 19:24:18.03 ID:qtpkteRg0.net]
makeみたいな仕組みにしとけば、失敗したところからやり直せる

913 名前:デフォルトの名無しさん mailto:sage [2025/03/11(火) 19:40:15.54 ID:8wwlWO3U0.net]
大規模な処理の場合はSparkみたいな分散処理フレームワークが障害時の途中からの復旧とかを担保する
一方で、アドホックな作業の耐障害性はあまり問題にされることはない
いつも中途半端な実験ばかりで何一つ金になる成果を出さない自称データサイエンティストがノートブックで手元でチマチマやってる程度の作業なんて、
パーになったところでビジネス視点では何の影響もないからね



914 名前:デフォルトの名無しさん mailto:sage [2025/03/11(火) 20:32:11.49 ID:CtHRI6fk0.net]
アドホックな作業?

915 名前:デフォルトの名無しさん [2025/03/12(水) 10:36:16.02 ID:QJkVGgVP0.net]
ビルメン だから 業務効率化とかはできないけど趣味で Python 勉強中

916 名前:デフォルトの名無しさん [2025/03/12(水) 10:36:17.25 ID:QJkVGgVP0.net]
ビルメン だから 業務効率化とかはできないけど趣味で Python 勉強中

917 名前:デフォルトの名無しさん [2025/03/12(水) 16:55:28.43 ID:mpqw2K/o0.net]
巡回ロボを作るとか。

918 名前:デフォルトの名無しさん [2025/03/12(水) 18:02:38.98 ID:J7cIovHRa.net]
エレベーターの劣化チェックが良いな

919 名前:デフォルトの名無しさん (ワッチョイ a1f0-vVUT) [2025/03/12(水) 19:04:57.91 ID:CJgu15QK0.net]
巡回ロボいいね
エレベーターのチェックって画像認識?

920 名前:デフォルトの名無しさん (ワッチョイ 411f-WTPe) mailto:sage [2025/03/12(水) 19:42:29.70 ID:6E1Ob3Gq0.net]
boto3とrecognitionでできそうやな

921 名前:デフォルトの名無しさん mailto:sage [2025/03/13(木) 08:05:57.02 ID:CJt/ai2l0.net]
そんなもん1年後くらいに汎用マルチモーダルAIに自然言語で指示するだけ

922 名前:デフォルトの名無しさん [2025/03/13(木) 10:46:41.91 ID:Tpg+NeNc0.net]
どこまでプログラミング勉強すべきなんだろうな
AIのコーディング能力かなり上がってるから がっつり自分でかけるようになる必要はないけど、まるごと書いてくれるわけではないし 少し修正しようって思ったら丸ごと書き直さないといけないから効率悪いんだよな
基本をさらっとやって、クラスだかモジュールだかの設計ができるようになればいいのかな

923 名前:デフォルトの名無しさん mailto:sage [2025/03/13(木) 12:01:16.03 ID:XK7vUpM4d.net]
画像解析は汎用AI化が出遅れてる分野なので、PyTorchとかでシコシコ自前でやりたい人にとってはラストリゾート
とはいえ自動運転や医療画像みたいな絶対安全な分野を除けば向こう2年くらいの命だろうな



924 名前:デフォルトの名無しさん mailto:sage [2025/03/13(木) 12:54:57.01 ID:7qlVYF9v0.net]
AIエディタを使いこなせるか
これが最も重要

925 名前:デフォルトの名無しさん mailto:sage [2025/03/13(木) 17:05:12.30 ID:rucJuxY60.net]
耳コピの分野が出遅れてるんだよな
ピアノ音源限定でノイズが無ければ、音の高さまでは割と正確に判断する
でも小節の切れ目は判らないので楽譜化はできない
複数の楽器混在とかはまだ全然

926 名前:デフォルトの名無しさん [2025/03/17(月) 11:16:03.53 ID:3DJknzns0.net]
pythonの文法って簡潔すぎてわかりにくいの俺だけ?
for i in range(10)
よりも
for (i = 1; i < 10; i = i + 1)
の方がわかりやすい
C言語から始めたせいかもしれんが

927 名前:デフォルトの名無しさん [2025/03/17(月) 11:23:32.88 ID:3DJknzns0.net]
for i in range(10) ←配列0〜9の左から1つずつiに代入
まあわかる
if i in ng_numbers ←iが配列ng_numbersに入っていたら
???

928 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 11:30:36.89 ID:BQ9IDv+P0.net]
>>913
英語で考えりゃ自然

929 名前:デフォルトの名無しさん [2025/03/17(月) 11:50:52.82 ID:3DJknzns0.net]
>>914
そりゃ英語で考えればそうやがどういう処理しとんねんってなる

930 名前:デフォルトの名無しさん [2025/03/17(月) 12:21:38.78 ID:thUzMRxf0.net]
pythonで分かり難いのは、なんてったって str.encode() と bytes.decode() だわ。
型変換を符号化復号化と称すのもどうかと思うが、バイト列を文字列にするのが何で復号なのか不思議でならない。

931 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 12:45:47.58 ID:PxAUP6H20.net]
Pythonがどういう内部表現で文字列を表現してるかは一旦置いておいて
目に見える図形・グリフとしての文字の列をエンコードしてバイト列にするのがstr.encode()
エンコードされた結果のバイト列を文字の列に戻すのがbytes.decode()

わかりにくいのは確かだけど間違ってはいない

932 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 13:35:59.30 ID:tHr0fe9q0.net]
rangeとか lenは使わない
オブジェクトがあるんだから、そのものを渡そう

933 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 14:16:08.27 ID:P7s0k04b0.net]
>>913
どゆこと?
for i, ng in enumerate(ng_number)
これのことではなくて?
ng_numberの条件で飛ばすなら内包表記使って

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

とかの話?



934 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 14:28:12.40 ID:WnkcGI4R0.net]
同じ”in”で使われ方も似てるけど文法的には別の”in”
https://docs.python.org/3/reference/compound_stmts.html#for
https://docs.python.org/3/reference/expressions.html#membership-test-operations

935 名前:デフォルトの名無しさん (ワッチョイ c179-lSw3) mailto:sage [2025/03/17(月) 15:27:05.92 ID:fqOs9Smn0.net]
pythonのfor文は他の言語でいうところのforeach文だな
シェルスクリプト(sh系)もそうで、これから入ったのでこちらのほうが馴染む

936 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 18:25:36.28 ID:3djl4ZDr0.net]
CからC++とか進んだけど特にforで何とも思ったことないな

937 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 18:35:25.17 ID:wBqhLaFH0.net]
生成してもらってるから
forの意味すら知らん

938 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 18:59:30.26 ID:aMO6RKr50.net]
FOR X = 0 TO 9 (BASIC)
for x := 0 to 9 (pascal)
for (x = 0; x < 10; x++) (C)
なんかどんどんforの意味からずれていく

for x in range(10)
これが正解

939 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 20:11:45.28 ID:+VsjTnZQ0.net]
for i in range(10)で0~9のループってのがアホらしい
0から9と明示している言語が自然

940 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 20:35:11.55 ID:tHr0fe9q0.net]
rangeは直前までのrangeオブジェクトを返す、と慣れればそれでいいじゃん

941 名前:デフォルトの名無しさん mailto:sage [2025/03/17(月) 20:42:27.97 ID:aMO6RKr50.net]
range(1, 11) みたいに複雑になると、もうこれは
for (x = 1; x < 11; x++) から数字を抽出したものになってくるけど、
普通は先頭は0なので本質的には要素数を表している
0から始まって当然の頭になれば自然に見える

942 名前:デフォルトの名無しさん [2025/03/17(月) 21:19:59.96 ID:gvomcM2e0.net]
>>926
seq コマンドといつもごっちゃになってまう...

>>> tuple(range(2))
(0, 1)
>>>
$ seq 2
1
2
$

943 名前:デフォルトの名無しさん mailto:sage [2025/03/18(火) 01:35:19.58 ID:fgyGQdvg0.net]
個人的には他言語のforeach相当しかないのはかなり好きなポイントだな



944 名前:デフォルトの名無しさん [2025/03/18(火) 01:59:29.87 ID:4sQPnHny0.net]
>>912
Pythonはこの書き方が便利だとか、わかりやすいなどとは思えない構文が多い

945 名前:デフォルトの名無しさん mailto:sage [2025/03/18(火) 03:15:42.25 ID:SyDRbCg30.net]
>>912
pythonのforは他言語の
foreachに近い
書き方だからなあ

で、foreachも
foreach 要素 in 配列名
タイプの書き方の言語と
foreach 配列名 as 要素
タイプの書き方の言語がある

946 名前:デフォルトの名無しさん mailto:sage [2025/03/18(火) 03:23:10.83 ID:NvLfwtos0.net]
perlはけっこう自然言語っぽい構文も追加で備えてるな

947 名前:デフォルトの名無しさん mailto:sage [2025/03/18(火) 07:41:55.04 ID:9Q7xxzXC0.net]
繰り返し処理に for というキーワードを選んだのが間違いなのでは
BASICが最初なのかな
てっきりFORTRANだと思ってたけど、DOなんだよな
DO X = 0, 9
それはそれで変だけど

一定範囲をスキャンするとか、要素を全部舐めるとか、
そういうニュアンスの単語が無かったんだろう

948 名前:デフォルトの名無しさん mailto:sage [2025/03/18(火) 08:08:58.90 ID:dFh3Cu4yM.net]
sweep

949 名前:デフォルトの名無しさん mailto:sage [2025/03/18(火) 10:39:43.40 ID:mIJI9ibF0.net]
#include

950 名前:デフォルトの名無しさん [2025/03/18(火) 11:03:33.56 ID:v2b6/sSk0.net]
BASICなわけねーだろw その辺は全部ALGOLだよ
なかったもクソもforには反復とかいくつずつみたいな意味が元々ある
ていうかそもそもはドイツ語だったかなんかのはず

951 名前:デフォルトの名無しさん mailto:sage [2025/03/18(火) 17:06:54.31 ID:XDcEae/z0.net]
ALGOLは使ったことないなあ
FORTRANで採用を見送られたのに、その後また復活したのか

ステートメントが前置詞というのはやっぱり筋が悪いって

952 名前:デフォルトの名無しさん mailto:sage [2025/03/18(火) 18:15:32.73 ID:IYkL8cYP0.net]
数式の英語での読み方から来てるから英語で数学を習った人にとっては何の違和感もない

953 名前:はず []
[ここ壊れてます]



954 名前:デフォルトの名無しさん mailto:sage [2025/03/18(火) 22:08:58.63 ID:3MP8eql20.net]
ALGOL(含む68)辺りにリアタイで手を出していたら、ミニコン使いやで。
インターフェースがトラ技別冊だった頃を知っているかと。

基準画像「某レナさん」のグラビアを見た事があるんじゃね?

955 名前:デフォルトの名無しさん mailto:sage [2025/03/18(火) 22:14:52.79 ID:GYPHuJM60.net]
島倉千代子を推してた口だな

956 名前:デフォルトの名無しさん [2025/03/19(水) 09:12:58.29 ID:Irgid5LDa.net]
ALGOLはイスラムが語源
FORTRANはFormulaTranslator

957 名前:デフォルトの名無しさん mailto:sage [2025/03/19(水) 18:59:21.09 ID:uxWT9Crg0.net]
alの部分は定冠詞だけどな

958 名前:デフォルトの名無しさん [2025/03/20(木) 08:55:27.85 ID:8365Cn8s0.net]
def func(param): は
def func(param: str): なのに、
def func(param='value'): が、
def func(param='value': str): でなく、
def func(param: str='value'): なのは、おかしいだろ。責任者のアホ。

959 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 10:13:00.87 ID:1M6YtTqp0.net]
>>943
def func(param): が
def func(param: str): だからこそ、
def func(param='value'): は、
def func(param='value': str): でなく、
def func(param: str='value'):

型ヒントは変数の型をチェックするために存在してる

960 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 10:16:14.83 ID:uFR0AtSp0.net]
param: str='value'

param: と str='value' に分かれて見えてるんだな
そうではなくて
param: str というかたまりに 'value' を入れている

961 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 10:19:49.89 ID:uFR0AtSp0.net]
コロンやらスペースを乗り越えた先に左辺値があることに脳パーサがバグるのは判る

962 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 10:33:23.18 ID:Il2FvhCIH.net]
型ヒントって必要?
使わない人が大半だと思うんでプライベートなコード以外には使わないでほしい
仕事で型ヒントが大量にちりばめられてるるコードのメンテナンスなんてやりたくない

963 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 11:00:47.02 ID:6xIUkw+E0.net]
逆では
みんなの頭がつながっていないからこそ必要
IDEの支援ももらえるし



964 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 11:09:51.36 ID:uFR0AtSp0.net]
型は制約されてないし、だからこそのオブジェクト指向だけど、
実際は入る型なんか決まってるケースが大半なのでヒント止まりになる
正式なコメントの書き方

965 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 11:16:01.10 ID:+MvFUuxY0.net]
型ヒントないとやだわ

966 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 13:38:22.10 ID:Wa0651PK0.net]
>>947
いらない
そもそも高度な型を書けないから無意味
エディタで補完されるしそれで十分

967 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 13:39:45.20 ID:Wa0651PK0.net]
本当に型が欲しいならTypeScriptなりRust使うっての

968 名前:デフォルトの名無しさん (JP 0H8b-0naI) mailto:sage [2025/03/20(木) 14:29:39.20 ID:Il2FvhCIH.net]
>>952
だよねえ
必須でもない型機能なんて混乱をもたらすだけだと思うわ
この運営の迷走ぶりがPython凋落のきっかけになるんじゃないかと危惧している

969 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 14:55:26.24 ID:gYhPd4eL0.net]
自作コードは好みだろうけど、
公式ドキュメントは記述を対応させて欲しい。

> str.split(sep=None, maxsplit=-1)
https://docs.python.org/ja/3.12/library/stdtypes.html#str.split
なんて表記じゃ、sepに区切文字を入れるのか、複数の区切文字の配列を入れるのか分からない。
実行結果も、リストか返るのか、独自型が返るのか、或いは返さずに REPLY. 変数に結果をセットするのか分からない。
この例は split() なので想像つくのだけど、謎機能は入出力も謎で泣ける。

970 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 17:38:19.11 ID:IBTbkPm20.net]
型ヒントはコメントで書く
3.4(XPラスト)用をメンテしなくちゃならないので

971 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 18:15:32.43 ID:HvSgxtYp0.net]
pyenv pipx poetryをos丸ごと捨ててuvに切り替えた
poertyって依存のバージョン解釈がバグってることあったけど、uvはちゃんとしてるな
アストラルがanacondaみたいにいきなり発狂しなきゃいいけど

972 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 18:21:06.92 ID:uFR0AtSp0.net]
いつかいいのができるまで、バージョン管理なしでやってる

973 名前:デフォルトの名無しさん [2025/03/22(土) 14:27:58.31 ID:U6/Lg1xxa.net]
Rust の crates と Cargo は良さげだけど微妙
Python で真似するの流行り過ぎて心配



974 名前:デフォルトの名無しさん mailto:sage [2025/03/22(土) 19:43:37.05 ID:6JcU+3AE0.net]
>>956
マジか
もうanacondaから卒業すべきだな

975 名前:デフォルトの名無しさん mailto:sage [2025/03/22(土) 21:27:24.19 ID:dq8l+zNL0.net]
pythonのバージョン管理よりも、コードの構成管理したい
いろんなとこにコード書き散らすから、svnでもgitでも管理できない

976 名前:デフォルトの名無しさん mailto:sage [2025/03/22(土) 22:06:39.66 ID:+ZRnNyRr0.net]
バージョン管理ツールで作成した環境の一覧がわかればいいの?
ならpyenv-virtualenvとか
zoxideやautojumpもいいかも

977 名前:デフォルトの名無しさん mailto:sage [2025/03/22(土) 22:19:14.19 ID:nPu00byz0.net]
uvとruffにした
ネットの情報古いのばかりでここにたどり着くのがすごい大変だった
素がpythonじゃないのでいきなりインストールして環境作れるのも楽
そのうち有料になっても金払っていいレベル

978 名前:デフォルトの名無しさん mailto:sage [2025/03/22(土) 22:20:25.56 ID:Y+iWZXI70.net]
uvはlockまでちゃんとクロスプラットフォームなのがでかい
どこまで信用できるかは分からないけど、今のところ問題はないので
新しく書いたやつを中心に徐々に移行してる

979 名前:デフォルトの名無しさん mailto:sage [2025/03/23(日) 22:26:19.29 ID:8QvyzI2Q0.net]
>>736
馬場状態とか、、、数あるファクターのただの一つに過ぎないよ。
本気でやるならjvlinkで仕様書見てどんなデータがあるか眺めてみるといい。
どうせ挫折するだろうからあまり深く言わないけど、未来を予想するのと、ギャンブルで勝つのは二つ分析目標があると考えた方が良い。
勝率と回収率が逆相関になることがわかったらそこが沼の入り口だよ。
あすすめは、まず人気と回収率のデータを取ってみて、競馬は1番人気を買うと絶対に回収率がマイナスになり、最低人気を買っても同じ。これは何故かを考えることをお勧めするよ。

980 名前:デフォルトの名無しさん mailto:sage [2025/03/24(月) 08:15:13.03 ID:Kzm/5Ai30.net]
ギャンブルにAIを使おうとするなんてばかにすることよな
働けよ

981 名前:デフォルトの名無しさん mailto:sage [2025/03/25(火) 15:35:13.74 ID:ICE7mE9e0.net]
自分は静的型検査はどっちかといえばある方がいいかな派(でも自分ではあんまりやっていない)なんだけど、typingモジュールの内容は盛り沢山すぎて、なかなか腰を据えて勉強する気になれないな。たぶん、型に一家言ある世界中の人が議論して仕様を作っているんだろうとは思うけど。
もう数年して仕様が落ち着いてきたら、たぶん解説本が出ると思うので、それを読んで勉強しよう。ロバストPytnonは結構面白かったので、その延長上で型アノテーションの説明に焦点を絞ったようなやつが出れば面白いと思う。

982 名前:デフォルトの名無しさん mailto:sage [2025/03/25(火) 21:47:04.49 ID:CXmZfdeW0.net]
ハイパーモダンPython改訂版出してくれ

983 名前:デフォルトの名無しさん mailto:sage [2025/03/26(水) 04:22:01.80 ID:9+5RYHjhH.net]
>>967
お前が作るんだよ
オープンソースだから改変し放題



984 名前:デフォルトの名無しさん [2025/03/26(水) 10:28:10.74 ID:klkMmD4b0.net]
>>967
本の Example Code らしいが、Commits on Jun 17, 2024 なので、2024年発刊したその本は最新版ちゃうか。
https://github.com/hypermodern-python/hmpt-code?tab=readme-ov-file#hypermodern-python-tooling---example-code

985 名前:デフォルトの名無しさん mailto:sage [2025/03/26(水) 11:14:52.23 ID:kQr2CXead.net]
>>969
そうだよ
だから新バージョン出してと
今のPythonの状況だと
毎年書いてくらいに思ってる
良い本だった

986 名前:デフォルトの名無しさん mailto:sage [2025/03/26(水) 11:21:03.47 ID:5p9B9np30.net]
>>968
本のことだぞw

987 名前:デフォルトの名無しさん mailto:sage [2025/03/26(水) 11:26:56.84 ID:0cU+Eukb0.net]
ハイパーモダンPythonってツール本でしょ。ツールって、やっぱりみんな使うものなの? 個人的にはツールのバージョンアップを追いかけたりするのがしんどそうなので、あまり使わない派なんだけど。

988 名前:デフォルトの名無しさん [2025/03/26(水) 11:48:23.78 ID:bFpgRqWb0.net]
>>970
改訂稿は存在しないが、無い物ねだりしてみたというコトか。
原書より翻訳が古いて言ったのかとオモタ。

989 名前:デフォルトの名無しさん mailto:sage [2025/03/26(水) 14:17:55.91 ID:E7MgqOg/d.net]
>>972
向こう数年はもうuvとruffで最終形と思っていいと思う

990 名前:デフォルトの名無しさん mailto:sage [2025/03/26(水) 14:45:58.77 ID:0cU+Eukb0.net]
そうなんだ。皆が使っているド定番というところまで行来てるなら、ちょっと勉強してみるかという気になるかも。

991 名前:デフォルトの名無しさん (ワッチョイ 198c-GOYO) mailto:sage [2025/03/27(木) 05:19:00.87 ID:7jSR2TC60.net]
大昔に公式pythonをインストールした時は
とにかくlibrary合わせが大変だよ!
pipだとライブラリ名だけでなくバージョンも全部書かないと後で整合性無くなって環境壊れるよ
と脅された

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

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

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

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

GTOコピペをドブに浸けたような文ですまん

992 名前:デフォルトの名無しさん mailto:sage [2025/03/27(木) 13:38:34.44 ID:2ADBZW+f0.net]
uvというすでに存在してるライブラリの名前を使うセンスよ

993 名前:デフォルトの名無しさん mailto:sage [2025/03/27(木) 17:33:23.30 ID:7P69hYA/0.net]
ググってもプロジェクトマネージャのuvしか出てこないし問題ないでしょ



994 名前:デフォルトの名無しさん mailto:sage [2025/03/27(木) 23:23:05.56 ID:VXWTe0Gq0.net]
紫外線?が何か?

995 名前:デフォルトの名無しさん mailto:sage [2025/03/27(木) 23:51:20.99 ID:k+F7YT9B0.net]
libuv
Web系じゃないとピンとこんかも

996 名前:デフォルトの名無しさん mailto:sage [2025/03/27(木) 23:59:47.36 ID:kS/FHi0p0.net]
完全に同じだったらpipが困るし

997 名前:デフォルトの名無しさん (ワッチョイ 0602-NzvG) mailto:sage [2025/03/28(金) 06:17:22.73 ID:IPcuak0N0.net]
何でもいいけどrubyのbundlerみたいにデファクトスタンダードになってほしい(´・ω・`)

998 名前:デフォルトの名無しさん mailto:sage [2025/04/01(火) 22:29:18.22 ID:9c1k08Vz0.net]
使ってみたけど、flaskは楽やな
forルーブがそのままhtmlに書けて辞書を渡せる
{{ % for entry in entries % }}
{
name: '{{ entry.name }}',
age: {{ entry.age }},

999 名前:デフォルトの名無しさん mailto:sage [2025/04/02(水) 05:42:15.84 ID:DgG0AwHf0.net]
公式ドキュメントも読まず
またどこから仕入れてきたんだその書き方

1000 名前:デフォルトの名無しさん [2025/04/02(水) 11:34:04.41 ID:k9Y5euIya.net]
mustang

1001 名前:デフォルトの名無しさん mailto:sage [2025/04/02(水) 12:10:50.08 ID:k9Y5euIya.net]
>>911
鳥との会話はやってるみたいだよ

1002 名前:デフォルトの名無しさん [2025/04/02(水) 22:26:38.63 ID:WwewqrQk0.net]
コード書くのはMSX-Basic以来w
今は目的別に便利なライブラリをつないで
作るスタイルってのに驚きました。
便利なツールもあって進化を感じます。
なんかすごい事になっててw驚きs

1003 名前:デフォルトの名無しさん [2025/04/02(水) 23:29:11.29 ID:vIYRPSqy0.net]
Excel VBAすらスルーしていた興味のなさは半端じゃねえなw



1004 名前:デフォルトの名無しさん mailto:Sage [2025/04/03(木) 05:44:20.01 ID:EdKQlRYK0.net]
厳密には違いますが、53のおじさんがワクワクする環境ってのは久々でした。必要に迫られて13年ぶりにPCと向き合ったので。

1005 名前:デフォルトの名無しさん mailto:sage [2025/04/03(木) 06:53:05.71 ID:X+wL63br0.net]
BOMが付いてても大抵は何も起きないけど、
csvモジュールで読むとばっちりバグる
なんで直さないんだ

1006 名前:デフォルトの名無しさん mailto:sage [2025/04/03(木) 11:00:23.64 ID:MyC4XyHf0.net]
utf_8_sig 指定せずに問題起きてないのはたまたま
処理側のモジュールで個別対応するなんて愚の骨頂

1007 名前:デフォルトの名無しさん [2025/04/03(木) 11:26:57.33 ID:6V8WkUdO0.net]
>>991
賢の骨頂は何ぞ?
自作モジュールはBOM非対応のまま、CSVファイルからBOMを除去?

1008 名前:デフォルトの名無しさん mailto:sage [2025/04/03(木) 14:16:06.10 ID:MyC4XyHf0.net]
入力でutf_8_sigを指定する

1009 名前:デフォルトの名無しさん [2025/04/03(木) 21:21:38.60 ID:fy3xRWQwa.net]
ワクワクさせてよ
チンチン

1010 名前:デフォルトの名無しさん [2025/04/03(木) 21:23:19.22 ID:fy3xRWQwa.net]
>>992
BOM飛ばすpipe使うだけ
pythonで描いても数秒だろ

1011 名前:992 [2025/04/03(木) 21:55:23.24 ID:touOSSe00.net]
>>995
その pipe とは何を指したの。UNIXやDOSコマンドラインの "|" しかパっと思い浮かばない。

今のところ、>>993 が最良じゃないかと思う (オレは質問者でないので、僭越ながら) 。

1012 名前:デフォルトの名無しさん (ワッチョイ 7f0c-/YAI) [2025/04/03(木) 23:27:03.36 ID:yWhIQ9ik0.net]
>>996
DOSじゃねえだろ

1013 名前:デフォルトの名無しさん (ワッチョイ 5fd7-TCdU) mailto:sage [2025/04/03(木) 23:29:32.03 ID:I/PZjZDo0.net]
普通、RTX-11だよねぇw



1014 名前:デフォルトの名無しさん mailto:sage [2025/04/03(木) 23:36:05.82 ID:F1+U/OXw0.net]
pipe down

1015 名前:デフォルトの名無しさん mailto:sage [2025/04/04(金) 01:51:38.18 ID:UMpXJcmx0.net]
次スレ

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

建てましたが、次回から、985が次スレを建ててくだしあ。

1016 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 194日 15時間 37分 37秒

1017 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<252KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef