Pythonのお勉強 Part69

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ c733-stRS)
垢版 |
2022/11/24(木) 21:39:44.67ID:A6xfpKBe0
!extend:default:vvvvv:1000:1024
↑スレ立てる毎に減るので、減ってたら3つに補充すること。

・当スレにRubyのソースコード類を書くことを禁ず
・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
・「Ruby では」「Rubyでは」「Rails」正規表現→「^クソチョンw$」をNGワード登録推奨
・エラーを解決したいときは、かならず
 エラー文(勝手に省略orスクショうp等の横着禁止)と
 おま環(Pythonのバージョン番号+OS名とバージョン+IDE名)を書け。

★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/

●関連スレ● 自称初心者は↓へ
【まず1嫁】くだすれPython(超初心者用) その58
https://mevius.5ch.net/test/read.cgi/tech/1662514433/

〇前スレ〇
Pythonのお勉強 Part68
https://mevius.5ch.net/test/read.cgi/tech/1663235546/

次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなった)
### END of TEMPLATE ### ?
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2022/12/22(木) 11:01:24.77ID:smn+2blz0
オートマにばかり乗ってると、マニュアル車の運転が出来なくなる
2022/12/22(木) 11:06:25.86ID:LbQSD5ER0
結局は言語ではなくて、データ構造とアルゴリズムの理解なんだよな
昔はみんなが知ってるべき知識だったけど、どんどん知らなくても使えるようになってきた
2022/12/22(木) 11:06:39.49ID:jksouGkc0
>>264
タプルならね
リストだとデータをメタにする必要あるし
辞書はツリーやハッシュマップも必要で
共通して動的なメモリ管理がつきまとう
2022/12/22(木) 11:11:21.58ID:dL3lthyL0
>>263
そんなのググれば実装例あるからまずはそのまま使えばいいだろ
そんな知恵もないレベルならそりゃそこで挫折するわなw
2022/12/22(木) 11:13:23.55ID:smn+2blz0
頭は筋肉と同じで、使わないと退化する
270デフォルトの名無しさん (ブーイモ MMe6-F7tP)
垢版 |
2022/12/22(木) 11:24:11.50ID:mRMrFGRVM
30代Pythonクソチョン男は強姦魔の犯罪者!
あなたの近くにいます!
父母と祖父母の戸籍謄本を提出させましょう!
2022/12/22(木) 11:27:48.27ID:fdccbL2R0
>>268
なんかかわいそうな人 バイバイ
2022/12/22(木) 12:08:33.90ID:smn+2blz0
知恵のないプログラマって、使い物にならないが
いるんだな、そういうのが
2022/12/22(木) 12:10:33.74ID:dL3lthyL0
>>271
そんなレスしか出来ないなら黙ってなよ...
そっちのほうがかわいそうすぎるわw
2022/12/22(木) 12:23:21.69ID:eLm5edyfd
挫折した理由がわからないからなのか車輪の再発明に嫌気がさしたからなのかで違う
2022/12/22(木) 12:25:09.82ID:smn+2blz0
適性がないと思う
2022/12/22(木) 12:29:33.73ID:Z8BCtWeu0
マウントおじさんは今日も元気だなぁ
2022/12/22(木) 18:06:39.79ID:mFK9O5hM0
>>261
学生の時、CとJava覚えて
Cで基本情報処理取ったけど
Python知ってから、家でPythonしか使ってないけど
一般的なプログラマーじゃないから会社でそういう言語を使うことはないけども
資料の自動化云々、家のラズパイ、仮想通貨関係とか
Pythonしか使ってない
2022/12/22(木) 18:20:13.15ID:indjkH6A0
けど
けど
けども
使ってない
2022/12/22(木) 18:47:57.98ID:mFK9O5hM0
>>278
やめろ!5chだぞ
お前、絶対面白くない奴だろう
君が求める完成形の文章は絶対に面白くない
2022/12/22(木) 19:03:24.41ID:dbqZG8bb0
簡単に書けるレベルのものしかやったことないけど、プログラマとしての欲求が満たせて自分は満足している
簡単なものしか書けないレベルっていうのが本質的なんだろう
2022/12/22(木) 19:07:06.14ID:smn+2blz0
人の揚げ足取りが一番つまらない奴
2022/12/22(木) 19:09:04.98ID:smn+2blz0
普通は簡単に書けるレベルをやるので十分なんだよ
自分がやってることをできるだけ手間掛けないで済むようにすることから始める

