2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

【まず1嫁】くだすれPython(超初心者用) その59

385 :デフォルトの名無しさん: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用に作ってあるから

386 :デフォルトの名無しさん:2024/02/08(木) 18:58:16.38 ID:T36ggrXR.net
>>375
50代のスレに書き込んでいるおっさんだろ?

387 :デフォルトの名無しさん:2024/02/08(木) 18:59:24.55 ID:T36ggrXR.net
>>385
なかなかのキチガイだなw

388 :デフォルトの名無しさん:2024/02/08(木) 20:35:36.46 ID:PMTWmDyI.net
>>385
Rubyに関わるのはこんなキチガイばっかりです

389 :デフォルトの名無しさん:2024/02/09(金) 08:55:46.64 ID:JpXObIpk.net
河上幸恵ちゃんの名曲
心の中のルビーというやつだな

皆さんありがとう
また一歩自分の成長を感じました
C言語のライブラリはそれぞれのパソコン用がインストールされる高度な仕組みであること
ジュピターで空白タブを表示する方法
皆さんはわたしの成長ホルモンです

390 :デフォルトの名無しさん:2024/02/14(水) 15:26:02.91 ID:uypU95In.net
os.path.isfileの様なやり方でループなど使用せずに、
拡張子を除いた部分のファイル名が存在するか確認する方法ってありますか?

例えばファイル名”test01.txt”,”test01.png”のどちらがディレクトリに存在していても、”test01”だけでファイルの有無を確認したいです。

391 :390:2024/02/14(水) 15:45:38.27 ID:uypU95In.net
自己レスです。
とりあえず、glob.glob(‘/hoge/test*’)としてやってみました。
こんな方法もあるよというのがあれば教えてください。

392 :デフォルトの名無しさん:2024/02/21(水) 10:41:22.80 ID:tURWv7oT.net
os.path.exists

393 :デフォルトの名無しさん:2024/02/21(水) 22:24:18.46 ID:XpCZiALh.net
globでいいと思うけど一応
https://docs.python.org/ja/3/library/pathlib.html#pathlib.PurePath.stem

394 :デフォルトの名無しさん:2024/02/25(日) 04:23:40.84 ID:oObtEil6.net
Pythonのandroidでの実行環境って何を入れたらいいですか?
開発環境はとりあえず必要ないので
あくまでスクリプト・インタープリターとしての最低限の実行環境がほしいのです
CPythonみたいなリファレンス実装があればいいのですけど

395 :デフォルトの名無しさん:2024/02/25(日) 20:23:29.26 ID:hMq2Qtw2.net
termuxかpydroidかなあ?

396 :デフォルトの名無しさん:2024/02/25(日) 20:32:04.31 ID:hMq2Qtw2.net
python以外もつかうならtermux、uiが使いたいならpydroidかな?

397 :デフォルトの名無しさん:2024/02/25(日) 21:17:43.23 ID:oObtEil6.net
>>395,396
レスありがとう
どちらかというと開発環境みたいな感じなんですね
ほかにQPythonとかQPython 3Lとかはどうですか
よりシンプルな実行環境という観点からするとどれになるのでしょうか

398 :デフォルトの名無しさん:2024/02/26(月) 23:37:11.68 ID:GBHslgGd.net
レビュー見る限りその2つはあまり良くなさそうだね

399 :デフォルトの名無しさん:2024/03/05(火) 16:51:36.85 ID:90GfYifC.net
凄い基本的な質問なんだけどライブラリのことを考えるとPythonはanacondaとPythonそのままどちらのほうがお勧めですか
または他にお勧めのツール?的なのある?

400 :デフォルトの名無しさん:2024/03/05(火) 17:04:30.62 ID:90GfYifC.net
ライブラリじゃなくてモジュールでした

401 :デフォルトの名無しさん:2024/03/05(火) 18:49:14.75 ID:xnDaPNvs.net
とりあえず、公式実装のCPythonでいいのでは?
やりたいことが明確になってから必要に応じてanaconda環境を構築すればいいと思う

402 :デフォルトの名無しさん:2024/03/06(水) 15:55:05.95 ID:fNmftXEr.net
何かライブラリなどをインストールしようとするたびにエラーがでて説明通りにできない
こんなもん?

403 :デフォルトの名無しさん:2024/03/06(水) 16:59:36.65 ID:0Fz1GTqO.net
説明が悪いんでは
前提としてる環境が違っててそこまでは書かれてないとか

404 :デフォルトの名無しさん:2024/03/06(水) 18:30:41.18 ID:vezaZ1iv.net
>>402
その説明では分からない

405 :デフォルトの名無しさん:2024/03/07(木) 20:32:37.26 ID:aIlNu4oQ.net
自分はPycharmのflaskでウインドウズでは環境構築できなくて諦めました
同じことやってるのに、Macでは動いてウインドウズではエラー
Pythonって学ぶスタート地点に立てない人少なくないかも?

406 :デフォルトの名無しさん:2024/03/07(木) 20:50:36.75 ID:Xi0SwO4p.net
>>364
マジで誰でもできるよ
Pythonに限らずだけど経験一年以上とかで求人出てるし
俺は学歴で落とされたがね
そもそもanaconda使いながらpipとか使うと環境壊れるよ

407 :デフォルトの名無しさん:2024/03/07(木) 20:53:48.81 ID:Xi0SwO4p.net
>>359
まぁ人によって印象違うんだろうな
俺はPHPはもう一生触らないと決めたけど

そしてイテレータやらクロージャやらやんなくていいから
そういうのは出てきた時に意味が分かれば十分

408 :デフォルトの名無しさん: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では動かない

409 :408: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 で動くようには書かないはず。
面倒くさい

410 :デフォルトの名無しさん:2024/03/08(金) 00:50:54.05 ID:FJDucPJF.net
>>408
またこの馬鹿の書き込みか
ruby馬鹿よりはマシだけど

411 :デフォルトの名無しさん:2024/03/08(金) 04:38:04.66 ID:xViuWNSj.net
クロージャとデコレータが極悪に難しい
ドキュメントや本を何冊も読んだが何のためにどうやって使う機能なのかさっぱりわからず自己嫌悪に陥る
この世は無知な方が幸せなんだよな…

412 :デフォルトの名無しさん:2024/03/08(金) 15:18:49.79 ID:b4tlhFyW.net
python齧ったけどわけわからん
やっぱCOBOLがわかりやすいわ

413 :デフォルトの名無しさん:2024/03/08(金) 16:10:05.35 ID:JEcqFwbk.net
Pythonで何作れたら中級者くらいって言えるかな?ゲームとか?

414 :デフォルトの名無しさん:2024/03/08(金) 16:11:57.72 ID:uXHmVfiG.net
VS Code使ってたせいだか何だかわからんけど、気分変えて作業フォルダを変更したらimport命令で自作モジュール読み込みするとエラーに。
メインpyファイルと同じフォルダの別pyファイルがimportできない

ぐぐりまくってsys.path.append("ここに任意パス")で上記フォルダの絶対パスを指定したらいけたが、
じゃあそもそも元のパスはなぜ指定もせずにimport出来てたのかっていう疑問が残った。なんか怖い

415 :デフォルトの名無しさん:2024/03/08(金) 16:15:01.89 ID:uXHmVfiG.net
ちなみにこういうエラーね
ModuleNotFoundError: No module named 'My_Mod'

416 :デフォルトの名無しさん:2024/03/08(金) 16:40:50.56 ID:T/tXaIRT.net
>>414
そうですね。
怖いですね。

417 :デフォルトの名無しさん:2024/03/08(金) 17:18:26.85 ID:YKaVE2hY.net
>>414
もしかして:Pythonのバージョンも違う

418 :デフォルトの名無しさん: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__)と書いても良いけれど(自分は実はこっちばかりだけど)

419 :デフォルトの名無しさん:2024/03/08(金) 22:04:15.13 ID:Olq6J6jV.net
>>402
pip環境が壊れちゃったのかなあ

420 :デフォルトの名無しさん:2024/03/09(土) 02:10:53.23 ID:V+9wfNne.net
外部ライブラリはPythonの強みであり同時に弱みでもあるね
ライブラリがらみのトラブルで世界中でどれだけの人生が無駄に消費されているだろうか

421 :デフォルトの名無しさん: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 を変えて、実行してみればよい

