■ このスレッドは過去ログ倉庫に格納されています
くだすれPython(超初心者用) その47【Ruby禁止】
- 1 :デフォルトの名無しさん:2020/03/07(土) 00:40:52 ID:k5ibAr7h.net
- 当スレに★Python以外のプログラミング言語での回答類を書くべからず★
☆「Ruby では」「Rubyでは」をNGワード登録推奨
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。
★Pythonのソースコードはそのまま5ちゃんにコピペするとインデントが崩れるので
↓等のてきとうなソースコード用うpろだに貼ってきてください。
スクショをImgur等にうp といった 手抜き(クソ行為)禁止。
ttp://ideone.com/ デフォ設定はC用のため言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
ttps://jupyter.org/try (旧try.jupyter.org)ちょっとめんどうそう
◆エラーを解決したい場合は、表示されてるエラー全文(勝手に省略禁止)と
実行環境(Pythonのバージョン・OS名・IDEの種類とバージョン)をシッカリ書くこと。
◇Python公式サイト◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/
〇前スレ〇
くだすれPython(超初心者用) その46【Ruby禁止】
https://mevius.5ch.net/test/read.cgi/tech/1577948214/
- 2 :デフォルトの名無しさん:2020/03/07(土) 10:37:22 ID:RdpK90R9.net
- >前スレ996 >>1
超乙!
前スレ972はウルトラ無能
- 3 :デフォルトの名無しさん:2020/03/07(土) 15:35:33 ID:wIEefnRe.net
- 粘着w
- 4 :デフォルトの名無しさん:2020/03/07(土) 19:01:00 ID:RZgTMQsN.net
- test
- 5 :デフォルトの名無しさん:2020/03/07(土) 20:09:44 ID:b5CwloCp.net
- ・ ,,..--―-、
/, -----、.ヽ, / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| i_,,,,_ __゙l | / 世界、糞スレ発見!
,!、i'゙-‐-: '-、|/ | >>1はボッシュート!
/'') ..., '‐-‐、.j / __________
/ ,‐!::...`'''''''`ノ  ̄ ̄
_,,,l ;! ::|ヽ、二 イ
, -‐'゙゛ i::.. | .ヽ/;ヽj!`‐-、_
l ノ::. .:|、 .ヽ,:ヽ| <゛~ヽ、
,:''`` ''"゙.|;;:‐''゙|.ヽ、 ヽ;::| / .|゙l
,: ヽ::il;;! ヽ、ヽ| / | :|
i o゚ :`;''゙ ヽ| / | .|
i ..:::::,:::'::::: . |゚ |,,;:->、
`.、__;;/:::::::::: : | !''" |
i ::.:::: : | | .|
⌒ ⌒ ⌒ シュルルル
__⌒ ⌒ ⌒__
/::::::::::Λ_Λ::::::::::::::::::/
/::::::::::(∩;´Д`)∩:::::::/ チャラッチャラッチャーン
/::::::::::::( >>1 /:::::/
- 6 :デフォルトの名無しさん:2020/03/07(土) 20:45:15 ID:Sj9rVMKL.net
- スマートpythonプログラミングの、著者である モミジアメ先生の新刊キター
TCP IP本
python関係ないけど
Kindle unlimited入ってる奴は読んどけよ
スマートpythonプログラミングは2についてけっこう尺取られてちょっと古くなった感はあるけど良書
- 7 :デフォルトの名無しさん:2020/03/07(土) 20:51:01 ID:Sj9rVMKL.net
- もみじあめ先生の新作が読めるのはアマゾンだけ!
- 8 :デフォルトの名無しさん:2020/03/09(月) 21:31:08 ID:lMlUpD8p.net
- めっちゃ長い文をfor文使って書いた場合と使わずにベタ書きで書いた場合でどれくらい速度比出ますか?
- 9 :デフォルトの名無しさん:2020/03/09(月) 21:52:11 ID:aVP5r6mu.net
- >>8
自分で計測しろよ
とりあえず%timeitで十分だろ
- 10 :デフォルトの名無しさん:2020/03/09(月) 22:14:29 ID:ajCpPJPb.net
- 今どきFor文のベタ書きとか考えなくていい
適切なライブラリを使う方がよほど早くなる
とくにライブラリが速いCで書かれてる場合
- 11 :デフォルトの名無しさん:2020/03/09(月) 22:36:25 ID:lMlUpD8p.net
- >>9
timeitの使い方がよくわからないんですよね…
%timeitっていうのは、Jupyterを使った場合の処理ですか?
>>10
そうなんですか?
とにかく今はめっちゃ遅いので何とかしたいです
リスト内包表記を試したり、ネットで拾える情報は結構試したんですが速くならないです
- 12 :デフォルトの名無しさん:2020/03/09(月) 22:44:56 ID:ajCpPJPb.net
- >>11
先に疑うべきことはたくさんある
無駄なループを作ってないかとか
機械学習とか重い処理をする場合
ハードを増設する必要があるとか
- 13 :デフォルトの名無しさん:2020/03/09(月) 22:48:57 ID:QKPDJ9w3.net
- O(N^2)の処理 をO(NlogN)にするとか
https://qiita.com/asksaito/items/59e0d48408f1eab081b5
- 14 :デフォルトの名無しさん:2020/03/10(火) 00:17:47 ID:eonxFH18.net
- >>11
%timeitはIPythonの簡易マイクロベンチマーク用のコマンド
https://ipython.readthedocs.io/en/stable/interactive/magics.html#magic-timeit
標準のtimeitモジュールを直接使ってもいいけど少し面倒
https://docs.python.org/3/library/timeit.html#examples
- 15 :デフォルトの名無しさん:2020/03/10(火) 00:27:33 ID:bus7JDt5.net
- ケースバイケースなんで
その質問では解決する前にお前の寿命が来るかプログラムに飽きる
- 16 :デフォルトの名無しさん:2020/03/10(火) 02:05:18.11 ID:nFDPxvbU.net
- >>11
Pythonを使ってる時点でループのアンロールとかほとんど意味がないと思う
オブジェクトやライブラリをあれこれしてないようなコードなら、Cythonにするとかで100倍ぐらい速くなる場合はあるけれど、
Pythonオブジェクト、ライブラリを結局は呼んでるのだったらそこが律速で速くならないかも
- 17 :デフォルトの名無しさん:2020/03/10(火) 04:10:20 ID:/bE8vLVb.net
- 線形探索してるとか?
例えば、百万件の中に無いデータを線形探索すると、すべてを見るまで分からないので、百万回。
O(N)
一方、検索インデックス・辞書を使うと、百万件の中に無いデータが、瞬時に分かる。
O(1)
SQL では、B+tree で2分探索。O(logN)
2 ^ 10 = 千
2 ^ 20 = 百万
つまり、20回で分かる
- 18 :デフォルトの名無しさん:2020/03/10(火) 04:16:12 ID:3BlP5Izm.net
- 言語やアルゴリズム等で短縮できる
計算時間の方が圧倒的に大きいから
Forのベタ書きは考えなくていいぞ
- 19 :デフォルトの名無しさん:2020/03/10(火) 09:56:51.57 ID:QtRN/SQw.net
- とはいえPythonはC, Java, C#あたりの速い言語グループと比較して2桁遅いので、
アルゴリズムの改善をいくら頑張っても速い言語の何も考えてないバカループにすら勝てないケースが多い
コアでない箇所でアルゴリズムを工夫することを頻繁に迫られるようなら、Pythonを使うこと自体を考え直したほうがいいかも
- 20 :デフォルトの名無しさん:2020/03/10(火) 13:11:25.65 ID:jhi4WBaR.net
- 競技プログラミングみるとc++使ってる人多い
c++と比べたらjavaは遅い部類
- 21 :デフォルトの名無しさん:2020/03/10(火) 18:07:19 ID:OITv6FOp.net
- 機械語じゃないから当然
- 22 :デフォルトの名無しさん:2020/03/10(火) 19:58:08.31 ID:3+CC2Qsy.net
- C言語ゆらいの怪しげなマクロを使えるから
- 23 :デフォルトの名無しさん:2020/03/10(火) 19:59:11.58 ID:RoiJALPR.net
- 競技プログラミングってプログラミングの速度を競うのかと思ってたけど、プログラムの速度か
- 24 :デフォルトの名無しさん:2020/03/10(火) 20:01:47.21 ID:yxLEcfJ6.net
- >>23
両方
問題ごとにプログラムの実行時間に制限がある
その時間に収まるように他の人より速くプログラム作れたらポイント高くなる
- 25 :デフォルトの名無しさん:2020/03/14(土) 10:37:29 ID:WJJSMSr5.net
- リスト内表記について質問なんですが
こういう代入はリスト内表記はあきらめて普通のforにしないといけないんでしょうか?
それともほかにリスト内表記する方法があったら教えてください
v=[1,2,3]
[c=c+1 for c in v if c==1]
- 26 :デフォルトの名無しさん:2020/03/14(土) 11:11:58 ID:+zKDV3tO.net
- ないだろ。
副作用欲しいなら、for文か無理やり関数でやるしかない。
def func(x): global y; y = x + 1; return y
[func(c) for c in v if c==1]
- 27 :デフォルトの名無しさん:2020/03/14(土) 11:27:00.67 ID:WJJSMSr5.net
- >>26
ありがとうございます
無いんですね
副作用は怖いので普通に書き下しします
- 28 :デフォルトの名無しさん:2020/03/14(土) 11:29:27.43 ID:cJqY8aA1.net
- v= [1, 2, 3]
v = [c+1 if c == 1 else c for c in v]
思っていたのと違うかもしれんが
- 29 :デフォルトの名無しさん:2020/03/14(土) 11:32:29.19 ID:eph4O7WW.net
- filterを繋げて多段にすりゃいいんだよ
- 30 :デフォルトの名無しさん:2020/03/14(土) 12:33:03 ID:XTUayws2.net
- numpyとかpandas使えばもう少し気持ち良い描き方がある
- 31 :デフォルトの名無しさん:2020/03/14(土) 17:09:46.58 ID:NeU9D2+b.net
- そもそもc=c+1の部分が内包表記の表現として書けない
- 32 :デフォルトの名無しさん:2020/03/14(土) 17:59:18.44 ID:ILPzjwAA.net
- >>27
>副作用は怖いので普通に書き下しします
プログラミングにおける副作用の意味をググったほうがいいかも
リスト内包表記に書けるのはexpressionのみ
代入はstatementなのでエラーになる (3.8で導入されたassignment expression(:=)は可)
副作用のための処理は内包表記ではなくfor文を使うのが原則
無理やりやればできなくもないがデメリットしかない
v = [1,2,3]
[globals()['v'].__setitem__(i, x+1) for i, x in enumerate(v) if x == 1]
print(v) #=> [2,2,3]
- 33 :デフォルトの名無しさん:2020/03/14(土) 19:21:24.85 ID:jpfF5Ox9.net
- >>25
これってもともとのやりたい事は
特定の値の個数を求めること?
- 34 :デフォルトの名無しさん:2020/03/14(土) 22:22:03.48 ID:fCAYl0fu.net
- pip install A で実行できるようになるコマンドA
pip install B で実行できるようになるコマンドB
があって、パッケージAの依存パッケージがprogressbar、パッケージBがprogressbar2のため(どちらもimport progressbarなので)progressbar2をimportしたい方のパッケージBがprogressbarをインポートしてしまってコマンドBがエラーになってしまいます
こういう場合はコマンドA用とコマンドB用で仮想環境を分けて使うものなのでしょうか?
いちいちコマンドを実行するごとに仮想環境を切り替えるのは面倒な気がするのですが、例えば、コマンドA用とB用それぞれにバッチファイル等を作って、仮想環境の切り替えとコマンドの実行を一つのコマンドで実行できるようにしたりするのが一般的ですか?
オススメのやり方があれば教えてください
- 35 :デフォルトの名無しさん:2020/03/14(土) 22:59:23.51 ID:c0o9KEoN.net
- >>34
おらはバッチ切替派だが
その前におまえ1嫁や
Windowsだけがせかいのすべてだとおもうなよ
- 36 :デフォルトの名無しさん:2020/03/14(土) 23:26:36 ID:m6CMFdp/.net
- シェアが5%以下が何言っているんだ?
- 37 :デフォルトの名無しさん:2020/03/15(日) 00:13:50 ID:DfzvBJR/.net
- そのシェアってAtom使った奴も入っているの?
- 38 :デフォルトの名無しさん:2020/03/15(日) 00:52:51.57 ID:DV1gyHVd.net
- macでtkinterがimportエラーでて解決できなくて泣きそうやわ
ウェブで解決策が色々あるがどれもうまくいかへん
tkinter以外のGUIパッケージでフォルダダイアログだけ呼び出せるのある?
wxはウィンドウ用のクラス作らんとあかんしQtやsimpleはtkinter依存やし
Eelめっちゃええやん!からのpythonのGUI環境はマジクソ!←いまここ
- 39 :デフォルトの名無しさん:2020/03/15(日) 01:01:35 ID:S82Gach3.net
- >>37
Atomって何だ?おもちゃか?
- 40 :デフォルトの名無しさん:2020/03/15(日) 01:34:08 ID:ek1F76QN.net
- MacならMS製なのがネックで未だにVSCodeに移行してない根強いAtom使いも一部いるかもしれないが、
WindowsならもうAtom使ってる奴なんてほぼいないんじゃね
- 41 :デフォルトの名無しさん:2020/03/15(日) 01:42:21 ID:DV1gyHVd.net
- いや逆やろ
WindowsはVSという最強かつ世界最高のデバッガを搭載したIDEがあるからわざわざVSCode使う必要性がない
逆にMacやLinuxはまともなモダンエディタがSublimeやAtomくらいしかないからVSCodeが圧倒的
今時SublimeやAtom使ってるのなんて意固地で勘違いしたやつくらいやな
- 42 :デフォルトの名無しさん:2020/03/15(日) 02:37:23.76 ID:S82Gach3.net
- あん?このAtomってエディタの話だったのか?
OSのシェアがどうたらの文脈だからプロセッサの話だと思った
- 43 :デフォルトの名無しさん:2020/03/15(日) 03:48:08 ID:7lggs81n.net
- 素人はともかくプロ開発者におけるOSシェアは
Mac+Linux > Windows
デスクトップOSシェア(StackOverflow Developer Survey 2019)
プロ開発者: Windows 45%, Mac 30%, Linux 25%
素人開発者: Windows 58%, Mac 15%, Linux 27%
開発環境のOSシェア(Python Developer Survey 2018:複数回答可)
Linux 69%, Windows 47%, MacOS 32%, BSD 1%
- 44 :デフォルトの名無しさん:2020/03/15(日) 04:02:17 ID:QjO8odR4.net
- LinuxやMacで開発している現場なんて見たことない
開発用PCはWindowsがデフォでしょ
- 45 :デフォルトの名無しさん:2020/03/15(日) 04:34:34 ID:gNXlAxhx.net
- 俺は受託オンリーやけど元請けの素人どもはWindowsやけど実際に開発してるチームメンバーは全員Macやなー
ウェブやアプリの場合やけど.NET環境の業務システムはVS必須やからWindowsやけどそらそうよ
- 46 :デフォルトの名無しさん:2020/03/15(日) 10:14:23 ID:b9Qsc7j/.net
- Ruby でも、Windows 版Docker ではバグるから、仮想OS でLinux で開発する。
本番環境に一番近いのが、Linux
今までは、Windowsでは、MSYS2/MINGW だが、日本語でバグるから皆、Mac を使っていた
ようやく最近、Windows 10, WSL, Linux で、VSCode の拡張機能、Remote WSLが出たから、
Windows 10, WSL, Linux でも出来るようになった。
WSLでは、日本語でもバグらない
これで次第に、Macから、Windowsへ戻ってくるはず。
でも、完全な互換性は、直接Linuxを使う
- 47 :デフォルトの名無しさん:2020/03/15(日) 10:16:57 ID:ddHsS2vy.net
- 普通にmac少ないやんけ
- 48 :デフォルトの名無しさん:2020/03/15(日) 10:31:59 ID:35ngHCek.net
- サーバーに合わせてLinuxにするのは分かるがMacはマジで意味わからん。副業でiOSアプリ作るからか?
- 49 :46:2020/03/15(日) 11:21:36 ID:b9Qsc7j/.net
- Ruby では、Windows の開発者は、WSL が出るまでは、いなかった。
Windows, MSYS2/MINGW だと、日本語でバグるから皆、Mac を使っていた
さらに、Windows版Docker でもバグるから、
Windowsでは、仮想OS でLinux しか出来なかった
- 50 :デフォルトの名無しさん:2020/03/15(日) 11:29:04 ID:g709JiKq.net
- macはtcl/tkをそのまま使えば早いんじゃね?
- 51 :デフォルトの名無しさん:2020/03/15(日) 12:26:18.38 ID:0qHq2F5s.net
- Rubyくんお友達居なそう…
- 52 :デフォルトの名無しさん:2020/03/15(日) 12:34:55.72 ID:DfzvBJR/.net
- Windows使うと文字コードで苦労する
苦労してからまたMacに戻ってくる
- 53 :デフォルトの名無しさん:2020/03/15(日) 13:40:06 ID:f0kPntOU.net
- お友達本意の開発なのか。
- 54 :デフォルトの名無しさん:2020/03/15(日) 14:45:35 ID:tvz/ROTF.net
- Docker のコンテナ名がコンフリクトする時はどうすればいいですか?
$docker container ps
しても動いてるコンテナないんですけど
- 55 :デフォルトの名無しさん:2020/03/15(日) 17:19:22 ID:U43dmARa.net
- やっぱり具体的に作りたいものがないのに0から勉強するのは脳が拒否反応を起こすなぁ
VBAをやってる時は実利に直結するからあれこれやるのも苦ではなかったが……
- 56 :デフォルトの名無しさん:2020/03/15(日) 17:39:01 ID:WBXETDOG.net
- >>48
>>50な理由とか
2系までだったころは、Macにデフォルトで入ってるからとか
デフォルトフォントがMacのほうがきれいだとか
予算余ってるからとか
カコイイからとか
かこいいからとか
本体価格が高級だからとか
そんな理由
あとおまけで52も言ってる文字コードの都合
- 57 :デフォルトの名無しさん:2020/03/15(日) 17:39:28 ID:WBXETDOG.net
- >>55
学生時代勉強不得手だったんけ
- 58 :デフォルトの名無しさん:2020/03/15(日) 17:54:33 ID:gNXlAxhx.net
- >>55
自宅プログラミングしない奴の言い訳まんまで草www
そもそもプログラミング好きじゃない奴がプログラマーしてることが数ある不幸なプロジェクトの原因なんよね
学習も研鑽もしないから同じ環境でしか開発できないVBAおじを量産してしまう
俺のように楽に結果が得られるならなんでもいいからもっとええのないんか?と楽しみつつ学習してるといつの間にかC++、C#からTypeScript、Pythonまでフロントもバックエンドもなんでもござれのフルスタックの完成なんよ
- 59 :34:2020/03/15(日) 18:09:49.98 ID:ae7hHOBm.net
- >>35
ありがとう&ごめんなさい
OS関係ない話かと思って...てへぺろ
- 60 :デフォルトの名無しさん:2020/03/15(日) 20:07:39.50 ID:1/DFOu+E.net
- >>46
>本番環境に一番近いのが、Linux
そうそう
サーバが圧倒的にLinuxだからね
でもWindows10のことも書いてて
わりと良いレスだと思う
- 61 :デフォルトの名無しさん:2020/03/15(日) 20:09:09.03 ID:1/DFOu+E.net
- >>55
>具体的に作りたいもの
実感としてそれは大事だね!
今のPythonブームで言えばAIや機械学習が
したいから学ぶっていう人が一番多いかな?
- 62 :デフォルトの名無しさん:2020/03/15(日) 22:20:35 ID:6KRsgpGp.net
- スクレイピングとエロ画像の自動収集くらいしかやってね―わ
それが一番プライベートの時間の節約に役立つしな
- 63 :デフォルトの名無しさん:2020/03/16(月) 01:42:32 ID:+IrHqAFl.net
- 楽に結果を得る方法を求めて他人より何倍も苦労する訳ですね
- 64 :デフォルトの名無しさん:2020/03/16(月) 06:17:37.04 ID:IojLJcYy.net
- 苦労なんて発想しかできない脳みそだから低レベルなままなんだって判断できない時点で終わってるってわかんね
好きなら努力が努力じゃないんだからそりゃ差が生まれるに決まってますわ
- 65 :デフォルトの名無しさん:2020/03/16(月) 08:56:23 ID:I/DM6IO+.net
- ?
好きでも努力は努力だぞ?
好きこそものの上手なれ とはいうが。
- 66 :デフォルトの名無しさん:2020/03/16(月) 12:57:20 ID:L7QaMGTS.net
- 苦労というよりは、単純作業を繰り返したくないから単純作業と自動化で同じくらいの時間がかかるなら自動化していくうちに勝手に覚えるって感じだな
まあ自動化しやすいものを偶々日常的に扱っていることが多いというのが有利に働いていると思うが
- 67 :デフォルトの名無しさん:2020/03/16(月) 14:23:07 ID:90R/wZVM.net
- 質問です
a=[
[1,2,3],
[4,5,6],
[7,8,9],
[10,11,12]]
と
b=[100,200,300]
があるとして(中身の数字は適当です)
a[0,3]=b[0]
a[1,3]=b[1]
a[2,3]=b[2]
というように縦に一部だけ変数を入力するのに
カッコいい方法を教えてください
- 68 :デフォルトの名無しさん:2020/03/16(月) 14:44:13.21 ID:IaZ60aJs.net
- >>67
a[0,3]=b[0]
TypeError: list indices must be integers or slices, not tuple
zip使え
- 69 :デフォルトの名無しさん:2020/03/16(月) 15:11:20 ID:90R/wZVM.net
- >>68
間違えました、すいませんorz
a[0][3]ですorz
zip使います
ありがとうございます
- 70 :デフォルトの名無しさん:2020/03/16(月) 15:24:43 ID:05pyWuEB.net
- >>69
>>> a=[
... [1,2,3],
... [4,5,6],
... [7,8,9],
... [10,11,12]]
>>> a[0][3]=100
IndexError: list assignment index out of range
- 71 :デフォルトの名無しさん:2020/03/16(月) 15:30:10 ID:vjCDcJeV.net
- 深いリストをフラットにするのは何?
[1, [2, 3], 4]
↓
[3, 4, 2, 1] # 結果の順番はどうでもいい
- 72 :デフォルトの名無しさん:2020/03/16(月) 15:30:38 ID:D64H19Ci.net
- numpy使わないなら普通にfor文使うケース
縦(column wise)にデータを取り出したいだけならlist comprehension
zip(*list)はtransposeしたい場合に使う
#numpy
a = np.array(np.arange(1, 13)).reshape([4,3])
b = [100, 200, 300, 400]
a[:,2] = b
- 73 :デフォルトの名無しさん:2020/03/16(月) 15:36:25 ID:I/DM6IO+.net
- >>71
その例だとまったく深くないんだがw
「リスト フラット Python」あたりでぐぐれ
ちな
「リストをフラットにする作業」を英語で「flatten」っていうっぽいので
日本語使った検索で気に入る結果が出ないなら
「flatten python」みたいにしてぐぐれ
- 74 :デフォルトの名無しさん:2020/03/16(月) 15:39:19 ID:I/DM6IO+.net
- (追記)
unnestも、キーワードとして使えるのではないだろうか。
- 75 :デフォルトの名無しさん:2020/03/16(月) 15:47:11 ID:D64H19Ci.net
- >>71
from more_itertools import collapse
list(collapse([1, [2, 3, [4, 5]], 6]))
#=> [1, 2, 3, 4, 5, 6]
- 76 :デフォルトの名無しさん:2020/03/16(月) 18:22:58 ID:3OE3knP8.net
- >>71
a=[1, [2, [3]], 4]
b=[int(x.strip('[ ]')) for x in str(a).split(',')]
print(b)
- 77 :デフォルトの名無しさん:2020/03/16(月) 20:21:48 ID:I/DM6IO+.net
- >>75
横レスだけど
こんな便利なもの(pip install more-itertools)あるのぬ!
- 78 :デフォルトの名無しさん:2020/03/16(月) 21:03:18 ID:IaZ60aJs.net
- for n, m in zip(a, b): n[2] = m
- 79 :デフォルトの名無しさん:2020/03/16(月) 21:37:30 ID:c9Tv/g5u.net
- >>67
import numpy as np
a=np.array(a)
b=np.array(b)
a[:,2]=b
- 80 :デフォルトの名無しさん:2020/03/17(火) 11:03:03.09 ID:h3A2d4brr
- スレ失礼させていただきます
学生です。
ScratchというサイトでしかプログラミングをしたことがないのでそろそろPythonを勉強しようかと思いました。
Python勉強するための良いサイト、ソフト、勉強法を教えてください
ちなみにScratchはマスターしてます
scratch.mit.edu
- 81 :デフォルトの名無しさん:2020/03/17(火) 11:04:35.95 ID:h3A2d4brr
- ↑のサイトはscratchに飛べます
言い忘れていましたがMacです
- 82 :デフォルトの名無しさん:2020/03/17(火) 23:41:42 ID:Cz6mauRR.net
- plt.subplot(1, 2, 1)
plt.title('test1 score')
plt.subplot(1, 2, 2)
plt.title('test2 score')
みたいにサブプロットのグラフ毎にタイトルをつけたあとに
サブプロット1,2共通のタイトルNameを最上段、真ん中に表示させたいんですが、
なにかいい方法無いでしょうか?
Name
test1 score test2 score
graph1 graph2
みたいな感じです。
- 83 :デフォルトの名無しさん:2020/03/17(火) 23:42:43 ID:Cz6mauRR.net
- Name
test1 score test2 score
graph1 graph2
- 84 :デフォルトの名無しさん:2020/03/17(火) 23:43:05 ID:Cz6mauRR.net
- >>83
みたいな感じです。
- 85 :デフォルトの名無しさん:2020/03/17(火) 23:52:06 ID:A6c/ap2m.net
- ねぎ式? タンブラー@ohtsuka
パートナーさんとの面談で、同僚が「ぴとんも出来るの?
ぴとん」とか言っていたのでなんだそりゃと思っていたらPythonだった。
恥ずかしのでやめて欲しい。
- 86 :デフォルトの名無しさん:2020/03/18(水) 00:33:44 ID:Nf3sMBGq.net
- >>82-84
上の方か前スレに、誰かが任意の場所に文字列入れる方法書いてくれてた
- 87 :デフォルトの名無しさん:2020/03/18(水) 11:53:50.04 ID:ita97idO.net
- https://qiita.com/nkay/items/d1eb91e33b9d6469ef51
- 88 :デフォルトの名無しさん:2020/03/18(水) 11:54:23.20 ID:ita97idO.net
- plt.gcf().text()
- 89 :デフォルトの名無しさん:2020/03/18(水) 11:55:55.25 ID:ita97idO.net
- matplotlibは直観的じゃないよね
https://python.atelierkobato.com/text/
- 90 :デフォルトの名無しさん:2020/03/19(Thu) 09:44:17 ID:88W4vwJ+.net
- オブジェクト指向の勉強してるのですが、外部から新規プロパティ作れるのって何に使うんですか?
class Test:
__def __init__(self):
____self.x=1
____self.y=2
__def calc(self):
____print(self.x+self.y)
test = Tset()
test.z = 3
とかできますが、クラス作成時に言及されてない新規プロパティを使うのはどういう時ですか?
- 91 :デフォルトの名無しさん:2020/03/19(Thu) 09:58:33 ID:TVS3Wm7/.net
- >>90
使わない、というか基本的に使ってはいけない
Pythonのオブジェクトシステムの実装上たまたま可能なだけで、あえて可能にしてある訳ではない
- 92 :デフォルトの名無しさん:2020/03/19(Thu) 10:07:42 ID:88W4vwJ+.net
- なるほど、そうですよね
ありがとうございます
- 93 :デフォルトの名無しさん:2020/03/19(Thu) 10:29:34 ID:iYhmmwGq.net
- え、やったらあかんかったんか。こんなん出来て便利やわ、とずっと使ってたわ……
import socket
socket.socket.is_alive = lambda self: not select.select([self], [], [], 0)[0]
- 94 :デフォルトの名無しさん:2020/03/19(Thu) 20:09:33 ID:YRL0u/U8.net
- 別に使っちゃいけない理由なんてないでしょ
- 95 :デフォルトの名無しさん:2020/03/19(Thu) 21:29:14 ID:9qCyS0hP.net
- そゆことしたいなら元のクラスを継承したMyClassを作るべきでは?
- 96 :デフォルトの名無しさん:2020/03/19(Thu) 21:32:55 ID:DGCbzdzB.net
- >>90
Pythonは他と言語と違いゆとり用言語だからゆとりのための機能は活用したほうが良いだろ
派生で新規プロパティ追加するのめんどーくさい、で、その場でサクッと追加できるってゆとりには超便利だろ
- 97 :デフォルトの名無しさん:2020/03/19(Thu) 22:10:56 ID:2ajU8oVE.net
- "There's Only One Way To Do It"(草)
- 98 :デフォルトの名無しさん:2020/03/20(金) 10:46:47.57 ID:Cf4Df32C.net
- dataclass便利だよな
- 99 :デフォルトの名無しさん:2020/03/20(金) 11:06:06.72 ID:nAHhYb7g.net
- rubyも出来るな
むしろ推奨されてる
- 100 :デフォルトの名無しさん:2020/03/20(金) 11:44:13 ID:f7C4bsky.net
- もちろんjsでもできる
- 101 :デフォルトの名無しさん:2020/03/20(金) 12:02:16.17 ID:GrAunarD.net
- jsは出来るってより出来ないと使い物にならない
- 102 :91:2020/03/20(金) 12:36:56.62 ID:b0uFXDo7.net
- >>95
分かってる、それが正当なのは分かってる。将来socketやsslが改版される度に衝突してない確認しにゃきゃならんのも分かってる
けど、socket.socketに追加すればそれだけでssl.SSLSocketでも使えるし、ssl.wrap_socketやssl.create_default_contextみたいな便利関数もそのまま使えるし
派生クラスを作るとこのあたりが圧倒的に不便
もちろん引数にsocket.socket / ssl.SSLSocketをとる独立した関数を作ってもいいけど、あるオブジェクトの状態を問い合わせる機能はそのオブジェクトにメソッドとして持たせるほうが自然だし
- 103 :91:2020/03/20(金) 12:58:10.42 ID:b0uFXDo7.net
- えーと、ごちゃごちゃ続けて済まない
要は、「正当でない」「元のクラスの改版で衝突するかも」以外に、なんか実装の仕組みとか言語の根本思想とかに関わる「やったら駄目な理由」があるんなら知りたいんだ
- 104 :デフォルトの名無しさん:2020/03/20(金) 13:26:09.65 ID:fLIfl3bFs
- 用語を教えてもらいたいです
./comand.sh [-a] [-b 999] start
の場合
-a : 「オプション引数」
-b : 「オプション引数」
start: 「コマンドライン引数」
という用語だと思うけど、999はなんてよぶのでしょう
- 105 :デフォルトの名無しさん:2020/03/20(金) 13:20:45.03 ID:hXZiuk0t.net
- 正当である理由も知りたいんだけど。いったい何の正当?
- 106 :デフォルトの名無しさん:2020/03/20(金) 14:28:59.42 ID:kntGyf5L.net
- 衝突するかもが一番の理由だろ
使い捨てスクリプトなら好きにすればいいんじゃね
- 107 :デフォルトの名無しさん:2020/03/20(金) 15:00:32.24 ID:TN4YnPAe.net
- 近代的なPythonプログラミングにおける一番の問題は静的型検査の能力が損なわれることだろう
VSCodeで補完できないし型チェッカー使ったらエラーになる
- 108 :デフォルトの名無しさん:2020/03/20(金) 17:35:32.53 ID:SlgH3d1t.net
- 型チェッカーに詳しくないけど、ダックタイプなのに拡張プロパティが付いただけでエラーになるの?
- 109 :デフォルトの名無しさん:2020/03/20(金) 19:03:53.38 ID:Dd0Ob2sq.net
- そりゃ型に存在しないメンバにアクセスしようとしてんだから正真正銘エラーだよ
- 110 :デフォルトの名無しさん:2020/03/21(土) 14:39:02.75 ID:OHw8xLXD.net
- 凄い長いループ文の最後に取得したい値があるとして
ループの最初にp=[]するんですが最後のと距離が離れすぎてて
忘れそうor間違えて消しそうですが
p = []なしで値を集める方法ってありますか?
p = []
for v in vals:
____この間凄い長い
___p.append(s)
- 111 :デフォルトの名無しさん:2020/03/21(土) 15:07:52.37 ID:vy0ghyqx.net
- p = [ hage(v) for v in vals ]
def hage(v):
____# この間すごい長い処理
____return s
これはだめなの?
- 112 :デフォルトの名無しさん:2020/03/21(土) 15:35:23.73 ID:GhGCMtBr.net
- p = vals.apply(hage)
- 113 :デフォルトの名無しさん:2020/03/21(土) 15:36:06.43 ID:GhGCMtBr.net
- p = list(map(hage, vals))
または
p = map(hage, vals)
- 114 :デフォルトの名無しさん:2020/03/21(土) 15:38:22.43 ID:GhGCMtBr.net
- p = list(map(hage, vals))
または
p = map(hage, vals)
- 115 :デフォルトの名無しさん:2020/03/21(土) 15:39:38.88 ID:Pnykjrh9.net
- p = list(f(vals))
def f(vals):
____for v in vals:
________この間凄い長い
_______yield s
- 116 :デフォルトの名無しさん:2020/03/21(土) 16:01:06 ID:QFmJMedv.net
- >>111
これが内包表記というやつかー!
- 117 :デフォルトの名無しさん:2020/03/21(土) 16:04:19 ID:He36jL2X.net
- “There should be one-- and preferably only one --obvious way to do it.”じゃないのー?
- 118 :デフォルトの名無しさん:2020/03/21(土) 19:27:49 ID:zSmIYZQj.net
- C言語を触ってて今日からPythonを見始めたけど、クラスだメソッドだインスタンスだ横文字だらけで説明されてさっぱりだ🤔
- 119 :デフォルトの名無しさん:2020/03/21(土) 19:55:22.12 ID:dPG/PKsY.net
- >>118
Cができるなら新たな言語を学ぶ必要はないぞ
特にオブジェクト指向は学習コストに比して実効果が割に合わないしな
- 120 :デフォルトの名無しさん:2020/03/21(土) 20:07:30.13 ID:9uGouKad.net
- >>118
オブジェクト指向を覚えるのは
(Cでの構造化)プログラミングを覚えるのと
同じかそれ以上に時間かかるが
学んだだけの効果は出るはず
正しく学べればだけど
- 121 :デフォルトの名無しさん:2020/03/21(土) 20:12:55.99 ID:tuOdrSqm.net
- >>120
正しく学べなかった奴の一例が>>119というわけだな
- 122 :デフォルトの名無しさん:2020/03/21(土) 22:03:50.83 ID:Y58dU0iNS
- 【衝撃】ヒカキンの年収・月収を暴露!広告収入が15億円超え!?
https://nicotubers.com/yutuber/hikakin-nensyu-gessyu/
HIKAKIN(ヒカキン)の年収が14億円!?トップYouTuberになるまでの道のりは?
https://youtuberhyouron.com/hikakinnensyu/
ヒカキンの月収は1億円!読唇術でダウンタウンなうの坂上忍を検証!
https://mitarashi-highland.com/blog/fun/hikakin
ヒカキンはuuumの役員で株だけで資産27億円?新居への引越代が4000万?
https://barutosuserver.com/1895.html
ヒカキンの年収(最新2018年)は軽く10億超え!? はじめ社長や他のYouTuberとも比較!
https://usaponn.com/archives/7346
UUUM上場でヒカキンらメンバーの住所や本名が公開に!資産もスゴイ!
https://pikacore.com/news/uuum-honmyo/
UUUMの時価総額1000億円超え、ヒカキン保有の45万株は27億円に
http://kabumatome.doorblog.jp/archives/65934275.html
- 123 :デフォルトの名無しさん:2020/03/21(土) 21:47:00.81 ID:gYwBfwwG.net
- >>118
きょうびオブシコ機能がない言語の方が少なくない?
勉強して損はないと思うけど
- 124 :デフォルトの名無しさん:2020/03/21(土) 22:09:25 ID:q0JXMky4.net
- >>118
Pythonをやる前にC++をやった方が良いな
Cできる奴はすごい奴が普通だからC++はたいして難儀しないで習得できるだろ
で、C++後、Pythonをやるとあっという間に覚えられるだろ
- 125 :デフォルトの名無しさん:2020/03/21(土) 22:26:44 ID:dNABuBCe.net
- C++よりJavaの方がかんたんじゃあない?
- 126 :デフォルトの名無しさん:2020/03/21(土) 22:58:28 ID:Ex88LOVb.net
- Javaは論外
C++はやりたければやっても良いが
おすすめは C → C# → Python
- 127 :107:2020/03/22(日) 00:05:14.38 ID:N8kSP/ah.net
- 皆さんありがとうございます
そもそもdefにすべきだったんですね
せいとんして頑張ってみます
- 128 :デフォルトの名無しさん:2020/03/22(日) 00:06:47.19 ID:uitKMHee.net
- >>88
しばらくログインできず、今日書き込みみて解決しました
ありがとうございます
- 129 :デフォルトの名無しさん:2020/03/22(日) 04:34:16 ID:MsuEDB7g.net
- 仕事で目にするPythonコードってただ一本調子でデータを加工するだけで
オブシコどころか階層化プログラミングすら怪しいのが多いわ
コピペも多いし、ぶっちゃけCOBOLレベル
- 130 :デフォルトの名無しさん:2020/03/22(日) 05:07:51.41 ID:HpFFHFhU.net
- Ruby を1 とすると、
Python : 3
JavaScript : 5
C++ : 10
- 131 :デフォルトの名無しさん:2020/03/22(日) 06:02:56.25 ID:23B6vY1A.net
- 今からC++やるくらいならRustでいいって
- 132 :デフォルトの名無しさん:2020/03/22(日) 07:02:48 ID:ZXA28Lms.net
- >>125
そう簡単だよ
そしてたいていの言語はC++よりは簡単
>>126
JavaはC#より開発現場で使われてるからな
言語仕様は後発のC#の方がモダンだが
C → C# → Python
その言語の中ではPythonが一番易しいから
Pythonから始めるのがオススメ
- 133 :デフォルトの名無しさん:2020/03/22(日) 08:13:12 ID:ZXA28Lms.net
- >>129
どんな言語も使う人しだい
- 134 :デフォルトの名無しさん:2020/03/22(日) 08:40:06 ID:+zhuPTS1.net
- >>133
それはその通り
でPythonはメジャーな言語の中では比較的コード自体に興味がなくて目的を達成できさえすればよいと考えるタイプの人が多い
まあ、だからこそ収入も高い傾向があるんだけどね
- 135 :デフォルトの名無しさん:2020/03/22(日) 10:10:27 ID:CQOUf5Rv.net
- >>129
これは同感
良くも悪くもそういう用途にフィットした言語
オブジェクト指向をpythonで勉強しましたってやつにはロクなのがいない
- 136 :デフォルトの名無しさん:2020/03/22(日) 10:55:10 ID:E2r2YkBt.net
- >>129
一本調子でデータを加工するだけの処理だからpythonでササっと書いてるのでは?
単に目的に合った選択をしているだけの様に思えるが
- 137 :デフォルトの名無しさん:2020/03/22(日) 11:20:43 ID:nmqMfNjC.net
- コボル人(こぼるど)ばかにすんなよw
そろそろコボルのXデー近づいてるから
CやPythonに書き換えるお仕事わいてきてるはずなんだからー
- 138 :デフォルトの名無しさん:2020/03/22(日) 12:29:39.70 ID:F4lre3ad.net
- matplotlib pyplot とか使うとオブジェクト指向に出来なくて(出来なくはないけど)
適当に描いてるうちにダラダラしてしまうことが多いのは事実
だが意識他界系の人なら綺麗なコードになる
- 139 :デフォルトの名無しさん:2020/03/22(日) 12:30:59.32 ID:F4lre3ad.net
- あと Blender の python も気付くとダラダラしてしまってる
気を付けないとな
- 140 :デフォルトの名無しさん:2020/03/22(日) 13:41:56.02 ID:ZvBqcowf.net
- バッチ処理みたいなものをわざわざオブジェクト指向丸出しで書く奴のがあほだわ。
関数型にこだわる方がまだマシ。(どっちも度が過ぎるとあほだが)
- 141 :デフォルトの名無しさん:2020/03/22(日) 13:57:41.92 ID:vfDbz2/7.net
- 関数型っていまいち理解できないんだけど、どーゆう考え方なんですか?
- 142 :デフォルトの名無しさん:2020/03/22(日) 14:01:19.29 ID:Kdd1oU3M.net
- ITの巨大掲示板群 ttp://x0000.net
(アルファ・ラボ|学術掲示板群)
- 143 :デフォルトの名無しさん:2020/03/22(日) 14:24:43.15 ID:2vh8Rzak.net
- つーかその場でササッと書いて動かしてナンボのやっすい言語で
いちいちクラス設計するのは本末転倒だわ
Pythonにはオブジェクト指向は似合わない
- 144 :デフォルトの名無しさん:2020/03/22(日) 14:29:51.93 ID:Brl/ne7K.net
- >>143
オブジェクト思考が解らん言い訳はやめろ
そんなに難しいものじゃないぞ
- 145 :デフォルトの名無しさん:2020/03/22(日) 14:30:48.95 ID:ZXA28Lms.net
- Pythonが昔のPHPみたいになってるな
- 146 :デフォルトの名無しさん:2020/03/22(日) 14:37:14.93 ID:gZZd+KZ5.net
- >>140
いうても関数型プログラミングのサポートしょぼいからな
結局昔ながらの手続き型がもっともPythonに合ってる
- 147 :デフォルトの名無しさん:2020/03/22(日) 14:43:27.89 ID:InwIdT4/.net
- 関数型って何だろうと思ってHaskellいじってみたけど、頑張って再帰関数で処理する事を考えるプレイとまでしか思えなかった
- 148 :デフォルトの名無しさん:2020/03/22(日) 14:49:10.52 ID:VphPQW8g.net
- 大抵の再帰処理はlispの時代に出尽くした
あとはそれの応用、というか真似るだけ
正規表現だって人類に必要なやつの80%はperlの時代に出尽くした
あとは考える必要はない、探して真似るだけ
- 149 :デフォルトの名無しさん:2020/03/22(日) 15:25:09.14 ID:jnVmWLvn.net
- >>147
変に複雑に考えんでも、参照透過性、副作用させないってことを意識したプログラムって
考えればええわ。(そもそも lisp, erlang, haskell, その他色々でも捉え方は違うし)
それによってデバッグしやすくなったりパイプライン処理やブロードキャスト処理が
しやすくなるってことくらい押さえとけばよし。
- 150 :デフォルトの名無しさん:2020/03/22(日) 17:42:34.15 ID:uitKMHee.net
- すごくアホな質問だとおもうのですが
def df=input_data()
def df1=analyze1(df)
def df2=analyze2(df1)
.
.
.
def df10=analyze10(df9)
def draw_graph(df10)
みたいにテキストファイルからdfにデータ読み込み
10個ぐらい解析処理
df10でグラフを描写
みたいなプログラムを書きました。
- 151 :デフォルトの名無しさん:2020/03/22(日) 17:45:46.53 ID:VphPQW8g.net
- df0からdf10まで11個あるんだろ
次はdf100までちゃんと書くんだぞ
コピペすれば早く終わるからな
- 152 :デフォルトの名無しさん:2020/03/22(日) 17:58:36.92 ID:uitKMHee.net
- 146間違えました
すいません
- 153 :デフォルトの名無しさん:2020/03/22(日) 17:59:05.59 ID:uitKMHee.net
- すごくアホな質問だとおもうのですが
df=input_data()
df1=analyze1(df)
df2=analyze2(df1)
.
.
.
df10=analyze10(df9)
draw_graph(df10)
みたいにテキストファイルからdfにデータ読み込み
10個ぐらい解析処理
df10でグラフを描写
みたいなプログラムを書きました。
ここまではうまく行ったのですが、
データ決定→グラフ描写
を1回だけでなく2回行い並べて表示させたくなりました。
- 154 :デフォルトの名無しさん:2020/03/22(日) 18:01:57 ID:uitKMHee.net
- この場合先程の
analyze1〜analyze10
までを一つのクラスProcessDataにして2つのインスタンスABを生成して実行すればいいかと考えたのですが、
process_dataA=ProcessData
dfA=process_dataA.input_data()
.
.
.
df10A=process_dataA.analyze10(df9A)
process_dataA.draw_graph(df10A)
process_dataB=ProcessData
dfB=process_dataB.input_data()
.
.
.
df10B=process_dataB.analyze10(df9B)
process_dataA.draw_graph(df10B)
とインスタンスAとインスタンスBに対して全く同じ処理を行うルーチンを2度書くのがあまりに冗長な気がするのですが、なにか良い方法ないでしょうか?
- 155 :デフォルトの名無しさん:2020/03/22(日) 18:12:23 ID:ZvBqcowf.net
- 関数として処理を切り出せばいいんじゃないんですかね。。
- 156 :デフォルトの名無しさん:2020/03/22(日) 18:28:56 ID:I5Su+SV6.net
- >>154
途中のdfが不要なら上書きしていけばいい
Pandas使うときはよくやる
df = input_data()
df = analyze1(df)
df = analyze2(df)
…
それを関数に抽出
def analyze_data(df):
____df = analyze1(df)
____df = analyze2(df)
…
____return df
df = analyze_data(input_data())
draw_graph(df)
関数のリストを作ってそれを適用する方法もいろいろとあるけど
今の段階なら上の方法からやるのがいいかと
- 157 :デフォルトの名無しさん:2020/03/22(日) 18:51:28 ID:I5Su+SV6.net
- >>156
>途中のdfが不要なら上書きしていけばいい
自分で書いといてなんだが
df = df.apply(analyze1)とかでapplyできる形でなく
全く異なる別のDataFrameを生成してるんであれば変数名は変えたほうがいいかも
- 158 :デフォルトの名無しさん:2020/03/22(日) 19:17:25 ID:bt+rsTJI.net
- Categories > Tech > Languages (Python)
https://duckduckgo.com/bang?c=Tech&sc=Languages+(Python)
ドキュメントの探し方
https://news.mynavi.jp/itsearch/article/devsoft/4859
>任意の機能を持った対話システムを自分で開発する場合にはどうしたらよいのでしょうか。
当然ながら、必要なモジュールは自分で探す必要があります。しかし、プログラミングを始めて間もない方の多くは、
どうやって調べたらいいかわからないのではないでしょうか?
そこで今回は、「カレンダーを表示する対話システム」の開発を想定し、
カレンダー機能の実装方法を調べていくプロセスを紹介したいと思います。
- 159 :デフォルトの名無しさん:2020/03/22(日) 20:06:02 ID:wPnS/MwM.net
- 再帰関数に慣れると今度は逆にループが面倒になる
- 160 :デフォルトの名無しさん:2020/03/22(日) 20:06:07 ID:uitKMHee.net
- >>156
なるほど
クラスにするとインスタンス生成して、ポインタ指定しなければいけないから、冗長になるけど、
あえてクラスにしないで関数にするとシンプルになりますね。
オブジェクト指向でクラスにしなければいけないと思ってたけどあまり黄にしなくていいのかなぁ。
- 161 :デフォルトの名無しさん:2020/03/22(日) 20:14:11 ID:V1WguA+k.net
- df自体がDataflameオブジェクトのインスタンスなんだけどそんなこともわかってないのかな
- 162 :デフォルトの名無しさん:2020/03/22(日) 20:59:21 ID:034if9xC.net
- 関数型プログラミング HOWTO
https://docs.python.org/ja/3/howto/functional.html
- 163 :デフォルトの名無しさん:2020/03/22(日) 21:23:41 ID:ZXA28Lms.net
- >>150
「df10」みたいに
変数名や関数名、クラス名などに
数字がつく時点で間違ってる
Pythonのまともな本の
サンプルコードでは
まずそうなってないはず
- 164 :デフォルトの名無しさん:2020/03/23(月) 07:00:21 ID:jGS2rL5b.net
- >>160
Ruby では普通は、モジュール内にはクラスを定義するけど、
単にモジュール関数も定義できる。
例えば、my_utility.rb 内に、モジュールを定義する
module MyUtility
def my_func( 引数 )
end
module_function :my_func # 外部へ公開する
end
別のファイルで、上のモジュールを読み込んで、関数を呼び出す
require_relative "my_utility.rb"
MyUtility.my_func( 引数 )
- 165 :デフォルトの名無しさん:2020/03/23(月) 07:17:37.19 ID:AJbCMuHR.net
- >>160
あえて一言でポイントだけ言うと
クラスを作るかどうかは
状態を管理したいかどうか
- 166 :デフォルトの名無しさん:2020/03/23(月) 08:22:42 ID:Wiq2xD8N.net
- Pythonって文字列部分にダブルクオートを使わずに
シングルクオートを使って書かれてるコードの方が多い気がするんですけど何か意味あるんですか?
シングルクオートのキーボードの位置って結構押しづらい位置にあるからあんまり使いたくないんですけど
- 167 :デフォルトの名無しさん:2020/03/23(月) 08:26:12 ID:1jGdZOlI.net
- >>163
すいません。
実際の名前を書くと長くなりすぎるかと思って適当な名前をつけてしまいました。
ちなみに実験条件1、実験条件2データを
experimental_condition1
experimental_condition2
というのもあまり良くないのでしょうか?
- 168 :デフォルトの名無しさん:2020/03/23(月) 08:28:16 ID:1jGdZOlI.net
- >>165
状態を管理するってどういう意味でしょうか?
本とかでゲームを題材に敵を量産するためにクラスを作るのはわかりやすいのですが、
数値計算とかだと、どこでクラスを使うべきかよくわからなくなります
- 169 :デフォルトの名無しさん:2020/03/23(月) 08:30:56 ID:xjUUBC3G.net
- >>166
USキーボードはダブルよりシングルの方が押しやすいから
- 170 :デフォルトの名無しさん:2020/03/23(月) 08:36:28 ID:1jGdZOlI.net
- >>162
なるほど
関数型プログラミングとは聞いたことがありましたが、こちらの方が数値計算とかだとしっくりくるような気がしますね
- 171 :デフォルトの名無しさん:2020/03/23(月) 08:36:49 ID:AJbCMuHR.net
- >>168
単純な数値計算は関数だけでもいい
むしろその方がスッキリする
三角関数とかに状態とかないから
ゲームの場合は状態遷移の塊で
状態を保存しておきたいから
クラスを作りインスタンスを生成する
- 172 :デフォルトの名無しさん:2020/03/23(月) 08:48:04 ID:Wiq2xD8N.net
- >>169
ありがとうございます
そういう理由なんですね
- 173 :デフォルトの名無しさん:2020/03/23(月) 14:16:09 ID:QFUl7nfE.net
- >>166
US-ASCII キーボード使え
- 174 :デフォルトの名無しさん:2020/03/23(月) 14:18:54 ID:QFUl7nfE.net
- >>167
dfA とか dfB とか dfZ とか使ってる人もいる
どっちにしろ素人丸出しコードになるのでお薦めはしない
- 175 :デフォルトの名無しさん:2020/03/23(月) 15:27:10 ID:ryqQXgQk.net
- >>166
なんでだろう(´・ω・`)
- 176 :デフォルトの名無しさん:2020/03/23(月) 15:32:39.96 ID:GoZ/zzdR.net
- "..." より '...' の方が見やすいから
- 177 :デフォルトの名無しさん:2020/03/23(月) 16:09:30.51 ID:ryqQXgQk.net
- ぺっぷってやつにどっちが推奨とか書いてないの(´・ω・`)
- 178 :デフォルトの名無しさん:2020/03/23(月) 16:16:46 ID:8qspM6DN.net
- """hogehoge"""
↓よりも見易いのは
↓こっちやろ
'''hogehoge'''
- 179 :デフォルトの名無しさん:2020/03/23(月) 16:38:38 ID:z9Gq1+e6.net
- blackがダブルクォーテーション推してるからダブルクォーテーション使え
- 180 :デフォルトの名無しさん:2020/03/23(月) 16:52:05 ID:AJbCMuHR.net
- >>167
(とくに二桁以上に増える可能性があるものは)
後で複雑化して大変になるから
たとえば配列を使ったりして
番号を振らないで済むようにする方が推奨できる
- 181 :デフォルトの名無しさん:2020/03/23(月) 17:23:40 ID:oBNr3evO.net
- >>179
> black
とは何?
- 182 :デフォルトの名無しさん:2020/03/23(月) 17:23:45 ID:VZVdXewz.net
- >>167
なげーよ、短く且つなんのデータフレームかわかる命名しな。センスが問われる。
- 183 :デフォルトの名無しさん:2020/03/23(月) 17:24:55 ID:VZVdXewz.net
- >>166
C#ではダブコ使うからダブコに合わせる
- 184 :デフォルトの名無しさん:2020/03/23(月) 17:52:55 ID:v136K/0Z.net
- >>181
pythonのほぼ公式formatter
- 185 :デフォルトの名無しさん:2020/03/23(月) 19:06:21 ID:6kgKLG+2.net
- >>167
テストが2つしかないと明確に決まってるなら〜one,〜twoでいいと思うけど
それがいくつになるのか解らない、もしくは多いのならリストを使って
〜[x]としたほうがスマートというか扱いやすい
変数名、関数名、クラス名に数字を使わないというのは
プログラムの作法(?)として言語を問わず普通というか当たり前
- 186 :デフォルトの名無しさん:2020/03/23(月) 19:12:01 ID:6kgKLG+2.net
- あと、なんか知らんけどこのスレ、プログラミング自体が初めてな
感じの奴多い気がするんだけど、学生なのかね?
なんかpython選択しちゃってどうしたらいいか解らない的な
質問が多い気がする
- 187 :デフォルトの名無しさん:2020/03/23(月) 19:31:59 ID:AJbCMuHR.net
- >>186
PythonのPHP化だよ
すそ野が広がれば初心者も増える
- 188 :デフォルトの名無しさん:2020/03/23(月) 19:38:36 ID:7lDoSnDw.net
- 超初心者ってのはプログラミング自体初めてっていうヤツのことなんじゃないの
初心者に輪を掛けて超がついてんだよ
それ以外に何かいるの
- 189 :デフォルトの名無しさん:2020/03/23(月) 20:08:06 ID:c8DMHYto.net
- >>184
まだベータのくせに
- 190 :デフォルトの名無しさん:2020/03/23(月) 20:17:50 ID:1xaugprd.net
- >>187
ユーザー層的にはPHP化というよりExcel化だな
- 191 :デフォルトの名無しさん:2020/03/23(月) 20:44:39 ID:kT8JkACi.net
- >>187
やめろよ、Ruby野郎が来るだろうが
- 192 :デフォルトの名無しさん:2020/03/23(月) 21:28:47 ID:qQ8i/Woj.net
- わいRuby厨、いまからプログラミング始める学生に勧めるならもうRubyよりPythonかなって思ってたけど、お前らは最初の言語は何がいいと思ってんの?
- 193 :デフォルトの名無しさん:2020/03/23(月) 21:34:54 ID:OcfkpGgM.net
- C
- 194 :デフォルトの名無しさん:2020/03/23(月) 21:38:14 ID:edDkqZEC.net
- Java
- 195 :デフォルトの名無しさん:2020/03/23(月) 21:42:04 ID:oBNr3evO.net
- 最初ならアセンブリ。冗談じゃなく。
ほんのちょっと齧っておくだけでいい。
- 196 :デフォルトの名無しさん:2020/03/23(月) 21:44:01 ID:iyDg9ARV.net
- >>192
目的次第
- 197 :デフォルトの名無しさん:2020/03/23(月) 21:51:24.25 ID:OcfkpGgM.net
- >>195
Cとどっち書くか悩んだw
- 198 :デフォルトの名無しさん:2020/03/23(月) 22:31:15 ID:HqH2Bd5g.net
- >>186
本屋いってみ?
スクラッチとパイソンだらけだ
あの状況はちょっとやばい気がするぞ
- 199 :デフォルトの名無しさん:2020/03/23(月) 22:38:57.44 ID:FCRLK915.net
- 供給過多で単価が下がるのはプロパー的にはありがたい
Pythonはコーディングスタイルを統制しやすいから低スキル層を束にして使うには向いてる
- 200 :デフォルトの名無しさん:2020/03/23(月) 22:58:03.59 ID:nO6Hkmtv.net
- なんかJavaに似てきたな
- 201 :デフォルトの名無しさん:2020/03/23(月) 23:43:21.26 ID:1jGdZOlI.net
- >>171
なるほどわかりやすいです
自分はゲームとか作ることはないので、
クラスにする必要性はなかったのか・・・
C#の初心者本とか見てるとクラスにしないといけないような脅迫観念があった
- 202 :デフォルトの名無しさん:2020/03/23(月) 23:50:51.99 ID:1jGdZOlI.net
- >>185
配列は自分も考えたのですが、
今回は2つまでなの確定なんですよね
before, afterの頭文字とって
DF_B, DF_A
とかしたら訳わかんなくなるんだろうな
名前決めるのって難しい
- 203 :デフォルトの名無しさん:2020/03/24(火) 00:02:33 ID:IXy5V4dp.net
- plt.plotで2つのグラフを順番に表示させると、
1名目のグラフのウインドウを閉じないと、2枚目のグラフのウインドウが表示されないのですが、
同時に表示させる方法ってないでしょうか?
- 204 :デフォルトの名無しさん:2020/03/24(火) 00:45:33.00 ID:LPFDXKjv.net
- >>199
>低スキル層
で、超ゆとり教育を激受けて脳が未発達で実質知的障碍者に近いレベルの奴が
たむろしているのが俺らのこのスレだからな。
- 205 :デフォルトの名無しさん:2020/03/24(火) 06:29:07.51 ID:bL2MV1BQ.net
- >>192
Ruby
だと本当は思ってるが
今はPythonなんだろうな
- 206 :デフォルトの名無しさん:2020/03/24(火) 13:10:59.54 ID:JQ7YmFwi.net
- >>203
https://qiita.com/gaku8/items/90167693f142ebb55a7d
- 207 :デフォルトの名無しさん:2020/03/24(火) 15:11:22 ID:BIkwDKwH.net
- Pythonはプロの開発に使われることはまずない
開発以外に主眼が置かれている人工知能などは別として
プログラマの主戦場である業務系やWEB系ではまず使われない
自分自身でアイデアも実装も出すとこならPythonも可能性があるが
他者の依頼によって開発する場合にPythonが採用されることはない
- 208 :デフォルトの名無しさん:2020/03/24(火) 15:27:20 ID:JQ7YmFwi.net
- うそは遺憾
- 209 :デフォルトの名無しさん:2020/03/24(火) 15:28:42 ID:2IImYa+R.net
- Google「…」
- 210 :デフォルトの名無しさん:2020/03/24(火) 16:49:53.35 ID:PQNg46N/.net
- >>207
プwww
典型的な日本のPGですね、君www
- 211 :デフォルトの名無しさん:2020/03/24(火) 17:25:17 ID:AhcKlC54.net
- >>210
> PG
とは何?
- 212 :デフォルトの名無しさん:2020/03/24(火) 17:25:50 ID:lkiW86Z2.net
- GoogleやNetflixやDropboxはプロでもWEB系でもはなかった…?
- 213 :デフォルトの名無しさん:2020/03/24(火) 17:40:47 ID:BIkwDKwH.net
- >>212
WEB系とはWEB技術を使って業務システムを作ること
オープン系の対義語
またそれらの企業は「他者の依頼によって開発」ではなくて自社開発
>>210
日本だったらこれが常識だよね
COBOL、VB、Javaが職業プログラマの基本
さらに言うならOracle、SQLServer、DB2も習得していると望ましい
Pythonって要するに日本でいうBASICと同じ立ち位置
例えば最も普及しているBASICであるExcelVBAがいくら便利でもそれで基幹システムつくらないよねって話
GoogleだってPythonはタスク管理程度にしか使ってない
大事なところは別言語(時代によって採用言語は変わるがPythonではない)
あと、よく言われるけどPepperもPythonじゃないからな
あれはユーザー側が簡易に制御できる言語としてPythonを採用してるだけだ
- 214 :デフォルトの名無しさん:2020/03/24(火) 18:11:00 ID:AIaPjsf6.net
- >例えば最も普及しているBASICであるExcelVBAがいくら便利でもそれで基幹システムつくらないよねって話
これでド素人ということが分かった
- 215 :デフォルトの名無しさん:2020/03/24(火) 18:23:40 ID:vOY7KxyH.net
- 基幹システムといえるかどうか微妙だが
情報システム部門で日報作るのにExcelマクロ必須だったな
- 216 :デフォルトの名無しさん:2020/03/24(火) 18:25:36 ID:X05gwniq.net
- ExcelVBAで基幹システムって
作らないのではなく作れないし
- 217 :デフォルトの名無しさん:2020/03/24(火) 18:43:36.81 ID:nAY9Fr3h.net
- >>216
お前も210から見ればただのド素人
実は僕もなんですけど
- 218 ::2020/03/24(火) 19:37:14.98 ID:KtfI6cNR.net
- >>213
>Oracle、SQLServer、DB2も習得していると望ましい
ちょっと古いのでは?
今は postgreSQL
- 219 :デフォルトの名無しさん:2020/03/24(火) 19:44:33 ID:UmmDZ9z0.net
- >>216
作れない?
高くつくから作らないだけだろ
コストと日程くれるなら作るよ
- 220 :デフォルトの名無しさん:2020/03/24(火) 20:48:40 ID:uDM2IrFv.net
- ガチればストアドプロシージャだけでも基幹システムは作れるゾ
- 221 :デフォルトの名無しさん:2020/03/24(火) 21:18:52.66 ID:PjM8J8DG.net
- 12345678みたいな入力を\x78\x56\x34\x12に変換するライブラリってありませんか?
もしくは今そんな感じの自作モジュールを作ろうとしてて、
/usr/bin/mymodule/
以下にchange.py、その中に入れる関数の方のchange(s)まではできたんですが
from mymodule import change
change.change(s)
と毎回関数changeを呼び出す為に2回書かなきゃいけないのが気に入らないので
この関数changeを一発でimportする方法を教えてください
ワンライナーでも多用する予定なので、できる限りタイピングする文字数を小さくしたいんです
- 222 :デフォルトの名無しさん:2020/03/24(火) 22:55:36 ID:UBy3gEYu.net
- >>215
全然微妙じゃなくて吹いたわw
Excel VBAで基幹システムって言ってるやつは
UI部分にExcelとVBAを使ってるって話だろ
- 223 :デフォルトの名無しさん:2020/03/24(火) 23:05:47 ID:AhcKlC54.net
- >>221
#include <time.h>
t = time();
などと2行書くものだと信じていたので、質問に驚きました。
- 224 :デフォルトの名無しさん:2020/03/24(火) 23:16:28 ID:PjM8J8DG.net
- >>223
あ、すみません後半のchange.change(s)みたいにファイル名と関数名を
一々書かなきゃいけない方が嫌なだけで、一行目のimportは当然OKです
python -c "import change(もしくはfrom 〇〇 import change);change(s)"
みたいな感じの物を実現したいです。
- 225 :デフォルトの名無しさん:2020/03/24(火) 23:36:57 ID:LPFDXKjv.net
- いまやPythonは基幹システムに使われるメジャー言語になっているから
職業プログラマが必死にPythonをやっているからな
- 226 :デフォルトの名無しさん:2020/03/24(火) 23:38:03 ID:UBy3gEYu.net
- >>221
$ touch /usr/bin/mymodule/__init__.py
from mymodule.change import change
https://docs.python.org/3/tutorial/modules.html#packages
- 227 :デフォルトの名無しさん:2020/03/25(水) 01:43:26.05 ID:E7HPnXVD.net
- >>226
ありがとうございます!
importのやり方普通のやつとfrom ~ import ~しか分かってませんでした、反省します
- 228 :デフォルトの名無しさん:2020/03/25(水) 03:28:12.51 ID:BoSHYqnZ.net
- 自分の周りでは少なくとも、治自体関係、医療関係(レセプト、電子カルテ等)、
運送・運輸関係の基幹システムをPythonで構築しているという話は聞いた事
がない。コールセンター(CTI、IVR等)関係のシステムをPythonで構築している
という話も聞いた事がない。
基幹システムをPythonで構築ではなく、基幹システムの一部の機能にPythonが
使われている場合があるという事なのか。
それとも情報系システムと勘違いしているのか。
- 229 :デフォルトの名無しさん:2020/03/25(水) 03:36:55.77 ID:BoSHYqnZ.net
- 基幹系システムと情報系システムの違い
https://www.hitachi-solutions-create.co.jp/column/core-system/basic-information.html
- 230 :デフォルトの名無しさん:2020/03/25(水) 06:18:41 ID:D6nq+1Z6.net
- フレッシュなニンニクジュースを飲めばコロナ菌は死滅する!
- 231 :デフォルトの名無しさん:2020/03/25(水) 09:58:04 ID:oItmf4ur.net
- スレ違いの上エビデンスなしはNG
- 232 :デフォルトの名無しさん:2020/03/25(水) 10:51:24.12 ID:u29o72QF.net
- ニンニクジュースの話はスレチだな
- 233 :デフォルトの名無しさん:2020/03/25(水) 12:02:43 ID:nfUzvxHY.net
- COBOL、VB、Javaが、多重請負構造・奴隷土方プログラマの基本w
銀行側が払う料金
時給5千円 * 180時間 = 1人月90万円
その内、本人は20〜30万円ぐらいもらう。
その差額、60万円分で、数社の会社が成立できる仕組み
その60万円を多重請負構造で分ける
例えば、元請けのIBM(5大ITer)が30万円とって、
1次受けの上場企業が20万円とって、
2次受けの中小企業が10万円とって、みたいな土建業と同じの多重請負構造
就職面接へ行くと、1〜3次受けの会社員が皆来てるw
1次受けが雇うというと、2次も雇う、3次も雇うとなるw
奴隷売買業w
女衒みたいなものw
GitHub・Ruby みたいな自社サービス系とは全く違う!
学校で教えるのは、就職率が高い、Ruby ばっかりw
自社サービス系の方が、会社の倒産リスクは高いけど、
中間会社に抜かれないから、給料が高い
- 234 :229:2020/03/25(水) 12:06:10 ID:nfUzvxHY.net
- それに銀行系は、システム更新時期が過ぎたから、仕事が無くなったw
- 235 :デフォルトの名無しさん:2020/03/25(水) 12:17:37 ID:KDJCx941.net
- プロは複数言語使えるのが当たり前なんだからPythonが基幹システムに使われようが使われなかろうがどうでもいいだろ。
言語の特性上向いてない目的を挙げて特定の言語をdisすることになんの意味があるのかわからん。
他言語のコード書いてるときでも、データ変換やある程度決まりきったコードなんかはPythonで生成したりしてるが便利だよ。他言語で書いたアルゴリズムが間違ってないかの検証なんかにも使えるし。
- 236 :デフォルトの名無しさん:2020/03/25(水) 12:46:54 ID:qvXjJ9lz.net
- 生成や検証ってpython以外のP言語でも出来るんじゃねえの
- 237 :デフォルトの名無しさん:2020/03/25(水) 14:06:06 ID:nfUzvxHY.net
- Haxe は、JavaScript, C++, C#, Java, JVM, Python, Lua, PHP, Flash に変換できる
- 238 :デフォルトの名無しさん:2020/03/25(水) 16:52:47.61 ID:6ULKuSqz.net
- >>221
>>> binascii.a2b_hex('12345678')
b'\x124Vx'
>>> list(reversed(binascii.a2b_hex('12345678')))
[120, 86, 52, 18]
>>> bytes(reversed(binascii.a2b_hex('12345678')))
b'xV4\x12'
- 239 :デフォルトの名無しさん:2020/03/25(水) 19:56:42 ID:mIdHRgzi.net
- >>221
structパッケージかな
from struct import pack
pack('<I', int('12345678', 16))
長いというならラムダ式でも使って
change = lambda s: pack('<I', int(s, 16))
と定義すれば
change('12345678')
で使える
- 240 :デフォルトの名無しさん:2020/03/25(水) 20:53:06.37 ID:E7HPnXVD.net
- >>238
>>239
ありがとうございます、ただやりたいのは入力数値をそのまま\x78\x56……
みたいな方式に変えたいことで16進数に変換されるとちょっと不都合が
セキュリティ本のシェルコード挿入でそういう入力多かったので作ろうと思ったんですが
もしかして普通は上みたいな入力使う機会ないんですかね?
- 241 :デフォルトの名無しさん:2020/03/25(水) 20:59:06.96 ID:i/r3a70w.net
- ごめん何言ってるか判らないω
- 242 :デフォルトの名無しさん:2020/03/25(水) 21:11:26.87 ID:mIdHRgzi.net
- >>240
\x78
は16進数で78のことを表している
16進数であることを明確にするにはH'78と記述する
プログラムでは0x78と書く
\x78\x56...みたいな16進バイト列を作りたいんだけど、16進数にされるとちょっと困る、と言われても、こっちも困る
- 243 :デフォルトの名無しさん:2020/03/25(水) 21:19:52 ID:XgBtMRgR.net
- 要するにchange.change(s)って毎回書くのだるいからchange(s)って書くにはどうすればいいかってこと?
- 244 :デフォルトの名無しさん:2020/03/25(水) 21:21:00 ID:E7HPnXVD.net
- https://dotup.org/uploda/dotup.org2096094.png.html
画像はbashですがこんな感じでAAAA\x78\x56……という文字列を出力したいんです。
って言おうとしてたんですがすみません、これの出力が
AAAAAAAAAA\x78\x56\x34\x12
になるとずっと思っていたんですが、嫌な予感がしたので今確かめたら
AAAAAAAAAAxV4
になってました
つまり>>238の方と>>239の方のやり方が求めていた者です、ありがとうございます。
初心者の勘違いでお騒がせをしてスレを汚してしまい申し訳ありませんでした……orz
- 245 :デフォルトの名無しさん:2020/03/25(水) 22:46:13.13 ID:mIdHRgzi.net
- >>244
プログラムに組み込んでパイプで渡したいだけなら何もする必要はない
python -c "import sys; sys.stdout.write('AA\x12\x34')" | hexdump -C
結果
00000000 41 41 12 34 |AA.4|
コマンドライン引数でこの文字列を受け取った上で別のプログラムに渡す場合は、自分で作らないとない
python -c "import sys; sys.stdout.write(sys.argv[1])" "AA\x12\x34" | hexdump -C
結果
00000000 41 41 5c 78 31 32 5c 78 33 34 |AA\x12\x34|
\x12がH'12の1バイトではなく、H'5c783132の4バイトとして評価される
- 246 :デフォルトの名無しさん:2020/03/26(Thu) 21:17:50 ID:jt2f7/Y4.net
- def file_open():
data_path = fd.askopenfilename(
title="ファイルを選んでください",
filetypes=[("TEXT", "csv"), ("TEXT", "py"), ("HTML", "html")]
)
def main():
a=input()
if a!='1':
file_open()
を実行すると、VS CODEのウインドウの下に非アクティブでファイル選択ウインドウが立ち上がります。
ファイル選択ウインドウを再前側でアクティブウインドウとして立ち上げたいのですがどうすればいいのでしょう?
- 247 :デフォルトの名無しさん:2020/03/26(Thu) 21:45:03 ID:jt2f7/Y4.net
- if文ぬいて
def file_open():
data_path = fd.askopenfilename(
title="ファイルを選んでください",
filetypes=[("TEXT", "csv"), ("TEXT", "py"), ("HTML", "html")]
)
def main():
file_open()
とするとファイル選択ウインドウが最前面にきてアクティブになるんですよね
なんでだろう
- 248 :デフォルトの名無しさん:2020/03/26(Thu) 21:49:37 ID:jt2f7/Y4.net
- ああ、なんとなくわかってきました
input()
を使うと、VS CODEが最前面でアクティブのままロックされて、
そのウインドウの裏でファイル選択ウインドウが開くみたい
input()を使ってこの現象をさける方法ってありませんか?
- 249 :デフォルトの名無しさん:2020/03/26(Thu) 22:02:56 ID:jt2f7/Y4.net
- 連投すいません
data_path = fd.askopenfilename(
title="ファイルを選んでください",
filetypes=[("TEXT", "csv"), ("TEXT", "py"), ("HTML", "html")]
)
でファイルを開くときに、選択ウインドウを常にアクティブにする設定があれば教えて下さい
というのが、正しい質問でした
ご存知の方いらっしゃいましたら教えて下さい
- 250 :デフォルトの名無しさん:2020/03/27(金) 01:28:39 ID:DFFADnRu.net
- >>249
fd ってのが from tkinter import filedialog as fd なら
tkinter で topmost を指定してあげれば良いんじゃないかな?
https://teratail.com/questions/145112
- 251 :デフォルトの名無しさん:2020/03/27(金) 23:36:36 ID:wFQ5Bfhf.net
- >>250
解決しました!!!
ありがとうございます
もうわからないから、
print('この画面を最小化してね’)
とでもしようかと思ってたw
- 252 :デフォルトの名無しさん:2020/03/28(土) 22:27:12.81 ID:BYkjXtO6.net
- 初歩的な質問ですみません。Colaboratory を使ってスクレイピング行っておりURLのみを表示させたいので
get使ったのですがAttributeErrorになってしまいます。
getを使わずa_tagsだけ入力するとエラーにならずに表示されます。
getが使えないのは何が原因なのでしょうか?
import requests
from bs4 import BeautifulSoup
page_url ="https://news.yahoo.co.jp/topics/top-picks"
r = requests.get(page_url)
soup = BeautifulSoup(r.text, features="html.parser")
a_tags = soup.find_all("a", class_="newsFeed_item_link")
a_tags.get("href")
- 253 :デフォルトの名無しさん:2020/03/28(土) 22:48:46.72 ID:+WXFsbEZ.net
- >>252
a_tagsはlistだから
listの各要素に対してget(‘href’)する必要がある
- 254 :デフォルトの名無しさん:2020/03/29(日) 05:29:29 ID:8xENdWjm.net
- >>252
Ruby, selenium-webdriver, nokogiri で作ったが、href を取得しようとすると、エラーになる。
sleep 15 して待っても、エラーのまま
要素は存在するけど、JavaScript で動的に、href を作っているのかも。
他から取得するか、クリックするなど、何かアクションを起こせば、作られるのかも
require "selenium-webdriver"
require "nokogiri"
options = Selenium::WebDriver::Chrome::Options.new
driver = Selenium::WebDriver.for :chrome, options: options
driver.navigate.to "http://news.yahoo.co.jp/topics/top-picks"
doc = Nokogiri::HTML( driver.page_source )
css_selector = "a.newsFeed_item_link"
elements = driver.find_elements( :css, css_selector )
results = elements.map { |elem| elem.attr( "href" ) }
puts results
driver.quit
- 255 :250:2020/03/29(日) 09:52:13 ID:8xENdWjm.net
- >>254
は、nokogiri を使わず(doc という変数を使っていなかった)、
selenium-webdriver から取得していたので、
それを、20秒スリープして、nokogiriから取得するように変えたら、25個のhref を取得できた!
require "selenium-webdriver"
require "nokogiri"
options = Selenium::WebDriver::Chrome::Options.new
driver = Selenium::WebDriver.for :chrome, options: options
driver.navigate.to "http://news.yahoo.co.jp/topics/top-picks"
sleep 20
doc = Nokogiri::HTML( driver.page_source )
css_selector = "a.newsFeed_item_link"
elements = doc.css( css_selector )
results = elements.map { |elem| elem.attr( "href" ) }
puts results.length, results
出力、以下が25個
https://news.yahoo.co.jp/pickup/6355533
https://news.yahoo.co.jp/pickup/6355534
- 256 :デフォルトの名無しさん:2020/03/29(日) 12:43:01.48 ID:4hib/jR0.net
- すいません、ちょっと教えてもらいたいのですが
for x in ...
とかで文字を使っちゃうとまた次のforのときに
またx使うか迷うんですけどどうしてますか?
iみたいに毎回同じ文字使ってますか???
特に短いforがいくつもあるときに悩みます
- 257 :デフォルトの名無しさん:2020/03/29(日) 12:53:10.19 ID:TGQjvlT6.net
- >>256
入れ子になってる等やむをえない事情がないのなら、
新たな文字など使わずに
むしろ
どんどんxなりiなりを再利用したまへ。
「どーでもいい?forループ回すときはいつもiな!」みたいな
俺ルールの徹底は
後日メリットばっかりだぞ。
- 258 :デフォルトの名無しさん:2020/03/29(日) 13:48:18.09 ID:hrvcX8VW.net
- >>256
ループ変数としてしか使わない前提なら可
ループ変数を他の用途に使い回すのは不可
- 259 :デフォルトの名無しさん:2020/03/29(日) 15:12:01.71 ID:QD9LV+eK.net
- ループ内のネストなら昔からi,j,kやな
- 260 :デフォルトの名無しさん:2020/03/29(日) 15:31:33.32 ID:a0L6N7lT.net
- >>258
そのルールでチェックできるlinterってない?
ループの外では使うのは気持ち悪いからやらないけど
セーフガードは持っておきたい
- 261 :デフォルトの名無しさん:2020/03/29(日) 15:48:30 ID:7B/pleQ/.net
- 特に用が無いなら for _ in list:
- 262 :デフォルトの名無しさん:2020/03/29(日) 15:50:29 ID:TGQjvlT6.net
- >>261
おおお なるほどなっとく!
- 263 :デフォルトの名無しさん:2020/03/29(日) 15:55:02 ID:GHALE6C1.net
- 私も普通にi、j、k、m、l、nかな
- 264 :デフォルトの名無しさん:2020/03/29(日) 16:36:34 ID:TGQjvlT6.net
- >>263
m、lの順序が敢えて逆なのに意味はあるんけ?
- 265 :デフォルトの名無しさん:2020/03/29(日) 17:20:58 ID:PlAItnzy.net
- nとmが紛らわしいとか?
- 266 :デフォルトの名無しさん:2020/03/29(日) 17:25:13 ID:MKM75DKF.net
- i, ii, iii, iiii
とかやっちゃうな
- 267 :デフォルトの名無しさん:2020/03/29(日) 17:28:14 ID:zGVyzuX/.net
- 何だこのスレ?bad know how の集合知や〜
- 268 :デフォルトの名無しさん:2020/03/29(日) 17:41:24 ID:TGQjvlT6.net
- いいことジャマイカ
- 269 :デフォルトの名無しさん:2020/03/29(日) 17:43:26 ID:miu6elf3.net
- 特定種類のファイルとかはtext, image, folderとか
それ以外で二重以上だと分かっている時はx,y,z,w
4重ループより複雑な時は実装がおかしい
- 270 :デフォルトの名無しさん:2020/03/29(日) 18:11:39.59 ID:oXSmQy6i.net
- pythonでも高階関数使いまくったらいい感じにスッキリできるんかな
内包表記でええやんってなりそうだな
- 271 :デフォルトの名無しさん:2020/03/29(日) 18:17:29.94 ID:TGQjvlT6.net
- >>269
> 特定種類のファイルとかはtext, image, folder
これもアリでんな
>>266
目が滑るからやめとこうぜ
>>270
ハッシュ・ド・カレーだっけ?www
- 272 :デフォルトの名無しさん:2020/03/29(日) 18:27:24.84 ID:ZN7+uAYE.net
- 目が滑るとかいうワードセンス
- 273 :デフォルトの名無しさん:2020/03/29(日) 18:43:00 ID:V/YUnLMr.net
- pythonやるために格安ノートPC買いたいんやけど必要スペックとかある?
- 274 :デフォルトの名無しさん:2020/03/29(日) 18:50:50 ID:TGQjvlT6.net
- >>273
一番の問題はHDD容量だとおも。
俺のネットブックはHDDが64GBしかないから
あっぷあっぷしている。
無論CPUは速いほうがいいし、メモリも多いほうがいいのだが。
>>272
んじゃあ
老眼にキツイし、
そも、人間の指は同じキーを何度も打つのは苦手にできてるんだからやめとこうぜ
- 275 :デフォルトの名無しさん:2020/03/29(日) 19:00:46 ID:ryRl/n6a.net
- >>269
x,y使うのは座標と分かっているときだけだなぁ。そのときは外側からt,z,y,x,(wかc)
- 276 :デフォルトの名無しさん:2020/03/29(日) 19:50:47 ID:wDs4yIM0.net
- >>266
それやるぐらいならi1, i2, i3, …にするわ
- 277 :デフォルトの名無しさん:2020/03/29(日) 19:55:01.95 ID:BsqKnoOv.net
- >>253
ありがとうございます。使い方が間違っていたんですね。再度調べてみます。
>>254
>>255
ありがとうございます。seleniumでも試す際に参考にさせていただきますね。
- 278 :デフォルトの名無しさん:2020/03/29(日) 20:59:47.09 ID:vjV1ctf5.net
- >>274
アザス
- 279 :252:2020/03/29(日) 22:58:26.58 ID:4hib/jR0.net
- >>256です
ありがとうございます
自分なりにルールを決めたものを使っていくことにします。
forに変数いらないのあるなんて知らなかったです
助かります
- 280 :デフォルトの名無しさん:2020/03/29(日) 23:46:57 ID:lDauC8R5.net
- >>273
> pythonやるために格安ノートPC買いたいんやけど必要スペックとかある?
格安ノートはわりとすぐに使えなくなる。
無駄遣いになる危険性があるぞ?
PCには金を使え。
もしプログラマやデータサイエンティストになりたいなら。
- 281 :デフォルトの名無しさん:2020/03/29(日) 23:58:53 ID:I9YrUVvq.net
- 別にクライアントサイドでプログラミングしなくてもいいんでないかい
- 282 :デフォルトの名無しさん:2020/03/30(月) 00:15:31 ID:3rsb7aJk.net
- >>280
いまはやり?のビッグデータ解析とか
自然言語だの画像だのをみて、判別してくれるAIにちゃーれんじするなら、
自分のノートのスペックなんかより
ぶっちゃけ、契約するスパコンのスペックががが
- 283 :デフォルトの名無しさん:2020/03/30(月) 04:15:40.93 ID:ZTnAFgeB.net
- >>280
Colaboratory
https://colab.research.google.com/notebooks/intro.ipynb
Azure Notebooks
https://docs.microsoft.com/ja-jp/azure/notebooks/azure-notebooks-overview
オンラインでプログラミングして実行できるサイト
https://qiita.com/tttamaki/items/2b009aa957cfa4895d50
現役シリコンバレーエンジニアが教えるPythonで始めるスクラッチからのブロックチェーン開発入門
https://www.udemy.com/course/python-blockchain/
¥1,380 元の価格¥17,400 割引率92%OFF
この価格で購入できるのはあと1日!
- 284 :デフォルトの名無しさん:2020/03/30(月) 09:22:04 ID:RfAeds48.net
- >>262
pythonにもperlの$_変数を導入しようって話か?
やっぱり変数宣言なんて不必要で、みんながみんな決められた記号を使えば、誰にも分かるコードが出来上がるじゃないか
- 285 :デフォルトの名無しさん:2020/03/30(月) 09:25:34 ID:RfAeds48.net
- 無論prologにも無名変数として_が用意されてる
ttp://karel.tsuda.ac.jp/lec/prolog/intro2/
ならもう変数命名自体を排除した方がいいのでは
- 286 :デフォルトの名無しさん:2020/03/30(月) 10:36:50 ID:Ww8SKZwH.net
- ここってプログラム以前の問題もありですか?
私はターミナルを使うのにあまり慣れていません。
python2.7.3を使わなければならない用事ができました。
macでpyqt4を使おうと思いましたがインストールがうまくいっていないようです。
https://qiita.com/aical/items/2d066801a7464a676994の通りにしました。
ターミナル↓
hogenoMacBook-puro:~ hoge$ pyuic4
Traceback (most recent call last):
File "/Users/hoge/.pyenv/versions/anaconda-4.0.0/lib/python2.7/site-packages/PyQt4/uic/pyuic.py", line 26, in <module>
from PyQt4 import QtCore
ImportError: No module named PyQt4
pyuic4を使うとインストールができたかどうか確かめられるとのことで使いましたが、
どうやらpythonが認識していないようです。
pyqt4がありそうに見えるのにno moduleと言われるので困っています。
これが現在の様子です
hogenoMacBook-puro:~ hoge$ python
Python 2.7.13 |Anaconda 4.0.0 (x86_64)| (default, Dec 20 2016, 23:05:08)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
- 287 :282:2020/03/30(月) 11:05:28.11 ID:Ww8SKZwH.net
- mojave 10.14.6です
- 288 :デフォルトの名無しさん:2020/03/30(月) 18:35:12.90 ID:YcK6aFmi.net
- >>286
PyQt4がインストールされていない
conda install pyqt=4
それでも出るようなら環境変数PYTHONPATHを設定してパスを通す
export PYTHONPATH=$HOME/.pyenv/versions/anaconda-4.0.0/lib/python2.7/site-packages
- 289 :デフォルトの名無しさん:2020/03/30(月) 19:03:31.14 ID:Ww8SKZwH.net
- >>288
ありがとうございます。解決しました。
conda install pyqt=4 はつい先ほどマニュアルを読んで実行したはずが
なぜか追加要素がたくさんあって驚きました。
それでも解決しませんでしたが、次にパスを通すことでうまくいきました。
- 290 :デフォルトの名無しさん:2020/03/30(月) 19:46:36 ID:77mzFAH1.net
- 一昨日こちらでスクレイピングの質問し回答を参考にさせていただいたものです。
エラーが起きなければ25件titleとURLが取得できると思うのですが、5件しか表示させず
IndexError: list index out of rangeとなってしまいます。
指定しているインデックスの問題だと思い番号をかえたりしてみましたが改善されません。何が原因なんでしょうか?
import requests
from bs4 import BeautifulSoup
page_url ="https://news.yahoo.co.jp/topics/top-picks"
r = requests.get(page_url)
soup = BeautifulSoup(r.text, features="html.parser")
a_tags = soup.find_all("li", class_="newsFeed_item")
data = []
for h1_tag in a_tags:
tmp_article_a_tag = h1_tag.find_all("a")[0]
title = tmp_article_a_tag.text
url = tmp_article_a_tag.get("href")
print("title:{} url:{}".format(title, url))
data.append([title, url])
- 291 :デフォルトの名無しさん:2020/03/30(月) 19:57:53 ID:mLHxpijy.net
- 今日日anacondaって使うメリットあるか?
- 292 :デフォルトの名無しさん:2020/03/30(月) 20:08:48 ID:YcK6aFmi.net
- >>291
Anacondaはシステムのライブラリが足りない場合でも動くので、そういう環境の人は使えると思うよ
例えばCentOS系でDockerが使えない場合、ライブラリが古い場合でも必要なライブラリはAnacondaがインストールするので新しいpythonが使える
他には機械学習関係でcudaやcudnn等のNvidia環境を構築するのは圧倒的に楽
バージョンの干渉で迷う事はほぼない
.bashrcや.zshrcにデフォルトでAnacondaを設定するとデフォルトのPythonと環境が違うのでトラブルの元になるけど、毎回sourceコマンドを叩くのも面倒なので利便性とのトレードオフかな
- 293 :デフォルトの名無しさん:2020/03/30(月) 20:17:25.67 ID:UMPMfaDu.net
- venvみたいなめんどくさいことするならanaconda入れる方がよっぽど楽だけどね。
PATH設定くらいだからそこまで問題がわからなくなることが多いとも思わん。
- 294 :デフォルトの名無しさん:2020/03/30(月) 20:22:12.99 ID:mLHxpijy.net
- condaに入ってないライブラリをpipで持ってきて地獄を見たことがあるから、最近はpoetry使ってる
今の主流はpipenvなのかな?
- 295 :デフォルトの名無しさん:2020/03/30(月) 20:31:02.36 ID:tCK+oDY4.net
- conda使ってるのにpipで入れてる上になんか入らないやつ手動でsite-packageフォルダにコピーしてるけどダメなの?
- 296 :デフォルトの名無しさん:2020/03/30(月) 20:35:02.16 ID:UMPMfaDu.net
- >>294
それさらに地獄みるやつやん。。
- 297 :デフォルトの名無しさん:2020/03/30(月) 20:42:23.05 ID:OS5ajOLp.net
- いい加減、ライブラリ・パッケージ管理ツールを統一して欲しいもんだが
次々と新しいものが出てくるばかりでどうにもならんな
- 298 :デフォルトの名無しさん:2020/03/30(月) 20:49:01.25 ID:Ww8SKZwH.net
- 追加で質問です
$conda install -c dan_blanchard pyenchant でインストールしようとしていますが、
10分経っても終わりません。なにかいい方法はないでしょうか。
Collecting package metadata (repodata.json): \ ←この棒がずっと回っている
- 299 :デフォルトの名無しさん:2020/03/30(月) 20:51:17.33 ID:Ww8SKZwH.net
- anacondaを使った理由はたまたまネットで見つけたページにそう書いてあったからです。
私はとあるソフトを使いたいだけでプログラミングについてはよくわかりません。
- 300 :デフォルトの名無しさん:2020/03/30(月) 20:54:47.63 ID:UuzilOkY.net
- >>290
ブラウザの開発ツールでページ構造よく見てみ
5個ごとに入ってる広告がliの直下はaタグではなくdivになってるから
- 301 :デフォルトの名無しさん:2020/03/30(月) 22:50:27 ID:OeGDYM8m.net
- ちょ、python最新版にしたらkerasが対応ついてきてなくて積んだww
- 302 :デフォルトの名無しさん:2020/03/30(月) 23:06:45.02 ID:BJjh8Wtl.net
- keras, ras, whatever will be will be.
- 303 :250:2020/03/30(月) 23:17:49.32 ID:+W5CUrfY.net
- >>290
Ruby で作ったけど、最初の部分は省くけど、( >>255 を参照)
li.newsFeed_item の子孫のa は、29件で、li.newsFeed_item の直下のa は、25件。
Python のfind_all("a")[0] は、子孫も含めるのじゃないか?
出力は、こういう感じ
title:富士フ、アビガン治験開始へ3/30(月) 22:52 url:https://news.yahoo.co.jp/pickup/6355698
title:大連市 北九州にマスク20万枚3/30(月) 22:40 url:https://news.yahoo.co.jp/pickup/6355699
doc = Nokogiri::HTML( driver.page_source )
elements = doc.css( "li.newsFeed_item" )
# li.newsFeed_item の子孫のa は、29件
results = elements.map { |elem| elem.at_css( "a" ) }
puts results.length
results.each { |elem| puts "title:#{ elem.text } url:#{ elem.attr( "href" ) }" }
puts "------------------------------------"
# li.newsFeed_item の直下のa は、25件
ary = elements.each.each_with_object( [ ] ) do |elem, ary|
elem.children.each do |child|
if child.node_name == "a"
ary.push child
break
end
end
end
puts ary.length
ary.each { |elem| puts "title:#{ elem.text } url:#{ elem.attr( "href" ) }" }
- 304 :デフォルトの名無しさん:2020/03/30(月) 23:20:19.63 ID:w//nIWz4.net
- 昨日から学習始めました。
pandasで質問なんですが、このようなDataFrameがあるとして、
日付 スコア
2020-03-01 20
2020-03-02 15
2020-03-03 25
︙
↑これにカラムを追加して累積のスコアを取得したいです。
日付 スコア 累積
2020-03-01 20 20
2020-03-02 15 35
2020-03-03 25 60
︙
カラムの追加は出来ています。
データは長いものなんですが、forを使うんですかね?
それともちょうどいいメソッドみたいなものがあるんでしょうか?
くだ質ですけどよろしくお願いします。
- 305 :デフォルトの名無しさん:2020/03/30(月) 23:25:59 ID:jw5yj4PZ.net
- このスレの上の方に答えあるぞ
- 306 :デフォルトの名無しさん:2020/03/30(月) 23:27:22 ID:2w3kRjBE.net
- この辺組み合わせろ
cumsum
Series
concat
- 307 :デフォルトの名無しさん:2020/03/30(月) 23:29:30 ID:w//nIWz4.net
- >>305
>>306
ヒントありがとうございます!
- 308 :デフォルトの名無しさん:2020/03/30(月) 23:29:55 ID:FpzyYz24.net
- https://qiita.com/kyoro1/items/b7f9b26e93df85984f51
- 309 :294:2020/03/30(月) 23:36:43 ID:Ww8SKZwH.net
- 何度もすいません 環境書いてなかったので
mac mojave10.14.6 python2.7.3 anaconda で pyenchantを入れようとして
conda install -c dan_blanchard pyenchant を使ったものの
Collecting package metadata (repodata.json): / が数時間ほど出続けて一向に終わりません。
conda install pyenchantも試しましたが同じような結果でした。
IDEは多分xcordだと思います。
- 310 :デフォルトの名無しさん:2020/03/31(火) 01:18:04.40 ID:UiwRagcc.net
- >>306
出来ました!ありがとうございます!
嬉しい!
- 311 :デフォルトの名無しさん:2020/03/31(火) 11:51:47.38 ID:b44czDa9.net
- >>309
それはlinux用だからmac用の探してインストールしたら?
https://anaconda.org/search?q=pyenchant
https://anaconda.org/natx/pyenchant とか
conda install -c natx pyenchant
- 312 :305:2020/03/31(火) 13:29:13 ID:+y4wT+20.net
- やってみましたが特に変わらないです。10分ほど待ちましたがまだ同じ文章が出て回ってます
- 313 :デフォルトの名無しさん:2020/03/31(火) 13:32:41 ID:fqZmXB15.net
- ありがとうございます。再度構造を確認したら間違っていることに気がつきました。
>>303
参考になりました。ありがとうございます。findの使い方、ページの構造を理解しきれてなかったので基本から見直してみます。
- 314 :デフォルトの名無しさん:2020/03/31(火) 16:00:25.21 ID:jiTc7pCb.net
- >>313
いまこそ、新しい知識を身につけよう!インプレスの人気書籍ムックを3月31日まで全文無料公開
https://book.impress.co.jp/items/tameshiyomi
AndroidでもPythonが使いたい - Termuxを始めよう
https://news.mynavi.jp/article/zeropython-59/
JavaScriptで動かそうobniz S
https://obniz.io/ja/products/starterkit
- 315 :デフォルトの名無しさん:2020/03/31(火) 16:58:32 ID:1xgVifiL.net
- >>312
アンカーを省略するんじゃない
+
権限は足りてるか?
+
最近のMacOSなら、ルートレスが悪さをしてるかもしれないので
一時的にでも切ってやってみそ
- 316 :307:2020/03/31(火) 17:06:20.92 ID:b44czDa9.net
- >>312
ゴメン linux用のパッケージ入れようとしてたのが原因なら、無反応じゃなくてエラーになってたはずだね
condaのバグでそういう症状が報告されてるから、そっちかな
(Anaconda 4.0.0なら関係ないかもだけど、condaをアップデートしてたらありえそう)
https://github.com/conda/conda/issues/9221
mmoisseさんのコメントに従ってsubdir_data.pyを編集しないとダメなんだけど、無理そうならpython3で試すとか
この修正はcondaに取り込まれないので( https://github.com/conda/conda/pull/9600 )、もしこれが原因なら、待ってても(python2では)直らないと思う
- 317 :デフォルトの名無しさん:2020/03/31(火) 20:53:43 ID:HDRrREDo.net
- 【速報】東京都が #新型コロナウイルス 感染症死亡者数を過少評価か、
「例年より少ない」とされていたインフルエンザ関連死が急増=国立感染症研究所
https://www.niid.go.jp/niid/ja/flu-m/2112-idsc/jinsoku/1852-flu-jinsoku-7.html …
コロナで死んだのインフルに振り替えてるんじゃまいか
こういうニュースが出てくる時点で隠蔽はもう無理
おそらくパンデミックは避けられないと思うね
- 318 :308:2020/03/31(火) 22:09:38.19 ID:+y4wT+20.net
- >>315
・アンカー省略して申し訳ないです
・私はこのmacの管理者です。それ以上のことはわかりません
・切りましたが変化ないです
>>316
・python2を使う必要があります
・anaconda4.0.0 でconda 4.8.3 py27_0 のようです(conda listで出しました)
・そのプログラムを==から<にすればいいのはわかりましたが方法がわかりません
そもそも場所もわかりません
- 319 :デフォルトの名無しさん:2020/03/31(火) 22:09:46.61 ID:1xgVifiL.net
- ┐(´д`)┌ 現状をまだパンデミックだと認めてないのはただの政治判断ッショ
- 320 :デフォルトの名無しさん:2020/03/31(火) 22:10:50.21 ID:1xgVifiL.net
- >>319は>>317宛な
自分でアンカー省略するなといっといてコレとはなさけなや (´・ω・`)トボーン
- 321 :デフォルトの名無しさん:2020/03/31(火) 22:13:29.92 ID:1xgVifiL.net
- >>318
312氏の投稿のほうが当たりっぽく
かつ
Python2系縛りがあるとなると、
308のナウのパウァーでは
どーにもならないっぽいな・・・
condaがばぐっててむりでした。どーしましょ ってさっさと上に相談してみる に1票。
- 322 :デフォルトの名無しさん:2020/03/31(火) 23:55:02.12 ID:1uZzdSX9.net
- >>304
df = df.assign(累積=np.cumsum(df['スコア']))
で1行で出来ますよ
- 323 :デフォルトの名無しさん:2020/04/01(水) 06:25:50 ID:wvARRrAt.net
- sys.stdout.buffer.write(b"\x41"*10)
ってやると「AAAAAAAAAA10」って表示されるんですけどこの最後の10ってなんですか?
これの取り方を知りたいです
- 324 :デフォルトの名無しさん:2020/04/01(水) 08:42:18.93 ID:U2YXFsyC.net
- >>323
byte型とstr型まぜるな危険ちゅーか混ぜれないぜイラァ!が、Python3あるあるらしいぜ。
hoge=b'\x41'
hoge=hoge.decode()
sys.stdout.buffer.write(hoge*10)
- 325 :312:2020/04/01(水) 08:56:47.44 ID:rQtQCSfO.net
- >>318
>conda 4.8.3
4.7.11以降だから、やっぱり該当するね
>・そのプログラムを==から<にすればいいのはわかりました
お、それが分かるんならもうちょっと
その続きの部分でmmoisseさんがashleymaeconardに教えてる↓のコマンドで見つかるはず
dir=$(dirname `which conda`); find ${dir}/../lib -name "subdir_data*"
「which conda」でcondaがインストールされてる場所がわかるので、そのディレクトリ下からsubdir_dataっていうファイルを探すって感じ
おそらく ../lib/python2.7/site-packages/conda/core/subdir_data.py みたいな場所にあるんじゃないかな?
でも、python2も使おうとしてるpyenchantも古い(最近のはpython2対応してない)ので、今後も問題が起きた時に対応策を調べるのが結構大変だと思うよ(最新の環境の方が情報が見つけやすい)
- 326 :デフォルトの名無しさん:2020/04/01(水) 11:56:52.96 ID:5VJq6KKK.net
- >>322
df['累積'] = np.cumsum(df['スコア'])
- 327 :デフォルトの名無しさん:2020/04/01(水) 12:20:32.10 ID:5VJq6KKK.net
- >>324
そいつもエラーだ
>>323
最期の10 は単に戻り値が画面に出て来るだけ
>>> _ = sys.stdout.buffer.write(b"\x41"*10)
これで消える
- 328 :デフォルトの名無しさん:2020/04/01(水) 12:23:59.03 ID:vhJXsBKc.net
- >>324
馬鹿は黙ってろ
- 329 :デフォルトの名無しさん:2020/04/01(水) 12:53:19.93 ID:wvARRrAt.net
- >>324
sys.stdout.buffer.write()だとstr型は表示できません
ですが一応答えてくださってありがとうございます…
>>327
ありがとうございます!
print()のbyteをデコードして出力する感じのものだと思ってたんですが動作違うんですね…勉強になりました
- 330 :308:2020/04/01(水) 12:53:42.54 ID:DmxLU0iC.net
- >>325
dir=$(dirname `which conda`); find ${dir}/../lib -name "subdir_data*"
を使ったら
usage: dirname path
find: /../lib: No such file or directory
と言われてしまいました
>>321
チームメイトは日本語ほぼ通じないし私の英語も足りないので難しいことを喋るのはきついです
ちなみに会社ではないし賃金もないです
- 331 :デフォルトの名無しさん:2020/04/01(水) 13:51:04.05 ID:U2YXFsyC.net
- >>329
sys.stdoutするところまで確認しないで書き込んですまんそ。
言い訳すると、朝だからバタバタしていた。
>>327横レスだけどなるほどなっとく
- 332 :321:2020/04/01(水) 14:31:03.22 ID:rQtQCSfO.net
- >>330
which condaの結果が取れてないのかな?
ターミナルで使うシェルのコマンドの使い方とか意味がわかってないなら、「mac ターミナル 入門」とかで検索して適当な入門記事とか読んでみると、何をしているか(わからない時の調べ方とかも)わかるようになるよ
やってることは
which condaでcondaがインストールされてる場所を調べる
dirnameコマンドでその場所のディレクトリを取得する
変数dirに結果を格納
その中(下の階層)にある名前がsubdir_data始まりのファイルをfindコマンドで探す
っていう流れなので、個別に分けて実行してみるとわかりやすいと思う
あとは、別にターミナル使わなくても、ファイル検索の機能やツールでsubdir_data.pyを探してもいいと思うよ
もし複数見つかったとしても、condaのファイルかどうかはファイルパスからわかるんじゃないかな?
- 333 :308:2020/04/01(水) 15:44:10 ID:DmxLU0iC.net
- >>332
あああ微妙にわかった気がしてきました
なるほどだから一行に$が何回も出てきたのかと納得しました
確かにwhich condaを試すと回答が出てこず何事もなかったかのように
hogenoMacBook-puro:~ hoge$ が出てくる状況になっていました。
ウインドウを閉じてまた開くと普通の回答が戻ってきて不気味です
今度はfind: /Users/hoge/.pyenv/shims/../lib: No such file or directory
になって多少進歩しましたが見つからないですね
mdfind subdir_data*は何も出ません。
find / -name subdir_data*は末尾にPermission deniedのついた大量のデータが出てきましたが
condaという文字が見当たらないです
と書き込もうとしてfindの回答したデータに気づきました
/Users/hoge/.pyenv/versions/anaconda-4.0.0/lib/python2.7/site-packages/conda/core/subdir_data.py
これだ
なぜか/Users/hoge/.pyenv/versions/anaconda-4.0.0/系統の回答には
頭のfind: も末尾の: Permission deniedもついていなくて目が滑っていたようです
早速finderにパスを打ち込んで直接書き換えることで変更し、バグが直ったようです
現在のバージョンはpython3.4を要求してきたので古いのにします
ttps://pypi.org/project/pyenchant/1.2.0/#history
2.0.0を入れればいい感じですか?
- 334 :デフォルトの名無しさん:2020/04/01(水) 18:10:19 ID:mrdDGiKd.net
- >>333
本家もメンテナンスしないような古いバージョンのAnacondaと戦うのは辞めた方がいい
Anacondaはconda installを使った場合はパッケージの干渉を細かくチェックしてるけども、pipを使ってはいけない訳でもない
pip install --upgrade pip
pip install pyenchant
Mojaveにpyenvでanaconda-4.0.0をインストールして上記コマンドを試してみたが普通インストールできて適当なサンプルも動いた
- 335 :デフォルトの名無しさん:2020/04/01(水) 18:12:28 ID:bo+zmjIt.net
- やっぱpoetryが最強なんだって
- 336 :328:2020/04/01(水) 18:50:20 ID:rQtQCSfO.net
- >>333
あーそっかnatxはpy34なんだねゴメン
https://anaconda.org/search?q=platform%3Aosx-64+pyenchant
xrysoflis の方がpy27だから、そっちを使えば良いんじゃないかな?Filesタブで確認できるよ
>>334 も言ってるし、朝も書いたけど古すぎて後々かえって困ると思うのでオススメできないけど、python2使わなくちゃいけないならpyenchantもv2以下になるね
一応conda skeleton使ってPyPIパッケージもインストールできるよ
https://qiita.com/itsumonotakumi/items/f0273c2a3a04ef808dbd
- 337 :デフォルトの名無しさん:2020/04/02(木) 07:42:24.51 ID:BA8GpIv4.net
- >>333
>ウインドウを閉じてまた開くと、普通の回答が戻ってきて不気味です
Mac では端末の設定ファイルに、~/.bashrc を使うか知らないけど、
たぶん端末の設定ファイルに、設定を書き込んだから、
端末を再起動(閉じて開き直す)すると、設定ファイルを再読み込みするから、状態が変わる!
だから設定ファイルに書き込んだら、常に端末を再起動すればよい
例えば、Windows 10, WSL, Ubuntu 18.04 で、Ruby のバージョンマネージャー・rbenv を使うと、
~/.bashrc に、以下の2行を追加するように言われる。
内容は、環境変数PATH の先頭に、rbenv のパスを追加して、rbenv init を実行する
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
2行を追加してから、source ~/.bashrc と入力して、~/.bashrc を再読み込みするか、
端末を再起動すると、更新された、~/.bashrc を読み込むので、
echo $PATH
と入力すると、確かに先頭に、~/.rbenv/bin が追加されているので、
which rbenv
と入力すると、~/.rbenv/bin/rbenv が表示される。
これで、rbenv コマンドをグローバルで使える
以下、rbenv install 2.6.5, rehash, global で、好きなバージョンを使えるようになる
rbenv which ruby
と入力すると、確かに、versions の下に、インストールされている!
~/.rbenv/versions/2.6.5/bin/ruby
- 338 :デフォルトの名無しさん:2020/04/02(木) 08:34:38.83 ID:I8hlhwK7.net
- 最近はMacのデフォルトシェルはzshになってるからそれで嵌るやつは嵌る
- 339 :デフォルトの名無しさん:2020/04/02(木) 08:47:33.45 ID:phtOISOQ.net
- >>338
何…だと…
- 340 :デフォルトの名無しさん:2020/04/02(木) 09:26:18.03 ID:XZMaUUEC.net
- obj.sort(str) みたいなのがあって、引数がリストなど受け付けないとき
obj.sort(str_1).sort(str_2)みたいに書いてるんですがバカっぽいです
なにかいい書き方はありませんか?
- 341 :デフォルトの名無しさん:2020/04/02(木) 09:56:09.63 ID:9wNZSyo7.net
- バカっぽい以前に何をしたいのかよくわからん
安定ソート前提なの?
- 342 :デフォルトの名無しさん:2020/04/02(Thu) 10:39:30 ID:s8KkhiHc.net
- >>340
objとstrがどういうものかによる
built-inのsort()/sorted()を使ってDictionaryを複数キーでソートしたい場合は
sorted(obj, key=lambda x: (x[‘str_2’], x[‘str_1’]))
obj.sort()が独自の比較ロジックを実装してるなら
それを比較関数として切り出してsort()/sorted()に渡す
- 343 :308:2020/04/02(木) 11:30:42.92 ID:TJziRBLB.net
- チームメイト(そのソフト作成者)に相談したら返事もらえたのでまずそのとおりにしました
python -m pip install pyenchantで 3.0.1 が無事インストールできました
>>334
ERROR: Package 'pyenchant' requires a different Python: 2.7.13 not in '>=3.5'と言われました
>>336
conda install -c xrysoflis pyenchant==1.6.6しましたが
The environment is inconsistent, please check the package plan carefully
The following packages are causing the inconsistenc-
- https://repo.continuum.io/pkgs/free/osx-64::ipython==4.1.2=py27_1
(同じようなものが何行も)
failed with initial frozen solve. Retrying with flexible solve.
Solving environment: -
でこれ以上進まなくなりました
>>337
残念ながら今の私には理解できません
>>338
私のはbashのままのようです
早速インストールした環境を使ってそのソフトを動かしたところ、
SyntaxError: invalid syntaxと言われました。
チームメイトによるとそのソフトはmacで起動確認してないので動かないのかもしれないそうです
ええ…
幸いwindows ならその人が全部やってくれそうです
質問に答えてくださったみなさんありがとうございます
勉強になりました。特に==を<に書き換えるあたりは興奮しました
もし補足やうまくいきそうな方法があればまだ見てますのでお願いします
- 344 :デフォルトの名無しさん:2020/04/02(Thu) 14:11:06 ID:LyfVZOwj.net
- いつもありがとうございます。こちらで回答をいただきながらスクレイピングを行っている者です。
個別でURL、タイトルなど取得し無事に出力することができたのでページ内の全URLを出力してみたところ、
予定では別々な25件のURLが出力されると思ったのですが、
同じURLが220件出力されてしまいました。原因はenumerateの使い方が間違っている。
取得する場所が間違っているからだったりするのでしょうか?
import requests
import re
from bs4 import BeautifulSoup
page_url ="https://news.yahoo.co.jp/topics/top-picks"
r = requests.get(page_url)
soup = BeautifulSoup(r.text, features="html.parser")
item_list = soup.find_all(class_=re.compile(r"newsFeed*"))
for num,item in enumerate(item_list):
news_url = news.find(class_="newsFeed_item_link").get("href")
print("num:", num)
print("url", news_url)
print("*" * 100)
- 345 :デフォルトの名無しさん:2020/04/02(Thu) 14:44:41 ID:BA8GpIv4.net
- >item_list = soup.find_all(class_=re.compile(r"newsFeed*"))
それは正規表現か?
そりゃ、完全一致じゃないから、かなり多くのclass が該当するはず
- 346 :デフォルトの名無しさん:2020/04/02(Thu) 14:47:05 ID:s8KkhiHc.net
- >>344
とりあえずIPythonとかのREPLで確認しながらやれ
item_list = soup.find_all(class_=re.compile(r"newsFeed*"))
の後にREPLにitem_listとタイプしたり、len(item_list)とタイプしたり、item_list[24]とかタイプすれば
中に何が入ってるか、何件取得できてるか、思ったものが取得できてるかを確認できる
試行錯誤しながらいいけど
CSSセレクター勉強して欲しいものを取得できるようにならないとスクレイピングとか無理よ
item_list = soup.select('li.newsFeed_item > a.newsFeed_item_link')
- 347 :デフォルトの名無しさん:2020/04/02(Thu) 15:39:55 ID:BA8GpIv4.net
- スクレイピングは、他人が作ったソースコードを解析するから、かなり難しい。
なぜかと言うと、作者は仕様を知っているけど、解析する方は知らないから。
答えを知ってる者には簡単だけど、知らないとかなりの時間を損する!
初心者は、やめておいた方がよい
作者の仕様を予想するのと試行錯誤で、かなりの時間を損するだけで、
全くプログラミングが上達しないから!
自分で、練習用のサイトを作った方がよい
スクレイピングは、プロでも無料ではやらない。
他人の滅茶苦茶なソースコードを見ても、何も学ぶことが無いからw
単純に時間の無駄
- 348 :デフォルトの名無しさん:2020/04/02(Thu) 16:12:04 ID:8S0f9PYx.net
- Web技術はこまごましてて難しすぎるんだよな
CSSセレクターって何だろうと思って調べてみたが理解できなかった
- 349 :デフォルトの名無しさん:2020/04/02(Thu) 16:35:16 ID:3sLVdoE7.net
- Yahooってapi用意されてたりしないの
- 350 :デフォルトの名無しさん:2020/04/02(木) 17:16:19.83 ID:yxjKwK1X.net
- CSS セレクター
https://developer.mozilla.org/ja/docs/Learn/CSS/Building_blocks/Selectors
CSS #02 セレクタを使ってみよう@
https://www.youtube.com/watch?v=0cux-JL7c1g
- 351 :デフォルトの名無しさん:2020/04/02(Thu) 17:36:27 ID:LyfVZOwj.net
- >>345
正規表現です。該当してる中から取得するやり方ではいけないんですね。
>>346
わかりました。セレクターも入力してみて何が取得できるのかなど一通りやってみます。
>>347
基礎学習の後にスクレイピングがおすすめと記載されていることもあるので簡単な方だと思っていました。
よく見るサイトやフリマ系など必要なデータを取れるようになれば時間の時間の短縮になると思いましたがそのレベルになるのは難しそうですね…
皆さまご丁寧にありがとうございます。参考にさせていただきます。
- 352 :343:2020/04/02(Thu) 18:19:50 ID:BA8GpIv4.net
- 自分で書いた、HTML をスクレイピングすればよい。
そうすれば自分が仕様を知っていて、色々いじくれるし、
自分のPC 内で、何回でもテストできる
他人の作ったページは、いじくれないし、ほとんどが無駄な部分。
しかも、作者だけが知っている仕様を解析・予想するのに、かなりの時間が掛かる
普通は仕様書・設計書から、実装を作るけど、
逆に、実装から仕様を予想しちゃいけない!
これは、自然とは逆方向に向かうから、非常に難しい。
だから、リバースエンジニアリングは、無料ではやらないわけ
それに、かなり時間を掛けて、作者だけが知ってる答えを見つけても、何にもならないw
他人のアプリの仕様なんて、人それぞれだから、参考・勉強にならない。
自分が作る仕様と無関係
- 353 :デフォルトの名無しさん:2020/04/02(Thu) 18:59:58 ID:Y6xeskM7.net
- 最終的には他人の作ったサイトから情報を抜き出せるようにならなければ意味がないけどね。
- 354 :デフォルトの名無しさん:2020/04/02(木) 19:07:04.02 ID:94eG4g2S.net
- スクレイピングは試行錯誤してれば急にサクッとできるようになるから
パズルみたいなものだと思って楽しめばいいよ
- 355 :デフォルトの名無しさん:2020/04/02(木) 19:09:13.54 ID:AMBrZHZA.net
- utf-8でpythonから出力したファイルをExcelで開くと文字化けします
確かExcelはBom付きで保存しなおせばいいと思って、
メモ帳で開く→utf-8Bom付きで保存→Excelで開く
をしても相変わらず文字化け
前は同じ出力ファイルを開けたのですが、なにか抜けているのかなぁ?
- 356 :デフォルトの名無しさん:2020/04/02(木) 19:41:52.95 ID:phtOISOQ.net
- >>355
1嫁
> ◆エラーを解決したい場合は、表示されてるエラー全文(勝手に省略禁止)と
> 実行環境(Pythonのバージョン・OS名・IDEの種類とバージョン)をシッカリ書くこと。
+うまくいかないファイルとやらにだけ日本語含まれてたりしないか?
- 357 :デフォルトの名無しさん:2020/04/02(Thu) 20:23:20 ID:AMBrZHZA.net
- >>356
すいません
自己解決しました
Pyhotn側のコードを何度かバージョンアップするうちに、
ヘッダーが壊れていました
大変失礼しました
- 358 :デフォルトの名無しさん:2020/04/02(Thu) 20:26:14 ID:SePhJv/q.net
- java遅くて嫌いなのにnode.js仕方なく入れたら旧式Python入れられてパスまで通されたわ
- 359 :デフォルトの名無しさん:2020/04/02(木) 20:30:17.84 ID:AMBrZHZA.net
- encoding='utf_8_sig'
とすればBOM付きになってそのままExcelで開けるんですね
今までの苦労はなんだったんだろう・・・
- 360 :デフォルトの名無しさん:2020/04/02(木) 20:31:07.91 ID:VXoXbP1e.net
- だからなんなんだよ
- 361 :デフォルトの名無しさん:2020/04/02(木) 21:03:21.08 ID:s8KkhiHc.net
- >>351
基礎の後に実践としてスクレイピングがオススメなのは間違いないよ
コレクション処理、テキスト処理、ネットワークI/O, ファイルI/O等
アプリケーションプログラミングにおいてコアとなる概念を学べる
それにYahooは比較的スクレイピングフレンドリーな作りだからいいチョイスだと思うよ
CSSセレクターみたいに1~2日で学べるような知識は
必要になったその都度身につけていけばいいんだけど
問題なのは何が間違ってるかを自分で調べる方法をほぼ持ってない事
まともにプログラミングできるようになるには
何が間違ってるかだけじゃなく
何が間違ってるかをどうやって調べればいいのかを知ろうとするマインドが決定的に重要
- 362 :332:2020/04/02(Thu) 21:12:58 ID:1ZnF9bvx.net
- >>343
condaでinstallする前にpipで(サポート外の)3.0.1を入れたからじゃない?(でもよく入ったね?)
エラーメッセージ読めばわかると思うけど、環境の不整合が起きてるんだと思う
>SyntaxError: invalid syntaxと言われました。
pyenchantは3.0.0からpython2のサポートしてないのでpython2.7ではpyenchant 3.0.1入れても不具合でるんじゃないかな
https://github.com/pyenchant/pyenchant/releases/tag/v3.0.0
例えばpython3から導入された(python2に対応してない)構文で書かれているコードをpython2で動かすと、対応してないのでSyntaxError(構文エラー)が出るということはありうるよ
もちろん、チームメートの人が言うようにOSの問題かもしれないけど
とりあえず、環境構築の質問はそのチームメイトにした方が確実だよ
- 363 :デフォルトの名無しさん:2020/04/02(Thu) 21:15:22 ID:VHEUwNHv.net
- condaはこれがあるから嫌なんだよな
- 364 :デフォルトの名無しさん:2020/04/02(Thu) 21:37:10 ID:4o7A/tXk.net
- HTMLのスクレイピングは簡単だが
JavaScriptだと一気に難しくなる
- 365 :デフォルトの名無しさん:2020/04/03(金) 01:15:06 ID:e/zdricl.net
- なんのスレッドなのかわからない
- 366 :デフォルトの名無しさん:2020/04/03(金) 01:22:33 ID:tVlvtk9J.net
- Ruby
- 367 :デフォルトの名無しさん:2020/04/03(金) 03:42:04.69 ID:4iGVyiwl.net
- コロナの自粛期間を利用してPythonを勉強し始めました。
下記のCのコードをPythonに変換しようと思ったのだが
いきなりforループの書き方でハマってます。
ご教授お願いします
#include <stdio.h>
long combi(int,int);
int main()
{
int n,r;
for(n=0; n<=5; n++){
for(r=0; r<=n; r++)
printf("%d C %d=%ld",n,r,combi(n,r));
printf("\n");
}
}
long combi(int n, int r)
{
int i;
long p=1;
for(i=1; i<=r; i++)
p=p*(n+i+1)/i;
return p;
}
- 368 :デフォルトの名無しさん:2020/04/03(金) 04:40:51.08 ID:PfXHV9pW.net
- def combi(n,r):
__p = 1
__for i in range(1,r+1):
____p = p * (n-i+1) // i
__else: return p
for n in range(1,6):
__for r in range(n+1):
__print(f"{n} C {r} = {combi(n,r)}")
どうでもいいが元のコードのcombiは式が間違ってると思う
- 369 :デフォルトの名無しさん:2020/04/03(金) 04:44:38.04 ID:PfXHV9pW.net
- for n in range(1,6):
__for r in range(n+1):
____print(f"{n} C {r} = {combi(n,r)}")
のミス
- 370 :デフォルトの名無しさん:2020/04/03(金) 10:46:57 ID:6WrhvkXF.net
- >>367
Cって、forearchないんだっけ?あれと一緒よ
- 371 :デフォルトの名無しさん:2020/04/03(金) 11:54:36 ID:piuBzRB4.net
- CできるのにわざわざPythonを学ぶ意味がわかんねえ
PythonにできてCにできないことはないだろ
- 372 :デフォルトの名無しさん:2020/04/03(金) 12:18:04 ID:Wa73rj1L.net
- >>371
> Cにできないこと
コンパイラ要らずの安易さ。
Cの他に何でもいいから適当なスクリプトは出来るといいと思う。
- 373 :デフォルトの名無しさん:2020/04/03(金) 12:32:18 ID:1Yte4sjH.net
- >>371
できればいいって言うわけじゃないだろ
「簡単に」できるとか「安全に」できるとか「わかりやすく」書けるとかも重要だし
- 374 :デフォルトの名無しさん:2020/04/03(金) 12:38:55 ID:tVlvtk9J.net
- Cにできて機械語にできないことはない
- 375 :308:2020/04/03(金) 12:39:41 ID:eM25H3zx.net
- >>362
今pyenchant3をアンインストールしてから
pip install pyenchant==1.6.6してそのソフト実行したらsyntaxerror 出なくなりました
そして.dll: unknown file typeと言われました
ソフト作成者に言ったら「気づかなかった」と言われました
以上です。本当にありがとうございました
- 376 :デフォルトの名無しさん:2020/04/03(金) 13:08:06 ID:X+7jfuxP.net
- >>372
それは IDE にそういう機能を付ければいいだけの話
Java とかコンパイラが必要だが、eclipse を使えば
特にコンパイラのわずらわしさはない
- 377 :デフォルトの名無しさん:2020/04/03(金) 15:15:28.96 ID:4iGVyiwl.net
- >>367 >>368
ご教授ありがとうございます。
Pythonのforループの書き方がちょっと独特ですね。
ご指摘いただきましたcombiの式、確かに間違ってました(笑)
正:p=p*(n-i+1)/i;
- 378 :デフォルトの名無しさん:2020/04/03(金) 16:47:44.36 ID:q/cvlU88.net
- 3.8からmath.combが使えるよ
- 379 :デフォルトの名無しさん:2020/04/03(金) 16:49:39.67 ID:G6AJ7B4z.net
- >>340
class my_obj:
def sort(self,tgt):
if type(tgt) is list:
for i in tgt:
〜〜〜
elif type(tgt) is str:
〜〜〜
こんな感じでどうっすか?
- 380 :デフォルトの名無しさん:2020/04/03(金) 18:16:39 ID:eCdbkFhI.net
- やはりその形ですかー
同じメソッドならチェーンでない方法で連打できないかなと思ったのです。引数に無理やりイテレータぶち込むみたいな
- 381 :デフォルトの名無しさん:2020/04/03(金) 18:22:08 ID:VVxcL9Mv.net
- >>358
javaとNode.jsに何の関係が
- 382 :デフォルトの名無しさん:2020/04/03(金) 19:40:08.10 ID:xISjJ7q8.net
- >>379
何をしたいコードなのかよく分からないがエスパー力すごいな
- 383 :デフォルトの名無しさん:2020/04/03(金) 22:17:36 ID:6WrhvkXF.net
- こーゆうエスパーが勝手に要件勘違いしてバグ仕込むんだよなー
- 384 :デフォルトの名無しさん:2020/04/03(金) 23:05:31 ID:Np0lmeGt.net
- プログラム言語のPythonを大学でやることになりました
Pythonの一般的な言語に対しての欠点を教えてください
また文法が簡単に書けるのは豊富なライブラリがバックにあるためだと聞きました
何でもかんでもライブラリ頼りになることはなんか弱点というか危険なこととかはありませんか?
すいませんが教えてください
- 385 :デフォルトの名無しさん:2020/04/03(金) 23:09:07 ID:6WrhvkXF.net
- 型の宣言をしないから型というものの意識が非常に弱いプログラマーとなる。
C#などでjson受ける為のclassなど書けるレベルにならないと駄目。
- 386 :デフォルトの名無しさん:2020/04/03(金) 23:12:47 ID:PfXHV9pW.net
- ・相対的に遅い(ライブラリ使ったら大抵はそこそこ〜かなり速い)
・コンパイラ型の言語に比べて型システムがゆるいので移行するのが面倒くさい(必ずしもする必要はない)
・exeファイルに固めるのが苦行(これは本当に欠点)
職業プログラマを目指さないならどれも全くどうでもいい問題
- 387 :デフォルトの名無しさん:2020/04/03(金) 23:15:44 ID:H0daxNxm.net
- ライブラリ頼りなのはどの言語でも同じどんどん使え
- 388 :デフォルトの名無しさん:2020/04/03(金) 23:21:55 ID:Np0lmeGt.net
- ありがとうございます
Pythonは特段優れた言語ではなく
現在評価されているのはライブラリがたまたま現在需要がある
AI関連のヤツが充実してるからと聞きました
Pythonは廃れる危険性は薄いですか?
C言語やJavaと仮に一本でやるにはどれがいいですか?
- 389 :デフォルトの名無しさん:2020/04/03(金) 23:27:30 ID:Np0lmeGt.net
- 重視したいのは速度と安定性です
- 390 :デフォルトの名無しさん:2020/04/03(金) 23:44:11.67 ID:y4LIlYUL.net
- >>388
本職目指すなら一本に絞ること自体ナンセンスだから取っつき易いのから始めて全部やれ。
研究の道具とかで何らかプログラミングができるようになりたいというなら、具体的な用途を示さないとどれが適切かは分からない。
言語本体だけで見ればその中でpythonは遅い方だが用途によっては全く問題ない速度が出たり、他の言語で作るより速いものが作りやすいこともある。
- 391 :デフォルトの名無しさん:2020/04/03(金) 23:45:31.67 ID:piuBzRB4.net
- >>389
オープンソースソフトの未来は誰にもわからない
開発コミュニティがやる気を失ったりケンカ別れしたらそれでおしまい
これから言語はたくさん経験するんだから、とっかかりとして気楽にやればいいよ
- 392 :デフォルトの名無しさん:2020/04/03(金) 23:52:25.19 ID:rdGqqnzw.net
- 質問スレ頼りになるのは弱点というか危険だな
- 393 :デフォルトの名無しさん:2020/04/04(土) 00:08:34 ID:oJJIXkGA.net
- 速度なんてアルゴリズムによって大幅に変わるから
- 394 :デフォルトの名無しさん:2020/04/04(土) 00:16:47 ID:Q2cNyZtm.net
- 得意分野違ったり何やるかにもよる
javaとかループする計算早い!とかいいながらGUIクソ遅いし
- 395 :デフォルトの名無しさん:2020/04/04(土) 00:58:29.00 ID:2GneaZJB.net
- 教えてもらえませんか?
任意の場所に多角形があって
多角形の辺を3cm、4cm、3cm、4cm.....と多角形を大きくする感じにしたいのですが
多角形の頂点を角度に合わせて計算して膨張させたつもりが
図形が移動するだけになってしまいました
vertはそれぞれの頂点座標です
移動する長さの計算は合っているんですが
元の座標がマイナスになったときにうまくいきません
どうしたら膨張させる様に頂点の座標を計算できますか
↓自分が作ったのはこれです
from mathutils import Vector
for v in vert:
___p=v+Vector((3,4))
___print("新しい座標は",p)
- 396 :デフォルトの名無しさん:2020/04/04(土) 01:39:10 ID:onN5/Dtn.net
- 掛け算しろ
- 397 :デフォルトの名無しさん:2020/04/04(土) 02:16:33 ID:2GneaZJB.net
- >>396
ありがとうございます!
割合で計算し直してみます
たすかりました!
- 398 :デフォルトの名無しさん:2020/04/04(土) 03:20:08 ID:H0jGuf/J.net
- >>384
基本的に欠点が少ないから普及してる
型付けについては長所短所は裏表で
動的言語と静的言語は一長一短になる
ただ両方使えるに越したことはない
しいて言えば内包表記とか表記がやや煩雑で
Rubyの方が書きやすいと個人的には思うが
AIライブラリが充実してるからみんな使ってる
>何でもかんでもライブラリ頼りになることはなんか弱点
そりゃ何でもライブラリ頼りなら
プログラミングが上達しないことが弱点なんじゃないの?
一方で車輪の再発明すると時間を浪費するのも事実だけど
- 399 :デフォルトの名無しさん:2020/04/04(土) 03:25:57 ID:B9dYJGhT.net
- Intel Distribution for Python
って実際どれぐらい速いんですか?
- 400 :デフォルトの名無しさん:2020/04/04(土) 03:35:02 ID:H0jGuf/J.net
- >>388
>AI関連のヤツが充実してるから
流行したのはそれが大きいだろうけど
>Pythonは特段優れた言語ではなく
いやそこそこ優れてるとは思うけどね?
他の言語と比べればわりと書きやすい方
同じ動的言語でもPerlやPHPやJavaScript
より書きやすいんじゃない?(Rubyが一番だけど)
>Pythonは廃れる危険性は薄いですか?
薄い
もし将来廃れるとしても
十年、二十年は持つだろう
>C言語やJavaと仮に一本でやるにはどれがいいですか?
PythonやってればCやJavaもそこそこ書けるはず
CのポインタやJavaの静的型付けでつまずく
かもしれないが多くの基本は共通している
まず易しい言語のPythonを
ちゃんと読み書きできるようになろう!
- 401 :デフォルトの名無しさん:2020/04/04(土) 07:56:02 ID:+dijpLcI.net
- Pythonは何で短い行で他の言語と同じ命令ができるのですか?
(例えばプリントメソッドなど)
- 402 :デフォルトの名無しさん:2020/04/04(土) 08:04:26 ID:pUvK7e6W.net
- 裏で妖精さんたちが頑張ってくれてるから
それと引き換えに妖精さんにわかる言葉でお話する時間だけ処理速度が遅い
- 403 :デフォルトの名無しさん:2020/04/04(土) 09:09:52 ID:+dijpLcI.net
- >>402
妖精とは?
ライブラリとはまた違うんですよね?
- 404 :デフォルトの名無しさん:2020/04/04(土) 09:20:21 ID:H0jGuf/J.net
- >>401
一言で言うとPythonの中に命令が書いてあるから
- 405 :デフォルトの名無しさん:2020/04/04(土) 09:21:32 ID:sthBNuMB.net
- 妖精は心がきれいな人にしか見えないんだよ
ライブラリは心が汚い人でも見える
- 406 :デフォルトの名無しさん:2020/04/04(土) 09:31:50 ID:+dijpLcI.net
- >>404
そうなのですか
でもじゃあなんで他の言語じゃそういう仕組みがないんでしょうか
- 407 :デフォルトの名無しさん:2020/04/04(土) 09:40:37 ID:H0jGuf/J.net
- >>406
それはPythonがわりと若い言語だから
同期のRubyも同等の短い命令で書ける
- 408 :デフォルトの名無しさん:2020/04/04(土) 09:45:01 ID:ahx6kiBX.net
- Goもやってみたいけどライブラリが少ないからなぁ、kivyみたいな便利なものが欲しい
- 409 :デフォルトの名無しさん:2020/04/04(土) 09:48:34.61 ID:+dijpLcI.net
- >>407
短い命令で書ける代償に何か遅いとかある?
- 410 :デフォルトの名無しさん:2020/04/04(土) 10:01:30 ID:sthBNuMB.net
- あるよ
妖精さんのMPが尽きたら動かなくなっちゃう
- 411 :デフォルトの名無しさん:2020/04/04(土) 10:03:52 ID:VBb9fdzI.net
- メモリポイント(MP)
- 412 :デフォルトの名無しさん:2020/04/04(土) 10:21:52 ID:hrm1EJZE.net
- >>401
プリントなんてどの言語も大差ないと思うけど
どんなコードを見ていっているの?
- 413 :デフォルトの名無しさん:2020/04/04(土) 12:30:05.80 ID:sthBNuMB.net
- public class HelloWorld {
public static void main(String[] args) {
System.out.println("hello, world");
}
}
- 414 :デフォルトの名無しさん:2020/04/04(土) 12:34:23.89 ID:OFkLhi5Y.net
- Javaはいちいち大げさすぎる
Pythonとは文化が全く違うのでこのスレ民には用無し
- 415 :デフォルトの名無しさん:2020/04/04(土) 12:41:53.56 ID:yxoY6Q+2.net
- Javaは大規模開発に向いている
小規模でちょこちょこやりたいなら、Pythonで十分
- 416 :デフォルトの名無しさん:2020/04/04(土) 12:49:39.58 ID:dq6PHYC/.net
- しかしpythonのself地獄はいかんともし難い
となるとpythonはそれ用には作られてないのではと思ってしまう
- 417 :デフォルトの名無しさん:2020/04/04(土) 12:55:30.69 ID:X8L51dAx.net
- simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
学術巨大掲示板群: アルファ・ラボ
ttp://x0000.net
- 418 :デフォルトの名無しさん:2020/04/04(土) 12:57:49.17 ID:OFkLhi5Y.net
- >>416
そらそうよ
Pythonのオブジェクト指向機能は後付けだからな
最初から純粋なオブジェクト指向言語として作られたJavaとはモノが違う
- 419 :デフォルトの名無しさん:2020/04/04(土) 13:42:44 ID:H0jGuf/J.net
- >>409
Pythonは遅い言語だよ?
部分的にトレードオフがある
型を書いた方が早いとか
- 420 :デフォルトの名無しさん:2020/04/04(土) 13:43:37 ID:H0jGuf/J.net
- >>418
JavaよりRubyの方がより純粋なOOP言語だよ
- 421 :デフォルトの名無しさん:2020/04/04(土) 13:50:04 ID:FiD2LbJ0.net
- 後付けというかJavaScriptと同じプロトタイプだからな。
JavaScriptのthisとPythonのselfどっちがマシか?
- 422 :デフォルトの名無しさん:2020/04/04(土) 14:15:14 ID:+dijpLcI.net
- >>419
でも主要な所はライブラリでCで書かれたのを使うから
実質は速いから問題ないっていう声も聞くんですが
- 423 :デフォルトの名無しさん:2020/04/04(土) 14:18:38 ID:pUvK7e6W.net
- グダグダ言ってないで書いてpythonのできる範囲内ではどうやって遅いと思うなら他の言語に移植すればいい
その程度のスピードは出る
最初から世界最速目指さないと死ぬっていうなら別の言語のほうがいいが
- 424 :デフォルトの名無しさん:2020/04/04(土) 14:21:30 ID:3W9S/+Fj.net
- >>401
> 短い行で他の言語と同じ命令ができる
そうとは限らない。
- 425 :デフォルトの名無しさん:2020/04/04(土) 14:40:20.14 ID:g5yerRCZ.net
- >>422
高速なライブラリがあるから、それを使う処理は高速にできる。
pythonという言語自体は他の言語に比べて相対的に遅いから、pythonで記述した処理は相対的に遅いから遅い。ただその遅さが許容できる範囲内かどうかは要件次第。
何も矛盾はしてないぞ。
要はケースバイケースなんだから、単に遅いとか速いとかバカな理解のしかたをしないで、正しく使い分ければいいだろ。
- 426 :デフォルトの名無しさん:2020/04/04(土) 14:41:01.48 ID:g5yerRCZ.net
- 遅いから遅い、は遅いの間違い。
- 427 :デフォルトの名無しさん:2020/04/04(土) 14:59:56.88 ID:sthBNuMB.net
- プログラミングせずに口だけ動かしてたら妖精さん逃げちゃうよ!
- 428 :デフォルトの名無しさん:2020/04/04(土) 15:04:52.68 ID:tWmNemEQ.net
- Java 系と python 系では思想が違う
Java はなんでもちゃんと書くという思想
python はなるべく書かないという思想
それだけのこと
長所、短所は何とも言えない
- 429 :デフォルトの名無しさん:2020/04/04(土) 15:09:45.65 ID:cbaRLV9y.net
- んな思想はない
Explicit is better than implicit.
- 430 :デフォルトの名無しさん:2020/04/04(土) 15:24:02.43 ID:oHbtMe0Y.net
- >Explicit is better than implicit.
この考え方も後付けなんだよね
- 431 :デフォルトの名無しさん:2020/04/04(土) 15:54:43 ID:qxCs0SNG.net
- Enumと辞書ってどう違うんですか?
- 432 :デフォルトの名無しさん:2020/04/04(土) 17:09:29.25 ID:CtxBvfAw.net
- 遅い早いとかおまえらのレベルじゃ気にするレヴェルじゃねーだろ
- 433 :デフォルトの名無しさん:2020/04/04(土) 17:14:08.52 ID:g5yerRCZ.net
- >>431
全くの別物だけど、どういうところが紛らわしいと思うの?
- 434 :デフォルトの名無しさん:2020/04/04(土) 17:27:26.51 ID:CtxBvfAw.net
- >>433
スルーしてたけど全く別物でワロタwww
- 435 :デフォルトの名無しさん:2020/04/04(土) 18:46:20.78 ID:qxCs0SNG.net
- >>433
keyとvalueがある
- 436 :デフォルトの名無しさん:2020/04/04(土) 19:28:37.89 ID:zx3zKRQP.net
- ありがとうございます。こちらで教えていただいたおかげで無事に1ページ目のURLやタイトルを取得し出力することができました。
今はページを遷移して全ページのタイトル、URLを取得しようとして、次へのURLは取得することができたのですが
最後のページは次がない為苦戦してます。get_htmlメソッドで別のページのhtmlを解析している動画があったので私も使ってみたのですが、
なぜか使えずNameErrorになってしまいました。何が原因なのでしょうか?get_htmlメソッド以外にもラストページのhtmlを解析できる方法がありましたら教えていただければ幸いです。
質問がわかりにくく申し訳ございませんが、宜しくお願いします。
- 437 :デフォルトの名無しさん:2020/04/04(土) 20:02:27.84 ID:V/ZRChdf.net
- >>436
1.htmlを解析する
2.次のURLがある場合取得して1に戻る ない場合、終了する
だけなんだけど、エラー時の対処方法が分かりませんということかな
if文で分岐するか、try ~ exceptで囲んでしまうかなんだけども
- 438 :デフォルトの名無しさん:2020/04/04(土) 20:15:38.36 ID:onN5/Dtn.net
- >>435
enumは後から値を書き換えられない&キーを追加できないかわりに、読みやすい、キーがシンボルなのでtypoしてもすぐに見つかる、値からキーを引けるのが大きな違いかなあ
- 439 :デフォルトの名無しさん:2020/04/04(土) 21:29:14.17 ID:chSF5SQRn
- ブログで成果が出るまでの期間は「100記事」です【魔法はありません】
https://www.youtube.com/watch?v=-iVkNRvTuPw
月収800万円ブロガーの「1日ルーティン」を公開します【怪しい】
https://www.youtube.com/watch?v=CqD89NXyl0U
【朗報】ブログで「350日」の毎日更新をしたら、生活費は稼げますよ
https://www.youtube.com/watch?v=A_CAOCAQSs8
【最高】ブログで200記事を書くと、月5万円くらい稼げる話【実例あり】
https://www.youtube.com/watch?v=SdtRAEGOcyE
【報告】ブログで「月収1,000万」を達成できました【方法を解説する】
https://www.youtube.com/watch?v=pgjcuLp8wt0
- 440 :デフォルトの名無しさん:2020/04/04(土) 23:36:06 ID:V/ZRChdf.net
- >>436
ようわからんからサンプルソース
https://ideone.com/0KvMNh
ideoneに貼っつけたらURL部分が変わってしまったので、
main()の最初のnext_urlにはtopのURLを入れたら動くはず
- 441 :デフォルトの名無しさん:2020/04/05(日) 10:05:48 ID:xV9Ma8xZ.net
- >>438
違いはイミュータブルとみやすさってことですかね
値からキーなら辞書でもitems()と内包表記でできますね
キーがシンボルというのはどういう意味でしょうか
- 442 :デフォルトの名無しさん:2020/04/05(日) 10:49:10 ID:tgzR2K8y.net
- >>431
元々は数十個の連番の定数を定義するためにC言語で使われた
enumなんかは存在せず、全てdefineでやっていた
それが40年ほど掛かって進歩して、今日のenumになった
なので直感的に理解しやすいのはC言語のenumで、それ以降のenumは抽象度が上がってるので理解し難くなっている
そして現代プログラミングではそもそも連番の定数というものは使わない
連番の定数による状態の区分けと、OOPでの状態の区分けは、機能が相反する
- 443 :デフォルトの名無しさん:2020/04/05(日) 12:03:07 ID:ZlQTcj/v.net
- 月の名前
4月 と April
とかは、一度定義すれば変わることはないので、一度定義したら変更不可にしておいた方が安全だというのが enum の有効な使い方
- 444 :デフォルトの名無しさん:2020/04/05(日) 13:18:43.11 ID:+59aBvhV.net
- >>436
ありがとうございます。エラーの対処がわかりませんでした。if文で作ってみますね。
>>440
不十分ですみません。コードありがとうございます。参考にさせていただきます。
- 445 :デフォルトの名無しさん:2020/04/05(日) 13:30:29.93 ID:nuvXPfKL.net
- >>441
enumと辞書は根本的に用途が違うよ。
enumは固定の値として使うもの。一連のグループとして括られるある定数の集まりに、分かりやすく名前とその値を決めてあらかじめ定義しておくためのもの。
辞書は入れ物。プログラムの処理の中で、必要に応じて中身を追加したり変更したり取り出したり削除するための箱。
- 446 :デフォルトの名無しさん:2020/04/05(日) 16:48:45.00 ID:zmv+0Bsd.net
- tkinter.ttkってtkinterのサブモジュールだからfrom tkinter import * でロードされないのですか?
また
from tkinter import *
from tkinter import ttk
だと丁寧でないので
import tkinter as tk
import tkinter.ttk as ttk
としたいのですが、なにか(二重ロードなど?の)問題がありますか?
- 447 :デフォルトの名無しさん:2020/04/05(日) 17:09:51.66 ID:GKoximli.net
- Pythonのインデント強制って結構欠陥じゃないか?
コピペが安定的にできんし見た目で何個空いてるのかも分からん
- 448 :デフォルトの名無しさん:2020/04/05(日) 17:22:13.56 ID:BHv6uIvk.net
- 俺も強制インデント好きじゃないな
括弧の方が好き
> コピペが安定的にできんし見た目で何個空いてるのかも分からん
不可視文字表示のプラグインを入れればいい
- 449 :デフォルトの名無しさん:2020/04/05(日) 17:28:05.44 ID:MYS3JSa5.net
- コピペしないからどうでもいい
- 450 :デフォルトの名無しさん:2020/04/05(日) 17:28:28.04 ID:8W0pTwts.net
- インデントがバラバラだと
イラつくから統一してるんだろ?
でもオレもRubyみたいに
整形の自由度高い方が好きだが
- 451 :デフォルトの名無しさん:2020/04/05(日) 19:46:21 ID:oKEzp2HP.net
- そんなに嫌いではないけれど、やっぱ長い関数やクラスだと見づらいわな。
tensorflowとか長ったらしい関数使う割にインデント2って最悪だわ。
- 452 :デフォルトの名無しさん:2020/04/05(日) 19:52:38 ID:WJ1jL4Cq.net
- pythonでguiアプリとかギャグやろ?
- 453 :デフォルトの名無しさん:2020/04/05(日) 19:54:36 ID:87cBLGW2.net
- 関数名や変数名で単語の区切りに大文字を使うことはしないの?
- 454 :デフォルトの名無しさん:2020/04/05(日) 20:01:32 ID:7qI9jdTU.net
- kivyのcanvasにctypesでがっつり描いてGUIやってる
- 455 :デフォルトの名無しさん:2020/04/05(日) 20:21:55 ID:0MNLjFAZ.net
- >>452
そうでもない
>>453
のぞましくない という。
少なくとも、先頭には使っちゃいやーん。
(クラスかなにかと、まぎらわしくなるからだとかなんとか)
ただし、
不変な値の名前に、ならば、
全部大文字ならおk...らしい。
例) URL_TUPLE=("http://5ch.net", "https://5ch.net")
- 456 :デフォルトの名無しさん:2020/04/05(日) 20:54:09 ID:8W0pTwts.net
- >>452
なんで?
Tkinterとかあるだろ
- 457 :デフォルトの名無しさん:2020/04/05(日) 21:52:27.87 ID:BILMQrxA.net
- >>452
じゃあ何で書いたら楽なの?
Ruby on Rails ぐらいしか選択肢がないが
- 458 :デフォルトの名無しさん:2020/04/05(日) 22:14:48.89 ID:odS9lexk.net
- FW
- 459 :デフォルトの名無しさん:2020/04/05(日) 22:54:25.12 ID:WJ1jL4Cq.net
- guiアプリならC#だろ
- 460 :デフォルトの名無しさん:2020/04/05(日) 22:57:54.90 ID:gXtO/KUV.net
- 今どきはElectronとか使うのかと思ってた
- 461 :デフォルトの名無しさん:2020/04/06(月) 00:39:35 ID:WU94L+3C.net
- くだすれってなに?
- 462 :デフォルトの名無しさん:2020/04/06(月) 00:48:25 ID:/pKVQL2g.net
- くだれすやめろ
- 463 :デフォルトの名無しさん:2020/04/06(月) 04:10:27 ID:qqlpdYMz.net
- GTK+3使う。便利じゃん
- 464 :デフォルトの名無しさん:2020/04/06(月) 06:03:51.39 ID:OO/YXzRf.net
- 偉大な言語には接頭語を付けて「おPython」と呼ぼう
- 465 :デフォルトの名無しさん:2020/04/06(月) 06:07:21.92 ID:1orLNsgs.net
- >>461
「(上級者wwwからしたら)くだらない(かもしれない)質問を書くスレ」の略語らしいぞ
- 466 :デフォルトの名無しさん:2020/04/06(月) 10:21:46.12 ID:r8LYP1M4.net
- くだをまくスレ
だろ?
- 467 :デフォルトの名無しさん:2020/04/06(月) 22:23:54.27 ID:Dhdswjlr.net
- Python, Markdown, Yaml などは、
VSCode の有名な拡張機能、indent-rainbow でカラー表示できる!
- 468 :デフォルトの名無しさん:2020/04/06(月) 22:30:04.61 ID:/pKVQL2g.net
- vscode入れ直したらクラスは2行開けとか、カンマの後はちゃんとスペース入れるとか、空の空白入ってるとかで警告出てたの出なくなっちゃった
どこいじったのか覚えてないや
- 469 :デフォルトの名無しさん:2020/04/07(火) 08:55:50.68 ID:3apNNaM3.net
- >>468
多分select interpritatorでpython実行環境を設定してないのが原因
- 470 :デフォルトの名無しさん:2020/04/07(火) 11:16:19 ID:nX2JoaOK.net
- python.pythonPath 設定してないんだろな
- 471 :デフォルトの名無しさん:2020/04/07(火) 19:39:39 ID:MVFjKYjb.net
- pyautoguiでも何でもいいのですが、
別の仮装デスクトップ上に画面とか展開して自動で動かす方法はないですか?
メインのデスクトップ上では他の作業をしてるので、自動化作業は、別の仮装デスクトップ上で不可視の状態で進んでいて欲しいです。
- 472 :デフォルトの名無しさん:2020/04/07(火) 19:42:45.40 ID:RJ0Z9o5i.net
- 適当なVMでも使えば?
- 473 :デフォルトの名無しさん:2020/04/07(火) 19:51:36.91 ID:nX2JoaOK.net
- >>471
無理
俺も前似たようなことやろうと思ったけど、仮想デクストップ系の制御はあんまり融通が効かない
- 474 :デフォルトの名無しさん:2020/04/07(火) 20:25:30 ID:5K+C4Q+K.net
- 出来ないこともないけど最初から仮想の方で動かせば完結してない?
- 475 :デフォルトの名無しさん:2020/04/07(火) 20:38:43 ID:7gtbNTZz.net
- >>471
画面・マウス・キーボード切り替え器for2台用を購入して
パソコン本体を2台にしる
- 476 :デフォルトの名無しさん:2020/04/08(水) 00:31:18 ID:Oqe9V/es.net
- 作業内容にもよるけどブラウザで完結するならselenium使えばいける
- 477 :デフォルトの名無しさん:2020/04/08(水) 08:35:20.80 ID:jQHFC0rR.net
- Pythonでグラフィック使ったゲーム作りたいんですがGUIライブラリ入れたらできますか?
方法があれば教えて下さい。試しにKivyての入れようとしたら難しすぎて無理でした。
- 478 :デフォルトの名無しさん:2020/04/08(水) 08:38:16.34 ID:jQHFC0rR.net
- anacondaは入れてます
- 479 :デフォルトの名無しさん:2020/04/08(水) 09:28:45.22 ID:uM85rkI7.net
- >>477-478
「ハサミを買っても使い方が難しくて分からない」と言ってるやつは
永遠に「ハサミで紙を切る」ことができないままだ。
アナコンダはGUIアプリを作るためのものではないので
へのつっぱりにもならん。
- 480 :デフォルトの名無しさん:2020/04/08(水) 09:30:55.98 ID:qM29robv.net
- ゲーム作るならPythonを今すぐ投げ捨ててUnityを使おう
Pythonに拘って今どれだけ苦労しようともいずれ必ず他へ移行することになるんだし、Unityなら初心者向けの本などは腐るほどある
- 481 :デフォルトの名無しさん:2020/04/08(水) 09:33:01.41 ID:J0JU7WJK.net
- kivy慣れるとめっちゃ便利なんだよな
しかも覚えるとUnityやSwiftまで簡単に見えてくる
- 482 :デフォルトの名無しさん:2020/04/08(水) 09:51:20.83 ID:jQHFC0rR.net
- >>479 Kivyは使ったことすら無くてインストールでつまずいてます。
>>480 調べたらUnityはゲームエンジンで言語はC#ですね。C#用の無料IDEがあるかどうか。
>>481 そうですかインストール頑張ってみようかな。簡単に越したことはないし
- 483 :デフォルトの名無しさん:2020/04/08(水) 09:52:06.27 ID:ZB9MMSr7.net
- Unityはそれ自体IDEだし、個人ならVisualStudioも無料
- 484 :デフォルトの名無しさん:2020/04/08(水) 09:53:16.19 ID:Ph0iXt3g.net
- GUIアプリってのもまた微妙な言葉だな。
ゲーム、ブラウザ、デスクトップアプリ、スマホアプリ
でも取り扱いが全然違うだろ。
- 485 :デフォルトの名無しさん:2020/04/08(水) 10:53:59.23 ID:jQHFC0rR.net
- わかりやすい解説見つけたからやってみたらKivyインストール出来た
せっかく環境作って途中まで勉強したしPython + Kivyで作ってみます。ありがとうございました
- 486 :デフォルトの名無しさん:2020/04/08(水) 11:03:39.60 ID:uM85rkI7.net
- >>485
ここまでスレ使ったんだから
その
「わかりやすい解説」とやらのページに行くための検索単語か
「h」をとったttp以降のアドレス書いてけよダボハゼ
- 487 :デフォルトの名無しさん:2020/04/08(水) 11:25:39.26 ID:jQHFC0rR.net
- いやせっかくUnity教えてもらったし迷ったけどKivyの方が簡単て聞いたからだけど
結局Kivy入れるならもっとKivyのインストール調べてから聞くべきでした。失礼しました
参考にしたブログは
ttps://algorithm.joho.info/programming/python/kivy-install/
- 488 :デフォルトの名無しさん:2020/04/08(水) 12:46:17.42 ID:lWfV0IAd.net
- >>477
pygame
- 489 :デフォルトの名無しさん:2020/04/08(水) 14:37:45.00 ID:eAo5BdNs.net
- pythonとはライブラリである
実際のプログラムはjuliaで書く
pycallで呼び出せばいいのだ
- 490 :デフォルトの名無しさん:2020/04/08(水) 18:51:34 ID:91DNWNmi.net
- これのインストールのどこが難しすぎるんや???
煽り抜きでがちで解せぬ
zip解凍してexe叩くのに比べて難しいってこと?何と比較して難しいの?え?
- 491 :デフォルトの名無しさん:2020/04/08(水) 20:17:29.14 ID:0wClQ2mN.net
- 質問です
100万個くらいの点があって、それぞれ名前、X座標、Y座標を持っていて、
その中で2点間の距離が、ある範囲にある点の組を抽出したいのですが、
速度が速いのは、どういう方法になりますか?
いまは全然Pythonっぽくなく、単に各点の名前、座標でリストにして、
X、Y座標のforループ2つで、距離はmathで三平方の定理…です
ただ、100万×100万÷2も回すのはさすがに辛いので、
一応時短のため、先にリストはX座標でソートしておいて、Xの小さい方から評価して、
X座標の差が、距離の範囲のmaxを超えたらbreakでXのループ抜ける…ってのだけしてます
- 492 :デフォルトの名無しさん:2020/04/08(水) 20:25:25.80 ID:uM85rkI7.net
- >>491
距離をもとめる計算の部分を
numpy.linalg.norm でも使ってみたらどうだろう
- 493 :デフォルトの名無しさん:2020/04/08(水) 20:41:48 ID:ow6FXFAZ.net
- >>491
https://ja.wikipedia.org/wiki/%E6%9C%80%E8%BF%91%E5%82%8D%E6%8E%A2%E7%B4%A2
これじゃね
- 494 :デフォルトの名無しさん:2020/04/08(水) 20:47:22 ID:Oqe9V/es.net
- とりあえずマンハッタン距離で評価してマンハッタン距離>=ユークリッド距離は自明だからそれでフィルタする
- 495 :デフォルトの名無しさん:2020/04/08(水) 23:10:17 ID:qM29robv.net
- 空間を適当なサイズのメッシュで分割して、互いに近くにあるセルのペアに含まれる点だけで距離を計算すればいい
俺も全く同じことをやったことがあるんだが、見も蓋もないことを言えば
ぶっちゃけ手間暇かけてそういう工夫するよりCで普通に二重ループぶん回した方が結局手っ取り早くて遥かに速いよ
- 496 :デフォルトの名無しさん:2020/04/08(水) 23:23:28 ID:kz0qlGwe.net
- >>491
一回しかやらない処理ならpythonでいいけど、毎回計算処理入るようなシステムに組み込むならコンパイル言語でやった方がいいわ。
- 497 :デフォルトの名無しさん:2020/04/09(木) 00:06:17.93 ID:RjAfBwbO.net
- >>495
>互いに近くにあるセル
この判定がめんどくさそうだな
- 498 :デフォルトの名無しさん:2020/04/09(木) 01:10:22.16 ID:fZEVtxvj.net
- 1兆回のループで何分くらい?
- 499 :デフォルトの名無しさん:2020/04/09(木) 01:23:00.56 ID:w8oVZoDk.net
- >>491
理論的なことは他の人が答えているので実践的なことを一つ
モジュールscipy.spatialにKDTreeってのがあるからそれで解決
- 500 :デフォルトの名無しさん:2020/04/09(木) 02:21:30.49 ID:zooYQAb2.net
- >>492-499
回答ありがとうございました!
いろいろヒント貰ったので、それぞれ試してみます
>>498
さすがに1兆回やりきったことはなくて、
>>491で、データによるけど100億のオーダーくらいには減らして、
6時間〜半日くらいかかってます(遅いノートPCだからってのもありますが)
- 501 :デフォルトの名無しさん:2020/04/09(木) 02:50:53.88 ID:4jvLaI/L.net
- class Base():
__def __init__(self):
____self.a()
____self.c()
__def a(self):
____def b():
________pass
__def c(self):
____pass
self.c 内の処理でself.a内関数bを呼び出したいんですが、なんと書けばいいのでしょうか
- 502 :デフォルトの名無しさん:2020/04/09(Thu) 03:19:05 ID:w8oVZoDk.net
- >>501
def a(self)の戻り値にreturn bとして関数を返す
そうするとself.a()で関数bが帰ってくるから
b2=self.a()
b2()
で呼び出せる
一行でかくならself.a()()となる
- 503 :デフォルトの名無しさん:2020/04/09(Thu) 03:51:17 ID:4jvLaI/L.net
- おー。なるほど。ありがとうございます
- 504 :デフォルトの名無しさん:2020/04/09(Thu) 14:16:39 ID:ksOzelVE.net
- マルチスレッド・プロセスでやるとリークの温床になりそう。
Baseオブジェクトがbオブジェクトに依存するという関係が。
- 505 :デフォルトの名無しさん:2020/04/09(木) 15:09:05.18 ID:cpPSKMvd.net
- マルチプロセス入れたら軽くなった
global使いまわしてるとこエラー出まくってたけどTryで解決した
- 506 :デフォルトの名無しさん:2020/04/09(Thu) 19:52:09 ID:XJeI50tK.net
- 座標系aで表された3次元の点群の組と
座標系bで表された3次元の点群の組があって
座標系a→bに変換する行列をsolveするライブラリはありますか
aとbはどちらも直行座標系で、回転と並行移動で変換できることは既知です
そして各座標における点の対応関係も全て既知なので、pnpみたいにsolveして欲しいイメージなのですが
- 507 :デフォルトの名無しさん:2020/04/09(Thu) 20:06:42 ID:ECwfuEfZ.net
- ちなみに何をしたいかというと
座標系aでは点群は全てz軸上に乗っていてx,yは全て0なので
座標系a上で、別の2次元点群をx,yに配置して(zは等間隔に適当に配置)
a→bの変換によって座標系b上で点群に沿ってこの2次元点群を投影したい
- 508 :デフォルトの名無しさん:2020/04/10(金) 06:52:09 ID:uDvGi+nW.net
- 未経験から半年でフリーエンジニアになれる人の特徴
https://www.youtube.com/watch?v=YCxu0jn52Qw
フリーランスか会社員かどっちが簡単かについての最終回答
https://www.youtube.com/watch?v=JA4JNSmIdxI
【エンジニア】正社員/派遣社員/フリーランスのメリット・デメリットについて
https://www.youtube.com/watch?v=fTG-eMpwhCg
月収1000万円オンラインサロンオーナーの日常【飲み過ぎ】
https://www.youtube.com/watch?v=lPfWZLatYus&t=107s
借金400万円から人生逆転するまでの軌跡
https://www.youtube.com/watch?v=fXdHlFFUjGY
エンジニアはお金を追求してはいけないという年寄りを論破してみた
https://www.youtube.com/watch?v=qJHCmxFv718
プログラミングスクールを否定する老害どもについて
https://www.youtube.com/watch?v=K2SN-Rr0PgY&t=506s
新人叩きしてる古参勢がすぐ儲からなくなる理由
https://www.youtube.com/watch?v=Ch9Ir8O-iqU&t=332s
- 509 :デフォルトの名無しさん:2020/04/10(金) 08:38:15 ID:Ntz3fYqx.net
- >>508
グロ
- 510 :デフォルトの名無しさん:2020/04/10(金) 10:12:41 ID:nz1tlAhX.net
- >506
>回転と並行移動で変換できることは既知
そこまで判ってるなら逆行列で終わり
- 511 :デフォルトの名無しさん:2020/04/10(金) 10:14:56 ID:nz1tlAhX.net
- >>507
それって逆行列が無いパターンかもな
- 512 :デフォルトの名無しさん:2020/04/10(金) 12:43:45.01 ID:pRfpIztr.net
- >>506
https://www.slideshare.net/mobile/ttamaki/20090924
- 513 :デフォルトの名無しさん:2020/04/10(金) 15:18:45 ID:K9RJlzNI.net
- Pythonはどうして同じ命令を他の言語と比較して簡素に記述できるのですか?
- 514 :デフォルトの名無しさん:2020/04/10(金) 15:23:55 ID:q35/zNl6.net
- >>513
他の言語の何を知ってるの?
- 515 :デフォルトの名無しさん:2020/04/10(金) 15:24:36 ID:8EAe0xMT.net
- >>513
簡素なことを書いたら
いっぱいある暗黙の作業な部分はPythonアプリ側が勝手にやってくれてるから
- 516 :デフォルトの名無しさん:2020/04/10(金) 16:40:58 ID:k/YdHOe5.net
- 中カッコを書かないとか
型宣言をしないとか
文の終わりに記号がないとか
そのへん?
- 517 :デフォルトの名無しさん:2020/04/10(金) 17:31:54.04 ID:ii3qWZRf.net
- デジャブな質問…
何処かに書いてあったん?
- 518 :デフォルトの名無しさん:2020/04/10(金) 17:36:58.64 ID:8EAe0xMT.net
- >>517
デジャヴなんだ
じゃあ大学か専門あたりの追試に出てるんジャネーノ
- 519 :デフォルトの名無しさん:2020/04/10(金) 18:00:16 ID:tJvmHEKv.net
- >>513
前にも言ったが言語(環境)の中に
より詳細な命令が書いてあるから
ただしその分実行速度が遅くなるが
- 520 :デフォルトの名無しさん:2020/04/10(金) 18:09:58 ID:EbTu80yE.net
- 型無し言語だからに尽きるんじゃないの?
ライブラリの充実具合ならjavaやc#に及ばないし
- 521 :デフォルトの名無しさん:2020/04/10(金) 18:11:28 ID:mRiiX+60.net
- この質問別のスレでも見たな
>>513
・比較しているのは具体的にどの言語か
・具体的にどのようなコードか
この二点を明確にしてくれ
- 522 :デフォルトの名無しさん:2020/04/10(金) 19:06:58 ID:K9RJlzNI.net
- >>519
どうして遅くなるのにPythonはそのような仕組みを採用したのですか?
- 523 :デフォルトの名無しさん:2020/04/10(金) 19:47:29 ID:8EAe0xMT.net
- はやさがすべてじゃないから。おk? >>522
- 524 :デフォルトの名無しさん:2020/04/10(金) 20:30:24 ID:GziE5Jrh.net
- from XYZ import XY as Z でパッケージを読み込み自作クラスA内でz=Z()とインスタンスを作成しています
このインスタンスzがエラー吐いたとき、exceptになんと書けば捕捉できるのかおしえてください
エラー内容は
raise RegexMatchError(caller="get_config", pattern="config_patterns")
XYZ.exceptions.RegexMatchError: get_config: could not find match for config_patterns
です
z.exceptions.RegexMatchError や z.RegexMatchError ではno attributeと言われてしまいました
- 525 :デフォルトの名無しさん:2020/04/10(金) 20:31:33 ID:tJvmHEKv.net
- >>522
人間が読み書きする速度が早くなるからだよ
実行速度より開発速度を取るのが動的型言語
- 526 :デフォルトの名無しさん:2020/04/10(金) 20:35:16 ID:K9RJlzNI.net
- なるほど…
遅い遅いって具体的に何が遅いんですか?
- 527 :デフォルトの名無しさん:2020/04/10(金) 20:39:22 ID:8EAe0xMT.net
- >>524
caller="get_config"
たとえば↑これだと、callerにはただの文字列「get_config」が渡ってるんだけど
それでいいのか?
もっと上の方で変数名get_configとかに何かリストなり文字列なりをあててて、
それを引数として渡したいのなら書き方違うぞ。
あと
raise RegexMatchErrorで検索するとpytubeなるものしかHitしない件。
そして
それんなかのpatternには
通常たぶんre.pattern(なんや正規表現な指示)で
コンパイル済みの文字列が入っている件。
- 528 :デフォルトの名無しさん:2020/04/10(金) 20:39:49 ID:8EAe0xMT.net
- >>526
520のレスを おうちのひとに よんで もらってね!
- 529 :デフォルトの名無しさん:2020/04/10(金) 21:03:10 ID:GziE5Jrh.net
- >>527
AtomのRunnerのコピペだと上記のような感じ
e.type すると class `XYZ.exceptions.RegexMatchError`>
e.aegs すると `get_config:could not find match for config_patterns`
です。インスタンスはz=Z(文字列)で、例外処理を書きたくてわざとアンマッチな文字列投げてるんですが
どうキャッチしたらいいのかわからないのです
- 530 :デフォルトの名無しさん:2020/04/10(金) 21:04:53 ID:GziE5Jrh.net
- おっと
except Exception as e : str(type(e))とstr(e.args)ですね
- 531 :デフォルトの名無しさん:2020/04/10(金) 21:41:23.04 ID:L7OYJgcU.net
- >>524
RegexMatchErrorを定義してるpytube.exceptionsモジュールをimportしてればexcept RegexMatchError:
import pytubeしてれば except pytube.exceptions.RegexMatchError:
- 532 :デフォルトの名無しさん:2020/04/10(金) 21:58:12 ID:GziE5Jrh.net
- あーなるほど
どうもありがとうございました
- 533 :デフォルトの名無しさん:2020/04/11(土) 09:01:41 ID:baIYUoyt.net
- メインクラスがあって、メンバとして別クラス(仮にA)のインスタンスを持っているとき、
Aの中のメソッドからメインクラスのメンバやメソッドにアクセスするにはどうすれば良いですか。
- 534 :デフォルトの名無しさん:2020/04/11(土) 09:52:19 ID:rpboyRp0.net
- え、普通に
メインクラスのself.クラスAのインスタンス.メンバ
でアクセスできないですか?
- 535 :デフォルトの名無しさん:2020/04/11(土) 10:05:21 ID:3U1NgBPQ.net
- おいーす 俺Python初心者
Pythonはインデントが必須らしいけどコピペするときとか困るんじゃないの?あとめんどくさくない?
この言語ってええの?
- 536 :デフォルトの名無しさん:2020/04/11(土) 10:22:13.93 ID:NNgfTpfC.net
- >>533
Aのコンストラクタにメインクラスのインスタンス渡してA側でメインクラスのインスタンス保持させておいてそれ経由でアクセスする
- 537 :528:2020/04/11(土) 11:40:33.99 ID:baIYUoyt.net
- >>534
有難うございます。
メインクラスからAのインスタンスのメンバにアクセスしたいのではなく、
Aのメソッド中からメインクラス(のインスタンス)を参照したいのです。
もうすこし具体的にやりたいことは、メインクラスでウィンドウやUI処理させて、
Aクラスは裏で通信やデータ処理をして、結果をUIに返すみたいなことです。
データ処理の結果を、メインのUIでメッセージボックスやログウィンドウに出力するのに、
メインクラスのメソッドを呼ぶにはどういうクラス構成にしたら良いのかなという疑問でした。
>>536
やっぱりどこかでメインクラスのインスタンスへの参照を渡さなきゃいけないのですね。
ありがとうございました。
- 538 :デフォルトの名無しさん:2020/04/11(土) 11:45:50.10 ID:JNm0Zh/X.net
- 普通にreturnで返すだけじゃないの?
- 539 :デフォルトの名無しさん:2020/04/11(土) 12:51:21.82 ID:l/viBljq.net
- >>535
初心者以前じゃね?
こまんないよ めんどくさいかどうかは、入力補助アプリ使うかどうかとかによる
いいかどうかは目的次第だが、流行ではある。
- 540 :デフォルトの名無しさん:2020/04/11(土) 15:17:05.23 ID:Rx07X+Iy.net
- >>535
コピペミスなら見た目で判断できるから問題ない
きれいに書くクセがついてない人を矯正する言語と考えれば初心者向けではある
- 541 :デフォルトの名無しさん:2020/04/11(土) 15:20:15.87 ID:3U1NgBPQ.net
- >>540
いちいち目視でチェックすんのか?
数百行に及んでたらどうすんだ?
- 542 :デフォルトの名無しさん:2020/04/11(土) 16:09:21 ID:Rx07X+Iy.net
- >>541
直せばいいと思う
あなたはプログラミング上のミスをどうやって修正してる?
数百行書いてる時点でその他のミスもでてるはずだけど、それと同じように直せるはずだよ
- 543 :デフォルトの名無しさん:2020/04/11(土) 16:13:04 ID:uEe4bYzD.net
- 数百行に及ぶインデントエラーの出るコードなんて捨てちゃえ。
- 544 :デフォルトの名無しさん:2020/04/11(土) 16:19:28 ID:l/viBljq.net
- >>541
かの秀丸エディタ様には
範囲選択して右クリック→インデントを増やす・減らす機能があるぞよ。
- 545 :デフォルトの名無しさん:2020/04/11(土) 16:25:22 ID:iixeWlwQ.net
- で、でた秀丸おじさん
- 546 :デフォルトの名無しさん:2020/04/11(土) 16:38:34 ID:Ni1vKiQd.net
- >>541
Pythonはコピペに対して脆弱なのは間違いない
そこは諦めて使うかミスが発生しそうなコピペはやめるか
対象範囲のみdiffとったりしてリスクを許容範囲まで下げる
>>542
「目視でチェックするのか?」って聞かれて
「直せばいいと思う」ってなんやねんw
>>543
エラーが発生するケースはまだマシ
- 547 :デフォルトの名無しさん:2020/04/11(土) 16:41:33 ID:l/viBljq.net
- そもそも
インデントエラーがスーパー出まくるような
くそ長いorむやみに深いネストを作るな。
538が言う通りである。
- 548 :デフォルトの名無しさん:2020/04/11(土) 16:42:42 ID:U79xAJ2e.net
- こいつらpycharmもしらんのか?
使ってたらインドンテがずれるとか一発でわかるんだけど
- 549 :デフォルトの名無しさん:2020/04/11(土) 16:45:28 ID:l/viBljq.net
- インドアンタエウス
- 550 :デフォルトの名無しさん:2020/04/11(土) 16:47:27.48 ID:A6YNnT52.net
- インデントを右に
- 551 :デフォルトの名無しさん:2020/04/11(土) 17:16:36.96 ID:3U1NgBPQ.net
- >>547
出まくるとかじゃなくて一ヵ所でもあったら動作しないだろうに
- 552 :デフォルトの名無しさん:2020/04/11(土) 17:32:32.18 ID:YKvanYCA.net
- >>546
エラーに行数出るんだから簡単に直せるじゃん
数百行はどうすんの? なんて言ってる奴はインデント以外のミスはどうすんだよ?って話
- 553 :デフォルトの名無しさん:2020/04/11(土) 17:38:48.46 ID:4HmUYAnX.net
- どうすんの?って書いてる奴は別に今困ってるわけじゃないんだよな?
将来の杞憂をここに書かれてもな
嫌ならpythonやめて他の言語覚えてもいいんだよ?
- 554 :デフォルトの名無しさん:2020/04/11(土) 18:49:20.39 ID:Ni1vKiQd.net
- >コピペミスなら見た目で判断できる
どうやって見た目で判断するの?
>直せばいいと思う
は?
>エラーに行数出るんだから簡単に直せる
見た目で判断できるから問題ないというのは
エラーで行番号がわかるから修正可能って意味だったのかー
エラーになってくれるといいね
- 555 :デフォルトの名無しさん:2020/04/11(土) 19:00:25.49 ID:M1rolH0E.net
- すみません>>535ですが、メモ帳でしかプログラミングしたことないですのでツールの話はやめてください
pythonはやめてScalaにします
- 556 :デフォルトの名無しさん:2020/04/11(土) 19:56:14 ID:TRGikFff.net
- ヲタはすぐにツールとかでマウント取りたがる
別に自分で開発したわけでもないくせに
ツールに頼るとコードを書く能力が落ちるぞ
- 557 :デフォルトの名無しさん:2020/04/11(土) 20:35:26 ID:EYzLsLX6.net
- 包丁使うと手で肉を裂く能力が落ちるぞレベル
- 558 :デフォルトの名無しさん:2020/04/11(土) 20:49:46 ID:6g5H7RR3.net
- PythonよりScalaの方が難しいし
メモ帳しか使えないのに
使いこなせるとはとても思えない
- 559 :デフォルトの名無しさん:2020/04/11(土) 21:24:54.89 ID:X6fzJZPO.net
- 普通に釣りだろ
- 560 :デフォルトの名無しさん:2020/04/11(土) 21:29:13.21 ID:uEe4bYzD.net
- まぁ包丁が無いと為す術無く餓死するようでは困る。
- 561 :デフォルトの名無しさん:2020/04/11(土) 21:48:03.64 ID:zpjGHkVa.net
- むしろツールを使いまくってコードをできるだけ書かないのが最近のトレンドだろ
目的がコードを書くことになっちゃあかんぞ
と、コードを書くことが好きな人が多い板で言ってみる
- 562 :デフォルトの名無しさん:2020/04/11(土) 21:57:47.27 ID:KrvrVmHy.net
- Software Design 2月号の、Python 特集に、
VSCode で、Microsoft 製のPythonの拡張機能を入れて、
Python.jp の手順通りに、venv で仮想環境を構築すると書いてある
Windows 10, WSL, Ubuntu 18.04 なら、最初からPythonが入っている。
VSCodeの拡張機能・Remote WSL で、Linux にアクセスできる
file `which python`
/usr/bin/python: symbolic link to python2.7
file `which python2`
/usr/bin/python2: symbolic link to python2.7
file `which python3`
/usr/bin/python3: symbolic link to python3.6
- 563 :デフォルトの名無しさん:2020/04/11(土) 22:05:56.66 ID:TRGikFff.net
- >>561
うまく表現できないが、補完機能を使って書いたコードには魂が入っていないから
書いた本人もコードの内容を三日で忘れてメンテできなくなると思うんだ
- 564 :デフォルトの名無しさん:2020/04/11(土) 22:43:08.54 ID:l/viBljq.net
- 補完機能を使ったらコード内にコメント書かないとか
あふぉといったらあふぉに失礼なレベルだぞwww
- 565 :デフォルトの名無しさん:2020/04/12(日) 01:15:25.34 ID:kO9eoW6/.net
- software design ってネラーの暇人が小遣い稼ぎに記事描いてるイメージ
- 566 :デフォルトの名無しさん:2020/04/12(日) 02:29:22.38 ID:VRY0Up0I.net
- コロナで暇だからって超初心者スレで釣りしないでください!最低ですよ!
- 567 :デフォルトの名無しさん:2020/04/12(日) 03:19:11.42 ID:olxRYtrQ.net
- a = 1
"a" + str(a)
型無しスクリプト言語なのに変換必要な意味ってある?
ここらへんの思想どっかに載ってないかな
- 568 :デフォルトの名無しさん:2020/04/12(日) 03:42:46.67 ID:43im3Bh2.net
- お前はPHPやってろ
- 569 :デフォルトの名無しさん:2020/04/12(日) 04:03:04.07 ID:G3JTGpGI.net
- >>567
Rubyも暗黙の型変換は(標準で)しない
なお型が無いのではなくて動的型付け言語だ
それでなぜ自動で型変換しないかといえば
バグの原因になりやすいから
個人的にもしなくていいと思ってる
ほんのちょっとの型変換を省く手間より
デバッグの労力が大変になる方が大きいから
- 570 :デフォルトの名無しさん:2020/04/12(日) 04:13:48.20 ID:VRY0Up0I.net
- 型がないというより、型がなんなのかを考えてくれる機能が付いている
その機能がカバーしてない部分は型を宣言しないといけない
- 571 :デフォルトの名無しさん:2020/04/12(日) 07:02:05 ID:zi/Lsyjr.net
- ぶっちゃけ現場によってはセキュリティによって
ツールのインストールがくっそ面倒な所があるから、何となく気持ちは分かる
例えば秀丸のみ使用可の所とVSCode+使用可プラグイン(特にflake8とBlack)が使える所で
同じPythonプログラムの開発やらせたら絶対に印象が変わる
- 572 :デフォルトの名無しさん:2020/04/12(日) 07:30:21.20 ID:BFOK/rG/.net
- Python使う現場でVSCodeが許されないとか聞いたことない
- 573 :デフォルトの名無しさん:2020/04/12(日) 07:58:43 ID:vas415pk.net
- お前の経験値が低いだけ
- 574 :デフォルトの名無しさん:2020/04/12(日) 08:37:15.37 ID:MlWnOvRE.net
- いやだいぶ異常な現場だぞそれ。金融系か?
- 575 :デフォルトの名無しさん:2020/04/12(日) 09:08:28 ID:/o40R5E3.net
- ある無しと異常かどうかは別の話
混同する人はプログラマーに向いてない
- 576 :デフォルトの名無しさん:2020/04/12(日) 09:10:24 ID:PJaq7P3r.net
- いわゆる「人権が確保されてない」スペックしかない
クソなPCしか置いてない現場も世の中にはごまんとあるんですよ!
- 577 :デフォルトの名無しさん:2020/04/12(日) 09:11:07 ID:/AJWevTM.net
- 秀丸が好きでそればっか使うとかならわかるけど、それしかダメな理由がわからん
- 578 :デフォルトの名無しさん:2020/04/12(日) 09:15:27 ID:adFA+Z6u.net
- >>567
数値の加算と文字列連結は全く意味の異なる演算であり、それらを同一のものとして扱いたい場面は現実にはほぼ全く無い
関数の引数に渡した値の型によって関数中の+が数値加算になったり文字列連結になったりすると、おそらくどちらか一方の挙動はバグでしかない
だから、文字列となるケースを限定ことでバグの可能性を(完全ではないが)抑えている
Rubyも同じだが、静的型付けでないからこそ型による制約を強める必要がある代表的な例だ
一方で例えばJavaやC#では数値+文字列は暗黙的に文字列連結になるが、これは静的型付けならどっちの挙動になるかは文脈から間違いなく明らかだから問題ないんだよ
- 579 :デフォルトの名無しさん:2020/04/12(日) 09:26:25.63 ID:udLM5MxC.net
- Javaでも暗黙の型変換はゴミですけど?
https://note.com/ryohji/n/n1b5ab7dcd9c1
- 580 :デフォルトの名無しさん:2020/04/12(日) 09:55:01 ID:bw0e2MSi.net
- まともなセキュリティ規範を持っている組織なら、IT環境へのフリーソフトのインストールや
ネット接続は厳しく制限されているのが普通なわけでして
特別に認められたソフトしか入れられないというのは当たり前で、ましてネット接続を前提とした
VSCodeのようなプラグイン拡張を売りにしているツールの導入は至難の業でございます
- 581 :デフォルトの名無しさん:2020/04/12(日) 09:58:15.86 ID:FUhVdOGa.net
- sierはアホみたいな縛り具合だよな
- 582 :デフォルトの名無しさん:2020/04/12(日) 10:00:48.80 ID:PJaq7P3r.net
- >>580-581
はげどう
- 583 :デフォルトの名無しさん:2020/04/12(日) 10:03:24.23 ID:3eCAlvKR.net
- つーかこの板にいるほど知的好奇心高い人たちがなんでSIerで働いてるんだよ
客先常駐じゃリモートワークできるところも少ないだろ
- 584 :デフォルトの名無しさん:2020/04/12(日) 10:03:48.85 ID:9fAWEZzH.net
- 質問です
Cython?とやらを使えばC言語に変換できて高速化できるのなら
どうしてPythonが低速なのが欠点みたいに言われてるのですか?
全部毎回Cythonに変換すればいいじゃないですか 実質C言語と同等なんですよね?
- 585 :デフォルトの名無しさん:2020/04/12(日) 10:07:54.35 ID:z6qfx9Hn.net
- SIerはたいてい「客先のセキュリティ要件に準じる」だよ
で結果的にユーザー企業のITリテラシーのない一般社員達のための基準に従うことになる
SIer自身はOSSの導入などに理解のあるところも多いのだが、それについて客に対して物を言えずにペコペコしてしまうことに問題がある
SIerからすれば、工数で金取ってるから不便なほど儲かるしね
- 586 :デフォルトの名無しさん:2020/04/12(日) 10:15:34 ID:PJaq7P3r.net
- >>583が意識高い()系なのはよくわかった
- 587 :デフォルトの名無しさん:2020/04/12(日) 10:19:29 ID:PJaq7P3r.net
- >>584
Cython使わないとはやくならない
Cythonを適用するのに時間がかかる
さらに
579はあふぉ
↓でもよんでおk
ttps://qiita.com/pashango2/items/45cb85390193d97523ca
- 588 :デフォルトの名無しさん:2020/04/12(日) 10:57:35 ID:9fAWEZzH.net
- >>587
いったんC言語に変換したらもうそのままC言語として使えるんじゃないんですか?
- 589 :デフォルトの名無しさん:2020/04/12(日) 11:03:20 ID:PJaq7P3r.net
- >>588
>>587と しょうかいされてるqiitaのぺーじを
おうちのひとに いっしょに よんで もらってね!
- 590 :デフォルトの名無しさん:2020/04/12(日) 11:21:34.02 ID:kH7j2wOo.net
- cで書けば書き方に関係なく早くなるわけではない
早くする書き方がある。かなりコンパイラががんばるけど
どうにもならないことはある
- 591 :デフォルトの名無しさん:2020/04/12(日) 11:23:21.09 ID:9fAWEZzH.net
- >>590
でもベストを尽くすデメリットはないですよね?
なら常にベストを尽くすようにすればいいんじゃないんですか?
- 592 :デフォルトの名無しさん:2020/04/12(日) 11:30:15.58 ID:j35eJcDN.net
- >>584
マジレスするとnumpyとかで充分
- 593 :デフォルトの名無しさん:2020/04/12(日) 11:54:21 ID:PJaq7P3r.net
- >>591
> ベストを尽くすデメリットはないですよね?
> なら常にベストを尽くすようにすればいいんじゃないんですか?
ヽ|/
/ ̄ ̄ ̄`ヽ、
/ ヽ こっ これが 世にいう
/ \,, ,,/ | 「銃殺刑がふさわしい」レベル・・・!
| (●) (●)||| |
| / ̄⌒ ̄ヽ U.| ・・・・・・・・ゴクリ。
| | .l~ ̄~ヽ | |
|U ヽ  ̄~ ̄ ノ |
|  ̄ ̄ ̄ |
- 594 :デフォルトの名無しさん:2020/04/12(日) 11:56:24 ID:MlWnOvRE.net
- >>580
なるほどGAFAは「まともなセキュリティ規範」とやらを持ってないわけですね。
勉強になります。
- 595 :デフォルトの名無しさん:2020/04/12(日) 12:02:54 ID:9fAWEZzH.net
- >>592
プログラムもしたことないのにそんなこと言われても知らないよ
- 596 :デフォルトの名無しさん:2020/04/12(日) 12:12:51.16 ID:/oHJ0KMC.net
- ノートPC上でPythonを使って簡単な機械学習アプリを作成しようと思ってます
あまり予算がない場合、
CPUとメモリどちらに予算を割くべきでしょうか?
最高級CPU メモリ8G
そこそこのCPU メモリ16G
だったらどっちが良いですか?
- 597 :デフォルトの名無しさん:2020/04/12(日) 12:14:32.11 ID:AoGqceTi.net
- 偏らせる意味が分からないし両方そこそこでいいじゃん
- 598 :デフォルトの名無しさん:2020/04/12(日) 12:14:43.79 ID:R76cWA0T.net
- 後者
リソース足りないならクラウド上で動かせばいいだけ
- 599 :デフォルトの名無しさん:2020/04/12(日) 12:17:25.92 ID:PJaq7P3r.net
- >>596
OSくらい書けよダボハゼが
- 600 :デフォルトの名無しさん:2020/04/12(日) 12:30:13.28 ID:9fAWEZzH.net
- 話聞けよ
- 601 :デフォルトの名無しさん:2020/04/12(日) 12:37:33.73 ID:JUoERGEp.net
- >簡単な機械学習アプリ
この解釈が難しい
- 602 :デフォルトの名無しさん:2020/04/12(日) 12:38:07.15 ID:PJaq7P3r.net
- >>600
>>600 + >>589 + ひまわりがっきゅうの せんせいに あした いっしょに よんで もらってね!
- 603 :デフォルトの名無しさん:2020/04/12(日) 12:39:15.87 ID:XFi9cC8T.net
- >>595
まずやってみてから質問しろな
- 604 :デフォルトの名無しさん:2020/04/12(日) 12:46:15 ID:6lipWj9+.net
- 客先常駐セキュリティ規範マンくんさぁ、明日も満員電車に揺られるのかい?
- 605 :デフォルトの名無しさん:2020/04/12(日) 12:47:37 ID:PJaq7P3r.net
- このご時勢で満員電車があると思ってる自宅警備員はチゴイネ!(・∀・)
- 606 :デフォルトの名無しさん:2020/04/12(日) 12:50:05 ID:MlWnOvRE.net
- まあSIerのカスどもは自分の責任になるようなことは禁止させるからな。
結局それだけしか見てねーんだわ。あとはお客に対する土下座が仕事内容になってる。
このご時世ならさすがにリモートさせるだろう。どんなに仕事が滞ろうとも。
- 607 :デフォルトの名無しさん:2020/04/12(日) 12:50:51 ID:yrGi+Oru.net
- 質問です。例えば[名前、身長、体重、ウエスト]を並べた2次元リストで、
#こんなリスト→ [['鈴木',173,68,85], ['佐藤',168,59,80], ………]
身長、体重、ウエストで何か計算をした結果で、リストを並び変えたり条件抽出をしたい
で、計算が複雑だったり、人数が多かったりするときの、時間短縮をしたい
numpyだとかの使い方の説明をググると、文字列と数値の混在の例が探せない
そして、↓みたいに数名の例で、名前の部分をprint分に直接記載して表示……とか
print(' 鈴木 佐藤 高橋 田中 伊藤')
print(keisan_kekka)
これは人数が多いと無理なので、ざっくりな質問で恐縮ですが、何かいい方法ありませんか?
計算のために数値だけのリストが必要なら、名前を除いた別のリストを作っても良いかとは思うのですが、
最終的に名前と紐付けないといけないし……
- 608 :デフォルトの名無しさん:2020/04/12(日) 12:52:05 ID:iGsJxRh4.net
- >>596
CPUもメモリも程々
GPUに金かけろ
- 609 :デフォルトの名無しさん:2020/04/12(日) 12:53:50 ID:iGsJxRh4.net
- 名前を数字にしろ
- 610 :デフォルトの名無しさん:2020/04/12(日) 12:59:15.13 ID:9fAWEZzH.net
- >>602
質問者おちょくってんなよ
- 611 :デフォルトの名無しさん:2020/04/12(日) 13:01:36.60 ID:/oHJ0KMC.net
- >>601
まだフワフワなんですけど、SVMで分類とかしようかなと
- 612 :デフォルトの名無しさん:2020/04/12(日) 13:01:55.18 ID:ufBiK+My.net
- >>596
機械学習の種類によるけど
そこそこCPU+メモリ8GB+そこそこGPU
基本はこれ一択
GPU無しは有り得ないwww
- 613 :デフォルトの名無しさん:2020/04/12(日) 13:02:15.31 ID:/oHJ0KMC.net
- >>608
ノートPCに取り付けれるAI用ユニットとかありましたっけ?
Jetsonnanoみたいな
- 614 :デフォルトの名無しさん:2020/04/12(日) 13:02:58.14 ID:FUhVdOGa.net
- よく知らんで発言するけど
numpyって数値計算のライブラリだから混在はダメなんじゃない?
- 615 :デフォルトの名無しさん:2020/04/12(日) 13:03:11.23 ID:ufBiK+My.net
- すまん、svmくらいなら何でもいいわw
セルロン4GBとかでいいんじゃね(鼻ほじ)
- 616 :デフォルトの名無しさん:2020/04/12(日) 13:15:38.34 ID:cF49kzQK.net
- >>607
>身長、体重、ウエストで何か計算をした結果で、リストを並び変えたり条件抽出をしたい
>で、計算が複雑だったり、人数が多かったりするときの、時間短縮をしたい
したいなら、したらいいじゃない
> numpyだとかの使い方の説明をググると、文字列と数値の混在の例が探せない
numpy知らないけど、Pythonでできるぞ
>これは人数が多いと無理
なんで?
- 617 :デフォルトの名無しさん:2020/04/12(日) 13:18:18.48 ID:cF49kzQK.net
- >>607
https://docs.python.org/ja/3/howto/sorting.html
- 618 :デフォルトの名無しさん:2020/04/12(日) 13:19:05.12 ID:kH7j2wOo.net
- >>591
Cの処理(コンパイラの仕組みか?)をわかって書かないといくらでも処理は遅くなるよ
- 619 :デフォルトの名無しさん:2020/04/12(日) 13:19:27.90 ID:cF49kzQK.net
- あと、ケースによってはdbにぶち込んだ方が早い場合もある
- 620 :デフォルトの名無しさん:2020/04/12(日) 13:19:55.57 ID:9fAWEZzH.net
- >>618
え?翻訳機みたいなのが勝手にコンパイルみたいにチャッチャッとしてくれるんじゃないんですか?
- 621 :デフォルトの名無しさん:2020/04/12(日) 13:25:09.30 ID:XFi9cC8T.net
- >>607
pamdas使えばソートも平均 分散 標準偏差 何でも余裕
- 622 :デフォルトの名無しさん:2020/04/12(日) 13:34:27.51 ID:bw0e2MSi.net
- >>620
あーこの口調、いつもの質問のふりしてつっかかってくる荒らしだろ
暇だからって荒らすんじゃないよ
即刻NGで
- 623 :デフォルトの名無しさん:2020/04/12(日) 13:45:17.33 ID:yrGi+Oru.net
- >>621
ありがとう
pamdas使ってみます
- 624 :デフォルトの名無しさん:2020/04/12(日) 13:58:57.45 ID:nZCR2Qu6.net
- Javaしか経験なくて、
どんなデータ型扱ってるのかもわからなくなるのですが
簡単にわかる方法があるんですか?
- 625 :デフォルトの名無しさん:2020/04/12(日) 14:06:30.71 ID:yAgzYcWh.net
- Type
- 626 :デフォルトの名無しさん:2020/04/12(日) 14:06:47.92 ID:XFi9cC8T.net
- >>624
type()
メソッドやアトリビュートが見たかったらdir()
- 627 :デフォルトの名無しさん:2020/04/12(日) 14:37:05.05 ID:e8eztLOq.net
- 学術の巨大掲示板群 - アルファ・ラボ
ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
- 628 :デフォルトの名無しさん:2020/04/12(日) 15:02:15.98 ID:1hynA/f1.net
- 機械学習系の案件のゴールって何なの?
アプリ系ならアプリ作って終わりなことが多いけど機械学習系のものは運用しながら手探りでやっていく感じ?
- 629 :デフォルトの名無しさん:2020/04/12(日) 15:36:43.63 ID:z6qfx9Hn.net
- >>628
偉い人に「やりました」と報告することがゴール
ほとんどの案件はPoCで終わる
ぶっちゃけ異常な持ち上げられ方だったから、コロナショックが明けたらAIブームは一気に収束するんじゃないかな
- 630 :デフォルトの名無しさん:2020/04/12(日) 17:36:26 ID:yAgzYcWh.net
- >>628
最適解を導き報告
- 631 :デフォルトの名無しさん:2020/04/12(日) 18:28:38.80 ID:08JOurLd.net
- Pythonistaスレで質問してもレス無いんでここで質問してもいいですか?
- 632 :デフォルトの名無しさん:2020/04/12(日) 18:59:10.31 ID:PJaq7P3r.net
- >>631
だめ
- 633 :デフォルトの名無しさん:2020/04/12(日) 19:10:45.14 ID:ufBiK+My.net
- >>628
案件によるだろ
データに適用して結果報告して終わりなのもあったし
学習したモデルをシステムに組み込んで運用してるのもあるよ
- 634 :デフォルトの名無しさん:2020/04/12(日) 19:12:49.98 ID:XFi9cC8T.net
- >>631
ええんちゃうの
自分は使ったこと無いから答えられんだろうが
- 635 :デフォルトの名無しさん:2020/04/12(日) 19:32:20 ID:08JOurLd.net
- とりあえず貼ってみます
標準入力から文字列を読み込もうとするとエラーになるんですけど、どうしたらいいでしょうか
1 import sys
2 for line in sys.stdin.readlines():
〜
てやると行2でStdin.Catcher object has no attribute 'readlines'て言われます。
- 636 :デフォルトの名無しさん:2020/04/12(日) 19:58:21 ID:PJaq7P3r.net
- >>635
自分の都合のいいレスしかよまない
おめでたいうんこつまってる頭の持ち主だから
理解できないかもしれないが
まず↓を締め切ってこい
http://mevius.5ch.net/test/read.cgi/tech/1540724553/456
- 637 :デフォルトの名無しさん:2020/04/12(日) 19:59:08 ID:43im3Bh2.net
- Pythonistaだからやろなぁ
- 638 :デフォルトの名無しさん:2020/04/12(日) 20:10:48 ID:ul523R09.net
- >>636
いいから答えろ
俺様の質問だぞ?
- 639 :デフォルトの名無しさん:2020/04/13(月) 05:10:02.74 ID:lVi9Np9P.net
- クラス定義の外でグローバル宣言?した変数の
スコープはファイルのなかだけですか。
- 640 :デフォルトの名無しさん:2020/04/13(月) 09:56:18 ID:xWnIwwwl.net
- モジュールインポートすればモジュール名経由でアクセス出来る
- 641 :デフォルトの名無しさん:2020/04/13(月) 12:12:38 ID:efYd8ign.net
- matplotlibのaxes3dグラフで、左手系で描画するにはどうすればよいですか
- 642 :デフォルトの名無しさん:2020/04/13(月) 12:24:02 ID:xRaxIRXQ.net
- >>641
invert_zaxis()使えば出来そう
- 643 :デフォルトの名無しさん:2020/04/13(月) 14:26:05.41 ID:lVi9Np9P.net
- not null はなんて書けばいいですか
- 644 :デフォルトの名無しさん:2020/04/13(月) 17:32:47.93 ID:xRaxIRXQ.net
- >> 638
難しい質問だなぁ
何がしたいのかもう少し説明が欲しい
そのものズバリの回答ではないけど、比較演算なら以下のように行える
1. 何もない
JavaScriptのnullに相当するのはPythonではNone
Noneでないかどうかはif val is not Noneでチェック
2. 未定義である
JavaScriptの undefined に相当する定義はPythonにはない
未定義でないことを確認するにはlocals()やglobals()を使って
if ‘val’ not in locals() あるいは if ‘val’ not in globals()
3. 空文字
長さが0の文字列を表すのは””や’’
空文字でないかどうかの判定はif val != ‘’ やif not val
4. 空のリスト・タプル・辞書
空のリスト val=[] の判定は if val == [] あるいはif not val
前者はリスト型かどうかをチェック、後者は型チェックなし
空のタプル、空の辞書も同様
5. 文字列の最後
C言語で言う所のNULL文字の概念はないので否定の概念もない
文字列が終わりかどうかは文字列の長さで行う
6. ヌルポインタ
C言語で言う所の(void*)0をそのまま書くならc_void_p(0)
何と比較しても一致するものがない
- 645 :>>639:2020/04/13(月) 18:12:07.05 ID:lVi9Np9P.net
- たんに1.だったんですけどすごく勉強になりますありがとうございます。
Javaしかしたことなくて型が明確じゃないと自動補完が効かなくて不便な気がするのですが
どうしたら便利ですか。
- 646 :デフォルトの名無しさん:2020/04/13(月) 18:13:48.73 ID:lVi9Np9P.net
- クラスメンバの宣言ってどこでしたらいいですか。
- 647 :デフォルトの名無しさん:2020/04/13(月) 18:28:38 ID:IE4bYyG/.net
- どこでしたらいいですかって基本的にクラス内でしかできんやろ
チュートリアルくらいやったか?
- 648 :デフォルトの名無しさん:2020/04/13(月) 18:29:04 ID:53wmutI9.net
- ガイジの相手をするな
- 649 :デフォルトの名無しさん:2020/04/13(月) 18:35:58 ID:dOzBkZ/1.net
- >>646
死ね
- 650 :デフォルトの名無しさん:2020/04/13(月) 18:55:28 ID:xRaxIRXQ.net
- >>645
幸せになるにはVScodeやJupyterを使うことかな、それで補完はOK
Noneとか入れてしまうと流石に補完は効かないけど、普通にインスタンス作ったときは補完されるよ
>> 641
ここでチマチマ聞くよりも公式ページのチュートリアルをやる方が早いと思う
https://docs.python.org/ja/3/
の9.3.5.クラスとインスタンス変数に書いてある
- 651 :デフォルトの名無しさん:2020/04/13(月) 20:09:26 ID:lVi9Np9P.net
- >>647
Javaのstatic宣言みたいな宣言じゃないのに
メソッドやコンストラクタの外だとクラス変数になるのがよくわかりませんでした。
チュートリアルやります。ありがとうございます。
>>650
PyCharmでやってました。ほかのも試してみます。ありがとうございます。
チュートリアルやります
- 652 :デフォルトの名無しさん:2020/04/14(火) 03:49:37 ID:6FpXVfMV.net
- Noneの判定を is でやるのは御法度じゃなかったっけ
それとも御法度は is True/Falseだったか?
- 653 :デフォルトの名無しさん:2020/04/14(火) 04:51:38.42 ID:0GJ57pW9.net
- isじゃなくて、==がダメ
- 654 :デフォルトの名無しさん:2020/04/14(火) 09:25:44 ID:4XVcTuP3.net
- >>652
NoneもTrue/Falseの判定も is を使う
isを使う場合の御法度はnumpy.bool_型と普通のbool型の比較かな
○ np.True_ == True
× np.True_ is True
例えば変数aがnp.bool_型の場合には
if a == True:
とする必要があるが、linterが入っていると「a is Trueという記法のが良いよ」と言われて直すとバグになる
- 655 :デフォルトの名無しさん:2020/04/15(水) 13:07:16 ID:r1DmQ2P3.net
- >>642
神さまありがとう
- 656 :デフォルトの名無しさん:2020/04/17(金) 07:46:54 ID:XykWvVY9.net
- https://ideone.com/e.js/Fq5Yrt
tkinter内で作成したプログレスバーを並列動作させるところまでできたのですが、これを閉じるのはどうしたらいいのでしょうか?check関数で確認すると3本生きたままっぽいです
最終的に、先に終了するth1をカウントダウンタイマーとして使い、th1を閉じるのと同時に遅いth2を強制終了したいのです
- 657 :デフォルトの名無しさん:2020/04/17(金) 12:55:14 ID:3B9MCfUY.net
- https://stackoverflow.com/questions/110923/how-do-i-close-a-tkinter-window
https://qiita.com/mushroominger/items/db4e6bf0a5f2abd9cf5f
- 658 :デフォルトの名無しさん:2020/04/17(金) 17:18:27.88 ID:oCAFpx9E.net
- わからないなら黙ってろよ…
- 659 :デフォルトの名無しさん:2020/04/18(土) 01:55:56 ID:qqNbhhuh.net
- まったくのプログラム初学者です。
実際に使用されるプログラムにおいてprint()って関数は使用することあるんでしょうか?
どうも実際に動いてるイメージが掴めなくて困っています。
- 660 :デフォルトの名無しさん:2020/04/18(土) 02:22:57 ID:1kOraatg.net
- デバッグ
CGI出力
ログ
テキストベースのアプリ
- 661 :デフォルトの名無しさん:2020/04/18(土) 02:33:44 ID:YlPXTg+Q.net
- デバッグはprint(変数)で何が出力されるか確認するクセ付けといた方がいいよ
print(type(変数))で型も分かるし
これはどの言語でも共通すること
- 662 :デフォルトの名無しさん:2020/04/18(土) 05:21:26.28 ID:/lJ7KZ01.net
- >>659
それはCUIのアプリを
使わない(作らない)から
- 663 :デフォルトの名無しさん:2020/04/18(土) 06:36:21.93 ID:vyuWkg/I.net
- まだprintでデバッグして消耗してるの?
logger使おうな
- 664 :デフォルトの名無しさん:2020/04/18(土) 08:04:27.02 ID:4SpyI++v.net
- デバッグはprintで十分
何かするたびに新しいツールやライブラリに頼るのはPython使いの悪い癖
- 665 :デフォルトの名無しさん:2020/04/18(土) 08:23:02.96 ID:MCs2/Z36.net
- 自動2chまとめ記事投稿のプラグインを買って、色んなサイトに複製したりしてるんだが
これがpythonなのかどうかとかの判断方法ってあるんですかね?
クローラーとかが書いてあったらpython?
- 666 :デフォルトの名無しさん:2020/04/18(土) 08:54:25.18 ID:jMxNMUbH.net
- 拡張子がpyのファイルがあったらpython
- 667 :デフォルトの名無しさん:2020/04/18(土) 09:34:00 ID:MCs2/Z36.net
- ありがとうございます。
拡張子はphpのものしかないのでphpっていう言語ですかね。
- 668 :デフォルトの名無しさん:2020/04/18(土) 09:40:40 ID:21FUasb+.net
- PY=パラグアイ
- 669 :デフォルトの名無しさん:2020/04/18(土) 09:46:00 ID:qqNbhhuh.net
- >>660-662
なるほど、使うんですね!
ありがとうございます。
- 670 :デフォルトの名無しさん:2020/04/18(土) 10:26:13 ID:xymtyLA0.net
- printで充分間に合うときはそうするけど
副作用もあるし実際困るときはファイルに書き出すし
それならloggerの方が便利だぜってなるのは自然な流れだと思う
- 671 :デフォルトの名無しさん:2020/04/18(土) 12:27:36 ID:jMxNMUbH.net
- >>667
せやね
- 672 :デフォルトの名無しさん:2020/04/18(土) 13:35:30.34 ID:YqZGjV1n.net
- >>644
横からすいません
すごく勉強になります。
感謝いたします。
- 673 :デフォルトの名無しさん:2020/04/18(土) 18:49:35 ID:Zse46GbC.net
- すいません、教えてもらえませんか?
a = [[1,2],[3,4],[5,6],[7,8]........]
という感じの配列があるとして(中の数字は適当ですが二個ずつ入ってます)
1,3,5,7の最大と最小
2、4,6,8の最大と最小
を出すにはどうしたらいいですか?
普通だったらmax(a)とかで出来るんですが
行列がふえると分からないです
- 674 :デフォルトの名無しさん:2020/04/18(土) 19:04:35 ID:6SsFugeU.net
- >>673
import numpy as np
a=np.array(a)
max1357=a[:,0].max()
max2468=a[:,1].max()
numpy無しなら
max1357=max(b[0] for b in a)
max2468=max(b[1] for b in a)
- 675 :デフォルトの名無しさん:2020/04/18(土) 22:07:31 ID:RJUBXezV.net
- テスト
- 676 :デフォルトの名無しさん:2020/04/18(土) 22:08:51 ID:RJUBXezV.net
- テスト
- 677 :668:2020/04/18(土) 22:11:41 ID:Zse46GbC.net
- >>674
ありがとうございます
めっちゃ短いですね、助かります!!
- 678 :デフォルトの名無しさん:2020/04/19(日) 12:07:34 ID:GwEHrb8r.net
- Jupyter Notebookを使ってスクレイピングをしています。
soup.find_all(class_="bcs_l")
[<li class="bcs_l"><span>< 前へ</span></li>,
<li class="bcs_l"><a href="/bc/category/?q=%83T%81%5B%83t%83F%83X+%83%89%83b%83v%83g%83b%83v&;sg=%83T%81%5B%83t%83F%83X%81%40%83%89%83b%83v&;rowPerPage=100&;p=2#bcs_resultTxt">次へ ></a></li>]
ここから次のページのurlを取得するために
soup.find_all(class_="bcs_l").get("href")を使用しましたがAttributeErrorになりました。
違うサイトではこのような状況で取得できるようなことがあるのですが、この場合はなぜ取得できないのでしょうか?教えていただければ幸いです。宜しくお願いします。
- 679 :デフォルトの名無しさん:2020/04/19(日) 12:10:16 ID:QdkeRkpH.net
- soup.find_all(class_="bcs_l")[0].get("href")
- 680 :デフォルトの名無しさん:2020/04/19(日) 16:58:11.82 ID:GwEHrb8r.net
- >>679
ありがとうございます。試してみましたが何も取得できませんでした。
lenで確認したところ2でしたので
for link in soup.find_all(class_="bcs_l"):
print(link.get("href"))で確認しましたが
Noneが2つ返ってきただけなので…違う方法も試してみます
- 681 :デフォルトの名無しさん:2020/04/19(日) 17:00:42.38 ID:6cmsH0zO.net
- アクセスしてからsoup.find_allするまでに
何秒か待ったらどうなるの >>680
- 682 :デフォルトの名無しさん:2020/04/19(日) 17:07:24.94 ID:uoG1gk2+.net
- >>680
for link in soup.select(".bcs_l > a"):
print(link.get("href"))
hrefがあるのはaタグ
- 683 :デフォルトの名無しさん:2020/04/19(日) 17:54:50.56 ID:GwEHrb8r.net
- >>680
すみません、初心者で用語を理解していないからなのか
どういう意味なのかわからないです。
>>680
取得できました。ありがとうございます。aタグから
soup.find_all(class_="bcs_l").find("a").get("href")で取得できないのは
soup.select(".bcs_l > a")と何が違うのでしょうか?
- 684 :デフォルトの名無しさん:2020/04/19(日) 18:19:04.65 ID:6cmsH0zO.net
- >>683
アンカー番号間違ってるぞ
正せ
- 685 :デフォルトの名無しさん:2020/04/19(日) 18:29:05.46 ID:GwEHrb8r.net
- >>681
すみません、初心者で用語を理解していないからなのか
どういう意味なのかわからないです。
>>682
取得できました。ありがとうございます。aタグから
soup.find_all(class_="bcs_l").find("a").get("href")で取得できないのは
soup.select(".bcs_l > a")と何が違うのでしょうか?
>>684
ご指摘ありがとうございます。気をつけます。
- 686 :デフォルトの名無しさん:2020/04/19(日) 18:44:42 ID:cEt+Wu4G.net
- >>685
find_all(class_="bcs_l")した各要素について個々にそのaタグからhrefを取得しないとだめかな。
- 687 :デフォルトの名無しさん:2020/04/19(日) 22:47:27 ID:CjbETmo/.net
- 超初心者です。教えてください。
VSCodeの方が使いやすいと見たので、インストール後に動作確認の為にTkinterでウィンドウを表示させるだけのソースを実行してみたのですが、表示されません。("HelloWorld"は問題なく動作します。)
同ソースをPythonのIDLEで実行すると問題なく表示されるのですが、VSCodeで実行できるようにするにはどうすればよいのでしょうか?
確認方法を教えていただけませんか?
- 688 :デフォルトの名無しさん:2020/04/19(日) 22:57:19 ID:CjbETmo/.net
- 682です。
自己解決しました。
テストだったのでTkinter.pyと適当にファイル名をつけていたのですが、違う名前にすると動きました。
- 689 :デフォルトの名無しさん:2020/04/19(日) 23:53:03 ID:u21QryuH.net
- >>685
find_all は単数形、つまり単なる要素か、
または複数形、つまり配列のどちらを返すのか?
そういうのを使う関数の文書で調べる
単数形なら、そのまま、要素.get("href")
で取得できるけど
配列なら、配列[インデックス].get("href")
とインデックスで、どの要素か指定しないとダメ!
つまり各要素は、配列内に複数あるから
- 690 :デフォルトの名無しさん:2020/04/20(月) 04:23:42.20 ID:hSQKG7tu.net
- tkinterでmultiprocessing使うとき
if__name__=='_main_'しないとトップレベルがもう一枚出てくるんですが、ガイドの説明がわかりません
新たな Python インタプリタによるメインモジュールのインポートが、意図しない副作用 (新たなプロセスを開始する等) を起こさずできるようにしてください
代わりに、次のように if __name__ == '__main__': を使用してプログラムの "エントリポイント" を保護すべきです
これは新たに生成された Python インタープリターがそのモジュールを安全にインポートして、モジュールの foo() 関数を実行します。
新たなプロセスが開始されてしまってトップレベルの二枚目が出てきてるのでしょうが、エントリポイントとか、もう少しわかりやすく教えていただけませぬか?
- 691 :デフォルトの名無しさん:2020/04/20(月) 07:04:37.57 ID:OEA9vQ4l.net
- spyder4使用中に
カーソルが変なのになっちゃったんですが、どうやって直せばいいでしょうか?
通常はアルファベットなどの間に縦線点滅するんですが、ある特定のファイルの時だけアルファベット1文字を塗りつぶすように白く点滅してしまい
何かを入力するとカーソル合わせてるアルファベットが置き換わってしまいます。
なんか説明下手ですいません。
- 692 :デフォルトの名無しさん:2020/04/20(月) 07:09:32 ID:Hrpb22UD.net
- キーボードのインサートキー押してみ。
- 693 :デフォルトの名無しさん:2020/04/20(月) 07:15:30 ID:OEA9vQ4l.net
- >>692
ありがとうございます。
解決しました!
- 694 :デフォルトの名無しさん:2020/04/20(月) 07:18:57.36 ID:QtplPQ3l.net
- インサートあるある
- 695 :デフォルトの名無しさん:2020/04/20(月) 09:31:58.70 ID:aqwTNz7b.net
- >>690
Ruby でも使う、典型的なイディオム。
以下を、main.rb ファイルに書いて、ruby main.rb
と実行すると、$0 には、起動時の引数に渡した、main.rb が入ってくる
puts $0 # main.rb
if __FILE__ == $0
puts "メイン処理"
end
一方、__FILE__ は、現在評価中のファイル名だから、
これらが一致する時は、起動時の引数に渡したファイルが評価中なので、メイン処理である
一方、このファイルが、require, load などで、
他のファイルから、モジュールとして呼ばれた時は、
これらが一致しないので、メイン処理の部分を通らない
このように、そのファイルをメイン処理と、モジュールとして呼ばれた場合を、書き分ける方法である
- 696 :デフォルトの名無しさん:2020/04/20(月) 10:36:13 ID:+gih2h5m.net
- 「.zfill」みたいな、オブジェクトの後にドットをつけて処理を行うものについて質問です
・あれの呼び名は「メソッド」で合ってますか?
・あれを自作したいんですが、どうやればいいんでしょうか?
- 697 :デフォルトの名無しさん:2020/04/20(月) 13:06:58 ID:HGFKbNwa.net
- 勉強の方向性について質問です
pythonで実験データを解析出来るようになりたく、また可能であれば機械学習まで勉強したいのですが
pythonの基本をやってからそのままnumpyとpandaの勉強をする、という流れで大丈夫ですか?
教材はオライリーのデータ分析入門を使っています
加えてこれを勉強した上で機械学習を勉強するのにおすすめの教材(webでも本でも)はありますか?
また勉強の息抜きにtkinterでゲームを作って遊んでいるのですが、データ分析においてtkinterは使われるものなんでしょうか?
このままtkinterを勉強するべきか悩んでいます
自分の作ったプログラムを使いやすくするためにguiでソフトを作るって感じの認識で合ってますか?
- 698 :デフォルトの名無しさん:2020/04/20(月) 13:09:05 ID:HGFKbNwa.net
- >>697
今は3日目くらいでとりあえずデータのインポート、書き出しを勉強してます
panda、numpyの関数は細かい所までやるとキツいので飛ばし飛ばし勉強してます
- 699 :デフォルトの名無しさん:2020/04/20(月) 13:10:02 ID:HGFKbNwa.net
- >>697
連投ごめんなさい
誤字してました
pandasですね
- 700 :デフォルトの名無しさん:2020/04/20(月) 13:10:35 ID:qCtnBvYT.net
- >>696
・メソッドで合っている
(個人的には組み込み型への組み込みメソッドと勝手に読んでいる)
・setattrを使えば自作できるんじゃね?
- 701 :デフォルトの名無しさん:2020/04/20(月) 14:17:50 ID:X6dUog3k.net
- >>697
numpy
pandas
tkinter
どれも定番
問題ない
それより判らないからって飛ばすな
- 702 :デフォルトの名無しさん:2020/04/20(月) 14:49:27 ID:+gih2h5m.net
- >>700
回答ありがとうございます
setattrは自作クラスにクラス内変数を追加する命令っぽいですね
自分でも調べたところ、Pythonでは組み込み型にメソッドは追加できないそうです
まぁ、関数だと見た目が悪いからメソッドを使いたかっただけなんで、
この件はもういいやってことにしときます
- 703 :デフォルトの名無しさん:2020/04/20(月) 14:52:24 ID:UbANMxrk.net
- >>702
built-inじゃないクラスは簡単に拡張可能
https://ideone.com/f5IdkS
built-inは通常のやり方では拡張できないけど以下のライブラリを使えば簡単にできるよ
https://github.com/clarete/forbiddenfruit
- 704 :デフォルトの名無しさん:2020/04/20(月) 16:33:40 ID:yG2JzEgp.net
- 入門書を一通り終えた初学者です。
Djangoを学びたいと思うんですが、おすすめの書籍またはサイトなどありますでしょうか?
- 705 :デフォルトの名無しさん:2020/04/20(月) 16:50:13 ID:FQ8XoWU0.net
- こーしき
- 706 :デフォルトの名無しさん:2020/04/20(月) 17:10:46 ID:HGFKbNwa.net
- >>701
ndarrayの後半辺りがキツくて軽く飛ばしちゃいました
実際使ってみた方が覚えるかなと思ってわからなくなったら戻って、って感じでやってますが基礎しっかり固めてからの方が良いですかね?
- 707 :デフォルトの名無しさん:2020/04/20(月) 18:35:06 ID:fT3DVvgj.net
- >>686
>>689
詳しくありがとうございます。単数形と複数形のことを理解できました。
- 708 :デフォルトの名無しさん:2020/04/20(月) 18:52:59.32 ID:kSCiJILD.net
- >>706
行列の作り方とか掛け算とか逆行列、転置、縦横につなげるとかのやり方がわかってれば問題ないよ
大学教養レベルの線形代数がわかってれば、だけど
そもそも線形代数がわかってないとかだとなにするにしても辛いかも
- 709 :デフォルトの名無しさん:2020/04/20(月) 19:48:14 ID:qEnmFjBQ.net
- bs4で一番上の親(BeautefulSoupオブジェクトのひとつ下)のクラスを
子要素から取得(判定でも可)したいんですけど・・・全然上手くいかない!
何卒お助け下さい
child.parent.parent.select('.test')←エラー
child.parent.parent['class']←エラー
child.parent.parent.find(class_='test')←エラー
これは呪いですか
- 710 :デフォルトの名無しさん:2020/04/20(月) 20:10:13 ID:aqwTNz7b.net
- >>704
Python Django 超入門、掌田津耶乃、2018
主要言語・フレームワーク・ゲームエンジンで、掌田!
- 711 :デフォルトの名無しさん:2020/04/20(月) 20:12:59 ID:aqwTNz7b.net
- >>709
それだけじゃ分からない
構造化されたHTML でもあれば、Ruby でも出来るけど
- 712 :デフォルトの名無しさん:2020/04/20(月) 20:43:00.39 ID:kSCiJILD.net
- >>709
https://gist.github.com/jnakanojp/559bbfab6e7d778c8cb8f54a4753e6d9
で試してみたけどその方法で基本的には問題ない
parentし続けると最終的にはNoneになって、その前にBeatifulSoupオブジェクトになるから、
bso = child
while True:
bso_candidate = bso.parent
if type(bso_candidate) is None:
break
bso = bso_candidate
とかしたらbsoにはBeautifulSoupオブジェクトが入るはずなので、そのひとつ下のタグをあれこれするというのが確実にできる
まずは、type(child.parent.parent)とか、child.parent.parent.nameとかで何のタグまたはオブジェクトを触っているのか確認したほうが良いよ
- 713 :707:2020/04/20(月) 20:43:57.23 ID:kSCiJILD.net
- コードのインデントが間違ってた。
bso = child
while True:
bso_candidate = bso.parent
if type(bso_candidate) is None:
break
bso = bso_candidate
だね。
- 714 :707:2020/04/20(月) 20:44:23.45 ID:kSCiJILD.net
- いや、707で合ってた。708は間違いなので無視してください。
- 715 :デフォルトの名無しさん:2020/04/20(月) 21:10:32.79 ID:Hrpb22UD.net
- つか、最終的に一番上のクラス探すなら、子要素からたどる意味が分からん。
body > [class] でいいんじゃ?
- 716 :デフォルトの名無しさん:2020/04/20(月) 21:52:03 ID:UbANMxrk.net
- >>709
.parentsで辿れば?
[ (p.name, p.get('class')) for p in foo.parents]
DOMツリーの上方向に検索したいならfind_parentやfind_parents
- 717 :デフォルトの名無しさん:2020/04/20(月) 22:39:04 ID:qKSQC843.net
- djangoモデルとビューのファイル分けがたるいから嫌い
- 718 :デフォルトの名無しさん:2020/04/20(月) 23:01:37.99 ID:GAbBUhLP.net
- >>703
名前がいいねw
- 719 :デフォルトの名無しさん:2020/04/21(火) 01:11:00 ID:/3Jp9NA+.net
- >>710
ありがとうございます!
- 720 :デフォルトの名無しさん:2020/04/21(火) 06:02:46.02 ID:fqjEBtME.net
- >>697
>このままtkinterを勉強するべきか
直接機械学習とは関係ないけど
GUIが使えた方が何かと便利でしょ?
他のGUIライブラリが使えるならともかく
ひとつ位覚えておくことをオススメしたい
- 721 :デフォルトの名無しさん:2020/04/21(火) 07:53:21.85 ID:lmlXl3y2.net
- >>710
掌田津耶乃って誤記が多くね?
- 722 :デフォルトの名無しさん:2020/04/21(火) 09:08:06 ID:1MDMdwK8.net
- >>720
pythonでGUIとかギャグだからC#にしとけ
- 723 :デフォルトの名無しさん:2020/04/21(火) 09:11:05 ID:pjMFHcsu.net
- 簡単な自作ツール作る時には便利>tkinter
ただ本格的なツールやプロジェクトとしてやるなら別言語レベルで決めるかな
Pythonって外部ライブラリでもGUIってあんまり良いの無いよね
- 724 :デフォルトの名無しさん:2020/04/21(火) 09:22:53.81 ID:OETon1Dj.net
- Guiを使うとコードが冗長になるからなあ
Pythonの美しさ・シンプルさが失われてしまう
- 725 :デフォルトの名無しさん:2020/04/21(火) 09:24:59.38 ID:1MDMdwK8.net
- pythonはpocでサクッと分析するのに使う程度でモデルが決まったらコンパイル言語でFIXでしょ
- 726 :デフォルトの名無しさん:2020/04/21(火) 09:27:27 ID:ZtCEHmot.net
- 普通にPythonを業務で本番運用してるが
PythonでGUIはギャグは同意
- 727 :デフォルトの名無しさん:2020/04/21(火) 09:32:09 ID:9jT8JPrw.net
- 4年やってるが今日初めて制御構造でスコープ作られないことを知ったわw
独学のこわいところ
- 728 :デフォルトの名無しさん:2020/04/21(火) 09:39:05 ID:4+iQ7BrP.net
- 個人で使うだけだしライブラリ便利だからばりばりGUIやってるけど1つ困ってる
これエラーで止まるんだけど無視できない?エラー出る原因は分かってるから使い方で回避してるんだけど
def aaa(self, pos):
try:
win32api.SetCursorPos(pos) ←ここで止まる
except:
pass
- 729 :デフォルトの名無しさん:2020/04/21(火) 10:56:12 ID:oAPU8LL6.net
- GUIでSetCursorPosって使うモンなの?
- 730 :デフォルトの名無しさん:2020/04/21(火) 10:59:57 ID:9jT8JPrw.net
- win32apiとかいう奴の問題でしょ
例外が発生するまでの間に何か破壊的な挙動でもしてるんじゃない
passじゃなくて例外発生前の状態に復元する処理とか初期化書けば動くでしょ知らんけど
- 731 :デフォルトの名無しさん:2020/04/21(火) 12:09:31.13 ID:9jT8JPrw.net
- そうかpython本体が落ちるってことか?
ならその分かってる原因の場合はモジュール走らせないことだな
setcursorposってことはposが0なら死ぬとかじゃないの知らんけど
やるべきことはtryで捕まえるではなくifでモジュールコールの回避
- 732 :デフォルトの名無しさん:2020/04/21(火) 12:12:50 ID:4+iQ7BrP.net
- モニター切り替え時とかRDP接続時とかとタイミング重なったときだけなんで
pos入ってるけどset先を見失ってるのかな
- 733 :デフォルトの名無しさん:2020/04/21(火) 12:34:29.73 ID:KeQ+5vSZ.net
- >>732
エラーコードを貼った方が良いのと、>>731が言う通り、事前にOpenInputDesktop()を使ってSetCursorPos()が使えるかどうか確認した方が良さげ
- 734 :704:2020/04/21(火) 12:55:18 ID:4YI6COSQ.net
- みなさまありがとうございました
find_parentでいけました
ドキュメント読んだつもりがこのメソッド見逃してました
- 735 :デフォルトの名無しさん:2020/04/21(火) 14:36:47.33 ID:9fcQjJm8.net
- >>727
ホラーだな
他言語ではまずあり得ないけど
スコープ周りはPythonの一番イケてないところだから
公式チュートリアル含め下手な入門書ではきちんと解説されてない
逆にlist comprehensionやlamdaなんかを含めて
スコープ周りをまとめてわかりやすく解説できてる本は良書
- 736 :デフォルトの名無しさん:2020/04/21(火) 15:23:53 ID:tZ6+KmAU.net
- > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
- 737 :デフォルトの名無しさん:2020/04/21(火) 15:36:00.45 ID:hDMy4faN.net
- >>721
糞本乱造だからNGワードでOK
- 738 :デフォルトの名無しさん:2020/04/21(火) 17:11:22 ID:odtAm0N6.net
- >>727
オライリーの初めてのPythonなんかはかなりわかりやすい。
- 739 :デフォルトの名無しさん:2020/04/21(火) 17:25:04.84 ID:/HF3uYeq.net
- tkinterやってていつも悩むんだけど、stringをコードのあちらこちらに使うよね。主に説明文とかラベルとかで
これ全部変数化したほうがいいのか、一回しか書かないとこは直書きでいいのかとか、どう処理するのがいいんだろう?
一回全部別クラスにまとめてやろうかと思ったんだけど、冗長な気がして途中でやめてしまった
- 740 :デフォルトの名無しさん:2020/04/21(火) 18:55:44.84 ID:1MDMdwK8.net
- >>739
埋め込みなら直でええわ。
- 741 :デフォルトの名無しさん:2020/04/21(火) 19:34:00 ID:f6Wi3d68.net
- funcs = (func1(), func2())
out = reduce(lambda f, g: lambda *args, **kwargs: g(f(*args, **kwargs)), funcs)
これは何をしてるのですか?意味が分かりません。
- 742 :デフォルトの名無しさん:2020/04/21(火) 20:41:39 ID:HADG6GDb.net
- 漏れは、Ruby で、
noop: true, verbose: true を指定して、
すべての引数を親クラスへ丸投げする、関数を作ったけど、それと同じだろ
def f( *args, **options )
super( *args, **options, noop: true, verbose: true )
end
- 743 :デフォルトの名無しさん:2020/04/21(火) 22:11:24 ID:9fcQjJm8.net
- >>741
funcsに入れた関数を順番に適用する合成関数outを生成している
funcs = (func1, func2) の間違いじゃなければfunc1やfunc2が関数を返す関数
- 744 :デフォルトの名無しさん:2020/04/21(火) 22:35:31.18 ID:9mU0UMKy.net
- >>743
736ではないけど、
https://mathieularose.com/function-composition-in-python/
多少の差異はあるけど、これか。面白いね。
- 745 :デフォルトの名無しさん:2020/04/22(水) 10:24:53 ID:O/jaLKmb.net
- >>739
m17n でググレ
- 746 :デフォルトの名無しさん:2020/04/22(水) 13:57:16.66 ID:CXYTijug.net
- 多言語化?
なんの関係があるんだ?
- 747 :デフォルトの名無しさん:2020/04/22(水) 15:24:56 ID:O4cqD7Vg.net
- >>739
プログラムの規模に応じて使い分けるのがいいよ
規模が小さい場合は直書きするし、規模が大きい場合は別ファイルとしてまとめる
別ファイルにまとめるメリットは
・文字コードをUTF-8からSJISに変換したい場合に、別ファイルだけ変換すれば良い
・別ファイルだけ翻訳専門部隊に外注して多言語化しやすい
デメリットは工数が増えることかな
- 748 :デフォルトの名無しさん:2020/04/22(水) 19:19:16 ID:XP12H3iq.net
- 書籍にtensorflowはwin対応してないって書いてあったんですがマジですか?そんなことあるんですか?
- 749 :デフォルトの名無しさん:2020/04/22(水) 19:28:51 ID:YviY2TjG.net
- それはちょっと前の話で今は使えるけど、それまでは長いこと使えなかった
開発元のGoogleでは社内でWindowsの使用が禁止されているのは有名な話で、Windowsなんてそもそも相手にしてない
- 750 :デフォルトの名無しさん:2020/04/22(水) 20:13:22 ID:XP12H3iq.net
- >>749
なるほど、そういう事情があったんですね、、
ありがとうございます!
- 751 :デフォルトの名無しさん:2020/04/22(水) 20:53:11 ID:fesASw+a.net
- >>749
調べても10年前の記事しか出て来ないんだが
今もそうなの?
- 752 :デフォルトの名無しさん:2020/04/22(水) 21:40:35.72 ID:08nHfkq5.net
- 営業はともかく、少なくともGoogleのエンジニアやデータサイエンティストは
禁止されていようがいまいがWindowsは誰も使ってないだろうね
- 753 :デフォルトの名無しさん:2020/04/22(水) 23:34:42.77 ID:vwfi1bH0.net
- >>739
一般的に複雑な処理になるに応じて
別クラスなりファイルなりに切り出す
その目安はもし頻繁に変更するようなら
切り出した方が冗長でも修正が早くなる
- 754 :デフォルトの名無しさん:2020/04/23(Thu) 03:29:58 ID:jEktkStp.net
- >>749
それじゃ商売にならんだろ
クライアントマシンの98%はWinなんだぜ
- 755 :デフォルトの名無しさん:2020/04/23(Thu) 07:02:20 ID:Q66hfIcW.net
- まあchromeやgmailまわりでwindowsに対してめちゃくちゃ文句言ってたのは知ってる。
使ってないは言い過ぎだろうけれど、中の人達は好きじゃないだろうね。
- 756 :デフォルトの名無しさん:2020/04/23(Thu) 09:46:07 ID:r7Hrs66e.net
- ローカルで実行する機械学習なんて高が知れているから重要視してないってのもある
- 757 :デフォルトの名無しさん:2020/04/23(Thu) 15:27:21 ID:6C0Tc6dv.net
- 初心者です。
python であるWebサイトのスクレイピングをしたいと思います。
そのサイトはアクセスする際に、
・クライアント証明(pfxファイル)
・その証明書のパスワード
・ユーザー名
・パスワード
が必要なのですが、requests で読み込むことができるでしょうか。
調べながら2〜3日やっているのですが、わけがわからなくなってきました・・・・
- 758 :デフォルトの名無しさん:2020/04/23(木) 15:54:27.62 ID:TKybSHyM.net
- 2行目の証明書のパスワードは
ローカルな話だから
ローカルでパスワード無しのを造れば良い
他はrequestsでOK
- 759 :デフォルトの名無しさん:2020/04/23(Thu) 16:19:15 ID:6C0Tc6dv.net
- >>758
ありがとうございます。
> 2行目の証明書のパスワードは
> ローカルな話だから
> ローカルでパスワード無しのを造れば良い
すいません、理解が足りず一点質問させてください。
対象のサイトをブラウザで閲覧するとき、初回のアクセス時に 証明書(pfxファイル)を
指定してブラウザに読み込ませる(このときパスワードがいる)必要があったのですが、
・「requests でアクセスするときはこのパスワードが不要」
・または、「パスワードが不要な証明書を作り直せ良い」
のどちらになるでしょうか。
教えていただけると助かります。
- 760 :デフォルトの名無しさん:2020/04/23(Thu) 18:26:22 ID:i31cKoK5.net
- >>754
デスクトップ・アプリケーションならWindows対応考えるだろうけど
ブラウザやライブラリレベルだとUnix/Linuxで動くことを前提に開発するのは当然で
Windowsの特殊な事情に対応するのはまた別のレイヤーの話だよね
- 761 :デフォルトの名無しさん:2020/04/23(木) 19:34:57.98 ID:iR4g/Ykk.net
- >>759
例えばIEとかEdgeとかなら
pfxをエクスポートするときに
パスワード有無の設定が選べる
- 762 :デフォルトの名無しさん:2020/04/23(木) 19:43:32.10 ID:6C0Tc6dv.net
- >>761
ありがとうございます。
了解しました。
- 763 :デフォルトの名無しさん:2020/04/23(木) 22:10:58.13 ID:5udoMUF9.net
- >>761
パスワード無しpfxを直接requestsに渡せるの?
- 764 :デフォルトの名無しさん:2020/04/25(土) 09:17:54.90 ID:vRFirqtQ.net
- ディープラーニングってどれくらいのマシンパワーが必要なんでしょうか?
自宅pcでやるのは無理ですか?アナコンダなど
- 765 :デフォルトの名無しさん:2020/04/25(土) 09:19:43.14 ID:RyJNrHEl.net
- 目的とその学習量によるが
実用化しようとすると
計算資源が不足する場合はよく起こる
- 766 :デフォルトの名無しさん:2020/04/25(土) 10:10:49 ID:7jpIjPuc.net
- 自分で1から全部作るなら問題ない
ソフトウェアというのは、その時点で開発者の想定したハードウェアにおいて人間から見て許容可能な時間で処理を完了するように作られるものだ
で、ディープラーニングというのは普通クラウドで超高性能のマシンを多数並べて動かすのが普通であり、
出来合いのツールやフレームワークはそういう環境を想定して作られている
すなわち、それを手元のPCで動かそうとすると許容できないほど遅くなる可能性が高いってこと
性能の技術的限界というよりは開発者の想定の問題なんだよ
- 767 :デフォルトの名無しさん:2020/04/25(土) 10:16:21 ID:4nLfPOGM.net
- 実行させてる間に他の事したいんだったら
もう一台PCある方がマシ
既に一台だけ持っててテストだけしたいならそれでやって
速度足りないと思ったら新規に買うなり
AzureとかVPSとか適当に外部のCPU/GPUの力を借りる
- 768 :デフォルトの名無しさん:2020/04/25(土) 11:03:55 ID:OXZXCSw6.net
- >>764
MNIST,CIFAR10ぐらいのチュートリアルレベルならノートPCでも行ける
- 769 :デフォルトの名無しさん:2020/04/25(土) 11:30:43.89 ID:sGYbLeKJ.net
- >>764
これ自分も気になる
ローカルでHello Worldレベルの機械学習の勉強をやってみたい
クラウドのサービスとか使わずにやってみたい
- 770 :デフォルトの名無しさん:2020/04/25(土) 11:32:45.56 ID:vRFirqtQ.net
- >>768
アイドルの水着を脱がせたいのですが、これはどうでしょうか?
GTX10502GBはありますです
- 771 :デフォルトの名無しさん:2020/04/25(土) 11:38:54 ID:VdLGa5Mo.net
- >>769
一か月は見積もれ
>>770
はなしにならん
- 772 :デフォルトの名無しさん:2020/04/25(土) 11:40:39 ID:vRFirqtQ.net
- ただ一人の水着脱がせる程度でも?
じゃあcolab使うしかないの?
- 773 :デフォルトの名無しさん:2020/04/25(土) 11:54:33.16 ID:RyJNrHEl.net
- ひとりという単位で考えても仕様がない
学習量は識別精度のラインで決まる
画像認識なら判別できるかどうかとか
- 774 :デフォルトの名無しさん:2020/04/25(土) 12:59:20.70 ID:OXZXCSw6.net
- >>772
学習完了したモデルがあって脱がせるだけなら十分だよ
学習からだったら厳しい
- 775 :デフォルトの名無しさん:2020/04/25(土) 13:02:39 ID:VdLGa5Mo.net
- 厳しいというか
エポックメイキングクラスの頭の良さじゃないと無理ゲーw
- 776 :デフォルトの名無しさん:2020/04/25(土) 13:03:01 ID:OXZXCSw6.net
- こんな場所で聞く前にやってみればいい
メモリ不足になるか永遠に終わらないなら出来ないって事だから
- 777 :デフォルトの名無しさん:2020/04/25(土) 13:04:08 ID:WiQ29P7U.net
- >>770
そんなしょぼいリソースで脱がせられるわけ無いだろ。
肘の高さまで積めば脱ぐぞ。
- 778 :デフォルトの名無しさん:2020/04/25(土) 13:14:47.65 ID:tt7JMuUr.net
- >>777
森田!?
- 779 :デフォルトの名無しさん:2020/04/25(土) 13:27:26.09 ID:YMQ7YzAs.net
- コラは脳内でやりなさいな
自作コラがデジタル遺産になっちゃった時のことを想像してみなよ
- 780 :デフォルトの名無しさん:2020/04/25(土) 13:35:59.01 ID:VdLGa5Mo.net
- www >>779
アナログエログッズ遺産wの話はよくきくなー
- 781 :デフォルトの名無しさん:2020/04/25(土) 14:41:30.68 ID:asUFwLCa.net
- >>778
おれは手にでるたちなんだ
- 782 :デフォルトの名無しさん:2020/04/25(土) 14:46:29.51 ID:vRFirqtQ.net
- >>774
学習からだよ
- 783 :デフォルトの名無しさん:2020/04/25(土) 14:55:01 ID:u/NMAH8U.net
- そうか、遺品になるのか
- 784 :デフォルトの名無しさん:2020/04/25(土) 16:48:50 ID:xZCKRG+m.net
- イヒーン!!!
- 785 :デフォルトの名無しさん:2020/04/25(土) 16:50:41.13 ID:VXRioxhM.net
- >>770
それじゃパレオまでだな
- 786 :デフォルトの名無しさん:2020/04/25(土) 17:01:19 ID:VdLGa5Mo.net
- 何にでもパレオを着せちゃうアプリなりWebサなり作ったらおもしろいかなぁ・・・? (´n`)
- 787 :デフォルトの名無しさん:2020/04/25(土) 17:36:29.11 ID:vRFirqtQ.net
- colabでやるしかないの?
- 788 :デフォルトの名無しさん:2020/04/25(土) 17:58:33 ID:VdLGa5Mo.net
- >>787
http://mevius.5ch.net/test/read.cgi/tech/1568616071/l30
マルチポストやめろや犯罪者予備軍
- 789 :デフォルトの名無しさん:2020/04/25(土) 18:03:40 ID:vRFirqtQ.net
- フェミキッも
- 790 :デフォルトの名無しさん:2020/04/25(土) 18:21:48 ID:VdLGa5Mo.net
- 炉は違法ナウ
あふぉか
- 791 :デフォルトの名無しさん:2020/04/25(土) 20:32:33 ID:E8KoCKl4.net
- モダンなpythonのweb開発ってこんなんで合ってるか?
・fastapi
・uvicorn
・poetry
もっと強そうなのやってるってやついたら教えて
- 792 :デフォルトの名無しさん:2020/04/26(日) 12:09:07.17 ID:6zCmbsSG.net
- アナコンダって名前が強そうじゃね?
- 793 :デフォルトの名無しさん:2020/04/26(日) 12:56:06 ID:c8/CeCgn.net
- 強いかどうかは知らんけど
太そうではある
- 794 :デフォルトの名無しさん:2020/04/26(日) 13:10:35 ID:MxJUgOyh.net
- 重そう
- 795 :デフォルトの名無しさん:2020/04/26(日) 16:18:19 ID:aYrZ9+ck.net
- 最近はミニコンダ使ってる
- 796 :デフォルトの名無しさん:2020/04/26(日) 17:15:38.32 ID:1kL3nhkt.net
- sqliteってboolean型無いの?
- 797 :デフォルトの名無しさん:2020/04/26(日) 18:27:28 ID:kwdN3Wnk.net
- >>796
ない
Integerの0と1で代用
てかデータベース板聞く内容
- 798 :デフォルトの名無しさん:2020/04/26(日) 18:31:37 ID:1kL3nhkt.net
- >>797
やっぱそうか…でもSQLalchemyかましたら普通にTrue Falseでいける?
- 799 :デフォルトの名無しさん:2020/04/26(日) 19:11:06 ID:kwdN3Wnk.net
- >>798
SQLAlchemyを使う前提ならSQLiteの型はあまり考慮しなくていい
Python側でTrue/Falseを使えばデータベース側はバックエンドに応じて適切に処置される
- 800 :デフォルトの名無しさん:2020/04/26(日) 19:20:09 ID:1kL3nhkt.net
- >>799
サンクス
そうなんすね、こういうときにORMが力を発揮するんやね、今までなんのためにあるかようわからんかったけど
- 801 :デフォルトの名無しさん:2020/04/26(日) 19:41:29.40 ID:PGzBFzsM.net
- 数行書試答分すぐに人聞く奴ww
- 802 :デフォルトの名無しさん:2020/04/26(日) 20:15:28 ID:FVxXRtXH.net
- ワードプレス案件とかあったとしても、コミュ力無いと無理だな
- 803 :デフォルトの名無しさん:2020/04/26(日) 20:20:37 ID:MxJUgOyh.net
- べらんめえ
あたぼうよ
- 804 :デフォルトの名無しさん:2020/04/26(日) 20:21:01 ID:MxJUgOyh.net
- >>801
ふりがなきぼんぬ
- 805 :デフォルトの名無しさん:2020/04/27(月) 10:42:17.17 ID:YGWMtg+u.net
- SQL の文法に論理的 AND とか OR はあるのに
bit の AND / OR が無いのは不思議
- 806 :デフォルトの名無しさん:2020/04/27(月) 11:35:17.94 ID:NQjCQXX/.net
- テーブルにビットフラグ入れる馬鹿を喜ばせるような機能を入れてはならない
- 807 :デフォルトの名無しさん:2020/04/27(月) 18:29:48 ID:5NBRtOT1.net
- すみません。質問させていただきます。遷移して100件ほど取得後outputリストに入れて、pandasで確認してみたところ各100行ほどのデータが1つしか表示されず
item_urls = []
output = []
for _ in range(1):
res = get_html(url)
soup = bs(res.content, "html.parser")
item_urls += ["https://www.adkeiolm.com" +item.find("a").get("href")for item in items]
url = "https://www.adkeiolmw.com" + soup.find(class_="pager-next kjduaksi-as").find("a").get("href")
print(url)
time.sleep(5)
output.append({
"title":item.find(class_="items-box-name sevne-3").text,
"price":item.find(class_="items-box-price sevne-4").text,
"url": "https://www..com" + item.find("a").get("href"),
"pictuers":item.find("img").get("kiad-src")
})
下のこの内包表記を使ったコードでは各100件ほど取得できているのですがタイトル1つに100件が入ってしまっていて100行にしたいのですが、1行に全て入ってしまっています。このデータを1つずつにするにはどうすれば良いのでしょうか?
output.append({
"title":[(item.find(class_="items-box-name sevne-3").text)for item in items],
"price":[(item.find(class_="items-box-price sevne-4").text)for item in items],
"url" :["https://www.adkeiolm.com" +item.find("a").get("href")for item in items],
"pictuers":[item.find("img").get("kiad-src")for item in items]
})
内包表記の使い方が間違っていたり、質問が分かりにくいと思いますが教えていただければ幸いです。宜しくお願い致します。
- 808 :デフォルトの名無しさん:2020/04/27(月) 19:40:02 ID:gG8/Dj0p.net
- >>807
内包表記が間違ってるんじゃなくてpandasのDataFrameへの突っ込み方が間違ってる
やるならこうかな
titles = []
prices = []
urls = []
pictures = []
と列に対応するリストを作った上で
titles.append(…)
prices.append(…)
urls.append(…)
pictures.append(…)
とそれぞれリストに追加して
df.DataFrame({
‘title’: titles,
‘price’: prices,
‘url’: urls,
‘picture’: pictures,
})
とやる
遅くていいならdf.append()やdf.assign()を使えばできるけど、上に示した方法のが速い
- 809 :デフォルトの名無しさん:2020/04/27(月) 19:44:48 ID:gG8/Dj0p.net
- ミスった
分かってると思うけど df.DataFrame は間違いで正しくは pd.DataFrame
- 810 :デフォルトの名無しさん:2020/04/27(月) 22:22:19 ID:5NBRtOT1.net
- >>808
別々にすることが出来ました。別々になったものを合わせて表示することもできるのでしょうか?
列ではなく行の表示にかわっていたり分からないことが多いので
pandasのこともっと調べてみようと思います。助かりました。ありがとうございます。
- 811 :デフォルトの名無しさん:2020/04/28(火) 08:58:07.54 ID:zAZN/f3s.net
- 馬鹿には無理
- 812 :デフォルトの名無しさん:2020/04/28(火) 09:46:07.32 ID:yTzcHMfY.net
- pandasは可読性悪いし、スケールもしないってことはもっと知られてもよいと思うよ。
便利だとは思うけど。
- 813 :デフォルトの名無しさん:2020/04/28(火) 10:22:40.48 ID:64sl3lOI.net
- 実際前処理はSQLでやるもん?
- 814 :デフォルトの名無しさん:2020/04/28(火) 11:39:40 ID:NJdxwODR.net
- たまにスクレイピングの質問の後に
馬鹿には無理の書き込みがあるけど
複雑なものを作るわけでもないスクレイピングやpandasなんてやってれば
馬鹿でもできるようになるだろ。
- 815 :デフォルトの名無しさん:2020/04/28(火) 13:45:32 ID:64sl3lOI.net
- >>814
そこに自分のエッジを見いだしたいのさ
- 816 :デフォルトの名無しさん:2020/04/28(火) 13:54:03 ID:0b60T+Li.net
- ffmpeg.exeを実行ファイルと別のフォルダに置きたい
pyinstallでexe化して人に渡すプログラムなんだけど、実行ファイル内でffmpeg.exeはここです というように指定できないのでしょうか
- 817 :デフォルトの名無しさん:2020/04/28(火) 14:01:44 ID:mazmPJVy.net
- 指定したらいいんじゃないでしょうか
- 818 :デフォルトの名無しさん:2020/04/28(火) 14:14:40 ID:vhevaFWy.net
- ここにありますって別フォルダを指定すればいいのではないでしょうか
- 819 :デフォルトの名無しさん:2020/04/28(火) 14:59:44 ID:kB+BQSUv.net
- Pythonで桁を揃えて出力したいのですが
C言語の(%桁数)みたいなのってありますか
C
printf("%3d",val);
Python
- 820 :デフォルトの名無しさん:2020/04/28(火) 15:05:49 ID:YXT7NMBw.net
- docs.python.org/ja/3/library/string.html#formatspec
- 821 :デフォルトの名無しさん:2020/04/28(火) 17:44:52 ID:ZNkTbKCD.net
- >>> val = 13.456
>>> f'{13.456:3.2f}'
'13.46'
>>> val = 13
>>> f'{13:3d}'
' 13'
- 822 :デフォルトの名無しさん:2020/04/28(火) 18:01:22 ID:3Sov7JdV.net
- >>821
せっかくvalに入れたのに何故使わない・・・
- 823 :デフォルトの名無しさん:2020/04/28(火) 18:35:50 ID:kB+BQSUv.net
- >>821 >>820
出来ました、ありがとうございます
- 824 :デフォルトの名無しさん:2020/04/28(火) 22:44:32 ID:vCxt9Ac8.net
- >>812
スケールもしないとは具体的にどういうことをいうのか教えてください。
- 825 :デフォルトの名無しさん:2020/04/28(火) 23:24:44.87 ID:7QVY/xgO.net
- >>816
third party 製のライブラリを置くフォルダを作れば?
むしろ、実行ファイルと同じフォルダへ置くと、
もし、そのフォルダへパスを通す客がいた場合に、
ffmpeg.exe もグローバルに見つかってしまうから、
客が元から、ffmpeg.exeのフォルダへパスを通していた場合に、
パスの順序によっては、実行されるffmpeg.exeのバージョンが変わってしまう
Ruby ならコマンドプロンプトで、where ruby
と入力すると、C:\Ruby25-x64\bin\ruby.exe
このbin には、rspec など、多くのグローバルなコマンドが置いてある
where rspec
C:\Ruby25-x64\bin\rspec
C:\Ruby25-x64\bin\rspec.bat
一方、include, lib などは、そのパスに含まれないフォルダにある。
C:\Ruby25-x64\include
C:\Ruby25-x64\lib
- 826 :デフォルトの名無しさん:2020/04/28(火) 23:34:05 ID:dUWngQCm.net
- ドジャンゴってjinja2使えないの?
- 827 :デフォルトの名無しさん:2020/04/28(火) 23:48:05 ID:5dLgSlfc.net
- 質問させてください。環境はVSCode、python3.8です。
はじめての Django アプリ作成、その 3¶
https://docs.djangoproject.com/ja/3.0/intro/tutorial03/
をやっているのですが、途中で出てくる
latest_question_list = Question.objects.order_by('-pub_date')[:5]
という部分の「objects」とは何なのでしょうか?
チュートリアルには説明がなく、定義へ移動も使えないため、調査が行き詰っています。
どうやらDB関連であることは分かったのですが、
詳しい説明があるページなどはないでしょうか?
- 828 :デフォルトの名無しさん:2020/04/29(水) 00:22:58 ID:SPs1sTfW.net
- モデルマネージャー
https://qiita.com/shonansurvivors/items/12b087cf5ab591273c8c
- 829 :デフォルトの名無しさん:2020/04/29(水) 01:21:40.83 ID:aX8BTSoD.net
- >>826
使える
- 830 :デフォルトの名無しさん:2020/04/29(水) 08:33:49 ID:hLPuNgM7.net
- >>828
ありがとうございます。よんでみます。
- 831 :デフォルトの名無しさん:2020/04/30(Thu) 10:21:50 ID:dh2ku4Cm.net
- >>825
とりあえず生ファイルで1GB ~ 10GBの容量を df で読み込んでみればわかる。
- 832 :デフォルトの名無しさん:2020/04/30(Thu) 10:51:38 ID:gdXBd5Z+.net
- >>827
チュートリアルその2を飛ばしたのか?
まぁその気持ちはわかる
- 833 :デフォルトの名無しさん:2020/04/30(Thu) 12:33:07 ID:0pNWuAUl.net
- スケールさせたい場合はpandasよりもdaskのがいいらしい
大規模処理はPySparkしか使ったことないので詳細は分からない
速度が速いbaexというのもあるらしいが、こちらも未だ未検証
まだまだ勉強する事が多い
- 834 :デフォルトの名無しさん:2020/04/30(Thu) 12:39:35 ID:0pNWuAUl.net
- vaexのタイポ
- 835 :デフォルトの名無しさん:2020/04/30(Thu) 18:43:15 ID:bJdEgVJ8.net
- testString = "testabctesttestaaatest"
みたいな文字列があった場合、末尾のtestだけ削除して
testString = "testabctesttestaaa"
に置き換えるにはどうしたら良いですか?
- 836 :デフォルトの名無しさん:2020/04/30(Thu) 19:37:57 ID:Ef0maUrX.net
- >>835
testString = testString[0:-4]
- 837 :デフォルトの名無しさん:2020/04/30(Thu) 19:43:00 ID:b2D0vH/n.net
- >>835
testString = re.sub(r'test$', '', testString)
- 838 :デフォルトの名無しさん:2020/04/30(Thu) 19:59:49 ID:bJdEgVJ8.net
- >>836-837
ありがとうございます!
- 839 :デフォルトの名無しさん:2020/04/30(木) 21:44:34.91 ID:2wImZKNoJ
- 【初の数学授業@】300年前に天才フェルマーが残した数学界最大の難問
https://www.youtube.com/watch?v=38U0Mhp3MbQ
【フェルマーの最終定理A】天才が残した300年前の難問に終止符
https://www.youtube.com/watch?v=12C8J7u6KKo
【25分で中学生でも分かるabc予想】何に役立つの?ふくらPがよく分かる解説!
https://www.youtube.com/watch?v=lNF0Zoi7j4c
数学界の天才が証明したABC予想をわかりやすく解説してみた
https://www.youtube.com/watch?v=0rK_QkAUorQ
物理学の根幹を揺るがす思考実験(マクスウェルの悪魔)
https://www.youtube.com/watch?v=AFx6CqYtbwQ
- 840 :デフォルトの名無しさん:2020/05/01(金) 03:19:08.64 ID:lVYDVOrS.net
- tkinterで開始ボタンと停止ボタンを作り、
開始ボタン押下でスレッドで処理開始、停止ボタン押下でスレッドを終了ということをやりたいです
ググった結果、グローバル変数でフラグ管理をしてスレッドを終了させるという手法を見つけたのですが
while True:
処理A
処理B
処理C
...
こういった感じでスレッドが長めのwhileループをしており、
フラグ判定でスレッドを終了させるにはそこら中に判定文を仕込む必要がありそうであまりスマートに見えません
初のプログラム言語で何か見落としていそうなのですが、良い方法はないでしょうか
- 841 :デフォルトの名無しさん:2020/05/01(金) 04:06:35.36 ID:801cZcm3.net
- 最後に終了フラグ立ってるかどうかだけ調べる処理書いとけばいいんじゃねーの
- 842 :デフォルトの名無しさん:2020/05/01(金) 05:38:07.01 ID:qKDvLgNt.net
- 途中で安定的に止めるには、途中でフラグ見るしかなかろ。シグナル送るにしても、結局チェック要るんだから
あるいは
def call_func(call):
__check stop_flg()
__if call=1:
____処理内容関数1()
__elif call=2:
____処理内容関数2()
みたいな
俺は途中で止めるときはkillしたあとプロセスとqueue空にする過激派だからmultiprocess使う
- 843 :デフォルトの名無しさん:2020/05/01(金) 06:44:00 ID:pKAHvJ73.net
- >>840
> 初のプログラム言語で何か見落としていそうなのですが、良い方法はないでしょうか
ないです
現状では、優先度 (priority)やスレッドグループがなく、スレッドの破壊 (destroy)、中断 (stop)、一時停止 (suspend)、復帰 (resume)、割り込み (interrupt) は行えません。
https://docs.python.org/ja/3/library/threading.html#threading.TIMEOUT_MAX
- 844 :デフォルトの名無しさん:2020/05/01(金) 09:49:23 ID:vI9DtzS8.net
- subprocessって以前は破壊コマンドあったんだっけ?
いまはos.killするしかないのか
- 845 :デフォルトの名無しさん:2020/05/01(金) 22:44:02 ID:o7T99yl7.net
- AAA,BBB,CCC
1,テスト,テスト
のようなウェブ上にある CSV を
csvfile = urllib.request.urlopen('<url>').read().decode('utf_8_sig')
reader = csv.reader(csvfile)
for row in reader:
print(row)
みたいな感じで読むと、1文字ずつ取り出されてしまうようなんですが、
どういったところを疑えばよさそうですか?
CSV が1文字ずつ改行されているということもないですし、
ネットで探してもこんなことで困っているようなケースは見当たらないようですが…
- 846 :デフォルトの名無しさん:2020/05/01(金) 22:59:44.37 ID:xXuuls7c.net
- >>845
csvfileって書いてるところがstrだからでしょ
for row in csv.reader(csv_string.splitlines()):
みたいにすればいいと思うよ
- 847 :デフォルトの名無しさん:2020/05/01(金) 23:03:33.79 ID:xXuuls7c.net
- https://ideone.com/eH87H3
- 848 :839:2020/05/01(金) 23:08:21.48 ID:o7T99yl7.net
- >>846-847
いけました!!!ありがとうございます!!!!!
- 849 :デフォルトの名無しさん:2020/05/02(土) 06:15:56 ID:9xJcUutm.net
- >>845
csv.reader()の引数はイテレータである必要があり__next__()を呼び出して処理する
csvfileは文字列で__next__()を呼び出すと1文字ずつ返すからそうなってしまう
多分やりたいのは1行ずつ処理してほしいんだろうから
urllib.request.urlopen('<url>').read().decode('utf_8_sig').splitlines()
とかで行のリストにしてみたらいいかと
- 850 :デフォルトの名無しさん:2020/05/02(土) 08:30:37.36 ID:fH6yOmK2.net
- # なんとなくread()するのがもったいないかんじもするので
with urllib.request.urlopen('<url>') as f: # byte stream
__tf = io.TextIOWrapper(f, newline='', encoding='utf-8')
__reader = csv.reader(tf) # text stream
__for row in reader:
____print(row)
- 851 :デフォルトの名無しさん:2020/05/02(土) 09:27:35.79 ID:S0jsNVj+.net
- なるほど、csv.reader(open(ファイル名,"r"))での動作はそういうことか。
- 852 :デフォルトの名無しさん:2020/05/02(土) 10:57:38 ID:KJskOYTt.net
- Ruby では、CSV.foreach で、1行ずつ処理できる
require 'csv'
file_path = "input.csv"
CSV.foreach( file_path ) do |row| # 1行ずつ処理
puts "#{ row[ 0 ] } : #{ row[ 1 ] }"
end
出力
あ : いう
a : bc
- 853 :デフォルトの名無しさん:2020/05/02(土) 16:22:53 ID:/lhI8m4i.net
- >>852
844のコードで何が書いてあるかさえ理解できないの?
ほんとにrubyしかわからないんだな。毎日毎日別言語のスレに見当違いのrubyのコード書いて、無職でrubyでちょっとしたコードが書けることが唯一の誇りなのかな…?
- 854 :デフォルトの名無しさん:2020/05/02(土) 16:38:30 ID:5EdNFNFK.net
- でもなあ>>849みたいに既に回答されてる内容をさも意味があるかのようにただ繰り返すだけのやつよりはまだいいと思うぞ
- 855 :843:2020/05/02(土) 17:01:49 ID:fZ0Wf7vj.net
- >>854
リロードしてなくて被っただけ
アンカー見たらわかると思うんだが
>>853
ルビ厨の相手するなよ…
- 856 :デフォルトの名無しさん:2020/05/03(日) 12:24:37 ID:zajIy9nA.net
- ここまで平常運転
- 857 :デフォルトの名無しさん:2020/05/03(日) 12:33:54 ID:OgIpuXev.net
- Ruby、なら、こんな、感じ
require 'おっぱい'
oppai = 'OPPAI'
OPPAI.foreach(OPPAI)
put end
出力
おっぱい!!!!!!!!!
!!!!
!!!!!!!おっぱい!!!おっぱい!!!!おっぱい!!!!!!
- 858 :デフォルトの名無しさん:2020/05/03(日) 15:08:51 ID:ZgI9KZgQ.net
- 7時間もリロードせずにレス書くやつw
そして>>855と>>853が同一人物という落ち
- 859 :843:2020/05/03(日) 15:29:42 ID:c0VfduH1.net
- > そして>>855と>>853が同一人物という落ち
自演認定厨乙
- 860 :デフォルトの名無しさん:2020/05/05(火) 22:26:42 ID:ewxDBjQY.net
- プログラミング、Pythonとは?
ってぐらいの超初心者です。
目標は競馬のデータ分析です。
はじめの一歩としてオススメの
参考本はありますか?
- 861 :デフォルトの名無しさん:2020/05/05(火) 22:33:27 ID:RRxDjeLu.net
- 統計学入門本
- 862 :デフォルトの名無しさん:2020/05/06(水) 00:02:40.90 ID:W58P0N71.net
- とりあえず作りたいものExcelで完成させるといい
- 863 :デフォルトの名無しさん:2020/05/06(水) 00:07:24 ID:SR4GLnWF.net
- >>860
俺もプログラミングはじめてだったんで、くじら飛行机のでpythonというかプログラミング自体を習い、次にオライリーの魚の本でAIを習い、まとめに競馬AI作って上手いこといきました
ちなみに俺は競馬やらないんだけど、分析には問題なかったです。専門用語調べたりはしましたが
- 864 :デフォルトの名無しさん:2020/05/06(水) 01:13:20 ID:v0qbIS5+.net
- >>863
すごい
自分もくじら本読んだけど全然理解が追いつかない
- 865 :デフォルトの名無しさん:2020/05/06(水) 01:24:30 ID:Py17Myp9.net
- >>860
マジレスしてやると、微分積分、線形代数、統計2級以上はベース知識として必要だが、既にクリアしてるならゼロから始めるDeeplearning嫁
- 866 :デフォルトの名無しさん:2020/05/06(水) 02:14:25 ID:Z893TlLs.net
- >>860
競馬が好きなんだろうけど
天引き率多いから99パー勝てないよ
もし本気で金を稼ぎたいなら
株価分析の方が良い
そしてデータ分析なら
Excel VBAから始めるのも良い
VBAは入門書が多いし易しいし
最初からExcelのGUIがついてるから
超初心者にはこのふたつが重要な点
- 867 :デフォルトの名無しさん:2020/05/06(水) 08:44:30 ID:hZgdHdQL.net
- 競馬と株で株勧めるやつは素人か嫌がらせ
これ豆知識ネ
- 868 :デフォルトの名無しさん:2020/05/06(水) 10:40:08 ID:j6jjCoM5.net
- そもそも皆さんが言ってる事が理解出来てないぐらいです
競馬は趣味程度で稼ぎたいとまでは考えてないが
プログラミングとデータ分析を覚えながら
趣味に繋がれば…
目的、目標がないと挫折しそうなので。
そんな奴でも理解出来る本ってありますかね??
- 869 :デフォルトの名無しさん:2020/05/06(水) 10:51:09 ID:S4taeDi9.net
- 聞く前にやってみたら?
本なんて読んでみて合わなかったら次いけばいいよ
今ならkimdleunlimitedが三ヶ月300円今日までだし色いろなpython本ある。ふりがなpythonプログラミングとか言う本もあった読んでないけど簡単そう
- 870 :デフォルトの名無しさん:2020/05/06(水) 10:57:41.19 ID:q6Rk1GB6.net
- >>866
競馬は全部の馬券の組み合わせを買っても絶対勝てないように出来てるんですよね
- 871 :デフォルトの名無しさん:2020/05/06(水) 11:14:04 ID:yuTNjihe.net
- パチスロで天井狙いした方がまだ勝てる件
- 872 :デフォルトの名無しさん:2020/05/06(水) 11:28:32 ID:CFZzJW0b.net
- >>870
いや
違う
出来そこないのウマ3頭を省いて15頭の総当たりで勝てるが、
難癖付けられて税務署にもってかれる
要するに、競馬の必勝法は編み出されたが、それを使うと税金的に逮捕される
だから、競馬は勝っちゃいけないゲームだということが周知になった
もはや男は騙せないから、女子供向けのCM打ってる
- 873 :デフォルトの名無しさん:2020/05/06(水) 11:30:49 ID:q6Rk1GB6.net
- なるほど!
判りやすい説明thx
前それで逮捕されてた人って無罪になったん?収監されたん?
経費にならなかった?
- 874 :デフォルトの名無しさん:2020/05/06(水) 11:47:06 ID:Z893TlLs.net
- >>870
株はプラスサムの場合があるからね
インデックス持ってるだけで勝つ時
- 875 :デフォルトの名無しさん:2020/05/06(水) 11:47:37 ID:CFZzJW0b.net
- 続報も詳細もあまり詳しくはない
しかし、競馬で勝ってはいけない、ということだけは理解した
- 876 :◆QZaw55cn4c :2020/05/06(水) 11:54:31 ID:Jg+95xA+.net
- >>874
最近のインデックスは、皆インデックスばかり買うものだから、採用銘柄がおしなべて割高になっていると思います
インデックス売買に株式投資本来の価格調整能力(良いものの値が上がり、悪いものは下がる)はない
インデックス買いはそろそろやめておいたほうがいいでしょう
- 877 :デフォルトの名無しさん:2020/05/06(水) 11:54:36 ID:Py17Myp9.net
- >>868
エントロピーについて学べ
- 878 :デフォルトの名無しさん:2020/05/06(水) 11:55:07 ID:Z893TlLs.net
- 競馬の方が勝てるっていうのは詐欺
競馬はJRAが控除で天引きするから
長期ではその還元率に収束していく
株は売らなくても持ってるだけで
配当とか株主優待もあるんだから
長期のプラス収益が実現しやすい
ただし株だけで生活するには
相当の投資資金が必要になる
- 879 :デフォルトの名無しさん:2020/05/06(水) 11:56:09 ID:Z893TlLs.net
- >>876
プラスサムになる場合を説明しただけ
自分でポートフォリオを組んだ方が良い
- 880 :デフォルトの名無しさん:2020/05/06(水) 11:56:58 ID:Py17Myp9.net
- 競艇なんかも言い掛かりつけられたら裁判で数年ロスするからな。戦場は株か暗号資産が良い。為替はダメだ。相場との戦いではなく、業者との戦いになるからな。攻略しても凍結が待っている。
- 881 :デフォルトの名無しさん:2020/05/06(水) 13:35:21 ID:QGSx0CXQ.net
- 株で重要なのは異常値分析だろう。
引き際間違えなきゃ儲かるようになってる。
ただ今回みたいなことが何年か周期であるからそれを回避できるかどうかが重要。
- 882 :デフォルトの名無しさん:2020/05/06(水) 13:49:19 ID:rGVRU5f1.net
- 株はなー
ストップ狩りとか怖くて手が出せないわ
- 883 :デフォルトの名無しさん:2020/05/06(水) 14:45:19 ID:Fjn1hDTG.net
- 競馬で稼いでいた人は、無罪になった。
事業としてやっていたから、はずれ馬券も経費になった!
趣味では経費にならないけど
パチンコ・競馬は、還元率が70〜80% と低いから、繰り返しやると減っていく。
一方、株式は手数料も少ない
明地文男の3点チャージ投資法なんか、暴落時だけに底値を買うから、100% 近い勝率。
今回の暴落でも、底値で拾って、すぐ売る
ただし、多くの底値が同じ日にちになってしまうのと、
数年に1回しか、暴落が起こらない
- 884 :デフォルトの名無しさん:2020/05/06(水) 14:50:34 ID:Py17Myp9.net
- >>883
この裁判のミソはな、他の奴が真似してシストレしたとしても外れ馬券が経費と認められる保障はないってところだ。
いちゃもんつけられたら裁判で数年ロスするからな。
ケチがついた戦場選ぶ奴はセンスないよ。
- 885 :デフォルトの名無しさん:2020/05/06(水) 14:51:09 ID:pWISUJTK.net
- 競馬、宝くじ、株や為替、仮想通貨
確実に儲かるのは胴元なんだよな
- 886 :デフォルトの名無しさん:2020/05/06(水) 14:59:07 ID:QGSx0CXQ.net
- いつが底値なのかなんてわかるわけねーだろ馬鹿。
- 887 :デフォルトの名無しさん:2020/05/06(水) 15:23:41 ID:dUOKAoWX.net
- 株は底値で買って儲けるだけじゃなくて
高値で売って儲けるのもあり
安定してるときより細かく上下してるときの方が儲かる
- 888 :デフォルトの名無しさん:2020/05/06(水) 15:26:31 ID:Py17Myp9.net
- >>886
1番儲かるのは機械学習を取り入れたいって奴にツールを作って提供してやる俺たちさ
- 889 :デフォルトの名無しさん:2020/05/06(水) 15:38:59 ID:QGSx0CXQ.net
- >>887
本格的にボラティリティーでも儲ける用意してるヘッジファンドに個人が勝てるわけねーだろ。
>>888
正解だが、それネズミ講で儲けてるクズと変わらんから。
- 890 :デフォルトの名無しさん:2020/05/06(水) 16:00:47 ID:YotdJE6N.net
- >>868
自分も始めたばっかりなのでそれ程多くの情報を持ってないですが
大量にデータを扱う際に困るのは表、グラフの作成とかデータの入出力だと思うので、その辺の説明がある本を探してみては
例えば
初心者向けPythonデータ分析入門: Numpy/Pandas/Matplotlib/Scikit-learn/Keras対応 (神草出版)
の例を真似て見るとか
あと基本的な文法は自分はドットインストールの講座を見てます
Pythonの実行環境はAnacondaを導入してSpyderを使用するのが煩雑過ぎず、コマンドラインアレルギーも起こしにくく良いんじゃないかと思います
- 891 :デフォルトの名無しさん:2020/05/06(水) 16:09:06 ID:6mun2+/K.net
- 絶対儲かるって言ってるネズミ講と、自分の分析を補助するツールとが同じ訳ないでしょ
- 892 :デフォルトの名無しさん:2020/05/06(水) 16:11:38 ID:6mBWGKlJ.net
- ネズミ講のばあい:どうあっても、勧誘ノルマが地球の全人口を超えるのが、割と早い件
株取引のばあい:取引に参加してる連中のうち、最多数派が採用した瞬間、そいつら全員ドボン。
けこうゆうよある。
- 893 :デフォルトの名無しさん:2020/05/06(水) 16:16:59 ID:iZmY5mOF.net
- pythonではないが、こういうのもある
Rubyではじめるシステムトレード (現代の錬金術師シリーズ) (日本語) 単行本(ソフトカバー) – 2014/5/20
- 894 :デフォルトの名無しさん:2020/05/06(水) 16:25:24.40 ID:Py17Myp9.net
- >>893
Rubyスレ逝け
- 895 :デフォルトの名無しさん:2020/05/06(水) 16:46:04.99 ID:v12mRihn.net
- 吉村知事やるね。
- 896 :877:2020/05/06(水) 17:06:27 ID:Fjn1hDTG.net
- 明地文男の3点チャージ投資法は、たぶん何千回もやって、99% は勝ってる。
底値で勝って、翌日に、5% 上で売る
欠点は、多くの銘柄の底値が同じ日にちになってしまうのと、
数年に1回しか、暴落が起こらない
今回みたいに、30% 暴落・調整するのが、数年に1回しか起こらないから。
リーマンの時にみたいに、50%暴落するのは、数十年に1回
- 897 :デフォルトの名無しさん:2020/05/06(水) 17:46:38 ID:Z893TlLs.net
- >>889
>>892
ネズミ講と株式市場は全然違うぞ!
前者は違法だが後者は合法
それに株の場合はゼロサムじゃなくて
プラスサムも(マイナスサムも)ありうる
- 898 :デフォルトの名無しさん:2020/05/06(水) 17:48:33 ID:Z893TlLs.net
- >>883
>>896
暴落の底買いは必勝法じゃない
テールリスクを無視してるから
- 899 :◆QZaw55cn4c :2020/05/06(水) 18:32:52 ID:yhwBg0Yu.net
- >>895
分かりやすい基準でしたね
- 900 :デフォルトの名無しさん:2020/05/06(水) 20:57:37 ID:Q+iCW28b.net
- 投資の話ばっかだな
- 901 :デフォルトの名無しさん:2020/05/06(水) 21:29:21 ID:Py17Myp9.net
- 脱線が過ぎたな。pythonの話に戻そう。
- 902 :デフォルトの名無しさん:2020/05/06(水) 21:38:47 ID:6mun2+/K.net
- いっぱい損する話
- 903 :デフォルトの名無しさん:2020/05/06(水) 22:04:17.23 ID:j6jjCoM5.net
- >>866
いろいろ調べてくと
競馬のデータ分析は
Excelでも充分だな。
ただExcelも理解してないので
ハードルが高そう。
やっぱり無理かな…
- 904 :デフォルトの名無しさん:2020/05/06(水) 23:48:31 ID:wQjvLZTP.net
- 競馬は勝てますよ
もちろん家建てるのは無理でも、競馬を楽しみながら月数十万勝つのは可能。
方法はノミ屋と知り合いになる。
ノミ屋の控除率は90%だから分析次第では楽に勝てる
銀行口座通さなければ税金も取られないし
- 905 :デフォルトの名無しさん:2020/05/07(Thu) 05:57:04 ID:/AYVVsGl.net
- >>904
反社の話までしてスレ汚し続けるなよ
頭悪そうだな
- 906 :デフォルトの名無しさん:2020/05/07(Thu) 14:35:42 ID:8CoVj8eX.net
- >>902
俺は評価するよ
- 907 :デフォルトの名無しさん:2020/05/07(Thu) 20:24:12 ID:kjDehwfn.net
- 割り算の切り上げについて0--4//3という記述を見たのですが、この"--"はなんでしょうか?
切り上げなので、おそらく-(-4 // 3)を短縮した書き方だとは思うのですが。
関数形式の標準演算子
https://docs.python.org/ja/3/library/operator.html
にあるかと思ったのですが、見つかりません…。
- 908 :901:2020/05/07(Thu) 20:37:02 ID:kjDehwfn.net
- 解決しました。くだらない質問すみませんでした。
- 909 :デフォルトの名無しさん:2020/05/08(金) 08:50:42 ID:y4Hx/y2r.net
- 下らなくはない。
JavaやC(たぶんC#も)をやってる人は要注意。
>>> 0--4//3
2
>>> 4//3
1
>>> -4//3
-2
>>> -(4//3)
-1
- 910 :デフォルトの名無しさん:2020/05/08(金) 09:17:56 ID:JpV79Xjz.net
- >>909
なるほどなっとく!
たしかにくだらなくないぞ
- 911 :デフォルトの名無しさん:2020/05/08(金) 11:04:54 ID:Fn4yfVbS.net
- 単に、-・// の演算子の優先順位だろ
-4//3
-2
0-(-4//3)
2
-(-4//3)
2
- 912 :デフォルトの名無しさん:2020/05/08(金) 11:17:59 ID:P6eBuJjV.net
- --4//3 だと 1 なのな。
-(-(4//3)) って解釈なのかな?面白い。
- 913 :デフォルトの名無しさん:2020/05/08(金) 11:55:01 ID:Pb0t26ee.net
- >>912
>-(-(4//3)) って解釈なのかな?面白い。
(―4)//3って解釈だぞ
- 914 :デフォルトの名無しさん:2020/05/08(金) 11:57:45 ID:oIDbptWL.net
- 0--4//3 だと 1
0-(-(4//3))
--4//3 だと 1
(―4)//3
ですか?
- 915 :デフォルトの名無しさん:2020/05/08(金) 12:15:03 ID:P6eBuJjV.net
- >>913
(-(-(4)))//3 ってことね。
そりゃそうだ。ありがと。
- 916 :デフォルトの名無しさん:2020/05/08(金) 15:22:44 ID:w65c4b0q.net
- よき
- 917 :デフォルトの名無しさん:2020/05/08(金) 15:44:24 ID:Pb0t26ee.net
- >>914
>0--4//3 だと 1
>0-(-(4//3))
0-((-4)//3)
優先順位
1. 単項演算子のマイナス
2. 二項演算子のfloor division
3. 二項演算子のマイナス
https://docs.python.org/ja/3/reference/expressions.html#operator-precedence
- 918 :デフォルトの名無しさん:2020/05/08(金) 15:58:03 ID:iOEjZYuS.net
- まとめ
0-(-4//3) だと 2
0-((-4)//3)
0--4//3 だと 1
0-((-4)//3)
--4//3 だと 1
(―4)//3
あれ?
- 919 :デフォルトの名無しさん:2020/05/08(金) 19:15:44 ID:qca/Mwjw.net
- >>918
いつまで続けるつもりか分からないけど2つ目間違ってるよ
--4//3は単項演算子のマイナスが2つ
0--4//3は最初のマイナスは二項演算子、次のマイナスは単項演算子
つまり
0--4//3 = (0) - ((-4)//3) = 0 - (-2) = -2
- 920 :デフォルトの名無しさん:2020/05/08(金) 19:17:01 ID:qca/Mwjw.net
- あかん、ミスったw
つまり
0--4//3 = (0) - ((-4)//3) = 0 - (-2) = 2
- 921 :デフォルトの名無しさん:2020/05/08(金) 20:18:40.05 ID:/+tKw0XQ.net
- 恥の上塗り
- 922 :901:2020/05/08(金) 21:31:04 ID:HrD3ulZU.net
- 予想以上に盛り上がる質問だったようで、驚いております。
皆さん、ありがとうございました。
そもそもmath.ceil使えという話ではありますが…。
>>917
リファレンスありがとうございます。
- 923 :デフォルトの名無しさん:2020/05/08(金) 21:49:50 ID:JpV79Xjz.net
- >>922
>そもそもmath.ceil使えという
リファレンスとか読んで結論が↑ならヤヴァイぞおまい
- 924 :デフォルトの名無しさん:2020/05/08(金) 22:05:05 ID:gU1j9XWG.net
- C系のint割り算とは違う(-4 / 3 = -1)ってことを言いたかったんだが、
>>911が優先順位とか言い出したからおかしなことになってるだけ。
- 925 :デフォルトの名無しさん:2020/05/08(金) 22:50:32 ID:Pb0t26ee.net
- 割り算の切り上げにmath.ceil(4/3)じゃなく
0--4//3って書いてるコードがあってこの--は何?
ってなったのが>>907
math.ceil使えって結論で別におかしくないし
--が何かを理解するには演算子の優先順位を理解する必要があるから
>>911の話も別におかしくない
- 926 :デフォルトの名無しさん:2020/05/08(金) 23:42:32 ID:Z9fBSA1g.net
- pythonを実行ファイル形式にしたいのですが、
pyinstalerって使い物になります?
なんかネット見てると遅いとか実行ファイルに変換できないとかいろいろ書かれているんですが・・・。
- 927 :デフォルトの名無しさん:2020/05/09(土) 05:59:10 ID:d7vMKCfN.net
- 実行ファイル化は危険な闇ツール
自己責任でどうぞ
他人に助けを求めないように
- 928 :デフォルトの名無しさん:2020/05/09(土) 07:57:14 ID:/Z4Vk9Yy.net
- 0--4//3
これは単なるクイズでしょ。
実際に、こういうコードがあれば共同開発できない
-- が、デクリメント・単項・2項など、どういう演算子か分からない
- 929 :デフォルトの名無しさん:2020/05/09(土) 08:27:13 ID:k66XcY87.net
- ここに飛ばされたんですが、いろいろ試してみましたが、
<class 'tuple'>: (1, 1, 320, 320) この形の配列を
<class 'tuple'>: (320, 320, 1) にするやり方が分かりません。
forループで要素を入れ替えると、約1秒もかかります。
- 930 :デフォルトの名無しさん:2020/05/09(土) 08:33:26 ID:qZuZMPTr.net
- >>928
確かにパッと見て分かりにくいから仕事で使うべきではない表記だけど、基本的な演算子しか使われてないのに読もうとしても構文的にちゃんと解釈できないのは仕事をする上ではまずいと思うぞ。
- 931 :デフォルトの名無しさん:2020/05/09(土) 08:57:13 ID:k66XcY87.net
- >>929
自己解決しました
np.array(l[0]).transpose(1,2,0)
- 932 :デフォルトの名無しさん:2020/05/09(土) 09:27:36 ID:2xDl0qkZ.net
- >>931
numpy使えるなら普通にreshapeすればよくない?
array = np.array(np.arange(320*320)).reshape([1,1,320,320])
array.shape
#=> (1, 1, 320, 320)
array2 = array.reshape([320,320,1])
array2.shape
#=> (320, 320, 1)
- 933 :843:2020/05/09(土) 09:39:08 ID:Dxp4OAVX.net
- >>930
コード解析せざるを得ない状況なら調べるけど、普通はレビューで弾いて書き直させる
トリッキーなコードをいちいち調べるほど暇じゃない、仕事ならなおさら
- 934 :デフォルトの名無しさん:2020/05/09(土) 10:43:39 ID:3rxWY8lS.net
- >>926
1. Cython (Cpython ではない方)
2. C から直接 python 実行
3. 全部書き直し
- 935 :デフォルトの名無しさん:2020/05/09(土) 12:44:59 ID:drDVgFRj.net
- >>926
Pythonは自分で運用するものだ
他人に配るアプリを作ってはいけない
- 936 :デフォルトの名無しさん:2020/05/09(土) 14:32:56 ID:/WGeoYJn.net
- >>932
transposeは軸を交換していてreshapeは配列の形を変えているだけなので結果は異なるよ
例えば width=320, height=320, depth=1 の場合
a = np.arange(320*320).reshape(depth, width, height)
で (depth, width, height) の並びになるけど、これを
a.transepose(1,2,0)
すると(width, height, depth)の並びになる
a.reshape(width, height, depth)
とは当然結果が異なる
質問者の意図が曖昧だったね
- 937 :デフォルトの名無しさん:2020/05/09(土) 16:01:58 ID:81k4FObc.net
- CSVからDBのスキーマ作ってくれるpythonのツールないですか?
- 938 :デフォルトの名無しさん:2020/05/09(土) 18:18:08 ID:cMlvEvLT.net
- pandas
- 939 :デフォルトの名無しさん:2020/05/09(土) 18:59:04 ID:Gxw/aWGG.net
- Djangoもモデルクラスの定義からCREATE TABLEのSQL文作ってくれなかったっけ。
- 940 :デフォルトの名無しさん:2020/05/09(土) 19:46:21 ID:zR/E4i5o.net
- 投資の質問しづらい雰囲気になっちゃってる…
- 941 :デフォルトの名無しさん:2020/05/09(土) 20:54:50 ID:XRjplDhc.net
- >>940
板違いだぞ
- 942 :デフォルトの名無しさん:2020/05/09(土) 23:29:59 ID:zR/E4i5o.net
- でもPythonで自動売買したい……
- 943 :デフォルトの名無しさん:2020/05/09(土) 23:32:12 ID:Gxw/aWGG.net
- >>942
すれば?
ここは雑談スレじゃないし。構ってちゃんなのかな?
具体的なPythonの質問に落とし込んでいれば質問にも答えてもらえると思うよ
- 944 :デフォルトの名無しさん:2020/05/09(土) 23:40:14 ID:81k4FObc.net
- >>939
横にクソ長いCSVからORMのクラスをつくりたいんですよ
>>938
pandas
ってマイグレーションできるん?
- 945 :デフォルトの名無しさん:2020/05/09(土) 23:58:59 ID:CUL9xwyE.net
- そのフィールド名集めてDDLにするだけじゃね?
型まで推定してほしいってことかな。
- 946 :デフォルトの名無しさん:2020/05/10(日) 01:46:09.23 ID:sYQDYC6t.net
- 美人女優モデルのクラスを定義するだけで
美人女優を輩出してくれるこのシステムまじうめぇwww
美女さんが毎夜楽しませてくれるんよwwwwww
- 947 :デフォルトの名無しさん:2020/05/10(日) 01:49:24.89 ID:A6CylaMw.net
- append({‘aaaa’:3,’aaa’:2})
って感じのコードがあったんだけど
リスト型の中に辞書方を入れることってできるの?
- 948 :デフォルトの名無しさん:2020/05/10(日) 02:02:19.97 ID:xljGyfa/.net
- >>944
Ruby on Rails の、ソースコードをコピーすれば?
タスクランナーのrake か何かで、作っているのだろう
- 949 :デフォルトの名無しさん:2020/05/10(日) 05:14:16.28 ID:H7IMnHMO.net
- >>947
できるよ
誤変換しなければなw
- 950 :デフォルトの名無しさん:2020/05/10(日) 05:18:33.62 ID:qSA2SRyf.net
- >>944
やりたいことによるけど、pandasで多分できる
OR mapperしたいならSQLAlchemyだけどCSVのテーブルをパースして取り出すだけならpandasでいい
横に長いカラムっていくつくらい?1000カラムくらいならpandasでいい
- 951 :デフォルトの名無しさん:2020/05/10(日) 06:59:31 ID:sqrrAwwF.net
- >>937
csvkitのcsvsqlコマンド
https://csvkit.readthedocs.io/en/latest/tutorial/3_power_tools.html#csvsql-and-sql2csv-ultimate-power
https://csvkit.readthedocs.io/en/latest/scripts/csvsql.html
- 952 :デフォルトの名無しさん:2020/05/10(日) 10:00:19.21 ID:YjtOaTbF.net
- 安倍政権も、民主党政権よりもちょっとだけマシな程度ということがわかったな。
- 953 :デフォルトの名無しさん:2020/05/10(日) 10:34:20.55 ID:uLhUltA2.net
- 悪夢のような民主党政権どころか、うつつの害悪安倍政権。
- 954 :デフォルトの名無しさん:2020/05/10(日) 10:53:38 ID:hYgGlIZ2.net
- 民主党はよくやってたわ。。今から見ると情報操作がひどすぎる。
- 955 :デフォルトの名無しさん:2020/05/10(日) 11:06:32 ID:4lGhKEt5.net
- >>951
これは探していたものかも、CRATE tableできるんですね
>>950
pandasのdf.to_sqlってSQLalchemyのengineも使えるんだ、スゴい
- 956 :デフォルトの名無しさん:2020/05/10(日) 12:16:55 ID:Gmi/xazP.net
- 社内のデータベースからお問い合わせ内容を抜き出して、Googleのように関連するキーワードの候補を表示させたいんだけど、Pythonで実現できる?
- 957 :デフォルトの名無しさん:2020/05/10(日) 12:37:22.72 ID:NzbOtKPR.net
- >>950
engineはただのproxyだから。
model(Base)まで作ってくれるわけではない。
もっとも、tableをつくってしまえばsqlalchemyでmodel化するのは簡単だけど。
- 958 :デフォルトの名無しさん:2020/05/10(日) 13:24:44 ID:qSA2SRyf.net
- >>956
自分なら
サジェスト機能はデータベース(ElasticsearchやApache Solrなど)に任せる
フロントエンド側でデータベースに問い合わせる
という実装をする
pythonを無理やり噛ませるとするなら
既存データベースからElasticsearchへ関連データを登録するプログラム
Elasticsearchへ問い合わせるプログラム
くらいだろうか
- 959 :デフォルトの名無しさん:2020/05/10(日) 13:53:43 ID:G3VbVrdQ.net
- >>958
ありがとう
elasticsearchって初めて知った…
まだ詳しく見れてないけどSQLのような感じで条件組んで、エクセルで加工するようなことはkibanaっていうのでやるのかな?
難しい?
- 960 :デフォルトの名無しさん:2020/05/10(日) 14:22:16 ID:qSA2SRyf.net
- >>959
普段からデータベースに触っている人なら同じくらい簡単
細かいことをやろうとすると面倒なのも一緒
Kibanaはブラウザで可視化、分析したい人が使うツール
使い始めると、何でもかんでもElasticsearchに登録したくなるので、そのときはLogstashを使う
APIが揃っているのでpythonから見ると本当にAPIを叩くだけ
- 961 :デフォルトの名無しさん:2020/05/10(日) 15:06:21 ID:G3VbVrdQ.net
- >>960
ありがとう!
環境整備して勉強してみる!
- 962 :デフォルトの名無しさん:2020/05/10(日) 15:33:26 ID:KeMLcdbw.net
- >>943
テメーにゃ無理だろうけどなw
- 963 :デフォルトの名無しさん:2020/05/10(日) 15:36:10 ID:LlzelZ4B.net
- >>962
どんな根拠があってそう推測したの?
- 964 :デフォルトの名無しさん:2020/05/10(日) 15:55:35 ID:4lGhKEt5.net
- >>957
すいませんその簡単なやり方教えてもらえますか?
- 965 :デフォルトの名無しさん:2020/05/10(日) 16:10:49 ID:j8s1Gvwq.net
- >>956
一番簡単、確実なのはword2vecかword2docかなあ
- 966 :デフォルトの名無しさん:2020/05/10(日) 17:32:42.02 ID:G3VbVrdQ.net
- >>965
word2vecって便利だね、これも試してみる。
- 967 :デフォルトの名無しさん:2020/05/10(日) 18:43:23.36 ID:oFa97h2w.net
- 自然言語処理ってやつか?
- 968 :デフォルトの名無しさん:2020/05/11(月) 09:46:47 ID:MhpqGE2N.net
- 4873114705
978-4-87311-470-5
チェックサム値がどっちも同じになるケースも割とあるんだね
- 969 :デフォルトの名無しさん:2020/05/11(月) 14:44:38 ID:5x1w4aVw.net
- processingはプログラミングの勉強としていいですよね
- 970 :デフォルトの名無しさん:2020/05/11(月) 15:06:28 ID:oppF2e3I.net
- 昔のBASICなみに結果がすぐに可視化されるからやる気は続く
ウインドウが生成されるのもポイントか
- 971 :デフォルトの名無しさん:2020/05/11(月) 16:04:23.43 ID:E6TPYZev.net
- >>969
> processingはプログラミングの勉強としていいですよね
新入社員かな?
processingの意味ってわかってないでしょ?
人前でそんなこと言わないほうがいいよ。
バカと思われるから。
- 972 :デフォルトの名無しさん:2020/05/11(月) 16:09:23.27 ID:N9jKXG1s.net
- >>971
釣りかも知れないけどマジレスするとProcessingという言語のことだと思う
直感的だしもっと流行ってもいいと思う
- 973 :デフォルトの名無しさん:2020/05/11(月) 16:57:19.73 ID:M5EBMlOz.net
- tkinterでmultiprocessも勉強になると思います!
- 974 :デフォルトの名無しさん:2020/05/11(月) 17:53:47.54 ID:5x1w4aVw.net
- ai pythonで動画をロリ化するのはむずいですか?
- 975 :デフォルトの名無しさん:2020/05/11(月) 18:24:54.61 ID:YiMamAp2.net
- >>974
(・∀・)つ∴ ニクコプーンクウタンカ?
こないだその質問してたばっかりでショ
- 976 :デフォルトの名無しさん:2020/05/11(月) 18:36:47.45 ID:lNQvorhm.net
- テキストファイルの中から特定の文字列を含む行と
その直前の一行と、直後の二行を削除するスクリプトを書きたいんですが
どなたか教えてくれませんか?
調べてもなかなかスマートなものが出てこなくて困ってます
出来るだけわかりやすくシンプルに書きたいんのですが…
- 977 :デフォルトの名無しさん:2020/05/11(月) 19:03:48.85 ID:N9jKXG1s.net
- >>976
pythonでやるような処理ではないが、似たような質問ばかりで何でこんなことになってるんだ
大学の課題か何かなんだろうか
コマンドラインでgrepを使う方が簡単で速い
grep -B 1 -A 2 キーワード
-B 1で直前の1行、-A 2で直後の2行が表示される
- 978 :デフォルトの名無しさん:2020/05/11(月) 19:17:25 ID:N9jKXG1s.net
- >>976
すまん、よく読まずに投稿した
削除するスクリプトだったらファイル名 hoge.txt に対して
grep -B 1 -A 2 キーワード hoge.txt | grep -vFf - hoge.txt
とする
GNU grepが必要なのでmacでは標準のgrepじゃなくて
brew install grep
した上で/usr/local/opt/grep/libexec/gnubin/grepを使ってくれ
- 979 :デフォルトの名無しさん:2020/05/11(月) 19:32:46.53 ID:lNQvorhm.net
- >>978
丁寧にありがとうございます
早速試してみます
Pythonでやりたかったのは実行ファイル
- 980 :デフォルトの名無しさん:2020/05/11(月) 19:35:28.37 ID:lNQvorhm.net
- すいません途中で本文消えてましたが
pythonの実行ファイル形式にしてこの作業を一括でやらせようと考えてました
Pythonでは少々面倒なんですね…
初歩的な質問ですいませんでした
- 981 :デフォルトの名無しさん:2020/05/11(月) 19:48:05.89 ID:xE/Nma9d.net
- 正規表現で.*\n.*特定の文字列.*\n.*\n.*\nで置換すんじゃダメなの?
- 982 :デフォルトの名無しさん:2020/05/11(月) 20:23:43 ID:lNQvorhm.net
- >>981
すいません勉強不足で知りませんでした…
ありがとうございます
これでやりたいことがやれそうです
助かりました
- 983 :デフォルトの名無しさん:2020/05/11(月) 20:42:04 ID:N9jKXG1s.net
- >>982
その置換だと先頭行と最終行はマッチしないので端点の処理は別途必要かな
暇だし作ってみた
forループによるチェック版
https://ideone.com/iJYYgZ
正規表現版
https://ideone.com/v29uYn
使い方はどちらも
python スクリプト名.py -B 1 -A 2 対象ファイル名
- 984 :デフォルトの名無しさん:2020/05/11(月) 20:48:25.48 ID:M5DpbX0A.net
- もし、検索ワードに、直前の1行・直後の2行が存在しなかったら、どうするの?
- 985 :デフォルトの名無しさん:2020/05/11(月) 20:55:40.70 ID:lNQvorhm.net
- >>983
度々ありがとうございます
こんなスラスラコード書けるのほんと尊敬します
もっと勉強しようとモチベーション上がりました
ありがとうございました
- 986 :デフォルトの名無しさん:2020/05/11(月) 21:14:37.42 ID:M5DpbX0A.net
- 例えば、Ruby on Rails なら、(usersテーブル) Userモデルを、
クラス内に、抽象的な型で定義しておいて、
3大データベース(DB)で実行すると、各DB固有の型で、テーブルが作られる
class CreateUsers < ActiveRecord::Migration[5.0]
def change
create_table :users do |t|
t.string :name, null: false # not null
t.string :email
end
end
end
- 987 :(代行経由)新鮮な次スレ:2020/05/11(月) 23:01:40 ID:0VaPf7nQ.net
- くだすれPython(超初心者用) その48【まず1嫁】
http://mevius.5ch.net/test/read.cgi/tech/1589201940/
- 988 :デフォルトの名無しさん:2020/05/11(月) 23:05:32 ID:1pff6JWl.net
- 587:名無し募集中。。。:2020/05/11(月) 22:54:29
レス代行依頼
【状況】他板で連投規制にひっかかってBBx90日の刑
【板名】プログラム
【スレッドタイトル】くだすれPython(超初心者用) その47【Ruby禁止】報告
【スレッドURL】http://mevius.5ch.net/test/read.cgi/tech/1583509252/
【名前(省略可)】(代行経由)新鮮な次スレ
【メール欄(省略可)】あげ
【本文】
- 989 :デフォルトの名無しさん:2020/05/12(火) 10:47:12 ID:4WwqN1hQ.net
- >>976
やる気は無いけど
探してる文字列と同じ文字列が
見つかった行とその下とか上にもあったら
どういう動作を期待してるの?
- 990 :デフォルトの名無しさん:2020/05/12(火) 10:49:21 ID:4WwqN1hQ.net
- >>988
https://mevius.5ch.net/test/read.cgi/tech/1589201940/
- 991 :デフォルトの名無しさん:2020/05/12(火) 17:09:23 ID:gq6JjVhE.net
- ゲームプログレミンとワードプレスプラグラミンはどっちがかんたんですか?
- 992 :デフォルトの名無しさん:2020/05/12(火) 17:16:16 ID:CPxqb8kD.net
- プログレミンとプラグラミンが何語かわからん。
- 993 :デフォルトの名無しさん:2020/05/12(火) 17:28:36 ID:1JM+jinB.net
- >>991
何をやるかにもよるけど一言で言えば
ゲームよりワードプレスの方が簡単
ゲームは動くけどブログは動かないから
- 994 :デフォルトの名無しさん:2020/05/12(火) 23:07:57.96 ID:KUWRL0mR.net
- seleniumで自動化したいんだけど、ベッドレスモードで最速のwebdriverを知っていたら教えて欲しい。
- 995 :デフォルトの名無しさん:2020/05/12(火) 23:35:22 ID:rr7jvTFY.net
- >>994
自動化の用途にもよるけどHTTP Proxy使ってrecord&replyしたり
whitelist/blacklistを作って本当に必要なファイルだけ取得するするのが速度には一番効く
- 996 :デフォルトの名無しさん:2020/05/12(火) 23:53:04 ID:I/M0Tt5E.net
- ベッドレスて
セックスレスになりそうだな
- 997 :デフォルトの名無しさん:2020/05/13(水) 00:26:15.76 ID:f2bE6jTN.net
- selenuim使わんとheadlessChrome使えばいいだけでは
- 998 :デフォルトの名無しさん:2020/05/13(水) 03:22:15 ID:ibBgBr2u.net
- >>994
HtmlUnit Driverが速いらしい
- 999 :デフォルトの名無しさん:2020/05/15(金) 19:43:55 ID:QfaTYsLo.net
- Pythonのリアルタイム音声認識→文字入出力で、無料かつオフラインで最も精度が高いライブラリ等はどれですか?
SpeechRecognitionというのを試してみましたが、しゃべりながら認識するというよりは、しゃべり終わった後に文字が現れるという感じで
リアルタイム感があまりありません。
Google Speech APIを使うと高精度に認識できるのかもしれないですが
1か月に60分以上使うと従量課金になるようです。
やはり現時点では、有料のサービスでない限り、あまり精度の高い音声認識は出来ないのでしょうか?
- 1000 :デフォルトの名無しさん:2020/05/15(金) 19:46:22.34 ID:mq4q1sRg.net
- 聴き取り君
読み上げ君
- 1001 :デフォルトの名無しさん:2020/05/16(土) 14:44:13 ID:qSBeRL26.net
- miniPyconかなんかでそんな」発表してた人がいた気がする
- 1002 :デフォルトの名無しさん:2020/05/16(土) 15:17:15 ID:n6w5EqNO.net
- プログラミングしててVS CODEで実行させたら突然
PS J:\> cd 'j:\backup\半側空間無視研究\計測分析ソフトウェア'; & 'C:\Users\takashi ishida\Anaconda3\python.exe'
'c:\Users\takashi ishida\.vscode\extensions\ms-python.python-2020.5.78807\pythonFiles\lib\python\debugpy\wheels\debugpy\launcher' '
51049' '--' 'j:\backup\半側空間無視研究\計測分析ソフトウェア\半側空間無視データ分析.py'
cd : パス 'J:\backup\半側空間無視研究\計測分析ソフトウェア' が存在しないため検出できません。
と表示されるようになりました。
プログラムはあるんですが、なにかVS CODEかPythonの問題でしょうか?
- 1003 :デフォルトの名無しさん:2020/05/16(土) 15:19:07 ID:zFBrKDcW.net
- pathに日本語使ってるせいだろ
- 1004 :デフォルトの名無しさん:2020/05/16(土) 15:24:50 ID:kCnY5Rf5.net
- >>999
自分の感覚では有料サービスだから、ではなくてインターネットに接続できて強力な単語補正の機能が利用できるから、だと思う
あとGoogle Speech APIやMicrosoftのSpeech SDKなどはそれなりに良いものだけど、用途によってはまだまだ厳しいと感じるね
CMUSphinxやKaldiとか色々あるけど、使って見たらサービスに全く勝てないのが分かると思う
- 1005 :デフォルトの名無しさん:2020/05/16(土) 16:36:08 ID:zFBrKDcW.net
- 次スレ
くだすれPython(超初心者用) その48【まず1嫁】
https://mevius.5ch.net/test/read.cgi/tech/1589201940/
- 1006 :デフォルトの名無しさん:2020/05/16(土) 16:49:56.76 ID:n6w5EqNO.net
- >>1003
本当だ。
英語だけにしたらできました。
ありがとうございます。
でもいままで日本語のファイル名とかパス使ってても実行できてたんですが、
なんで急にできなくなったんでしょう?
- 1007 :2ch.net投稿限界:Over 1000 Thread
- 2ch.netからのレス数が1000に到達しました。
総レス数 1007
264 KB
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★