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

【まず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
名前: E-mail (省略可) :

read.cgi ver.24052200