Pythonのお勉強 Part75 (973レス)
上下前次1-新
726(1): (ワッチョイ cb01-X2XY) 08/12(火)22:31 ID:jU+JMCmR0(1) AAS
>>724
pyrightのstrict modeを試してみるといいと思う
727(2): (ベーイモ MM06-ZDX3) 08/12(火)22:41 ID:nRaft4INM(1) AAS
Pythonの型ヒントって型推論が許されてるけどどこまでそれが効くかはチェッカーの実装依存なんだよね
つまりチェッカーからすると型が不明というのは多くの場合において自身の型推論がショボいことを意味するわけで、
不明だからエラーにするというのは筋が通らないわけよ
せいぜい引数と戻り値に方指定を必須にするくらいだね
728: (ワッチョイ 7602-7soU) 08/12(火)23:05 ID:DyWlhw4u0(1) AAS
実行時まで型が決まらん、というのまであるしなあ
729: (ワッチョイ 8a9f-XAuV) 08/12(火)23:06 ID:6cjc6Wvo0(1) AAS
商用プログラム書くならパフォーマンス犠牲になってもランタイムの型チェックがほしい
こんどしれっとtypeguardいれてみようかな
AI支援もあるし猛烈に反対はされなそう
730(1): (ワッチョイ 9a02-QbuV) 08/13(水)06:35 ID:o5KTBnUB0(1) AAS
>>726
まあでも、
やっぱ、オレみたいなやっぱ要望はたくさんあるんだな
型を明記して欲しいって人
731: (ワッチョイ 174e-ZDX3) 08/13(水)08:37 ID:+sjCYsF70(1) AAS
>>730
問題は>>727の通り、どこまで明記すれば不明でなくなるのかがPythonの仕様上不明であること
例えば x = f() において、fの戻り値がstrとして型指定されている場合、右辺の式 f() の型は何になるだろう? 左辺で宣言された変数xの型はどうか?
どっちも当然strと思うかもしれないが、これ正確にはどちらも型推論が必要で、なんと型チェッカーの実装依存なんだよね
x: str = typing.cast(str, f())
もし可能な限り明記しようとすればこうなるが、これでもなお実装依存でないとは言えない
732: (ワッチョイ 231f-1ngM) 08/13(水)09:44 ID:/jTyGuwU0(1) AAS
型付け・型検査の目的は型の不整合の有無を確認することだから、式の型が1つに確定できるならそれが最も分かりやすいとは思うけど、必ずしも1つに確定できなくても(たとえば式の型としてa型、b型、c型の3つの可能性があって、そのいずれについても)型の不整合が生じないことが確認できているのであれば、それで型付け・型検査としての役割は果たしているようにも思うけど。
733: (ワッチョイ 0754-mJPu) 08/13(水)09:48 ID:rfdqQR7l0(1) AAS
動的型付け言語を静的型付け言語のように取り扱うのが間違い
無管理よりは何かやれることあるだろうという模索の最中だけど、本質的に困難
734: (ワッチョイ f63f-1ngM) 08/13(水)10:05 ID:IjqUTXVC0(1) AAS
もちろん、静的型付け言語と全面的に同じことができるわけではないけれども、部分的にではあれ良いところを真似することはできるし、邪魔くさいという人は従来どおりのスタイルで書くこともできる。型指定をアノテーションにとどめるというのはそんなに悪いアイデアではないと思うけどなー。
735: (アウアウウー Sac7-Kgix) 08/13(水)12:39 ID:U7zZSy+Fa(1) AAS
PyhtonのListが型限定されたら嫌だな
もちろんPyObjectとしては限定されてるが
そういう意味じゃないんだ
736: (ワッチョイ 4ecf-vKG+) 08/13(水)14:26 ID:52kJFnMW0(1) AAS
>>727
ESLint だと明示的でない any を警告するオプションがあったりする。
型が不明という状況がその型推論がショボいことを意味したりはしないと思うがな。
ただ実用上の問題としては、型ヒントを提供していないモジュールが多いんで
警告が出まくる可能性があること。
737(1): (ワッチョイ 175f-eMCN) 08/13(水)16:15 ID:jrIykVeu0(1) AAS
自分はpylanceのbasicでちょうどいいくらいだわ
738(1): (ワッチョイ 3efe-bxVO) 08/13(水)17:18 ID:vtzVqfUP0(1/2) AAS
labelStudioのインストールについて質問してもいいですか?
WindowsパソコンでlabelStudioの最新版をインストールしたのですがコマンドプロンプトでpipコードを入力してもファイルが見つかりませんとなってlabelStudioが起動出来ません。
わかる方いますか?
739(1): (ワッチョイ 23e7-XAuV) 08/13(水)18:47 ID:God64kkW0(1) AAS
>>738
外部リンク:labelstud.io
これでためしてみて
Dockerなんて要らないとおもうかもしれないけど
それならまずそんなところで躓かないくらいのオタクになる必要がある
740: (ワッチョイ 3efe-bxVO) 08/13(水)19:30 ID:vtzVqfUP0(2/2) AAS
>>739
Dockerとはなんぞや?なレベルなんてちんぷんかんぷんです。
ずぶの素人にはインストールすらむずいっす
741: (ワッチョイ dff2-ChRm) 08/15(金)00:02 ID:UemuT+6G0(1) AAS
pyxが出たよ
…何するツール?
外部リンク:astral.sh
742: (ワッチョイ 41f0-/HUD) 08/19(火)07:51 ID:fyqgDdBA0(1) AAS
配列でもdict使えば分かりやすいし変数名で何入るかだいたい分かるやろ
pythonて組込みには使わないし型なんているんか🐼
743: (ワッチョイ 5957-l4ws) 08/19(火)09:47 ID:ndmX+Emn0(1) AAS
ある程度規模が大きいプログラムでないと型のありがたみは分からないと一般的に言われているのでは。個人的には一応できるだけ型は付けるようにしているけど、可読性の低下に見合うメリットを実感できているかと言われると微妙なところかな。
typingも急速に複雑化したよねー
744: (ワッチョイ 6130-im2P) 08/19(火)11:31 ID:2nwbx/Cn0(1) AAS
型記述すると可読性が低下すると思っている人と
型記述しないと可読性が低下すると思っている人がいる
745: (ワッチョイ 4191-Qwzy) 08/19(火)11:53 ID:CS+/mYIY0(1) AAS
使わない理由は手間に見合うかどうかなんだとおもう
コードのノイズになるってんならIDEに型ヒント部分を隠す拡張があればいい
746: (ワッチョイ dbc5-l4ws) 08/19(火)12:50 ID:AwWeWqwl0(1) AAS
型ヒントを一時的に隠す機能は、たしかにちょっと欲しいかも。というか、もうあるのかもしれないけど。
他人が書いたコードとか、自分が書いたコードでも内容をだいぶ忘れてしまったコードを読むときは型ヒントが大いに助けになるけど、ある程度内容を把握しているコードだと型ヒントがない方が読みやすいってことは結構あるだろうとは思う。
747: (ワッチョイ 214b-ZBQJ) 08/19(火)17:20 ID:EZlqtCJf0(1) AAS
型ヒントないとメソッドに飛べないでしょ
効率的にコーディングするために必要だよ型ヒントは
748(2): (ワッチョイ db07-l4ws) 08/20(水)14:50 ID:v4jtEgpO0(1/2) AAS
lambdaの本体に式しか含められないという制限は、どういう考慮からなんだっけ? 名前あり関数を定義すれば済む話なのでそこまで不便というわけではないのだけれど、lambdaの中にそのまま書けたほうが自然なのになと思うことはちょくちょくある。
749: (ブーイモ MMb3-y2EG) 08/20(水)16:32 ID:qKO8yNcaM(1) AAS
>>748
フレームワークの概念がないのか?
750: (ワッチョイ f101-SMsS) 08/20(水)17:15 ID:V8h3cYb/0(1) AAS
>>748
式の中にステートメントを入れられないという大前提を覆すとなると影響が大きすぎるしそもそも思想に合わなかったからだと思う
assignment expressionの導入を嫌がってたのにも通じる話
751: (ワッチョイ dbda-l4ws) 08/20(水)19:37 ID:v4jtEgpO0(2/2) AAS
JavaScriptの関数定義式のイメージで、lambdaを式ではなく文にしたらどうかという前提で考えていたんだが、仮に文にするにしても「値を持つが式文ではない特殊な文」みたいなカテゴリを作るのは大変か。そうするとやむを得ないところかね。
752: (ワッチョイ 7954-A4gQ) 08/20(水)21:05 ID:z8I7zAVw0(1) AAS
羊のラムの綴りはlamb
一旦lambを書いてからdaを付けると間違わない
753: (オイコラミネオ MMa5-1GGU) 08/20(水)22:25 ID:WlXb3anFM(1) AAS
>>737
それでもウザいかな。nodeを自分でインストールする必要ないということで、basedpyrightを使ってみたけど、デフォルトのあまりにうるささに即削除した。
uvとかruffだっけ?のチームが最近始めたやつに少し期待している。
754: (ワッチョイ 4b8a-Li9w) [Sage] 08/20(水)22:32 ID:ABvMeeh/0(1) AAS
AIをゴリゴリ使って基幹ソフトをRPAとPythonで便利にする仕組みを社内投稿したら、会社でバズってなんかすごいスキルとか言われて困ってる 制作したことに偽りは無いけど、専門部署に呼ばれても知らんし(泣)そもそも制作のモチベーションは現場にあるから専門部署に行ってもしょうがない 現場のおじさんでも作れる時代になった事がエポックメイクな事なのに
755: (ワッチョイ 9321-/HUD) 08/21(木)04:26 ID:W7b3RP8P0(1/2) AAS
pyrightなんでtypescript使ってるんだろう
node系のやつ重いしなんか不具合出るから嫌い
上下前次1-新書関写板覧索設栞歴
あと 218 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.022s