[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 03/24 12:06 / Filesize : 298 KB / Number-of Response : 1030
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました



1 名前:デフォルトの名無しさん [2019/02/04(月) 21:22:10.08 ID:9MrdxUVg.net]
★当スレにRubyのソースコード類を書くことを禁ず
☆Ruby等、Pythonではないプログラミング言語での回答類を書くことも禁ず

このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDEまたはcommand line/OS)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その40
mevius.5ch.net/test/read.cgi/tech/1542874174/


◆PythonのHome Page
www.python.org/

◆まとめwiki
ttp://python.rdy.jp/

◆Pythonのソースコードをそのまま5ちゃんにコピペすると
  インデントが崩れるので
  こういうところ↓にはってきてください
ttp://ideone.com/      Pythonするにはぷち手間あるのがめんどうかなぁ
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste

266 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 10:11:21.93 ID:SwtNBaDU.net]
>>254
obj.__len__()

267 名前:デフォルトの名無しさん [2019/02/19(火) 10:37:48.43 ID:ClxsX7KR.net]
うーんダンダーキモいな
objが__dict__属性もってるなら
obj.len = obj.__len__
obj.len()
はい

268 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 11:03:15.41 ID:D8b3v+Fo.net]
>>254
必ずしも同じ名前のメソッドで要素数を取得できるとは限らないから
Javaの配列の.lengthとコレクションの.size()なんかいい例

269 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 17:25:15.51 ID:xAiOFAtZ.net]
>>154 pdf のキャラクターコードが違っていて、コピペでは、エラーが起きるから、やはり大きなサンプルはソースが提供されていることが必要だ

270 名前:な。

2番目の大学の先生の【Python3入門】はサンプルソースも付いている。
math ライブラリーの関数一覧くらいは載せてても良いとは思ったが、贅沢は言えない。入門には必要ないと言えばそうかも知れないが。
[]
[ここ壊れてます]

271 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 17:51:31.05 ID:t+ZZI+Uh.net]
vs codeでpythonを実行するときのコマンドはなんですか?
ターミナルから実行するのが普通なんでしょうか?

272 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 17:57:52.58 ID:xAiOFAtZ.net]
>>260 あまり知らないけど、こんなあたりで良いの?
https://docs.microsoft.com/ja-jp/visualstudio/python/tutorial-working-with-python-in-visual-studio-step-01-create-project?view=vs-2017

273 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 18:03:26.75 ID:t+ZZI+Uh.net]
あと、vsコードの補完は、pythonエクステンションに含まれているのですか?

274 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 23:26:35.02 ID:xISlfG0u.net]
print() は、わかりやすいが、BASICみたいな ? と言うような自由な記法があっても良いのではと思ってたけど、関数がオブジェクトだから結構自由にできるんだね。

p = print
p(111)
#111 使い過ぎるとわけわかめになりそうだが。



275 名前:デフォルトの名無しさん mailto:sage [2019/02/19(火) 23:36:01.89 ID:x5gWYD95.net]
>>262
vs codeとvsコードの表記の揺らぎを直すところからやってみよう!

276 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 00:19:50.88 ID:1HzmSa/X.net]
>>258
俺、Pythonを実質2週間ぐらいやっているんだけど
やり始めてすぐに>>254のような感を覚えた。
それなりの理由があるってことか(ちなみにJavaはさっぱり分からん)。

他の言語同様に、変数、メソッド名をアンダースコア(シングル、ダブルアンダー)で始めるとかで何かしらの意味を
与えていると分かっているんだが、目下あんまり調べてないからな。
プライベート変数がダンダーって見てすぐにわかるから良いと言えばその通りなんだがな

277 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 00:27:21.38 ID:zgA3z1dT.net]
pythonの関数名や変数名のアンダースコアは文法上は何の意味もなかったはず
そもそもpythonにはプライベートやパブリックの概念が存在しない
単に人間が見分けやすいようについけてるだけ

278 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 00:41:35.75 ID:1HzmSa/X.net]
>pythonにはプライベートやパブリックの概念が存在しない
これ知った時は俺驚いたよ。
privete、public等のキーワード付けて明確にしないのは、
Python教の哲学なんかと。