簡単に書けないことは、それで飯を食おうと思ったときにやれば良い
2022/12/22(木) 19:19:51.34ID:gXKKQs6i0
>>281
人格攻撃もどっこいじゃない?
2022/12/22(木) 19:25:45.86ID:smn+2blz0
技術板なんだから、お互いの技術向上と切磋琢磨で活用したい
多少のちゃちゃ入れはいいかもしれんが、
2022/12/22(木) 19:33:35.57ID:pS7gMn7x0
Cはプログラマを信用してるから最小設計ポインタドーン!
286デフォルトの名無しさん (ワッチョイ 7e30-ZR1D)
垢版 |
2022/12/22(木) 19:36:06.08ID:mFK9O5hM0
この流れで「どっこいどっこい」じゃなくて「どっこい」で来るのか、、、

なるほどね
2022/12/22(木) 20:01:31.68ID:gat4VRlWM
どすこいじゃなくて良かったじゃん
2022/12/22(木) 20:08:02.26ID:YRfbWBEUM
まあまあ喧嘩せんでくれ
自分はCに致命的に向いてないんだろう

例えば、20年Cに挑んでどうしても理解できなかったのがポインタのポインタ
**argvがわからないのでコマンドライン引数を使うアプリが作れず挫折
実はPythonにも*と**があって絶望しかかったのだけど、これはPythonを使う上で必須ではないようでセーフ
2022/12/22(木) 20:13:27.78ID:LbQSD5ER0
あれは結局言語仕様がおかしいんだよな
Cで書く人はみんなargvを憎んでいる
2022/12/22(木) 20:29:10.73ID:N0yJkasM0
アンカーだけのレス
へのアンカーなら分かるだろ
2022/12/22(木) 20:50:41.85ID:PKP5vjg/0
>>286
この流れで揚げ足取れるのが凄いわ
どっこいどっこいの略とまで書かないと理解できないとも思わなかった
ごめんね
2022/12/22(木) 21:05:30.63ID:mFK9O5hM0
>>291
なぜ「どっこい」のレスで切らんかったの?
あそこで切ったら、ある意味勝ちだったのに
そういうとこだよね
2022/12/22(木) 21:22:01.08ID:dL3lthyL0
>>288
> **argvがわからないのでコマンドライン引数を使うアプリが作れず挫折
それchar *argv[ ]って書けば多少理解し易い
要するに文字列(char *)の配列だから
2022/12/22(木) 21:34:51.38ID:oY+OEcI00
>>292
なぜ?勝ち負けを求めてるわけじゃないから
もしかしてレスにいちいち勝ちを求めてるの?疲れない?
2022/12/22(木) 21:36:57.96ID:dL3lthyL0
↑ どう見ても負けず嫌いw
2022/12/22(木) 21:52:19.67ID:LbQSD5ER0
プログラミングのハードルが下がったなと実感する瞬間である
2022/12/22(木) 22:02:44.58ID:mFK9O5hM0
>>294
つまらないレスをする人って
それがわからないからつまらないレスをする訳だが
その人がレスを続けたところで当然内容はつまらない
せっかくそこそこ面白いのを出したんだから
面白い状態で終わらせとけばいいのにと思って
「やっぱりつまらないよねー」で終わっちゃったよね
2022/12/22(木) 22:05:02.75ID:c+J4V8f90
#include <stdio.h>をおまじないって説明すると馬鹿にされるけどさ
Cの入門書なんかで#include <stdio.h>を「今はとりあえず、おまじないと思っておいてください」みたいな説明してるとマニアックな人から糞本扱いされるけど、じゃどんな説明するのが正解なんだろうか。

