【まず1嫁】くだすれPython(超初心者用) その59
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公式◇ http://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 ###
70 :デフォルトの名無しさん :2023/08/06(日) 09:00:08.26 ID:3Gfiav7J.net >>69 村のルールに従わない住人が村八分にされるのと同じで PyhtonはPEPを信条に運営されているから PEPに従わないヤツを排除する動きがあるのは当然 それを踏まえてどう行動するかは君次第
71 :デフォルトの名無しさん :2023/08/06(日) 09:14:38.42 ID:8NkqV1kX.net 一緒に仕事したくないという評価になるね
72 :デフォルトの名無しさん :2023/08/06(日) 09:28:21.16 ID:ES7Kp55N.net >>67 まずクラス変数とインスタンス変数とローカル変数とグローバル変数の スコープの区別ついてないんじゃないか?
73 :デフォルトの名無しさん :2023/08/06(日) 09:33:35.30 ID:xJ7XeiL9.net ああだからRustには原理主義者が多いのか
74 :デフォルトの名無しさん :2023/08/06(日) 10:22:46.43 ID:Z6X8w1Qb.net ルールがないと混沌化するしイザコザが発生するから たしかに原理主義的だけど公式で推すのが平和的でスマート
75 :デフォルトの名無しさん :2023/08/06(日) 12:09:14.32 ID:FBMr5AjE.net >>73 Rustは自由だよ 例えばある企業があるいはあるプロジェクトが各々の独自のスタイルガイドを定めて用いてもよいとなっている 一方でスタイルガイドについて定めのない一般的な場合はRust公式のrustfmtの整形出力フォーマットに従う 標準のスタイルガイドが定まっているプログラミング言語は無用な論争や混乱もなく優れているよ
76 :デフォルトの名無しさん :2023/08/06(日) 12:51:31.59 ID:h1JbhEdM.net クソみたいなルールを押しつけてくるようになるまでは役に立つよね
77 :デフォルトの名無しさん :2023/08/06(日) 14:22:46.13 ID:Aw/BJwB+.net 自由とかギークを何よりも重視する従来のOSS的価値観から見れば異端 プログラミングそのものが好きなのか、プログラミングはただの道具なのか 価値観の違い
78 :デフォルトの名無しさん :2023/08/06(日) 16:31:41.34 ID:UCqPwJaW.net 条件文とかのコロン無くしてくれ
79 :デフォルトの名無しさん :2023/08/06(日) 20:24:40.81 ID:A4BaWyM2.net >>68 サンクス 動いたw
80 :デフォルトの名無しさん :2023/08/08(火) 22:18:44.51 ID:7qf12Zez.net pythonの仮想環境って何で仮想環境って名前にしたの? 単にパス通したりして工夫してるだけで既存システムはそのまま使ってるだけなのに 仮想化って大げさだと思うけど このネーミングに反対する意見って出なかったの?
81 :デフォルトの名無しさん :2023/08/09(水) 08:07:56.12 ID:aG7casYO.net >>80 それは、virtualなんちゃらの歴史を知らなすぎかなあ。 hardware virtualizationだけがvirtualなんちゃらを名乗っていいわけじゃないから。
82 :デフォルトの名無しさん :2023/08/09(水) 09:22:03.38 ID:GQHrrnYT.net >>80 一つのマシンで複数の環境を切り替えて使える場合、各々の環境は仮想的であると言える 何もおかしなところはない
83 :デフォルトの名無しさん :2023/08/09(水) 11:48:11.84 ID:msOTygD8.net 単に実環境を切り替えてるだけなら仮想的ではないわな 一部は共有してるけどあたかも独立した環境であるかのように扱える仕組みでも有れば仮想的と言える(Python自体は共有してるけど独立した環境であるかのようには扱えない) まぁ文句言っても仕方ないのでよくあるPython独特の用語の一つだと思って受け入れるしかない
84 :デフォルトの名無しさん :2023/08/09(水) 16:19:24.60 ID:coMLMuQp.net >>80 jail とか vm とか色々なアプローチがあるな
85 :デフォルトの名無しさん :2023/08/09(水) 17:38:23.32 ID:ZMLVZrF/.net 環境変数によって環境を変えて動作を変えることは 単なる環境であって仮想環境たる要素が何もない話と同じかな
86 :デフォルトの名無しさん :2023/08/09(水) 18:33:59.91 ID:3n0Peewm.net 詭弁に近いけどPythonのみの隔離環境とみると venvもchrootもDockerも同種にみえん? 元になったvirtualenvのサイトには virtualenv is a tool to create isolated Python environments. と書いてるし軽いノリで付けた言葉が残ってるだけにもみえる
87 :デフォルトの名無しさん :2023/08/09(水) 23:14:32.90 ID:aG7casYO.net 仮想メモリとかだって一種の隔離環境なわけだしね。具体的にどんな要件を満たしてたら仮想で、満たしてなかったら仮想じゃないってものじゃない気がするけどな。 他の言語だって仮想環境って言ったりするでしょ。
88 :デフォルトの名無しさん :2023/08/09(水) 23:34:07.10 ID:ZMLVZrF/.net 例えば 実メモリアドレスに対して仮想メモリアドレス 実ディレクトリパスに対して仮想ディレクトリパス そういう実と仮想がないならば 今回の場合は仮想環境ではなく単なる環境切り替えが正解かも
89 :デフォルトの名無しさん :2023/08/09(水) 23:38:38.24 ID:hnMBPj/l.net 単に「気分はバーチャル」だっただけみたいだな
90 :デフォルトの名無しさん :2023/08/09(水) 23:40:22.87 ID:RCE4XY7X.net あなたの拘りはわかったので自分の中で勝手に呼び分けといてください
91 :デフォルトの名無しさん :2023/08/09(水) 23:52:21.35 ID:6hLmMtvT.net 白旗を上げたようだな
92 :デフォルトの名無しさん :2023/08/10(木) 00:24:40.89 ID:hoZ6pXSU.net 好きなあの娘とvirtualenv
93 :デフォルトの名無しさん :2023/08/10(木) 04:01:48.37 ID:GpbD/XFE.net context switching
94 :デフォルトの名無しさん :2023/08/10(木) 07:30:05.04 ID:laGIFgwC.net virtualイコール仮想的って不十分なんだよね 実質的にはみたいな意味もあって、公式には離婚してないけど実質離婚状態みたいな場合でもvirtual使ったり 他には実質的には内紛みたいな場合だと、virtual civil warみたいに表現するし、virtual civil war訳すときに仮想的な紛争とか訳したら誤訳になる tPythonのvenvは実行環境ぐらいに捉えてる
95 :デフォルトの名無しさん :2023/08/10(木) 07:31:31.17 ID:laGIFgwC.net tは無視して topコマンドのvirtの話入れようとした痕跡
96 :デフォルトの名無しさん :2023/08/10(木) 08:13:37.00 ID:QCsZIB3p.net メモ帳に書いてろ
97 :デフォルトの名無しさん :2023/08/11(金) 13:00:27.60 ID:oLYpGYcF.net virtual insanity(´・ω・`)
98 :デフォルトの名無しさん :2023/08/11(金) 16:29:22.45 ID:RdYRFZwQ.net >>94 >tPythonのvenvは実行環境ぐらいに捉えてる 「実質的には」はどこに行ったの? 名目的にもvenvはただの実行環境だからvirtualはそぐわないよね?
99 :デフォルトの名無しさん :2023/08/11(金) 16:36:59.39 ID:aKkvsRw0.net >>98 ボーグに同化される人生だとよかったね
100 :デフォルトの名無しさん :2023/08/12(土) 03:53:49.69 ID:k0rCrKbL.net まずvenvが対象にしているのはライブラリ依存関係の環境(==pip)である。 何がvirtualでないenvかを考えるとシステムにインストールしたPythonに紐づくpipかな。 様々な用途の開発で同じグローバルなpipを使うのは問題があるし、Linuxの場合はOSが使ってるから不用意にシステムPythonのpipを使わないほうが良かったりする。 プロジェクトごとに分離した依存関係管理ができるツールの1つとしてvenvがある 独立環境とか分離環境とかがより適切な命名だったのかもしれないけど、業界の慣習的な命名に後からとやかく言ってもしょうがないかもね
101 :デフォルトの名無しさん :2023/08/12(土) 09:49:08.27 ID:sI+BUdl8.net >>100 >業界の慣習的な命名に後からとやかく言ってもしょうがないかもね python業界だけの特殊な慣習だぞ
102 :デフォルトの名無しさん :2023/08/12(土) 09:53:18.81 ID:8hMMeSIO.net グローバルのパッケージマネージャ使っても本来何の問題もない それこそ業界の慣習 依存関係管理の単位がどのパッケージマネージャの実体を使うかに依存してるほうがおかしい
103 :デフォルトの名無しさん :2023/08/12(土) 10:43:20.85 ID:Wv+E7qVe.net パッケージマネージャーの機能不足を別のツールで補ってるだけだからな 他の言語で言うところのプロジェクトと目的は同じ
104 :デフォルトの名無しさん :2023/08/12(土) 18:57:50.81 ID:ghRTbMM+.net venvってpython本体やライブラリをまるっとダウンロードして格納してるって知ってびっくりした。 一見ものすごい無駄に思えるけど、こういう単純なやり方が結局ベストってことだよね? そういうのに耐えられるくらい仕様がシンプルかつスリムだというのも地味にpythonの強みなのかな。 他の言語で同じことやろうとしても簡単にはいかないよね。
105 :デフォルトの名無しさん :2023/08/12(土) 21:40:06.74 ID:xBmGN9uj.net >>104 本体や標準ライブラリはダウンロードしないぞ どこ見てんだ?
106 :デフォルトの名無しさん :2023/08/12(土) 22:16:39.21 ID:OOUfgbQz.net 「悪しき命名は悪しき設計の表れ」だと再認識させてくれる良い事例
107 :デフォルトの名無しさん :2023/08/12(土) 22:17:29.25 ID:ghRTbMM+.net >>105 venvのScriptsにpython.exe含め色々な実行体があるけど、これって本体じゃないのか。 たしかにdll類がどこにも見当たらない。dllは本体インストール先のやつを使うのかな? てことはこのpython.exeは多田野ラッパー?
108 :デフォルトの名無しさん :2023/08/12(土) 22:18:04.31 ID:ghRTbMM+.net ×多田野 ◯ただの
109 :デフォルトの名無しさん :2023/08/12(土) 22:31:53.13 ID:Y4lXTv//.net エイヨー 多田野・ザ・ラッパー イン ザ ハウス
110 :デフォルトの名無しさん :2023/08/12(土) 22:39:35.25 ID:du+ixfhU.net >>107 python.exeはラッパーじゃなくてランチャーだよ
111 :デフォルトの名無しさん :2023/08/12(土) 23:17:45.90 ID:TCuliBLR.net TDN
112 :デフォルトの名無しさん :2023/08/12(土) 23:33:34.31 ID:0foAJdD0.net 普段どこに書いてるんだよ(白目
113 :デフォルトの名無しさん :2023/08/12(土) 23:58:48.55 ID:ghRTbMM+.net あーなんか実験したらわかってきました。 ライブラリはパッケージマネージャ(pipやpoetryなど)のキャッシュを探しに行き 見つかればそれをコピー、なければダウンロードするわけですね。 賢いっすね。てか当たり前か。 ありがとうございました
114 :デフォルトの名無しさん :2023/08/13(日) 00:16:53.24 ID:JPaUrSh0.net >>113 > 見つかればそれをコピー、なければダウンロードするわけですね。 コピーもダウンロードもしない。 モジュール検索パス(sys.path)から見つかれば実行されてなければエラーになるだけ
115 :デフォルトの名無しさん :2023/08/13(日) 00:59:32.91 ID:zhWOv+6v.net ?
116 :デフォルトの名無しさん :2023/08/13(日) 06:17:20.53 ID:asUkEDOo.net あヤバイ眠い
117 :デフォルトの名無しさん :2023/08/13(日) 09:56:42.40 ID:Ie1UHHws.net コンテナ化が進めばvenvはなくなっていくのかな(´・ω・`)
118 :デフォルトの名無しさん :2023/08/13(日) 11:51:50.00 ID:mxfdwtiA.net >>102 これ
119 :デフォルトの名無しさん :2023/08/13(日) 21:55:22.03 ID:R7jJ+sOg.net >>117 なくならない Dockerに限らずだけど、コンテナ環境って結構複雑だし
120 :デフォルトの名無しさん :2023/08/14(月) 02:18:17.14 ID:N8bNxgMD.net 日本人が作った、多言語バージョンマネージャーのanyenv なら、20言語ぐらい使える。 同様のツールに、asdf もある Renv, crenv, denv, erlenv, exenv goenv, hsenv, jenv, jlenv, luaenv nodenv, phpenv, plenv, pyenv, rbenv sbtenv, scalaenv, swiftenv, tfenv echo $(anyenv root) /home/ユーザー名/.anyenv echo $(rbenv root) echo "$RBENV_ROOT" /home/ユーザー名/.anyenv/envs/rbenv echo $(nodenv root) echo "$NODENV_ROOT" /home/ユーザー名/.anyenv/envs/nodenv
121 :デフォルトの名無しさん :2023/08/14(月) 17:27:05.76 ID:l1J1W0zj.net site = '''\ 外務省ホームページ G7広島首脳コミュニケ 地域情勢 53.\ ''' uri = "htt" + "ps://www.mofa.go.jp/mofaj/files/100507034.pdf#page=35" print( site.replace("\n", " > "), uri, sep="\n" )
122 :デフォルトの名無しさん :2023/08/15(火) 15:43:58.31 ID:j64iNkIY.net >>117 わざわざvenvで済むものをコンテナにするのはないかなー。 必要なディスク容量も違うし、コンテナ環境のメンテの方がvenvのメンテより面倒だし。 libなんちゃらのライブラリの依存がとんでもない場合(CUDA使って機械学習とか)以外はあまり使おうという気にならないかな。
123 :デフォルトの名無しさん :2023/08/15(火) 18:53:58.98 ID:cVYdgkhy.net (メ▼(エ)▼)y─┛~~
124 :デフォルトの名無しさん :2023/08/20(日) 18:14:15.02 ID:wlL4UoLb.net lambdaの方がdefで定義するより爆速じゃね そうするとdef func()じゃなくてfunc = lambdaって書くデメリット何?
125 :デフォルトの名無しさん :2023/08/20(日) 19:20:36.30 ID:qlg/Xyh9.net defもlambdaも毎回評価しないし速度差あったとして気になる? どちらかというと中途半端なlambdaは撲滅してほしい 表現力低いのに無理やり書いてるコードみると泣ける
126 :デフォルトの名無しさん :2023/08/20(日) 20:43:30.19 ID:5jzp3rX7.net うわrichのトレースバック(エラー表示)めちゃ便利じゃんなんで教えてくれなかった 必死にすべての使った変数を表示する方法とか調べたりこういうところで聞いたりして諦め 確認用のprint設置を乱発してた(debug書式のは可読性的に邪魔でやめた) たどり着いたのは詳細なエラー表示でflake8で「まあこれでいいか…解決には半歩も助けにならなかったな」とかやってたが 今なんとなくrichの前見かけた気になってたこれを設定したら舘ひろしもびっくり見えちゃうんですじゃん https://rich.readthedocs.io/en/latest/traceback.html https://rich.readthedocs.io/en/latest/reference/traceback.html#rich.traceback.install 似たような初心者のために書いておきます! 他にもこういったTUI環境でも使える必携補助装置があれば、ぜひ教えてください
127 :デフォルトの名無しさん :2023/08/23(水) 11:48:24.69 ID:89z/H8g7.net さてはさぷーの閲覧者か
128 :デフォルトの名無しさん :2023/08/27(日) 05:45:31.37 ID:pq1ziXgi.net matplotlibのArtistAnimationだけど、なぜか一番最初に全グラフを合成したものが表示されてしまう これって仕様ですかね? Python 3.10 matplotlib 3.7.2
129 :デフォルトの名無しさん :2023/08/27(日) 10:07:09.77 ID:/9UKR3Fh.net Pythonでコラボタートルの勉強をしてるのてすがこの図形を描くのにはどうすれぱいいのでしょうか?まったく分からないです… https://i.imgur.com/xBVeKkU.jpg
130 :デフォルトの名無しさん :2023/08/27(日) 11:31:37.21 ID:NL8Wxbbf.net 中心と外周に接する小さい多角形がある
131 :デフォルトの名無しさん :2023/08/27(日) 13:46:30.52 ID:20Uxh6fU.net うわーまったくわからねえと思ったが タートルってあれだよな学習用のとか考えてて思い付いたのは 図面1も2も亀さんを片側に曲がりながら円になって戻ってくるようにすりゃいいイメージだよな 指定した角形数で360度まわってくればいいから360割るいくつかでその角度ずつ曲がらせればよいのでは! 起点に戻ったら角度ずらしてまたやるんだろうけどそのずらしはちょっとわかんない!
132 :デフォルトの名無しさん :2023/08/27(日) 13:57:32.74 ID:20Uxh6fU.net ずらしは中心から伸びてる線の分割数10の角度だな(たぶん)… 算数レベルもあぶない自分の考えを書き出してみました識者の意見求む 勉強してるなら自分で考えなさいと言いたい、これが出来る前フリとかした状態だろうしちょっと考えればって状況のはず
133 :デフォルトの名無しさん :2023/08/27(日) 15:15:00.55 ID:Pba1j/J0.net 依存性の注入というのがいまだにわからんのだけど なんの本買ったらいいの?
134 :デフォルトの名無しさん :2023/08/29(火) 00:18:23.07 ID:BTF5pWeT.net 依存性の注入は、Ruby では出てこない だって、Duck Typing だから。 メソッド名が同じだけで良いから 例えば、enumerable に対応するには、each メソッドがあれば良いだけ。 インスタンスにeachがあれば、enumerableのすべてのメソッドが使える 依存性の注入って言ってる香具師は、C# だけでしょ。 動的言語にあるとは思えない
135 :デフォルトの名無しさん :2023/08/29(火) 00:24:18.34 ID:QCf3nQNA.net 注入ってなんだよダサい
136 :デフォルトの名無しさん :2023/08/29(火) 00:29:36.10 ID:vNr56RL1.net 外から入れてるだけやん
137 :デフォルトの名無しさん :2023/08/29(火) 00:52:12.38 ID:Bbad6Hde.net LOVE注入~❤
138 :デフォルトの名無しさん :2023/08/29(火) 00:57:13.57 ID:ohKP7npH.net Rubyは読みにくいPerlほどじゃないけど
139 :デフォルトの名無しさん :2023/08/29(火) 02:38:46.62 ID:Ye/j7w6x.net あれ? Pythonのスレだよね?
140 :デフォルトの名無しさん :2023/08/29(火) 16:28:40.02 ID:ud/hz0aH.net プログラム技術の板ですが?
141 :デフォルトの名無しさん :2023/08/29(火) 17:12:15.08 ID:M8dDnwfH.net >>133 DIって話には出るが ろくな解説書ないな Androidのdaggerとかhiltとか探してみたが DI自体についてはすでに知ってる前提の奴ばっかりだった
142 :デフォルトの名無しさん :2023/08/29(火) 18:56:07.99 ID:90IKlLvh.net 詳しいのはmark seemannの本 日本語では出てないかもしれない
143 :デフォルトの名無しさん :2023/08/30(水) 01:06:43.85 ID:B7CG/4xg.net Rubyでは~ ここはどこだよ
144 :デフォルトの名無しさん :2023/08/30(水) 12:44:52.95 ID:B/z3JA/V.net DIって車と車の部品の関係でよく例えられるけど、これだけならオブジェクト指向プログラミングでは普通なこと気がするんやが、なんか特別に勉強する必要があるんかな(´・ω・`)
145 :デフォルトの名無しさん :2023/08/30(水) 14:46:05.92 ID:PiV0QNDQ.net 超絶初心者です、Python出来る人でもネットに転がってるコードとかコピペして ちょちょっと編集したりする事あるんですか?
146 :デフォルトの名無しさん :2023/08/30(水) 14:48:35.55 ID:s6yXhO48.net それがメインの仕事だよ
147 :デフォルトの名無しさん :2023/08/30(水) 15:00:35.78 ID:PiV0QNDQ.net >>146 回答頂きありがとうございます。 そうなんですね〜
148 :デフォルトの名無しさん :2023/08/30(水) 15:24:17.79 ID:zHni/Vbc.net 慣れて覚えてれば空で描けるが 以前に描いた自分のコードからコピペることが多いな
149 :デフォルトの名無しさん :2023/08/30(水) 16:01:29.20 ID:6Nf/ac+O.net 指先から紡ぎ出すようになるのに何年くらいかかりますか
150 :デフォルトの名無しさん :2023/08/30(水) 18:16:08.49 ID:ZaG6EIxJ.net 何年やってもできない人はずっとコピペだよ 逆にできる人は1年目から空で書ける
151 :デフォルトの名無しさん :2023/08/30(水) 18:37:48.49 ID:UqoqsUW1.net aiに書いてもらって確認修正して終わり
152 :デフォルトの名無しさん :2023/08/31(木) 01:31:57.23 ID:X47G4wt5.net >>144 楽に逸脱行為できる仕組みを提供してくれてるんだけど リフレクションが透けてキモいし一般化する必要はなかったよね そこまでメタなものじゃなくて目的に直結した便利機能があれば十分
153 :デフォルトの名無しさん :2023/08/31(木) 09:54:17.47 ID:DND1fd+0.net リフレクションは関係ない
154 :デフォルトの名無しさん :2023/09/01(金) 12:58:49.16 ID:cc3ovi53.net フロントエンドエンジニアのフリーランス平均年収867万円!98%がリモート可案件! 業界別ではSIer 950万円、SaaS 921万円|SOKUDAN調査レポート 一般的な平均年収599万円よりも、+268万円高い。全案件の56%が年収800万円超 フリーランス・複業・副業の求人マッチングサービス『SOKUDAN(ソクダン)』を運営する、 CAMELORS株式会社は、フリーランスWebディレクターの平均年収・時給について調査した フリーランスフロントエンドエンジニアの56%が年収800万円超 ・一般的な平均年収599万円よりも、フリーランスの方が867万円と+268万円高い ・週3日以下の案件が約62%、リモート可能な案件は98% ・案件が多い業界は、SaaS、Web制作、システムインテグレータ ・求められるスキルはJavaScript、React.js・Next.js、Vue.js・Nuxt.js、Typescript ・平均年収867万円、平均時給4,303円 ・中央値年収819万円、中央値時給4,063円 ・年収800万円以上が56%を占める ・年収1,000万円以上が22%を占める ・年収600万円以下よりも年収1,200万円以上の方が多い 一般的なフロントエンドエンジニアの平均年収 「599万円(求人ボックス・給料ナビ)」
155 : 【大吉】 :2023/09/01(金) 14:17:16.98 ID:8Q6o7DlX.net !omikuji の日でござる
156 :デフォルトの名無しさん :2023/09/04(月) 01:06:34.09 ID:HnNo1tWR.net 以下の様なスクリプトがあります class Student: def __init__(self, id, name): self.id = id self.name = name def main(): s1 = Student(1, "Mike") print(s1.name) return 0 if __name__ == '__main__': exit(main()) ここで、Studentクラスの__init__内に以下のような処理を入れて、 自インスタンス名がs1ならself.nameを"John Doe"に 変更させたいと思ってます if 自インスタンス名 == "s1": self.name = "John Doe" インスタンス側で、自インスタンス名を取得する方法がありますでしょうか クラス変数にinstancenameみたいなものを追加しようかと思いましたが わざわざインスタンス名と同じ値を設定しなければならないというのもイマイチに思ってます
157 :デフォルトの名無しさん :2023/09/04(月) 01:20:29.31 ID:svBXgOiP.net >>156 無理 s1 = Student(1, "Mike")の行は右辺から評価されるわけでinitが実行されるタイミングでその処理結果を代入する先のインスタンス変数名を把握しようがない
158 :デフォルトの名無しさん :2023/09/04(月) 01:34:16.67 ID:HnNo1tWR.net >>157 評価の順番で無理ですか 分かりやすい説明ありがとうございました __init__ではなく、別のタイミングで呼ばれるクラスメソッドでは方法はあるのでしょうか たとえばクラスに def check(): if 自インスタンス名 == "s1": self.name = "John Doe" といったメソッドを追加して、メイン側では s1 = Student(1, "Mike") s1.check() みたいにする等して、インスタンス作成後であれば取得することは可能なのでしょうか
159 :デフォルトの名無しさん :2023/09/04(月) 01:34:28.71 ID:DzJnyl6r.net あってるけどアサイン後ならわかるのかとミスリードせん? コンテキスト側からは追えないこともないけども
160 :デフォルトの名無しさん :2023/09/04(月) 01:35:47.98 ID:DzJnyl6r.net >>158 煩雑なだけだからできないと考えた方がいい
161 :デフォルトの名無しさん :2023/09/04(月) 01:39:30.34 ID:DzJnyl6r.net s3 = s2 = s1 = Student(1, "Mike") としたときどうすんのって話もある
162 :デフォルトの名無しさん :2023/09/04(月) 02:05:01.07 ID:HnNo1tWR.net >>160 なるほど いろいろ回答ありがとうございました 処理全体を見直そうと思います
163 :デフォルトの名無しさん :2023/09/04(月) 21:22:59.99 ID:nWTc2hmH.net pip searchってもう使えなくてpypi.org見れって言ってくるんだけど、これってふざけてませんか? CUI主義の人はこれだと困るじゃないですか なんでこんな仕様変更したんだろう
164 :デフォルトの名無しさん :2023/09/04(月) 21:34:36.33 ID:eS6UNx4I.net >>163 負荷に耐えられないから https://status.python.org/incidents/grk0k7sz6zkp
165 :デフォルトの名無しさん :2023/09/05(火) 20:08:47.70 ID:rogYYWHX.net 同じ名前なのにこいつはglobalでこいつはlocalですよ そんなつもりじゃないですよね?って教えてくれる terminalとvimでの環境でも使えるなにかってありますか エラー報告器というのか、ハイライトというのか なんだなんだどこかの仕掛けが反映されてないぞ、二つの別のリストがあるのではという状況になってます
166 :デフォルトの名無しさん :2023/09/05(火) 20:20:30.09 ID:xROyc3eI.net vim-lspで好きなランゲージサーバと連携したらつよつよにはなるけど globalつかうコードを避ける、使うのはアクセサだけにするなど自制するのがシンプル
167 :デフォルトの名無しさん :2023/09/05(火) 20:55:48.31 ID:rogYYWHX.net vim-lspやランゲージサーバーを知らなかったので調べてみますありがとう なかなかシンプルには頭の中からしてまとまらなくて…頑張ってみますw
168 :デフォルトの名無しさん :2023/09/06(水) 13:26:44.71 ID:ROxN7tKN.net vscodeとpycharmがただで使えるのにvimで頑張るのか(´・ω・`)
169 :デフォルトの名無しさん :2023/09/06(水) 14:02:07.39 ID:pyg074gJ.net >>168 スマホのtermux上で遊んでるだけなので、楽しんでたプログラムが思いがけず大きくなりました linuxディストリビューションを入れることも可能なのでvscodeも試してみたことはあります スマホ画面ではそう使いやすくは無く、初心者なのでなおさら苦悩が増えました といった理由でterminalでvimとなってます さっきpluginとしてvim-lspとPlug 'mattn/vim-lsp-settings'を入れてみました 黄色や赤でスペースがなってない!などと自分のコードをド派手に隠します… printと書くとポップアップで自分には参考にならないpython docsと似た仕様をあらわす英文がでます いまのところ使いこなせそうにありませんw
192 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200
本文 スレッドタイトル 投稿者