279 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 00:43:10.98 ID:PF1BNO4k.net]
こんな記法を見たんだが、どう言う文法からこんなのが出てくるの? 3項演算子みたいなものだが。
短絡評価if と言うらしいけど。

i = 8
print(i%2 and'odd!!!!'or'>EVEN<')
#>EVEN<

短絡評価というのは先に成立した(True)方だけを見て後ろは見ないと言う方式みたいだね。
また、if が無くても評価式だけで成立するんだね。
print(0 and 2 or 5)
#5
print(1 and 2 or 5)
#2

しかし
print(1 and 2 )
#2
はなんとなく違和感がある。

そう言えば、3項演算子があってなんで2項演算子みたいなものが無いんだろうと思ってた。
3項演算子なら
2 if 評価式 else 5 が有って
2 if 評価式 が無いのが不思議だった。
評価式 and 値(0以外) がそれに当たるのか。
しかし、 1 and 2 の時どうして後ろの値が有効になるのかな?

280 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 00:50:35.52 ID:hdPlDSUg.net]
True and 2

281 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 00:53:32.30 ID:PF1BNO4k.net]
短絡評価自体は理解しやすいんだが。
https://qiita.com/dinasetiana/items/2b0cb63e91e9511d1c6e

True and b
のとき何故、bの値を取るのか? 先後に成立した評価の値を取る?何故 True では無くbの値を取るのか?

282 名前:デフォルトの名無しさん [2019/02/20(水) 00:56:34.30 ID:gK0qp ]
[ここ壊れてます]

283 名前:GCl.net mailto: >>268
公式DOC>FAQにずばり詳解されてるので見るヨロシ
[]
[ここ壊れてます]

284 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 01:30:40.30 ID:DM4qe6j0.net]
FAQ は見つけられなかったけど、標準ライブラリの仕様書にしっかり書いてあった。
FAQの項目を教えてもらうとありがたい。

真理値判定
ブール演算 --- and, or, not
x or y x が偽なら y, そうでなければ x (1)
x and y x が偽なら x, そうでなければ y (2)
not x x が偽なら True, そうでなければ False (3)

さっと読み流した時は、and or は単なる論理的な演算だけだと思ってたから、値を取ると言う考えがまるでなかった。

注釈:

(1) この演算子は短絡評価されます。つまり第一引数が偽のときにのみ、第二引数が評価されます。
(2) この演算子は短絡評価されます。つまり第一引数が真のときにのみ、第二引数が評価されます。
(3) not は非ブール演算子よりも優先度が低いので、 not a == b は not (a == b) と解釈され、 a == not b は構文エラーです。



285 名前:デフォルトの名無しさん [2019/02/20(水) 01:36:22.16 ID:R9Rgujjr.net]
>>266
一応メソッドやメンバの名前の先頭に__(アンダースコア2つ)を付けると擬似的にプライベートになる(外から参照するとエラー)
実際は __名前 を _クラス名__名前 に置き換えるだけだが

286 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 03:12:26.13 ID:B2QSVSiS.net]
>>260-261
Code Runner という拡張機能で、右クリックメニューから、指定したソースコードの範囲を実行できる。
Ctrl+Shift+P で、Run Code でも同じ

>>254
Python は、Ruby よりも不自然。
Ruby, JavaScript みたいにメソッドチェーンしにくい

Ruby では、メソッド名を、シンボル: で渡せるから、処理の内容が明確

[1, 2, 3].inject( :+ ) #=> 6

287 名前:デフォルトの名無しさん [2019/02/20(水) 03:15:50.94 ID:P3DZex+Y.net]
python資格試験はクラス捨ててもOK?

288 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 03:18:46.77 ID:W95E7B6+.net]
>>272
https://docs.python.org/ja/3/faq/programming.html#is-there-an-equivalent-of-c-s-ternary-operator
昔の名残。条件式はif文ではないのでelseを省略することは出来ない(値を返さねばならない

289 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 05:23:08.72 ID:wMUHduDL.net]
>>261
c#の場合はターミナルからdotnet runで実行だと思いますが、pythonの場合はそういったものはないのでしょうか

290 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 07:12:57.02 ID:SpCnH/g7.net]
>>274
死ね

291 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 08:33:48.20 ID:PF1BNO4k.net]
>>277 コンソールから直接ソースを叩けば動くよ。

hoge.py
hoge
或いは
python hoge.py

要は、exeファイルと同じ動作をする。だから、exploreから .pyをクリックしても起動する。
(ただ、コンソールが見えないとあまり解らないだろうけど。)

python は、コンパイルという作業がいらないから、
dotnet run の様にコンパイルの指定が必要ない。

292 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 09:06:26.28 ID:DM4qe6j0.net]
>>277 だから普通にDOSコマンドの実行と同じprocess.start で良いのでは?
勿論、python が、インストールされている必要はあるが。

ni4muraano.hatenablog.com/entry/2017/07/08/233224
<略>
p.StartInfo.Arguments = @"/c python hello.py";
p.Start();

pythonがインストールされていない環境にpython のソースコードだけを渡しても動かないから、その場合は考慮の必要はありそうね。

PythonスクリプトをWindows環境で動くexeファイルにしよう
https://www.sejuku.net/blog/65881

293 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 10:30:31.71 ID:wMUHduDL.net]
>>279
>>280
たんにpythonと入れてからパスを指定すればいいだけなんですね
あと、右クリからもターミナルで実行ができました

294 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 10:51:51.66 ID:BBElsiq0.net]
>>260
俺、いつもエディタ(geditやGeanyやVS code使ってる)の横にターミナル開いといて、
ソース保存→ターミナルで $ python3 xxx.py→エラー→エディタで編集・保存→ターミナルで再実行(↑&Enter)→ エディタで編集・保存....
てな感じでやってるんだけど、エディタから実行したほうがやっぱり便利なんですか?



295 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 11:03:36.79 ID:spTGKHkg.net]
>>282
煽りとかじゃなくて逆に聞きたいんだけど、
vs code使ってターミナルで実行する意味(メリット)がわからないんだけど。
vs codeのブレークポイントとか利用しないって事?

296 名前:デフォルトの名無しさん [2019/02/20(水) 13:38:56.65 ID:gRk6WtzR.net]
>>113
YouTubeで北神雄大を検索。

297 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 18:06:26.32 ID:uB83dASb.net]
python書くエディタとIDEで人気なのは、pycharmとvscodeかね

298 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 18:08:20.36 ID:ICk0Y2AW.net]
Atom...(小声)

299 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 18:13:40.84 ID:NaL8/JA7.net]
Spyder...(小声)

300 名前:瘋癲の錬金術師 [2019/02/20(水) 18:17:46.89 ID:gK0qpGCl.net]
>>287
あれええな、組み込みターミナルがqtconsoleでインラインプロットもJupyter同様にできる
VSCodeでなんとか使えないかと試したけど無理だった
VSCodeが弱いFortranも書くので環境統一のためnvim+qtconsoleにした

301 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 18:17:47.79 ID:3A0CDvTh.net]
Eclipse にインストールしようとして、エラーが出てからほったらかし(超小声)
そもそも、venv anaconda eclipse が強調して動いてくれるんかよ。

302 名前:デフォルトの名無しさん [2019/02/20(水) 19:52:42.43 ID:v7iPz90J.net]
>>266-267
意味はある
継承してみれば判る

303 名前:デフォルトの名無しさん [2019/02/20(水) 19:54:36.31 ID:v7iPz90J.net]
>>270
and は二つ目の条件も成立するかどうか評価するからな

304 名前:デフォルトの名無しさん [2019/02/20(水) 19:56:21.10 ID:v7iPz90J.net]
>>280
sejukuはクソだから貼らなくていいよ



305 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 20:30:34.29 ID:0GDprFxB.net]
そういや侍エンジニアの騒動は鎮火したのか?

306 名前:デフォルトの名無しさん [2019/02/20(水) 20:34:51.41 ID:jOZlK4md.net]
pythonでのWEBスクレイピングって、過去の更新情報も見れたりするのかな?

307 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 21:49:50.49 ID:aaH1DDBC.net]
何を浚うか指定できないのか?

308 名前:デフォルトの名無しさん mailto:sage [2019/02/20(水) 21:55:37.90 ID:EgtCXVwu.net]
>>294
Pythonやスクレイピングは魔法でも超能力でもありません

309 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 02:54:29.18 ID:kxn9bd4Y.net]
The camel has two humps (working title)
Saeed Dehnadi and Richard Bornat School of Computing, Middlesex University, UK
February 22, 2006