hello worldを書いてる初心者に、プロトタイプとかマクロとかから説明するのだろうか。

なぜプロトタイプみたいのが必要かって言うと、printf()は分割コンパイルでライブラリというものに入っていて……とか初心者が納得のいくまで説明をしなきゃならないのか。

「stdio.hというファイルにprintf()を使うための情報が入っているのでそれを取り込む命令です。詳しいことはおいおいわかりす」って簡単に説明するなら「今はおまじないとおもっていてください」と大差ないし。

バシッと納得のいく説明の例を教えてほしい。
2022/12/22(木) 22:07:40.99ID:smn+2blz0
ハードル下がってプログラマ人口が増えると良いね
2022/12/22(木) 22:24:53.66ID:LbQSD5ER0
論理的に考えられる人が増えたらいいとは思う
2022/12/22(木) 23:02:38.79ID:TDhKeJEe0
>>297
面白いレスサンキュー
2022/12/23(金) 08:01:48.05ID:Xg/JPq4Q0
>>298
外部の読み込むのがinclude
stdio.hを読み込むとprintfのような基本的な関数が使えるようになる
くらいの説明なら初心者でも分かるんじゃない
2022/12/23(金) 08:14:41.70ID:Z/1nZoBr0
実際にはプロトタイピングしているだけなので、includeしなくてもexternしてしまえば使える
2022/12/25(日) 15:05:08.45ID:szxk8o6ud
>>298
糞本扱いする人が糞だということにすれば問題なし
2022/12/25(日) 15:48:44.62ID:itz3wrzY0
おまじないがダメなら料理に例えようw
2022/12/25(日) 21:04:49.84ID:UDG4tDm5
バリデーション管理しやすくかつクラスを普通の関数のように扱いたいのですがどうしたら良いでしょか・・
用途はありませんが試しに足し算するだけのクラスを実装してみました

from typing import Optional
from pydantic import BaseModel

class _Sum(BaseModel):
a: int
b: int
def sum(self):
return self.a+self.b

#sum()を使うまでに段階を踏んでしまう
Sum=_Sum(a=3,b=3)
print(Sum.sum())
#sum(2,3)のように使いたい

#やりたいことは↓こんな感じで、自分で作ってみました
https://ideone.com/mQQPoc
後々に”偶数しかダメ”とかsum09自体を拡張したりとかしたいです
2022/12/25(日) 21:37:54.73ID:ZZol25Zb0
>>306
_Sumクラスのインスタンス生成時に型とかチェックしたい内容だけ渡すようにして、sumの中でそのチェックをするとか
2022/12/25(日) 23:13:02.03ID:ICQtDf1md
「普通の関数だと拡張性が弱まる」の意味がわからん
普通の関数のようにクラスのインスタンス化と特定のメソッドの呼び出しを実行できたとして、
そのインスタンスに後でアクセスする方法はないのだから関数ではなくクラスであることに何の意味もない
引数をバリデーションしたいだけなら、普通に引数に渡された値が条件を満たしていなければエラーを投げる関数を作って関数の先頭で普通に呼べばよい
アノテーションとタイプ数変わらないだろ
2022/12/25(日) 23:24:11.94ID:ICQtDf1md
あと、単に関数の処理としてクラスに実装された機能を利用したいということであれば、関数の中でそのクラスのインスタンスを作って目当てのメソッドを呼べばいいだけだ
トリッキーな仕掛けなど何一つとして必要ない
2022/12/25(日) 23:32:47.68ID:B6BX6vu/0
逆説だけど同一だからって関数内で関数呼ぶならデコレータの存在意義ないやん
コードの理解を和らげるためにあるんで
2022/12/25(日) 23:41:27.55ID:UDG4tDm5
>>308
ちなみに>エラーを投げる関数を作って
的なのを実装するとどういう感じになりますか?
少し前に自分でやったのはかなり簡略しますがこんな感じになりました
def must_be_int(n):
 if type(n) is not int:
  raise TypeError(f"type error:'{n}' is not int")
 return n
def sum(a:int,b:int) -> int:

 return must_be_int(a)+must_be_int(b)
print( sum(2,3) )
print( sum(2,"3") )

ただこれだとsum関数のロジック
2022/12/25(日) 23:43:25.19ID:UDG4tDm5
途中でした
ただこれだとsum関数のロジック内にチェックする関数が混在してくるので分けたいなと思い
must_be_int(a)
must_be_int(b)
return a+b
にしたりと、なんかしっくりこなくて・・
2022/12/25(日) 23:48:37.78ID:UDG4tDm5
ようは、
def sum(a:int,b:int) --> int:
このアノテーションだけでint以外の入ってきたらエラー吐いてくれればいいのに・・
みたいな
314デフォルトの名無しさん (ブーイモ MMf3-pLDh)
垢版 |
2022/12/26(月) 00:38:14.71ID:ZJD8d3IcM
それはtype checkerの仕事やろ
315デフォルトの名無しさん (ブーイモ MM5b-pLDh)
垢版 |
2022/12/26(月) 00:54:00.05ID:3Zc3mIaMM
>>308
> そのインスタンスに後でアクセスする方法はないのだから

これどういう意味なの?
インスタンスに後でアクセスする方法あると思うのだけど
316デフォルトの名無しさん (アウアウウー Sa1f-SvsN)
垢版 |
2022/12/26(月) 13:49:23.62ID:6bMfB0bxa
>>306
https://ideone.com/LoiejS
class sum(object):
def __call__(self, a, b):
self.a, self.b = a, b
return self.a + self.b

print(sum()(2, 3))
2022/12/26(月) 15:23:10.53ID:Z9xA6Bih0
>>306
普通に関数で実装してバリデーション用のデコレータ作れば?

def must_be_int(func):
__def _validate(*args):
____assert all(isinstance(x, int) for x in args), "all arguments must be integer"
____return func(*args)

__return _validate

def must_be_even(func):
__def _validate(*args):
__assert all(x % 2 == 0 for x in args), "all arguments must be even number"
____return func(*args)

__return _validate

@must_be_even
@must_be_int
def _sum(a, b):
__return a+b

print(_sum(2, 2))
print(_sum(1, 3)) # error
print(_sum(1.5, 2.5)) # error
2022/12/26(月) 19:13:28.11ID:271e9Qy4
>>316,317
ありがとうございます
実は__call__つかった方も関数の方(>306のコメントアウトに書いてあるように(ただ、args[1:]の部分が合わないのでバリデーションの部分は意図的に省いて書いてます))も
どちらもやっていたのですが諦めていました
ひとつは、(おま環なのかエディタの設定なのか)今度はアノテーションの方がなぜかデコレーターの方が優先されちゃって表示されて諦めたのと
もうひとつは、今回のような試しにやってみた足し算のみの用途なしな機能だけではない場合、
関数の方だと後々に拡張したいってなったときに難しそうだなと思い諦めました
319デフォルトの名無しさん (ブーイモ MMf3-kIRX)
垢版 |
2022/12/26(月) 22:18:46.52ID:IvZMxVOoM
30代Pythonクソチョン男は強姦魔の犯罪者!
あなたの近くにいます!
父母と祖父母の戸籍謄本を提出させましょう!
320デフォルトの名無しさん (ワッチョイ 3333-aH43)
垢版 |
2022/12/28(水) 11:04:27.64ID:JTGZh46Y0
止まってる車に60キロで走ってきた車がぶつかったら、中の人が受ける衝撃ってどっちの車も同じなんだっけ?
321デフォルトの名無しさん (ワッチョイ 3333-aH43)
垢版 |
2022/12/28(水) 11:04:43.39ID:JTGZh46Y0
あ、スレ違いですね。忘れてください
322デフォルトの名無しさん (ワッチョイ 7b97-H+55)
垢版 |
2022/12/28(水) 12:07:11.51ID:L0e9GMVm0
>>320
同じではない
軽自動車とトレーラーなんか考えてみたらわかるけど、作用反作用の法則で同じ力が軽自動車とトレーラーにかかるけど、軽自動車は潰された後完全にトレーラーに張り付く形で進み、トレーラーはわずかにしか減速しない
よって中の人の衝撃は全然違う
塑性変形で弾性衝突じゃないからそうなると思うかもしれないが、完全弾性衝突の場合だと軽い方が思いっきり跳ね返るだけね。よく跳ねるボールの中にいる人と、地下室の中にいる(地球という大きいボールのなかにいる)人を考えてもいいかも
要は同じ運動量が交換されるが、同じ運動量でも質量が違えば加速度は違うということだね
2022/12/29(木) 11:07:07.82ID:jCj0trE4a
>>318
https://www.youtube.com/watch?v=wYLqsG1zQPo
324デフォルトの名無しさん (ブーイモ MMb3-pLDh)
垢版 |
2022/12/29(木) 15:42:32.28ID:NCBV9Sb6M
>>323
動画のクオリティ高くてビビったw
325デフォルトの名無しさん (ワッチョイ 3f36-l5v6)
垢版 |
2022/12/29(木) 19:35:56.88ID:RiMtnxAm0
pythonのバージョン管理ってアナコンダがいいの?
俺ドッカーしか知らんかったからずっとドッカーのこと調べてたんだが
326デフォルトの名無しさん (ワッチョイ 3f36-l5v6)
垢版 |
2022/12/29(木) 19:36:47.55ID:RiMtnxAm0
あとpythonの開発環境って3.8が多いみたいなんだけど理由あるの?
327デフォルトの名無しさん (ワッチョイ 3333-aH43)
垢版 |
2022/12/29(木) 19:59:01.94ID:Y8X+93cs0
>>325
公式で配布してるインストーラ
328デフォルトの名無しさん (ワッチョイ 3333-aH43)
垢版 |
2022/12/29(木) 22:26:07.07ID:Y8X+93cs0
実行環境の話?
2022/12/29(木) 22:41:36.15ID:JTFuHtDdr
>>325
ケースバイケースかなぁ
機械学習やるならanacondaはオススメだよ
クラウド連携はanacondaは偶にトラブルになる
環境隔離したいならdockerは良いけど別にdockerでなくてもよい
最近はpipenvやpoetryでディレクトリごとに環境を分離してもいいかな
いろいろ増えすぎて初心者にはコレっていうのが難しい
そんなときは公式のPythonに戻る
2022/12/29(木) 22:52:19.17ID:JTFuHtDdr
>>326
そういえば何か作るときは3.8を使うことが多いなぁ
特に理由はないけど、3.9以降の使いたい機能は様子見

あとRedhat系列だと3.9以降をインストールするのが面倒くさいのもある
3.8ならSCL使えばさっくりインストールされる
Anaconda使えばいいけどあれはあれでバイナリごとインストールすることになるからなんだかなぁ
2022/12/29(木) 23:01:15.14ID:hdgfZ7yf0
Anaconda で動かすツール使ってる
2022/12/29(木) 23:03:16.65ID:3S86hTSK0
pythonは言語仕様は簡単だけど実行環境の管理が完全に終わってるよね
linuxの知識ないとサーバーサイドでまず使いこなせない
下手したら環境ぶっ壊して「何もしてないのに壊れた」状態が生まれる
2022/12/29(木) 23:05:37.12ID:XUilgIKr0
だからk8sなんかが流行ってるんでしょ
334デフォルトの名無しさん (ワッチョイ 8d01-s0Sd)
垢版 |
2022/12/30(金) 00:23:52.63ID:i/Imw4oH0
何もしなかったから壊れたということを知るべき。
335デフォルトの名無しさん (ワッチョイ 3f36-l5v6)
垢版 |
2022/12/30(金) 05:59:51.50ID:uddbjkCB0
>>327-330
大変勉強になりました
お三方にいただいたアドバイスをもとに
これから検討いたします!
336デフォルトの名無しさん (ワッチョイ 5319-GrCd)
垢版 |
2022/12/30(金) 08:21:58.84ID:DzZqzBlm0
PythonってVisual Studio のCodeの方じゃなくてCoreの方にも入ってるよね
いつもVB.NetやC#で使ってるからそっち使ってるわ。
337デフォルトの名無しさん (ササクッテロリ Spef-0zvw)
垢版 |
2022/12/30(金) 11:56:52.21ID:KypYNh+sp
デコレータって関数受けて関数返せばデコレータと言っていいの?
それとも機能の追加が出来れば関数返さなくてもいいの?
デコレータの例が全部ラップしてるから関数返すものをデコレータっていうのかと思ったけど、Pythonの構文的には機能の追加が要件ぽくてよくわからん
2022/12/30(金) 12:18:32.93ID:+LXrKtXS0
それは高階関数かな
339デフォルトの名無しさん (ササクッテロリ Spef-0zvw)
垢版 |
2022/12/30(金) 12:32:28.57ID:EYlolZ9wp
>>338
def deco (fn):
print("Good")
fn()
print("Good")

↑の関数は高階関数と言えるし、デコレータとも言える?
2022/12/30(金) 12:34:35.19ID:6lQGRZJ+d
>>339
デコレータとは、@decoの形で使用されることを想定している関数
ただそれだけのこと
341デフォルトの名無しさん (ササクッテロリ Spef-0zvw)
垢版 |
2022/12/30(金) 12:39:12.89ID:EYlolZ9wp
>>340
def deco (fn):
print("Good")
fn()
print("Good")

と↑をラップした↓

def outer (fn):
def deco ():
print("Good")
fn()
print("Good")
return deco

だとそれぞれどういうメリットデメリットが想定できる?
この程度だったら何も変わらない?
2022/12/30(金) 14:25:39.66ID:v4ysyuF5a
>>341
前者はデコレータとして使用できない
後者は使用できる
それだけのこと
343デフォルトの名無しさん (ササクッテロリ Spef-0zvw)
垢版 |
2022/12/30(金) 14:30:10.80ID:CAw5d3+3p
>>342
前者もデコレータとして使えるよ?
@decoで使うってことだよね?
344デフォルトの名無しさん (ササクッテロリ Spef-0zvw)
垢版 |
2022/12/30(金) 21:59:47.08ID:i0HtXYTfp
>>343
自己解決しました
345デフォルトの名無しさん (ブーイモ MMf3-pLDh)
垢版 |
2022/12/30(金) 22:26:59.27ID:XgQsZPRMM
自己解決とは一体・・・ww
346デフォルトの名無しさん (ササクッテロリ Spbb-3X/C)
垢版 |
2022/12/31(土) 00:05:03.98ID:Y1CGuIqUp
>>345
自分のわかっていないところがわかりました
2022/12/31(土) 00:20:01.24ID:E+Koymh80
replitのpythonテンプレートを使っているのですが、実行すると勝手にパッケージをインストールしたりします。これを止める事は出来ますか?
2022/12/31(土) 00:20:01.95ID:E+Koymh80
replitのpythonテンプレートを使っているのですが、実行すると勝手にパッケージをインストールしたりします。これを止める事は出来ますか?
2022/12/31(土) 14:58:09.42ID:iYLc9PIz
main.pyのソースを見たときに
import ○○ #upm package(パッケージ名)
の行のコメントアウト外すと消えるかも>>348
2023/01/01(日) 18:58:07.86ID:QkrDyXxA0
ワークマンの売上高は10年で2.6倍 好調の背景に何があるのか
www.itmedia.co.jp/business/articles/2301/01/news011.html