422 :デフォルトの名無しさん:2024/03/09(土) 05:27:46.59 ID:b/ATK8wU.net
結局開発環境だと.venv/bin/activateの中にPYTHONPATH書くのが早いんだな

423 :デフォルトの名無しさん:2024/03/09(土) 12:09:06.37 ID:innwL8du.net
開発環境でもpip installしたほうが

424 :デフォルトの名無しさん:2024/03/09(土) 12:15:40.44 ID:innwL8du.net
配布先とか別環境でも同じ使い方できるから楽
なんとかtoml最小限書くだけでできるよね?
レス別れちゃってごめんね

425 :デフォルトの名無しさん: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はさすがにまあ安全だが

426 :デフォルトの名無しさん:2024/03/09(土) 17:35:27.63 ID:KPeEXLi+.net
>>425
>基本環境にpip失敗してpython丸ごと再インストールとなる
ここがちょっとわかんない

427 :デフォルトの名無しさん:2024/03/09(土) 18:34:45.65 ID:bB58iYl/.net
管理者権限でpip実行してんじゃね?

428 :デフォルトの名無しさん:2024/03/09(土) 19:30:49.00 ID:b/ATK8wU.net
AIないと何もブログラミング出来ないんだけどこれでいいのだろうか

429 :デフォルトの名無しさん:2024/03/09(土) 21:56:34.21 ID:Dg4V+RZb.net
>>428
いいんだよ
プログラミングなんて本来人間のやる作業じゃない
コンピュータのことはコンピュータに任せりゃいい
人間にしかできない仕事をやればいい

430 :デフォルトの名無しさん:2024/03/10(日) 04:36:05.69 ID:YuaEvpE6.net
>>429
こういう馬鹿ばっか

431 :デフォルトの名無しさん:2024/03/10(日) 05:30:03.67 ID:DGzgjbzK.net
使えるものは使いこなして効率や生産性をあげないと
使いこなす人に出し抜かれる
有能なアシスタント雇ったと思えばいいじゃないかな

432 :デフォルトの名無しさん:2024/03/10(日) 08:41:17.31 ID:GTFEZR4A.net
>>430
ChatGPT使って書いてみなよ
今までプログラミング技術の習得に費やしてきた時間が全て無駄だったとわかる

433 :デフォルトの名無しさん:2024/03/10(日) 11:04:27.88 ID:xltcl5gU.net
>>432
全くそうは思わないな
matplotlibみたいな使うのにリファレンス読む時間がめちゃくちゃ長いのは勉強しなくてよくなった感じがするけど
ChatGPTに短い日本語で指示すれば書けるようなプログラムしか書けるようになってないだけだと思うよ
超初心者スレでいうのもあれだけど

434 :デフォルトの名無しさん:2024/03/10(日) 12:28:14.94 ID:2l3n+JcC.net
Excelのマクロ記録というものも知らなそう

435 :デフォルトの名無しさん:2024/03/10(日) 17:18:49.80 ID:NwXd028v.net
漁獲を Excelで管理するということ?

436 :デフォルトの名無しさん:2024/03/10(日) 22:53:10.30 ID:+HoghBJd.net
サバの管理も必要

437 :デフォルトの名無しさん: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行空けているのかね。

438 :デフォルトの名無しさん:2024/03/12(火) 22:47:34.41 ID:BkSU/P3i.net
>>437
空けてる
だってflakeに怒られるんだもん
どうでもいいような書き捨てコード書くときはそもそもJupyterとかで書いておしまいだから
PEP8とか気にしないけど、IDEで書いてる時点でメンテナンス性を意識しているから、
PEP8のようなルールに従っておこうという気持ちになっている

439 :デフォルトの名無しさん: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

440 :デフォルトの名無しさん:2024/03/12(火) 22:53:07.42 ID:uGnBKOkv.net
https://github.com/PyCQA/pycodestyle/issues/400
シンプルなようで厳格化するのはたいへんでおもしろい

441 :デフォルトの名無しさん:2024/03/12(火) 23:00:25.97 ID:uGnBKOkv.net
>>439
インデントが空白4文字な世界だと
その場で3重の入れ子なんて書かないから
関数かなんらかのブリッジが介在するはず
だから例外や返り値でいくらでも制御できる
デコレータつかうのといいかも

442 :デフォルトの名無しさん:2024/03/12(火) 23:05:19.86 ID:n3W+Fun6.net
>>439
gotoパッケージを入れて、goto文を使ってもいいが、そんなループをしないといけないのか?

443 :デフォルトの名無しさん:2024/03/12(火) 23:10:52.05 ID:n3W+Fun6.net
>>439
ループする条件とbreak文の組み合わせでもいいのに
ネタなの?

444 :デフォルトの名無しさん:2024/03/12(火) 23:22:29.84 ID:oG8PduKS.net
>>437

きっちりつか、autopep8かけるだけ。

445 :デフォルトの名無しさん:2024/03/13(水) 00:57:33.03 ID:TCqO/DNK.net
Pythonはかなり古めかしい考え方のプログラミング言語だからな

446 :デフォルトの名無しさん:2024/03/13(水) 02:43:27.57 ID:ptopN5lQ.net
Ruby で、多重ループから一気に抜け出すのは、
ラベル付きのKernel.#throw/#catch を使う

447 :デフォルトの名無しさん:2024/03/13(水) 05:11:03.78 ID:NVpOWzEq.net
Rubyはcallccあるんじゃない?なんでもできるでしょ
Pythonもコルーチンあるから今のVMで実装はできそうだけど
あえて提供してないんだろうな

448 :デフォルトの名無しさん:2024/03/13(水) 08:24:43.29 ID:fKc7/92t.net
あれ、breakやcontinueの後に脱出先のラベル名を指定できたはずだが
別の言語だったかな?

449 :デフォルトの名無しさん:2024/03/13(水) 08:38:24.40 ID:6IE1D2aF.net
javaだな

450 :デフォルトの名無しさん: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つの式で扱えないとかだったらわかるけど、
インデントは関係ないでしょ

綺麗なコードを設計しよう、書こうとしてさまざまななテクニックを知ろうとする意識は大事だと思うけど、
実践なしに本とかに書かれてた「このテクニックはこういうときに使う」を鵜呑みにして、
テクニックを使わない方が見通しが良くなるような簡単な場合にも無理に使おうとするのは
よくないと思うけどなあ。デザインパターンの濫用みたいな感じ。
戻り値で判定はあり得ても例外はあり得ないわ。
誤用としか言いようがない。

451 :デフォルトの名無しさん:2024/03/13(水) 13:02:27.40 ID:q3MDl01V.net
for~else ってなんか直感的じゃない気がするんだけど、なんで「else」なの?

completed
breaked, aborted
finally
みたいな単語なら分かりやすいのに。

452 :デフォルトの名無しさん: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

453 :デフォルトの名無しさん:2024/03/13(水) 15:16:21.22 ID:NVpOWzEq.net
>>450
妄想がはげしい
5chで5行超えたら一旦立ち止まろう
後半句点も復活しているw

454 :デフォルトの名無しさん: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文の一部としてではなく
一つ上位でハンドリングすべき処理なので役割分担が間違ってる

455 :デフォルトの名無しさん:2024/03/14(木) 03:42:52.99 ID:/Z8fZW3i.net
>>453
どの辺が妄想なの?
すぐ5行以上とかのレスに長文乙って返してくる人どの板にもいるけど根拠が示されて若干長くなった文章読めないの?短文でマウントとるだけのレスほどくだらないものはないと思うけどね
句読点があったりなかったりすると何が問題なわけ?
447では意味ありそうなレスしてるのに一方で煽るとは不思議な人だね

456 :デフォルトの名無しさん:2024/03/14(木) 19:42:58.77 ID:4bFX29zW.net
pythonをサーバーでプロジェクトルートを認識させられない

NoModuleNamed"プロジェクトのフォルダー名"になる

herokuなんだけど

457 :デフォルトの名無しさん:2024/03/14(木) 21:13:08.36 ID:xE50NtDY.net
>>450
日本だと4つが一番多いが、外国だと8つも多く、16すらある。

458 :デフォルトの名無しさん:2024/03/15(金) 13:14:40.59 ID:6p0ry24q.net
pygameのlineを使い時計の秒針のようか円を描こうとしたんですがうまく行かない
どこが悪いの???

459 :デフォルトの名無しさん: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()

460 :デフォルトの名無しさん: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()

461 :デフォルトの名無しさん:2024/03/15(金) 14:06:44.19 ID:6p0ry24q.net
うまく行かない→画面外にlineの先端が飛び出す です

462 :デフォルトの名無しさん: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

463 :デフォルトの名無しさん:2024/03/15(金) 15:59:41.53 ID:6p0ry24q.net
>>462
ありがとう
円になりました

464 :デフォルトの名無しさん:2024/03/15(金) 17:26:12.14 ID:8JWNUOHY.net
>>456
なんで?

465 :デフォルトの名無しさん:2024/03/15(金) 17:38:05.39 ID:NWS7XA3x.net
>>463
座標回転は原点からのベクトルにしてから回転して
後で始点座標を加算する
後、縦横の長さが違う時は短い方に合わせないと飛び出す
必要なら1/2、1/4などして長さを調節する
画面サイズを元にスケーリングして長さを求めるのは画面サイズに依存しないやり方

466 :デフォルトの名無しさん: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でも学べばよかった

467 :デフォルトの名無しさん:2024/03/15(金) 17:47:08.11 ID:F3qtk1ON.net
あとgitのdevelopブランチをpushしてたけどherokuはmasterしか見ないらしくそれもハマった

468 :デフォルトの名無しさん: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でインストールできるような構成にした方が楽だよ

469 :デフォルトの名無しさん: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")

470 :デフォルトの名無しさん:2024/03/16(土) 00:23:50.73 ID:tIIuw8RV.net
いやいや

471 :デフォルトの名無しさん: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”

472 :デフォルトの名無しさん:2024/03/16(土) 00:41:49.95 ID:ENgm2ZqF.net
意味を与えたら異なってくるけど
内部処理は同一にみえん?

473 :デフォルトの名無しさん:2024/03/16(土) 03:10:31.74 ID:KKwFKDp9.net
全部gotoやろなあ

474 :デフォルトの名無しさん:2024/03/16(土) 05:06:55.01 ID:aWIocRO6.net
herokuにアップしたらドメインとフォルダーの間のスラッシュが何故か2つになって恐らくそのせいで404とcors error出る
ローカルではちゃんと動くし有り得そうなところは全部見たんだが

もうfastapi、react、herokuのどれのせいなのかわからなくて積んだ

elastic beanstalk に変えてデプロイし直すか.....

475 :デフォルトの名無しさん:2024/03/16(土) 10:02:19.46 ID:eI+Kyosu.net
なんか、ドキュメントとかログとか読まなそうな人だな

476 :デフォルトの名無しさん:2024/03/16(土) 10:47:04.93 ID:h3KSZFE8.net
>>473
ジョークにマジレスしちゃうけどgotoする条件の違いが重要

goto if false
goto if no exception
goto if no break