310 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 05:22:18.25 ID:kxn9bd4Y.net]
>>295

https://i.imgur.com/VCh6cSs.jpg

311 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 07:26:25.64 ID:8rp9UCEX.net]
初心者スレの内容に合うか分からないけど質問させて
最近は作るときに凝集度とか結合度、クラスの責務とかも気になるようになったんだけどじゃあ具体的にどう作るべきかが分からない
何をどう勉強しようか て状態なんだけどデザインパターンを学べばいいのかな?これも大切だけど自分が学びたい内容とは少しずれてるようで…

312 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 08:55:18.20 ID:Daclfccm.net]
>>283
すみません。見え張ってました。VS Codeは数回使ってみだけで、基本的に元通りgedit使っちゃってます。

313 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 14:34:58.79 ID:y1fIYiTV.net]
NIC(ネットワークインターフェイス)が複数あるPCで、
requestsを実行する際にNICを指定してGETなりPOSTなりをしたいのですが、
方法が分かりません、requests自体にその手のパラメータはなさそうですが…。
どなたかお教えください。

314 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 15:19:27.90 ID:YDJO8R6Z.net]
層が全く違うぞ
どういう意味だ?



315 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 15:38:13.68 ID:1URmNQhh.net]
>>301 NICを指定することはできないんじゃないの? そもそも何をしたいの?
複数のNICが同じLANに出ていけばどちらを経由しても行きつく先は同じだけど。
もしこんなことをやりたいのか?
NIC-1 >> LANのIP-1にだけ繋がってる
NIC-2 >> LANのIP-2にだけ繋がってる

それでIP-2につなぎたいからNIC-2を使いたいとか?
だったらNICなんか気にせずに接続しに行けばつながる方にしかつながらない。

316 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 15:44:20.15 ID:y1fIYiTV.net]
>>302
分かりにくかったらすいません…
例として、PCにそれぞれ別のグローバルアドレスを持ったNICが二つあって(AとB)、
あるWebサーバーへの通信(=最終的にやりたいのはrequestsのGET/POST)はNIC-A経由で通信する、
また、別のWebサーバーへはNIC-B経由で通信する、ということをしたいのです。
かえって分かりにくいでしょうか…?

317 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 15:46:43.29 ID:y1fIYiTV.net]
>>303
説明が足りずすいません、上に書いたとおり、NICはそれぞれ別のグローバルIPを持っていて
且つ、通信先はインターネット上のWebサーバーです。
接続先によってNIC(というかソースIP)を使い分けて通信したいのです。

318 名前:デフォルトの名無しさん [2019/02/21(木) 15:59:09.52 ID:auY8mpXd.net]
>>305
皆の質問の意図を理解できていないよ

なぜ、
>接続先によってNIC(というかソースIP)を使い分けて通信したいのです。
わざわざこんな使い分けをしたいのか、その理由を聞かれている
普通はソースIPを分けなくても接続できるから

319 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 16:40:54.57 ID:yAj8ZZjm.net]
>>305 何か理由があってどうしてもやりたいのなら、ルータなりでIPルーティングをすれば出来るけど。

静的ルーティングの設定 - Linux
https://qiita.com/kooohei/items/b0931ae210911cc52adc
この場合だとNICの選択もできる。

320 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 16:41:32.97 ID:VKoyYoRj.net]
>>306
そんなもんプログラムじゃなくてもっと下層層でやることや

321 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 17:21:39.12 ID:y1fIYiTV.net]
>>307
スクレイピングやWEB-APIを叩くときに、ratelimitが厳しいサイトがあるのでほんの少しそれを緩和したいのです。

ありがとうございます、ルーティングをいじってしまうのは最初に考えたのですが、環境は外部のVPSで(また説明不足ですいません)
基本リモートでいじっているので、そのあたりどうなるのかなぁと、明日また試してみます。
また、調べたところCurlとかだと何かIFを指定するパラがあるようですが、横着ですが今のコードをあまり変えたくなくて。

322 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 17:42:34.88 ID:MuHdm1tt.net]
>>309 じゃ、curl と同じ様にしてみたら?

# curl -I --interface eth0 www.yahoo.co.jp/