ワークマンpythonらしいぞ
まーそうなるわな
2023/01/01(日) 19:36:11.17ID:ps54Dm7d0
スレチだけど...
> KPIを達成しても売り上げが伸びない場合、社員ではなく経営の責任ということになります。
> 『会社がやれと言った内容がそもそも間違っていたんだね』ということで
まあインタビュー記事だからいくつか盛ってるとは思うけどこれがそれなりでも浸透してるなら確かに強いと思うわ
352デフォルトの名無しさん (ブーイモ MMb6-DakT)
垢版 |
2023/01/01(日) 21:38:32.18ID:OSWb6iEUM
>>350
ぶっちゃけ一番安上がりだからじゃね?
2023/01/01(日) 22:00:13.33ID:UVAQFgfk0
ちょっと前のすれにtypecheckerが出てたけど、
仕事で静的型付けって意識してる?
Dropboxが静的型付け使って開発してるぜ~っていう記事を
ちょうど見かけたもんで。
https://navi.dropbox.jp/our-journey-to-type-checking-4-million-lines-of-python
2023/01/01(日) 22:16:25.00ID:2lDDSA+U0
実際には型が動的で有り難いことは殆どなくて、大抵は決まったものしか入らない
だからこそ型なんか書かなくていい、という思想な気がする
2023/01/01(日) 22:41:34.82ID:65g2Zgvwd
>>353
typing hint(+dats class) 、mypyももちろんオン。会社など複数人が関わるプロジェクトね。一人なら好きにやれば良い
356デフォルトの名無しさん (アウアウエー Sa52-9yt5)
垢版 |
2023/01/02(月) 12:12:57.71ID:XEDAh58aa
Windows環境で、「アプリと機能」の一覧に表示されるソフトウェア名一覧をPythonから取得するにはどうしたら良いですか??

https://tadaup.jp/loda/0102120639918904.png
2023/01/02(月) 12:15:15.36ID:a90VB+UOd
レジストリ読む
2023/01/02(月) 14:11:49.16ID:VCjQSWZY0
WMI
2023/01/02(月) 17:01:40.21ID:mMdAew+l0
ChatGPTで答えさせて3つ出したコードのうちwmic使ったものを手直ししてみた
デコードをutf-8だったのをcp932にしたり文字列の整形あたりを改変しなきゃだったけどこういうとき結構良い答え持ってくる

Windows環境で、「アプリと機能」の一覧に表示されるソフトウェア名一覧をPythonから取得するにはどうしたら良いですか??

Windowsで「アプリと機能」の一覧を取得するには、次のような方法があります。

wmic コマンドを使用する
Windows Management Instrumentation (WMI) を使用する
PowerShell を使用する
以下は、いずれの方法もPythonから実行するための例を示します。

import subprocess
result = subprocess.run(['wmic', 'product', 'get', 'name'], stdout=subprocess.PIPE)
output = result.stdout.decode('cp932')
applications = [line.strip() for line in output.split('\n')]
for app in applications:
print(app)
360デフォルトの名無しさん (スッププ Sdba-9yt5)
垢版 |
2023/01/02(月) 19:23:19.67ID:gNyrLSWLd
>>359
すごい!ありがとうございます!
2023/01/02(月) 19:38:51.68ID:qfqFAF6wa
>>359
サンプルが少ないからほぼ直コピペなんだろうな
2023/01/02(月) 20:50:28.36ID:xWUsdzOR0
自演はいいって
2023/01/02(月) 21:06:38.35ID:gHhSLzFgM
すごくいいです
2023/01/02(月) 21:08:42.90ID:9G/14EFS0
subprocessの書き方古くない?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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