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 ###
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でインストールできるような構成にした方が楽だよ