#python
def message_api(request):
req = requests.post('www.yahoo.co.jp/' \
--verbose \
--get

323 名前: \
--interface=‘eth0’
--data 'text=おはようございます' \
--data 'appkey=xxxxxxxxx')
print(req)
[]
[ここ壊れてます]

324 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 20:41:02.67 ID:Xsa0ee+G.net]
>>299
pythonで作って学ぶデザインパターンみたいな物がほしいね
オブジェクト指向が何となくわかっても使い方がよくわからん(´・ω・`)



325 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 21:16:21.39 ID:3FyMMC5r.net]
実践 Python 3

326 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 22:23:48.06 ID:rZ10GU5L.net]
>>312
一回マジでしゃぶってもらえませんか

327 名前:デフォルトの名無しさん [2019/02/22(金) 00:02:47.01 ID:4wGjWw5c.net]
>>304
手動で、
 Aが来たら有線LAN[A]を繋げて
Bが来たら有線LAN(A)を抜いて、有線LAN[B]を繋げる

328 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 00:57:21.96 ID:tDPXA70g.net]
>>309
じゃあサブプロセス使ってcurlで実行しちゃえばいいんじゃないの?

329 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 01:10:21.20 ID:PLvaKLdQ.net]
>>310
ヒドイw

330 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 13:47:21.78 ID:no4Nr2T0.net]
NICを指定してrequestsの件、Pythonで出来ました。
requests_toolbeltというmoduleを組み込むことで、ちょっと搦め手ですが、source IPからNICを
指定してmountすることが出来ます。(ここには参考になる人はいなそうですがw)
以上。

331 名前:デフォルトの名無しさん mailto:sage [2019/02/22(金) 21:06:15.39 ID:d1khp6TM.net]
ええやん

332 名前:デフォルトの名無しさん [2019/02/23(土) 11:43:34.06 ID:+DV3f+Dk.net]
伊勢の名物

333 名前:デフォルトの名無しさん [2019/02/23(土) 12:26:45.82 ID:lot8ckD6.net]
国産のRuby叩かれすぎワロタ

334 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 12:40:42.89 ID:1QjCNYhv.net]
このスレに限るなら、叩かれているのはほとんどRubyガイジのせいだろ

目の前をうろうろする羽虫みたいなもんだ



335 名前:デフォルトの名無しさん [2019/02/23(土) 12:48:40.53 ID:+DV3f+Dk.net]
自業自得

336 名前:デフォルトの名無しさん [2019/02/23(土) 14:39:26.54 ID:lot8ckD6.net]
劇場で数十年ぶりに復活したCity Hunter
冴羽獠の愛銃Python3xxと日本でも流行りのPython3の因果関係

337 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 09:29:08.59 ID:iJEnzY0p.net]
デスクトップアプリはpythonとjavascriptどっちがいいんでしょうか

338 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 10:00:32.60 ID:QKZEiFxx.net]
C#

339 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 10:02:11.33 ID:5XYYe3Vz.net]
>>324
Electronがあるから今の流行りは圧倒的にJavaScript
昔ながらのWinアプリが作りたいんならC#

340 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 10:23:34.56 ID:iJEnzY0p.net]
あっちこち手をつけるのも大変なのでjavascriptでやってみます
でもelectronッテメモリ悔いますよねなぜか

341 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 10:31:16.66 ID:8D34p5sx.net]
なぜ32GBモデルにしなかったんだろ俺のバカバカ!ってね

342 名前:デフォルトの名無しさん [2019/02/24(日) 12:49:35.63 ID:fR/HEchoE]
コードの質問です。
sys.pathの各ディレクトリの関係図を辞書とリストによるツリーのような階層構造で
表現しようと試行錯誤してますが、まったくいいコードが書けませんorz
書ける方がいましたら教えてください。

【sys.path】
['C:\\Users\\81802\\PycharmProjects\\PlayGround',
 'C:\\Users\\81802\\AppData\\Local\\Programs\\Python\\Python37\\python37.zip',
 'C:\\Users\\81802\\AppData\\Local\\Programs\\Python\\Python37\\DLLs',
 'C:\\Users\\81802\\AppData\\Local\\Programs\\Python\\Python37\\lib',
 'C:\\Users\\81802\\AppData\\Local\\Programs\\Python\\Python37',
 'C:\\Users\\81802\\PycharmProjects\\PlayGround\\venv',
 'C:\\Users\\81802\\PycharmProjects\\PlayGround\\venv\\lib\\site-packages',
 'C:\\Users\\81802\\PycharmProjects\\PlayGround\\venv\\lib\\site-packages\\setuptools-39.1.0-py3.7.egg',
 'C:\\Users\\81802\\PycharmProjects\\PlayGround\\venv\\lib\\site-packages\\pip-10.0.1-py3.7.egg']

【表現したい形】
{'C:\\Users\\81802\\':
[{'PycharmProjects\\PlayGround\\':
['',
{'PycharmProjects\\PlayGround\\venv\\':
['',
{'lib\\site-packages\\':
['

343 名前:setuptools-39.1.0-py3.7.egg',
'pip-10.0.1-py3.7.egg']}]}]},
{'AppData\\Local\\Programs\\Python\\Python37\\':
['',
'python37.zip',
'DLLs',
'lib']}]}
[]
[ここ壊れてます]

344 名前:デフォルトの名無しさん [2019/02/24(日) 13:10:54.97 ID:fR/HEchoE]
329の【表現したい形】は一部誤り。正しくはこちらです。

【表現したい形】
{'C:\\Users\\81802\\':
     [{'PycharmProjects\\PlayGround\\':
          ['',
          {'venv\\':
               ['',
               {'lib\\site-packages\\':
                    ['',
                    'setuptools-39.1.0-py3.7.egg',
                     'pip-10.0.1-py3.7.egg']}]}]},
     {'AppData\\Local\\Programs\\Python\\Python37\\':
          ['',
          'python37.zip',
          'DLLs',
          'lib']}]}

sys.pathのグループ分けをし、
【common_path】
['C:\\Users\\81802',
 'C:\\Users\\81802\\AppData\\Local\\Programs\\Python\\Python37',
 'C:\\Users\\81802\\PycharmProjects\\PlayGround',
 'C:\\Users\\81802\\PycharmProjects\\PlayGround\\venv',
 'C:\\Users\\81802\\PycharmProjects\\PlayGround\\venv\\lib\\site-packages']
は得ることまではできました。



345 名前:デフォルトの名無しさん [2019/02/24(日) 14:53:09.92 ID:YwY0sV++.net]
>>324
python

346 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 15:01:02.77 ID:h7ByRKin.net]
VBの一択だな

347 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 16:35:42.81 ID:57VgR7IR.net]
>>328
そんなにメモリ喰うの?

348 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 17:24:23.04 ID:7HrBRrfk.net]
>>333
win10だと16gだと足りないよ。
ソフトによるけど。

349 名前:デフォルトの名無しさん [2019/02/24(日) 17:33:29.69 ID:r06CB5Xe.net]
昔ながらのデスクトップPCやサーバー機みたいな拡張とパーツ交換自在な時代なら最初16GBでも後から増設できたのに今時のモバイルなプログラム環境は半田付けされていて購入後に構成変更できないから辛いね

350 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 17:41:27.91 ID:9Sd/QbRT.net]
交換式にしたらスペース食うからねえ。
モバイルでもメモリとストレージは変更出来るってのも既に過去の話だな。
完全に買った時に全て決まるようになってしまった。

351 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 17:51:55.81 ID:+6ZRRI/z.net]
>>335 今時のPCでも、スロット数が少ないから、何年かしたらもうボードから買い換えるしか無いよ。
諦める事だな。
(全てが寿命に近づいてるから捨てる。)

ただ、買った直後にそのPCで動かないのがあったら、諦めて別の方法を探った方が吉。

352 名前:デフォルトの名無しさん [2019/02/24(日) 20:14:36.77 ID:r06CB5Xe.net]
PCはスマホやタブレット、2 in 1とかにコモディティ化&低価格化してきてるからブラックボックスで使い捨てになるのも仕方ないのかも

353 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 20:21:36.39 ID:+6ZRRI/z.net]
>>338 もう何台もPCを自作してきたが、あとで拡張しようと思って作ってても、いざ拡張する時になると時代遅れで結局捨ててしまう。
だってメモリだって新しいメモリは使えないし、新しいCPUは使えないし、何が拡張だ。
ほとんど全てのパーツが寿命に近づいてるから全てを新しくした方が安心できる。 何度壊れて痛い目にあったことか。

354 名前:デフォルトの名無しさん [2019/02/24(日) 20:26:06.19 ID:iK4D+UQi.net]
横からだが、今時古いメモリやCPUでもそれほど違わん。
(最近はAMDのお陰で急速にコア数増えたが)

物欲抑えれば全然現役で行ける。
(それでも性能追うのが浪漫なのは否定せんが)



355 名前:デフォルトの名無しさん [2019/02/24(日) 20:35:10.14 ID:r06CB5Xe.net]
IDEとOfficeとブラウザとテキストエディタとレタッチソフトとiTunesぐらいなら十分すぎるぐらいCPUは進化したけれど
4K以上の動画編集とかVRとかデスクトップ科技計算とかみたいなヘビーユースだとCPUもGPGPUも最先端を追うしかないね

356 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 20:39:21.47 ID:9Sd/QbRT.net]
>>339
あるあるだな。
やはり買うときに思い切って買わないといかんな。
モニタやキーボードはタイミングずらす。車検が被らないように増車したりバイク買う感じ。

357 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 20:42:46.42 ID:rYs6roSD.net]
>>339
>ほとんど全てのパーツが寿命
今年思い知った件

ほんと

358 名前:>>342だは []
[ここ壊れてます]

359 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 22:22:06.63 ID:mG+2Y3tM.net]
pythonのクラスメンバへのアクセスのことで質問です
クラスのメンバに次の2通りの方法でアクセスしたいのです。

(1)ピリオドを使ってアクセスする
(2)辞書のようにアクセスする

それぞれ単独では実現できるのですが、両方同時に成立させる
ことが出来なくて困っています。

最初に(1)のために次のように実装してみます

class Foo():
  def __init__(self, x):
    sel.x = x
  @property
  def x(self):
    return self.x
  @x.setter
  def x(self, x):
    self.x=x

これだとエラーになるためxを_xにすると上手くいきます
しかしそうすると__dict__がxではなく_xをキーとしてしまうため
def __getitem__ を実装してもキーはxではなく_xになるため
f=Foo()とすると

(1)のアクセスは f.x
(2)のアクセスはf["_x"]
ということになってしまうのです。

(1)も(2)も同じキーでアクセスできるように出来ないでしょうか?

360 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 22:28:23.99 ID:mG+2Y3tM.net]
追記ですみません

メンバ変数は値を更新した際に自動的に他の処理も呼びたいため
setterを必要としています。

361 名前:デフォルトの名無しさん [2019/02/24(日) 22:34:22.09 ID:dOn5ud/R.net]
x.setter()等の仕様がそうだから仕方ないんじゃ?


def __init__(self, x):
  self._x = x

def get_x(self):
  self._x = _x
x = property(get_x,set_x, del_x)

やってないけど

362 名前:デフォルトの名無しさん [2019/02/24(日) 22:39:07.56 ID:dOn5ud/R.net]
あるいは中に仕込むか
@x.setter
def x(self, x):
  self.x = x
  self._x = x

363 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 22:43:09.76 ID:2N6WWWAR.net]
うちsandybridgeだけど当面買い換える予定ないぞ
グラボは入れ替えたが

364 名前:デフォルトの名無しさん mailto:sage [2019/02/25(月) 00:00:08.65 ID:LEqgxgt7.net]
>>344
適当に辞書作ってsetattr,getattrをsetitem,getitemにマッピングすればOK

Class Foo():
_dic = {}
def __setitem__(self, key, val):
self._dic[key] = val
def __getitem__(self, key):
return self._dic[key]
__setattr__, __getattr__ = __setitem__, __getitem__

こうすれば
f = Foo()
f['x'] = 10
f.x
でアクセスできる



365 名前:デフォルトの名無しさん mailto:sage [2019/02/25(月) 00:10:04.15 ID:PZlQ37TI.net]
>>349 なんか黒魔術みたいだな。

366 名前:デフォルトの名無しさん [2019/02/25(月) 00:15:42.13 ID:W+H8OHl9.net]
いや、辞書への挿入で更新もしたいならそれが正しい
_xはデバッグ用途と思って更新を考えない簡略版で答えた






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<298KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef