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

■ このスレッドは過去ログ倉庫に格納されています

くだすれ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 ★