1 名前:デフォルトの名無しさん [2023/07/13(木) 18:48:41.56 ID:INS7SIu4.net] 当スレに★Python以外のプログラミング言語での回答類を書くべからず★ 派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。 「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。 このスレッドは「お勉強」スレのほうには書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。 ★エラーを解決したい場合★は、 表示されたエラーの全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、 実行環境(Pythonのバージョン・OSとIDEの種類およびバージョン)をシッカリ書くこと。 Pythonの★ソースコードをそのまま5ちゃんに貼るとインデントが崩れてチヌ★ 【【【複数の連続半角スペースはなにもなかったことにされる&タブは普通には入れられない】】】掲示板の仕様なので、 プログラム文は↓等の、いわゆるコードうp用サイトに貼ってこいください。 ttps://techiedelight.com/compiler/ Run Code機能あり。 ttp://ideone.com/ デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。 ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。 ttp://pastebin.com/ まずまずシンプル。 ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。 ◇Python公式◇ www.python.org/ ◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi 〇前スレ〇 【まず1嫁】くだすれPython(超初心者用) その58 https://mevius.5ch.net/test/read.cgi/tech/1662514433/ 次スレたては >>985 あたりが挑戦する。 ### END OF TEMPLATE ###
300 名前:デフォルトの名無しさん mailto:sage [2024/01/08(月) 13:33:49.83 ID:qmm9XobD.net] リンク間違えました https://techiedelight.com/compiler/ja/?f3d4
301 名前:デフォルトの名無しさん mailto:sage [2024/01/08(月) 18:03:30.19 ID:TiBm1ihV.net] 今既存のRPA用のフレームワークを改良しています オリジナルはこのようなコードになっています Controllerは操作のためにDriverのアンダースコアつきメンバーに触ってるんですが 設計上しょうがないですか? ruffで警告が出るので気になります。 それともプロパティを公開して フレームワーク利用者側からは呼ばないようにドキュメントを書く方がいいでしょうか? Controllerは状況に合わせた専用のメソッドを持つ子クラスを都度使い分ける想定です。 https://techiedelight.com/compiler/?ce6c99
302 名前:デフォルトの名無しさん mailto:sage [2024/01/08(月) 20:59:21.07 ID:3KJvz+ds.net] >>297 スクレイピングから夜のおかずまで 幅広く手掛けるpython
303 名前:デフォルトの名無しさん mailto:sage [2024/01/09(火) 11:51:37.25 ID:mYyJOFIO.net] >>298 モジュールレベルの可視性とクラスレベルの可視性を使い分ける クラスの外部からアクセスする前提のプロパティやメソッドならアンダースコアは付けない 利用者側コードでDriverを生成させる必然性はなさそうなのでフレームワーク側でDriverを生成してControllerをinitして返すAPIを用意する __init__.pyでモジュールのユーザーに公開すべき内部モジュールを選別する 公開モジュールで非公開モジュールをインポートするときはアンダースコアを付ける
304 名前:デフォルトの名無しさん mailto:sage [2024/01/10(水) 22:36:13.32 ID:Ggzl3EdZ.net] >>300 ありがとうございます。利用者はControllerを直接受け取るということでいいですか? 最初に貼ったコードはちょっと省略しすぎました 実際には以下のようにDriverはwith文で使えるようになっているのですが この場合もControllerを直接渡した方がよいのでしょうか? たとえば手動操作とRPAからの操作を切り替えるような状況だと Driverは最初に起動しておいてRPAが必要なときだけ都度Controllerを生成しています https://techiedelight.com/compiler/?dc5c
305 名前:デフォルトの名無しさん mailto:sage [2024/01/13(土) 15:42:46.23 ID:W9CIMidi.net] エ○画像とそれ以外の画像を振り分けるプログラムなんですが 実行するとmodel.fitでエラーが出ます 解決策がさっぱりわからないので助けてください [ソースコード] https://techiedelight.com/compiler/?c301 [エラー内容] https://i.imgur.com/BIkFIiE.jpg
306 名前:デフォルトの名無しさん mailto:sage [2024/01/13(土) 20:43:02.34 ID:Wk38PunC.net] >>302 もうプログラミングはAIに聞く時代だぞ ChatGPTのプロンプトに 「Pythonの下記のコードで~というエラーメッセージが出る原因を教えて」とタイプしてShift + ENTER押して コードをCtrl + Vで貼り付けてENTERすれば何かしらアドバイスしてくれる
307 名前:デフォルトの名無しさん mailto:sage [2024/01/14(日) 12:29:02.68 ID:0ohzHf92.net] ネタが新鮮だとChatGPTでは無理 https://github.com/tensorflow/tensorflow/issues/61215
308 名前:デフォルトの名無しさん mailto:sage [2024/01/14(日) 17:49:42.52 ID:NKNETmpB.net] 無料版のChatGPTだからダメなのであって有料版のChatGPTなら新鮮なデータも答えられるでしょ 金払いたくなければBingやBardのでもいい
309 名前:デフォルトの名無しさん mailto:sage [2024/01/14(日) 18:05:50.80 ID:JQrCg+JK.net] >>305 Plusでも無理 やってみれば分かること
310 名前:デフォルトの名無しさん mailto:sage [2024/01/14(日) 18:08:31.60 ID:MIyVZkUg.net] バカとハサミは使いよう 何でもChatGPTに聞くのはバカ
311 名前:デフォルトの名無しさん mailto:sage [2024/01/14(日) 18:12:22.27 ID:mFqEsi68.net] プロンプト:Exception has occurred: AttributeErrorが起きます 以下ソースコード添付 =================== あなたのPythonスクリプトでAttributeErrorが発生しているようですね。 これは通常、オブジェクトが指定された属性やメソッドを持たない場合に発生します。 スクリプトを確認して、問題の原因を特定しましょう。 まず、kerasのインポートに関して、 tensorflow.python.kerasを直接参照するのではなく、 tensorflow.kerasを使用することをお勧めします。 これはTensorFlow 2.xでの推奨される使用方法です。 また、predict_classesメソッドは古いバージョンのKerasで使われていましたが、 新しいバージョンでは削除されています。 代わりにpredictメソッドを使用し、 予測結果から最大値のインデックスを取得する方法に変更する必要があります。 以下の変更を提案します: import kerasをfrom tensorflow import kerasに変更します。 from tensorflow.python.keras.utils import np_utilsを from tensorflow.keras.utils import to_categoricalに変更し、 np_utils.to_categoricalの使用をto_categoricalに変更します。 from tensorflow.python.keras.models import Sequentialを from tensorflow.keras.models import Sequentialに変更します。 同様に、他のtensorflow.python.keras.layersのインポートもtensorflow.keras.layersに変更します。 model.predict_classesの代わりに、np.argmax(model.predict(Z), axis=-1)を使用して予測されたクラスを取得します。 これらの変更を行っても問題が解決しない場合、または他のエラーが発生した場合は、具体的なエラーメッセージを教えてください。 それに基づいて、さらにアドバイスを提供できます。
312 名前:デフォルトの名無しさん mailto:sage [2024/01/14(日) 18:28:17.93 ID:mFqEsi68.net] AttributeError が発生する場合、 これは通常、オブジェクトが期待されている属性を持っていないことを意味します。 エラーメッセージが具体的にどの属性が見つからないか示しているはずですが、 提供されたコードからは特定のエラー原因を特定するのは難しいです。 しかし、コードを見ると、いくつかの潜在的な問題点が見られます。以下にいくつかのポイントを挙げてみます: Kerasのインポート方法: import keras と from tensorflow.python.keras を混在させています。 一般的には、from tensorflow import keras のように TensorFlow 2.x と一緒に Keras を使用することが推奨されています。 predict_classes の使用: TensorFlow 2.x 以降、predict_classes 関数は削除されました。 代わりに model.predict を使用し、最大の出力値を持つクラスを選択します。 ファイルリストの作成: file_list がどこにも定義されていないようです。 これは score = list(zip(TEST, file_list)) で使用されていますが、この変数の定義が見当たりません。 ======== エラーメッセージをプロンプトに入れろと言われたが入力するのめんどくさいのでやってない
313 名前:デフォルトの名無しさん mailto:sage [2024/01/15(月) 07:21:20.78 ID:qqS0iVUV.net] >>308 やっぱすげーわAI こんなの瞬時に提案できる人間なんてこの世にいないだろう もう開発スキルを磨く必要はなくて、AIをいかに使いこなすかを勉強した方がいい
314 名前:デフォルトの名無しさん mailto:sage [2024/01/15(月) 10:53:04.65 ID:2WJTjfkc.net] つまりプロンプトエンジニアが重要になると
315 名前:デフォルトの名無しさん mailto:sage [2024/01/15(月) 11:01:16.44 ID:KiCBWffV.net] 上のはChatGPT4の場合 ===== ChatGPT3.5の場合 このコードの実行中にAttributeErrorが発生しているようです。 AttributeErrorは通常、属性(Attribute)に関するエラーを示します。 コード内のどの部分でこのエラーが発生しているかを特定するために、 エラーの詳細メッセージと行数を提供してもらえますか? エラーの詳細メッセージや行数を提供いただければ、 より具体的なアドバイスを提供できるかと思います。
316 名前:デフォルトの名無しさん mailto:sage [2024/01/15(月) 11:25:47.89 ID:VXSrH9W1.net] 何か掠ってたら、あの占い師はよく当たると思っちゃう人って滑稽だよね?
317 名前:デフォルトの名無しさん mailto:sage [2024/01/16(火) 23:57:22.51 ID:DyADOzn9.net] 30代のPython男は反日のチョンです。 職場から追放しましょう!
318 名前:デフォルトの名無しさん [2024/01/18(木) 05:14:20.29 ID:ozbgYzyy.net] くそどうでもいい質問ですみません pythonanywhereに登録した後に自動送信される Hi there, are you getting on OK with the site? というタイトルのメールの This message is just to let you know there is a real, live human here (well, a developer actually; not sure if that counts). の”a real, live human”と言う部分が太字なのですが、これは何のつもりなのですか?何が言いたいのですか?
319 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 08:14:17.00 ID:qC0ThaED.net] >>315 ChatGPT3.5に聞いた結果 これからはAIに聞く時代。人に聞くのは時間の無駄 -------------------- PythonAnywhereが自動送信するメールの中で、"a real, live human" の部分が太字になっている理由は、おそらくユーモアや親しみを込めた表現として使われています。この表現は、人間とコンピュータの違いを強調し、サポートが人間によって提供されていることを強調するために使用されている可能性があります。 通常、自動応答メッセージやウェルカムメールにおいて、太字やカジュアルな表現が使われることがあります。これは、ユーザーに友好的であると感じさせ、サービス提供者とのコミュニケーションが人間対人間であることを強調するためです。太字は通常、強調や注目を引くために使用されます。 このフレーズはあくまで軽い冗談や親しみを込めたもので、ユーザーに対して友好的な印象を与えることが意図されていると考えられます。
320 名前:デフォルトの名無しさん [2024/01/19(金) 17:01:36.09 ID:/agcSumM.net] ちなみに1万円札もでてきたけど、肝心の探しものは見つからなかった
321 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 21:41:13.26 ID:CZFLW0PQ.net] 技術的な難易度の低い課題にpythonで取り組むと手が止まらないな ググりながら、リファクタリングしながら、一日で追加のコードを300行も書いたら手首がちょっと痛くなった プログラマーは手首をヤると一発で引退だから怖い
322 名前:デフォルトの名無しさん [2024/01/21(日) 00:26:47.65 ID:jaz1unMy.net] pyinstallerでスタンドアローンで動くはずの電卓アプリのEXEを作ったら、勝手にインターネット通信しているのか知らないが、 DefenderでTrojan:Win32/Wacatac.B!mlにされた。 これってpyinstallerでEXEを作ると常に出るの?
323 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 01:01:49.79 ID:po0/ndNG.net] https://stackoverflow.com/a/52054580
324 名前:デフォルトの名無しさん [2024/01/21(日) 10:26:29.85 ID:IvCL+sTy.net] 1 センチメートルは 10 ミリメートルに変換されます。 変換する長さ n センチメートルが与えられるので何ミリメートルかを出力して下さい。 宿題がわからへん。
325 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 10:41:39.44 ID:CZIH4U50.net] プログラムとして書けないのかプログラムじゃなくても答えられないのか プログラムとして書けないだけならデータ入力がどのようにされるかがわからないのか計算式の書き方がわからないのか表示の仕方がわからないのか それぞれ問題を切り分けて把握したら先生にその内容を聞けばいい
326 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 16:13:36.22 ID:PdyqbFJh.net] >>321 何がわからないのかわからん ちゃんと推敲してくれ
327 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 16:29:55.78 ID:JCqDmCwj.net] >>321 たとえば5センチメートルが何ミリメートルかはわかりますか
328 名前:デフォルトの名無しさん [2024/01/27(土) 11:52:44.87 ID:0NhbJ8Wy.net] モザイクを検出して、透過に塗りつぶして、別の画像に貼り付けるプログラムを 作ったので良かったら遊びにきて下さい wikiwiki 同人誌同人ゲーム無修正化差し替え備忘録まとめ Wiki* https://wikiwiki.jp/mozanashi/ 左のメニューのところにプログラムを貼り付けてあります
329 名前:デフォルトの名無しさん [2024/01/27(土) 12:12:30.45 ID:R9CYWTqC.net] システムのPythonが3.0版だとして、最新3.11版を使うにはどんな方法が? ・システムPythonは更改しない前提 ・Dockerコンテナは使いにくいのでその他手段を
330 名前:デフォルトの名無しさん mailto:sage [2024/01/27(土) 12:27:20.61 ID:7oImGRPe.net] >>326 pyenv
331 名前:デフォルトの名無しさん [2024/01/27(土) 13:06:20.63 ID:idsDIbYE.net] >>326 自分でビルド
332 名前:デフォルトの名無しさん mailto:sage [2024/01/27(土) 14:03:55.97 ID:UmjQ6ogE.net] 改変したいなら自前ビルドもわかるが そうじゃないなら切り替えも楽なpyenvでいい
333 名前:デフォルトの名無しさん [2024/01/27(土) 16:46:55.78 ID:6KdYFEam.net] >>328 自前でビルドするかどうかは全く関係ないやろ
334 名前:デフォルトの名無しさん mailto:sage [2024/01/27(土) 17:12:17.55 ID:OFvOzhfh.net] embeddable pythonという方法もある
335 名前:デフォルトの名無しさん [2024/01/27(土) 18:00:42.31 ID:XRhGTNLI.net] >>330 自分でシステムのPythonとは別に好きな場所、好きなバージョンのPython入れるのに自分でビルドするのも方法の一つでしょ Windowsみたいにインストールパッケージ用意されたないならだけど >>326 はそういう質問じゃないんか?
336 名前:デフォルトの名無しさん [2024/01/27(土) 18:15:20.55 ID:XRhGTNLI.net] pyenvもたしかソースからビルドしてなかったっけ
337 名前:326 [2024/01/27(土) 18:29:33.08 ID:o5v2l6LT.net] >>332 自分でビルドしたPython がシステムPythonのライブラリを参照して不具合が起きると困る。自分でビルドするにしろ、出来合いの物を使うにしろ、そうならない方法を訊いた。
338 名前:デフォルトの名無しさん [2024/01/27(土) 18:49:08.88 ID:NKobULuJ.net] は?
339 名前:デフォルトの名無しさん [2024/01/27(土) 19:05:28.29 ID:bXNtt3x6.net] >>332 CPythonを自前でビルドするかそれともビルド済みバイナリを持ってくるかという話と システムデフォルトのPythonをキープしたままそれとは異なるバージョンのPythonも同時に使えるようにするという話は直交した話やで そんでもって質問は後者についてやろ
340 名前:デフォルトの名無しさん [2024/01/27(土) 20:45:05.22 ID:o5v2l6LT.net] >>336 うーん、よく分からないが、 システムPythonを必要とするシステムコマンドを叩くと、何らかの方法で導入したPython 3.11 を起動するようだと困る。 そうならないよう Python 3.11 を使える、そんな方法を訊いた。 自分でビルドして、上記を満たせるなら、自分でビルドする事で構わない。
341 名前:デフォルトの名無しさん [2024/01/27(土) 22:44:25.65 ID:brX24hU9.net] ビルドしてもしなくてもシステムPythonとは別の場所にバイナリを配置してそこへのpathを指定して使うことになる pyenvじゃなくても公式からダウンロードしてもいいしanacondaを使ってもいいしhomebrewやaptを使ってもいい macosやlinux系だとシステムPythonに依存する場合は基本的に/usr/bin/pythonを指定してるのでこれが指すバージョンを変えずに自分の使いたいバージョンへのpathを通すことになる
342 名前:デフォルトの名無しさん [2024/01/27(土) 22:47:32.91 ID:t7pPpNfJ.net] どれを使うかという指定もなければ、パスという概念もないんだろうな。
343 名前:デフォルトの名無しさん [2024/01/27(土) 22:58:51.17 ID:NKobULuJ.net] >>334 >自分でビルドしたPython がシステムPythonのライブラリを参照して これがわからん 仮に自分でビルドして/opt/python3に入れたPythonがあるとして、それがシステムのPythonにライブラリに依存するっていうこと? どういう環境?
344 名前:デフォルトの名無しさん [2024/01/27(土) 23:05:09.68 ID:t7pPpNfJ.net] ただの初心者なんだろうな
345 名前:デフォルトの名無しさん mailto:sage [2024/01/27(土) 23:58:06.71 ID:X0LvN4tY.net] Ruby ではDocker を使う。 多言語バージョンマネージャーでは、日本人が作ったanyenv もある。 同様のツールに、asdf もある。 コンパイルするから、20分ぐらい掛かる Renv, crenv, denv, erlenv, exenv goenv, hsenv, jenv, jlenv, luaenv nodenv, phpenv, plenv, pyenv, rbenv sbtenv, scalaenv, swiftenv, tfenv echo $(anyenv root) ただし、$ANYENV_ROOT は定義されていない /home/ユーザー名/.anyenv echo $(rbenv root) echo "$RBENV_ROOT" /home/ユーザー名/.anyenv/envs/rbenv echo $(nodenv root) echo "$NODENV_ROOT" /home/ユーザー名/.anyenv/envs/nodenv
346 名前:デフォルトの名無しさん [2024/01/28(日) 01:49:25.71 ID:P/o+j6FX.net] Dockerなどをいきなり勧めてくるやつは前提がおかしい
347 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 01:53:38.75 ID:VCSACfjI.net] いやいや、Dockerの前にもっとおかしいのがあるでしょ この人マジで頭おかしいけどいつまでこの芸風続けるんだろ
348 名前:デフォルトの名無しさん [2024/01/28(日) 05:41:05.55 ID:P/o+j6FX.net] Rubyでしょ? こいつはキチガイだけど、それ以外におかしいことを書くから、それも指摘しないと真面目に読むやつがあらわれる。
349 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 06:42:16.36 ID:PWkEGs2d.net] 英会話教室に通って「フランス語では云々」と講釈たれる奴みたい
350 名前:セよなw [] [ここ壊れてます]
351 名前:326 [2024/01/28(日) 07:28:43.27 ID:JZ5LlHQA.net] >>340 あり得ない事ならウェルカムだが、例えば、 /opt/python3/bin/python が /opt/python3/lib/libpython.so を_参照せず、$LDPATH にしたがって /usr/lib/libpython.so を見に行くことないの? とか、 或いは、 /usr/bin/python が /usr/lib/libpython.so というリンクを参照したのだけど、その実体が実は /opt/python3/lib/libpython.so だったとか。 >>327 で挙げられた pyenv というのは、何かしらそれに類した不具合を解消するのだろうと想像している。
352 名前:342 mailto:sage [2024/01/28(日) 09:12:54.94 ID:4GEBUrLg.net] >>342 に、もちろん、pyenv も入っている 多言語バージョンマネージャー、anyenv・asdf には、 rbenv, nodenv, goenv など、たいがいの言語は入っている ただ最近は、Docker も多い
353 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 11:10:02.02 ID:DsZuLMRu.net] >>347 固有のパスに導入した一般的なプログラムならそうはならん lddしたらわかるけどフルパス指定になってる pyenvは全自動でビルドするツールなんだけど導入先はホーム以下で同様 独自のシェル拡張使わないなら副作用ないし影響範囲もシェルの中だけ
354 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 20:13:41.36 ID:zZgVSQ5K.net] Python Arcadeが流行らないのって 名前が悪いからですよね? Pycadeとかに変えてほしい
355 名前:342 [2024/01/28(日) 21:35:30.33 ID:rJLsGKs7.net] PyDeca だと流行りそう。 >>349 > フルパス のくだりがよく解らないが、取り敢えずpyenv を検討してみる。どうもありがとう。
356 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 21:56:26.44 ID:vItLFMA9.net] お勉強スレにもポストしちゃったんですが バージョンよって剰余演算子の挙動が違う? -1%3とか
357 名前:デフォルトの名無しさん mailto:sage [2024/01/29(月) 00:08:46.88 ID:G6ToERat.net] くたばれPython に見えた
358 名前:342 mailto:sage [2024/01/29(月) 00:10:12.64 ID:eueHhgdA.net] >>342 のanyenv root/rbenv root/nodenv root を見れば明らか /home/ユーザー名/.anyenv 以下しか使わない。 個人の環境しか使わない だから多言語バージョンマネージャー、anyenv・asdf を使えばよい
359 名前:デフォルトの名無しさん mailto:sage [2024/01/29(月) 11:59:52.72 ID:fIBxeYXl.net] ArcadeよりPyxel派 >>350 なぜPyをつけたがるのかだよね
360 名前:デフォルトの名無しさん mailto:sage [2024/01/29(月) 13:09:20.70 ID:+byldzPi.net] Pythonでゲーム学習するならPyxelなんですかね
361 名前:デフォルトの名無しさん mailto:sage [2024/01/29(月) 13:23:00.81 ID:fIBxeYXl.net] >>356 オールインワンでツクール寄りだからゲーム部分を主に書きたいならそう 自分でプログラム制御や表示まわりも書きたいならPygame(SDL)とかもっと低層なやつ
362 名前:デフォルトの名無しさん mailto:sage [2024/01/29(月) 18:01:51.03 ID:+byldzPi.net] >>357 ありがとう Pyxel、記述少ないし、エディタ付きだから これだけで完結するのがいいね しばらく触ってみるわ
363 名前:デフォルトの名無しさん mailto:sage [2024/02/04(日) 18:26:19.16 ID:IyXxpV05.net] Pythonは初心者向けの文法というけど 難しくてサッパリわからん なんでコレクションをイテレータにしなきゃいかんの? ジェネレータって何の役にたつんよ クロージャってどう使うんだか せめてウェブやろうとしたら入門書がいきなりフレームワークばかりってどうなの? PHPみたいにさあもっとこうさっくりとさあ ぜんぜん初心者向け文法じゃないわ
364 名前:デフォルトの名無しさん mailto:sage [2024/02/04(日) 21:07:46.94 ID:lK7N0HuK.net] >>359 Pythonの文法が初心者向けなんて聞いたことないから君騙されてるよ PHPできるんならそれで困ることないんだから満足しとけばいいじゃん
365 名前:デフォルトの名無しさん [2024/02/04(日) 22:53:10.28 ID:PEeZU4gY.net] 文法はめちゃくちゃ初心者向けだろ
366 名前:デフォルトの名無しさん [2024/02/04(日) 23:04:08.64 ID:VBtkyZXg.net] 文法が分からないんじゃなくてイテレータやジェネレータやクロージャというプログラミングの概念が分かってないんやな Python特有のものではなく一般的なものでPHPでも全部サポートされてるからそっちでまず勉強してみたらいいんでないか?
367 名前:デフォルトの名無しさん mailto:sage [2024/02/05(月) 02:56:37.96 ID:UJ2m14qd.net] >>359 コレクション全部に対して何かしたいときに使うのがイテレータ 例えばコレクションの中を探すとか イテレータで書くとコードがごちゃごちゃするのですっきりかけるのがジェネレータ クロージャを使うと中でどう動いているか気にすることなくプログラムが書ける まあ、ググればすぐ出てくる情報だけど
368 名前:デフォルトの名無しさん mailto:sage [2024/02/05(月) 04:24:58.35 ID:9+bn0/St.net] 入門の講座がよくわからんかったから大混乱したよ講師が変だったのかもしらんが まずアナコンダを入れないとパイソンというのものはまともに動かないって言われた そんでvenvとかpipについて説明された 後で知ったが本当ならアナコンダナビゲータで環境つくるらしい アナコンダのせいでSSDに大量のライブラリが入ったがまったく使わんかった だったらなんでインストールさせた? 変数は整数型と倍精度浮動小数点数がどうのっていって変数型が少ないからJAVAより計算が苦手なんですって はて???じゃあなんで機械学習とか流行ってん 後で知ったが多倍長整数だし、浮動小数点数はゴミだけど標準ライブラリに固定小数点あるって、むしろ数値演算はどの言語より得意なんだと パイソン大流行だけどちょっとかじってすぐ初心者講座の講師やるってのは やめてほしいな なんか技能検定試験とかないもんかねえ
369 名前:デフォルトの名無しさん [2024/02/05(月) 11:14:00.83 ID:5G1mpbCF.net] >>363 君もググったほうがいいぞ
370 名前:デフォルトの名無しさん mailto:sage [2024/02/05(月) 11:54:56.85 ID:DvqIPT3c.net] >>364 アナルに入れるとパイパンがー まで読んだ
371 名前:デフォルトの名無しさん mailto:sage [2024/02/05(月) 13:59:42.51 ID:TA7auAWf.net] パイソンをケツの穴に突っ込んだらどうなりますか? 経験者のかた教えて下さい
372 名前:デフォルトの名無しさん mailto:sage [2024/02/05(月) 16:37:45.68 ID:hliEPH6s.net] 死んじゃうんじゃない?
373 名前:デフォルトの名無しさん mailto:sage [2024/02/05(月) 16:48:21.19 ID:B/pJSj68.net] 公式のチュートリアルであらかた網羅できるのに なぜ他から手をつけるのか プログラムが初めてだと時間はかかるけども
374 名前:デフォルトの名無しさん mailto:sage [2024/02/05(月) 16:57:38.46 ID:RaPfxtxC.net] 基本的なことは覚えたら済む話なんだが いろいろなライブラリがあるからわっかんねぇ
375 名前:デフォルトの名無しさん [2024/02/05(月) 19:18:21.11 ID:TKxKoCl8.net] 一応ここ質問すれなんで
376 名前:デフォルトの名無しさん mailto:sage [2024/02/05(月) 21:18:11.87 ID:UJ2m14qd.net] 機械学習にアナコンダが必須だった時代があった pythonには必須ではない python 自体は長い桁が扱えるかもしれないけど インタープリターなのでもともとが遅い 機械学習に使われているのは ライブラリがCかC++で書かれているため
377 名前:デフォルトの名無しさん mailto:sage [2024/02/05(月) 21:57:24.93 ID:B/pJSj68.net] それならPythonである必要はないよな Jupyter、numpy/scipyの土壌があったから そのまま使い続けているだけ
378 名前:デフォルトの名無しさん mailto:sage [2024/02/06(火) 07:25:06.16 ID:C4pk/cEW.net] jupiternotebookってのはどうしたら空白やタブ記号を表示できますか パイソンやるのには空白やタブ記号が見えないと困るのです
379 名前:デフォルトの名無しさん mailto:sage [2024/02/08(木) 06:13:31.80 ID:hTf75Vln.net] パイソンはインタプリタでパイソンプログラムはマルチプラットフォームとききました ところがPYNUMはC言語だといいます つまり機種依存があるはずです そうするとパイソンも機種依存していまいPYNUMをインポートしたプログラムはWin
380 名前:р盾翌唐ニマックでは動かないのではないのでしょうか 私だんだん混乱してきました [] [ここ壊れてます]
381 名前:デフォルトの名無しさん mailto:sage [2024/02/08(木) 07:41:46.39 ID:xta5h9K/.net] >>375 そういう面倒ごとがあるから、俺はことあるごとに言ってるんだよ 外部ライブラリは使わずPythonの組込み関数と標準ライブラリのみで書けと ライブラリに振り回されて貴重な人生を無駄にしないようにな
382 名前:デフォルトの名無しさん [2024/02/08(木) 07:57:21.03 ID:isMXgTpD.net] https://pypi.org/project/pynum/ これ?
383 名前:デフォルトの名無しさん [2024/02/08(木) 07:59:14.95 ID:isMXgTpD.net] >>359 と>>364 同じ人?
384 名前:デフォルトの名無しさん mailto:sage [2024/02/08(木) 08:35:52.53 ID:OewvCXAt.net] >>374 空白を可視化してるフォントを使うとか で、何も見えなかったらタブと見なす
385 名前:デフォルトの名無しさん mailto:sage [2024/02/08(木) 11:05:24.59 ID:arovnfBA.net] 全部anacondaで作って.condarcにconda-forgeのライブラリからのインストールも可能にしておくように設定 だが変わったものを取ってくると重くなりがち biocondaとかもインストール元にしとくか 変わったものをインストールする度に別環境作ったり pythonの環境設定は結構な初心者泣かせだな そもそもPCのユーザー名がマルチバイトだったり半角スペースあったりしたらもうアウトだったり anacondaは公式pythonと同居させられなくて問題になるが ryeを推してるところもあるが、私的ドキュメントが心許ない
386 名前:デフォルトの名無しさん [2024/02/08(木) 11:11:05.34 ID:isMXgTpD.net] anacondaを使うメリットが科学計算用ライブラリが一括で入るぐらいしかない >>374 そもそもタブを使うことがないし、全角スペースならだいたいのプログラミング用フォントなら分かりやすくしてある
387 名前:デフォルトの名無しさん mailto:sage [2024/02/08(木) 12:21:39.61 ID:6CZwMK9a.net] conda系はオールインワンで楽なのはわかるけど そこは一歩進んでコンテナ込みで勧めてほしい 魔法が多くて把握できなくなる弊害まで考えが及んでない
388 名前:デフォルトの名無しさん mailto:sage [2024/02/08(木) 12:37:21.60 ID:LLz4mv+z.net] >>377 numpyのことじゃね? >>375 C言語で開発されてるライブラリはインストール時(pip install等)に実行するプラットフォーム用にコンパイルされたバイナリが含まれたパッケージをダウンロードしてくるかソースをからコンパイルしてる ライブラリをインポートしたPythonのコードが特定のプラットフォーム用のコードを書いてなければWindowsでもMacでも動く
389 名前:デフォルトの名無しさん mailto:sage [2024/02/08(木) 13:13:39.69 ID:LLz4mv+z.net] >>374 jupyterlabならHighlight white spacesという設定でタブもスペースも可視化できるよ
390 名前:デフォルトの名無しさん mailto:sage [2024/02/08(木) 14:21:16.75 ID:MMHd3icf.net] 基本、C# 以外の全言語は、Linux 用。 だから、Windows 10 でも、WSL2 でLinuxを使う。 Mac ではVirtual Box でLinux 初心者はLinuxが難しいから、Windows上のMSYS2 を使う。 例えば、Ruby Installer がそう MSYS2なら、1GB ほどのWindows用の巨大なコンパイル環境もインストールする。 これで、Linux用のソースコードを、Windows用の機械語にコンパイルする ただ、全言語はLinux用に書いているから、 Windows用にコンパイルすると、うまく動かない場合もある 利点は、仮想マシンでLinuxを起動していないから、あまりメモリを使わない。 欠点はLinuxじゃないから、Docker を使えない事。 データベースなどの外部プログラムも全て、Windows用で揃えないといけない そうすると、中にはバグるプログラムも出てくる。 全てのプログラムがLinux用に作ってあるから
391 名前:デフォルトの名無しさん [2024/02/08(木) 18:58:16.38 ID:T36ggrXR.net] >>375 50代のスレに書き込んでいるおっさんだろ?
392 名前:デフォルトの名無しさん [2024/02/08(木) 18:59:24.55 ID:T36ggrXR.net] >>385 なかなかのキチガイだなw
393 名前:デフォルトの名無しさん [2024/02/08(木) 20:35:36.46 ID:PMTWmDyI.net] >>385 Rubyに関わるのはこんなキチガイばっかりです
394 名前:デフォルトの名無しさん mailto:sage [2024/02/09(金) 08:55:46.64 ID:JpXObIpk.net] 河上幸恵ちゃんの名曲 心の中のルビーというやつだな 皆さんありがとう また一歩自分の成長を感じました C言語のライブラリはそれぞれのパソコン用がインストールされる高度な仕組みであること ジュピターで空白タブを表示する方法 皆さんはわたしの成長ホルモンです
395 名前:デフォルトの名無しさん [2024/02/14(水) 15:26:02.91 ID:uypU95In.net] os.path.isfileの様なやり方でループなど使用せずに、 拡張子を除いた部分のファイル名が存在するか確認する方法ってありますか? 例えばファイル名”test01.txt”,”test01.png”のどちらがディレクトリに存在していても、”test01”だけでファイルの有無を確認したいです。
396 名前:390 [2024/02/14(水) 15:45:38.27 ID:uypU95In.net] 自己レスです。 とりあえず、glob.glob(‘/hoge/test*’)としてやってみました。 こんな方法もあるよというのがあれば教えてください。
397 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 10:41:22.80 ID:tURWv7oT.net] os.path.exists
398 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 22:24:18.46 ID:XpCZiALh.net] globでいいと思うけど一応 https://docs.python.org/ja/3/library/pathlib.html#pathlib.PurePath.stem
399 名前:デフォルトの名無しさん mailto:sage [2024/02/25(日) 04:23:40.84 ID:oObtEil6.net] Pythonのandroidでの実行環境って何を入れたらいいですか? 開発環境はとりあえず必要ないので あくまでスクリプト・インタープリターとしての最低限の実行環境がほしいのです CPythonみたいなリファレンス実装があればいいのですけど
400 名前:デフォルトの名無しさん mailto:sage [2024/02/25(日) 20:23:29.26 ID:hMq2Qtw2.net] termuxかpydroidかなあ?
401 名前:デフォルトの名無しさん mailto:sage [2024/02/25(日) 20:32:04.31 ID:hMq2Qtw2.net] python以外もつかうならtermux、uiが使いたいならpydroidかな?
402 名前:デフォルトの名無しさん mailto:sage [2024/02/25(日) 21:17:43.23 ID:oObtEil6.net] >>395 ,396 レスありがとう どちらかというと開発環境みたいな感じなんですね ほかにQPythonとかQPython 3Lとかはどうですか よりシンプルな実行環境という観点からするとどれになるのでしょうか
403 名前:デフォルトの名無しさん mailto:sage [2024/02/26(月) 23:37:11.68 ID:GBHslgGd.net] レビュー見る限りその2つはあまり良くなさそうだね
404 名前:デフォルトの名無しさん mailto:sage [2024/03/05(火) 16:51:36.85 ID:90GfYifC.net] 凄い基本的な質問なんだけどライブラリのことを考えるとPythonはanacondaとPythonそのままどちらのほうがお勧めですか または他にお勧めのツール?的なのある?
405 名前:デフォルトの名無しさん mailto:sage [2024/03/05(火) 17:04:30.62 ID:90GfYifC.net] ライブラリじゃなくてモジュールでした
406 名前:デフォルトの名無しさん mailto:sage [2024/03/05(火) 18:49:14.75 ID:xnDaPNvs.net] とりあえず、公式実装のCPythonでいいのでは? やりたいことが明確になってから必要に応じてanaconda環境を構築すればいいと思う
407 名前:デフォルトの名無しさん mailto:sage [2024/03/06(水) 15:55:05.95 ID:fNmftXEr.net] 何かライブラリなどをインストールしようとするたびにエラーがでて説明通りにできない こんなもん?
408 名前:デフォルトの名無しさん mailto:sage [2024/03/06(水) 16:59:36.65 ID:0Fz1GTqO.net] 説明が悪いんでは 前提としてる環境が違っててそこまでは書かれてないとか
409 名前:デフォルトの名無しさん mailto:sage [2024/03/06(水) 18:30:41.18 ID:vezaZ1iv.net] >>402 その説明では分からない
410 名前:デフォルトの名無しさん [2024/03/07(木) 20:32:37.26 ID:aIlNu4oQ.net] 自分はPycharmのflaskでウインドウズでは環境構築できなくて諦めました 同じことやってるのに、Macでは動いてウインドウズではエラー Pythonって学ぶスタート地点に立てない人少なくないかも?
411 名前:デフォルトの名無しさん mailto:sage [2024/03/07(木) 20:50:36.75 ID:Xi0SwO4p.net] >>364 マジで誰でもできるよ Pythonに限らずだけど経験一年以上とかで求人出てるし 俺は学歴で落とされたがね そもそもanaconda使いながらpipとか使うと環境壊れるよ
412 名前:デフォルトの名無しさん mailto:sage [2024/03/07(木) 20:53:48.81 ID:Xi0SwO4p.net] >>359 まぁ人によって印象違うんだ
413 名前:うな 俺はPHPはもう一生触らないと決めたけど そしてイテレータやらクロージャやらやんなくていいから そういうのは出てきた時に意味が分かれば十分 [] [ここ壊れてます]
414 名前:デフォルトの名無しさん mailto:sage [2024/03/08(金) 00:09:38.55 ID:xxGRRb0E.net] 基本、全言語はLinux 用。 Windows 用は、C# だけ だから、Windows 10 から、WSL2・仮想マシンでLinuxを起動できるし、 Docker Desktop も使える だから、Windows/Mac ネイティブ機械語は動かない。 Linux用のソースコードを、Windows/Mac用コンパイラで機械語にするのは邪道 でも、MacはUNIX のBSD だから、Linuxと似ているので、まずまず動くけど、 仮想マシンでLinuxを起動する方が確実 Windowsで、MSYS2, Visual Studio でコンパイルすれば、Winodows用の機械語になる。 しかし各モジュールの作者は、面倒くさいからLinuxにしか対応しないので、 Windows/Macでは動かない
415 名前:408 mailto:sage [2024/03/08(金) 00:21:23.96 ID:zqy1N+OL.net] なぜ、Windows/Mac用のネイティブ機械語にしたいのかと言うと、 仮想マシンでLinuxを起動したくないから。 2つのOS が動くから その代償に動かなくなる。 Linuxじゃないから、Docker Desktop も使えないし 例えば、自分がC/C++ のモジュールを書く時、Linuxにしか対応しないよな。 Windows/Mac用のファイルシステムや、プロセス/スレッドに対応しないはず。 3つのOS で動くようには書かないはず。 面倒くさい
416 名前:デフォルトの名無しさん [2024/03/08(金) 00:50:54.05 ID:FJDucPJF.net] >>408 またこの馬鹿の書き込みか ruby馬鹿よりはマシだけど
417 名前:デフォルトの名無しさん mailto:sage [2024/03/08(金) 04:38:04.66 ID:xViuWNSj.net] クロージャとデコレータが極悪に難しい ドキュメントや本を何冊も読んだが何のためにどうやって使う機能なのかさっぱりわからず自己嫌悪に陥る この世は無知な方が幸せなんだよな…
418 名前:デフォルトの名無しさん mailto:sage [2024/03/08(金) 15:18:49.79 ID:b4tlhFyW.net] python齧ったけどわけわからん やっぱCOBOLがわかりやすいわ
419 名前:デフォルトの名無しさん mailto:sage [2024/03/08(金) 16:10:05.35 ID:JEcqFwbk.net] Pythonで何作れたら中級者くらいって言えるかな?ゲームとか?
420 名前:デフォルトの名無しさん mailto:sage [2024/03/08(金) 16:11:57.72 ID:uXHmVfiG.net] VS Code使ってたせいだか何だかわからんけど、気分変えて作業フォルダを変更したらimport命令で自作モジュール読み込みするとエラーに。 メインpyファイルと同じフォルダの別pyファイルがimportできない ぐぐりまくってsys.path.append("ここに任意パス")で上記フォルダの絶対パスを指定したらいけたが、 じゃあそもそも元のパスはなぜ指定もせずにimport出来てたのかっていう疑問が残った。なんか怖い
421 名前:デフォルトの名無しさん mailto:sage [2024/03/08(金) 16:15:01.89 ID:uXHmVfiG.net] ちなみにこういうエラーね ModuleNotFoundError: No module named 'My_Mod'
422 名前:デフォルトの名無しさん [2024/03/08(金) 16:40:50.56 ID:T/tXaIRT.net] >>414 そうですね。 怖いですね。
423 名前:デフォルトの名無しさん mailto:sage [2024/03/08(金) 17:18:26.85 ID:YKaVE2hY.net] >>414 もしかして:Pythonのバージョンも違う
424 名前:デフォルトの名無しさん [2024/03/08(金) 18:34:14.21 ID:1bn2hcNH.net] >>414 https://docs.python.org/ja/3/tutorial/modules.html#the-module-search-path には、 「入力されたスクリプトのあるディレクトリ (あるいはファイルが指定されなかったときはカレントディレクトリ)。」がsys.pathに含まれてるって書かれてるのに変だよね 絶対パスを書く他にも、 os.path.abspath(__file__)とかする方法もあるよ pathlibでPath(__file__)と書いても良いけれど(自分は実はこっちばかりだけど)
425 名前:デフォルトの名無しさん mailto:sage [2024/03/08(金) 22:04:15.13 ID:Olq6J6jV.net] >>402 pip環境が壊れちゃったのかなあ
426 名前:デフォルトの名無しさん mailto:sage [2024/03/09(土) 02:10:53.23 ID:V+9wfNne.net] 外部ライブラリはPythonの強みであり同時に弱みでもあるね ライブラリがらみのトラブルで世界中でどれだけの人生が無駄に消費されているだろうか
427 名前:デフォルトの名無しさん mailto:sage [2024/03/09(土) 02:23:23.87 ID:RQZY5Guv.net] Ruby のrequire が使うロードパスには、 current working directory(cwd) は含まれていないから、 require 'abc' はエラーになるけど、 相対パスのrequire './abc' はOK 一方、require_relative 'abc', require_relative './abc' は、どちらもOK 相対パスも、その起点がどこからかという問題もある。 ファイルからの相対なのか、cwd からの相対なのか cwd を変えて、実行してみればよい
428 名前:デフォルトの名無しさん mailto:sage [2024/03/09(土) 05:27:46.59 ID:b/ATK8wU.net] 結局開発環境だと.venv/bin/activateの中にPYTHONPATH書くのが早いんだな
429 名前:デフォルトの名無しさん [2024/03/09(土) 12:09:06.37 ID:innwL8du.net] 開発環境でもpip installしたほうが
430 名前:デフォルトの名無しさん [2024/03/09(土) 12:15:40.44 ID:innwL8du.net] 配布先とか別環境でも同じ使い方できるから楽 なんとかtoml最小限書くだけでできるよね? レス別れちゃってごめんね
431 名前:デフォルトの名無しさん mailto:sage [2024/03/09(土) 12:47:03.50 ID:hNim5q60.net] venvで細かく分けて保存 何かインストール難しそうなものがあったら 新たな環境作ってそこにpip install それで壊れたらその環境捨てる という訳で気付いたら環境が15個とか出来てる anacondaでconda-forgeから取れるようにすると少し楽だが、いずれにしても管理の習慣が無い人ほどしくじり易い 「どうせ上手く行くから大丈夫じゃねーの?」と舐めプして 基本環境にpip失敗してpython丸ごと再インストールとなる 一般に「アップデートして最新にしましょう」というのがOSや市販アプリなら常識だが pythonでは他ライブラリとの相性もあり、何でもかんでもupdateすると怖い conda update condaはさすがにまあ安全だが
432 名前:デフォルトの名無しさん [2024/03/09(土) 17:35:27.63 ID:KPeEXLi+.net] >>425 >基本環境にpip失敗してpython丸ごと再インストールとなる ここがちょっとわかんない
433 名前:デフォルトの名無しさん mailto:sage [2024/03/09(土) 18:34:45.65 ID:bB58iYl/.net] 管理者権限でpip実行してんじゃね?
434 名前:デフォルトの名無しさん mailto:sage [2024/03/09(土) 19:30:49.00 ID:b/ATK8wU.net] AIないと何もブログラミング出来ないんだけどこれでいいのだろうか
435 名前:デフォルトの名無しさん mailto:sage [2024/03/09(土) 21:56:34.21 ID:Dg4V+RZb.net] >>428 いいんだよ プログラミングなんて本来人間のやる作業じゃない コンピュータのことはコンピュータに任せりゃいい 人間にしかできない仕事をやればいい
436 名前:デフォルトの名無しさん [2024/03/10(日) 04:36:05.69 ID:YuaEvpE6.net] >>429 こういう馬鹿ばっか
437 名前:デフォルトの名無しさん [2024/03/10(日) 05:30:03.67 ID:DGzgjbzK.net] 使えるものは使いこなして効率や生産性をあげないと 使いこなす人に出し抜かれる 有能なアシスタント雇ったと思えばいいじゃないかな
438 名前:デフォルトの名無しさん mailto:sage [2024/03/10(日) 08:41:17.31 ID:GTFEZR4A.net] >>430 ChatGPT使って書いてみなよ 今までプログラミング技術の習得に費やしてきた時間が全て無駄だったとわかる
439 名前:デフォルトの名無しさん [2024/03/10(日) 11:04:27.88 ID:xltcl5gU.net] >>432 全くそうは思わないな matplotlibみたいな使うのにリファレンス読む時間がめちゃくちゃ長いのは勉強しなくてよくなった感じがするけど ChatGPTに短い日本語で指示すれば書けるようなプログラムしか書けるようになってないだけだと思うよ 超初心者スレでいうのもあれだけど
440 名前:デフォルトの名無しさん [2024/03/10(日) 12:28:14.94 ID:2l3n+JcC.net] Excelのマクロ記録というものも知らなそう
441 名前:デフォルトの名無しさん [2024/03/10(日) 17:18:49.80 ID:NwXd028v.net] 漁獲を Excelで管理するということ?
442 名前:デフォルトの名無しさん mailto:sage [2024/03/10(日) 22:53:10.30 ID:+HoghBJd.net] サバの管理も必要
443 名前:デフォルトの名無しさん [2024/03/12(火) 18:56:30.23 ID:ArnB6rOr.net] 関数間を1行空けると、Vimの Pymodeに、 1 error| expected 2 blank lines after class or function definition, found 1 と怒られ、3行空けると 1 error| too many blank lines (3) と怒られ、余計なお世話に憤激した。 https://peps.python.org/pep-0008/#blank-lines > Surround top-level function and class definitions with two blank lines. などと書かれてあるが、お前等、きっちり2行空けているのかね。
444 名前:デフォルトの名無しさん [2024/03/12(火) 22:47:34.41 ID:BkSU/P3i.net] >>437 空けてる だってflakeに怒られるんだもん どうでもいいような書き捨てコード書くときはそもそもJupyterとかで書いておしまいだから PEP8とか気にしないけど、IDEで書いてる時点でメンテナンス性を意識しているから、 PEP8のようなルールに従っておこうという気持ちになっている
445 名前:デフォルトの名無しさん [2024/03/12(火) 22:47:41.26 ID:vXSbeabq.net] __ <- このアンダーバーをインデントと仮定する for x in xs: __for y in ys: ____for z in zs: このようにxyzの多重ループで zからyの所に抜けたい場合とzからxに抜けたい場合に 書き分けられる構文 python3にある? perl5 で書くとこんなラベル構文がある https://ideone.com/rIV69S
446 名前:デフォルトの名無しさん mailto:sage [2024/03/12(火) 22:53:07.42 ID:uGnBKOkv.net] https://github.com/PyCQA/pycodestyle/issues/400 シンプルなようで厳格化するのはたいへんでおもしろい
447 名前:デフォルトの名無しさん mailto:sage [2024/03/12(火) 23:00:25.97 ID:uGnBKOkv.net] >>439 インデントが空白4文字な世界だと その場で3重の入れ子なんて書かないから 関数かなんらかのブリッジが介在するはず だから例外や返り値でいくらでも制御できる デコレータつかうのといいかも
448 名前:デフォルトの名無しさん [2024/03/12(火) 23:05:19.86 ID:n3W+Fun6.net] >>439 gotoパッケージを入れて、goto文を使ってもいいが、そんなループをしないといけないのか?
449 名前:デフォルトの名無しさん [2024/03/12(火) 23:10:52.05 ID:n3W+Fun6.net] >>439 ループする条件とbreak文の組み合わせでもいいのに ネタなの?
450 名前:デフォルトの名無しさん mailto:sage [2024/03/12(火) 23:22:29.84 ID:oG8PduKS.net] >>437 きっちりつか、autopep8かけるだけ。
451 名前:デフォルトの名無しさん [2024/03/13(水) 00:57:33.03 ID:TCqO/DNK.net] Pythonはかなり古めかしい考え方のプログラミング言語だからな
452 名前:デフォルトの名無しさん mailto:sage [2024/03/13(水) 02:43:27.57 ID:ptopN5lQ.net] Ruby で、多重ループから一気に抜け出すのは、 ラベル付きのKernel.#throw/#catch を使う
453 名前:デフォルトの名無しさん mailto:sage [2024/03/13(水) 05:11:03.78 ID:NVpOWzEq.net] Rubyはcallccあるんじゃない?なんでもできるでしょ Pythonもコルーチンあるから今のVMで実装はできそうだけど あえて提供してないんだろうな
454 名前:デフォルトの名無しさん mailto:sage [2024/03/13(水) 08:24:43.29 ID:fKc7/92t.net] あれ、breakやcontinueの後に脱出先のラベル名を指定できたはずだが 別の言語だったかな?
455 名前:デフォルトの名無しさん mailto:sage [2024/03/13(水) 08:38:24.40 ID:6IE1D2aF.net] javaだな
456 名前:デフォルトの名無しさん [2024/03/13(水) 12:46:02.87 ID:q50ahorY.net] >>441 インデントが空白4文字であることと入れ子を3重にしないことの因果関係が不明 関数やブリッジを介在した方がわかりにくいコードになることもあるぞ そもそもCでも空白4文字インデントを使うことが多いが、 普通に3重ループは出てくるでしょ 例えばここ https://github.com/numpy/numpy/blob/9de8a809efa4c8193a168af9191a0c69290db3e4/numpy/_core/src/umath/ufunc_type_resolution.c#L1517 波括弧がないからlambdaでreturnを持つ複数の文を1つの式で扱えないとかだったらわかるけど、 インデントは関係ないでしょ 綺麗なコードを設計しよう、書こうとしてさまざまななテクニックを知ろうとする意識は大事だと思うけど、 実践なしに本とかに書かれてた「このテクニックはこういうときに使う」を鵜呑みにして、 テクニックを使わない方が見通しが良くなるような簡単な場合にも無理に使おうとするのは よくないと思うけどなあ。デザインパターンの濫用みたいな感じ。 戻り値で判定はあり得ても例外はあり得ないわ。 誤用としか言いようがない。
457 名前:デフォルトの名無しさん mailto:sage [2024/03/13(水) 13:02:27.40 ID:q3MDl01V.net] for~else ってなんか直感的じゃない気がするんだけど、なんで「else」なの? completed breaked, aborted finally みたいな単語なら分かりやすいのに。
458 名前:デフォルトの名無しさん mailto:sage [2024/03/13(水) 13:27:55.78 ID:baZhL1uT.net] すげえ大昔からあるんだな https://stackoverflow.com/questions/682185/which-version-of-python-added-the-else-clause-for-for-loops
459 名前:デフォルトの名無しさん mailto:sage [2024/03/13(水) 15:16:21.22 ID:NVpOWzEq.net] >>450 妄想がはげしい 5chで5行超えたら一旦立ち止まろう 後半句点も復活しているw
460 名前:デフォルトの名無しさん mailto:sage [2024/03/13(水) 15:54:43.36 ID:m9o7WxBh.net] >>439 それ用の構文は無い 大域脱出の代替手段はいくつかあるけど基本的には早期リターンで対応する その例だと内側の2重ループを関数化してbreak, continue, return(もしくはyield)で対処可 >>451 for-elseはBad Partsなので使わない Effective Pythonにも使うなと書いてある よくある”not found”みたいな処理はfor文の一部としてではなく 一つ上位でハンドリングすべき処理なので役割分担が間違ってる
461 名前:デフォルトの名無しさん [2024/03/14(木) 03:42:52.99 ID:/Z8fZW3i.net] >>453 どの辺が妄想なの? すぐ5行以上とかのレスに長文乙って返してくる人どの板にもいるけど根拠が示されて若干長くなった文章読めないの?短文でマウントとるだけのレスほどくだらないものはないと思うけどね 句読点があったりなかったりすると何が問題なわけ? 447では意味ありそうなレスしてるのに一方で煽るとは不思議な人だね
462 名前:デフォルトの名無しさん mailto:sage [2024/03/14(木) 19:42:58.77 ID:4bFX29zW.net] pythonをサーバーでプロジェクトルートを認識させられない NoModuleNamed"プロジェクトのフォルダー名"になる herokuなんだけど
463 名前:デフォルトの名無しさん [2024/03/14(木) 21:13:08.36 ID:xE50NtDY.net] >>450 日本だと4つが一番多いが、外国だと8つも多く、16すらある。
464 名前:デフォルトの名無しさん mailto:sage [2024/03/15(金) 13:14:40.59 ID:6p0ry24q.net] pygameのlineを使い時計の秒針のようか円を描こうとしたんですがうまく行かない どこが悪いの???
465 名前:デフォルトの名無しさん mailto:sage [2024/03/15(金) 13:15:14.89 ID:6p0ry24q.net] import sys import math import numpy as np import time import pygame pygame.init() WHITE = (255,255,255) WIDTH, HEIGHT = 400, 300 SURFACE = pygame.display.set_mode((WIDTH, HEIGHT)) FSPCLOCK = pygame.time.Clock() center_x = WIDTH // 2 center_y = HEIGHT // 2 def main(): while True: for event in pygame.event.get(): if event == pygame.QUIT: pygame.quit() sys.exit()
466 名前:デフォルトの名無しさん mailto:sage [2024/03/15(金) 13:15:36.25 ID:6p0ry24q.net] for theta in range(0, 360, 20): rad = math.radians(theta) R = np.array([[math.cos(rad), -math.sin(rad)], [math.sin(rad), math.cos(rad)]]) point = np.array([center_x, center_y]) rotated_point = np.dot(R, point) x = rotated_point[0] y = rotated_point[1] pygame.draw.line(SURFACE, WHITE, (center_x, center_y), (int(x), int(y))) time.sleep(1) pygame.display.update() FSPCLOCK.tick(100) pygame.quit() sys.exit() if __name__ == '__main__': main()
467 名前:デフォルトの名無しさん mailto:sage [2024/03/15(金) 14:06:44.19 ID:6p0ry24q.net] うまく行かない→画面外にlineの先端が飛び出す です
468 名前:デフォルトの名無しさん mailto:sage [2024/03/15(金) 15:38:52.20 ID:NWS7XA3x.net] >>461 これを試してみてくれ point = np.array([0, -center_y]) x = rotated_point[0] + center_x y = rotated_point[1] + center_y
469 名前:デフォルトの名無しさん mailto:sage [2024/03/15(金) 15:59:41.53 ID:6p0ry24q.net] >>462 ありがとう 円になりました
470 名前:デフォルトの名無しさん [2024/03/15(金) 17:26:12.14 ID:8JWNUOHY.net] >>456 なんで?
471 名前:デフォルトの名無しさん mailto:sage [2024/03/15(金) 17:38:05.39 ID:NWS7XA3x.net] >>463 座標回転は原点からのベクトルにしてから回転して 後で始点座標を加算する 後、縦横の長さが違う時は短い方に合わせないと飛び出す 必要なら1/2、1/4などして長さを調節する 画面サイズを元にスケーリングして長さを求めるのは画面サイズに依存しないやり方
472 名前:デフォルトの名無しさん mailto:sage [2024/03/15(金) 17:46:21.03 ID:F3qtk1ON.net] >>464 project_xっていうような名前のプロジェクト名だったけどherokuを覗いてみるとそんなフォルダーはなくて/app/って名前になってた だから相対パスや絶対パスを消して全部プロジェクトルートからのimportにした(ここらへんよく分かってない) あとherokuでポスグレ使うためにadd-on入れて、自動生成されたsqlalchemyに接続するためのDATABASE_URLっていう環境変数の中身であるpostgres://から始まるurlが正しくはpostgresql://でコード中で直す羽目になった 色々とherokuは使いやすくない これならawsでも学べばよかった
473 名前:デフォルトの名無しさん mailto:sage [2024/03/15(金) 17:47:08.11 ID:F3qtk1ON.net] あとgitのdevelopブランチをpushしてたけどherokuはmasterしか見ないらしくそれもハマった
474 名前:デフォルトの名無しさん [2024/03/15(金) 21:48:19.54 ID:8JWNUOHY.net] >>466 >だから相対パスや絶対パスを消して全部プロジェクトルートからのimportにした(ここらへんよく分かってない) https://devcenter.heroku.com/articles/getting-started-with-python?singlepage=true https://devcenter.heroku.com/articles/python-pip この辺みたらpipでインストールできるようにしてたらコード書き換える必要なさそう herokuに限らずデプロイするのにコード書き換える必要がでてきてしまったのはパッケージの構成がよくなさそう 何にしろ別環境にデプロイする以上、pipでインストールできるような構成にした方が楽だよ
475 名前:デフォルトの名無しさん [2024/03/15(金) 23:44:29.33 ID:gLD47Opc.net] >>451 条件式がTrueのときループして、条件式がFalseのときelseになる forもwhileもループ目的でつかうので、条件式がFalseのときというのは自然と終了時になる たとえば下記のようなループしないコードだとfalseとだけ表示される while True == False: ____print("true") else: ____print("false")
476 名前:デフォルトの名無しさん [2024/03/16(土) 00:23:50.73 ID:tIIuw8RV.net] いやいや
477 名前:デフォルトの名無しさん [2024/03/16(土) 00:34:26.59 ID:IFaiGfVE.net] キーワードを節約のために同じ単語を使ってるけど if-elseのelseと try-except-else-finallyのelseと for-else/while-elseのelseと みんな意味が違う ループのelseは”if not break”
478 名前:デフォルトの名無しさん mailto:sage [2024/03/16(土) 00:41:49.95 ID:ENgm2ZqF.net] 意味を与えたら異なってくるけど 内部処理は同一にみえん?
479 名前:デフォルトの名無しさん mailto:sage [2024/03/16(土) 03:10:31.74 ID:KKwFKDp9.net] 全部gotoやろなあ
480 名前:デフォルトの名無しさん mailto:sage [2024/03/16(土) 05:06:55.01 ID:aWIocRO6.net] herokuにアップしたらドメインとフォルダーの間のスラッシュが何故か2つになって恐らくそのせいで404とcors error出る ローカルではちゃんと動くし有り得そうなところは全部見たんだが もうfastapi、react、herokuのどれのせいなのかわからなくて積んだ elastic beanstalk に変えてデプロイし直すか.....
481 名前:デフォルトの名無しさん [2024/03/16(土) 10:02:19.46 ID:eI+Kyosu.net] なんか、ドキュメントとかログとか読まなそうな人だな
482 名前:デフォルトの名無しさん [2024/03/16(土) 10:47:04.93 ID:h3KSZFE8.net] >>473 ジョークにマジレスしちゃうけどgotoする条件の違いが重要 goto if false goto if no exception goto if no break
483 名前:デフォルトの名無しさん mailto:sage [2024/03/16(土) 12:00:46.66 ID:KKwFKDp9.net] >>476 (なので同一には見えないの意味でした. 補足ありがとう
484 名前:デフォルトの名無しさん mailto:sage [2024/03/16(土) 13:00:21.70 ID:BNVm3LV8.net] たぶん予約語を増やしたくないからelseを流用したんだろうね この辺は言語設計のさじ加減だから仕方ない
485 名前:デフォルトの名無しさん mailto:sage [2024/03/16(土) 13:18:07.52 ID:gBCe/Ijm.net] try-exceptのelseってtryに全部書きたくない人が使うの…?
486 名前:デフォルトの名無しさん mailto:sage [2024/03/16(土) 14:41:32.39 ID:fX07kGnW.net] こんな混乱が起こる構文なので 使わない方がベター 実装されてる機能が全ていいとは限らない
487 名前:デフォルトの名無しさん mailto:sage [2024/03/16(土) 15:25:29.24 ID:S+aPEpZd.net] 例外が発生するかもしれないけど上のexceptに混ぜたくない処理を書きたい場合とか?
488 名前:デフォルトの名無しさん [2024/03/16(土) 23:03:57.53 ID:1SZ3hjNN.net] forのelseというのは forに対するelseではなく forのループの条件式に対するelse だから意味は違っても内部処理は同一となる なのでif-elseをループさせてやるとfor-elseと同じ処理を再現できる https://ideone.com/2MULxa
489 名前:デフォルトの名無しさん [2024/03/16(土) 23:25:35.65 ID:HgWB99Ut.net] >>482 なるほどね 言わんとしてることは良くわかったわ
490 名前:デフォルトの名無しさん mailto:sage [2024/03/18(月) 19:10:03.43 ID:mMZjYpOD.net] ωってPyPyに似てるよね
491 名前:デフォルトの名無しさん mailto:sage [2024/03/18(月) 22:57:43.88 ID:k+0BFsOa.net] おいなりさんだろ
492 名前:デフォルトの名無しさん mailto:sage [2024/03/20(水) 21:07:42.45 ID:g3UAOGQ4.net] def one(): return 1,2 def two(a,b): print(a,b) two(100,100) two(one()) 最後の行で「TypeError: two() missing 1 required positional argument」エラーとなります。 twoで1と2を受け取れるようにするにはどうすれば?
493 名前:デフォルトの名無しさん [2024/03/20(水) 21:12:04.19 ID:GeI9OXvQ.net] two(*one())
494 名前:デフォルトの名無しさん mailto:sage [2024/03/20(水) 21:27:30.26 ID:g3UAOGQ4.net] >>487 サンクス できました
495 名前:デフォルトの名無しさん mailto:sage [2024/03/25(月) 21:04:47.80 ID:ybmcJkp8.net] def myfunc(): __myfunc.initialized = True こういうのってあり? 1年くらいpython勉強してきて、先日初めて見かけたんだけど ちょっとおどろいてしまって
496 名前:デフォルトの名無しさん mailto:sage [2024/03/25(月) 22:22:30.06 ID:JhT+JdiB.net] functionもオブジェクトで__call__が生えてるだけと思えるならあり ただどんな用法でも見通しが悪ければなし
497 名前:デフォルトの名無しさん [2024/03/26(火) 01:38:33.45 ID:CAcXk4Yx.net] おどろいてしまうようなやり方はじっくりコードを見ないとわからない振る舞いをするから基本なし
498 名前:デフォルトの名無しさん mailto:sage [2024/03/26(火) 02:04:23.26 ID:s3c2P37L.net] 便利ではあるけどわりと悪用寄りじゃねーかなあ
499 名前:デフォルトの名無しさん [2024/03/26(火) 04:38:00.60 ID:vQ76deH4.net] "initialized" て何?
500 名前:デフォルトの名無しさん [2024/03/26(火) 09:15:41.63 ID:we9m9tD+.net] >>489 なにそれ >>> def myfunc(): ... __myfunc.initialized = True ... >>> myfunc() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 2, in myfunc NameError: name '__myfunc' is not defined >>>
501 名前:デフォルトの名無しさん [2024/03/26(火) 09:32:42.21 ID:VDce1kQ4.net] アンスコはインデントのことやろ
502 名前:デフォルトの名無しさん mailto:sage [2024/03/26(火) 10:24:26.34 ID:1hPeYZqd.net] www
503 名前:デフォルトの名無しさん mailto:sage [2024/03/26(火) 10:40:59.11 ID:oEfu3HhX.net] 草
504 名前:デフォルトの名無しさん mailto:sage [2024/03/26(火) 10:56:16.21 ID:SqtaP4pc.net] 便利なことある? 100%無しだと思うが
505 名前:デフォルトの名無しさん mailto:sage [2024/03/26(火) 11:22:52.88 ID:cN9vnyja.net] 気持ちはわかるが……… https://i.imgur.com/osueu8f.jpg
506 名前:デフォルトの名無しさん mailto:sage [2024/03/26(火) 11:30:55.84 ID:XEFglfYx.net] クラス定義より軽量、外の名前空間を汚さない ジェネレータもあるしこれでしか書けないってのは思いつかない
507 名前:デフォルトの名無しさん [2024/03/26(火) 12:34:45.39 ID:rLv5Wa1V.net] template metaprogramming に匹敵する犯罪
508 名前:デフォルトの名無しさん mailto:sage [2024/03/26(火) 12:38:21.94 ID:HGM8+XQV.net] >>499 それはクロージャかクラスを使うべきケース 状態を外から更新したいならクラスを 更新されたくないならクロージャを使う 副作用じゃなく値を返すのがメインならジェネレータも選択肢の一つ
509 名前:デフォルトの名無しさん [2024/03/26(火) 13:03:56.77 ID:/DMrazJH.net] これGUI書きのクセっていうか、イベント・バインドの高階関数とかで見るな 簡単なGUI書いてて、クラス化まではしてないときかつ状態が2値のみのとき ウィジェットまわりに全部押し込んだほうが目線動かなくてメンテしやすいんよ それより表現が複雑だったら変数はrootに置いたり、クラスに持たせたりするんだけど、これはウィジェット(たとえばボタン)に持たせてるような感じ initializedとか、btn.locked / del lockedとかだしょ
510 名前:デフォルトの名無しさん mailto:sage [2024/03/26(火) 15:17:24.89 ID:/6tigVoe.net] pylanceって何?
511 名前:デフォルトの名無しさん [2024/03/30(土) 09:21:28.53 ID:FABGEyhJ.net] うちの pipが、 $ pip --version pip 55.0 from /usr/lib/python3.99/site-packages/pip (python 3.99) だとして、python3.1/site-packagesを pip listしたい。どうしたら?
512 名前:デフォルトの名無しさん [2024/03/30(土) 11:49:14.06 ID:lTb8Ggax.net] python3.1 -m pipでやってみたら 要は使いたいpythonからモジュールでpipを起動する
513 名前:505 [2024/03/31(日) 06:27:21.58 ID:r7c9jkcO.net] >>506 python3.1 はもう無い。
514 名前:デフォルトの名無しさん mailto:sage [2024/03/31(日) 12:09:50.75 ID:sPPO74qw.net] $ pip list ―path python3.1/site-packages
515 名前:505 [2024/03/31(日) 17:11:49.91 ID:wZMZSRnS.net] >>508 なるほど。どうもありがとう。 $ pip --version pip 55.0 from /usr/lib/python3.99/site-packages/pip (python 3.99) $ pip list --path /usr/lib*/python3.1/site-packages Package Version ------- ------- 略
516 名前:デフォルトの名無しさん [2024/03/31(日) 20:01:34.78 ID:k+SRq7RN.net] モダンなGUI作れるっていうからflet触ってるんだけど もしかしてこれGUIに対するドロップ受け付け機能ない感じ?
517 名前:デフォルトの名無しさん mailto:sage [2024/04/02(火) 21:32:23.08 ID:tcE9WrX3.net] 身体がflutterを受け付けない pythonでflutterアプリが作れるとか なんで、なんでそんなことを
518 名前:デフォルトの名無しさん [2024/04/03(水) 09:07:29.94 ID:gYUDipyH.net] fletはflutterで根本的にwebアプリ用だから外部からの入力はdropzoneないと無理じゃないか
519 名前:デフォルトの名無しさん [2024/04/09(火) 09:59:41.23 ID:vz2W6XdT.net] >>511 自分はDartを覚えず使わずflutterアプリ作れるってのが良いんじゃね 知らんけどw
520 名前:デフォルトの名無しさん mailto:sage [2024/04/25(木) 18:36:04.67 ID:et3aNg4p.net] >>510 それないのネックだよなー
521 名前:デフォルトの名無しさん mailto:sage [2024/04/26(金) 04:15:50.28 ID:irc/xjdb.net] このスレにあった質問かどうか自信がないんだけど・・・ 投資系のライブラリ"talib"てあるじゃないですか これに含まれるCCIの使い方がわからんのです
522 名前:デフォルトの名無しさん mailto:sage [2024/04/26(金) 06:53:25.16 ID:ZBCRkORu.net] >>515 ChatGPTに聞いてみなよ もうプログラミングは人に聞いたりドキュメントを読む時代じゃない
523 名前:デフォルトの名無しさん mailto:sage [2024/04/26(金) 07:20:49.79 ID:oC+HoZzz.net] やってみたらわかるけどマイナーなライブラリの使い方聞いてもデタラメ答えるだけ
524 名前:デフォルトの名無しさん mailto:sage [2024/04/26(金) 08:47:57.09 ID:irc/xjdb.net] >>516 無料版3.5で聞いてみた 突然英語で喋りだして、思ってたのと違うコードを紹介してきたので諦めたw
525 名前:デフォルトの名無しさん mailto:sage [2024/04/26(金) 08:50:24.75 ID:GzSmFxiN.net] ChatGPTの野郎は知ったか振りばかりして「知らない」と言うことを知らないからな
526 名前:デフォルトの名無しさん mailto:sage [2024/04/26(金) 08:59:13.25 ID:svyb6xY8.net] >>516 みたいにプログラミングやってるくせにChatGPTの実力や使いどころを知らないのまじ無能
527 名前:デフォルトの名無しさん [2024/04/26(金) 18:16:07.03 ID:AmdOltG1.net] いけず石の説明させたら架空の鉱物の説明しだすからな
528 名前:デフォルトの名無しさん mailto:sage [2024/04/26(金) 20:01:21.45 ID:sEQNDfGh.net] >>518 3.5で聞いたみたら下記の回答が返って来たぞ これじゃダメなのかい? import talib # サンプルデータの作成(適宜自分のデータに置き換えてください) high_prices = [105, 110, 115, 120, 118, 112, 115, 118, 122, 125] low_prices = [95, 98, 102, 108, 100, 102, 105, 108, 110, 112] close_prices = [100, 105, 110, 115, 112, 108, 110, 115, 118, 120] # CCIの計算 cci = talib.CCI(high_prices, low_prices, close_prices, timeperiod=14) # 出力の表示 print("CCI:", cci) talib.CCI()`関数には、高値、安値、終値の配列を渡し、`timeperiod`パラメーターを指定する必要があります。これはCCIの期間を表します。計算されたCCIの値は、指定された期間ごとに配列として返されます。 上記の例では、10日間の高値、安値、終値のデータからCCIを計算しています。実際の取引データを使用する際には、それに応じてデータを入力してください。
529 名前:デフォルトの名無しさん mailto:sage [2024/04/26(金) 20:15:58.39 ID:SscvQYbj.net] ドキュメント読めよ
530 名前:デフォルトの名無しさん [2024/04/28(日) 21:51:15.65 ID:zlR73q8o.net] スレ立てあらしスクリプト対抗age
531 名前:デフォルトの名無しさん [2024/04/29(月) 05:58:27.57 ID:sMTBjD6w.net] ちゃす 質問す プログラミングのロジックを考える時に使える考え方ありますかね 入力と出力を考えるといいますが、関数の引数が入力、返り値が出力といいますか?
532 名前:デフォルトの名無しさん mailto:sage [2024/04/29(月) 07:27:54.81 ID:xgq67JZI.net] 考えることはうんこを食って食べ物を尻から出すようなことだが 重要なのはコンピューターにとってばうんこも食べ物も変わらないという事だな
533 名前:デフォルトの名無しさん mailto:sage [2024/04/29(月) 07:55:32.14 ID:Irrt06Ch.net] そうやね いかに物事を抽象化してシンプルにモデル化するか
534 名前:デフォルトの名無しさん [2024/04/29(月) 07:57:38.43 ID:sMTBjD6w.net] 複雑に考えすぎなんすかね 関数増えてくとわけが分からなくなります
535 名前:デフォルトの名無しさん mailto:<
[] [ここ壊れてます]
536 名前:>2024/04/29(月) 12:40:37.42 ID:sMTBjD6w.net mailto: 材料→材料の処理→結果、というのがプログラムの基本なんすかね [] [ここ壊れてます]
537 名前:デフォルトの名無しさん [2024/04/29(月) 12:43:56.77 ID:1Ba7WF72.net] 何でもそうだけど真似というか模倣から始めるのはどうよ ギターでもHIDEがカッコいいとか布袋みたいにとか真似するでしょ デザインパターン本だとか有名なオープンソースのコード見てると何となく癖というか法則みたいなのが分かってくる
538 名前:デフォルトの名無しさん mailto:sage [2024/04/29(月) 15:01:05.04 ID:36J4bmfl.net] アルフィーの高見沢さんの髪がまだ短めで黒かった頃、メイキングのムービーで作曲する姿が写っていたが、 少し書いては弾いて違うと書き直すのを繰り返す姿を見て、これってオブジェクト指向に通じるんじゃないかと思った。
539 名前:デフォルトの名無しさん mailto:sage [2024/04/29(月) 15:24:26.44 ID:3QF86HD9.net] 途中までスクリプトかと思った 短いときなんてあったのかぁ
540 名前:デフォルトの名無しさん mailto:sage [2024/04/29(月) 15:43:29.23 ID:yZBAGAQ6.net] >>525 一度に一つのことしかしないように考えるかな あと一般的なことは考えず今必要なことだけをやる仕様にする
541 名前:デフォルトの名無しさん mailto:sage [2024/04/29(月) 16:30:19.78 ID:7kmh2Muz.net] >>525 >関数の引数が入力、返り値が出力といいますか? 話の文脈によるんだけど「関数の入出力」が引数と返り値だけを指してる場合もあれば それ以外の外部状態からの入力や出力なんかを含む場合もある プログラム設計時に関数の入出力を考える場合は 引数や返り値以外も考えないといけないので広い意味も頭に入れておいたほうがいい >>529 >材料→材料の処理→結果、というのがプログラムの基本なんすかね 上に書いた広い意味で言うなら 指示と材料が入力で結果(成否等)と加工した材料が出力 これが基本 指示―> 処理 ―>処理結果 材料―> ―>加工した材料
542 名前:デフォルトの名無しさん [2024/04/30(火) 05:58:23.71 ID:7kO3MDXp.net] ありがとう(*´ω`*)、、
543 名前:デフォルトの名無しさん [2024/04/30(火) 11:47:25.31 ID:7kO3MDXp.net] 比較について質問なのですが、数値ペア同士の比較というのはプログラミングでは出来ないのでしょうか? 例えばvector2なら、xとyの値を取り出してそれぞれ比較しますね
544 名前:デフォルトの名無しさん [2024/04/30(火) 11:58:01.28 ID:7kO3MDXp.net] プログラミング得意な人は頭の中がどんなイメージになっているのだろう すべて図解になっているんだろうか
545 名前:デフォルトの名無しさん mailto:sage [2024/04/30(火) 12:17:12.46 ID:e06sRc0C.net] >>536 普通にできるでしょ (0, 1) > (0, 2) => False (1, 1) > (0, 2) => True Tupleの場合は内部的にそれぞれの要素を取り出して比較されてるけどね
546 名前:デフォルトの名無しさん [2024/04/30(火) 17:47:36.57 ID:bXsIEdjD.net] >>537 境界知能みたいな知能が低い人には無理だよ
547 名前:デフォルトの名無しさん mailto:sage [2024/04/30(火) 18:05:05.21 ID:l8IWanaC.net] >>537 単に経験豊富なだけだよ 色々やればイメージができるようになる
548 名前:デフォルトの名無しさん [2024/04/30(火) 18:08:16.92 ID:7kO3MDXp.net] >>538 >>540 どうもっす
549 名前:デフォルトの名無しさん mailto:sage [2024/04/30(火) 19:36:23.61 ID:yMZhKZIP.net] 経験を活かせるかどうかが能力なので 539にもアンカつけてあげて まじで向いてない人いるから
550 名前:デフォルトの名無しさん mailto:sage [2024/05/01(水) 00:28:40.04 ID:+iRkaWFb.net] >>537 プログラムの構造を考えるのは文章の構成を考えるのと同じ頭の使い方をする 文章の構成を考えるときに図でイメージしてる人もいればそうでない人もいるように プログラミングに習熟した人でもプログラムを図でイメージしてるとは限らないしできるとも限らない
551 名前:デフォルトの名無しさん [2024/05/01(水) 01:16:14.81 ID:Zve8z/ER.net] 小学生でもバブルソートは書けるので、知能にデコボコがあっても、どの方向が劣っているのかによるのでは。
552 名前:デフォルトの名無しさん mailto:sage [2024/05/01(水) 10:19:05.69 ID:HGDms0B9.net] 小学生でもプログラミング得意なやつはいるけどバブルソートを書くというのはお手本を模写できたり辞書を引いて目的の項目を調べられたりする程度の話だからプログラミングが出来るかどうかの指標にはならないよ
553 名前:デフォルトの名無しさん [2024/05/01(水) 13:34:16.61 ID:OSMPRnYB.net] 実際のプログラムだとソートする関数は用意されてるから自ら実装する事は無い ソートはあくまでもアルゴリズムを学ぶ上での教材的な感じ
554 名前:デフォルトの名無しさん mailto:sage [2024/05/01(水) 14:26:55.02 ID:G90j3Kau.net] ??アスペにもわかるように書いてほしい
555 名前:デフォルトの名無しさん mailto:sage [2024/05/03(金) 00:19:22.63 ID:In48C7dA.net] ゲーム制作板で何年も倉庫番完成させられてない人じゃん 親切な人がいっぱい釣れたね
556 名前:デフォルトの名無しさん [2024/05/03(金) 01:30:55.10 ID:ZXRxoWBs.net] C#スレにもいたあの馬鹿か?
557 名前:デフォルトの名無しさん mailto:sage [2024/05/04(土) 12:25:55.56 ID:+MvlSNsp.net] あれ人じゃなくてチャットbotだからスルー推奨だよ。
558 名前:デフォルトの名無しさん [2024/05/12(日) 12:51:00.18 ID:Z6PeNQRU.net] そういや、ぷよぷよかなにかのヤツどこ行った? 同一人物?
559 名前:デフォルトの名無しさん mailto:sage [2024/05/15(水) 16:15:32.43 ID:Ui7vW0sT.net] pythonを使って、既存のMicrosoft officeのファイル(.docファイルとか)の中身を調べたり取り出したりする事ってできますか?
560 名前:デフォルトの名無しさん [2024/05/15(水) 16:58:28.85 ID:OtQbYBA6.net] ああその通りだ
561 名前:552 mailto:sage [2024/05/15(水) 17:55:42.92 ID:Ui7vW0sT.net] 出来るみたいです
562 名前: [2024/05/15(水) 21:59:57.58 ID:QNLWEWL4.net] >>551 脳みそコネコネ、コンパイル。
563 名前:デフォルトの名無しさん [2024/05/16(木) 20:50:07.99 ID:+TVk7IrH.net] Pythonで処理した画像を連続してwebUIに送って動画にしたいんですけど、ローカルサーバーをスレッドで分けても全然動かないんです。 上手いやり方はあるんでしょうか?
564 名前:デフォルトの名無しさん mailto:sage [2024/05/16(木) 22:01:41.29 ID:s6fDlAb8.net] まあPythonじゃ無理じゃないかと 君の知る似たようなサービスでPython使ってるの見たことあるかね
565 名前:デフォルトの名無しさん [2024/05/17(金) 09:13:18.34 ID:n7lyb5r2.net] >>557 そうなの? 単にファイルを httpdにアップロードするのとちゃうの?
566 名前:デフォルトの名無しさん mailto:sage [2024/05/18(土) 02:42:21.17 ID:Y3svyv5q.net] Image Magick, libvips などで、 連続画像を動画や、gif アニメに変換できないの?
567 名前:デフォルトの名無しさん mailto:sage [2024/05/18(土) 05:29:10.65 ID:+oV5woho.net] 静的にファイル変換じゃなく リアルタイム配信したいんとちゃう
568 名前:デフォルトの名無しさん [2024/05/18(土) 15:28:18.14 ID:Nno4tBsF.net] Pythonじゃ無理ってことはないけど、Javascriptで画像を動画のように表示する方法がわからないとPython側をどう実装したらいいかもわからないのでは
569 名前:デフォルトの名無しさん mailto:sage [2024/05/18(土) 15:48:07.52 ID:cxC1UrsB.net] webUIってお絵かきAIのUIの事を言ってる気がする
570 名前:デフォルトの名無しさん [2024/05/19(日) 17:51:21.58 ID:MUvRAHvn.net] JavaScriptが嫌でPythonに逃げたのに Webやるなら結局JavaScriptから逃れられない
571 名前:デフォルトの名無しさん mailto:sage [2024/05/19(日) 18:18:51.96 ID:b9wC29CZ.net] >>563 Webやらなきゃいいじゃん 覚えることが大杉て向かない人にはとことん向かない
572 名前:デフォルトの名無しさん [2024/05/19(日) 18:29:56.96 ID:R0BEkzb0.net] >>563 こういう馬鹿な人っているよね 結局、何がどうなっているのかわからん人なのだろう
573 名前:デフォルトの名無しさん [2024/05/19(日) 18:52:17.68 ID:EZ0vB2tL.net] >>563 たまたまホットな言語になっているのでpython腐るのはとうぶん先 気合でJavaScriptしてこい
574 名前:デフォルトの名無しさん mailto:sage [2024/05/19(日) 19:18:30.80 ID:1dVUvEdV.net] javascriptの何が難しいのかわからん
575 名前: [2024/05/19(日) 20:04:35.82 ID:j/RUVR5T.net] >>558 順番を制御する必要がある。
576 名前: [2024/05/19(日) 20:07:09.84 ID:j/RUVR5T.net] Pythonは構文解析エンジンの作りが下手だったせいで、コンテナなどは変な構文で対処するはめになった。 作った本人は当時のパソコンの性能では難しかったと言い訳するだろうが。
577 名前:デフォルトの名無しさん mailto:sage [2024/05/19(日) 21:12:03.22 ID:b9wC29CZ.net] >>567 Pythonは簡単に覚えられたけどJavaScriptはダメだった 何の特徴もないので頭に入らない
578 名前:デフォルトの名無しさん mailto:sage [2024/05/19(日) 21:25:11.71 ID:ThBHY2c/.net] JavaScriptはブラウザ内で多数のイベントが非同期に発生しつつ並行して動く必要があるための仕様とランタイムを備えた言語だからね そのような実用環境ではPythonだと色々と無理があるんよ JavaScriptを習得したほうが良いでしょう
579 名前:デフォルトの名無しさん mailto:sage [2024/05/19(日) 21:43:45.99 ID:n4puDrtS.net] 生のJSじゃなくてもtypescriptとかもあるけど?
580 名前:デフォルトの名無しさん mailto:sage [2024/05/19(日) 21:51:27.11 ID:1dVUvEdV.net] >>570 特徴がないとは? Webフロントで100%使われてるんだが つまり理解できていないだけだろ
581 名前:デフォルトの名無しさん mailto:sage [2024/05/19(日) 22:58:44.91 ID:dpzcJCd+.net] >>571 > 非同期に発生 あれ、非同期だっけ?
582 名前:デフォルトの名無しさん mailto:sage [2024/05/19(日) 23:22:52.01 ID:FYT65XYX.net] Webのイベントの非同期ってのは言語仕様とほとんど関係ないと思うがな
583 名前:デフォルトの名無しさん mailto:sage [2024/05/20(月) 00:04:59.52 ID:XCNT6iUc.net] 非同期・並行に動くのがJavaScriptの特徴だよ
584 名前:デフォルトの名無しさん mailto:sage [2024/05/20(月) 00:07:58.83 ID:XCNT6iUc.net] JSは継続渡しによって記述コードは継続できるけど 制御は一旦ランタイムに移って別のコードの処理が並行して動く
585 名前:デフォルトの名無しさん mailto:sage [2024/05/20(月) 00:08:40.12 ID:XCNT6iUc.net] そして再び非同期に元の継続コードに制御が戻ってくるんだよ
586 名前:デフォルトの名無しさん [2024/05/20(月) 04:36:21.10 ID:IVctLQWM.net] JSの難しさというかゴチャゴチャは複数人で開発すると顕著化する
587 名前:デフォルトの名無しさん [2024/05/20(月) 04:37:36.57 ID:IVctLQWM.net] >>576 違うぞ 勘違いしてる様だけど並行では無い
588 名前:デフォルトの名無しさん mailto:sage [2024/05/20(月) 04:57:24.87 ID:XCNT6iUc.net] >>580 (workerを使わない昔からの)JavaScriptはシングルスレッドで並行(concurrent)に動作します ちなみに(後に導入された)workerを用いるとマルチスレッドで並列(parallel)にも動作します
589 名前:デフォルトの名無しさん mailto:sage [2024/05/20(月) 07:48:45.56 ID:lmso/U+6.net] async/await が導入されてからは並行処理と言えるかもしれんが python にも導入されてるから JS の特徴というほどのものでもないな。
590 名前:デフォルトの名無しさん mailto:sage [2024/05/20(月) 08:56:05.71 ID:oBw42F9L.net] PythonはOSがプラットフォームだけど JSはブラウザとnodejsでだいぶ違うし varとconst/let混ざったコードなんかに遭遇すると頭おかしくなる
591 名前:デフォルトの名無しさん mailto:sage [2024/05/20(月) 09:16:38.85 ID:Rnmyv+xl.net] メインスレッドを止めても、worker側でイベント受け取れる?
592 名前:デフォルトの名無しさん mailto:sage [2024/05/26(日) 00:09:03.41 ID:J6Dn8duN.net] 誘導されてきました digits1="0123456789" print(digits1[2:4]) これで文字列"23"が返ってくるんだが"234"にならない理由ががわからん インデックスが0から始まってるからインデックス2番目からインデックス4番目までの文字を表示するんじゃないの?
593 名前:デフォルトの名無しさん mailto:sage [2024/05/26(日) 00:45:27.61 ID:EuHdBjWc.net] >>585 https://docs.python.org/ja/3/tutorial/introduction.html#lists ここに載ってる 理解できなくてもいいからまずチュートリアルは一通り読んでほしい
594 名前:デフォルトの名無しさん [2024/05/26(日) 00:48:13.48 ID:jZlLPC0/.net] >>585 2<=i<4だと考えるといいよ そうした方がいい理屈は以下の通り リストlをiで分けるとき、以下が成り立っていると見た目でスッキリして嬉しい l[:i] + l[i:] == l まあ思想の問題なんで上記のものがスッキリと感じるか感じないかは人による
595 名前:デフォルトの名無しさん mailto:sage [2024/05/26(日) 00:48:19.96 ID:EuHdBjWc.net] すまん アンカーまちがえてるけど同じページのすこし手前に書いてる
596 名前:デフォルトの名無しさん mailto:sage [2024/05/26(日) 05:11:49.24 ID:5Cxfl8yi.net] Google colabでクロムドライバーをどこに置けばいいんですか?
597 名前:デフォルトの名無しさん mailto:sage [2024/05/27(月) 06:00:49.16 ID:qvFqCc+v.net] 漏れ独自のやり方で良ければ、 漏れは、C: 直下に、適当な名前のフォルダを作って、 そこに、chrome driver を置いている。 C:/BrowserDriver/chromedriver.exe そして、ユーザー環境変数・path に、そのフォルダのパスを追加する。 C:\BrowserDriver 環境変数・path は、Powershell で以下で確認できる。 $env:Path.split( ";" )
598 名前:デフォルトの名無しさん mailto:sage [2024/05/27(月) 20:12:43.14 ID:Hlp/8xqP.net] >>590 有難うございます、試してみます
599 名前:デフォルトの名無しさん mailto:sage [2024/05/29(水) 21:20:05.17 ID:SBPtCrlE.net] ある程度自由にデザインできて作りやすいGUIのライブラリって何がありますか?CustomTKinter? でもこれでもちょっとわかりにくいけど、我慢してコードの書き方を覚えるしかない?
600 名前:デフォルトの名無しさん mailto:sage [2024/05/29(水) 21:22:50.04 ID:SBPtCrlE.net] あ、でもそんなに難しく無いですね Custom TKinterくらいがちょうど良い これでいきます
601 名前:デフォルトの名無しさん mailto:sage [2024/05/29(水) 23:25:41.17 ID:SBPtCrlE.net] やっぱりPySimpeGUIにした わかりやすいので
602 名前:デフォルトの名無しさん mailto:sage [2024/05/31(金) 08:16:19.69 ID:zAziLKIc.net] >>586 読みましたわかんないです
603 名前:デフォルトの名無しさん [2024/05/31(金) 08:19:43.69 ID:5P0I5zKD.net] abcde という文字の一部を選択するときに 0a1b2c3d4e5 というように0から数える言語じゃなかったか?python3
604 名前:デフォルトの名無しさん [2024/05/31(金) 09:16:40.63 ID:Rfc8mm4q.net] >>596 唐突になに?
605 名前:デフォルトの名無しさん [2024/05/31(金) 10:27:03.30 ID:9rLTVgTT.net] とうぜん585の答えの理由だよ いいかげんに判れよ 数え方が間違っているんだよ
606 名前:デフォルトの名無しさん mailto:sage [2024/05/31(金) 10:57:52.41 ID:TyV+wAs5.net] >>585 の話ならmylist[start: stop]のstopで指定した箇所が スライスに含まれるのか含まれないかの話だから 0から数えるかどうかは関係ない だから>>597 の感想も頷ける
607 名前:デフォルトの名無しさん mailto:sage [2024/05/31(金) 11:17:11.06 ID:xqNBz4cX.net] 決めの話でもあるけど半開区間のが書くコードが素直になる
608 名前:デフォルトの名無しさん [2024/05/31(金) 12:39:47.52 ID:9rLTVgTT.net] スタートオフセットと終了オフセットね list[x]のxと異なる
609 名前:デフォルトの名無しさん mailto:sage [2024/05/31(金) 13:52:28.81 ID:ixAaAqDb.net] そうそう、>>596 の言うように、スライスで指定する値は各要素そのものの位置ではなくて、要素と要素の間の位置なんだよね。 0●1●2●3… (●は要素) これが理解できると、マイナス指定で逆から取り出したりとかもすぐに分かるようになるかと。
610 名前:デフォルトの名無しさん mailto:sage [2024/05/31(金) 15:02:02.41 ID:z4TXzonv.net] ぶっちゃけそれは違う そういう説明じゃないと理解できない人向けの説明としては意味があると思うけどいつまでも引きずるものじゃない
611 名前:デフォルトの名無しさん mailto:sage [2024/05/31(金) 15:08:57.01 ID:MpCbGIxa.net] べつに問題ないと思うがなあ。 グラフィックスで言う
612 名前:ピクセル座標に対するグリッド座標系の話と同形。 [] [ここ壊れてます]
613 名前:デフォルトの名無しさん mailto:sage [2024/05/31(金) 15:32:41.83 ID:xqNBz4cX.net] ここで別の概念を導入しないと習得できないくらいじゃ先が思いやられるってだけで 問題の有無はこれからどこまで取り組むかによる
614 名前:デフォルトの名無しさん mailto:sage [2024/05/31(金) 16:00:35.87 ID:E++g7v66.net] 要素の数はわかりやすいよな 引き算するだけでいいし
615 名前:デフォルトの名無しさん mailto:sage [2024/06/01(土) 16:32:50.72 ID:2v+0cLbq.net] デザインパターンでオブジェクト指向を理解し始めたら、オブジェクト指向が廃れてしまった(´・ω・`)
616 名前:デフォルトの名無しさん mailto:sage [2024/06/01(土) 17:32:13.74 ID:C+czcv7n.net] GUI作成ツールって無いの? グラフィックアプリみたいにウィジェットを配置したら、コードを書き出してくれるツール
617 名前:デフォルトの名無しさん mailto:sage [2024/06/01(土) 17:33:08.15 ID:wmmovTy+.net] Qt
618 名前:デフォルトの名無しさん mailto:sage [2024/06/01(土) 19:46:57.51 ID:etHHxabq.net] wx
619 名前:デフォルトの名無しさん mailto:sage [2024/06/01(土) 20:25:37.00 ID:Zt7v+i4d.net] Qt Quickもぽとぺたできるけど人少なすぎてな…
620 名前:デフォルトの名無しさん mailto:sage [2024/06/03(月) 20:22:29.52 ID:MnZ0MIrt.net] Anaconda3-2024.02-1-Windows-x86_64をインストールしたいのですが、 エラーが出て実行できません。OSはちょっと古くwindows7になります。 インストールしている最中、このようなエラーが発生します。 最初は『Failed to extract packages』のエラーです 略すと、パッケージの抽出に失敗しました。と言う内容です。 『無視』を押してインストールを進めると今度は、 Failed to link extracted packages to C:\Anaconda! というエラーが出ます。 抽出したパッケージを C:\Anaconda(インストール先フォルダ) にリンクできませんでした。 これも『無視』を押して進むと、Failed to initialize conda directoriesというエラーで ディレクトリの初期化に失敗しました。というエラーです。 これも無視してもインストールできるのですが、 インストールフォルダを開いて実行しようとすると、 コンピュータにapi-ms-win-core-path-l1-1-0.dllがないため、 プログラムを開始できませんでした。 というエラーが出ました。 こういうエラーはだいたい、Microsoft Visual C++が入ってないことが原因ですが、 私のPCには既に、 Microsoft Visual C++ Redistributable 2013 Microsoft Visual C++ Redistributable 2015-2022はインストールされています。 しかし、このエラーが出ます。 どうすればいいでしょうか?
621 名前:デフォルトの名無しさん mailto:sage [2024/06/03(月) 21:50:52.22 ID:3hY3UrlC.net] >>612 馬鹿は何で勝手にエラーを無視するの? 馬鹿だから?
622 名前:デフォルトの名無しさん mailto:sage [2024/06/03(月) 23:56:17.44 ID:zK4G03Sv.net] >パッケージの抽出に失敗しました エラーなのに、何でそこで処理を止めないの?
623 名前:デフォルトの名無しさん [2024/06/04(火) 01:31:12.37 ID:nKdfCONb.net] >>614 そりゃ止めるべきですが、そこでインストールが終わってしまいます その後どうするんでしょうか
624 名前:デフォルトの名無しさん mailto:sage [2024/06/04(火) 01:47:07.24 ID:gWxOd/CS.net] エラーの原因を調べて対処する or 「Failed to extract packages」みたいな原因も対処方法も分からない クソみたいなエラーメッセージしか出せないソフトウェアは今すぐ捨てる
625 名前:デフォルトの名無しさん mailto:sage [2024/06/04(火) 03:02:29.50 ID:hII/eoCO.net] >>615 原因はいくつかあるけど、これをクリアしてもお前みたいな奴は結局無理だよ
626 名前:デフォルトの名無しさん [2024/06/04(火) 03:21:34.42 ID:hR2Ko9Dv.net] あ、人を轢いちゃった でも時間に間に合わないからこのまま行こうっと 何か車の調子が変だな?がちゃがちゃ あ、また轢いちゃった まあいいや、このまま行かないと間に合わない あっ、信号が赤だけど停まれないからえいっ あー、ぶつけられた すみません、時間に間に合わせるにはどうしたら良いですか? こんな感じか?
627 名前:デフォルトの名無しさん [2024/06/04(火) 08:17:16.38 ID:f1zDzjkS.net] きよし「二人寝てますよ」 やすし「轢いとるやないか!」
628 名前:デフォルトの名無しさん [2024/06/04(火) 11:44:28.70 ID:nKdfCONb.net] >>612 こちらどうでしょうか?知っている人教えて下さい
629 名前:デフォルトの名無しさん mailto:sage [2024/06/04(火) 11:56:23.33 ID:C1T0aGVu.net] >>620 >>616
630 名前:デフォルトの名無しさん [2024/06/04(火) 12:15:01.67 ID:f1zDzjkS.net] >>620 類似事象があるようなので、「いいね」の付けられたレスの解法を試行するのはどうだろう。 https://community.anaconda.cloud/t/cant-install-failed-to-extract-packages-error/62687
631 名前:デフォルトの名無しさん mailto:sage [2024/06/04(火) 12:57:59.77 ID:v1hWPJDU.net] >>612 Win7に対応してるのは2019-10まで https://docs.anaconda.com/free/anaconda/install/old-os/ pythonだけでいいならpython.org公式の3.8.10まで
632 名前:デフォルトの名無しさん [2024/06/04(火) 16:49:21.73 ID:tR+BuZi1.net] ここは超初心者用ではあるけど、境界知能者用のスレではないよ
633 名前:デフォルトの名無しさん [2024/06/04(火) 23:07:28.09 ID:k5yNkVnV.net] プログラマー板がまともだったことはない
634 名前:デフォルトの名無しさん [2024/06/05(水) 23:47:06.04 ID:ESv2AI1d.net] >>622-623 ありがとうございます >>624 >>973 役に立たん荒らしのゴミが相手にされなかったから発狂してて草w死んどけよカスw
635 名前:デフォルトの名無しさん mailto:sage [2024/06/05(水) 23:48:44.31 ID:SEG9AGVJ.net] pkg install python した方がよっぽど簡単なんじゃねw
636 名前:デフォルトの名無しさん mailto:sage [2024/06/06(木) 10:38:37.99 ID:1RUNBtFi.net] anaconda、バージョン違いの小さな差異は本体だけでpyでバージョンごとに 個別管理できるようになったし有償化した(割に機能が見合っていない)ので 使い続ける意味あんまなくなったな。 ウチの会社でももう使わないように通達されてる。
637 名前:デフォルトの名無しさん mailto:sage [2024/06/06(木) 10:49:12.08 ID:qz5pj6nB.net] またanacondaの話になるならanaconda専用スレ立てれば良い
638 名前:デフォルトの名無しさん mailto:sage [2024/06/06(木) 17:55:27.15 ID:+f7ZeVqk.net] pipxが安全なのはわかるが使いにくいな pipxは見ずにpoetryだけ使えばいいのか
639 名前:デフォルトの名無しさん mailto:sage [2024/06/07(金) 01:52:33.37 ID:TKo/YskT.net] >>612 こいつの本性が笑える Pythonのお勉強 Part72 https://mevius.5ch.net/test/read.cgi/tech/1703659345/970- の ID:ESv2AI1d0
640 名前:デフォルトの名無しさん mailto:sage [2024/06/07(金) 06:04:01.45 ID:+I6YMw89.net] あれだけ煽っておいてよく同じ質問を同じ板でしたなw
641 名前:デフォルトの名無しさん mailto:sage [2024/06/07(金) 12:09:55.41 ID:dEUVRqD7.net] pythonのパッケージマネージャーはいくつ出れば気が済むのか(´・ω・`)
642 名前:デフォルトの名無しさん [2024/06/07(金) 12:34:41.54 ID:q6BY+Kco.net] 幾つのパッケージマネージャが出れば、君は Pythonをまともな言語と呼ぶのか。 友よ、その答は風に吹かれている。
643 名前:デフォルトの名無しさん mailto:sage [2024/06/07(金) 12:49:10.90 ID:XsPkgKWU.net] PythonでのYAMLの処理で教えてください groupA: image: sampleA0.jpg section: - section1: aaa: 0 bbb: 0 - section2: bbb: 2 aaa: 1 image: sampleA2.jpg groupB: section: - section1: aaa: 123 - section2: image: sampleB1.jpg こんな感じのYAMLファイルがありまして、「image」キーを持つものの 最上位からの要素を得たいと思ってます 出力のイメージとしては、こんな感じです groupA: image: sampleA0.jpg groupA: section: - section1: image: sampleA2.jpg groupB: section: - section2: image: sampleB2.jpg 他にも、aaaやbbbのキーでも同様なことをしたいです なにかよい対応方法はありますか
644 名前:デフォルトの名無しさん [2024/06/07(金) 14:49:41.59 ID:SXd2mcAV.net] groupA: image: sampleA0.jpg groupA: section: - section2: image: sampleA2.jpg groupB: section: - section2: image: sampleB2.jpg にならない理由は?
645 名前:デフォルトの名無しさん mailto:sage [2024/06/07(金) 15:25:32.07 ID:U/LNotLd.net] いっぱいあるXPath相当がつかえるモジュールでもつかえば? YAML用じゃなくてもDict向けのでもいい
646 名前:デフォルトの名無しさん mailto:sage [2024/06/07(金) 16:31:15.75 ID:Z4LBLF5E.net] Python はvenv、Ruby はrbenv、Node.js はnvm など、 各言語で異なるバージョンマネージャーを使う香具師は素人。 すべて使い方が異なるだろ プロは少なくとも数言語を使うから、 多言語バージョンマネージャーで使い方を統一する Linux のローカル開発なら、Docker を使うのが簡単だが、 日本人が作った、多言語バージョンマネージャーのanyenv で、rbenv, nodenv も使える。 pyenv も同様。 asdf でも、多言語の好みのバージョンを入れられる
647 名前:デフォルトの名無しさん mailto:sage [2024/06/07(金) 17:35:37.77 ID:wW+zlW8A.net] >>635 pyyamlとboltonsのresearchを使う 後者は再帰的な処理を自作してもいい(dictとlistで場合分け)
648 名前:デフォルトの名無しさん mailto:sage [2024/06/08(土) 00:52:57.64 ID:TvmcjMCs.net] >>633 pythonの破綻が見えてきてると俺は思う perlもcpanが腐って終わった
649 名前:デフォルトの名無しさん mailto:sage [2024/06/08(土) 00:54:05.76 ID:TvmcjMCs.net] dockerは無駄多すぎだろ さすがに
650 名前:デフォルトの名無しさん mailto:sage [2024/06/08(土) 12:49:56.73 ID:JJO/Gn8n.net] dockerがベスト vscodeのdevcontainerこそ人類がたどり着いた最高地点
651 名前:デフォルトの名無しさん mailto:sage [2024/06/08(土) 14:04:39.39 ID:pZ+rs27B.net] 俺もvscode devcontainerの組み合わせが良い気がする(´・ω・`)
652 名前:デフォルトの名無しさん mailto:sage [2024/06/08(土) 14:22:11.33 ID:3whGHUAW.net] みんなそんなdockerつかうのね
653 名前:デフォルトの名無しさん mailto:sage [2024/06/08(土) 14:41:09.17 ID:E87q1Rk2.net] デプロイまで考えるとコンテナにしとくのがシンプル
654 名前:デフォルトの名無しさん [2024/06/08(土) 14:46:38.50 ID:dTYjDoY8.net] 逆にDocker使ってない人見ると何で?って思うぐらいだよね
655 名前:デフォルトの名無しさん [2024/06/08(土) 15:29:59.02 ID:Dxs/ulLi.net] 自分でコード書いてる時間が一番幸せなんじゃ
656 名前:デフォルトの名無しさん mailto:sage [2024/06/08(土) 17:55:04.64 ID:Hlb2wDxo.net] >>644 といいかまともな開発してたらもう使うわないと環境が破綻する
657 名前:デフォルトの名無しさん [2024/06/08(土) 21:01:34.24 ID:D2c2x+th.net] そんなもんデプロイ先の環境によるだろ
658 名前:デフォルトの名無しさん mailto:sage [2024/06/08(土) 23:58:06.46 ID:gE4A0CAK.net] くだ質ですまんが教えてください Win11 + Python3.12.8 + vscode 環境で、 3 * 0.3 を計算させると8.99999...になってしまいます (期待している計算結果は0.9) 是正させるためには round(3 * 0.3 *10) / 10 をすればいいのはわかってるんですが、出来るだけコードを簡略化させたいのと、そもそも何故こんな結果になってしまうのかを出来れば知りたい、です
659 名前:デフォルトの名無しさん mailto:sage [2024/06/08(土) 23:59:19.96 ID:gE4A0CAK.net] ごめん計算結果のとこは0.899999...の間違いです
660 名前:デフォルトの名無しさん [2024/06/09(日) 00:42:23.58 ID:DuD3W8cN.net] ttps://docs.python.org/ja/3/tutorial/floatingpoint.html
661 名前:デフォルトの名無しさん [2024/06/09(日) 01:03:55.23 ID:KXbUABQj.net] デデキントの切断という話でなくて単純に整数n,mによる n/mをサポートする型がデフォルトではないから そういう有理数正確に扱える↓を使え fractions -> Rational numbers
662 名前:デフォルトの名無しさん [2024/06/09(日) 01:19:56.30 ID:KXbUABQj.net] 不動点少数は高速でメモリ消費が少ないのでpythonのデフォルト型には似合ってるよ でももし、こうした計算が頻回あるいは重要に行なわれるなら デフォルトで有理数をサポートした言語 common_lisp,R,wolfram等が良いだろう また無理数も正確に扱いたいならwolframを薦めとく。これはsin(2pi)=0を返す珍しい言語だ
663 名前:デフォルトの名無しさん mailto:sage [2024/06/09(日) 06:20:23.00 ID:zJwQQmGc.net] サンクス 言語仕様なら仕方ないか 仮想通貨の自動売買用にpythonを始めたんだけど、今のところ他の言語に切り替える考えはないっす あと調べたらdecimalってモジュールもあって、これを使ってもスッキリ書けそうね
664 名前:デフォルトの名無しさん mailto:sage [2024/06/09(日) 09:38:02.01 ID:XLDZv0sl.net] 浮動小数点数は言語仕様というと違和感があるな どの言語でもほぼ同じ問題出るだろうし
665 名前:デフォルトの名無しさん [2024/06/09(日) 09:39:22.17 ID:XLDZv0sl.net] >是正させるためには >round(3 * 0.3 *10) / 10 >をすればいいのはわかってるんですが こんなことしたらダメでしょ
666 名前:デフォルトの名無しさん mailto:sage [2024/06/09(日) 10:37:28.45 ID:0/tKVw6D.net] Decimalは使いづらいんだよね Decimal('3') * Decimal('0.3')とかいちいちやってられん
667 名前:デフォルトの名無しさん mailto:sage [2024/06/09(日) 11:41:31.33 ID:lrgfA1Gl.net] 継承と合成どちらを使うべきかと基準がよくわからんなぁ(´・ω・`)
668 名前:デフォルトの名無しさん mailto:sage [2024/06/09(日) 17:04:58.68 ID:Fa41Tv3c.net] >>658 >>> 3 * Decimal('0.3') Decimal('0.9') 演算子オーバーロードしてるから1箇所でいい >>> Decimal(3) * '0.3' TypeError: can't multiply sequence by non-int of type 'decimal.Decimal' でもこう書けないんだよな >>> Decimal(3) * 3 / 10 Decimal('0.9')
669 名前:デフォルトの名無しさん [2024/06/10(月) 15:55:09.93 ID:YXHAsqQy.net] >>> Decimal(3) * Decimal(3/10) Decimal('0.8999999999999999666933092612') だっさ
670 名前:デフォルトの名無しさん [2024/06/10(月) 16:09:43.37 ID:17x/k5Bx.net] まじか decimal だらしねーな お手本 [1]> (* 3 (/ 3 10)) 9/10
671 名前:デフォルトの名無しさん mailto:sage [2024/06/10(月) 17:41:53.13 ID:8JGo2SkV.net] >>> Decimal(3/10) Decimal('0.299999999999999988897769753748434595763683319091796875') >>> Decimal(3/10).quantize(Decimal('0.0')) Decimal('0.3') エスパーしない方針だから
672 名前:デフォルトの名無しさん mailto:sage [2024/06/10(月) 21:30:34.55 ID:RgnmhcQ5.net] >>661 クソだっさwww
673 名前:デフォルトの名無しさん mailto:sage [2024/06/11(火) 10:00:28.46 ID:ufFRRQKE.net] ↓俺の考えた最強のスマートな書式を語れ
674 名前:デフォルトの名無しさん mailto:sage [2024/06/11(火) 11:06:34.00 ID:GrH0S5VC.net] >>> Decimal('3.0') だっさpgr
675 名前:デフォルトの名無しさん [2024/06/11(火) 11:19:18.72 ID:GtLbEh/G.net] perlの2番煎じにはなるが import XXX で オーバーライドしてくれればいいね
676 名前:デフォルトの名無しさん mailto:sage [2024/06/11(火) 20:03:54.96 ID:NWbfM0Iu.net] C++プログラマーだが、 エディタは何使えばええの? Visual Studioは一応動くが…
677 名前:デフォルトの名無しさん mailto:sage [2024/06/11(火) 20:27:59.97 ID:OZZ7Wa3f.net] 汎用でつかえるのはPyCharmかVSCodeかな 用途とマッチするならJupyter/Colabもいける
678 名前:668 mailto:sage [2024/06/12(水) 08:58:44.17 ID:j9iMATnj.net] >>669 一番高機能なのはVS Codeかね? Colabが本格開発に無理なので、探してたところ。
679 名前:デフォルトの名無しさん mailto:sage [2024/06/13(木) 07:44:44.26 ID:W4hE6ovf.net] 環境を整え無くてもいいPyCharmが楽だな
680 名前:デフォルトの名無しさん mailto:sage [2024/06/13(木) 13:05:54.68 ID:vNUeXKFR.net] 会社の糞PCだとPyCharmが重いんだわ
681 名前:デフォルトの名無しさん mailto:sage [2024/06/13(木) 13:21:14.57 ID:Uc7cK+cC.net] パイチャ!
682 名前:デフォルトの名無しさん mailto:sage [2024/06/17(月) 12:06:22.09 ID:2+GH8Qi6.net] モジュールAのMainクラスがモジュールBに書いたSubクラスのインスタンスを生成する 型ヒントのためにAはBの、BはAの参照するから相互参照になっちゃうんだけど typing typechecking使えば回避できるとして これって根本的にどう作って相互参照回避すべきなんだ?
683 名前:デフォルトの名無しさん mailto:sage [2024/06/17(月) 12:17:35.59 ID:a7DQgjMw.net] シチュエーションが謎で理解できてないけど インターフェースとして上位クラスをつくる
684 名前:デフォルトの名無しさん [2024/06/17(月) 12:44:35.82 ID:laKFnUpc.net] 循環しちゃうのは速度落ちてメモリ消費してしまうけど記憶しといたのと照し合わせる手法がある
685 名前:デフォルトの名無しさん mailto:sage [2024/06/17(月) 12:50:19.30 ID:Me30jdtI.net] >>674 その状況だとBはAをインポートする必要いやろ よくあるのはtyping用のスタブモジュールを作る方法
686 名前:デフォルトの名無しさん mailto:sage [2024/06/17(月) 14:24:03.32 ID:KAevd3qc.net] >>677 A.py App() B.py Win() winがコンストラクタでsuper().__init__(app.root)するとき App渡せないとroot見えないって言われてしまう
687 名前:デフォルトの名無しさん mailto:sage [2024/06/17(月) 15:22:40.07 ID:Me30jdtI.net] >>678 その例だとWinが依存すべきなのはAppそのものじゃなく Appが継承してる型だったり実装してるインターフェースの型 tkを例にすればWinが依存するのはAppそのものじゃなくtk.Tkやtk.Widget AとBの相互依存から共通で依存する抽象度の高いCを切り出すことで AはBとCに依存、BはCに依存、CはAにもBにも依存しない形になる
688 名前:デフォルトの名無しさん mailto:sage [2024/06/18(火) 23:47:26.99 ID:l8Y5coIJ.net] >>679 仕様上サブがメインのいくつかに依存するから丸ごと渡してたけど rootと、必要な位存箇所だけ渡すようにすればいいのね
689 名前:デフォルトの名無しさん [2024/06/19(水) 07:39:14.75 ID:Ml7xOhwE.net] __init__.py 描けば良いのに
690 名前:デフォルトの名無しさん [2024/06/19(水) 08:41:26.42 ID:oNcSZ2Oe.net] C言語系は数年やっていてpythonのお勉強してるので質問させてくれ @propertyを使用してgetter/setterを作れるのが分かりました このプロパティをprotectedにするにはどうしたらいいですか?
691 名前:デフォルトの名無しさん mailto:sage [2024/06/19(水) 09:10:58.03 ID:Of90IDaN.net] >>682 この辺の話かな? ttps://note.com/yucco72/n/nfc5ba5321567
692 名前:デフォルトの名無しさん [2024/06/19(水) 10:07:39.70 ID:Ml7xOhwE.net] >>683 そいつ馬鹿やな 痒い所に手が届いてる好例なのに
693 名前:デフォルトの名無しさん mailto:sage [2024/06/19(水) 10:48:00.65 ID:EzJYrWWw.net] >>680 サブがメインに依存するという仕様がよろしくないんだよ 依存性の方向を一方通行にするというのがモジュール設計の大原則
694 名前:デフォルトの名無しさん [2024/06/19(水) 11:37:31.50 ID:ANMSl1mg.net] >>685 そうはいってもどんな場合でも回避できるわけじゃないでしょ うまく切り出せば回避できるかもしれないけど、見通しが悪く不自然になる場合があると思う 今自分が困ってるのは先生と生徒の関係で、先生は生徒を何人か選ぶのだけど、先生の事情もあるし、生徒のスケジュールもあるしで、 先生が生徒を選んだ後に、選ばれた生徒に先生のスケジュールはこなせるか?を確認してもらってるんだけど かなり先生と生徒が密結合なのが避けられなくてインタフェースに切り出すと見通しが悪くなりそうなんだよね こういう場合はどうすればいいのかな
695 名前:デフォルトの名無しさん mailto:sage [2024/06/19(水) 19:41:52.46 ID:E1qEKZbV.net] >>685 元の質問者だけど 今回はメインGUIとサブGUIでそれぞれ独立させて、メインGUIからサブGUIを見るだけ に作り直しました ところで__init__.pyを書くとはなんですか?
696 名前:デフォルトの名無しさん mailto:sage [2024/06/19(水) 22:24:53.92 ID:jr8KvPbD.net] ctypesで構造体宣言するときに、以下のようにc側が不完全型の配列定義であった場合は、どのように宣言すればよいでしょうか。 typedef struct aa { uint32 eListType; uint16 wRes; uint16 wOdList[]; } class aa(Structure)
697 名前:: _fields_ = [("eListType",c_uint32), ("wRes",c_uint16), ("wOdList",???) ] [] [ここ壊れてます]
698 名前:デフォルトの名無しさん mailto:sage [2024/06/19(水) 22:42:47.22 ID:0e7E5JVP.net] >>686 >先生が生徒を選んだ後に、選ばれた生徒に先生のスケジュールはこなせるか?を確認してもらってる これもapp.rootのやつと同じで生徒が先生に直接依存する必要なくない? 先生、生徒、コース/クラス、受講、のよくあるモデル 参照じゃなくidで受け渡すことも考えるといいよ
699 名前:デフォルトの名無しさん [2024/06/20(木) 08:09:05.13 ID:hChVJ2JT.net] >>687 それってpipでインストールできる?
700 名前:デフォルトの名無しさん [2024/06/20(木) 17:09:09.89 ID:F8Q2DGBi.net] >>688 C の方が malloc(sizeof(struct aa) + N) みたいにやってるだろうから とりあえず N の最大値くらい確保
701 名前:デフォルトの名無しさん [2024/06/20(木) 17:55:30.81 ID:ZSpymqjs.net] >>689 直接依存する必要がないので、idを持っておけばよいということ? 確かにidから引けるdictを持っておけばよいのはそうだけど、実質的にはそれは依存関係にあって、プログラミング言語での表現の制約を回避する策にすぎないような気がするのだけど勘違い?
702 名前:デフォルトの名無しさん mailto:sage [2024/06/20(木) 18:12:29.06 ID:pudWG0gF.net] >>688 ("wOdList", POINTER(c_uint16)) a = aa() a.wOdList = (c_uint16 * size)() wResがwOdListのsizeだったりするのかな?
703 名前:デフォルトの名無しさん mailto:sage [2024/06/20(木) 23:47:51.33 ID:F6VlqWlP.net] >>692 参照とidはカップリングの度合いの違い 直接依存する必要がないからという理由で書いたわけではないよ 片方がidだけに依存する形にすれば相互依存を解消できる AとBの相互依存からAのidをC切り出して AはBとCに依存、BはCに依存、CはAにもBにも依存しない形にできる ただこういうのはプログラミング上の小手先のテクニックなのは確か >>686 の話はもっとドメインレベルでの本質的な依存関係を先に突き詰めたほうがいいと思う
704 名前:デフォルトの名無しさん mailto:sage [2024/06/21(金) 10:29:55.02 ID:M8EEKVG+.net] >>693 from ctypes import * class aa(Structure): _fields_ = [('a', c_uint32), ('b', POINTER(c_uint16))] a = aa() a.a # 0 a.b # <__main__.LP_c_ushort object at 0x000002033996A340> a.__sizeof__() # 104 sizeof(a) # 16 a.b = (c_uint16 * 4)(9,8,7,6) a.b # <__main__.LP_c_ushort object at 0x000002033996AAC0> a.__sizeof__() # 104 sizeof(a) # 16 だめやん
705 名前:デフォルトの名無しさん mailto:sage [2024/06/21(金) 13:07:20.00 ID:tjV7APzm.net] >>695 そういうもんやで sizeofの結果も自動的に変わると思ってた?
706 名前:デフォルトの名無しさん [2024/06/21(金) 15:09:56.96 ID:M8EEKVG+.net] そういう問題じゃなくて 常にPOINTER型の容量分しか無いのは可笑しい
707 名前:デフォルトの名無しさん mailto:sage [2024/06/21(金) 15:17:35.67 ID:M8EEKVG+.net] 少なくとも >>688 の質問に対して正しい答えは from ctypes import * class aa(Structure): _fields_ = [('a', c_uint32), ('b', POINTER(c_uint16))] a = aa() a.b = (c_uint16 * 4)() # これは間違い sizeof(a) # 16 class bb(Structure): _fields_ = [('a', c_uint32), ('b', (c_uint16 * 4))] b = bb() sizeof(b) # 12 class cc(Structure): _fields_ = [('a', c_uint32), ('b', (c_uint16 * 8))] c = cc() sizeof(c) # 20
708 名前:デフォルトの名無しさん mailto:sage [2024/06/21(金) 15:45:50.01 ID:K+jIH7ye.net] >>697 そういう問題が何を指すのか分からんが__sizeof__もctypes.sizeofもそういう仕様なんだって Cのsizeofも同じやで >>698 固定長にしろや!ってこと? まーそれはそれで一つの選択肢だけど質問の答えにはなっとらんわな
709 名前:デフォルトの名無しさん mailto:sage [2024/06/21(金) 16:03:41.50 ID:K+jIH7ye.net] 単に同じというと誤解を生むかもしれないから言い直しておくと 可変長部分のサイズがsizeofに反映されず自分で計算して別途管理しないといけないのはCも同じ ということ
710 名前:デフォルトの名無しさん mailto:sage [2024/06/21(金) 16:04:51.86 ID:pyvrMoIs.net] pythonでandroidとiOSのアプリ作ってる人いる? kotlinとswift覚えればいいんだけど、手間がかかるので
711 名前:688 mailto:sage [2024/06/21(金) 19:26:17.13 ID:HIobLuWQ.net] みなさんありがとうございます 結局固定長で適当に宣言しとけば良いってことですかね 確かにc側でmalloc使ってそうな気がします
712 名前:デフォルトの名無しさん mailto:sage [2024/06/21(金) 21:53:29.93 ID:xFZSSSbA.net] ちゃんと配列をやるならbuffer protocolにしたら
713 名前:デフォルトの名無しさん mailto:sage [2024/06/22(土) 03:01:56.40 ID:UT0yRehg.net] 変数に何入ってんのかわかんなくない? $%@使い分けるperl最強だわ
714 名前:デフォルトの名無しさん mailto:sage [2024/06/22(土) 03:20:24.58 ID:ITxAndmC.net] 時代はタイプアノテーションなんですよ!(´・ω・`)
715 名前:デフォルトの名無しさん [2024/06/22(土) 09:29:12.03 ID:mcK0MSE8.net] タイプアノテーションで思いだしたが、結局型チェック実装された? それともそこまで効力は無い?
716 名前:デフォルトの名無しさん [2024/06/22(土) 09:38:48.07 ID:R3uDiOs/.net] >>704 #&*も忘れてるだろ
717 名前:デフォルトの名無しさん [2024/06/22(土) 11:44:35.80 ID:tVWK2T1P.net] >>706 Pythonの型チェックは外部ツールに任せるというのがポリシーなので標準実装されることはない 型アノテーションは厳密なチェックをするというよりは文字通り注釈としての役割が主であり、 VSCodeやPyCharmを通じて人間にヒントを与えるという点においてはそれなりに効力はある
718 名前:デフォルトの名無しさん mailto:sage [2024/06/22(土) 13:20:16.98 ID:JlqSUEN6.net] >>708 vscodeでさ a.py __init__ self.b = b.B(subclassX | subclassY) b.py __init__ self.subclass = subclass こうしたとき、b.pyに動的にサブクラス型情報送りたいんだけどどうすればいい? a.py書いたあとにb.py触りに行ったら、self.subclass以下のツールチップがXかYのものになってほしいんだけど
719 名前:デフォルトの名無しさん mailto:sage [2024/06/22(土) 13:39:16.54 ID:o/eWDsQ7.net] >>688 への回答として >>693 は全く不適切 判っててわざと間違ってるんだろうが全く別物 初心者に嘘を教えるのは良くない https://ideone.com/YUADDB #include <stdio.h> #include <stdlib.h> int x; struct A { int a; int b[]; }; struct B { int a; int *b; }; int main(void) { printf("%zu\n", sizeof(x)); printf("%zu\n", sizeof(struct A)); printf("%zu\n", sizeof(struct B)); struct B b = {0}; b.b = (int *)malloc(4 * sizeof(int)); free(b.b); /* struct A a = {0}; a.b = (int *)malloc(4 * sizeof(int)); // compile error free(a.b); // don't free (may be cause to runtime error) */ return 0; }
720 名前:デフォルトの名無しさん mailto:sage [2024/06/22(土) 16:27:25.33 ID:zTNlWcoj.net] >>706 最新のpythonでほぼ完全なGenerics表記が実装された これにMSの静的型チェッカーPyrightを使えば動的言語では初めてまともな型システムが実装されたことになる
721 名前:デフォルトの名無しさん mailto:sage [2024/06/22(土) 16:39:32.42 ID:HiCoQzk6.net] TypeScriptより優れてるってこと?そうかなあ
722 名前:デフォルトの名無しさん mailto:sage [2024/06/22(土) 16:51:56.48 ID:UT0yRehg.net] >>705 そうなんだ、、 勉強してくる
723 名前:デフォルトの名無しさん mailto:sage [2024/06/22(土) 18:07:00.66 ID:n3FOHUyg.net] >>710 flexible array memberの基本的な使い方も知らないのに 無理してレスしなくてもよくない? C側でメモリ確保したいならこう書くんだよ struct A *a = malloc(sizeof(struct A) + size * sizeof(int)); >>693 のa.wOdList = (c_uint16 * size)()はPython側でメモリ確保する場合の話だよ CとPythonでやり取りする時はflexible array memberのsizeも当然受け渡しする必要があるよ こんなんで大丈夫かな?
724 名前:デフォルトの名無しさん mailto:sage [2024/06/22(土) 21:23:10.50 ID:+hHL9oAL.net] # ダイアログを表示する import TkEasyGUI as eg layout = [[eg.Input(width=9, key="pt"), eg.Text("pt", width=6, height=2), eg.Button("コピー", key="pt_copy")], [eg.Input(width=9, key="kyu"), eg.Text("級(歯)", width=6, height=2), eg.Button("コピー", key="kyu_copy")], [eg.Input(width=9, key="mm"), eg.Text("mm", width=6, height=2), eg.Button("コピー", key="mm_copy")]] window = eg.Window("pt-Q-mm", layout, font=(None,14), size=(250,150)) def execute(): in_pt = values["pt"] window["kyu"].update(in_pt) window["mm"].update(in_pt) while True: event, values = window.read() if event == "pt": execute() if event == "kyu": execute() if event == "mm": execute() window.close() key="pt"の入力欄に文字が入力されると、リアルタイムに、 key="kyu"とkey="mm"の入力欄にkey="pt"と同じ文字を表示したいのですが、 def execute():をどう修正すれば良いでしょうか? 今のままだと、key="pt"の入力欄に文字を入力しても、 key="kyu"とkey="mm"の入力欄に何も表示されません…
725 名前:715 mailto:sage [2024/06/22(土) 21:53:43.34 ID:+hHL9oAL.net] JavaScriptのOnChangeみたいなのをやりたかったのですが、止めました ChatGPTに教えてもらったコードでも、うまくリアルタイム表示出来なかったので… 「実行」ボタンを押したら、表示されるようにします ありがとうございました
726 名前:デフォルトの名無しさん [2024/06/23(日) 00:28:02.79 ID:2xccr50A.net] >>714 >C側でメモリ確保したいならこう書く >struct A *a = malloc(sizeof(struct A) + size * sizeof(int)); もちろん知ってる >a.wOdList = (c_uint16 * size)()はPython側でメモリ確保する場合 どこが等価なの
727 名前:デフォルトの名無しさん mailto:sage [2024/06/23(日) 12:15:44.92 ID:6BLTL9tJ.net] >>717 >どこが等価なの 誰も等価だなんて話はしとらんのやで FAMを含む構造体が使われてるCのAPIを FAMを直接サポートしてないctypesを使ってPythonから利用する話をしとるんやで 構造体のメモリをCで確保/開放する場合もあれば Pythonで確保/開放する場合もあるんやで (一旦コピーする場合はそれぞれでやるのもありえるんやで) FAMの有無も違う上に メモリ管理の方法もルールも根本的に違うCとPythonで 等価になるわけないんやで
728 名前:デフォルトの名無しさん mailto:sage [2024/06/23(日) 12:29:27.23 ID:NuUT7kNv.net] >688 >ctypesで構造体宣言するときに、 >以下のようにc側が不完全型の配列定義であった場合は、 >どのように宣言すればよいでしょうか。
729 名前:デフォルトの名無しさん mailto:sage [2024/06/23(日) 12:42:53.65 ID:NuUT7kNv.net] chatGPT の回答を改変した様な解答やね 伝言ゲームでもやってんのかな
730 名前:デフォルトの名無しさん mailto:sage [2024/06/23(日) 19:40:41.83 ID:GsZtttEh.net] 終了までお早めに https://i.imgur.com/f7tN1NE.jpg
731 名前:デフォルトの名無しさん mailto:sage [2024/06/23(日) 20:12:48.30 ID:nLTHI867.net] >>721 もう既にやっとるよ
732 名前:デフォルトの名無しさん mailto:sage [2024/06/23(日) 20:26:42.71 ID:f4WzOl4U.net] >>721 グロ
733 名前:デフォルトの名無しさん [2024/06/24(月) 00:41:26.66 ID:sso3G8sO.net] Pythonの変数、オブジェクトは最初に設定した値でデータ型が決まるから、結局、変数の初期化のような古臭いコーティングルールがないといけない。 データ型がわからなくなったら、データ型を調べるという行き当たりばったりの言語仕様
734 名前:デフォルトの名無しさん [2024/06/24(月) 07:13:54.02 ID:lLj5yZl4.net] >>724 > Pythonの変数、オブジェクトは最初に設定した値でデータ型が決まるから、 最初ってどういう意味だ。
735 名前:デフォルトの名無しさん mailto:sage [2024/06/24(月) 08:57:31.37 ID:+wQGxx+4.net] >>721 気軽に稼げそうでいいね
736 名前:デフォルトの名無しさん mailto:sage [2024/06/24(月) 09:38:30.63 ID:ALkJ+vo8.net] メソッドの引数にdictを渡してアンパックする場合しない場合の使い分けってどういう基準なんやろ(´・ω・`)
737 名前:デフォルトの名無しさん mailto:sage [2024/06/24(月) 10:11:03.74 ID:mBNYuZ1y.net] >>724 Pythonにおける変数、オブジェクト、値、データ型の認識が 根本的に間違ってるのでチュートリアルからやり直しましょう
738 名前:デフォルトの名無しさん mailto:sage [2024/06/24(月) 11:25:58.61 ID:ldoAoKVT.net] 変数は任意のオブジェクトをアサインできるといっても 実際には複雑化するから最初の型から変えないよね そこを人間が意識する必要があるってことかな typingにつながる話
739 名前:デフォルトの名無しさん mailto:sage [2024/06/24(月) 12:01:57.24 ID:QPNUuP4k.net] 動的言語を使えない人のメンタルモデルってこういう感じなんだな
740 名前:デフォルトの名無しさん mailto:sage [2024/06/24(月) 12:02:51.99 ID:uJ7CYiLU.net] pyinstallerでexe(app)化してたんだけど、長い日本語ファイル名だと失敗するね pt.pyにしたら成功した
741 名前:デフォルトの名無しさん mailto:sage [2024/06/24(月) 12:25:05.97 ID:/T/eMsO3.net] >>730 Pythonが動的型なのは単にその方が処理系の実装が簡単だからで、動的型である事自体にメリットなんてないよ スクリプトの動的なロードだとかNotebookでの試行錯誤云々というのも結局はそういう状況で静的型付けを実装するのが難しいからに過ぎない 静的型では常に型が一つに決まってなきゃいけないというのは誤解で、例えば「DataFrameに格納されうる任意の型」の型を持つ変数を使うんだよ
742 名前:デフォルトの名無しさん mailto:sage [2024/06/24(月) 12:49:15.81 ID:JonISmvT.net] >>724-725 あえて言えばpythonの変数の型は全てPyObject型だよ
743 名前:デフォルトの名無しさん mailto:sage [2024/06/24(月) 16:19:00.38 ID:Kheo9t7V.net] >>733 それは実装に使ってるC言語の型システム上での話であって Pythonの型システム上の話ではないよね
744 名前:デフォルトの名無しさん mailto:sage [2024/06/24(月) 19:26:23.98 ID:aCWMRkK6.net] 未だにどれかの型を返す作りが好きになれない
745 名前:デフォルトの名無しさん [2024/06/25(火) 04:15:11.46 ID:dFDrSth2.net] >>733 それは最初は性能の低いパソコン用だったせいで、その名前の変数が始めて出てくるとき、その名前の変数に値が設定されるときに決める構文解釈だっただけ Pythonは作者が構文解析エンジンを作り込むのが面倒だと思っていたせいで、仕様の追加状態も構文解析エンジンをちょっとだけしか変更していない。 そんな行き当たりばったりだったためにヘンテコな仕様になっている。 C言語、BASIC、VB,Perl、シェルスクリプト、Ada言語等の影響を受けているが、手抜きのプログラミング言語のままリリースしてしまった。
746 名前:デフォルトの名無しさん [2024/06/25(火) 04:20:51.69 ID:dFDrSth2.net] 関数の引数がどんな型でも参照渡しとか、アセンブラのサブルーチンよりもひどい設計なんだよなあ
747 名前:デフォルトの名無しさん mailto:sage [2024/06/25(火) 04:37:03.65 ID:mddxyJup.net] >>724 だからそれが嫌ならpyright使いなよ
748 名前:デフォルトの名無しさん mailto:sage [2024/06/25(火) 08:26:43.24 ID:9x+jYxZG.net] むしろpythonはすべて値渡しでしょ 内部的に変数の値が参照になっているだけで
749 名前:デフォルトの名無しさん [2024/06/25(火) 08:47:33.30 ID:PJlEmYUO.net] >>737 オブジェクトだからどんな型でも参照渡しなんじゃないのか? もしかして、「参照渡し」という言葉をオレが誤解している?
750 名前:デフォルトの名無しさん mailto:sage [2024/06/25(火) 09:35:15.76 ID:ZD6OkC9b.net] >>740 Pythonは(参照の)値渡し >>737 は間違いで>>739 が正しい def modify(x): x = None x = [1, 2, 3] modify(x) print(x) #この結果をNoneにできるのが参照渡し
751 名前:デフォルトの名無しさん [2024/06/25(火) 13:25:16.56 ID:PJlEmYUO.net] >>741 それは引数の渡し方でなく、x = Noneによって xが新たな Noneオブジェクトを指した結果じゃないかな。 $ cat x.py def modify(xx, yy): print('xx', id(xx), xx) print('yy', id(yy), yy) xx = None # 代入により別オブジェクトを指す。 yy.clear() # 変更結果が返される。 print('xx', id(xx), xx) print('yy', id(yy), yy) x = [1] y = [11] print('x', id(x), x) print('y', id(y), y) modify(x, y) print('x', id(x), x) print('y', id(y), y) $ python3 x.py x 140253632444160 [1] y 140253627941632 [11] xx 140253632444160 [1] yy 140253627941632 [11] xx 140253637855360 None yy 140253627941632 [] x 140253632444160 [1] y 140253627941632 []
752 名前:デフォルトの名無しさん [2024/06/25(火) 13:26:58.66 ID:ZtCD4zFU.net] >>736 Pythonの造りはtcl/ckに似ている
753 名前:デフォルトの名無しさん [2024/06/25(火) 13:28:25.30 ID:PJlEmYUO.net] >>741 で、C言語だとこんな感じかと想像するが、 変数 xの値である 1 を渡すことを、値渡し、 変数 xのポインタである 0x7ffed3b1f5ac を渡すことを、参照渡しと呼んでいた。 $ cat x.c #include <stdio.h> void modify(int *xx, int *yy) { printf("xx %p %d\n", xx, *xx); printf("yy %p %d\n", yy, *yy); int new_xx = 0; xx = &new_xx; /* 代入により別オブジェクトを指すPython風 */ *yy = 0; /* 変更結果が返される。 */ printf("xx %p %d\n", xx, *xx); printf("yy %p %d\n", yy, *yy); return; } int main(void) { int x = 1; int y = 11; modify(&x, &y); printf("x %p %d\n", &x, x); printf("y %p %d\n", &y, y); return 0; } $ cc x.c && ./a.out xx 0x7ffed3b1f5ac 1 yy 0x7ffed3b1f5a8 11 xx 0x7ffed3b1f58c 0 yy 0x7ffed3b1f5a8 0 x 0x7ffed3b1f5ac 1 y 0x7ffed3b1f5a8 0
754 名前:デフォルトの名無しさん mailto:sage [2024/06/25(火) 13:30:09.56 ID:ZtCD4zFU.net] >>742 >>741 は出来ないから参照私じゃないって言ってるんだと思うが 君は日本人か?
755 名前:デフォルトの名無しさん [2024/06/25(火) 13:31:55.40 ID:ZtCD4zFU.net] >>744 >変数 xの値である 1 を渡すことを、値渡し、 >変数 xのポインタである 0x7ffed3b1f5ac を渡すことを、参照渡し そんな事実は無い 「参照私」が出現したのはC++から Cには値私とポインタ私しかない
756 名前:742 [2024/06/25(火) 14:10:18.90 ID:PJlEmYUO.net] >>745 同じ渡し方の二つの引数の一方が出来て、他方が出来ないので、渡し方の問題じゃないよね、という話をしたよ。 >>746 Call by Reference の和訳は、ポインタ渡しでも参照渡しでも良いと思うよ。
757 名前:デフォルトの名無しさん mailto:sage [2024/06/25(火) 14:20:27.21 ID:mddxyJup.net] Cで実装されてるスクリプト言語の引数の渡し方を論じてなんか意味があるのか? そういうメモリモデルってだけの話だ C/C++やFortranみたいにマシンコードと密接に関係してるなら別だが
758 名前:デフォルトの名無しさん mailto:sage [2024/06/25(火) 14:20:46.33 ID:ZtCD4zFU.net] 明確に参照私と言っていたのはPASCALやね
759 名前:デフォルトの名無しさん mailto:sage [2024/06/25(火) 14:25:08.71 ID:mddxyJup.net] こいつが言いたいのは参照渡しってのは明示的にアドレスを渡すのではなく変数を渡すと自動でその参照を渡すようにコンパイルされるような言語ということを言いたいのだろうことは理解できるが それをスクリプト言語のPythonで論じてもナンセンス
760 名前:デフォルトの名無しさん [2024/06/25(火) 14:37:32.71 ID:PJlEmYUO.net] >>748 ,750 > Cで実装されてるスクリプト言語の引数の渡し方を論じてなんか意味があるのか? どうなんだろう? この手の話は、C言語の方が見通しやすかろうと思って添えたが。 意味が見出だせなければ無視して。Python例から等価っぽく想像しただけのものなので。
761 名前:デフォルトの名無しさん [2024/06/25(火) 14:49:09.86 ID:PJlEmYUO.net] >>750 > こいつが言いたいのは参照渡しってのは明示的にアドレスを渡すのではなく変数を渡すと自動でその参照を渡すようにコンパイルされるような言語ということを言いたいのだろうことは理解できるが 俺はその一文を理解できない。 シンプルに、 140253632444160 = id(x) の 140253632444160 に、呼び元呼び先ともにアクセスするので、それは「参照渡し」と言うのだと思っていた。 ということだよ。
762 名前:デフォルトの名無しさん mailto:sage [2024/06/25(火) 14:56:52.16 ID:mddxyJup.net] >>752 CS的にはそれは値渡しだよ ポインタだろうがそれは全て整数をコピーするのだから CS的な参照渡しというのはFortranの以下のような仕様のことを指すことが多い 単に引数をそのまま渡してるのに結果が呼び元に返ってくる https://www.nag-j.co.jp/fortran/FI_11.html#Intents
763 名前:デフォルトの名無しさん mailto:sage [2024/06/25(火) 16:21:34.93 ID:KN/om7mq.net] >>752 その理解がないのにC/C++の参照渡し語ってて草
764 名前:デフォルトの名無しさん mailto:sage [2024/06/25(火) 16:53:43.01 ID:9x+jYxZG.net] a = ["ab","cd"] def f(b): b.clear() b = None f(a) print(a) 値渡しの場合(pythonはこっち) 変数aの参照先の箱aに、["ab","cd"]への参照を値として入れる 変数bの参照先の箱bに、変数aの値(["ab","cd"]への参照)を入れる 変数bの参照先の箱bにある値(["ab","cd"]への参照)のclear()メソッドを実行する 変数bの参照先の箱bに、Noneへの参照を値として入れる 変数aの参照先の箱aにある値([]への参照)を表示する 参照渡しの場合 変数aの参照先の箱aに、["ab","cd"]への参照を値として入れる 変数bの参照先を、変数aの参照先の箱aにする 変数bの参照先の箱aにある値(["ab","cd"]への参照)のclear()メソッドを実行する 変数bの参照先の箱aに、Noneへの参照を値として入れる 変数aの参照先の箱aにある値(Noneへの参照)を表示する c言語の場合も、ポインタの値渡しはあっても、参照渡しは無かった記憶
765 名前:デフォルトの名無しさん mailto:sage [2024/06/25(火) 17:12:56.33 ID:9x+jYxZG.net] void f(int *b) { *b = 2; b = NULL; } void main() { int a = 1; f(&a); printf("%d\n", a); } c言語のポインタの値渡し 変数aの参照先の箱aに、1を値として入れる 変数bの参照先の箱bに、変数aのアドレスを値として入れる 変数bの参照先の箱bにある値(変数aのアドレス)の参照先の箱aに2を入れる 変数bの参照先の箱bに、NULLを値として入れる 変数aの参照先の箱aにある値(2)を表示する void f(int &b) { b = 2; } void main() { int a = 1; f(a); printf("%d\n", a); } c++言語の参照渡し 変数aの参照先の箱aに、1を値として入れる 変数bの参照先を、変数aの参照先の箱aにする 変数bの参照先の箱aに、2を値として入れる 変数aの参照先の箱aにある値(2)を表示する 長文ごめん
766 名前:デフォルトの名無しさん mailto:sage [2024/06/25(火) 17:20:06.61 ID:ZtCD4zFU.net] で?
767 名前:デフォルトの名無しさん mailto:sage [2024/06/25(火) 17:26:57.66 ID:PNR4S7a4.net] >>756 参照渡しは実際には変数を指すポインタを値渡ししていて、本質的には等価だよ ポインタに対するちょっとした構文糖衣に過ぎない ポインタに比べて制限が強い分だけ最適化されやすかったりする可能性はあるが
768 名前:デフォルトの名無しさん mailto:sage [2024/06/25(火) 17:31:05.84 ID:7aKndPlG.net] >>747 yy.clear()のように渡された参照やポインタを通して参照先の値を変更するのと xx = Noneのように渡された参照やポインタ自体を変更するのは同じではない 後者を行った時に呼び出し元の変数も同じように変更されるものが参照渡し >>748 メモリモデルではないよ >>750 引数の渡し方というのはどのプログラミング言語を使う場合にも理解しておくべき基礎 だからスクリプト言語だとナンセンスってことはない もちろんスクリプト言語でも参照渡しをサポートしてる言語はいくつもある
769 名前:デフォルトの名無しさん [2024/06/25(火) 19:08:21.24 ID:PJlEmYUO.net] >>753 ,755,756,759 CS とは何ぞ? その CS的な参照渡しにおける「参照」とは整数以外の何なの? ただ、「参照渡し」とは、サブルーチンへの引数の渡し方でなく、サブルーチンからの引数の返り方を以て、 ・結果が呼び元に返ってくる ・呼び出し元の変数も同じように変更されるもの という性質を言うらしいことが、ボヤっと分かった。 で、参照渡しっぽい事がしたけりゃ、Awkのように配列で授受すれと。 俺は、>>737 と同様に、オブジェクト実体へのポインタや実体のIDの授受を参照渡しと呼ぶのだと思っていたよ。
770 名前:デフォルトの名無しさん mailto:sage [2024/06/25(火) 19:53:07.98 ID:mddxyJup.net] >>760 参照とはオブジェクトを指し示すもののこと ここでいうオブジェクトとはメモリ領域のことでありプログラミング言語においては特定の値のことを指す つまりそれを指し示すようなものであればなんでも良い VM言語であればスタックフレームからのオフセットに過ぎなかったりする
771 名前:デフォルトの名無しさん [2024/06/25(火) 22:50:01.65 ID:UoDN+2II.net] >>760 とりあえずC++では参照渡しはちゃんと定義されている用語で、 知ってる限りではC++での使われ方と違う使われ方はしないものなので、C++における参照渡しを勉強してくれ そしてnullを代入することに意味のある変数を用意して実際に参照渡しのコードを書いてみて CSとはなんぞという質問が物語っていて、Computer Scienceで共有すべき知識を持っていない状態のように思う
772 名前:デフォルトの名無しさん mailto:sage [2024/06/25(火) 23:11:20.56 ID:nRVgOfun.net] >>736 横レスだけど この書き込みありがとう perl好きの俺がなんでpython嫌いなのか わかった気がする
773 名前:デフォルトの名無しさん mailto:sage [2024/06/25(火) 23:38:25.41 ID:WkoTZsDY.net] >>760 >ただ、「参照渡し」とは、サブルーチンへの引数の渡し方でなく、サブルーチンからの引数の返り方を以て、 >・結果が呼び元に返ってくる 引数も結果も「返る」というのは少し違う サブルーチン内での引数を変更するとその時点でその変更が直接呼び出し元に反映される
774 名前:デフォルトの名無しさん mailto:sage [2024/06/26(水) 00:11:27.85 ID:kR99xHRb.net] 間違ったこと書いてた張本人は間違いを指摘されても反省するどころか開き直っちゃってるのが解せない 最近そんなやつが多くて萎える
775 名前:デフォルトの名無しさん mailto:sage [2024/06/26(水) 00:20:27.75 ID:/ebqJ/eA.net] >>765 これな
776 名前:デフォルトの名無しさん mailto:sage [2024/06/26(水) 00:20:45.10 ID:/ebqJ/eA.net] 多分、朝鮮人
777 名前:デフォルトの名無しさん [2024/06/26(水) 01:10:11.09 ID:yv8Z2CuH.net] >>760 番地なのか、番地にあるものなのかのような違いで、Pythonはコンピューターそのものですらやらない方法をとってしまっている。 大きなデータではなければ、コピーを作って渡すのが、ほとんどのプログラミング言語の仕様。 Pythonの関数はアセンブラだと他のプログラミング言語はサブルーチンの呼び出しと同じだが、Pythonはただのジャンプ命令でプログラムを行ったり来たりしているだけ。 いまのCPU内はレジスタが多いからあまり問題にならないが、Pythonも一定の長い連続領域の場合は、メモリとファイルを使うことになる。 同時実行プロセスが多い高性能サーバーとは相性が悪い。 クラウドという仮想サーバーなら、動的に仮想サーバーが変えるから、Pythonでいい。 もともと忘れ去られていた言語が掘り起こされて使われて、変な仕様だがよく使われるようになっただけ。 Pythonそのものが仮想マシンで動くように変更されたから、CUIで復活したのがいつの間にか、メインプログラミング言語になっている奇妙な現象 ただし、AWS社以外はあまり乗り気でない。 洗練されていない汚い言語は、汚く見せない技術がいる。
778 名前:デフォルトの名無しさん [2024/06/26(水) 01:15:56.13 ID:yv8Z2CuH.net] >>764 サブルーチンとは呼び出し元の情報をメモリに保存して、呼び出された側の処理が終わったときにメモリから情報を取り出して元に戻ることだ。 Pythonの関数は後付けであるため、関数と言いながらも実態は処理を書き分けただけにすぎない。 サブルーチンではなく、プログラム内を飛んでいるだけ。 スタック領域にプッシュもポップもしていない。
779 名前:デフォルトの名無しさん [2024/06/26(水) 01:18:19.20 ID:yv8Z2CuH.net] オブジェクトという概念もあとから追加したせいで、わかりにくい分類の型ができてしまった。 コレクションという用語にしなかったのも謎
780 名前:デフォルトの名無しさん [2024/06/26(水) 10:30:09.24 ID:esETAUdE.net] 初心者です、tkinterで作ったGUIの反応が遅い afterでマシにはなったんだけど で、マウスクリッ
781 名前:クした時刻(OSでのクリック検知時点のシステム時刻)みたいなの取れる方法ありますか やりたいことは、 クリック時刻とbindした関数が呼ばれた時刻をログに取ってみたい Windowsです bindした関数が呼ばれる以前にユーザの作ったプログラムでクリック把握する方法、そんなのあるか!ではなくて、後追いででも確認できないものかと [] [ここ壊れてます]
782 名前:デフォルトの名無しさん [2024/06/26(水) 11:16:31.48 ID:esETAUdE.net] >>771 です そのごググって下記のページで近いことが出来そうかと 本当は早くする方法が知りたいのだけど、今は何を聞けばいいのかもわからないのでまた後程 https://taida-eng.com/%E9%80%86%E5%BC%95%E3%81%8D%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89/python%E9%80%86%E5%BC%95%E3%81%8D%EF%BC%9A%E3%83%9E%E3%82%A6%E3%82%B9%E6%93%8D%E4%BD%9C%E3%81%AE%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%9F%E3%81%84/
783 名前:デフォルトの名無しさん mailto:sage [2024/06/26(水) 14:03:59.21 ID:H6JHbd75.net] root.bind('<Button-1>', lambda _: print(datetime.datetime.now())
784 名前:デフォルトの名無しさん [2024/06/26(水) 14:53:45.89 ID:esETAUdE.net] >>773 ありがとうございます 早速やってみて、時刻がコンソール出力されることを確認しました やってみると >>772 のリンク先のpynputを使用したほうが早い時刻を取得しており、 体感的にもpynputの時刻がマウス操作時刻と思われます また、関数が呼ばれた時点の時刻も表示したら、 pynput -> 関数 -> rootにbindのラムダ関数の順に表示されました わたくし、何か勘違いしてますでしょうか pynputクリック検知 2024-06-26 14:46:54.026669 関数コール時時刻 2024-06-26 14:46:55.787093 クリック検知時刻 2024-06-26 14:46:56.076000 <- rootにバインドしたラムダ関数 pynputクリック検知 2024-06-26 14:41:35.307322 イベント発生時y 299 chartkobetu呼ばれました 選択中の銘柄 4208 型 <class 'str'> 個別5mの存在順i番目銘柄= 18 存在列 126 銘柄コード 4208 <class 'str'> 個別チャート日足、呼ばれました j= 1 dfcoloffset= 1 linecolor= #ffff00 j= 2 dfcoloffset= 2 linecolor= #189af9 j= 3 dfcoloffset= 3 linecolor= #e38089 j= 4 dfcoloffset= 5 linecolor= #00ff00 クリック検知時刻 2024-06-26 14:41:38.955128
785 名前:デフォルトの名無しさん [2024/06/26(水) 15:01:12.85 ID:esETAUdE.net] >>774 の最後についているのは今作っているコードの動作状況を確認するためprintで出力しているものです 編集中に送信してしまいましたので、時刻検知とは関係ない内容で、時刻の取得時点の比較ができないデータです、すみません
786 名前:デフォルトの名無しさん mailto:sage [2024/06/26(水) 17:34:00.99 ID:zF60WWs1.net] >>774 メインスレッドをブロックして何か処理をしてるんでしょ クリックすると時刻をprintするボタン1つだけ最低限のアプリで クリックに対する反応がどの程度なのかを確認してみたらいいと思う
787 名前:デフォルトの名無しさん [2024/06/26(水) 19:15:47.84 ID:esETAUdE.net] >>776 レスありがとうございます 最小限だと同じ時刻になる、これ以上、細かい桁が測れるのかもよく分からないけど十分速いかと pynputクリック検知 2024-06-26 19:09:50.128802 関数コール時時刻 2024-06-26 19:09:50.128802 Widgetを追加しながら作っていて、 最初にサンプル的なボタンを押してラベル文字書き変えの プログラムでは応答性は何の問題にもならないレベルだったので、 まあこんなものかと
788 名前:デフォルトの名無しさん [2024/06/26(水) 19:17:32.22 ID:esETAUdE.net] >>777 ですけど あまりに遅いので、cProfileで動作時間を測ってはいて 一番長い関数で138ms、 一方でpynputクリック検知 から 関数コール時時刻 までは1.76s (14:46:55.787093 - 14:46:54.026669= 1.7604) もっと遅くなることもある 2秒近くかかる処理なんか作ってないんだけど、さてどうしたものか
789 名前:デフォルトの名無しさん [2024/06/26(水) 19:23:16.01 ID:esETAUdE.net] 連投すまん エクセルVBAで作っていたプログラムを練習がてらpython移植してみるんだけど、 VBAでいうDoEventsみたいなものはpython、tkinterには無い、ということでしょうか ネット検索すると別スレッドで実行しろとか出てくるけど、こっちで考えたほうがいいのかどうか
790 名前:デフォルトの名無しさん [2024/06/26(水) 21:33:53.43 ID:UcQAC2Co.net] VBAのDoEventsをどう使っているのか良うわからんが、subprocess.runじゃだめけ?
791 名前:デフォルトの名無しさん [2024/06/26(水) 22:20:47.89 ID:esETAUdE.net] >>780 ありがとうございます VBAのDoEventsが実行されると、OSのqueueに溜まっているユーザー操作が実行されます もし1周0.2s程度のループをネストして100回やらせると約20秒間かかりきりで(応答なし)になるところ、 内側のループの最初(でなくてもいいけど)にDoEventsを入れれば約0.2s毎にユーザ操作の処理が入るので応答なしにはならず、 0.2sくら
792 名前:「ならちょっと反応悪いかな、くらいのレスポンスになります(UI処理をやった分だけ、ループの完了は伸びる) さて、subprocess.runを早速調べてみましたが、OSにやらせたいことをコマンド指定でやらせる、ということでしょうか OS側で溜まってることがあるのならこのタイミングで済ませてな、なにがあるのかしらんけど、という使い方はできるのでしょうか もう少し調べてみます [] [ここ壊れてます]
793 名前:デフォルトの名無しさん mailto:sage [2024/06/26(水) 22:40:40.89 ID:hSYD6qWQ.net] >>777 てことは君のコードが書き方が原因なのは確定なので まずは再現性のある最小限のコードを提示してね それ以外の話はそれから
794 名前:デフォルトの名無しさん [2024/06/26(水) 23:01:35.15 ID:esETAUdE.net] >>782 はい、わたしの作ったコードが反応遅いという話をしています そして最初の質問事項は、マウスクリックした時刻(OSでのクリック検知時点のシステム時刻)みたいなの取れる方法、でした これはググって解決しました 以降の話はレスをいただいた方への返信と、DoEvents相当のものがあるかという質問です エクセルはスレチかと思いますのでエクセルの話を続ける気はありません 引き続き自力でも調べてみます
795 名前:デフォルトの名無しさん mailto:sage [2024/06/26(水) 23:06:33.48 ID:p3vHraeo.net] PythonのGUIアプリなんかどのみち自分用ツールにしかならないんだから、ipywidgets やstreamlitで十分だろう 元々スレッドが分離されてるからビジー状態にしても全く問題ないよ
796 名前:デフォルトの名無しさん mailto:sage [2024/06/26(水) 23:13:46.30 ID:hG8QBVa6.net] pythonのGILのせいじゃないの? そこまで反応性が重要ならpythonは向いてない
797 名前:デフォルトの名無しさん mailto:sage [2024/06/27(木) 00:43:31.20 ID:DskBlp2q.net] 別スレッド化したりしてもtkinterに干渉するとランダムな幅の遅れが出る たとえばプログレスバーをn秒ちょうどで満たすようなコードは書けない(試行毎にバラバラの誤差が生じる) 多分GILとかブロックの問題で、解決できない。これはpythonとtkinterの仕様
798 名前:デフォルトの名無しさん mailto:sage [2024/06/27(木) 10:04:13.91 ID:OTNDZ+yC.net] どんな酷いコード描いてるのか観たいから笑わないからぜひ晒してくれ
799 名前:デフォルトの名無しさん mailto:sage [2024/06/27(木) 11:44:11.82 ID:THiq2UM5.net] >>786 どの言語でも試行毎に誤差はでる その誤差を許容範囲内にするだけ GILの問題でも解決方法はあるよ
800 名前:デフォルトの名無しさん mailto:sage [2024/06/27(木) 15:00:13.36 ID:oRm7STy0.net] 最新のpythonだとGILオフにできるらしい そのバージョンでやってみたら?
801 名前:デフォルトの名無しさん [2024/06/27(木) 15:06:22.67 ID:WK2H4wzF.net] >>783 async使え 懐かしい問題だなw VB時代とかはbackgroundwokerとか使ってUIスレッドを止めないようにしてたけど今の時代ならasync/awaitでお前さんのループでの処理書けばおk
802 名前:デフォルトの名無しさん mailto:sage [2024/06/27(木) 15:21:15.01 ID:CgIutZfe.net] こんな人がasyncにするとこんがらかりそう
803 名前:デフォルトの名無しさん mailto:sage [2024/06/27(木) 15:40:57.25 ID:oRm7STy0.net] pythonのGUIはマルチスレッドで処理を逃してもGILでロックしまくりで遅くなる かといって重い処理を動かすとブロックする async使ってもブロックしたら終わりなのは同じ 詰み
804 名前:デフォルトの名無しさん mailto:sage [2024/06/27(木) 17:23:36.34 ID:NmEKUmlO.net] CPUバウンドな処理はPythonならマルチプロセスにするのが常識 サブインタープリターも使えるようになったけど本格的に使えるのは3.13から async使うのはI/Oバウンドな処理 これも常識
805 名前:デフォルトの名無しさん mailto:sage [2024/06/27(木) 17:34:34.83 ID:Qbo7b3Vg.net] であればGUI制御が別プロセスになってるソリューションがあんのかな それかライブラリを叩く粒度を大きくする工夫があるのか
806 名前:デフォルトの名無しさん mailto:sage [2024/06/27(木) 18:53:48.27 ID:WKYIGf9o.net] 言語やOSに関係なく基本的にどのGUIフレームワークでも アプリケーションのメインスレッドで UIイベントのハンドリングやUI操作を行うことが前提になってる だから別プロセスにするのはGUI制御ではなくてUIに関係ないCPUバウンドの処理 つまり基本的にはGUIフレームワークの守備範囲外
807 名前:デフォルトの名無しさん [2024/06/27(木) 19:04:32.49 ID:F52juMPQ.net] >>791 超初心者用スレで無双か。
808 名前:デフォルトの名無しさん mailto:sage [2024/06/27(木) 19:09:48.41 ID:oRm7STy0.net] >>795 C#はその辺シームレスなんだよね
809 名前:デフォルトの名無しさん mailto:sage [2024/06/27(木) 22:23:02.86 ID:/FJYXYiJ.net] だれも.afterは回答しないのか
810 名前:デフォルトの名無しさん [2024/06/27(木) 22:39:51.02 ID:QXPbo1LF.net] そんなafter使うような真面目な人間は5chに来ない
811 名前:デフォルトの名無しさん mailto:sage [2024/06/27(木) 23:54:31.61 ID:o3056e9S.net] >>797 言語と並行プログラミング用ライブラリとGUIフレームワークの役割分担はC#も基本的に同じ でも同期コンテキストの存在とかTPLの使いやすさとかC#/TPL前提のドキュメントの豊富さとか シームレスに感じる理由が多々あるのはわかる >>798 afterは使ってるって最初に書いてたよ
812 名前:デフォルトの名無しさん mailto:sage [2024/06/28(金) 08:28:53.40 ID:J/XDPL0h.net] async は失敗だったよな Pythonでスレッド数の消費が問題になるようなものを運用してる奴なんて極僅かなんだからライブラリがわざわざ対応する訳がない Javaみたいに世間の流行なんかガン無視してマイクロスレッドに賭けるべきだった
813 名前:デフォルトの名無しさん mailto:sage [2024/06/28(金) 09:12:53.81 ID:5vFH0KpM.net] Web系の要望だろうけど Twistedさん殺しにいかなくてもとは思った
814 名前:デフォルトの名無しさん [2024/06/28(金) 11:24:07.08 ID:joeyrg+E.net] Twisted懐かしいな お世話になりました
815 名前:デフォルトの名無しさん mailto:sage [2024/06/28(金) 14:11:06.71 ID:sa0QpqCC.net] >>801 GIL外したからマイクロスレッドもありなんだよな asyncioを駆使して書き直すのも面倒だし
816 名前:デフォルトの名無しさん mailto:sage [2024/06/28(金) 17:38:58.38 ID:IKZAS17P.net] グリーンスレッドのことをマイクロスレッドと呼んでる? であればasyncのTaskがそれだよ
817 名前:デフォルトの名無しさん mailto:sage [2024/06/28(金) 17:39:52.27 ID:bVzHKq+e.net] インターネットからのパッケージの入手ができないクローズドな環境で Pythonを使ってます Portable運用ができるのでWinPythonを使っているのですが、 同梱されているものがバージョンにより異なり、 PandasやKerasが入っていたりいなかったりするのがちょっと困ってます 自分が必要なものを導入した状態でポータブル化したPython環境、 みたいなものを作る方法はありますでしょうか
818 名前:デフォルトの名無しさん mailto:sage [2024/06/28(金) 17:44:05.75 ID:sa0QpqCC.net] >>805 ちゃうよ ゴルーチンみたいな奴 ちゃんとスレッドは使う
819 名前:デフォルトの名無しさん mailto:sage [2024/06/28(金) 18:21:18.71 ID:IKZAS17P.net] >>807 それはグリーンスレッドのスケジューラー/エグゼキューターが 内部でOSスレッドのスレッドプールを使ってるという話でしょ asyncのTaskをOSのスレッドのスレッドプールで回すのと仕組み的は同じでは? スケジューリング方法の違いやスタックの有無だったり スケジューラー/エグゼキューターが言語にビルトインされてて アプリケーションコードで意識しなくてもいいとか ゴルーチンとの違いはいろいろあるけど それはマイクロスレッドの定義とは関係ないんじゃない?
820 名前:デフォルトの名無しさん mailto:sage [2024/06/28(金) 18:33:47.84 ID:sa0QpqCC.net] >>808 asyncのTaskは数千、数万も作れないでしょ ゴルーチンすなわちマイクロスレッドはそれぐらい作れる設計
821 名前:デフォルトの名無しさん mailto:sage [2024/06/28(金) 18:50:13.66 ID:IKZAS17P.net] >>809 >asyncのTaskは数千、数万も作れないでしょ インタープリターだから生成が遅いというだけで その数は余裕でしょ
822 名前:デフォルトの名無しさん [2024/06/28(金) 20:02:09.92 ID:TzaR5aOj.net] >806 ありますよ
823 名前:デフォルトの名無しさん mailto:sage [2024/06/28(金) 21:12:32.85 ID:sa0QpqCC.net] >>810 asyncはあくまでIOが並列化できるだけ 計算の実態を数万作れるのはゴルーチンだけ よって本質が全く違う
824 名前:デフォルトの名無しさん mailto:sage [2024/06/28(金) 21:42:27.28 ID:69xrfFOO.net] >>812 が間違っていて理解も不足している 各言語のasyncタスクは数万タスク動かせる Pythonでは試していないがおそらく動くのだろう
825 名前:デフォルトの名無しさん mailto:sage [2024/06/28(金) 22:10:06.47 ID:sa0QpqCC.net] >>813 だから動かないって ゴルーチンは「計算の主体」(って意味わかる?) を数百万個作れる これはユーザースペースでコンテキストスイッチをしてるため おまけにスタックサイズも動的な上に小さい 全てマシンコードレベルで行われる 当然ロックなど存在しない これがマイクロスレッド
826 名前:デフォルトの名無しさん mailto:sage [2024/06/28(金) 22:15:33.56 ID:69xrfFOO.net] >>814 君は非同期タスクについて何も知らない無知者だとわかった まずは勉強して知識をつけなさい もう君の相手をすることはない
827 名前:デフォルトの名無しさん mailto:sage [2024/06/28(金) 22:21:09.52 ID:sa0QpqCC.net] >>815 御託はいいから動かしてみてね 思い処理を数万個でいいから Goだと並列でちゃんと動くよ
828 名前:デフォルトの名無しさん mailto:sage [2024/06/28(金) 22:35:05.70 ID:b9qgRVqH.net] asyncのtaskはどの言語でもJavaScriptからRustに至るまで数万個並行で動作するよ そのために各言語に導入されたんだよ
829 名前:デフォルトの名無しさん mailto:sage [2024/06/29(土) 03:17:28.84 ID:4AUQ0CVf.net] Elixir は、10万もの小プロセスを起動できる。 メモリが大きいと、5千万小プロセスも。 ただし、小プロセスは、OS のプロセスとは異なるものです スクエニは、Elixirを使っているらしい Go の並行処理も、mattn の本に書いてあるけど、 C で、OS の100スレッドを起動したら、 CPU 使用率が高く、12秒も掛かったが、 Goで100 goroutine を起動したら、 6スレッドしか起動せず、9秒で済んだ Goの方が、CPUコアを効率的に使える とにかく、スレッドを起動したらダメ! CPUコアや時間の大半が、スレッドの起動処理に使われるから
830 名前:デフォルトの名無しさん mailto:sage [2024/06/29(土) 08:36:40.26 ID:9/qe2SG9.net] 知ったかぶりして間違ったこと書く やんわり間違いを指摘される 反省せずに開き直る! またこの流れ ググればすぐわかるような間違いなのになんなんだろうな
831 名前:デフォルトの名無しさん mailto:sage [2024/06/29(土) 09:05:37.50 ID:C+0SrrrI.net] ElixrはCPU使う処理は得意ではないよ 処理は一瞬で終わるが大量の処理を必要とするようなものが得意 それこそpush通知とかね Goのようにマシンコードレベルでコンテキストスイッチを実装してるわけではないから 重い処理を書くと途端に負荷が上がる
832 名前:デフォルトの名無しさん mailto:sage [2024/06/30(日) 11:06:44.92 ID:L3wyoKVN.net] Erlang最強
833 名前:デフォルトの名無しさん mailto:sage [2024/07/01(月) 05:47:45.32 ID:ppYg1fh2.net] AIならね
834 名前:デフォルトの名無しさん mailto:sage [2024/07/07(日) 10:33:44.66 ID:1r2hUTKR.net] pythonで、windows10か11の多画面環境で特定のウインドウのSS撮りたいんだけど ウインドウハンドル取得してwinAPI叩いてやってるんだけど メイン画面以外で縦方向に数百pixの座標ズレが出てしまう こういう書き方しろ、みたいなのご存知の方どなたか…
835 名前:デフォルトの名無しさん mailto:sage [2024/07/07(日) 22:05:47.86 ID:5EkJktI1.net] >>823 それのどこがPythonに関係あると思うの? 何らかPythonならではのところに原因がありそうなのであればその辺の詳しい情報を出してくれないことには分かるわけないし、 そうでないならCのサンプルコードを探した方がいいのでは
836 名前:デフォルトの名無しさん [2024/07/07(日) 23:45:08.47 ID:y7P/TwV5.net] pythonで取得したいのだからpythonの話でしょうよ どうせSS部分pythonのライブラリ使うんだから (ビットマップオブジェクトとかまでapi叩くんならアレだけど)
837 名前:デフォルトの名無しさん mailto:sage [2024/07/07(日) 23:57:01.73 ID:5gDGdFIi.net] 自分で書いたコード提示して聞いた方が回答つくと思うが
838 名前:デフォルトの名無しさん mailto:sage [2024/07/08(月) 00:05:50.31 ID:+/07puKi.net] Windowsのマルチモニタ環境では、各モニタの座標系が異なるため、座標のズレが発生することがあります。この問題を解決するためには、モニタの相対的な位置と解像度を考慮して座標を変換する必要があります
839 名前:デフォルトの名無しさん mailto:sage [2024/07/08(月) 00:06:20.59 ID:+/07puKi.net] 1. 各モニタの情報を取得する 2. 指定したウィンドウがどのモニタにあるかを特定する 3. ウィンドウの座標をそのモニタの座標系に変換する
840 名前:デフォルトの名無しさん [2024/07/08(月) 08:43:58.61 ID:XK4Xq7P1.net] ういんどうずはクソなので超めんどくせえんだわ おれはウインドウ内のみ欲しくて、その描画myW, myHが分かってる場合しか書いたことないけど rectたちから計算できるべ多分 DWMWA_EXTENDED_FRAME_BOUNDS = 9 r_rect = ctypes.wintypes.RECT() ctypes.windll.dwmapi.DwmGetWindowAttribute(hwnd, DWMWA〜, ctypes.byref(rect), ctypes.sizeof(rect)) _style = win32gui.GetWindowLong(hwnd, win32con.GWL_STYLE) if _style & win32con.WS_THICKFRAME: _win_border_size = win32api.GetSystemMetrics(win32con.SM_CYFRAME) else: _win_border_size = win32api.GetSystemMetrics(win32con.SM_CYBORDER) win_border_size *= 2 c_rect = win32gui.GetClientRect(hwnd) w_rect = win32gui.GetWindowRect(hwnd)
841 名前:デフォルトの名無しさん [2024/07/08(月) 08:45:47.33 ID:XK4Xq7P1.net] r_height = r_rect.bottom - r_rect.top c_width = c_rect[2] - c_rect[0] c_height = c_rect[3] - c_rect[1] w_width = w_rect[2] - w_rect[0] src_pos_x = (w_width - c_width) // 2 titlebar_height = r_height - c_height - win_border_size hwndDC = win32gui.GetWindowDC(hwnd) mfcDC = win32ui.CreateDCFromHandle(hwndDC) saveDC = mfcDC.CreateCompatibleDC() saveBitMap = win32ui.CreateBitmap() saveBitMap.CreateCompatibleBitmap(mfcDC, myW, myH) saveDC.SelectObject(saveBitMap) saveDC.BitBlt((0, 0), (myW, myH), mfcDC, (src_x, titlebar_height), win32con.SRCCOPY) bmpinfo = saveBitMap.GetInfo() bmpstr = saveBitMap.GetBitmapBits(True) im = Image.frombuffer('RGB', (bmpinfo['bmWidth'], bmpinfo['bmHeight']), bmpstr, 'raw', 'BGRX', 0, 1) win32gui.DeleteObject(saveBitMap.GetHandle()) saveDC.DeleteDC() mfcDC.DeleteDC() win32gui.ReleaseDC(hwnd, hwndDC) 高DPI対応でこれ入れてるとずれるからそれは知らん ctypes.windll.shcore.SetProcessDpiAwareness(1)
842 名前:デフォルトの名無しさん [2024/07/08(月) 08:48:31.66 ID:XK4Xq7P1.net] 訂正 saveDC.BitBlt((0, 0), (myW, myH), mfcDC, (src_pos_x, titlebar_height), win32con.SRCCOPY)
843 名前:デフォルトの名無しさん mailto:sage [2024/07/08(月) 21:09:08.76 ID:s8AzJdEo.net] >>829-831 マジで助かりました…上手くいきましたが コードが全然読めないので精進します
844 名前:デフォルトの名無しさん [2024/07/09(火) 01:02:05.27 ID:qs1jvts2.net] posXの計算式どういう理屈でそれなんだろう… 総当たりで試したのかな
845 名前:デフォルトの名無しさん mailto:sage [2024/07/09(火) 17:53:08.61 ID:ycuYR4Xv.net] 質問失礼します VersionError: The client version 0.52.3492 is too old. Please update to the latest package on PyPi: と出てきました、調べたところThis library requires Python 3.8-3.12.と出てきたのですが 自分の使用バージョンはPython 3.10 pipも最新の24に更新済み、他にどこを直せばいいのでしょう
846 名前:デフォルトの名無しさん mailto:sage [2024/07/09(火) 18:57:30.17 ID:JSIA10ur.net] すみませんVSCodeのシンタックスハイライトについて質問です シンタックスハイライトをPython仕様にしたいと思うのですがこんな感じで変えられますか? とりあえず今のままではメソッドなのかクラスなのか変数なのか全くわからないのでどうもできません https://i.imgur.com/l8UEuMt.png
847 名前:デフォルトの名無しさん mailto:sage [2024/07/09(火) 19:06:47.56 ID:w695tFt+.net] >>834 PyPiが古いんだろ
848 名前:デフォルトの名無しさん mailto:sage [2024/07/09(火) 19:15:18.18 ID:UDSzeDWm.net] とりあえずPython勉強してPython3エンジニア基礎試験に合格して、次の実践の勉強してるがつまらん 何か作った方が面白いが作りたいものもない
849 名前:デフォルトの名無しさん mailto:sage [2024/07/09(火) 19:16:34.21 ID:ycuYR4Xv.net] >>836 pypiとpipって同じじゃないんですか 調べいても違いを説明する結果が出てきません
850 名前:デフォルトの名無しさん mailto:sage [2024/07/09(火) 19:42:17.96 ID:w695tFt+.net] >>838 モジュールも全部最新なの? それでも出るなら特定の組み合わせで動かないとかじゃないのか
851 名前:デフォルトの名無しさん [2024/07/09(火) 20:05:31.88 ID:qs1jvts2.net] >>835 app = App() app.func() 変数 = クラス 関数 色がないと判断ができない、というのは論外 小文字、大文字、ドットアクセスで見ろ 強いて言えば foo.bar と書かれているときbarがメソッドかプロパティかわかりません という話ならまぁ… まあでもシンタックスハイライトってjsonで設定してあって弄れるから好きにやりな
852 名前:デフォルトの名無しさん mailto:sage [2024/07/09(火) 20:15:12.34 ID:ycuYR4Xv.net] >>839 モジュール? まだ全然わからないけどモジュールですね!ちょっと調べてみます
853 名前:デフォルトの名無しさん [2024/07/09(火) 20:18:31.83 ID:qs1jvts2.net] AIとかをやろうとして、言われるがままに色んなものをガンガン入れてしまってる気がする
854 名前:デフォルトの名無しさん mailto:sage [2024/07/09(火) 20:27:31.33 ID:KaCb5RY5.net] >>837 自力で作れると思われる範囲に制限しなけりゃ作りたいものはあるだろ? 今時プログラミングなんて自分で手を動かす必要ない AIに夢を語ってりゃそれっぽいものは簡単にできる
855 名前:デフォルトの名無しさん mailto:sage [2024/07/09(火) 23:33:54.51 ID:AsZE7u+u.net] >>835 Class が緑になってしまうけどこんな感じでいい? これでいいなら拡張機能の「Python」を入れればできるけども https://i.imgur.com/yfHsYvK.png あと VSCode の配色テーマを Dark(Visual Studio) にしていると 拡張機能のシンタックスハイライトが効かなくなるらしい https://qiita.com/ryutarom128/items/d52ec3db2d11b79599da
856 名前:デフォルトの名無しさん mailto:sage [2024/07/10(水) 00:07:36.42 ID:3j7FzYnK.net] 色々調べた結果python側の問題とわかったので確認 python --version→python3.10 python3 --version→pythonとしかで来なく python3.10がちゃんとインストールされてるのかpython3.10 --versionを実行した結果、python3.10℃は、内部コマンドまたは 部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていませ ん。と出てきました とりあえずアンインストール後再インストールしてみますが 1月くらいまで何事もなく使えてたのにインストールされてませんみたいになることってよくあるのですか?
857 名前:デフォルトの名無しさん mailto:sage [2024/07/10(水) 00:54:56.26 ID:B0lLeabB.net] 最新のpythonインストールしたんだろ それで昔の環境が壊れたとかでおかしくなる
858 名前:デフォルトの名無しさん mailto:sage [2024/07/10(水) 01:07:23.88 ID:EF6Y7HgP.net] >>845 python3 --versionでPythonと表示されるのはwinの設定→アプリ→アプリ実行エイリアスがオンになってるから。これはMSストア版python用 公式版python3.10をインストールしてもpython3.10という実行ファイルが存在しないのは正常
859 名前:デフォルトの名無しさん mailto:sage [2024/07/10(水) 01:59:30.87 ID:5rHX5/PL.net] 試行錯誤する前に拡張の説明や設定項目を確認しないのなんで
860 名前:デフォルトの名無しさん mailto:sage [2024/07/10(水) 02:34:41.59 ID:3j7FzYnK.net] みなさんありがとうございます >>846 ID変わってたのでわかりにくかったのすみません>>834 です最新では無いと思います >>847 ということはpython側の問題ではないのですね再インストールしても無駄……? >>848 今回はModalのセットアップから初めてるのですがそこで躓いてしまって 恐らくpythonに問題があるのかなと
861 名前:デフォルトの名無しさん [2024/07/10(水) 03:33:20.73 ID:JKR4u2JY.net] modal要求バージョンより新しいpython入ってるせいで詰まってんじゃないの
862 名前:デフォルトの名無しさん mailto:sage [2024/07/10(水) 08:41:03.90 ID:0/GvnarD.net] >>850 Modalの要求バージョンは3.8~3.12 私が使っているのは3.10なので大丈夫だとは思うんですがもう一度使おうとしたプログラムのエラーメッセージを確認してきます
863 名前:デフォルトの名無しさん mailto:sage [2024/07/10(水) 15:30:21.08 ID:For1CkV4.net] だいぶ初心者だと思います ttk.Treeviewのselection_setに関する質問なんですが まず、やろうとしている事はビューアで Treeview1 サイトから取得してきたWebページ一覧 選ぶと情報ダウンロード Treeview2 ページの情報をダウンロードしたサイト一覧(実態としてはダウンロードフォルダにあるフォルダ一覧) Treeview3 Treeview2で選んだフォルダ内に保存されている個別のページ情報一覧(実態としてはフォルダ内テキスト一覧) で「Treeview2でフォルダを選び、Treeview3でファイルを選ぶと、ttk.Textに情報表示」はうまくいってます この時 Treeview1に<<TreeviewSelect>>をbindし、ダウンロードした後Treeview2の内容を消去&フォルダ一覧再取得&表示する関数などを仕込んでいます(後述) Treeview2も<<TreeviewSelect>>をbindし、Treeview3の内容を消去&選んだフォルダ(Treeview2)の中身を取得&(Treeview3に)表示する関数を仕込んでいます (Treeview3も<<TreeviewSelect>>をbindし、ttk.Textの内容を更新する関数を仕込んでいますが、多分今回の質問には関係ないです) 問題はTreeview1から選んだ時で、選んだ時にダウンロードするだけでなく、落としたものを自動的にttk.Textに表示しようとしています これもttk.Textの表示だけなら問題ないのですが、Treeview2とTreeview3も今ダウンロードした項目が自動的に選ばれた状態にしたいのですが、Treeview3だけうまくいきません エラーメッセージすら出る事なく、何も選択されません(Treeview2は正常に選択されています) 長いのでレス分けます
864 名前:デフォルトの名無しさん mailto:sage [2024/07/10(水) 15:30:59.95 ID:For1CkV4.net] >>852 続き 原因はおそらくですが、Treeview1にbindした関数内でTreeview2の項目を選択した時、自動的にTreeview2にbindされた関数も呼び出されますが これの処理がTreeview1にbindした関数の後で実行されるせいで、最後にTreeview3がリフレッシュされているのだと思います Treeview1の処理中に他のTreeviewを選んだ時「Treeview1の処理中断→Treeview2の処理→Treeview1の処理再開」になると思い込んでコードを書いていたのですが たぶん実際には「Treeview1の処理完走後、トリガーされたTreeview2の処理」になっているのかなと思っています(テスト用のprintの表示順序などから推測) 最後にTreeview3もちゃんと選択されるようにするには、どうすればいいでしょうか? Treeview1の処理中、Treeview2を一時的にunbindも試してみましたが、確かにunbindして必要な処理を補完すればちゃんと動くので原因は間違ってなさそうですが 再bindをTreeview1の処理中にしてしまうと、処理後に結局トリガーしてしまって無意味でした
865 名前:デフォルトの名無しさん [2024/07/10(水) 17:05:01.94 ID:iit7nof0.net] ボタンは1回押したらロックするか ブロック機構入れないと 連打したり、別のボタン押したりしたときに収拾つかなくなるで たとえば bind関数内の最初に、if treeviewselected:returnみたいなの書いて排他動作にするとかさ
866 名前:デフォルトの名無しさん mailto:sage [2024/07/10(水) 18:37:27.41 ID:For1CkV4.net] >>854 丁度それをやってみて正常に動いたところでした、ありがとうございます やはりその辺の処理になるんですかね ロック機構、確かに要りますね 趣味で場当たり的に作ってると、そういう構造的なノウハウとかは中々身につかなさそうですね……
867 名前:デフォルトの名無しさん [2024/07/10(水) 21:14:08.65 ID:8aePid6X.net] GUIはGUI用のノウハウあるで、書きまくってたら身についていくよ ロジックと表示系分離するとかもそうだしさ
868 名前:デフォルトの名無しさん mailto:sage [2024/07/11(木) 00:14:02.11 ID:gnKs0VpL.net] pythonでpyenv pipx poetry使えるレンタルlinuxサーバ知らん??
869 名前:デフォルトの名無しさん mailto:sage [2024/07/12(金) 03:05:52.22 ID:Fv9K4MWW.net] whisperを使ってみようと思ったんですが、次のコードでどうあがいても FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。 import whisper with open("./test.txt", 'r', encoding='utf-8') as file: content = file.read() print(content) uri = "./test.mp3" model = whisper.load_model("small") result = model.transcribe(uri, verbose=True, fp16=False, language="ja") test.txtはちゃんと読み込まれて表示されるのに resultのところでどうしてもファイルが見つからないと言われます audio = whisper.load_audio(file=uri) をresultの前に噛ませたりしても、ここで見つからないと言われます 絶対パスにしてもwavとかoggとか試しても無駄だし、拡張子消してももちろん無駄です ファイルの位置を変えたり、全然違う場所の全然違う音声ファイルを読み込もうとしても無駄です pipしなおしてもPC再起動しても無駄です 一体何が悪いのでしょうか
870 名前:デフォルトの名無しさん [2024/07/12(金) 03:18:10.13 ID:6z6Lg9Zs.net] そもそもresult前に読んだパス認識してんの? path.existsみたいなのしなはれ
871 名前:デフォルトの名無しさん mailto:sage [2024/07/12(金) 03:55:38.40 ID:Fv9K4MWW.net] >>859 とりあえずこれを直前に挟んでみましたがTrueでした print(os.path.exists(uri)) ダミーにめちゃくちゃ入れたらもちろんFalseなので、result以外はちゃんと動いてるようなんですが
872 名前:デフォルトの名無しさん [2024/07/12(金) 04:14:19.09 ID:6z6Lg9Zs.net] ffmpeg関係は?
873 名前:デフォルトの名無しさん mailto:sage [2024/07/12(金) 05:06:05.29 ID:Fv9K4MWW.net] >>861 すみません、それでした 解決しました、ありがとう 雑に使おうとして、基本的なところが抜けてました
874 名前:デフォルトの名無しさん mailto:sage [2024/07/18(木) 21:35:07.90 ID:atiQW+Xs.net] いまtkinterでGUIをMVCで作ろうとしてるんだけど これウィジェット自身で完結する変数やメソッドはウィジェット側に書くわけじゃん するとあるウィジェットに関係する変数やメソッドが、viewとcontrollerに点在することになるけどそれでいいのか? 全部無理矢理controllerに押し込んだら、こんどcontrollerが肥大化するけど、それはそれでどうなんだという気もする
875 名前:デフォルトの名無しさん mailto:sage [2024/07/18(木) 23:22:50.39 ID:61oenaL1.net] >>863 MVCは死ぬほどバリエーションがあるのでこれといって何が正解かとはかない しかし成功しているモデルの一つであるiOSでのMVCを説明してみる まずコントローラはモデルとビューを保持する コントローラがユーザーからのイベントを受け取り対応するモデルのメソッドを呼ぶ モデルのメソッドが呼ばれ状態を変更する 完了後にコントローラへ通知する そしてコントローラは対応するビューを再描画する 正直古臭いがある程度成功しているアーキテクチャだ
876 名前:デフォルトの名無しさん mailto:sage [2024/07/19(金) 05:30:02.76 ID:QNeV9bba.net] vscodeでtomllib使って値読み込んでもpylanceが上手く型を認識してくれない(anyになる)んだけど tomlって型付きじゃなかったっけ? おま環かこれ??
877 名前:デフォルトの名無しさん [2024/07/19(金) 05:40:24.28 ID:+oFdaKCd.net] 石丸伸二さん取材の最前線 「取材不足」さんのYouTubeチャンネル https://youtube.com/@shuzaibusoku 「取材不足」さんのX(ツイッター) https://x.com/shuzaibusoku7 石丸伸二さんは天才ですね!
878 名前:デフォルトの名無しさん mailto:sage [2024/07/19(金) 06:02:53.03 ID:2drNjBF3.net] >>865 どんなデータ読むかわからんなら静的解析できない データの型が想定できるなら自前のエンティティクラスにいったん格納してみては? 健全にやるならバリデーションする
879 名前:デフォルトの名無しさん mailto:sage [2024/07/20(土) 06:12:19.62 ID:rQPoAcvH.net] Pythonで組んだ自動処理はレンタルサーバー使ってる?
880 名前:デフォルトの名無しさん [2024/07/20(土) 17:56:48.97 ID:pd3T6vIK.net] >>868 日本語検定何級? レンタルサーバーを使っているかどうかが先に評価する条件だろ?
881 名前:デフォルトの名無しさん [2024/07/20(土) 17:58:02.44 ID:pd3T6vIK.net] >>865 バイナリーデータを扱うのに型が自動で決まる方が気持ち悪いだろ
882 名前:デフォルトの名無しさん mailto:sage [2024/07/20(土) 18:30:49.82 ID:rQPoAcvH.net] >>869 スレタイの通りなんだけど、なんで煽ってるの?
883 名前:デフォルトの名無しさん [2024/07/20(土) 18:44:11.27 ID:pd3T6vIK.net] レンタルサーバーを使っているかどうかはここで聞かなくてもいいだろうに 初心者だとレンタルサーバーの存在を知らない可能性が高いと思うけどな。 レンタルサーバーならわざわざPythonを使う必要もない。
884 名前:デフォルトの名無しさん mailto:sage [2024/07/20(土) 18:56:40.19 ID:g11axyeV.net] >>870 でもパーサーは内部的にpython用の型に変換してるんだから、それを静的型チェッカに伝えるだけじゃねーのかなと思わなくはない
885 名前:デフォルトの名無しさん mailto:sage [2024/07/20(土) 19:10:13.69 ID:4S4L7THY.net] パーサーあるいはバリデータを通して特定の型に適合することがわかったらその型にキャストしてやればいい。
886 名前:デフォルトの名無しさん [2024/07/20(土) 19:39:36.45 ID:pd3T6vIK.net] それだとデータがおかしくない前提の設計になる
887 名前:デフォルトの名無しさん [2024/07/20(土) 19:43:13.82 ID:JfCCJ2ok.net] setdefaultencoding()
888 名前:デフォルトの名無しさん [2024/07/20(土) 19:43:43.52 ID:pd3T6vIK.net] 彼は単にTOML形式のファイルが間違っているだけの話をしているのかもしれない。
889 名前:デフォルトの名無しさん mailto:sage [2024/07/20(土) 19:44:44.42 ID:g11axyeV.net] >>875 データおかしかったらパースエラーでしょ 型チェッカが作動する以前で終わる話やん
890 名前:デフォルトの名無しさん [2024/07/20(土) 19:45:09.15 ID:pd3T6vIK.net] 決められたフォーマットでない設定ファイルを読み込んだときの動作は処理を止めるのが正しい実装。
891 名前:デフォルトの名無しさん [2024/07/20(土) 19:46:17.83 ID:pd3T6vIK.net] >>878 本人の勘違いだろう 設定が間違っているのをライブラリの問題にしていると思われる
892 名前:デフォルトの名無しさん mailto:sage [2024/07/20(土) 19:49:49.46 ID:g11axyeV.net] >>880 読解力ゼロ民なん? 質問は、型チェッカーが型情報読めません で それはそれで合ってる(型チェッカーは認知しないから)が回答で 付随して、パーサーは内部で型確定してるんだから、型チェッカーがそれ読みゃいいのにね って言ってるだけだろ
893 名前:デフォルトの名無しさん mailto:sage [2024/07/20(土) 20:09:38.66 ID:4S4L7THY.net] >>875 データがおかしくなければ問題なし、おかしければNG。それのどこに問題が?
894 名前:デフォルトの名無しさん [2024/07/20(土) 20:10:26.26 ID:pd3T6vIK.net] 彼は想定どおりのデータ型にならないと言っている
895 名前:デフォルトの名無しさん mailto:sage [2024/07/20(土) 20:56
] [ここ壊れてます]
896 名前::22.33 ID:4S4L7THY.net mailto: >>883 ? だから型チェックしたうえでキャストすればいいと言っているわけだが。 [] [ここ壊れてます]
897 名前:デフォルトの名無しさん [2024/07/20(土) 23:13:59.91 ID:3JBVPj+L.net] 初心者に何一つ解決法を提示できない、あおる専門職が、また暴れているのか。
898 名前:デフォルトの名無しさん mailto:sage [2024/07/20(土) 23:38:05.16 ID:nWXlJ8rt.net] >>881 >付随して、パーサーは内部で型確定してるんだから、型チェッカーがそれ読みゃいいのにね って言ってるだけだろ 静的型チェッカーにプログラムを実行して外部TOMLファイルを読み込んでパースしてから型チェックしろと? 頭おかしくね?
899 名前:デフォルトの名無しさん mailto:sage [2024/07/20(土) 23:43:19.64 ID:n5damDMV.net] 初心者です Windows とmacで全く同じ環境を用意してもvscodeでjupyter が使えるのはmacだけで困っています。 ryeで環境構築していてpythonのバージョンは3.7〜3.12それぞれで試しました ライブラリはrye add jupyterのみ Vscodeの拡張機能はpythonとjupyter Macでは問題ないですが、Windowsでipynbを実行すると”connecting to kernel“から進みません pyファイルで#%%を用いても同じです カーネルの指定はしています 今はしょうがないのでwindowsではjupyterlabを起動して使っています ライブラリのバージョンとwindowsの相性が悪いんですかね…?
900 名前:デフォルトの名無しさん mailto:sage [2024/07/20(土) 23:54:41.64 ID:NXGRRfPo.net] 初心者でryeなんて非標準なツールつかうから切り分けできなくなる
901 名前:デフォルトの名無しさん mailto:sage [2024/07/21(日) 00:10:32.64 ID:H6hpsSWg.net] >>869 え?これ何?低学歴知的障害朝鮮人?
902 名前:デフォルトの名無しさん mailto:sage [2024/07/21(日) 00:19:47.32 ID:7gp2nlNY.net] さすがにこの自演は恥ずかしいw
903 名前:デフォルトの名無しさん mailto:sage [2024/07/21(日) 04:12:49.88 ID:6bp7hRiy.net] >>888 解決しました!分かりやすい解説ありがとうございます!
904 名前:デフォルトの名無しさん mailto:sage [2024/07/21(日) 10:56:10.38 ID:6bp7hRiy.net] 質問しておいて解決しましたとだけ書くのも失礼なので… pyvenv.cfgの中の指定のpython を変えたら解決しました。 つまり標準のpythonをryeのものにしているのがwindowsのjupyterではよくないようです。 仮想環境でごちゃごちゃやった感じではセキュリティの問題っぽいのでそっちいじればなんとかなりそうですが… 結局macではvscodeを使ってwinではjupyterlab使うことにしました お騒がせしました
905 名前:デフォルトの名無しさん mailto:sage [2024/07/21(日) 14:59:38.69 ID:AhhCkcZ5.net] なんかお前一生環境構築してない?
906 名前:デフォルトの名無しさん mailto:sage [2024/07/21(日) 15:04:29.78 ID:AhhCkcZ5.net] プログラミングできないやつに限って環境だけ作って満足するやつはスゲー多いんだよな 結局何も書けないからやることがないというw
907 名前:デフォルトの名無しさん mailto:sage [2024/07/21(日) 15:13:06.46 ID:6bp7hRiy.net] >>894 FDTD法やってます! 今は高速化目指してます💪
908 名前:デフォルトの名無しさん mailto:sage [2024/07/21(日) 15:52:43.89 ID:AhhCkcZ5.net] >>895 そんなんやってる奴が初心者なんだ?
909 名前:デフォルトの名無しさん mailto:sage [2024/07/21(日) 16:38:54.61 ID:XlsTZxiY.net] >>896 はい!
910 名前:デフォルトの名無しさん mailto:sage [2024/07/21(日) 16:43:16.67 ID:AhhCkcZ5.net] >>897 フフッ
911 名前:デフォルトの名無しさん [2024/07/21(日) 17:57:12.44 ID:XSmlH7W8.net] 質問にも答えず初心者を煽ってさらには返り討ちに合うスレですか…
912 名前:デフォルトの名無しさん mailto:sage [2024/07/21(日) 18:03:02.20 ID:AhhCkcZ5.net] >>899 だいぶ効いてるみたいだな
913 名前:デフォルトの名無しさん [2024/07/23(火) 01:22:30.39 ID:Rfg4Mjqa.net] >>893-894 昔の自称emacs使いにもそういうのがいたで
914 名前:デフォルトの名無しさん mailto:sage [2024/07/23(火) 07:36:07.88 ID:Uu3M5VDt.net] 今はVSCode使いがそれだな 何でもVSCodeでやろうとして詰んでは暴れまくる メモ帳でいいんだよPythonなんて
915 名前:デフォルトの名無しさん mailto:sage [2024/07/23(火) 07:43:39.89 ID:x/ET989s.net] vscodeの拡張はelispみたく手軽に始められないから秩序は保たれてる印象
916 名前:デフォルトの名無しさん mailto:sage [2024/07/23(火) 09:37:49.97 ID:HQr1sgjB.net] >>902 極論それ 環境云々よりまずコードをかけることが大事だからな 環境など後からいくらでも凝ればいい
917 名前:デフォルトの名無しさん mailto:sage [2024/07/23(火) 09:47:38.48 ID:n9YZQASq.net] まず書けるようになるためにはデバッガの有無は大きいと思うが
918 名前:デフォルトの名無しさん mailto:sage [2024/07/23(火) 09:53:14.67 ID:HQr1sgjB.net] 最近はjupyterとか使えば対話的にプログラム書けるしpythonに限って言えば昔ほどデバッガは重要ではないと思うけどな
919 名前:デフォルトの名無しさん mailto:sage [2024/07/23(火) 10:16:25.92 ID:x/ET989s.net] Jupyterデバッガ搭載してるけど定義のちがい?
920 名前:デフォルトの名無しさん mailto:sage [2024/07/23(火) 10:16:33.81 ID:n9YZQASq.net] 環境などどうでも良いのにいきなりjupyterなの?
921 名前:デフォルトの名無しさん mailto:sage [2024/07/23(火) 10:47:56.05 ID:HQr1sgjB.net] 環境がどうでも良いのとjupyter使うのが便利とは直行する話 環境構築にこだわってドツボにハマるならメモ帳でも良いって意味だよ 文脈ちゃんと理解しような
922 名前:デフォルトの名無しさん mailto:sage [2024/07/23(火) 11:02:25.16 ID:n9YZQASq.net] 文脈云々言うなら直交ぐらいちゃんと変換しような
923 名前:デフォルトの名無しさん mailto:sage [2024/07/23(火) 11:52:19.83 ID:aX/s2yiT.net] デスクトップアプリを作ってexe化して配布しても、FirefoxとChromeで「ウイルスかマルウェア」と断定されて、ダウンロードがブロックされてしまうので、がっかりだよ… またそのブロック解除の方法が難しくて、まず素人はダウンロードできないし… Edgeは賢いんだよな ちゃんと検査してはダウンロードさせてくれる
924 名前:デフォルトの名無しさん mailto:sage [2024/07/23(火) 12:00:04.69 ID:lokdiXpj.net] 誰が作ったかわからない実行ファイルなんて実行すべきでないから
925 名前:デフォルトの名無しさん mailto:sage [2024/07/23(火) 12:00:56.55 ID:HQr1sgjB.net] 今時生exeダウンロードして実行しろはない Macであってもよほど信頼があるもの以外は入れない
926 名前:デフォルトの名無しさん [2024/07/23(火) 15:47:22.98 ID:b7ip8NcQ.net] >>911 .zipとかに梱包した .exeでなく、赤裸々な .exeで配布したという意味? なぜ?
927 名前:デフォルトの名無しさん mailto:sage [2024/07/23(火) 15:49:15.49 ID:xnSNk6y3.net] zipで包まれてても嫌だけどな
928 名前:デフォルトの名無しさん mailto:sage [2024/07/23(火) 16:25:49.95 ID:x/ET989s.net] exe単体では嫌だからWebサイトで配布するんじゃないの? Steamのインストーラもexeだよ パッケージ化されてても導入するのは結局exeだし
929 名前:デフォルトの名無しさん mailto:sage [2024/07/23(火) 17:12:12.55 ID:aX/s2yiT.net] >>914 zipにしてるよ それがブロックされる
930 名前:デフォルトの名無しさん mailto:sage [2024/07/23(火) 17:22:15.64 ID:xnSNk6y3.net] >>916 個人が作ったよくわからないプログラムパッケージをネイティブにインストールなんかしないってことね
931 名前:デフォルトの名無しさん [2024/07/23(火) 17:37:17.95 ID:TPPfHQM2.net] >>914 ZIP圧縮は暗号化されているものがあるから、ZIP圧縮の方が嫌われるように変化した。
932 名前:デフォルトの名無しさん [2024/07/23(火) 18:14:35.00 ID:b7ip8NcQ.net] >>917 ここPythonスレなので、exe化したPythonプログラムの話か。今気付いた。 ライブラリを含んでいるからウィルス認定されて当然という話をよく聞く。 別に exe化せんで、スクリプトで配布すりゃいいのでは。
933 名前:デフォルトの名無しさん mailto:sage [2024/07/23(火) 18:37:50.57 ID:nRtnWzRV.net] サンドボックスで振る舞いを確かめれば済む話じゃないのか?
934 名前:デフォルトの名無しさん mailto:sage [2024/07/23(火) 19:18:10.39 ID:TZI+ZhOX.net] 自己解凍書庫の出番か
935 名前:デフォルトの名無しさん mailto:sage [2024/07/23(火) 19:39:18.76 ID:xnSNk6y3.net] あれも脆弱性の塊です
936 名前:デフォルトの名無しさん [2024/07/23(火) 19:43:52.63 ID:ZPmy+vgF.net] UPX
937 名前:デフォルトの名無しさん mailto:sage [2024/07/23(火) 19:50:49.70 ID:aX/s2yiT.net] >>920 pythonなんて使えない素人に配布してるので
938 名前:デフォルトの名無しさん mailto:sage [2024/07/23(火) 22:34:55.62 ID:Q9OV7LqX.net] コード署名なんて使えない素人が配布してるのでw
939 名前:デフォルトの名無しさん mailto:sage [2024/07/23(火) 23:08:59.22 ID:r/ZR0qO4.net] こんだけマルウェアやらランサムウェアが問題になってるのにいまだに何の保証もないexeを実行可能にしているマイクロソフトは反社会勢力と言っても過言ではない この問題を長年放置してるのは狂ってる
940 名前:デフォルトの名無しさん mailto:sage [2024/07/23(火) 23:12:04.08 ID:RTFcCOtn.net] Chromeはzipの中身も見てるみたいだけどFirefoxもとなるとGoogle Safe Browsingのダウンロードのブロックリストにドメイン載っちゃってる可能性
941 名前:デフォルトの名無しさん mailto:sage [2024/07/24(水) 03:59:46.12 ID:/7/ZxMEj.net] >>927 ストアで縛ろうとしたら猛反対 俺のパソコンなのに何しやがるんてなるよ 業務ならポリシーで制限できるから落とし所
942 名前:デフォルトの名無しさん mailto:sage [2024/07/24(水) 11:24:37.52 ID:zc84AtQt.net] この板で見かけるpythonアプリをexe化して配布しようとしてる人って例外なく技術者としてのレベルが低いんだよね しかもその自覚がなく他人のせいにするからタチが悪い
943 名前:デフォルトの名無しさん mailto:sage [2024/07/24(水) 11:29:14.65 ID:xsNragSm.net] 超初心者用スレでレベルが低いとか言われても
944 名前:デフォルトの名無しさん mailto:sage [2024/07/24(水) 11:39:51.52 ID:pCtKanLE.net] >>930 しょうがない面あるよ 現場でのちょっとした業務効率化ツールにいちいち開発予算取れないし Pythonやライブラリのインストールして回るのは面倒だし exe一つ配布で済むならそれに越したことはない
945 名前:デフォルトの名無しさん mailto:sage [2024/07/24(水) 11:45:11.42 ID:UohJ1bhL.net] デスクトップアプリでも指示したファイル以外開けないような権限の厳しい仕組みを作るべきだった
946 名前:デフォルトの名無しさん mailto:sage [2024/07/24(水) 12:02:23.84 ID:BVC0yZgs.net] やっぱWebアプリが楽 pyscriptの発展に期待
947 名前:デフォルトの名無しさん mailto:sage [2024/07/24(水) 12:42:15.38 ID:oMWZGWxK.net] >>932 それはアプリの配布ポリシーも配布方法も確立できてないリテラシーが超低い会社に限られた話 >>926 が揶揄してるように素人に配布してるのが問題じゃなくて素人がexeを配布しようとしてるのが問題なんだよ
948 名前:デフォルトの名無しさん mailto:sage [2024/07/24(水) 14:17:03.29 ID:y0qkp9N5.net] >>933 Macは野良の実行ファイル起動できないからな せめてこれくらいはやれよって思う
949 名前:デフォルトの名無しさん mailto:sage [2024/07/24(水) 14:55:30.46 ID:uBykzA+Z.net] exeを自由に配布しようとしても、ブロックされてダウンロードされないし売れないしで、素人でも最初からMicrosoft sStore、App Store、android Play Storeで配布する方針でアプリ開発するべきなんだね
950 名前:デフォルトの名無しさん mailto:sage [2024/07/24(水) 15:11:26.53 ID:gQy7oTdL.net] >>937 python公式が配布してるexeのダウンロードかブロックされたことある?
951 名前:デフォルトの名無しさん mailto:sage [2024/07/24(水) 15:17:26.99 ID:uBykzA+Z.net] >>938 python本体くらいしか無いけど、ブロックはされなかった
952 名前:デフォルトの名無しさん mailto:sage [2024/07/24(水) 17:01:13.31 ID:KGoIVoV/.net] >>939 exeを自由に配布しようとしてもブロックされてダウンロードされないという認識が間違ってるってことだよ
953 名前:デフォルトの名無しさん mailto:sage [2024/07/24(水) 17:34:45.81 ID:Qm23Mb5z.net] いろいろ出来てなんぼのPCであれはだめこれはだめと言っていたら、 なんのためのPCだかわからないことになる パターナリスティックでおせっかいなシステムはPCにはそぐわないし、 スマホみたいにがんじがらめなのは勘弁してくれ
954 名前:デフォルトの名無しさん mailto:sage [2024/07/24(水) 19:22:40.43 ID:uBykzA+Z.net] Microsoft Storeで販売してみるわ 日本語と英語で。 500円だけど、何事も挑戦
955 名前:デフォルトの名無しさん mailto:sage [2024/07/24(水) 19:53:24.43 ID:aZhJNMHQ.net] >>942 いきなり500円で買うやつおらんぞ まずは機能減らして無料で出せよ
956 名前:デフォルトの名無しさん mailto:sage [2024/07/24(水) 23:33:56.14 ID:uBykzA+Z.net] >>943 いや、他所ではたまに売れてるんですよ 1週間に数本とか exeファイルでは無いけどコード (記事って書いてあるけど文章では無いです) https://i.imgur.com/9VMM8xV.jpeg exeファイルを売りたくなったので、Microsoft Storeにしようかと。 他所だとブロックされてしまうので
957 名前:デフォルトの名無しさん [2024/07/25(木) 17:55:43.14 ID:d36Rq1nw.net] EXEファイルは間違って実行してしまうことがあるから避けられているのになあ
958 名前:デフォルトの名無しさん [2024/07/26(金) 08:22:41.37 ID:3aGNttVJ.net] >>945 スクリプト・ファイルでも間違えて実行することはあると思うが、 EXEファイル特有の間違いってあるの?
959 名前:デフォルトの名無しさん mailto:sage [2024/07/26(金) 09:07:36.47 ID:GoMxbApo.net] 通常のスクリプトファイルはダブルクリックで実行してしまうことはないだろ
960 名前:デフォルトの名無しさん [2024/07/26(金) 10:16:15.53 ID:3aGNttVJ.net] >>947 MS-Windows をよく知らんのだけど、 拡張子 .py とかのテキストファイルを、 python something.py などと実行してしまうもんじゃないの?
961 名前:デフォルトの名無しさん mailto:sage [2024/07/26(金) 10:19:30.49 ID:8tpKdrFX.net] >>947 無知すぎるやろw
962 名前:デフォルトの名無しさん mailto:sage [2024/07/26(金) 10:28:35.30 ID:RKHjG1e0.net] バッチファイルなら起動するで あと関連付けされてれば起動する
963 名前:デフォルトの名無しさん mailto:sage [2024/07/26(金) 13:49:56.51 ID:ymUuyp6y.net] スレタイが何度見てもくすだれにしか見えない
964 名前:デフォルトの名無しさん mailto:sage [2024/07/26(金) 15:36:14.52 ID:OCCNk7Vb.net] スレイタが何度見てもくだれすにしか見なえい
965 名前:デフォルトの名無しさん [2024/07/26(金) 20:25:41.82 ID:JylNHC7t.net] >>948 取り返しがつかないことを平気でするから、仕事だったら追放されるぞ。
966 名前:デフォルトの名無しさん [2024/07/26(金) 20:27:18.02 ID:JylNHC7t.net] >>948 のようにWindowsをMS-Windowsと書くのはジジイ確定
967 名前:デフォルトの名無しさん [2024/07/26(金) 20:58:29.00 ID:3aGNttVJ.net] >>953 MS-Windows をよく知らんのだけど、 関連付けって、取り返しがつかず、仕事だったら追放されるくらいオオゴトなのか。タイヘンなんだな。MS-Windows を使う仕事でなくて良かったよ。
968 名前:デフォルトの名無しさん [2024/07/26(金) 21:10:48.91 ID:JylNHC7t.net] > python something.py ↑これを実行すると言っているのは自分だろうに
969 名前:デフォルトの名無しさん [2024/07/26(金) 22:30:59.89 ID:3aGNttVJ.net] >>956 拡張子 .py とかのテキストファイルを、 python something.py などと実行してしまう、そんな仕組みを、「関連付け」と呼んでいるのと違うの? よく知らんのだけど。
970 名前:デフォルトの名無しさん [2024/07/26(金) 22:53:18.79 ID:JylNHC7t.net] >>957 自分がそう書いているんだぜ?
971 名前:デフォルトの名無しさん [2024/07/26(金) 22:54:17.60 ID:JylNHC7t.net] >>957 946 デフォルトの名無しさん 2024/07/26(金) 08:22:41.37 ID:3aGNttVJ >>945 スクリプト・ファイルでも間違えて実行することはあると思うが、 EXEファイル特有の間違いってあるの?
972 名前:デフォルトの名無しさん [2024/07/26(金) 22:55:33.33 ID:JylNHC7t.net] どんなOSだろうと実行してから「実行しますか?」なんて聞いてくるコマンドが普通なのか? 言っていることの意味がわからない。
973 名前:デフォルトの名無しさん mailto:sage [2024/07/26(金) 23:03:13.17 ID:GM2OWqhD.net] 無知な>>947 が暴れてますな ジジイのほうがまだまとも
974 名前:デフォルトの名無しさん [2024/07/27(土) 02:00:40.08 ID:Frk3MPuk.net] >>958 ,960 何を言っているのか全然解らん。 系統立てて話してくれないだろうか。
975 名前:デフォルトの名無しさん mailto:sage [2024/07/27(土) 11:13:05.30 ID:qPRWWcgY.net] def a(arg1)のarg1は'normal,'auto','single'が選択肢としてありって、呼び出し元で引数の選択肢にインテリセンスが効くようにする方法ってありますか?
976 名前:デフォルトの名無しさん mailto:sage [2024/07/27(土) 11:18:09.30 ID:zo9+JWCR.net] そんな質問はchatgptに聞け
977 名前:デフォルトの名無しさん mailto:sage [2024/07/27(土) 11:30:57.89 ID:MJBjTLYo.net] Windows環境でPythonをインストールすると.pyなどの各種ファイルは Python Launcher(py.exe)に関連付けされてダブルクリックでプログラムが実行されるようになってるよ .batや.cmdのように標準で実行されるものもあれば.ps1のように標準ではブロックされるものもある ただ.batや.cmdは.exeと違って一般ユーザーは使わないから設定でブロックしやすい .exeもいろんな条件でブロックすることは可能だけど利便性がかなり落ちるのでバランスが難しい
978 名前:デフォルトの名無しさん mailto:sage [2024/07/27(土) 11:35:07.21 ID:VipTCpXk.net] >>963 enum
979 名前:デフォルトの名無しさん mailto:sage [2024/07/27(土) 12:02:44.95 ID:VipTCpXk.net] Literalがあったわ
980 名前:デフォルトの名無しさん mailto:sage [2024/07/27(土) 20:42:42.63 ID:cmTVxjYb.net] >>965 Anacondaから入れてるから初耳 勿論、勝手に実行はされない
981 名前:デフォルトの名無しさん mailto:sage [2024/07/28(日) 15:34:57.49 ID:v6kdbv5j.net] .pyダブルクリックでテキストエディタが起動してソース編集の方が有難い .py実行したいときはコマンドプロンプトやエディタの方から実行出来れば充分
982 名前:デフォルトの名無しさん [2024/07/28(日) 20:18:24.27 ID:AOLFr8T9.net] >>969 そんなのは設定だろ python界隈はこういう馬鹿が増えた
983 名前:デフォルトの名無しさん [2024/07/28(日) 20:24:40.17 ID:nQJ65Sob.net] 個々人の嗜好の話題ではない。
984 名前:デフォルトの名無しさん [2024/07/30(火) 17:32:38.17 ID:PmWSmSbC.net] 1 gchar 2001/03/27(火) 13:30 どうしょうもなく、くだらなくて恐縮ですが、 ギコ猫アプレットを作りたいと思います。 gikocat.20m.com/ まあ、感想なぞ書いて下さい。
985 名前:デフォルトの名無しさん mailto:sage [2024/07/30(火) 19:00:55.75 ID:xxzULaUh.net] >>972 多分ウイルスサイト
986 名前:デフォルトの名無しさん mailto:sage [2024/08/11(日) 00:05:49.00 ID:rz8PuyH+.net] しかし2001年アプレットとはまた…
987 名前:デフォルトの名無しさん [2024/08/22(木) 10:19:36.95 ID:IKT838Oo.net] 死壊死壊
988 名前:デフォルトの名無しさん mailto:sage [2024/08/23(金) 05:46:44.19 ID:rXpsCAVX.net] asyncによる非同期処理を実装する場合、非同期にしたい呼び出される関数はasync defとawaitに書かなければならない認識であっていますか? 既存コードにCで書かれた通信処理dllへのラッパー関数があるので、dll呼び出し部まで書き直すか追加するのが手間なので良い手法があればと思いました。
989 名前:デフォルトの名無しさん [2024/08/23(金) 14:35:19.98 ID:TJ+3Kp9a.net] wrapperのwrapperを描こう
990 名前:デフォルトの名無しさん mailto:sage [2024/08/23(金) 17:32:10.11 ID:2MxBs/jY.net] Yo~!
991 名前:デフォルトの名無しさん [2024/08/26(月) 13:05:01.33 ID:+6LxARHT.net] 宣伝じゃないですが 尼で損する→/dp/4297142856 書評は良いと思った >なぜコードが間違っていないのにレビューで重箱の隅のような指摘を受けるのかが理解できるようになります。
992 名前:デフォルトの名無しさん mailto:sage [2024/08/26(月) 15:22:01.32 ID:xgRNJuaz.net] サプーか
993 名前:デフォルトの名無しさん [2024/08/26(月) 19:53:41.84 ID:FhzwHLyM.net] レビューで重箱の隅のような指摘を受けたことがあるんだろうね
994 名前:デフォルトの名無しさん mailto:sage [2024/08/26(月) 20:38:35.96 ID:TfC/Wz7r.net] 横からだけど おまえは完璧なコードを書きすぎる と言われた事がある・・・ 難しい部分を任されたことが無いってのもあるけど その部分の動画もあるのかな
995 名前:デフォルトの名無しさん mailto:sage [2024/08/26(月) 20:59:37.19 ID:694qjtkr.net] レビューがめっちゃ桜臭いな 星3以下だと一気に評判落ちるので発売直後の星5が大事
996 名前:デフォルトの名無しさん [2024/08/27(火) 00:42:37.95 ID:jPnUMQmz.net] 設計通りに実装していないやつが多すぎる
997 名前:デフォルトの名無しさん [2024/08/27(火) 14:12:58.86 ID:oHcafaf7.net] これ教えてくらはい 解く過程もお願いします https://i.imgur.com/AUcy6QG.jpeg
998 名前:デフォルトの名無しさん [2024/08/27(火) 14:13:20.99 ID:oHcafaf7.net] (S)でshortだからSの上のRは無いのと一緒 6Ωと3Ωの並列の合成抵抗は2Ω 12Vかかってるから6A
999 名前:デフォルトの名無しさん [2024/08/27(火) 14:13:37.32 ID:oHcafaf7.net] 答えは燃えるだよ 0A
1000 名前:デフォルトの名無しさん [2024/08/27(火) 14:14:03.15 ID:oHcafaf7.net] どっちが正しい?
1001 名前:デフォルトの名無しさん mailto:sage [2024/08/30(金) 20:00:23.54 ID:/S3k+zaQ.net] SQLAlchemy気に入った おかげでpythonから離れそうにない
1002 名前:勉強スレ誤爆より質問スレに移動 mailto:sage [2024/08/31(土) 13:26:42.65 ID:fwQH707u.net] 関数やクラスにインデックスの指す中身の値でなく“インデックス指定”を渡したいのですがうまく出来ません こんな場合どういうような考え方があるのでしょう(タプルでインデックス数字を渡す?) # [[0,0,0,0,0],[[0,0,0,0,0]] alist = [[0]*5]*2 # 値ではなく箱の位置を意図してるが… hako = alist[0][3] def change(b): b = 3 return change(hako) print(alist) # 全部0のまま change(alist[0][4]) print(alist) # こちらも全部0 実際にはrpgゲームの様々のステートやフラグやそのセーブを管理するクラスに alist[6][15](王さまと喋ったとか)を1にするといった仕事をさせたいと試行錯誤しています 喋る関数、戦う関数やクラスのとこから発生しだいリストを直で操作すればいいのだけど State.change(インデックス, 1)みたく一元的にやりたいとクラスを作ってきています 目的で位置の固定されたフラグなのでメニューを開いているかState.menu(1)、State.kingtalked(1)などとしその先のクラスの関数で位置を決め撃ちするのが良いのかななどと困って考えています
1003 名前:勉強スレ誤爆より質問スレに移動 mailto:sage [2024/08/31(土) 14:58:41.77 ID:fwQH707u.net] 設計からおかしいと思ったので質問は取り下げます ロールプレイングゲームでゲーム状態(シナリオ進捗やパーティーのステータス状態やカーソル位置まで状態の復元可能)の情報は どう作り、ゲーム中に持つのか、どこからリードやライトするのかについて混乱しています ステータスマネージャーのようなクラスにこれ記録しといてと各所から投げればいいのかなと考えてるのが今で 逆に難しくなってしまってる、参考に出来そうなpython製ののrpgを見つけられていません
1004 名前:デフォルトの名無しさん mailto:sage [2024/08/31(土) 15:42:25.61 ID:Q7p5BAl/.net] ゲームプログラムの構造自体に悩んでるように見える 個々のパラメータはカテゴリごとにクラス化して それらを保持するゲームカーネルクラスを考えてみては? セーブ・ロードの時は所属クラスを識別可能なラベルを付けて カーネルが各クラスに分配・収集する もちろんカーネルは分散構造でもいい
1005 名前:デフォルトの名無しさん mailto:sage [2024/08/31(土) 16:31:20.69 ID:fwQH707u.net] ありがとう クラス使い始めてみたばかりで継承など使ってないレベルなので意図の読み取りがあれですが 書いてくれた雰囲気はなんとなく理解しました 例えばシナリオ進捗や済みイベントのフラグ、世界が滅亡するまでの残り時間などの進捗データを保持させるカテゴリーなクラス アイテムやそのソート順選択状態や現在カーソル位置などを保持させるアイテムGUIデータなカテゴリーのクラス それらから収集しまとめて保持していてセーブで書きだし、ロード時に各所へセットしてから再開する統合クラス ラベルで管理とは、辞書型だったりあるいは投げ込むクラス内のステータスごとに対応する関数で配置場所を固定して分けたらいいのかなと…頭が限界ですゆっくり考えてみます
1006 名前:デフォルトの名無しさん mailto:sage [2024/08/31(土) 17:12:20.07 ID:Q7p5BAl/.net] 画面や入力は別のクラスにして 入力クラス→カーネルへのAPI カーネル→画面クラスへのAPI に分離した方が見通しよくなると思う
1007 名前:デフォルトの名無しさん [2024/08/31(土) 19:54:44.30 ID:E1cdB3xT.net] >>990 >>777 >alist = [[0]*5]*2 これやると詰む
1008 名前:デフォルトの名無しさん mailto:sage [2024/08/31(土) 20:12:52.72 ID:fwQH707u.net] >>995 しばらくなぜだろうと考え込んだ(もう1つのスレの方の指摘とあわせ) …思い出した、要素のidが同じになって連動しまうんだっけたしかに挙動に困ったことある もう一回この手の宣言について調べなおし学習しますどうも
1009 名前:デフォルトの名無しさん mailto:sage [2024/09/01(日) 14:38:13.87 ID:MnUgJTxK.net] 元レスの主張をそのままリスペクトすると ctypes の POINTER が超お薦め
1010 名前:デフォルトの名無しさん mailto:sage [2024/09/01(日) 15:14:54.96 ID:MnUgJTxK.net] >>990 https://paiza.io/projects/-YhvJ2Iepe9GDgWHdZQ_wQ import ctypes def a(p): p.contents.value = 3 x = [[ctypes.c_uint32(j * 3 + i + 1) for i in range(3)] for j in range(3)] print(x) a(ctypes.pointer(x[1][1])) print(x) # [[c_uint(1), c_uint(2), c_uint(3)], [c_uint(4), c_uint(5), c_uint(6)], [c_uint(7), c_uint(8), c_uint(9)]] # [[c_uint(1), c_uint(2), c_uint(3)], [c_uint(4), c_uint(3), c_uint(6)], [c_uint(7), c_uint(8), c_uint(9)]]
1011 名前:デフォルトの名無しさん mailto:sage [2024/09/01(日) 19:02:55.77 ID:tGCM6k6e.net] >>997 ありがとう 最終的には教えてもらった辞書型でうまく意図した役割をつなぐことに成功しました 「Pythonでゲーム作りますが何か?」というハテナのblogを参考にクラスというもの主体の作り方に触れ そこのgithubのpython3ソースを見たりしながらタイルチップrpgでないadv寄りな自分のものにあてはめているところでした ある程度のとこで連載は終わっていて残念、実践的ですごく参考になりました
1012 名前:デフォルトの名無しさん mailto:sage [2024/09/01(日) 20:02:05.87 ID:tGCM6k6e.net] 次スレ 【まず1嫁】くだすれPython(超初心者用) その60 https://mevius.5ch.net/test/read.cgi/tech/1725188284/ スレ立てがNGRockにかかるためテンプレの一部変えました
1013 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 416日 1時間 13分 25秒
1014 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています