!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
↑スレ立てる毎に減るので、減ってたら3つに補充すること。
※前スレ
Pythonのお勉強 Part74
https://mevius.5ch.net/test/read.cgi/tech/1726881242/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
探検
Pythonのお勉強 Part75
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 33d8-PysV)
2025/04/04(金) 01:47:04.18ID:UMpXJcmx0724デフォルトの名無しさん (ワッチョイ 9a02-QbuV)
2025/08/12(火) 19:52:51.31ID:CDoCkaEH0725デフォルトの名無しさん (ワッチョイ 4e10-1ngM)
2025/08/12(火) 21:31:27.14ID:i9fPXIIb0 エラーにできるかというのが、静的型付けができていないコードの実行を自動的に抑止できるかという意味なら、Pytnon単体ではムリじゃない? あくまでも型「注釈」に過ぎないわけだし。でも、型チェッカーの方でそういう設定はあるんじゃないかなぁ。
726デフォルトの名無しさん (ワッチョイ cb01-X2XY)
2025/08/12(火) 22:31:56.05ID:jU+JMCmR0 >>724
pyrightのstrict modeを試してみるといいと思う
pyrightのstrict modeを試してみるといいと思う
727デフォルトの名無しさん (ベーイモ MM06-ZDX3)
2025/08/12(火) 22:41:38.16ID:nRaft4INM Pythonの型ヒントって型推論が許されてるけどどこまでそれが効くかはチェッカーの実装依存なんだよね
つまりチェッカーからすると型が不明というのは多くの場合において自身の型推論がショボいことを意味するわけで、
不明だからエラーにするというのは筋が通らないわけよ
せいぜい引数と戻り値に方指定を必須にするくらいだね
つまりチェッカーからすると型が不明というのは多くの場合において自身の型推論がショボいことを意味するわけで、
不明だからエラーにするというのは筋が通らないわけよ
せいぜい引数と戻り値に方指定を必須にするくらいだね
728デフォルトの名無しさん (ワッチョイ 7602-7soU)
2025/08/12(火) 23:05:23.88ID:DyWlhw4u0 実行時まで型が決まらん、というのまであるしなあ
729デフォルトの名無しさん (ワッチョイ 8a9f-XAuV)
2025/08/12(火) 23:06:06.49ID:6cjc6Wvo0 商用プログラム書くならパフォーマンス犠牲になってもランタイムの型チェックがほしい
こんどしれっとtypeguardいれてみようかな
AI支援もあるし猛烈に反対はされなそう
こんどしれっとtypeguardいれてみようかな
AI支援もあるし猛烈に反対はされなそう
730デフォルトの名無しさん (ワッチョイ 9a02-QbuV)
2025/08/13(水) 06:35:34.74ID:o5KTBnUB0731デフォルトの名無しさん (ワッチョイ 174e-ZDX3)
2025/08/13(水) 08:37:10.53ID:+sjCYsF70732デフォルトの名無しさん (ワッチョイ 231f-1ngM)
2025/08/13(水) 09:44:46.84ID:/jTyGuwU0 型付け・型検査の目的は型の不整合の有無を確認することだから、式の型が1つに確定できるならそれが最も分かりやすいとは思うけど、必ずしも1つに確定できなくても(たとえば式の型としてa型、b型、c型の3つの可能性があって、そのいずれについても)型の不整合が生じないことが確認できているのであれば、それで型付け・型検査としての役割は果たしているようにも思うけど。
733デフォルトの名無しさん (ワッチョイ 0754-mJPu)
2025/08/13(水) 09:48:15.23ID:rfdqQR7l0 動的型付け言語を静的型付け言語のように取り扱うのが間違い
無管理よりは何かやれることあるだろうという模索の最中だけど、本質的に困難
無管理よりは何かやれることあるだろうという模索の最中だけど、本質的に困難
734デフォルトの名無しさん (ワッチョイ f63f-1ngM)
2025/08/13(水) 10:05:06.70ID:IjqUTXVC0 もちろん、静的型付け言語と全面的に同じことができるわけではないけれども、部分的にではあれ良いところを真似することはできるし、邪魔くさいという人は従来どおりのスタイルで書くこともできる。型指定をアノテーションにとどめるというのはそんなに悪いアイデアではないと思うけどなー。
735デフォルトの名無しさん (アウアウウー Sac7-Kgix)
2025/08/13(水) 12:39:57.08ID:U7zZSy+Fa PyhtonのListが型限定されたら嫌だな
もちろんPyObjectとしては限定されてるが
そういう意味じゃないんだ
もちろんPyObjectとしては限定されてるが
そういう意味じゃないんだ
736デフォルトの名無しさん (ワッチョイ 4ecf-vKG+)
2025/08/13(水) 14:26:42.51ID:52kJFnMW0 >>727
ESLint だと明示的でない any を警告するオプションがあったりする。
型が不明という状況がその型推論がショボいことを意味したりはしないと思うがな。
ただ実用上の問題としては、型ヒントを提供していないモジュールが多いんで
警告が出まくる可能性があること。
ESLint だと明示的でない any を警告するオプションがあったりする。
型が不明という状況がその型推論がショボいことを意味したりはしないと思うがな。
ただ実用上の問題としては、型ヒントを提供していないモジュールが多いんで
警告が出まくる可能性があること。
737デフォルトの名無しさん (ワッチョイ 175f-eMCN)
2025/08/13(水) 16:15:18.85ID:jrIykVeu0 自分はpylanceのbasicでちょうどいいくらいだわ
738デフォルトの名無しさん (ワッチョイ 3efe-bxVO)
2025/08/13(水) 17:18:57.17ID:vtzVqfUP0 labelStudioのインストールについて質問してもいいですか?
WindowsパソコンでlabelStudioの最新版をインストールしたのですがコマンドプロンプトでpipコードを入力してもファイルが見つかりませんとなってlabelStudioが起動出来ません。
わかる方いますか?
WindowsパソコンでlabelStudioの最新版をインストールしたのですがコマンドプロンプトでpipコードを入力してもファイルが見つかりませんとなってlabelStudioが起動出来ません。
わかる方いますか?
739デフォルトの名無しさん (ワッチョイ 23e7-XAuV)
2025/08/13(水) 18:47:31.75ID:God64kkW0 >>738
https://labelstud.io/learn/getting-started-with-label-studio/
これでためしてみて
Dockerなんて要らないとおもうかもしれないけど
それならまずそんなところで躓かないくらいのオタクになる必要がある
https://labelstud.io/learn/getting-started-with-label-studio/
これでためしてみて
Dockerなんて要らないとおもうかもしれないけど
それならまずそんなところで躓かないくらいのオタクになる必要がある
740デフォルトの名無しさん (ワッチョイ 3efe-bxVO)
2025/08/13(水) 19:30:06.31ID:vtzVqfUP0741デフォルトの名無しさん (ワッチョイ dff2-ChRm)
2025/08/15(金) 00:02:17.57ID:UemuT+6G0742デフォルトの名無しさん (ワッチョイ 41f0-/HUD)
2025/08/19(火) 07:51:45.77ID:fyqgDdBA0 配列でもdict使えば分かりやすいし変数名で何入るかだいたい分かるやろ
pythonて組込みには使わないし型なんているんか🐼
pythonて組込みには使わないし型なんているんか🐼
743デフォルトの名無しさん (ワッチョイ 5957-l4ws)
2025/08/19(火) 09:47:34.16ID:ndmX+Emn0 ある程度規模が大きいプログラムでないと型のありがたみは分からないと一般的に言われているのでは。個人的には一応できるだけ型は付けるようにしているけど、可読性の低下に見合うメリットを実感できているかと言われると微妙なところかな。
typingも急速に複雑化したよねー
typingも急速に複雑化したよねー
744デフォルトの名無しさん (ワッチョイ 6130-im2P)
2025/08/19(火) 11:31:08.50ID:2nwbx/Cn0 型記述すると可読性が低下すると思っている人と
型記述しないと可読性が低下すると思っている人がいる
型記述しないと可読性が低下すると思っている人がいる
745デフォルトの名無しさん (ワッチョイ 4191-Qwzy)
2025/08/19(火) 11:53:03.68ID:CS+/mYIY0 使わない理由は手間に見合うかどうかなんだとおもう
コードのノイズになるってんならIDEに型ヒント部分を隠す拡張があればいい
コードのノイズになるってんならIDEに型ヒント部分を隠す拡張があればいい
746デフォルトの名無しさん (ワッチョイ dbc5-l4ws)
2025/08/19(火) 12:50:32.05ID:AwWeWqwl0 型ヒントを一時的に隠す機能は、たしかにちょっと欲しいかも。というか、もうあるのかもしれないけど。
他人が書いたコードとか、自分が書いたコードでも内容をだいぶ忘れてしまったコードを読むときは型ヒントが大いに助けになるけど、ある程度内容を把握しているコードだと型ヒントがない方が読みやすいってことは結構あるだろうとは思う。
他人が書いたコードとか、自分が書いたコードでも内容をだいぶ忘れてしまったコードを読むときは型ヒントが大いに助けになるけど、ある程度内容を把握しているコードだと型ヒントがない方が読みやすいってことは結構あるだろうとは思う。
747デフォルトの名無しさん (ワッチョイ 214b-ZBQJ)
2025/08/19(火) 17:20:40.65ID:EZlqtCJf0 型ヒントないとメソッドに飛べないでしょ
効率的にコーディングするために必要だよ型ヒントは
効率的にコーディングするために必要だよ型ヒントは
748デフォルトの名無しさん (ワッチョイ db07-l4ws)
2025/08/20(水) 14:50:38.31ID:v4jtEgpO0 lambdaの本体に式しか含められないという制限は、どういう考慮からなんだっけ? 名前あり関数を定義すれば済む話なのでそこまで不便というわけではないのだけれど、lambdaの中にそのまま書けたほうが自然なのになと思うことはちょくちょくある。
749デフォルトの名無しさん (ブーイモ MMb3-y2EG)
2025/08/20(水) 16:32:51.46ID:qKO8yNcaM >>748
フレームワークの概念がないのか?
フレームワークの概念がないのか?
750デフォルトの名無しさん (ワッチョイ f101-SMsS)
2025/08/20(水) 17:15:55.62ID:V8h3cYb/0 >>748
式の中にステートメントを入れられないという大前提を覆すとなると影響が大きすぎるしそもそも思想に合わなかったからだと思う
assignment expressionの導入を嫌がってたのにも通じる話
式の中にステートメントを入れられないという大前提を覆すとなると影響が大きすぎるしそもそも思想に合わなかったからだと思う
assignment expressionの導入を嫌がってたのにも通じる話
751デフォルトの名無しさん (ワッチョイ dbda-l4ws)
2025/08/20(水) 19:37:21.46ID:v4jtEgpO0 JavaScriptの関数定義式のイメージで、lambdaを式ではなく文にしたらどうかという前提で考えていたんだが、仮に文にするにしても「値を持つが式文ではない特殊な文」みたいなカテゴリを作るのは大変か。そうするとやむを得ないところかね。
752デフォルトの名無しさん (ワッチョイ 7954-A4gQ)
2025/08/20(水) 21:05:15.22ID:z8I7zAVw0 羊のラムの綴りはlamb
一旦lambを書いてからdaを付けると間違わない
一旦lambを書いてからdaを付けると間違わない
753デフォルトの名無しさん (オイコラミネオ MMa5-1GGU)
2025/08/20(水) 22:25:29.24ID:WlXb3anFM >>737
それでもウザいかな。nodeを自分でインストールする必要ないということで、basedpyrightを使ってみたけど、デフォルトのあまりにうるささに即削除した。
uvとかruffだっけ?のチームが最近始めたやつに少し期待している。
それでもウザいかな。nodeを自分でインストールする必要ないということで、basedpyrightを使ってみたけど、デフォルトのあまりにうるささに即削除した。
uvとかruffだっけ?のチームが最近始めたやつに少し期待している。
754デフォルトの名無しさん (ワッチョイ 4b8a-Li9w)
2025/08/20(水) 22:32:03.53ID:ABvMeeh/0 AIをゴリゴリ使って基幹ソフトをRPAとPythonで便利にする仕組みを社内投稿したら、会社でバズってなんかすごいスキルとか言われて困ってる 制作したことに偽りは無いけど、専門部署に呼ばれても知らんし(泣)そもそも制作のモチベーションは現場にあるから専門部署に行ってもしょうがない 現場のおじさんでも作れる時代になった事がエポックメイクな事なのに
755デフォルトの名無しさん (ワッチョイ 9321-/HUD)
2025/08/21(木) 04:26:17.36ID:W7b3RP8P0 pyrightなんでtypescript使ってるんだろう
node系のやつ重いしなんか不具合出るから嫌い
node系のやつ重いしなんか不具合出るから嫌い
756デフォルトの名無しさん (ワッチョイ 9321-/HUD)
2025/08/21(木) 04:37:15.98ID:W7b3RP8P0 pylspがいい?
757デフォルトの名無しさん (ワッチョイ dbc8-VfJp)
2025/08/21(木) 10:33:12.22ID:5TY3/WJ10 VSCodeでPylanceを使っているけど、そこまで動作が重いとは感じないかな。警告がいっぱい出て鬱陶しいというのは分かるけど。
758デフォルトの名無しさん (ラクッペペ MM4b-k6JD)
2025/08/21(木) 11:42:59.90ID:sU8D6GG4M AIを使う業務ソフトならすごいけど
AIを使って作ったソフトって普通のソフトだよね
AIを使って作ったソフトって普通のソフトだよね
759デフォルトの名無しさん (ワッチョイ 9379-XJDV)
2025/08/21(木) 12:17:55.74ID:xRU3TdBF0 AIを使(って作)ったソフト
760デフォルトの名無しさん (ワッチョイ ab7f-vIW/)
2025/08/21(木) 13:08:37.56ID:2lMxcY0H0 AIを使って作った、AIを使う業務ソフトはどうなんだ?
761デフォルトの名無しさん (ワッチョイ 51ab-gibx)
2025/08/21(木) 14:36:13.83ID:89YTIbF70 AIを使って作ったAIを使う業務ソフトを作るAIを使って作ったAIを使う業務ソフト
762デフォルトの名無しさん (ワッチョイ 115f-YAjS)
2025/08/21(木) 21:05:36.45ID:qlXUTR3c0 AIでなんでも作れるならフォトショップと同等のものをAIに作らせてくれや(´・ω・`)
763デフォルトの名無しさん (ワッチョイ c991-fgJ7)
2025/08/23(土) 09:41:55.38ID:6fcByJBp0 言語リファレンスで、型引数リストが複合文の最後に入れられているけど、あれって文なのかな? 暫定的に置いているだけ?
764デフォルトの名無しさん (ワッチョイ c92a-68+F)
2025/08/23(土) 19:28:41.00ID:erudRyon0 言語リファレンス中を探し回れってか。
765デフォルトの名無しさん (アウアウウー Sa45-im2P)
2025/08/23(土) 19:47:31.14ID:pcHjlSL+a BNF
766デフォルトの名無しさん (ワッチョイ db01-JnEk)
2025/08/23(土) 22:20:23.66ID:dVERUN7r0767デフォルトの名無しさん (ワッチョイ 8610-ZAtR)
2025/08/24(日) 01:08:14.15ID:+j+JozVj0 それ自体としては文ではないという点に引っかかりをおぼえていたんだが、式のところに演算子についての記述があるようなものか。
ただ、type文は単純文なので、単純文の構文要素になる場合もある……が、そこはまぁ分かるでしょってことで複合文のところにあるんだろうな。
ただ、type文は単純文なので、単純文の構文要素になる場合もある……が、そこはまぁ分かるでしょってことで複合文のところにあるんだろうな。
768デフォルトの名無しさん (ワッチョイ 6a55-hBFX)
2025/08/24(日) 02:49:47.32ID:Y0IRLNQN0 Pythonの内包表記やばいな
こんなんでよくperlは読みにくいとか罵れるな
こんなんでよくperlは読みにくいとか罵れるな
769デフォルトの名無しさん (ワッチョイ 7954-IRdO)
2025/08/24(日) 07:50:22.46ID:rMBqpZLF0 慣れるとあれが自然言語のように読めるし、編集せずに先頭から書いていける
770デフォルトの名無しさん (ワッチョイ 8610-ZAtR)
2025/08/24(日) 08:22:02.52ID:+j+JozVj0 要素を表現する式やinの後が長大になることもしばしばあって、そういう場合はたしかに読みにくいんだけど、基本的にはすごい便利な構文だと思うけどなぁ。発想としては集合の内包表記っぽく書けるようにしようということなんだろうし、やっぱりHaskellは偉大だわ。
たとえばlist内包なら[ (要素を表す式) for (ループ変数・iterable変数) in (iterable) ] で、要素を表す式を書くのにループ変数・iterable変数を使うことができるというだけなので慣れればそんなに難しくないよ。キーワードのforとinが短くて埋没しやすいのが読みにくさを感じる原因なのかもしれない。
たとえばlist内包なら[ (要素を表す式) for (ループ変数・iterable変数) in (iterable) ] で、要素を表す式を書くのにループ変数・iterable変数を使うことができるというだけなので慣れればそんなに難しくないよ。キーワードのforとinが短くて埋没しやすいのが読みにくさを感じる原因なのかもしれない。
771デフォルトの名無しさん (ワッチョイ 6aea-hBFX)
2025/08/25(月) 00:15:32.04ID:FnDhpDPk0 慣れなんかな
巨大な行列が控えてる時の
そんでもなんか人間の認知と違う気がする
巨大な行列が控えてる時の
そんでもなんか人間の認知と違う気がする
772デフォルトの名無しさん (ワッチョイ 6a31-uCg5)
2025/08/25(月) 01:44:52.02ID:cafSUUHh0 >>771
構文の話をするやつは道具の良し悪しばかりで論じて仕事はさっぱりできない人間
構文の話をするやつは道具の良し悪しばかりで論じて仕事はさっぱりできない人間
773デフォルトの名無しさん (ワッチョイ adf5-3/RT)
2025/08/25(月) 03:06:00.70ID:CxzN3iJP0 lambdaもだけど1行に複数の要素が入るととたんに可読性落ちるんで
そこは自制するのがクールという文化(Pythonic)
lambdaはdef、内包表記は複数行にするかforで書きなおす
そこは自制するのがクールという文化(Pythonic)
lambdaはdef、内包表記は複数行にするかforで書きなおす
774デフォルトの名無しさん (ワッチョイ 41e8-ZAtR)
2025/08/25(月) 09:43:24.92ID:8weJ9FR00 lambdaに文は入れられないが、文を含むような場合は名前あり関数として定義する方がわかりやすい……というのが一般論として常に正しいかは相当に疑問だけど。たとえば引数をそのままprintするようなごく単純なコードでも(lambdaにはできないので)名前あり関数にしなければいけないというのはかなりダルい。
Pytnonの文化は文化として尊重するし、実際、概ね妥当なアドバイスになっていることが多いとは思うけど、変えられない言語仕様を擁護するために文化を持ち出すという側面が感じられることもあるかな。
Pytnonの文化は文化として尊重するし、実際、概ね妥当なアドバイスになっていることが多いとは思うけど、変えられない言語仕様を擁護するために文化を持ち出すという側面が感じられることもあるかな。
775デフォルトの名無しさん (アウアウウー Sa11-ut8q)
2025/08/25(月) 09:52:09.91ID:oTWQEhGga リスト内包が読み難いとか言ってる人は
Generatorとかどうしてるんだろうか
理解出来ないものは目に入らないタイプの人か
Generatorとかどうしてるんだろうか
理解出来ないものは目に入らないタイプの人か
776デフォルトの名無しさん (ワッチョイ be5c-ZAtR)
2025/08/25(月) 09:56:07.47ID:srlPQ0qE0 失礼、print は例として適切じゃないね。単純な代入文に読み替えて。
777デフォルトの名無しさん (アウアウウー Sa11-ut8q)
2025/08/25(月) 09:57:57.26ID:oTWQEhGga lambda x: (print(x), x)[1]
778デフォルトの名無しさん (ワッチョイ be5c-ZAtR)
2025/08/25(月) 10:00:20.80ID:srlPQ0qE0 ジェネレーターはyieldで書けるから(強引)
ま、慣れるまで読みにくいと感じる人がいるのは分かるけどね。慣れてても「えーっと」ってなることあるし。
ま、慣れるまで読みにくいと感じる人がいるのは分かるけどね。慣れてても「えーっと」ってなることあるし。
779デフォルトの名無しさん (ワッチョイ ddec-hBFX)
2025/08/25(月) 10:06:45.19ID:pqTCwzR00780デフォルトの名無しさん (アウアウウー Sa11-ut8q)
2025/08/25(月) 10:15:14.12ID:oTWQEhGga 代入したければ素直に__setattr__
781デフォルトの名無しさん (ワッチョイ 6a40-hBFX)
2025/08/25(月) 11:03:28.46ID:FnDhpDPk0 >>772
プログラムで仕事なんかしてねーし
プログラムで仕事なんかしてねーし
782デフォルトの名無しさん (ワッチョイ 6a40-hBFX)
2025/08/25(月) 11:06:33.88ID:FnDhpDPk0783デフォルトの名無しさん (ワッチョイ be5c-ZAtR)
2025/08/25(月) 11:11:08.09ID:srlPQ0qE0 Pytnonのlambda周りの言語仕様が今さら変わるとも変えたいとも別に思ってはいないけれど、無名関数の本体には文を含められないというのは、言語仕様として中途半端で失敗だったんじゃないかなとは思っている。Pytnonはもう変わらないけれど、新たに設計される言語では(言語設計者が仮に同様に感じたなら)Pytnonの失敗を踏まえてうまく修正するんでしょ。高級言語というのはいわはシンタックスシュガーなんだからそういう点の評価・検証は大事。
ついでに言えば、Pytnonコミュニティの本質が、本当にこういう点をどうでもいいと考えているかもかなり疑問だけどね。少なくとも不満を持っている人がPytnonコミュニティの中にも少なからず居るからこそ、FAQで言い訳じみた説明をしているんじゃないかと思っているが。
式しか含められない中途半端な代物だけど、それである程度は何とかなるのでそれで間に合わせるてくれというのがPytnonコミュニティの文化だということならまぁそうかなと思う。ただ、それが本質的にどうでもいい問題で、そんなことは気にしないのがPytnonコミュニティの文化だと言われると、それは違うんじゃないのってなるかな。
>>780
素直ではないと思うけどw、lambdaでその場で書くというのを優先するならそういうことになっちゃうよね。
ついでに言えば、Pytnonコミュニティの本質が、本当にこういう点をどうでもいいと考えているかもかなり疑問だけどね。少なくとも不満を持っている人がPytnonコミュニティの中にも少なからず居るからこそ、FAQで言い訳じみた説明をしているんじゃないかと思っているが。
式しか含められない中途半端な代物だけど、それである程度は何とかなるのでそれで間に合わせるてくれというのがPytnonコミュニティの文化だということならまぁそうかなと思う。ただ、それが本質的にどうでもいい問題で、そんなことは気にしないのがPytnonコミュニティの文化だと言われると、それは違うんじゃないのってなるかな。
>>780
素直ではないと思うけどw、lambdaでその場で書くというのを優先するならそういうことになっちゃうよね。
784デフォルトの名無しさん (アウアウウー Sa11-ut8q)
2025/08/25(月) 11:34:45.78ID:oTWQEhGga len(hoge) も糞仕様
785デフォルトの名無しさん (ワッチョイ ad11-3/RT)
2025/08/25(月) 12:58:40.82ID:CxzN3iJP0 最初は面食らうけど特殊メソッドで一般化できてる妙設計
糞だと思うなら代案どうぞ
糞だと思うなら代案どうぞ
786デフォルトの名無しさん (スフッ Sdea-ut8q)
2025/08/25(月) 13:12:16.74ID:yimvSMn3d 代案
hoge.__len__()
hoge.__len__()
787デフォルトの名無しさん (ワッチョイ be5c-ZAtR)
2025/08/25(月) 13:55:00.51ID:srlPQ0qE0 __len__ は今でもあるから、代案ならhoge.lenみたいにメソッド形式で呼べるようにしたいという話なのでは? Fluent Python のどこかのコラムに書いてあったけど、よく呼ばれるのでパフォーマンスを気にしたとか何とからしいけど。
788デフォルトの名無しさん (ワッチョイ 29e1-M4AR)
2025/08/25(月) 15:47:13.68ID:7aQuEbsn0 mapの糞さに比べたらlenなんて可愛いもんだ
789デフォルトの名無しさん (ワッチョイ be15-ZAtR)
2025/08/25(月) 16:01:01.59ID:srlPQ0qE0 たしかに使う機会は比較的少ないけれど、複数のiterableから並行的に要素を取得していくような場合にはジェネレーター式よりmapの方が便利じゃない? zipだって特殊なmapなんだから、そんなに邪険に扱わなくても。
一番評判が悪いのは、文字列の連結のjoinだと思う。
一番評判が悪いのは、文字列の連結のjoinだと思う。
790デフォルトの名無しさん (ワッチョイ ade0-3/RT)
2025/08/25(月) 17:18:36.19ID:CxzN3iJP0 mapレベルならジェネレータ式で書くけど
特殊な操作は明示的にmore-itertoolsつかうんで結局mapなスタイルは残るな
特殊な操作は明示的にmore-itertoolsつかうんで結局mapなスタイルは残るな
791デフォルトの名無しさん (ワッチョイ 3e01-ChDN)
2025/08/25(月) 17:47:28.68ID:d3/9MASU0 内包表記もlambdaも使うのはごく単純な処理でかつside-effect freeの場合だけ
特にlambdaは関数の引数としてインラインで書けるくらいシンプルじゃなければ基本使わない
個人的にはこれが基本原則だと思ってるけどlambdaのside-effectについて明記してるstyle guideないね
特にlambdaは関数の引数としてインラインで書けるくらいシンプルじゃなければ基本使わない
個人的にはこれが基本原則だと思ってるけどlambdaのside-effectについて明記してるstyle guideないね
792デフォルトの名無しさん (ワッチョイ 41e8-ZAtR)
2025/08/25(月) 19:04:08.96ID:8weJ9FR00 一般論として副作用のない式の方が望ましいのはそうだろうけど、内包表記やlambdaについて、そういう一般論を超えて副作用を避けるべき固有の事情って何かあったっけ。
自分は内包表記では(たまにlambdaでも)結構長いコードになっちゃうことがあるな。別のところに書いて名前で参照する方が分かりやすくなるならもちろんそうするんだけど、結局ここにそのまま書いた方がまだマシかなとなることが結構ある。
自分は内包表記では(たまにlambdaでも)結構長いコードになっちゃうことがあるな。別のところに書いて名前で参照する方が分かりやすくなるならもちろんそうするんだけど、結局ここにそのまま書いた方がまだマシかなとなることが結構ある。
793デフォルトの名無しさん (ワッチョイ dd0f-hBFX)
2025/08/25(月) 20:04:04.19ID:pqTCwzR00 >>792
内包表記や、lambda を引数に取るmapなどの関数は、本来的には実行順序に依存しない
副作用のある式を突っ込んでくるバカを想定するならその前提は破綻し、利用側の既存コードを破壊しないように関数の実装者は注意深く実行順序を維持しなければならなくなる
内包表記や、lambda を引数に取るmapなどの関数は、本来的には実行順序に依存しない
副作用のある式を突っ込んでくるバカを想定するならその前提は破綻し、利用側の既存コードを破壊しないように関数の実装者は注意深く実行順序を維持しなければならなくなる
794デフォルトの名無しさん (ワッチョイ 8610-ZAtR)
2025/08/25(月) 21:38:48.75ID:a/zkXuf60 それは一般論の範囲内の話だし、そもそも高階関数の実装者側が注意深く実装すれば副作用の影響を回避できるというものでもないような。どんな副作用かも分からないんだし。
一般論として副作用を持つ式というのは可能な限り避けた方がいいよねというのは前提とした上で、たとえば自分以外がコードに手を入れることはないということが分かっているようなケースでも副作用を避けないといけない具体的な理由みたいなものがあるのかなというのが知りたかったんよ。
一般論として副作用を持つ式というのは可能な限り避けた方がいいよねというのは前提とした上で、たとえば自分以外がコードに手を入れることはないということが分かっているようなケースでも副作用を避けないといけない具体的な理由みたいなものがあるのかなというのが知りたかったんよ。
795デフォルトの名無しさん (ワッチョイ bebd-hBFX)
2025/08/25(月) 23:52:22.89ID:N2pfjYln0 >>794
一般論もクソも、副作用を考慮することで複雑性が高まることは自明であり、書くのが自分だけだろうと関係ない。
account.deposit(amount)
これが実はaccountはCatクラスのインスタンスで、depositは引数に応じた声色でスピーカーから鳴き声を鳴らすメソッドで、amountには声色を指定する文字列が入っている可能性は否定できないだろう?
accountとは本当に銀行口座なのか、実はディズニーランドではないのかなどと常に疑ってかからなければならない。
しかしお前は普段そんな心配はしていない。何故か?それはお前自身や周囲の人間がそこまでのバカではないとお前が信じているからだ。
同様に、lambdaに副作用書くバカは自分含めチームにいないと信じることにするなら、lambdaを見るたびにどんな副作用があるのか、同じ引数で2度呼び出されても問題ないのか、
といった余計な心配に脳のリソースを割く必要がなくなり、生産性が向上する。
一般論もクソも、副作用を考慮することで複雑性が高まることは自明であり、書くのが自分だけだろうと関係ない。
account.deposit(amount)
これが実はaccountはCatクラスのインスタンスで、depositは引数に応じた声色でスピーカーから鳴き声を鳴らすメソッドで、amountには声色を指定する文字列が入っている可能性は否定できないだろう?
accountとは本当に銀行口座なのか、実はディズニーランドではないのかなどと常に疑ってかからなければならない。
しかしお前は普段そんな心配はしていない。何故か?それはお前自身や周囲の人間がそこまでのバカではないとお前が信じているからだ。
同様に、lambdaに副作用書くバカは自分含めチームにいないと信じることにするなら、lambdaを見るたびにどんな副作用があるのか、同じ引数で2度呼び出されても問題ないのか、
といった余計な心配に脳のリソースを割く必要がなくなり、生産性が向上する。
796デフォルトの名無しさん (ワッチョイ 8610-ZAtR)
2025/08/26(火) 07:53:15.97ID:lpW4FrXI0 生産性の向上っていうのが誰視点なのかって話。
高階関数の実装者側は、そもそも渡される関数の副作用に対してできることは何もない(どんな副作用かも分からないんだから当然)のだから、元々「余計な心配にリソースを割く」こと自体がない。引数として渡される関数には副作用がないか、副作用を持つとしても高階関数の処理に影響は与えないという前提で書くだけでしょ。引数として副作用のあるlambdaを渡して、それが原因で高階関数の処理に影響を与えたら、それは呼び出し側が悪いってスタンスで書くしかない。
高階関数の呼び出し側は、特に高階関数のコードが読める状況なら(典型的には自分だけで書いている状況なら)、引数として渡す関数・lambdaに副作用があったとしても、それが高階関数の処理に影響を与えるか否かを判断できる。高階関数の処理に影響を与えない副作用がある関数・lambdaを与えるのは別に問題はないのではないか、それでも何か避けた方が良い固有の問題点があるのかどうかというのか792の疑問ね。
コードを読む人は、高階関数に引数として渡される関数・lambdaには副作用がないか、副作用を持つとしても高階関数の処理に影響は与えないという前提で読むだけ。
実際に副作用のあるlambdaを書くことはほとんどないけれど、780みたいな単純な代入処理はたまにlambdaで済ませたくなることもある。そういうときに、一般論とか教条主義的なスタンスを超えた問題が何があるのかなという疑問だったんだが。
高階関数の実装者側は、そもそも渡される関数の副作用に対してできることは何もない(どんな副作用かも分からないんだから当然)のだから、元々「余計な心配にリソースを割く」こと自体がない。引数として渡される関数には副作用がないか、副作用を持つとしても高階関数の処理に影響は与えないという前提で書くだけでしょ。引数として副作用のあるlambdaを渡して、それが原因で高階関数の処理に影響を与えたら、それは呼び出し側が悪いってスタンスで書くしかない。
高階関数の呼び出し側は、特に高階関数のコードが読める状況なら(典型的には自分だけで書いている状況なら)、引数として渡す関数・lambdaに副作用があったとしても、それが高階関数の処理に影響を与えるか否かを判断できる。高階関数の処理に影響を与えない副作用がある関数・lambdaを与えるのは別に問題はないのではないか、それでも何か避けた方が良い固有の問題点があるのかどうかというのか792の疑問ね。
コードを読む人は、高階関数に引数として渡される関数・lambdaには副作用がないか、副作用を持つとしても高階関数の処理に影響は与えないという前提で読むだけ。
実際に副作用のあるlambdaを書くことはほとんどないけれど、780みたいな単純な代入処理はたまにlambdaで済ませたくなることもある。そういうときに、一般論とか教条主義的なスタンスを超えた問題が何があるのかなという疑問だったんだが。
797デフォルトの名無しさん (ワッチョイ 6a1a-uCg5)
2025/08/26(火) 09:39:12.77ID:tZRcIfkk0 >>796
他人とちゃんと話し合って決めろよ
他人とちゃんと話し合って決めろよ
798デフォルトの名無しさん (ワッチョイ dd8d-hBFX)
2025/08/26(火) 09:58:03.54ID:qtH/IdiV0 >>796
皆がお前のようにいちいち小難しいことを考えているわけではない、ってことだ。
一定以上のレベルのプログラマであればlambdaで副作用書いてるのを目にした時点で一般常識に照らして「こいつバカじゃないのか」という疑念を持つ。
お前のように細かいことを深く考えた上でやっているとは普通は思わない。
そしてバカを疑いながらのリーディングは通常よりも注意力を要し、結果的に時間がかかる、即ち可読性は低下する。
皆がお前のようにいちいち小難しいことを考えているわけではない、ってことだ。
一定以上のレベルのプログラマであればlambdaで副作用書いてるのを目にした時点で一般常識に照らして「こいつバカじゃないのか」という疑念を持つ。
お前のように細かいことを深く考えた上でやっているとは普通は思わない。
そしてバカを疑いながらのリーディングは通常よりも注意力を要し、結果的に時間がかかる、即ち可読性は低下する。
799デフォルトの名無しさん (ワッチョイ 6a1a-uCg5)
2025/08/26(火) 10:13:17.81ID:tZRcIfkk0 >>796 は仕事じゃないんだろうな
800デフォルトの名無しさん (ワッチョイ a9f6-ut8q)
2025/08/26(火) 11:02:48.24ID:GdDdRaCq0 800get
801デフォルトの名無しさん (ワッチョイ 7954-IRdO)
2025/08/28(木) 07:37:52.10ID:yOq6T87r0 デフォルト名前空間付きタグがどうやっても取得できない
802デフォルトの名無しさん (ワッチョイ 29eb-ZAtR)
2025/08/29(金) 09:32:22.26ID:sEZGPQSB0 dataclassは比較的新しいモジュールだけど、急速に普及した印象がある。namedtupleより分かりやすいので良い。
803デフォルトの名無しさん (ワッチョイ 4ad1-Y9fL)
2025/08/30(土) 18:55:38.52ID:hbOtSRYd0 goやrustみたいな最初から型がある言語のほうが良かったなぁ(´・ω・`)
804デフォルトの名無しさん (ワッチョイ 7954-IRdO)
2025/08/30(土) 19:03:44.19ID:qOwp6KvW0 むしろもっとperlみたいにゆるゆるな方が好み
805デフォルトの名無しさん (ワッチョイ c6b3-ZAtR)
2025/08/30(土) 19:07:15.61ID:9+bLWO6W0 パフォーマンスの点と他者の書くコードに型指定を強制できないという点は仕方ないけれど、それ以外は、型で実現したいことって概ねPytnonでもできるようになってない? そうでもない?
806デフォルトの名無しさん (ワッチョイ ca02-NWkk)
2025/08/30(土) 19:57:54.62ID:Inltr+l10807デフォルトの名無しさん (ワッチョイ ca02-NWkk)
2025/08/30(土) 19:58:14.61ID:Inltr+l10808デフォルトの名無しさん (ワッチョイ feeb-VoZ8)
2025/08/30(土) 20:59:13.62ID:LdU2fVxg0 Pythonが出てきた頃はPerl全盛だったけどCGIとかP言語はもう死語だろうな
809デフォルトの名無しさん (ワッチョイ 132b-482X)
2025/08/31(日) 10:31:20.51ID:GjhCFU0W0 python出てくる前はpython的な言語ってなんだたの?
lisp?
lisp?
810デフォルトの名無しさん (アウアウウー Sae7-8tKF)
2025/08/31(日) 10:48:14.97ID:8dn8jVHLa 当時から既に広く使われていて最もpython的と言うならTcl/Tkだよ
811デフォルトの名無しさん (ワッチョイ 6f6c-O/rL)
2025/08/31(日) 20:58:12.37ID:aib5LYmb0812デフォルトの名無しさん (ワッチョイ 6f76-P3Uo)
2025/08/31(日) 21:10:05.20ID:yW7onUoP0 立ち位置的にはPerlでしょ
$とか%とかだりーなーとか思いつつ、ライブラリあるしみんな使ってるから使うかーって感じだった
今もオフサイドがとかうるせーなーとか思いつつ、結局Perlの時と同じでまあ言語なんかなんでもいいかに落ち着いて使ってる
$とか%とかだりーなーとか思いつつ、ライブラリあるしみんな使ってるから使うかーって感じだった
今もオフサイドがとかうるせーなーとか思いつつ、結局Perlの時と同じでまあ言語なんかなんでもいいかに落ち着いて使ってる
813デフォルトの名無しさん (ワッチョイ 738e-Uwoy)
2025/08/31(日) 21:34:01.42ID:1n2Iv0Hx0 シェルスクリプトの代わりにはならんかったよ
初期導入されてたのってRedHatくらいだったし
Luaみたいな組み込み言語の側面はあったから
Tcl/Tkはしっくりくる
初期導入されてたのってRedHatくらいだったし
Luaみたいな組み込み言語の側面はあったから
Tcl/Tkはしっくりくる
814デフォルトの名無しさん (ワッチョイ a327-jRKo)
2025/08/31(日) 21:38:06.39ID:Uf/mN+Cj0815デフォルトの名無しさん (ワッチョイ cfc5-O/rL)
2025/08/31(日) 21:38:24.47ID:pHIfhBnQ0 awkだろにわかどもが
816デフォルトの名無しさん (ワッチョイ a327-jRKo)
2025/08/31(日) 21:39:09.43ID:Uf/mN+Cj0 Pythonの言語仕様はクソだが、とりあえず無償だったのでいろんな製品に採用されただけ。
817デフォルトの名無しさん (ワッチョイ 6f6c-O/rL)
2025/08/31(日) 21:40:53.43ID:aib5LYmb0818デフォルトの名無しさん (ワッチョイ a327-jRKo)
2025/08/31(日) 21:41:11.62ID:Uf/mN+Cj0819デフォルトの名無しさん (ワッチョイ 6f6c-O/rL)
2025/08/31(日) 21:41:37.92ID:aib5LYmb0820デフォルトの名無しさん (ワッチョイ a327-jRKo)
2025/08/31(日) 21:43:14.03ID:Uf/mN+Cj0821デフォルトの名無しさん (ワッチョイ cfc5-O/rL)
2025/08/31(日) 21:46:31.03ID:pHIfhBnQ0 >>818
Perlの前ってことは正しいだろ
Perlの前ってことは正しいだろ
822デフォルトの名無しさん (ワッチョイ 3354-uCOC)
2025/08/31(日) 21:47:36.14ID:F59m/DJE0 pythonが出てくる前の話なんだからperlだろ
perlの前はawk
perlの前はawk
823デフォルトの名無しさん (ワッチョイ cfc5-O/rL)
2025/08/31(日) 21:59:07.78ID:pHIfhBnQ0 Pythonの前だったわ
Asm->c/fortran->awk/sed/bash->perl->python->chatgpt/claude
が言語の歴史として正しいか
Asm->c/fortran->awk/sed/bash->perl->python->chatgpt/claude
が言語の歴史として正しいか
824デフォルトの名無しさん (ワッチョイ 6f6c-O/rL)
2025/08/31(日) 22:07:25.17ID:aib5LYmb0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「クラウンに乗りたかった」東京・足立の車暴走 男性、容疑を否認 [七波羅探題★]
- 相次ぐ中国公演中止に、シンガーソングライターらが続々高市首相に怒り表明「隣国の仲間たちに対して申し訳ない」★2 [muffin★]
- 東京・足立区の盗難車死亡ひき逃げ事件 11人死傷のうち死亡した男女の身元を発表 80代の男性と20代フィリピン国籍の女性 警視庁 [どどん★]
- 「ごまかして逃れようとしている」中国外務省報道官 [どどん★]
- 【大阪】関空第1ターミナルの4階から中国籍の20代男性が転落し死亡 警察官が駆け寄るも自ら手を離す [七波羅探題★]
- 《降板の申し出が》「平手友梨奈は出ません」ムロツヨシの「弁護士ドラマ」から“バディ”が消える!連ドラ撮影中にも遅刻、欠席… [Ailuropoda melanoleuca★]
- 【実況】博衣こよりのえちえちFantasy map simulatorミニキャラ死闘編🧪★3
- 今は亡きコウゾー🚗👴💨を追悼するお🏡
- おさかなさんあつまれえ
- おさかなさんあつまれえ
- 【高市悲報】台湾「日本が何言ってるか意味わからん😅」 [834922174]
- 【関空】関西空港で4階から中国籍の20代男性が転落し死亡した事故のヤフコメが完全にキチ害ネトウヨ。人間業と思えないレベル [718678614]