477 :デフォルトの名無しさん:2024/03/16(土) 12:00:46.66 ID:KKwFKDp9.net
>>476
(なので同一には見えないの意味でした. 補足ありがとう

478 :デフォルトの名無しさん:2024/03/16(土) 13:00:21.70 ID:BNVm3LV8.net
たぶん予約語を増やしたくないからelseを流用したんだろうね
この辺は言語設計のさじ加減だから仕方ない

479 :デフォルトの名無しさん:2024/03/16(土) 13:18:07.52 ID:gBCe/Ijm.net
try-exceptのelseってtryに全部書きたくない人が使うの…?

480 :デフォルトの名無しさん:2024/03/16(土) 14:41:32.39 ID:fX07kGnW.net
こんな混乱が起こる構文なので
使わない方がベター
実装されてる機能が全ていいとは限らない

481 :デフォルトの名無しさん:2024/03/16(土) 15:25:29.24 ID:S+aPEpZd.net
例外が発生するかもしれないけど上のexceptに混ぜたくない処理を書きたい場合とか?

482 :デフォルトの名無しさん:2024/03/16(土) 23:03:57.53 ID:1SZ3hjNN.net
forのelseというのは
forに対するelseではなく
forのループの条件式に対するelse

だから意味は違っても内部処理は同一となる
なのでif-elseをループさせてやるとfor-elseと同じ処理を再現できる
https://ideone.com/2MULxa

483 :デフォルトの名無しさん:2024/03/16(土) 23:25:35.65 ID:HgWB99Ut.net
>>482
なるほどね
言わんとしてることは良くわかったわ

484 :デフォルトの名無しさん:2024/03/18(月) 19:10:03.43 ID:mMZjYpOD.net
ωってPyPyに似てるよね

485 :デフォルトの名無しさん:2024/03/18(月) 22:57:43.88 ID:k+0BFsOa.net
おいなりさんだろ

486 :デフォルトの名無しさん: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を受け取れるようにするにはどうすれば?

487 :デフォルトの名無しさん:2024/03/20(水) 21:12:04.19 ID:GeI9OXvQ.net
two(*one())

488 :デフォルトの名無しさん:2024/03/20(水) 21:27:30.26 ID:g3UAOGQ4.net
>>487
サンクス
できました

489 :デフォルトの名無しさん:2024/03/25(月) 21:04:47.80 ID:ybmcJkp8.net
def myfunc():
__myfunc.initialized = True

こういうのってあり?
1年くらいpython勉強してきて、先日初めて見かけたんだけど
ちょっとおどろいてしまって

490 :デフォルトの名無しさん:2024/03/25(月) 22:22:30.06 ID:JhT+JdiB.net
functionもオブジェクトで__call__が生えてるだけと思えるならあり
ただどんな用法でも見通しが悪ければなし

491 :デフォルトの名無しさん:2024/03/26(火) 01:38:33.45 ID:CAcXk4Yx.net
おどろいてしまうようなやり方はじっくりコードを見ないとわからない振る舞いをするから基本なし

492 :デフォルトの名無しさん:2024/03/26(火) 02:04:23.26 ID:s3c2P37L.net
便利ではあるけどわりと悪用寄りじゃねーかなあ

493 :デフォルトの名無しさん:2024/03/26(火) 04:38:00.60 ID:vQ76deH4.net
"initialized" て何?

494 :デフォルトの名無しさん: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
>>>

495 :デフォルトの名無しさん:2024/03/26(火) 09:32:42.21 ID:VDce1kQ4.net
アンスコはインデントのことやろ

496 :デフォルトの名無しさん:2024/03/26(火) 10:24:26.34 ID:1hPeYZqd.net
www

497 :デフォルトの名無しさん:2024/03/26(火) 10:40:59.11 ID:oEfu3HhX.net


498 :デフォルトの名無しさん:2024/03/26(火) 10:56:16.21 ID:SqtaP4pc.net
便利なことある?
100%無しだと思うが

499 :デフォルトの名無しさん:2024/03/26(火) 11:22:52.88 ID:cN9vnyja.net
気持ちはわかるが………
https://i.imgur.com/osueu8f.jpg

500 :デフォルトの名無しさん:2024/03/26(火) 11:30:55.84 ID:XEFglfYx.net
クラス定義より軽量、外の名前空間を汚さない
ジェネレータもあるしこれでしか書けないってのは思いつかない

501 :デフォルトの名無しさん:2024/03/26(火) 12:34:45.39 ID:rLv5Wa1V.net
template metaprogramming に匹敵する犯罪

502 :デフォルトの名無しさん:2024/03/26(火) 12:38:21.94 ID:HGM8+XQV.net
>>499
それはクロージャかクラスを使うべきケース
状態を外から更新したいならクラスを
更新されたくないならクロージャを使う

副作用じゃなく値を返すのがメインならジェネレータも選択肢の一つ

503 :デフォルトの名無しさん:2024/03/26(火) 13:03:56.77 ID:/DMrazJH.net
これGUI書きのクセっていうか、イベント・バインドの高階関数とかで見るな
簡単なGUI書いてて、クラス化まではしてないときかつ状態が2値のみのとき
ウィジェットまわりに全部押し込んだほうが目線動かなくてメンテしやすいんよ
それより表現が複雑だったら変数はrootに置いたり、クラスに持たせたりするんだけど、これはウィジェット(たとえばボタン)に持たせてるような感じ
initializedとか、btn.locked / del lockedとかだしょ

504 :デフォルトの名無しさん:2024/03/26(火) 15:17:24.89 ID:/6tigVoe.net
pylanceって何?

505 :デフォルトの名無しさん: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したい。どうしたら?

506 :デフォルトの名無しさん:2024/03/30(土) 11:49:14.06 ID:lTb8Ggax.net
python3.1 -m pipでやってみたら
要は使いたいpythonからモジュールでpipを起動する

507 :505:2024/03/31(日) 06:27:21.58 ID:r7c9jkcO.net
>>506
python3.1 はもう無い。

508 :デフォルトの名無しさん:2024/03/31(日) 12:09:50.75 ID:sPPO74qw.net
$ pip list ―path python3.1/site-packages

509 :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
------- -------


510 :デフォルトの名無しさん:2024/03/31(日) 20:01:34.78 ID:k+SRq7RN.net
モダンなGUI作れるっていうからflet触ってるんだけど
もしかしてこれGUIに対するドロップ受け付け機能ない感じ?

511 :デフォルトの名無しさん:2024/04/02(火) 21:32:23.08 ID:tcE9WrX3.net
身体がflutterを受け付けない
pythonでflutterアプリが作れるとか
なんで、なんでそんなことを

512 :デフォルトの名無しさん:2024/04/03(水) 09:07:29.94 ID:gYUDipyH.net
fletはflutterで根本的にwebアプリ用だから外部からの入力はdropzoneないと無理じゃないか

513 :デフォルトの名無しさん:2024/04/09(火) 09:59:41.23 ID:vz2W6XdT.net
>>511
自分はDartを覚えず使わずflutterアプリ作れるってのが良いんじゃね
知らんけどw

514 :デフォルトの名無しさん:2024/04/25(木) 18:36:04.67 ID:et3aNg4p.net
>>510
それないのネックだよなー

515 :デフォルトの名無しさん:2024/04/26(金) 04:15:50.28 ID:irc/xjdb.net
このスレにあった質問かどうか自信がないんだけど・・・
投資系のライブラリ"talib"てあるじゃないですか
これに含まれるCCIの使い方がわからんのです

516 :デフォルトの名無しさん:2024/04/26(金) 06:53:25.16 ID:ZBCRkORu.net
>>515
ChatGPTに聞いてみなよ
もうプログラミングは人に聞いたりドキュメントを読む時代じゃない

517 :デフォルトの名無しさん:2024/04/26(金) 07:20:49.79 ID:oC+HoZzz.net
やってみたらわかるけどマイナーなライブラリの使い方聞いてもデタラメ答えるだけ

518 :デフォルトの名無しさん:2024/04/26(金) 08:47:57.09 ID:irc/xjdb.net
>>516
無料版3.5で聞いてみた
突然英語で喋りだして、思ってたのと違うコードを紹介してきたので諦めたw

519 :デフォルトの名無しさん:2024/04/26(金) 08:50:24.75 ID:GzSmFxiN.net
ChatGPTの野郎は知ったか振りばかりして「知らない」と言うことを知らないからな

520 :デフォルトの名無しさん:2024/04/26(金) 08:59:13.25 ID:svyb6xY8.net
>>516 みたいにプログラミングやってるくせにChatGPTの実力や使いどころを知らないのまじ無能

521 :デフォルトの名無しさん:2024/04/26(金) 18:16:07.03 ID:AmdOltG1.net
いけず石の説明させたら架空の鉱物の説明しだすからな

522 :デフォルトの名無しさん: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を計算しています。実際の取引データを使用する際には、それに応じてデータを入力してください。

523 :デフォルトの名無しさん:2024/04/26(金) 20:15:58.39 ID:SscvQYbj.net
ドキュメント読めよ

524 :デフォルトの名無しさん:2024/04/28(日) 21:51:15.65 ID:zlR73q8o.net
スレ立てあらしスクリプト対抗age

525 :デフォルトの名無しさん:2024/04/29(月) 05:58:27.57 ID:sMTBjD6w.net
ちゃす
質問す

プログラミングのロジックを考える時に使える考え方ありますかね
入力と出力を考えるといいますが、関数の引数が入力、返り値が出力といいますか?

526 :デフォルトの名無しさん:2024/04/29(月) 07:27:54.81 ID:xgq67JZI.net
考えることはうんこを食って食べ物を尻から出すようなことだが
重要なのはコンピューターにとってばうんこも食べ物も変わらないという事だな

527 :デフォルトの名無しさん:2024/04/29(月) 07:55:32.14 ID:Irrt06Ch.net
そうやね
いかに物事を抽象化してシンプルにモデル化するか

528 :デフォルトの名無しさん:2024/04/29(月) 07:57:38.43 ID:sMTBjD6w.net
複雑に考えすぎなんすかね
関数増えてくとわけが分からなくなります

529 :デフォルトの名無しさん:2024/04/29(月) 12:40:37.42 ID:sMTBjD6w.net
材料→材料の処理→結果、というのがプログラムの基本なんすかね

530 :デフォルトの名無しさん:2024/04/29(月) 12:43:56.77 ID:1Ba7WF72.net
何でもそうだけど真似というか模倣から始めるのはどうよ
ギターでもHIDEがカッコいいとか布袋みたいにとか真似するでしょ

デザインパターン本だとか有名なオープンソースのコード見てると何となく癖というか法則みたいなのが分かってくる

531 :デフォルトの名無しさん:2024/04/29(月) 15:01:05.04 ID:36J4bmfl.net
アルフィーの高見沢さんの髪がまだ短めで黒かった頃、メイキングのムービーで作曲する姿が写っていたが、
少し書いては弾いて違うと書き直すのを繰り返す姿を見て、これってオブジェクト指向に通じるんじゃないかと思った。

532 :デフォルトの名無しさん:2024/04/29(月) 15:24:26.44 ID:3QF86HD9.net
途中までスクリプトかと思った
短いときなんてあったのかぁ

533 :デフォルトの名無しさん:2024/04/29(月) 15:43:29.23 ID:yZBAGAQ6.net
>>525
一度に一つのことしかしないように考えるかな
あと一般的なことは考えず今必要なことだけをやる仕様にする

534 :デフォルトの名無しさん:2024/04/29(月) 16:30:19.78 ID:7kmh2Muz.net
>>525
>関数の引数が入力、返り値が出力といいますか?
話の文脈によるんだけど「関数の入出力」が引数と返り値だけを指してる場合もあれば
それ以外の外部状態からの入力や出力なんかを含む場合もある
プログラム設計時に関数の入出力を考える場合は
引数や返り値以外も考えないといけないので広い意味も頭に入れておいたほうがいい

>>529
>材料→材料の処理→結果、というのがプログラムの基本なんすかね
上に書いた広い意味で言うなら
指示と材料が入力で結果(成否等)と加工した材料が出力
これが基本

指示―> 処理 ―>処理結果 
材料―>    ―>加工した材料

535 :デフォルトの名無しさん:2024/04/30(火) 05:58:23.71 ID:7kO3MDXp.net
ありがとう(*´ω`*)、、

536 :デフォルトの名無しさん:2024/04/30(火) 11:47:25.31 ID:7kO3MDXp.net
比較について質問なのですが、数値ペア同士の比較というのはプログラミングでは出来ないのでしょうか?
例えばvector2なら、xとyの値を取り出してそれぞれ比較しますね

537 :デフォルトの名無しさん:2024/04/30(火) 11:58:01.28 ID:7kO3MDXp.net
プログラミング得意な人は頭の中がどんなイメージになっているのだろう
すべて図解になっているんだろうか

538 :デフォルトの名無しさん:2024/04/30(火) 12:17:12.46 ID:e06sRc0C.net
>>536
普通にできるでしょ
(0, 1) > (0, 2) => False
(1, 1) > (0, 2) => True

Tupleの場合は内部的にそれぞれの要素を取り出して比較されてるけどね

539 :デフォルトの名無しさん:2024/04/30(火) 17:47:36.57 ID:bXsIEdjD.net
>>537
境界知能みたいな知能が低い人には無理だよ

540 :デフォルトの名無しさん:2024/04/30(火) 18:05:05.21 ID:l8IWanaC.net
>>537
単に経験豊富なだけだよ
色々やればイメージができるようになる

541 :デフォルトの名無しさん:2024/04/30(火) 18:08:16.92 ID:7kO3MDXp.net
>>538
>>540
どうもっす

542 :デフォルトの名無しさん:2024/04/30(火) 19:36:23.61 ID:yMZhKZIP.net
経験を活かせるかどうかが能力なので
539にもアンカつけてあげて
まじで向いてない人いるから

543 :デフォルトの名無しさん:2024/05/01(水) 00:28:40.04 ID:+iRkaWFb.net
>>537
プログラムの構造を考えるのは文章の構成を考えるのと同じ頭の使い方をする
文章の構成を考えるときに図でイメージしてる人もいればそうでない人もいるように
プログラミングに習熟した人でもプログラムを図でイメージしてるとは限らないしできるとも限らない

544 :デフォルトの名無しさん:2024/05/01(水) 01:16:14.81 ID:Zve8z/ER.net
小学生でもバブルソートは書けるので、知能にデコボコがあっても、どの方向が劣っているのかによるのでは。

545 :デフォルトの名無しさん:2024/05/01(水) 10:19:05.69 ID:HGDms0B9.net
小学生でもプログラミング得意なやつはいるけどバブルソートを書くというのはお手本を模写できたり辞書を引いて目的の項目を調べられたりする程度の話だからプログラミングが出来るかどうかの指標にはならないよ

546 :デフォルトの名無しさん:2024/05/01(水) 13:34:16.61 ID:OSMPRnYB.net
実際のプログラムだとソートする関数は用意されてるから自ら実装する事は無い

ソートはあくまでもアルゴリズムを学ぶ上での教材的な感じ

547 :デフォルトの名無しさん:2024/05/01(水) 14:26:55.02 ID:G90j3Kau.net
??アスペにもわかるように書いてほしい

548 :デフォルトの名無しさん:2024/05/03(金) 00:19:22.63 ID:In48C7dA.net
ゲーム制作板で何年も倉庫番完成させられてない人じゃん
親切な人がいっぱい釣れたね

549 :デフォルトの名無しさん:2024/05/03(金) 01:30:55.10 ID:ZXRxoWBs.net
C#スレにもいたあの馬鹿か?

550 :デフォルトの名無しさん:2024/05/04(土) 12:25:55.56 ID:+MvlSNsp.net
あれ人じゃなくてチャットbotだからスルー推奨だよ。

551 :デフォルトの名無しさん:2024/05/12(日) 12:51:00.18 ID:Z6PeNQRU.net
そういや、ぷよぷよかなにかのヤツどこ行った?
同一人物?

552 :デフォルトの名無しさん:2024/05/15(水) 16:15:32.43 ID:Ui7vW0sT.net
pythonを使って、既存のMicrosoft officeのファイル(.docファイルとか)の中身を調べたり取り出したりする事ってできますか?

553 :デフォルトの名無しさん:2024/05/15(水) 16:58:28.85 ID:OtQbYBA6.net
ああその通りだ

554 :552:2024/05/15(水) 17:55:42.92 ID:Ui7vW0sT.net
出来るみたいです

555 ::2024/05/15(水) 21:59:57.58 ID:QNLWEWL4.net
>>551
脳みそコネコネ、コンパイル。

556 :デフォルトの名無しさん:2024/05/16(木) 20:50:07.99 ID:+TVk7IrH.net
Pythonで処理した画像を連続してwebUIに送って動画にしたいんですけど、ローカルサーバーをスレッドで分けても全然動かないんです。
上手いやり方はあるんでしょうか?

557 :デフォルトの名無しさん:2024/05/16(木) 22:01:41.29 ID:s6fDlAb8.net
まあPythonじゃ無理じゃないかと
君の知る似たようなサービスでPython使ってるの見たことあるかね

558 :デフォルトの名無しさん:2024/05/17(金) 09:13:18.34 ID:n7lyb5r2.net
>>557
そうなの? 単にファイルを httpdにアップロードするのとちゃうの?

559 :デフォルトの名無しさん:2024/05/18(土) 02:42:21.17 ID:Y3svyv5q.net
Image Magick, libvips などで、
連続画像を動画や、gif アニメに変換できないの?

560 :デフォルトの名無しさん:2024/05/18(土) 05:29:10.65 ID:+oV5woho.net
静的にファイル変換じゃなく
リアルタイム配信したいんとちゃう

561 :デフォルトの名無しさん:2024/05/18(土) 15:28:18.14 ID:Nno4tBsF.net
Pythonじゃ無理ってことはないけど、Javascriptで画像を動画のように表示する方法がわからないとPython側をどう実装したらいいかもわからないのでは

562 :デフォルトの名無しさん:2024/05/18(土) 15:48:07.52 ID:cxC1UrsB.net
webUIってお絵かきAIのUIの事を言ってる気がする

563 :デフォルトの名無しさん:2024/05/19(日) 17:51:21.58 ID:MUvRAHvn.net
JavaScriptが嫌でPythonに逃げたのに
Webやるなら結局JavaScriptから逃れられない

564 :デフォルトの名無しさん:2024/05/19(日) 18:18:51.96 ID:b9wC29CZ.net
>>563
Webやらなきゃいいじゃん
覚えることが大杉て向かない人にはとことん向かない

565 :デフォルトの名無しさん:2024/05/19(日) 18:29:56.96 ID:R0BEkzb0.net
>>563
こういう馬鹿な人っているよね
結局、何がどうなっているのかわからん人なのだろう

566 :デフォルトの名無しさん:2024/05/19(日) 18:52:17.68 ID:EZ0vB2tL.net
>>563
たまたまホットな言語になっているのでpython腐るのはとうぶん先
気合でJavaScriptしてこい

567 :デフォルトの名無しさん:2024/05/19(日) 19:18:30.80 ID:1dVUvEdV.net
javascriptの何が難しいのかわからん

568 ::2024/05/19(日) 20:04:35.82 ID:j/RUVR5T.net
>>558
順番を制御する必要がある。

569 ::2024/05/19(日) 20:07:09.84 ID:j/RUVR5T.net
Pythonは構文解析エンジンの作りが下手だったせいで、コンテナなどは変な構文で対処するはめになった。

作った本人は当時のパソコンの性能では難しかったと言い訳するだろうが。

570 :デフォルトの名無しさん:2024/05/19(日) 21:12:03.22 ID:b9wC29CZ.net
>>567
Pythonは簡単に覚えられたけどJavaScriptはダメだった
何の特徴もないので頭に入らない

571 :デフォルトの名無しさん:2024/05/19(日) 21:25:11.71 ID:ThBHY2c/.net
JavaScriptはブラウザ内で多数のイベントが非同期に発生しつつ並行して動く必要があるための仕様とランタイムを備えた言語だからね
そのような実用環境ではPythonだと色々と無理があるんよ
JavaScriptを習得したほうが良いでしょう

572 :デフォルトの名無しさん:2024/05/19(日) 21:43:45.99 ID:n4puDrtS.net
生のJSじゃなくてもtypescriptとかもあるけど?

573 :デフォルトの名無しさん:2024/05/19(日) 21:51:27.11 ID:1dVUvEdV.net
>>570
特徴がないとは?
Webフロントで100%使われてるんだが
つまり理解できていないだけだろ

574 :デフォルトの名無しさん:2024/05/19(日) 22:58:44.91 ID:dpzcJCd+.net
>>571
> 非同期に発生
あれ、非同期だっけ?

575 :デフォルトの名無しさん:2024/05/19(日) 23:22:52.01 ID:FYT65XYX.net
Webのイベントの非同期ってのは言語仕様とほとんど関係ないと思うがな

576 :デフォルトの名無しさん:2024/05/20(月) 00:04:59.52 ID:XCNT6iUc.net
非同期・並行に動くのがJavaScriptの特徴だよ

577 :デフォルトの名無しさん:2024/05/20(月) 00:07:58.83 ID:XCNT6iUc.net
JSは継続渡しによって記述コードは継続できるけど
制御は一旦ランタイムに移って別のコードの処理が並行して動く

578 :デフォルトの名無しさん:2024/05/20(月) 00:08:40.12 ID:XCNT6iUc.net
そして再び非同期に元の継続コードに制御が戻ってくるんだよ

579 :デフォルトの名無しさん:2024/05/20(月) 04:36:21.10 ID:IVctLQWM.net
JSの難しさというかゴチャゴチャは複数人で開発すると顕著化する

580 :デフォルトの名無しさん:2024/05/20(月) 04:37:36.57 ID:IVctLQWM.net
>>576
違うぞ
勘違いしてる様だけど並行では無い

581 :デフォルトの名無しさん:2024/05/20(月) 04:57:24.87 ID:XCNT6iUc.net
>>580
(workerを使わない昔からの)JavaScriptはシングルスレッドで並行(concurrent)に動作します
ちなみに(後に導入された)workerを用いるとマルチスレッドで並列(parallel)にも動作します

582 :デフォルトの名無しさん:2024/05/20(月) 07:48:45.56 ID:lmso/U+6.net
async/await が導入されてからは並行処理と言えるかもしれんが python にも導入されてるから
JS の特徴というほどのものでもないな。

583 :デフォルトの名無しさん:2024/05/20(月) 08:56:05.71 ID:oBw42F9L.net
PythonはOSがプラットフォームだけど
JSはブラウザとnodejsでだいぶ違うし
varとconst/let混ざったコードなんかに遭遇すると頭おかしくなる

584 :デフォルトの名無しさん:2024/05/20(月) 09:16:38.85 ID:Rnmyv+xl.net
メインスレッドを止めても、worker側でイベント受け取れる?

585 :デフォルトの名無しさん:2024/05/26(日) 00:09:03.41 ID:J6Dn8duN.net
誘導されてきました

digits1="0123456789"
print(digits1[2:4])

これで文字列"23"が返ってくるんだが"234"にならない理由ががわからん
インデックスが0から始まってるからインデックス2番目からインデックス4番目までの文字を表示するんじゃないの?

586 :デフォルトの名無しさん:2024/05/26(日) 00:45:27.61 ID:EuHdBjWc.net
>>585
https://docs.python.org/ja/3/tutorial/introduction.html#lists
ここに載ってる
理解できなくてもいいからまずチュートリアルは一通り読んでほしい

587 :デフォルトの名無しさん:2024/05/26(日) 00:48:13.48 ID:jZlLPC0/.net
>>585
2<=i<4だと考えるといいよ
そうした方がいい理屈は以下の通り
リストlをiで分けるとき、以下が成り立っていると見た目でスッキリして嬉しい
l[:i] + l[i:] == l
まあ思想の問題なんで上記のものがスッキリと感じるか感じないかは人による

588 :デフォルトの名無しさん:2024/05/26(日) 00:48:19.96 ID:EuHdBjWc.net
すまん
アンカーまちがえてるけど同じページのすこし手前に書いてる

589 :デフォルトの名無しさん:2024/05/26(日) 05:11:49.24 ID:5Cxfl8yi.net
Google colabでクロムドライバーをどこに置けばいいんですか?

590 :デフォルトの名無しさん: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( ";" )

591 :デフォルトの名無しさん:2024/05/27(月) 20:12:43.14 ID:Hlp/8xqP.net
>>590
有難うございます、試してみます

592 :デフォルトの名無しさん:2024/05/29(水) 21:20:05.17 ID:SBPtCrlE.net
ある程度自由にデザインできて作りやすいGUIのライブラリって何がありますか?CustomTKinter?
でもこれでもちょっとわかりにくいけど、我慢してコードの書き方を覚えるしかない?

593 :デフォルトの名無しさん:2024/05/29(水) 21:22:50.04 ID:SBPtCrlE.net
あ、でもそんなに難しく無いですね
Custom TKinterくらいがちょうど良い
これでいきます

594 :デフォルトの名無しさん:2024/05/29(水) 23:25:41.17 ID:SBPtCrlE.net
やっぱりPySimpeGUIにした
わかりやすいので

595 :デフォルトの名無しさん:2024/05/31(金) 08:16:19.69 ID:zAziLKIc.net
>>586
読みましたわかんないです

596 :デフォルトの名無しさん:2024/05/31(金) 08:19:43.69 ID:5P0I5zKD.net
abcde
という文字の一部を選択するときに
0a1b2c3d4e5
というように0から数える言語じゃなかったか?python3

597 :デフォルトの名無しさん:2024/05/31(金) 09:16:40.63 ID:Rfc8mm4q.net
>>596
唐突になに?

598 :デフォルトの名無しさん:2024/05/31(金) 10:27:03.30 ID:9rLTVgTT.net
とうぜん585の答えの理由だよ
いいかげんに判れよ
数え方が間違っているんだよ

599 :デフォルトの名無しさん:2024/05/31(金) 10:57:52.41 ID:TyV+wAs5.net
>>585の話ならmylist[start: stop]のstopで指定した箇所が
スライスに含まれるのか含まれないかの話だから
0から数えるかどうかは関係ない

だから>>597の感想も頷ける

600 :デフォルトの名無しさん:2024/05/31(金) 11:17:11.06 ID:xqNBz4cX.net
決めの話でもあるけど半開区間のが書くコードが素直になる

601 :デフォルトの名無しさん:2024/05/31(金) 12:39:47.52 ID:9rLTVgTT.net
スタートオフセットと終了オフセットね
list[x]のxと異なる

602 :デフォルトの名無しさん:2024/05/31(金) 13:52:28.81 ID:ixAaAqDb.net
そうそう、>>596の言うように、スライスで指定する値は各要素そのものの位置ではなくて、要素と要素の間の位置なんだよね。
0●1●2●3… (●は要素)

これが理解できると、マイナス指定で逆から取り出したりとかもすぐに分かるようになるかと。

603 :デフォルトの名無しさん:2024/05/31(金) 15:02:02.41 ID:z4TXzonv.net
ぶっちゃけそれは違う

そういう説明じゃないと理解できない人向けの説明としては意味があると思うけどいつまでも引きずるものじゃない

604 :デフォルトの名無しさん:2024/05/31(金) 15:08:57.01 ID:MpCbGIxa.net
べつに問題ないと思うがなあ。
グラフィックスで言うピクセル座標に対するグリッド座標系の話と同形。

605 :デフォルトの名無しさん:2024/05/31(金) 15:32:41.83 ID:xqNBz4cX.net
ここで別の概念を導入しないと習得できないくらいじゃ先が思いやられるってだけで
問題の有無はこれからどこまで取り組むかによる

606 :デフォルトの名無しさん:2024/05/31(金) 16:00:35.87 ID:E++g7v66.net
要素の数はわかりやすいよな
引き算するだけでいいし

607 :デフォルトの名無しさん:2024/06/01(土) 16:32:50.72 ID:2v+0cLbq.net
デザインパターンでオブジェクト指向を理解し始めたら、オブジェクト指向が廃れてしまった(´・ω・`)

608 :デフォルトの名無しさん:2024/06/01(土) 17:32:13.74 ID:C+czcv7n.net
GUI作成ツールって無いの?
グラフィックアプリみたいにウィジェットを配置したら、コードを書き出してくれるツール

609 :デフォルトの名無しさん:2024/06/01(土) 17:33:08.15 ID:wmmovTy+.net
Qt

610 :デフォルトの名無しさん:2024/06/01(土) 19:46:57.51 ID:etHHxabq.net
wx

611 :デフォルトの名無しさん:2024/06/01(土) 20:25:37.00 ID:Zt7v+i4d.net
Qt Quickもぽとぺたできるけど人少なすぎてな…

612 :デフォルトの名無しさん: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はインストールされています。
しかし、このエラーが出ます。

どうすればいいでしょうか?

613 :デフォルトの名無しさん:2024/06/03(月) 21:50:52.22 ID:3hY3UrlC.net
>>612
馬鹿は何で勝手にエラーを無視するの?
馬鹿だから?

614 :デフォルトの名無しさん:2024/06/03(月) 23:56:17.44 ID:zK4G03Sv.net
>パッケージの抽出に失敗しました

エラーなのに、何でそこで処理を止めないの?

615 :デフォルトの名無しさん:2024/06/04(火) 01:31:12.37 ID:nKdfCONb.net
>>614
そりゃ止めるべきですが、そこでインストールが終わってしまいます
その後どうするんでしょうか

616 :デフォルトの名無しさん:2024/06/04(火) 01:47:07.24 ID:gWxOd/CS.net
エラーの原因を調べて対処する

or

「Failed to extract packages」みたいな原因も対処方法も分からない
クソみたいなエラーメッセージしか出せないソフトウェアは今すぐ捨てる

617 :デフォルトの名無しさん:2024/06/04(火) 03:02:29.50 ID:hII/eoCO.net
>>615
原因はいくつかあるけど、これをクリアしてもお前みたいな奴は結局無理だよ

618 :デフォルトの名無しさん:2024/06/04(火) 03:21:34.42 ID:hR2Ko9Dv.net
あ、人を轢いちゃった
でも時間に間に合わないからこのまま行こうっと
何か車の調子が変だな?がちゃがちゃ
あ、また轢いちゃった
まあいいや、このまま行かないと間に合わない
あっ、信号が赤だけど停まれないからえいっ
あー、ぶつけられた

すみません、時間に間に合わせるにはどうしたら良いですか?


こんな感じか?

619 :デフォルトの名無しさん:2024/06/04(火) 08:17:16.38 ID:f1zDzjkS.net
きよし「二人寝てますよ」
やすし「轢いとるやないか!」

620 :デフォルトの名無しさん:2024/06/04(火) 11:44:28.70 ID:nKdfCONb.net
>>612
こちらどうでしょうか?知っている人教えて下さい

621 :デフォルトの名無しさん:2024/06/04(火) 11:56:23.33 ID:C1T0aGVu.net
>>620
>>616

622 :デフォルトの名無しさん:2024/06/04(火) 12:15:01.67 ID:f1zDzjkS.net
>>620
類似事象があるようなので、「いいね」の付けられたレスの解法を試行するのはどうだろう。
https://community.anaconda.cloud/t/cant-install-failed-to-extract-packages-error/62687

623 :デフォルトの名無しさん: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まで

624 :デフォルトの名無しさん:2024/06/04(火) 16:49:21.73 ID:tR+BuZi1.net
ここは超初心者用ではあるけど、境界知能者用のスレではないよ

625 :デフォルトの名無しさん:2024/06/04(火) 23:07:28.09 ID:k5yNkVnV.net
プログラマー板がまともだったことはない

626 :デフォルトの名無しさん:2024/06/05(水) 23:47:06.04 ID:ESv2AI1d.net
>>622-623
ありがとうございます
>>624
>>973
役に立たん荒らしのゴミが相手にされなかったから発狂してて草w死んどけよカスw

627 :デフォルトの名無しさん:2024/06/05(水) 23:48:44.31 ID:SEG9AGVJ.net
pkg install python した方がよっぽど簡単なんじゃねw

628 :デフォルトの名無しさん:2024/06/06(木) 10:38:37.99 ID:1RUNBtFi.net
anaconda、バージョン違いの小さな差異は本体だけでpyでバージョンごとに
個別管理できるようになったし有償化した(割に機能が見合っていない)ので
使い続ける意味あんまなくなったな。
ウチの会社でももう使わないように通達されてる。

629 :デフォルトの名無しさん:2024/06/06(木) 10:49:12.08 ID:qz5pj6nB.net
またanacondaの話になるならanaconda専用スレ立てれば良い

630 :デフォルトの名無しさん:2024/06/06(木) 17:55:27.15 ID:+f7ZeVqk.net
pipxが安全なのはわかるが使いにくいな
pipxは見ずにpoetryだけ使えばいいのか

631 :デフォルトの名無しさん: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

632 :デフォルトの名無しさん:2024/06/07(金) 06:04:01.45 ID:+I6YMw89.net
あれだけ煽っておいてよく同じ質問を同じ板でしたなw

633 :デフォルトの名無しさん:2024/06/07(金) 12:09:55.41 ID:dEUVRqD7.net
pythonのパッケージマネージャーはいくつ出れば気が済むのか(´・ω・`)

634 :デフォルトの名無しさん:2024/06/07(金) 12:34:41.54 ID:q6BY+Kco.net
幾つのパッケージマネージャが出れば、君は Pythonをまともな言語と呼ぶのか。
友よ、その答は風に吹かれている。

635 :デフォルトの名無しさん: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のキーでも同様なことをしたいです

なにかよい対応方法はありますか

636 :デフォルトの名無しさん: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
にならない理由は?

637 :デフォルトの名無しさん:2024/06/07(金) 15:25:32.07 ID:U/LNotLd.net
いっぱいあるXPath相当がつかえるモジュールでもつかえば?
YAML用じゃなくてもDict向けのでもいい

638 :デフォルトの名無しさん:2024/06/07(金) 16:31:15.75 ID:Z4LBLF5E.net
Python はvenv、Ruby はrbenv、Node.js はnvm など、
各言語で異なるバージョンマネージャーを使う香具師は素人。
すべて使い方が異なるだろ

プロは少なくとも数言語を使うから、
多言語バージョンマネージャーで使い方を統一する

Linux のローカル開発なら、Docker を使うのが簡単だが、
日本人が作った、多言語バージョンマネージャーのanyenv で、rbenv, nodenv も使える。
pyenv も同様。
asdf でも、多言語の好みのバージョンを入れられる

639 :デフォルトの名無しさん:2024/06/07(金) 17:35:37.77 ID:wW+zlW8A.net
>>635
pyyamlとboltonsのresearchを使う
後者は再帰的な処理を自作してもいい(dictとlistで場合分け)

640 :デフォルトの名無しさん:2024/06/08(土) 00:52:57.64 ID:TvmcjMCs.net
>>633
pythonの破綻が見えてきてると俺は思う
perlもcpanが腐って終わった

641 :デフォルトの名無しさん:2024/06/08(土) 00:54:05.76 ID:TvmcjMCs.net
dockerは無駄多すぎだろ
さすがに

642 :デフォルトの名無しさん:2024/06/08(土) 12:49:56.73 ID:JJO/Gn8n.net
dockerがベスト
vscodeのdevcontainerこそ人類がたどり着いた最高地点

643 :デフォルトの名無しさん:2024/06/08(土) 14:04:39.39 ID:pZ+rs27B.net
俺もvscode devcontainerの組み合わせが良い気がする(´・ω・`)

644 :デフォルトの名無しさん:2024/06/08(土) 14:22:11.33 ID:3whGHUAW.net
みんなそんなdockerつかうのね

645 :デフォルトの名無しさん:2024/06/08(土) 14:41:09.17 ID:E87q1Rk2.net
デプロイまで考えるとコンテナにしとくのがシンプル

646 :デフォルトの名無しさん:2024/06/08(土) 14:46:38.50 ID:dTYjDoY8.net
逆にDocker使ってない人見ると何で?って思うぐらいだよね

647 :デフォルトの名無しさん:2024/06/08(土) 15:29:59.02 ID:Dxs/ulLi.net
自分でコード書いてる時間が一番幸せなんじゃ

648 :デフォルトの名無しさん:2024/06/08(土) 17:55:04.64 ID:Hlb2wDxo.net
>>644
といいかまともな開発してたらもう使うわないと環境が破綻する

649 :デフォルトの名無しさん:2024/06/08(土) 21:01:34.24 ID:D2c2x+th.net
そんなもんデプロイ先の環境によるだろ

650 :デフォルトの名無しさん: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
をすればいいのはわかってるんですが、出来るだけコードを簡略化させたいのと、そもそも何故こんな結果になってしまうのかを出来れば知りたい、です

651 :デフォルトの名無しさん:2024/06/08(土) 23:59:19.96 ID:gE4A0CAK.net
ごめん計算結果のとこは0.899999...の間違いです

652 :デフォルトの名無しさん:2024/06/09(日) 00:42:23.58 ID:DuD3W8cN.net
ttps://docs.python.org/ja/3/tutorial/floatingpoint.html

653 :デフォルトの名無しさん:2024/06/09(日) 01:03:55.23 ID:KXbUABQj.net
デデキントの切断という話でなくて単純に整数n,mによる
n/mをサポートする型がデフォルトではないから
そういう有理数正確に扱える↓を使え
fractions -> Rational numbers

654 :デフォルトの名無しさん:2024/06/09(日) 01:19:56.30 ID:KXbUABQj.net
不動点少数は高速でメモリ消費が少ないのでpythonのデフォルト型には似合ってるよ
でももし、こうした計算が頻回あるいは重要に行なわれるなら
デフォルトで有理数をサポートした言語 common_lisp,R,wolfram等が良いだろう
また無理数も正確に扱いたいならwolframを薦めとく。これはsin(2pi)=0を返す珍しい言語だ

655 :デフォルトの名無しさん:2024/06/09(日) 06:20:23.00 ID:zJwQQmGc.net
サンクス
言語仕様なら仕方ないか
仮想通貨の自動売買用にpythonを始めたんだけど、今のところ他の言語に切り替える考えはないっす
あと調べたらdecimalってモジュールもあって、これを使ってもスッキリ書けそうね

656 :デフォルトの名無しさん:2024/06/09(日) 09:38:02.01 ID:XLDZv0sl.net
浮動小数点数は言語仕様というと違和感があるな
どの言語でもほぼ同じ問題出るだろうし

657 :デフォルトの名無しさん:2024/06/09(日) 09:39:22.17 ID:XLDZv0sl.net
>是正させるためには
>round(3 * 0.3 *10) / 10
>をすればいいのはわかってるんですが

こんなことしたらダメでしょ

658 :デフォルトの名無しさん:2024/06/09(日) 10:37:28.45 ID:0/tKVw6D.net
Decimalは使いづらいんだよね
Decimal('3') * Decimal('0.3')とかいちいちやってられん

659 :デフォルトの名無しさん:2024/06/09(日) 11:41:31.33 ID:lrgfA1Gl.net
継承と合成どちらを使うべきかと基準がよくわからんなぁ(´・ω・`)

660 :デフォルトの名無しさん: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')

661 :デフォルトの名無しさん:2024/06/10(月) 15:55:09.93 ID:YXHAsqQy.net
>>> Decimal(3) * Decimal(3/10)
Decimal('0.8999999999999999666933092612')
だっさ

662 :デフォルトの名無しさん:2024/06/10(月) 16:09:43.37 ID:17x/k5Bx.net
まじか decimal だらしねーな
お手本
[1]> (* 3 (/ 3 10))
9/10

663 :デフォルトの名無しさん: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')
エスパーしない方針だから

664 :デフォルトの名無しさん:2024/06/10(月) 21:30:34.55 ID:RgnmhcQ5.net
>>661
クソだっさwww

665 :デフォルトの名無しさん:2024/06/11(火) 10:00:28.46 ID:ufFRRQKE.net
↓俺の考えた最強のスマートな書式を語れ

666 :デフォルトの名無しさん:2024/06/11(火) 11:06:34.00 ID:GrH0S5VC.net
>>> Decimal('3.0')
だっさpgr

667 :デフォルトの名無しさん:2024/06/11(火) 11:19:18.72 ID:GtLbEh/G.net
perlの2番煎じにはなるが import XXX で オーバーライドしてくれればいいね

668 :デフォルトの名無しさん:2024/06/11(火) 20:03:54.96 ID:NWbfM0Iu.net
C++プログラマーだが、
エディタは何使えばええの?

Visual Studioは一応動くが…

669 :デフォルトの名無しさん:2024/06/11(火) 20:27:59.97 ID:OZZ7Wa3f.net
汎用でつかえるのはPyCharmかVSCodeかな
用途とマッチするならJupyter/Colabもいける

670 :668:2024/06/12(水) 08:58:44.17 ID:j9iMATnj.net
>>669
一番高機能なのはVS Codeかね?
Colabが本格開発に無理なので、探してたところ。

671 :デフォルトの名無しさん:2024/06/13(木) 07:44:44.26 ID:W4hE6ovf.net
環境を整え無くてもいいPyCharmが楽だな

672 :デフォルトの名無しさん:2024/06/13(木) 13:05:54.68 ID:vNUeXKFR.net
会社の糞PCだとPyCharmが重いんだわ

673 :デフォルトの名無しさん:2024/06/13(木) 13:21:14.57 ID:Uc7cK+cC.net
パイチャ!

674 :デフォルトの名無しさん:2024/06/17(月) 12:06:22.09 ID:2+GH8Qi6.net
モジュールAのMainクラスがモジュールBに書いたSubクラスのインスタンスを生成する
型ヒントのためにAはBの、BはAの参照するから相互参照になっちゃうんだけど
typing typechecking使えば回避できるとして

これって根本的にどう作って相互参照回避すべきなんだ?

675 :デフォルトの名無しさん:2024/06/17(月) 12:17:35.59 ID:a7DQgjMw.net
シチュエーションが謎で理解できてないけど
インターフェースとして上位クラスをつくる

676 :デフォルトの名無しさん:2024/06/17(月) 12:44:35.82 ID:laKFnUpc.net
循環しちゃうのは速度落ちてメモリ消費してしまうけど記憶しといたのと照し合わせる手法がある

677 :デフォルトの名無しさん:2024/06/17(月) 12:50:19.30 ID:Me30jdtI.net
>>674
その状況だとBはAをインポートする必要いやろ

よくあるのはtyping用のスタブモジュールを作る方法

678 :デフォルトの名無しさん:2024/06/17(月) 14:24:03.32 ID:KAevd3qc.net
>>677
A.py App()
B.py Win()

winがコンストラクタでsuper().__init__(app.root)するとき
App渡せないとroot見えないって言われてしまう

679 :デフォルトの名無しさん: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にも依存しない形になる

680 :デフォルトの名無しさん:2024/06/18(火) 23:47:26.99 ID:l8Y5coIJ.net
>>679
仕様上サブがメインのいくつかに依存するから丸ごと渡してたけど
rootと、必要な位存箇所だけ渡すようにすればいいのね

681 :デフォルトの名無しさん:2024/06/19(水) 07:39:14.75 ID:Ml7xOhwE.net
__init__.py 描けば良いのに

682 :デフォルトの名無しさん:2024/06/19(水) 08:41:26.42 ID:oNcSZ2Oe.net
C言語系は数年やっていてpythonのお勉強してるので質問させてくれ

@propertyを使用してgetter/setterを作れるのが分かりました
このプロパティをprotectedにするにはどうしたらいいですか?

683 :デフォルトの名無しさん:2024/06/19(水) 09:10:58.03 ID:Of90IDaN.net
>>682
この辺の話かな?
ttps://note.com/yucco72/n/nfc5ba5321567

684 :デフォルトの名無しさん:2024/06/19(水) 10:07:39.70 ID:Ml7xOhwE.net
>>683
そいつ馬鹿やな
痒い所に手が届いてる好例なのに

685 :デフォルトの名無しさん:2024/06/19(水) 10:48:00.65 ID:EzJYrWWw.net
>>680
サブがメインに依存するという仕様がよろしくないんだよ
依存性の方向を一方通行にするというのがモジュール設計の大原則

686 :デフォルトの名無しさん:2024/06/19(水) 11:37:31.50 ID:ANMSl1mg.net
>>685
そうはいってもどんな場合でも回避できるわけじゃないでしょ
うまく切り出せば回避できるかもしれないけど、見通しが悪く不自然になる場合があると思う
今自分が困ってるのは先生と生徒の関係で、先生は生徒を何人か選ぶのだけど、先生の事情もあるし、生徒のスケジュールもあるしで、
先生が生徒を選んだ後に、選ばれた生徒に先生のスケジュールはこなせるか?を確認してもらってるんだけど
かなり先生と生徒が密結合なのが避けられなくてインタフェースに切り出すと見通しが悪くなりそうなんだよね
こういう場合はどうすればいいのかな

687 :デフォルトの名無しさん:2024/06/19(水) 19:41:52.46 ID:E1qEKZbV.net
>>685
元の質問者だけど
今回はメインGUIとサブGUIでそれぞれ独立させて、メインGUIからサブGUIを見るだけ に作り直しました

ところで__init__.pyを書くとはなんですか?

688 :デフォルトの名無しさん:2024/06/19(水) 22:24:53.92 ID:jr8KvPbD.net
ctypesで構造体宣言するときに、以下のようにc側が不完全型の配列定義であった場合は、どのように宣言すればよいでしょうか。

typedef struct aa
{
uint32 eListType;
uint16 wRes;
uint16 wOdList[];
}


class aa(Structure):
_fields_ = [("eListType",c_uint32),
("wRes",c_uint16),
("wOdList",???)
]

689 :デフォルトの名無しさん:2024/06/19(水) 22:42:47.22 ID:0e7E5JVP.net
>>686
>先生が生徒を選んだ後に、選ばれた生徒に先生のスケジュールはこなせるか?を確認してもらってる
これもapp.rootのやつと同じで生徒が先生に直接依存する必要なくない?
先生、生徒、コース/クラス、受講、のよくあるモデル
参照じゃなくidで受け渡すことも考えるといいよ

690 :デフォルトの名無しさん:2024/06/20(木) 08:09:05.13 ID:hChVJ2JT.net
>>687
それってpipでインストールできる?

182 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver.24052200