くだすれPython(超初心者用) その45【Ruby禁止】

レス数が1000を超えています。これ以上書き込みはできません。
2019/10/16(水) 10:17:12.96ID:dCHq3Ix4
当スレに★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(超初心者用) その44【Ruby禁止】
http://mevius.5ch.net/test/read.cgi/tech/1563969768/
2デフォルトの名無しさん
垢版 |
2019/10/16(水) 12:39:03.73ID:dmmazo8P
O2
2019/10/16(水) 17:42:35.18ID:dCHq3Ix4
>> http://mevius.5ch.net/test/read.cgi/tech/1563969768/999
C++ (ビープ音でドレミの歌とか、表示文字色を部分変更とかできたころの)
R
Python 2 → 現在3への適応に自分・ソースコードともに苦しんでいる
アセンブラ

>> http://mevius.5ch.net/test/read.cgi/tech/1563969768/1000
そもそもが50GBくらい(64GBに届いてないのはリカバリ用隠しドライブのせい)で
今、空きが11〜12GBくらい。

そういえば、Cygwinとかトートイズとか
おれさまのMP3コレクションとかがんがって泣く泣く消したから
ちょっとあいている状態なんだな。。。

で、
メモリが2GBしかない(拡張できねえ!仕様)し、
CPUも1コア×1.33GHzだから、
のそのそしている。
2019/10/16(水) 18:01:35.59ID:9ut2IWOv
>>3
確かにそのスペックでインストールできるIDEは無いのかも。
2019/10/16(水) 18:36:03.76ID:dCHq3Ix4
>>4
どっちもこのマシンと、その前に使ってたもうちょいましなやつで
インストール&初回起動までなら、したことがある。

どっちにせよ起動するまでが糞激重くて数分かかってしまって
('A`)ってなってあきらめた。
2019/10/16(水) 20:07:16.21ID:z9QsUJdG
サクラエディタやnotepad++でも充分でしょう
2019/10/16(水) 20:25:05.62ID:dCHq3Ix4
>>6
ちょっとやってるぞー
くらいのレベルなら、
んだべな。
2019/10/16(水) 23:06:29.77ID:X7lVhgtr
つxyzzy
2019/10/17(木) 00:39:00.91ID:OIw2LILw
ちょっとした入門練習ならそれでも良いかもしれないが、本格的にプログラミングをするなら、しっかりした環境を作らないとダメだよ。

1年間の時間のロスがいくらの金になると思ってるんだ?
入門練習でも上達度が違ってくるぞ。

例え今時間はタダだと思っていても、貴重な人生の時間を使ってるんだからよくよく考えた方が良い。
2019/10/17(木) 05:01:36.98ID:Yoq2/Gj4
tensorflowjsをインポートするだけでエラーが出るんだが(´;ω;`)
確実にライブラリは入ってるのに
一応、pipやってもalreadyって出てるし
11デフォルトの名無しさん
垢版 |
2019/10/17(木) 10:34:14.05ID:ewN8FeZ7
20年くらい前のPC使ってる人が居るようだが
それだとpython使っててもpipすら出来ないだろ
12デフォルトの名無しさん
垢版 |
2019/10/17(木) 10:35:18.01ID:ewN8FeZ7
>>9
来年は死んでる鴨試練な
2019/10/17(木) 16:28:04.48ID:sQPbdVOJ
もしかしてpythonって++とか--できないんですか?
2019/10/17(木) 17:14:31.09ID:ucUV19VT
はい
現代言語では非常に奇特なことにインクリメント演算子は存在いたしません
それをもって欠陥言語と評する派閥も少なくないです
2019/10/17(木) 17:20:44.72ID:K9wPxQ06
>>11
Win8→8.1の頃に買った
タブレットとノートパソコンどっちつかずのヤツなんだ・・・

pipはできる
でも機械学習やらせようとか思っちゃうとチヌ
16デフォルトの名無しさん
垢版 |
2019/10/17(木) 17:31:40.62ID:TwA5RghT
>>13
エラー吐いてくれればまだ良いんだけど
黙ってシレっと動いたフリするから困るよなω
2019/10/18(金) 08:59:27.85ID:HFflmsgq
プログラム自体初心者なんですがこのサイトは学習に向いてると思いますか?
https://automatetheboringstuff.com/chapter1/
日本語ので良いサイトありますか?英語はできますが日本語でいい教材があるならそっちのほうが好ましいです
ちなみにテンプレのwikiはページがありませんでした
2019/10/18(金) 09:01:00.05ID:HFflmsgq
https://nostarch.com/sites/default/files/styles/uc_product_full/public/automate_frontcvr_final.png
教材はこれです。
2019/10/18(金) 09:03:55.64ID:YuWkr+rI
1ページあたりの内容が薄すぎてページめくりの回数多くて非効率
また学習に関係ない Youtube Logo がいくつか邪魔
2019/10/18(金) 09:10:44.76ID:Z0V6+Dq2
>>1 まとめwikiのリンクは変更しないと開けない。

http://python.rdy.jp/wiki.cgi
に変更した方が良い
2019/10/18(金) 09:25:09.00ID:Z0V6+Dq2
教材はここが纏まってる。

Pythonの学び方と,読むべき本を体系化しました2018〜初心者から上級者まで
https://shinyorke.hatenablog
.com/entry/python2018

中村勝則も無料の教材としては良いと思う。
https://qiita.com/KatsunoriNakamura/items/b465b0cf05b1b7fd4975
2019/10/18(金) 09:42:18.09ID:HFflmsgq
ありがとうございます。
23デフォルトの名無しさん
垢版 |
2019/10/18(金) 16:23:11.66ID:Zsy+Oz1Z
同じファイルを違うPCで実行したときの挙動が異なって困ってます。
pythonなどのバージョンは同じです。
具体的にはseleniumでchromeを起動する際に画像非表示オプションを設定しているのですが、
macbookair2013では画像が非表示になってもmacbookpro2017は画像非表示になりません。
クリーンインストールしても変わらなかったです。
まったく意味不明です��何か見当つきませんか?
2019/10/18(金) 16:39:19.99ID:6zLZDVSS
>>20 おkはあく
2019/10/18(金) 17:40:01.12ID:eYccVr4w
気になるんで教えてください

import numpy as np
lx = np.arange(0.0,6.28,0.01)
ly = np.sin(lx)

この場合
lyはnp.sinクラスのインスタンスを生成
   npのメソッドsinの実行により生成
   npモジュールのsin関数により生成
のどれと考えるのが筋がいいですか
この辺、テキストによって説明がまちまちな気がします
2019/10/18(金) 17:41:55.08ID:6zLZDVSS
>>23
>pythonなどのバージョンは同じです
Macのバージョンや設定がちょっとでも違ってたらチネ!!!(・∀・)なんだが。
2019/10/18(金) 17:43:09.18ID:6zLZDVSS
>>26 追記
Chromeのサブバージョン番号まで完璧に一緒か
Macのサブバージョン番号まで完璧に一緒か
設定もまったくもって完全一致なのか
28デフォルトの名無しさん
垢版 |
2019/10/18(金) 17:50:11.58ID:f2FG8XiO
python3.8はWindowsストアからインストールできるんだけど、pybind11に対応してないのでおススメできない。
なので従来通りのやり方でインストールしたほうがいいね。
29デフォルトの名無しさん
垢版 |
2019/10/18(金) 19:02:27.62ID:q3nDEEoA
>>25
Python 3.7.4 (default, Sep 7 2019, 18:27:02)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.7.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import numpy as np

In [2]: type(np)
Out[2]: module

In [3]: type(np.sin)
Out[3]: numpy.ufunc

ということなので、「npモジュールのsin関数により生成」が最も近いんじゃないかな
ufunc自体はそれ自身にメソッドやメンバを持つオブジェクトで、
カッコつきで呼び出されたら関数として振る舞うみたい。
sinはそのオブジェクトのインスタンスの一つだね。
https://numpy.org/devdocs/reference/ufuncs.html?highlight=ufunc
2019/10/18(金) 20:38:55.49ID:yMA2qaS5
>>29
ありがとうございます
VBAを少しいじったことがある
程度の初心者なんですが、当面
>>25 のような形式ではでは判断
できない違い(概念の違い?)がプログラム組むに
あたって影響することはあるでしょうか?
とりあえず名前つけて生成の過程はどうであれ
インスタンスができた程度の認識を持っていればよいのでしょうか?
2019/10/18(金) 20:54:26.20ID:2g/GJrKd
javaのMathのような、staticでシングルトンな何か
……と思い込んで使う
32デフォルトの名無しさん
垢版 |
2019/10/18(金) 21:06:02.29ID:q3nDEEoA
>>30
プログラムを書く時間をなるべく短く、速く効率よく開発したい、と思うのであれば、
意識してモジュールとはなにか、クラスとはなにか、関数とはなにかということは区別をつけたほうがはまりにくいと思う。
関数を指定すべきところ、インスタンスを指定すべきところがあって、だいたいモジュールは指定できないかな。

試行錯誤する時間が十分にあって、かつ、モジュールやクラスや関数の違いについてまだ慣れていないのなら、
あまり深く悩まず、色々触ってみるのがいいんじゃないかな。
33デフォルトの名無しさん
垢版 |
2019/10/18(金) 21:52:28.45ID:Zsy+Oz1Z
>>26
>>27
chromedriver, macosは同じですmacの設定は違うところもあると思います。

今気づいたけどwebdriverでchrome出すまでをpythonにやってもらって、その後手動でurl打ち込んで遷移すれば画像非表示有効でした。
なにこれ、こんなことあります?
以前このmacbookpro2017はキーボード問題で修理出して中身総替えしたみたいなのでそれで何かがおかしくなったとか…他のpcではいけてるし何かがおかしい…
2019/10/19(土) 07:49:09.51ID:fDUUZQql
>>23
ブラウザのコンソールに、エラー表示されていないの?

漏れは、Ruby で作っているけど、

chrome のselenium webdriver のオプションは、しょっちゅう変わるから、
画像非表示オプションは、昔はあったけど、今は無くなったのかも?
2019/10/19(土) 09:05:02.66ID:tUw9vx0/
>>33
だから
Macの設定がどっかちがっつるんじゃねーのって。
ルートレスみたいな「余計なお世話」を
デフォルトON状態でモリモリ盛り込んでくるのがMacクォリティだからな。
2019/10/19(土) 19:50:04.12ID:vT6AuI0/
>>32
時間は十分あるんで
気にせず、やってみます
2019/10/19(土) 23:18:45.68ID:3tMMez23
https://i.imgur.com/mLwF5kR.jpg
すみませんPycharmでmatplotlibというライブラリをインストールしたいのですが画像のようなエラーを吐いて失敗します
pipのバージョンが古いみたいなことを言われていますが、おそらく最新のを使っていると思うので困惑するばかりです
解決方法を教えていただけたら幸いです
2019/10/19(土) 23:24:32.22ID:3tMMez23
OSはwin10でPycharm community Edition 2019.2.30(おそらく最新)
Python3.8.150です
2019/10/20(日) 00:47:56.87ID:QqNIfpUF
なぜ1文字列目を無視したのか面白おかしく言い訳してください
40デフォルトの名無しさん
垢版 |
2019/10/20(日) 00:54:24.37ID:fpGN22wj
>>37
> https://i.imgur.com/mLwF5kR.jpg
エラーメッセージとProposed Solutionがありますが、それは試したましたか?
その結果はどうなりましたか?
2019/10/20(日) 01:04:03.95ID:Em7ZfaYJ
system terminalの意味がよくわからなかったのでスルーしてました
ありがとうございます。
ググってやってみた結果次のようなエラーを吐きました
ERROR: Command errored out with exit status 1:
ERROR: Command errored out with exit status 1:
command: 'c:\users\*\untitled\scripts\python.exe' -u -c 'import sys, setuptools, tokenize; s
ys.argv[0] = '"'"'C:\\Users\\*\\AppData\\Local\\Temp\\pip-install-jv9zguo4\\matplotlib\\setup.py'
"'"'; __file__='"'"'C:\\Users\\*\\AppData\\Local\\Temp\\pip-install-jv9zguo4\\matplotlib\\setup.p
y'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"
'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\*\A
ppData\Local\Temp\pip-record-gi1t32x6\install-record.txt' --single-version-externally-managed --compi
le --install-headers 'c:\users\*\untitled\include\site\python3.8\matplotlib'
cwd: C:\Users\*\AppData\Local\Temp\pip-install-jv9zguo4\matplotlib\
Complete output (505 lines):

エラーメッセージのどこを貼ればいいのかわからないので、関係ないとこを貼っているかもしれません
そうでしたら申しわけありません
2019/10/20(日) 01:04:56.78ID:Em7ZfaYJ
BUILDING MATPLOTLIB
matplotlib: yes [3.1.1]
python: yes [3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:37:50) [MSC
v.1916 64 bit (AMD64)]]
platform: yes [win32]

OPTIONAL SUBPACKAGES
sample_data: yes [installing]
tests: no [skipping due to configuration]

OPTIONAL BACKEND EXTENSIONS
agg: yes [installing]
tkagg: yes [installing; run-time loading from Python Tcl/Tk]
macosx: no [Mac OS-X only]

OPTIONAL PACKAGE DATA
dlls: no [skipping due to configuration]
2019/10/20(日) 01:11:04.57ID:Em7ZfaYJ
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\cl.exe
' failed with exit status 2
ここが原因ということでしょうか?
すみません、ズブの素人なのでイラつかせるかもしれません
2019/10/20(日) 01:14:33.51ID:Em7ZfaYJ
src/checkdep_freetype2.c(1): fatal error C1083: Cannot open include file: 'ft2build.h': No such f
ile or directory
ft2build.hがないとからかもしれません
少し調べてやってみます。
2019/10/20(日) 07:07:10.82ID:Em7ZfaYJ
visual studio 入れ直してもダメでした。
2019/10/20(日) 08:37:35.83ID:QqNIfpUF
freetypeのインストールと環境変数CL,LINKの設定がされてないと思われ
https://matplotlib.org/users/installing.html#building-on-windows
2019/10/20(日) 08:37:42.84ID:+KWnMamE
>>45
>system terminalの意味がよくわからなかったのでスルーしてました
どーせAdministrator権限が足りテナイとかジャネーノ

>>42
REQUIRED DEPENDENCIES AND EXTENSIONS
の欄が
まるっと抜けてる気がするんだが
2019/10/20(日) 09:16:37.14ID:Em7ZfaYJ
回答ありがとうございます。
freetypeをインストールしようとしたところ次のエラーは吐きました。
ERROR: Could not find a version that satisfies the requirement Freetype (from versions: none)
ERROR: No matching distribution found for Freetype
環境変数CL,LINKの設定はMSVCのコマンドラインを使うという感じのやつでしょうか?
>>47
管理者として実行しているので権限が足りないということはないと思います
49デフォルトの名無しさん
垢版 |
2019/10/20(日) 13:03:41.74ID:9lZC9vgy
ズブの素人なら黙って Anaconda 入れろ
2019/10/20(日) 17:27:42.65ID:Em7ZfaYJ
まあそのほうがいいかもしれないですね。
ありがとうございました。
他の言語の勉強も含め色々検討したいと思います。
51デフォルトの名無しさん
垢版 |
2019/10/20(日) 23:50:17.66ID:njFFTJVf
cmd から v8 という javascript をインストール中に
pythonコード内で利用されているファイルディスクリプタの read() 使用時に
UnicodeDecodeError: 'cp932' codec can't decode
というエラーが出ました。

文字コード関係のエラーというのはわかるのですが、
これを治すためにインストールファイルを直接触るのはためらっております。

コードを触ること無く、エラーを解消する方法はないでしょうか?

環境
windows10 Pro 64-bit
python2.7.17
2019/10/21(月) 01:15:50.71ID:GPq28qXA
このご時世に2.x使ってるとか奴隷制の犠牲者か何か?
2019/10/21(月) 01:48:47.40ID:sLtezmPz
ファイルを、BOM 無しUTF-8(UTF-8N)で、保存しなおすとか、

Ruby の場合は、
ファイル読み込み時に、オプションで文字コードを指定するとか、

OS のユーザー環境変数、RUBYOPT に、--encoding=UTF-8 を追加するとか
54デフォルトの名無しさん
垢版 |
2019/10/21(月) 02:34:20.40ID:W7vxtZcq
>>53
死ね
2019/10/21(月) 08:18:59.40ID:fOBpkiG2
>>50ですが、whlファイルを使うことで無事matplotlibのインストールに成功しました。
ありがとうございました。
2019/10/21(月) 16:45:45.94ID:KfBM+v02
>>51
あるあるパターンとしては
Windowsのユーザー名に2バイト文字が入ってる件・・・
2019/10/21(月) 21:19:55.65ID:cifrZUYa
>>51
cmd> chcp 65001
をしてからインストールを試してみたら?
2019/10/21(月) 21:36:16.26ID:KfBM+v02
>>55
まじかよ
whlすげーな!
2019/10/22(火) 22:50:56.34ID:DJm76Xqy
プログラミング自体初心者です

配布することも考えた小規模の自動化ツールを作る場合、GUIアプリにするか、Webアプリにするか、選ぶ基準はありますか?
どちらを選んでも、希望の機能の実装自体は実現できるとします

個人的な意見で大丈夫なので、考え方とかあれば教えていただきたいです
60デフォルトの名無しさん
垢版 |
2019/10/22(火) 22:59:56.89ID:rCatO9ZB
CUIのWebアプリって存在価値ある?w
2019/10/22(火) 23:00:59.51ID:DJm76Xqy
すみません、一応補足すると、
Python で作ることが前提
小規模→社内で使い回す程度
です
連投すみません
2019/10/22(火) 23:03:24.46ID:DJm76Xqy
違った、GUIアプリじゃなくてネイティブアプリです…
本当にすみません
2019/10/22(火) 23:14:29.44ID:6erEu/jt
基本的にWebを選ぶべき。なぜなら配布が楽だし、環境に依存しにくいし、Pythonでのクライアント(GUI)アプリ開発などという
国内ではほぼ誰もやっていないであろう無価値な技術を習得する壮大な時間の無駄をしなくて済むから。
2019/10/22(火) 23:17:39.16ID:3XGI/6ag
おっ、業務支援スクリプトだな
pythonは業務支援スクリプトに最適な言語だからな
2019/10/22(火) 23:19:24.23ID:HZuwqM+d
何言ってるのかわからん。GUIアプリなんてググればたくさん出てくるし、
Webはwebでサーバー環境立てる手間が居る。
2019/10/22(火) 23:24:10.97ID:lomrvhbn
クライアントアプリはインストールや更新を完全に利用者側の自己責任にできる場合にのみ使っていい
開発者自身が面倒見なきゃいけないなら確実に地獄を見ることになるから絶対にやめておけ
2019/10/23(水) 00:00:05.37ID:Nn7/Oh6s
俺も自分一人かもしくはもう一人くらいならGUIでやるかもしれないけど
>>66の言うような理由でWebだなあ。運用保守面だよな問題は
2019/10/23(水) 00:57:42.17ID:PJFf5aTc
>>65 何をとち狂ってるんだよ。 Webアプリってローカルで動かして何ら問題ない。
2019/10/23(水) 01:01:44.17ID:LHz3zTm6
JavaScript込みならwebアプリ選ぶけど
Python決め打ちなら普通にローカルアプリ作るのが早い
2019/10/23(水) 08:27:11.64ID:CVEfmxxh
つかうやつらにアプデを告知し、アプデさせるのがくそめんどうだから
Webアプリできる状況だったらWebのほうが断然おすすぬ
1個でWinだけじゃなく
MacやLinuxの連中にも使えるようになる品
71デフォルトの名無しさん
垢版 |
2019/10/23(水) 11:02:35.47ID:6YqEyJGa
>>23ですが解決しました。
macbookairでできてproでできないのはdGPUが関係してました。
proの設定>省エネルギーの"グラフィックスの自動切り替え"をオフにすれば画像非表示が適用されました。
↑の設定の他にchomeoptionに"--disable-gpu"を加えることでも解決しましたのでこれを適用させています。
>>26,34-35ありがとうございました。
2019/10/23(水) 14:50:28.88ID:CVEfmxxh
>>71
解決おめ!
報告乙!

そういえば近年のchromedriverって、
積んでても積んでなくてもgpuの設定はちゃんとしないと、文句いうよね。
73デフォルトの名無しさん
垢版 |
2019/10/23(水) 22:20:55.46ID:trzfY3Jq
>>72
そうなんですね。解決しないと諦めてましたけど良かったです。
ちなみにdisable-gpuを設定しなくても
https://www.yahoo.co.jp/の様なdgpuを必要としないサイトでは画像非表示ができて
例えばhttp://taotajima.jp/の様ないかにも画像が重たそうなサイトではdgpuを使用して画像非表示ができなかったみたいです。
2019/10/24(木) 11:46:29.45ID:SwAS1ouY
seleniumでchrome起動して、あるページのログインフォームにsend_keysしたいのですが、
開いたchromeのウィンドウがアクティブになっているとelement not interactableでエラーになります
ただchromeのウィンドウを非アクティブ(起動してすぐ別のウィンドウを操作する等)にすると
問題なくsend_keysされます

どのような原因が考えられますでしょうか
75デフォルトの名無しさん
垢版 |
2019/10/24(木) 11:50:01.50ID:ABhN6CSm
https://www.google.com/search?q=selenium+chrome+send_keys+element+not+interactable
76デフォルトの名無しさん
垢版 |
2019/10/24(木) 12:34:28.28ID:+/4nwafU
>>74
formによってはたまにありますね
xpathをフルパスで指定すればいけたりすることもありました。
あとはexecute_scipt使ってjavascriptで入力はどうでしょうか
2019/10/24(木) 21:27:38.63ID:vNmHB0bV
>>69
儂もそう思う。儂はWEBアプリも興味あったけど挫折した。ということはローカルならpythonの方が多分かんたんだと思ふ。
tkinter使えば追加のライブラリ不要なのでGUIアプリも簡単に配布できるだろう。
もっとも、儂はPyQt5派だけど...

Qtにしてもtkにしてもwxにしてもgtkにしても使いやすいguiデザイナがあるから楽だよ。
2019/10/24(木) 21:34:29.17ID:YSSlcTBS
7974
垢版 |
2019/10/24(木) 21:47:10.35ID:WGoKVguQ
フルパスXpathもJavaScriptも試したけどダメでした

泥臭いっていうか泥そのものみたいなコードですが
そのフォームにsend_keysするときだけウィンドウを最小化するというクソみたいな方法で回避することにしました
悔しいけど自分が使うだけのツールなので我慢します
2019/10/24(木) 22:12:49.03ID:myfSxx3G
ヘッドレスモードでやればどうかな?
81デフォルトの名無しさん
垢版 |
2019/10/27(日) 01:33:19.77ID:xWRzEG7S
モザイク除去ソフトのDeepCreamPyを使うためにPythonの勉強を始めました(正直)。
https://github.com/deeppomf/DeepCreamPy/releases

Ubuntu 18.04でv1.3.0-beta win64のソースコードを取得して実行したのですが下記エラーが出ます。
Traceback (most recent call last):
File "decensor.py", line 8, in <module>
from libs.pconv_hybrid_model import PConvUnet
ImportError: No module named libs.pconv_hybrid_model

なお8行目はこんなです。
from libs.pconv_hybrid_model import PConvUnet

libsディレクトリはあるし、その中にpconv_hybrid_model.pyもあります。
.bashrcにexport PYTHONPATH="libsへのパス:$PYTHONPATH"と加えて再起動してもダメでした。
多分すごく簡単に治ると思うのですが、治し方が分かりません……。どなたか教えていただけないでしょうか。

モザイク外したい……
2019/10/27(日) 05:13:00.83ID:hJUpCTqv
Pythonでimportの対象ディレクトリのパスを確認・追加(sys.pathなど)

https://note.nkmk.me/python-import-module-search-path/
2019/10/27(日) 06:40:09.03ID:3qApEzfh
sympyで連立方程式をといて、その解の値を抜き取る方法が知りたいです。
例えば

import sympy

a = -1/2
b = 3
c = 1/2
d = -1

x = sympy.Symbol('x')
y = sympy.Symbol('y')

eq1 = y - a*x - b
eq2 = y - c*x - d

ans = sympy.solve([eq1, eq2], [x, y])
print(ans)

とすると
{x: 4.00000000000000, y: 1.00000000000000}
となりますが、4.0, 1.0それぞれの値を変数ans1, ans2に
代入する方法がわかりません。教えてください。
84デフォルトの名無しさん
垢版 |
2019/10/27(日) 06:55:29.34ID:Qb9Ns76Y
>>83
ans1=ans[x]
ans2=ans[y]
2019/10/27(日) 08:00:47.68ID:tjnCis8i
>>84
ありがとうございます。できました!
86デフォルトの名無しさん
垢版 |
2019/10/27(日) 11:32:01.32ID:CbvQpcn+
>>> M = numpy.matrix([[-1/2,-1],[1/2,-1]])
>>> M
matrix([[-0.5, -1. ], [ 0.5, -1. ]])
>>> numpy.linalg.inv(M) * numpy.array([[-3],[1]])
matrix([[ 4.], [ 1.]])
87デフォルトの名無しさん
垢版 |
2019/10/27(日) 11:34:00.06ID:wW7bp+s+
anacondaとcolabってaiにおいて何がちゃうんですか?
2019/10/27(日) 12:26:01.35ID:eoJi3rMN
venvでの仮想環境を他のpcでも共有したい時どうすれば良いのでしょうか
家にpcが2つあり、両方で作業出来たら良いなと思っています
ソースコードはgithubで共有しているのですがvenvをpycharmで読み込もうとすると参照パスにpythonインタプリタが無いとかで面倒くさい,何かいい方法がないかと考えております
2019/10/27(日) 14:11:47.08ID:hJUpCTqv
>>74
漏れは、Ruby, selenium webdriver で、yahoo に自動ログインしてる

require "selenium-webdriver"

options = Selenium::WebDriver::Chrome::Options.new
options.add_argument('--begin-maximized')

driver = Selenium::WebDriver.for :chrome, options: options
driver.manage.timeouts.implicit_wait = 10 # default timeout

driver.navigate.to "https://login.yahoo.co.jp/config/login_verify2?.src=ym";

driver.manage.window.maximize # 画面最大

element = driver.find_element(:id => "username")
element.send_key "ユーザー名"

driver.find_element(:id => "btnNext").click

element = driver.find_element(:id => "passwd")
element.send_key "パスワード"

driver.find_element(:id => "btnSubmit").click
90デフォルトの名無しさん
垢版 |
2019/10/27(日) 14:59:38.34ID:IkTaChA0
【社会】Tポイント詐取容疑で逮捕 キャンペーンを悪用 9300万円相当を不正取得か 埼玉県警
https://asahi.5ch.net/test/read.cgi/newsplus/1571896897/
2019/10/27(日) 18:37:36.53ID:9RmN7s/E
>>79
クリップボードに文字列をコピーして、フォームにペーストするってのはどう?
2019/10/27(日) 20:36:53.36ID:c8KMWt1C
>>88
いろいろ既に揃ってる方のPCのvenvを読み込む

好みの階層で
pip freeze > requirements.txt

でてきたtxtを、
何らかの手段で
もう1台のPCにもっていく。
(方法はメールでもgithubでもなんでもいい)

揃ってない方のPCでvenvをはしらせる

もってきたtxtがある階層にて
pip install -r requirements.txt
93デフォルトの名無しさん
垢版 |
2019/10/28(月) 21:14:12.43ID:pIVzkmar
PythonのKivyっていうライブラリでGUIを作ってるのですが
コンパイル前のコンソールからの起動だと、GUIが立ち上がるまでに4秒
コンパイルしてexeファイルを実行すると起動に10秒かかってしまってます。

コンパイル前から遅いのでコード自体が悪いんだと思いますが
せめてコンパイル後の起動の遅さをなんとかしたいです。
どうやったらexe化後の実行時間を短縮できますか?
94デフォルトの名無しさん
垢版 |
2019/10/28(月) 21:15:59.10ID:pIVzkmar
>>93
pyinstallerを使ってコンパイルしました。
WindowsとMacで配布するつもりです。
95デフォルトの名無しさん
垢版 |
2019/10/28(月) 21:19:36.88ID:pIVzkmar
すみません、自己解決しました
py2exeを使ってみます
2019/10/29(火) 00:31:41.83ID:VG5cqFbl
pythonで後ろに隠れたウィンドウのスクリーンショット取りたいんですが、可能でしょうか?

win32guiは使える状態です
97デフォルトの名無しさん
垢版 |
2019/10/29(火) 05:21:39.92ID:mquQcKIH
The conda.compat module is deprecated and will be removed in a future release.
Collecting package metadata: done
condaというのは廃止されるのですか?
2019/10/29(火) 09:34:33.42ID:W5nVn27E
>>96
inactive capture win32gui
2019/10/29(火) 10:11:28.85ID:lK4VsX8B
GUIライブラリのKivyを使えばAndroidやiOS向けに作れるんだろ。
100デフォルトの名無しさん
垢版 |
2019/10/29(火) 12:10:42.30ID:CRHJ60op
Pyinstallerを使うとクソ遅いし、py2exeはPython3.4までしか使えない上に開発終了してるっぽいし
もしかして、Pythonってコンパイラ全部死んでんじゃね
2019/10/29(火) 12:28:22.53ID:+tztyvy6
cx-Freeze は? Python3.6まで対応してる
https://pypi.org/project/cx-Freeze/#data

一部に手を入れれば Python3.7でも動くらしい
102デフォルトの名無しさん
垢版 |
2019/10/29(火) 14:54:36.58ID:CRHJ60op
>>101
コレは行けるのでは…と思ったらKivyに対応してないみたいで詰んだ
103デフォルトの名無しさん
垢版 |
2019/10/29(火) 14:59:59.78ID:CRHJ60op
今更Kivy以外のライブラリで書き直すのもつらいし、もっと慎重に使うライブラリ考えとけばよかった…
GUIライブラリではどれが1番強いんだろ…
10496
垢版 |
2019/10/29(火) 15:03:43.96ID:VDvTDAYx
自己解決しました
2019/10/29(火) 16:21:02.65ID:kXn8AUyn
>>103
つぶしがきく的にTkinterだとおもう
106デフォルトの名無しさん
垢版 |
2019/10/29(火) 17:11:38.77ID:CRHJ60op
tkinterはさすがにダサすぎるからQtとか使っとくべきだった
2019/10/30(水) 09:32:36.92ID:p/MVkdCG
>>103
MacとLinuxしか使ってないのでWinでどうかはわかりませんが、日曜趣味プログラミングの自分の経験上ではこんなかんじ。
結局、pyQtに落ち着いてます。Kivy再挑戦しようかな...。皆さんは何使ってるんですかね?

tkinter:標準ライブラリなので他の人に配るなら楽。GUIビルダーが探しにくいけどフリーでいくつかある。見た目が野暮ったいと言われるけど嫌いじゃないな。
wxPython:意外と日本語資料が多い。割と使いやすかった記憶があります。
PyQt:GUIビルダーが使いやすい。見た目がカッコイイ。なんだかGPLなので市販ソフトはだめらしいけど、個人使用なら良いらしい。
PySide:PyQtのLGPLライセンス版とのこと。使ったことない。
Kivy:挫折した。GUIビルダーが私の知る限りではあまり多くない(Linuxで動くのはひとつ?)。
PyGTK:使ったことない。でもGladeは使いやすそう。
PyFLTK:使ったことない。日本語の資料が少ない。

並べると意外とGUIの選択肢が多いですね。
2019/10/30(水) 10:01:19.61ID:ijBQBJyE
Python始めた時にセットでkivy使い始めた
機能的にも使いやすさ的にも満足してるがコンパイル成功したことない、デバック実行で十分だけど
2019/10/30(水) 10:05:02.59ID:PFJwOjFS
要するに最後の最後でフラストレーションが溜まるんだろ
単体で動くネイティブアプリに出来ないから
110デフォルトの名無しさん
垢版 |
2019/10/30(水) 14:40:59.13ID:Jt7N9BVB
GTKは糞
PyQtも糞
Qt(C++)はセーフ
wxPythonはgood
wxWidgetsはgood
tkinterはgood
tcl/tkはgood
2019/10/30(水) 15:12:34.93ID:p/MVkdCG
>>109
まぁ、そうなんですよね。一時期(当時はMac使ってた)、PyQtでアプリ使って、Pyinstallerとかで
なんとか単体アプリの体をつくろうとしたけど、バカバカしくなってやめました。
どっちにしてもアイコン用のpngファイルとか置くこともあるし、gui部分の表記は別の.pyファイルに
してメイン側から呼び出すのは、tkinterでもQtでもWxでも同じだと思うので、フォルダ単位の配布で良いかと...。

受け取った側が、どこにフォルダを置いても動くように、ファイルの呼び出しには
os.path.abspath(__file__)使ってます。
Winではアプリ化するのってpy2exeで簡単にバンドル化できるんですか?
2019/10/30(水) 15:58:36.16ID:GWmaMiFl
>>111
py2exeよりpyinstallerのほうが、遅いが確実なう。
113デフォルトの名無しさん
垢版 |
2019/10/30(水) 16:03:24.98ID:bv6PVv2A
exeにするメリットデメリットについて教えろ
macの実行ファイルでも同じか
114デフォルトの名無しさん
垢版 |
2019/10/30(水) 16:08:10.42ID:xzUJqyuR
>>113
・メリット
pythonがインストールされてない環境でも実行出来るので他人に配布するのが楽。
コードが盗み見られづらくなる。

・デメリット
起動が遅い
115デフォルトの名無しさん
垢版 |
2019/10/30(水) 16:14:28.44ID:bv6PVv2A
python.dll を呼ぶ exe を C で書く
そこから hoge.py (main) を呼ぶ
これでインストールしなくても使える
116デフォルトの名無しさん
垢版 |
2019/10/30(水) 16:32:23.63ID:xzUJqyuR
>>115
Nuitkaっていうコンパイラがそれっぽいことをしてくれるみたいだけど
使い方がよく分りません><
117デフォルトの名無しさん
垢版 |
2019/10/30(水) 16:36:51.26ID:bv6PVv2A
C の知識あるなら module だけでも tutorial 通りに造ってみ
main じゃなくても良い
2019/10/30(水) 16:41:01.00ID:SPJ86W8H
exeの方法の一つとして、Nuitka を使ってCのソースを作り出してCをコンパイルして実行ファイルを作る方法が有るみたい、
Nuitka の話題はあまり聞かないけど良さそうなのにどうして?

ま、それができればかなり美味しそうなのにあまり話題にならないという事はそれなりに問題もあるんだろうけど。
2019/10/30(水) 16:51:06.42ID:SPJ86W8H
https://github.com/Nuitka/Nuitka

Nuitka

Nuitka は Python コンパイラの1つです。
Python を C にトランスパイルし、libpython とリンクすることで実行可能ファイルにします。
2018年3月現在、最終更新は2018年です。

Windows、macOS、Linux および FreeBSD に対応しています。
また、x86/x86_64 だけでなく arm にも対応しているようです。

――-
動的型付を静的型付のCでコンパイルするという事は、頻繁に型変換を自動でやるのかな? 結構な重労働に感じる
120デフォルトの名無しさん
垢版 |
2019/10/30(水) 17:15:50.40ID:iACLsVPd
全部 PyObject やで
121デフォルトの名無しさん
垢版 |
2019/10/30(水) 17:20:19.70ID:iACLsVPd
https://github.com/lava/matplotlib-cpp
2019/11/01(金) 13:49:05.86ID:kRVs1Mzo
初級者なんだけどこれくらい読んどけって本ありますか
とりあえずEffective Pythonは候補にありますがこれで良いのか他にもっと良いのあるか迷ってます
2019/11/01(金) 13:50:17.06ID:qXpzbz+z
本・・・?
124デフォルトの名無しさん
垢版 |
2019/11/01(金) 15:22:06.95ID:4VV6x0Mu
ネタにはネタで返す
あま
dp/4839965250
125デフォルトの名無しさん
垢版 |
2019/11/01(金) 15:30:40.25ID:OaT/+tjP
徳丸本
2019/11/02(土) 10:11:29.90ID:wdMk8lAB
pythonは標準でastモジュールが用意されているけど、そこからpythonコードを
生成するのには何を使うのがいいのかなあ。
pypiで探してみても古かったりあまり使われてなさそうなものばかり。
127デフォルトの名無しさん
垢版 |
2019/11/02(土) 11:52:33.14ID:DuRHh2CY
>>118-119
pybind
https://qiita.com/benikabocha/items/5ec6b471de0d10aaf2df
2019/11/07(木) 10:47:12.65ID:aP7RW2Ns
seleniumでchrome動かす用途でしかほぼ使ってないんですけど、
chrome自体はもちろんとして、pythonのインストール先も
SSDなど高速なドライブにした方が、動作は早くなりますか?
それともほとんど関係ないでしょうか
129デフォルトの名無しさん
垢版 |
2019/11/07(木) 10:51:05.58ID:dB1QBGXo
常駐してほぼ無限ループするようなやつならメモリ増やした方が良い
2019/11/07(木) 16:22:26.99ID:4Fl79lQn
selenium自体高速動作じゃだろ
ドライバ自体がボトルネックだからよっぽどなハードじゃない限り...
131128
垢版 |
2019/11/07(木) 16:43:18.28ID:aP7RW2Ns
なるほど、ではpythonのインストール先はHDDでも良さそうですね

実は無駄にRAMdisk上にインストールしてしまったのですが
インストールした後にインストール先の変更(移動)ってできますかね…
2019/11/07(木) 17:16:00.20ID:i5KqlsP0
>>131
Macだったらかなりアキラメロン
Winだったら普通にアンインストールしてから再起動かけて再インストールで、いんじゃね?
133128
垢版 |
2019/11/07(木) 18:23:51.91ID:luP40erd
すいませんWindowsです
いろいろpipでインストールしたものもあるのでめんどくさいなーと思ったのですが仕方ないですね
ありがとうございます
2019/11/07(木) 19:05:01.58ID:i5KqlsP0
>>133
ちょっとまて
「一旦アンインストール」をする前に
pip freeze > hogehoge.txt
みたいなコマンド(正確なのは
ぐぐるか、このスレか初心者用じゃないほうのPythonスレにこないだ書いたから、
検索してくれ)で
pipしてたもののリストをだしておいて
入れなおしのあとは
そのリストをpipに食わせて連続インスコって
楽ができるはずだ
135128
垢版 |
2019/11/08(金) 10:22:58.23ID:a+/GHk6R
>>134
うまくいきました、ありがとうございます

実はpywin32を使ってエクセルを操作していたのですが、
pywin32のインストールの時に、インストーラーでインストールして
そのままでは動かなくて、Python\Lib... 内の何かのファイル2つを
上層のディレクトリにコピーしたら動くようになった記憶があるのですが
その記事がいくら検索しても出てこなくて、困ってます

上記の説明でわかるでしょうか…
136128
垢版 |
2019/11/08(金) 10:28:32.51ID:a+/GHk6R
自己解決しました
1時間くらい探して見つからなかったからこちらに書いたのに
書いた直後に発見した…

>copy pywintypes26.dll and pythoncom26.dll
>from C:\Python26\Lib\site-packages\pywin32_system32
>to C:\Python26\Lib\site-packages\win32

スレ汚し失礼しました
137デフォルトの名無しさん
垢版 |
2019/11/08(金) 11:45:58.57ID:3E1/z7K0
そのやり方は間違ってる
おかしなやり方を広めないように
2019/11/08(金) 12:33:36.60ID:QLJ5OLdG
転職したくてpythonの勉強始めて約1ヶ月弱・・・
文法の綴りミス多かったり
ルールとか少しづつしか理解出来てなくて悔しい
今までやったこと無い事ばかりでどうすればちゃんと理解しながら勉強出来ますか?
139デフォルトの名無しさん
垢版 |
2019/11/08(金) 12:54:44.88ID:3E1/z7K0
一度に多くのことをやりすぎない
細かく分けて一つ一つ理解する
その積み重ねでしかない
2019/11/08(金) 14:20:41.44ID:JHJDYmIb
>>138
基礎がそもそも出来てないだろうからとりあえず入門書的な本を買う
詰まったら本見て調べる。出て来なければググる
あとはひたすら書いて慣れるのみ。ゲームと同じで攻略本読みまくるよりプレイして経験積むほうが成長できるしね
141デフォルトの名無しさん
垢版 |
2019/11/08(金) 14:32:26.25ID:3E1/z7K0
最近の入門書は基礎書いてないからなぁ
2019/11/08(金) 15:04:10.78ID:QLJ5OLdG
レスありがとうございます。
本は二冊買っていてチュートリアルのサイトも見ながらもう一度初めの基礎からしっかり覚えて行こうと思います。
2019/11/08(金) 16:55:32.83ID:HH11ynhJ
>>135-136
コピーして解決☆彡じゃなくてだな

オリジナルのファイルがある階層に
PATH(環境変数)が通ってないのが原因だろうから
site-packagesへのパスを通せ

というか
2系はもうすぐ終了するので、使うと後ですごい苦労するぞ。
最初から3系使え。
144128
垢版 |
2019/11/08(金) 17:17:29.97ID:a+/GHk6R
>>143
詳しくありがとうございます
なるほどPATH通せばいいだけだったんですね…
こんな初歩的なことに気づかずお恥ずかしい限り

後出しになってしまって申し訳ありませんが
上に貼った英語の記事は26になってますが、自分はPython3.8です
ご助言ありがとうございます
2019/11/08(金) 17:24:50.12ID:uZmDoP6Q
うちもPATHおかしくなってるっぽいけどなんか問題なく動いてるから調べてないや
VScodeのターミナルから全部入れて普通に使えてたがAnaconda入れてからターミナルでpip出来なくなった、AnacondaPromptからなら入る
2019/11/09(土) 03:50:38.37ID:FjA6FVDT
環境変数は書く順番で通るパス変わるからな。bashなら実行環境でwhich pythonて打ったら自分の使ってるのがどれかわかるよ。
Anacondaは依存を最高に管理してくれてるから、基本conda使うんだよ。pandas のこのversionには依存してるnumpyはこのちょっと古いversionまでしか上げないとかな。
何でも最新入れればいんじゃないんだよ。condaになければpipだけど。使うときpip install numpyとか使わないでAnacondaのpipがあるフルパス スペースinstallスペースnumpyとかって使うんだよ。
そうじゃないとwhich pip で通ってるMacでいうとpython2.7にnumpy入れるだけだからな。
Anacondaは使えないとかいうバカをたまにみるけども。
147デフォルトの名無しさん
垢版 |
2019/11/09(土) 11:17:23.29ID:BZG37V3w
pathに2と3のpathが混ざってるとかありえないんだが
148デフォルトの名無しさん
垢版 |
2019/11/09(土) 11:26:40.59ID:thUc1KqM
2ヶ月目くらいの初心者ですが 図書館で子供向けのPython入門本と
コーリー・アルソフの「独学プログラマー」ってPython本借りて
基礎からやっています この本はなかなかいいかもしれません 
2019/11/09(土) 11:45:11.23ID:06f/2UDZ
>>147
Winユーザーだけど、
まぜてるよ?

まだ2系時代の遺産をリメイクし終えてないから、
ふだんは2優先起動で、

3優先にしたいときだけは、
「3を優先するようにするバッチ」からコマンドプロンプト出してる。


Macを使わされてた時期もあるけど(当時は2しかなかったけど)
システムのPythonと自分のいじるPythonわけてたから
環境変数に書く順番はジッサイトテモダイジだった
150デフォルトの名無しさん
垢版 |
2019/11/09(土) 11:50:44.57ID:BZG37V3w
windows だけど
2 しか使わない console と
3 しか使わない console に
分けてる
2019/11/09(土) 11:56:43.77ID:jdniA0Oi
Winユーザーだけど混ぜてないなあ
pylauncherだけパス通してある
2019/11/09(土) 11:57:21.86ID:jdniA0Oi
んで2と3のどっちを起動するかはシバンに書いてある
153デフォルトの名無しさん
垢版 |
2019/11/09(土) 12:05:12.44ID:2CZWzZ9R
プロジェクトごとに仮想環境作ってそこを使うようにしてるわ
ごっちゃにならないし、補完もできるし楽
グローバルな環境でpipとかまず使わん
2019/11/09(土) 12:25:29.79ID:+gucf0S5
>>151-152
Windowsだとそれが一番楽だよね。

あと、2、3ともにPATHを通して(一応3が優先にしてる)
あと、python.exe、pythonw.exe をそれぞれ、
python2.exe、pythonw2.exe、python3.exe、pythonw3.exe のようなシンボリック・リンクを作っておいて、
これでコンソールというか実行するインタープリターを使い分けしてる。

同様に、py2.exe py3.exeっていうシンボリック・リンクで楽ちん呼び出しもしてるな。

pip.exeがそんな感じになってるのでその真似なんだけど。
2019/11/09(土) 12:33:58.85ID:L15kxdpx
pylauncherとvirtualenv/venvの併用だな。ディスクをモリモリ喰うのが難点だが。
2019/11/09(土) 13:29:21.58ID:gfwYwMk7
classをはじめて触ってるのですが
class Test :
__def __init__(self):
____pass

みたいに書くと思うんですが、インスタンスを作成するときにtes=Test()としないとエラー吐くのはどうしてですか?
class Test() :
__def
と書いていくのではないのですか
classの()はどうして書かないの?
書かないのにインスタンス作成するときは書くのはなぜ?
2019/11/09(土) 13:31:12.22ID:thUc1KqM
>>156
書いても書かなくても大丈夫なのです
試してみて
158デフォルトの名無しさん
垢版 |
2019/11/09(土) 13:42:43.23ID:BZG37V3w
class Test(object):
159工学部生
垢版 |
2019/11/09(土) 14:50:22.61ID:+vhC4kuU
ガッコで画像処理の勉強やったりしている工学部生ですが、
すばらしい画像処理やPythonのサイトがあったのでご報告します。
工学全般に説明されているので、お気に入り登録をおすすめします。
またいつか、質問があったりしたら来ますね。

https://algorithm.joho.info/image-processing/digital-imaging/
160デフォルトの名無しさん
垢版 |
2019/11/09(土) 15:13:06.37ID:BZG37V3w
GJ
2019/11/09(土) 15:16:50.65ID:gfwYwMk7
>>157-158
ふーむ…(object)で調べたらなんとなくわかったような分からないような

もうひとつ聞きたいのですが
いまデータベースにアクセスして各種パラメータを取る関数?を作ってます

get_ids():
__なにかの処理
return ids

get_names():
__なにかの処理
return names

という感じです
これはclass化するべきものではないのかなと思ったので
class GetItemParamsを作成し、配下に各メソッドを作ろうかなと思ってるのですが
これって考え方として合ってるんですか?
なんか
get = GetItemParams()
get.names()とかって冗長な気がします
2019/11/09(土) 15:18:34.27ID:gfwYwMk7
GetItemParams.pyファイルにコンストラクタがわりのグローバル変数と各関数書いて、importする方が適切なんでしょうか?

なんかよくわからなくなってきました
こういうシチュエーションのときはどう書いてったらいいんでしょうか
163デフォルトの名無しさん
垢版 |
2019/11/09(土) 15:20:01.73ID:BZG37V3w
変数名を get にするのは混乱の元だから辞めた方が良い
クラスにするのが抵抗あったらモジュールにするだけでも良い
db とのコネクションをどうするかとかも一緒に考えて
164デフォルトの名無しさん
垢版 |
2019/11/09(土) 15:51:17.74ID:/O8nGewy
>>156
classの()は継承する時に親クラスを書くためのもので引数とは違う
何も継承しないならわざわざ()だけ書かなくても良くなってるだけ
2019/11/09(土) 15:57:58.96ID:thUc1KqM
>>156
僕も初学者なのでアレですが…
クラスを定義する時の class Test(): の括弧のなかにはselfが入っていて、
それは a = class() とした時に第一引数self = a は
Pythonが自動的に渡してくれるから省略できるのだと思います
2019/11/09(土) 16:00:34.70ID:thUc1KqM
>>164
そうなんですね... 勉強になります...
167デフォルトの名無しさん
垢版 |
2019/11/09(土) 16:24:23.82ID:q4QDxUWz
>>165
それは>>148で学んだ知識なのか?
2019/11/09(土) 16:26:16.39ID:thUc1KqM
>>167
ちょっとうろ覚えで書いています...
あとで見直してみますね
169165
垢版 |
2019/11/09(土) 18:58:21.31ID:thUc1KqM
>>165 の話ですが..ちょっと認識違いのようでした
>>164 さんの言うとおり 既存のクラスを継承する時には class(): で使い、
通常は書いても書かなくても良い 
何も書かなければ object型を継承したとみなされるようです 
失礼しました
2019/11/09(土) 19:49:26.66ID:mZ1z6c9X
Qiitaで初心者が書き散らしてるやべー文章みたいだな
2019/11/09(土) 20:03:25.85ID:thUc1KqM
うわぁあああん 頑張る。。。
172デフォルトの名無しさん
垢版 |
2019/11/09(土) 21:51:52.29ID:K6bHYoyh
まぁ、そういうこともあるよね
ドンマイ
173デフォルトの名無しさん
垢版 |
2019/11/10(日) 06:20:36.34ID:ywjUItB+
>>159
そこは超初心者用だ
Pythonに慣れたらいち早く引っ越せ
さっさと卒業しろ
2019/11/10(日) 08:57:54.88ID:vAvO6oJv
>>159
おお
覚えた事が右から左にすぐ抜ける自分にはぴったりのサイトだwww
175デフォルトの名無しさん
垢版 |
2019/11/10(日) 13:27:12.34ID:hRll0rFL
>デジタル画像の画素を数式で表現する場合、一般的には行列を用います。

はぁ?
2019/11/10(日) 13:48:08.23ID:94cuzmld
DataFrameの末行に1次元リストを行方向に結合したい
dfの列数とリストの要素数は合ってる
この場合はどう書くのが早いですか?
177デフォルトの名無しさん
垢版 |
2019/11/10(日) 13:54:18.58ID:hRll0rFL
>>176
https://gist.github.com/anonymous/48f9a7af62af4133e04e0bd19f3f4264
2019/11/14(木) 00:22:53.96ID:SNdbBvwP
ひと月、本見ながらコード書いてて余り理解出来てなかったけど
ここで聞いて基礎復習しながら作ってみたい物を調べながら書きだして3日だけど全然頭に入ってくる感じが違って楽しい!
どうしても分からない事が出てきたら聞きにきますのでその時はどうか宜しくお願いします。
2019/11/14(木) 06:45:13.21ID:KETh1A50
とりあえずGUI表示させてボタンつけたりできて
敷居が超低いことがわかって興奮したけどそれで終わってしまった
ガチ系じゃなくて、ちょっとした作業って具体的に何ができるの
2019/11/14(木) 12:32:22.90ID:AkEZ67b9
>>179
ご質問の趣旨に沿っているか分からないけど、私も趣味でPyQtでちょいちょいツール作っていますよ。
最近作ったもの↓
・子供が迷路たくさんやりといと言うので、迷路作成プログラム(PyQtでプリンタ使う練習)
・車のO2センサー電位を表示するプログラム(マイコンで測定回路を自作。matplotlibとPyQt組み合わせ)
・子供がひと桁の足し算の練習をやりたいというので、足し算ドリル
・物理現象で乱数作る実験したくて、その検証プログラム(トランジスタの電子雪崩回路自作、matplotlibとPyQt組み合わせ)
・フラクタル画像の実験で雪の結晶ぽい画像を描画するプログラム
・車のCAN-BUSをモニターするプログラム
・USBシリアルのモニタ
2019/11/14(木) 13:02:26.42ID:CtpC3PM8
>>179
業務支援スクリプト
2019/11/14(木) 13:56:26.96ID:Gps+nt/a
レフ機から画像のインポート
クリップボードのスタック
端末出力の特定の語の着色
辞書
写真の露出からEV値に変換(現場の明るさの数値化)
フラクタル図形の描写
素因数分解
素数判定
imgur のバグの簡易対処

等等
2019/11/14(木) 14:28:26.43ID:AkEZ67b9
>>182
素数判定ってどうやりました?
私は2から与えられた数の平方根(または半分:mathをimportしない場合)までをひたすらforループで%して
判定するプログラムを作ったのですが、もっとスマートな方法ってありますか?
2019/11/14(木) 14:28:30.33ID:5hP294qc
git系プログラムのプロセス通信を使ったgitクローンのタイムスタンプ同期
2019/11/14(木) 14:34:57.32ID:6h6HwMDb
素数判定ってIF文並べていけばいいだけじゃないの?
186デフォルトの名無しさん
垢版 |
2019/11/14(木) 14:56:48.60ID:c3Z653za
メモリとかファイルアクセス可なら
エラトステネス
2019/11/14(木) 15:10:56.35ID:Gps+nt/a
>>183
素数出したやつキャッシュしておけばもっと早くとかはあるけど
ルートまで単純にチェックするのが簡単なので C言語で書き直した
wolfram などの判定は異常に速いから素数判定の数学の術を知れば
もっと早くなるとおもうので数学の板でそこの住民に聞いてくれ
あいつら素数大好き
2019/11/14(木) 15:24:29.50ID:1CVvHcAw
sympy に素数の関数が沢山有るよ。
189179
垢版 |
2019/11/14(木) 15:50:22.34ID:KETh1A50
>>180,181,182
おぉめちゃくちゃ沢山ありますね
主にPC上での補助ツールの想定しかしていませんでしたが
データさえインポートできれば、ちょっとしたIoTみたいなことができるのですね

JavaScriptのときは実用する機会が多かったのでモチベが続いていたのですが
Pythonで表現できることも多そうなので同じ感じのモチベでやろうと思います
ありがとうございました
190デフォルトの名無しさん
垢版 |
2019/11/14(木) 18:27:10.81ID:Vty2Vo6K
var y=0

func main():
for y in range(4):

y += 1
print(y)

4まで表示したら終了したいのですが、どのようにして処理を終了するのでしょうか
1
2
3
4
1
2
3
4
とメイン関数内で繰り返されます
2019/11/14(木) 18:37:15.62ID:pNqcUeAa
>>190
   >>1
2019/11/14(木) 19:39:30.62ID:zR2SGApq
それよりスレタイだ
スレタイ読め
2019/11/14(木) 19:50:22.85ID:pNqcUeAa
>>192
おお
それも そうだなwww
194デフォルトの名無しさん
垢版 |
2019/11/14(木) 22:48:41.07ID:JLcgFUDX
ソケットプログラミングの実験なんかもPythonでできるし、速度や並行性を要求されないものだったら
大抵Pythonで書いて楽してるな。

その辺を要求されたらC#になる感じだな。
あとはブラウザ上でなんか動かすときのためにJavascriptを知っておけば、
PC上でのプログラミングは大体カバーされる感ある。
2019/11/15(金) 07:42:51.96ID:1PuPU5S7
>>190
これ言語何?
2019/11/15(金) 09:43:06.08ID:gWMbHCLD
if((i%FIZZ)==(i%BUZZ)==0):
上記を含むコードを動かしたところ、意図する動作にはなるのですが
こういう書き方、して良いんでしょうか
(言語によってokだったりngだったりしたような)
この書き方の名称が解らないので調べられません
2019/11/15(金) 12:05:31.28ID:lOWMbTFc
>>195
https://mevius.2ch.net/test/read.cgi/tech/1568531160/442
198デフォルトの名無しさん
垢版 |
2019/11/15(金) 14:13:50.84ID:76R0IrhI
>>196
andの省略で条件の連結が可能
10 < a < 30 みたいに書ける
2019/11/15(金) 17:13:38.60ID:gWMbHCLD
>>198
ありがとうございます
2019/11/15(金) 18:34:18.36ID:7pVJDIaJ
ほんとに初歩の初歩でごめんなさいなんですけど、今電卓を作っていて、ボックスをからにしてから結果を表示したいのですがreturn.self.Box.delete(0,tk.end)と
return self.Box.insert(tk.end,eval(self.Box.get()))
を順番に実行したいのですがどうやっても同時になってしまいます、順番にやる為にはどうすればいいですか?
201デフォルトの名無しさん
垢版 |
2019/11/16(土) 05:52:53.04ID:bkZ6TXWU
ループってなんで難しいんですか(´;ω;`)
2019/11/16(土) 09:02:05.13ID:VdtmVMT7
>>201
loopyだから
203デフォルトの名無しさん
垢版 |
2019/11/16(土) 10:06:59.16ID:bkZ6TXWU
基礎は大事ですか?
204デフォルトの名無しさん
垢版 |
2019/11/16(土) 10:14:55.78ID:t6zcY+AG
初心者はこんなコードを書きやすい
典型的な糞コード

ループ {
sum = _mm_add_ps(sum, data[i]);
}
2019/11/16(土) 10:18:14.83ID:GIYj0orb
フォンノイマン型のコンピュータの効率の良いメモリ活用ために
変数を使ったり代入をするのが
数学的ではない奇妙に見える方法だから
2019/11/16(土) 10:37:59.07ID:wNtItu5d
mp3をvlcから再生するとまともな音質なのにpygame.mixerから再生すると音割れ酷いんですけどどういう違いが考えられますかね?
207デフォルトの名無しさん
垢版 |
2019/11/16(土) 10:49:12.07ID:t6zcY+AG
事前に windows media player 立ち上げて(こっちは立ち上げるだけで何もしない)から実行したら?
208デフォルトの名無しさん
垢版 |
2019/11/16(土) 11:54:36.89ID:QixdnrUX
pythonって何?
209デフォルトの名無しさん
垢版 |
2019/11/16(土) 13:29:03.42ID:EoZMxBL0
オッパイソン。
2019/11/16(土) 13:41:51.01ID:OsJC49HI
>>208 男性器、大蛇。
パイソン= 錦蛇
2019/11/16(土) 14:32:13.94ID:IV2YvwIv
>>204
どうして糞コードなんですか?
sumを使いまわすなってことですか?
2019/11/16(土) 15:47:44.42ID:wNtItu5d
>>207
書き忘れてました。実行環境はラズパイ3です。
vlcプレイヤーを立ち上げた状態でpygameで鳴らしてみましたがやはり同じ曲でも音割れしますね・・・スピーカーを替えても同じでした。
init時のパラメータを調整してみるしかないのかな
213デフォルトの名無しさん
垢版 |
2019/11/16(土) 15:52:13.18ID:MmPHNC45
ぐぐればいっぱい出る
2019/11/16(土) 15:56:19.86ID:wNtItu5d
自己解決しました
215デフォルトの名無しさん
垢版 |
2019/11/17(日) 15:41:37.34ID:1Qw6RGLV
ゲームプログラミングでも上達するなりか?
2019/11/17(日) 15:57:25.83ID:+usv6kar
>>215
名作はもちろん、
つきぬけた糞ゲーをつくるのも、
なかなかにむずかしいと学べるだろうよ。
217デフォルトの名無しさん
垢版 |
2019/11/17(日) 17:20:28.54ID:1Qw6RGLV
テトリスでもかなりむずいよ
2019/11/17(日) 17:21:54.63ID:+usv6kar
>>217
HATETRIS・・・
219デフォルトの名無しさん
垢版 |
2019/11/18(月) 08:06:17.10ID:Z0XWPK/5
r1 = "6x/im-name-5kg/10.x"
r1b = "6x/im-na-me-5kg/10.x"
r2 = "7x/im-250g-name/20.x"
r2b = "7x/im-250g-na-me/20.x"
r3 = "8x/im-1kg-name-1kg/30"
r3b = "8x/im-1kg-na-me-1kg/30"

name部分にはランダムな英語文字列(大文字/小文字のみ)が入ります
na-me は apple -> app-le みたいなパターンです.その他記号や数字は入りません
このname部分だけ抽出したいんですが,正規表現だとどう書くのでしょうか
if使って不格好にやることはできるのですが,遅いです
220デフォルトの名無しさん
垢版 |
2019/11/18(月) 09:45:18.79ID:ahZzeXy3
[A-Za-z\-]+
2019/11/18(月) 10:26:30.32ID:yOEY+vW5
>>219
name以外の部分はそこで列挙したパターンのみなのか、数字や桁数などが可変なのか?
最初に正確な仕様を出さないと、後から五月雨式に追加すると非難されるぞ
2019/11/18(月) 11:06:23.31ID:Z0XWPK/5
そうですね、いままとめるので少々お待ちください…
2019/11/18(月) 11:41:25.16ID:CjfZ5YZK
>>219
im-(?:¥d+k?g-)?(.*?)(?:-¥d+k?g|/)
とか
im-(?:[¥d]+.+-)?([^¥d][A-Za-z]+-?[^¥d][A-Za-z]+)
とか
224デフォルトの名無しさん
垢版 |
2019/11/18(月) 12:19:53.85ID:Z0XWPK/5
可変長文字列/im-名前-重量/2桁の数字 可変長文字列
可変長文字列/im-重量-名前/2桁の数字 可変長文字列
可変長文字列/im-重量-名前-重量/2桁の数字 可変長文字列
という3種類がテンプレートで,重量と名前の表記には揺れがあります
名前ブロックを抽出するのが目的です
例えば~/im-1.5kg-name/xx~のときはnameが欲しい
~/im-100g-n-a-m-e-100g/xx~のときはn-a-m-eが欲しい
225デフォルトの名無しさん
垢版 |
2019/11/18(月) 12:22:23.33ID:Z0XWPK/5
def gen_objects(elems):
____import random,string
____name_pattern = ["name","n-ame","n-a-me","n-a-m-e"]
____weight_pattern = ["100g","1kg","1.5kg"]
____temp = []
____for i in range(elems):
________rand_strings = "".join([random.choice(string.punctuation + string.ascii_letters + string.digits) for i in range(random.randint(4,7))])
________rand_name = random.choice(name_pattern)
________rand_weight = random.choice(weight_pattern)
________rand_footer_num = random.randint(10,99)
________n_w = f"{rand_strings}/im-{rand_name}-{rand_weight}/{rand_footer_num}{rand_strings}"
________w_n = f"{rand_strings}/im-{rand_weight}-{rand_name}/{rand_footer_num}{rand_strings}"
________w_n_w = f"{rand_strings}/im-{rand_weight}-{rand_name}-{rand_weight}/{rand_footer_num}{rand_strings}"
________obj = random.choice([n_w,w_n,w_n_w])
________temp.append(obj)
____return temp

testlist = gen_objects(10)

こういう感じのテストユニットをループで回して正規表現でnameを抽出していってnamelistを作成しようとしています
226デフォルトの名無しさん
垢版 |
2019/11/18(月) 12:24:29.75ID:ahZzeXy3
>>224
>>219 には浮動小数点入ってないな
曖昧過ぎて話にならん
227デフォルトの名無しさん
垢版 |
2019/11/18(月) 12:29:41.86ID:Z0XWPK/5
今は3種類の正規表現パターンでtryとtypeErrorを重ねて抜き出してます
もう少し早くて上手いやり方がないかなと考えています
2019/11/18(月) 12:53:59.47ID:OXFmVxDx
https://ideone.com/VVB2r0
2019/11/18(月) 14:00:40.82ID:CjfZ5YZK
>>224
im-(?:¥d+¥.?¥d*k?g-)?(.*?)(?:-¥d+¥.?¥d*k?g|/)
とか
im-(?:[¥d]+.+?-)?([A-Za-z]+(?:-?[^¥d][A-Za-z]+)*).*/
とか

どっちも微妙なところがあるから用途に合わせて組み合わせるなり最適化するなりしてどうぞ

>>225 本題と関係ないけど:
- 名前パターン x 重量パターンは12種類しかないから全部テストしたほうがいいんじゃ?
- 入力値のバリエーション増やして品質あげたいならHypothesisとか使うといいかも
- elemsという名前で数を渡されるのはちょっと…
2019/11/18(月) 14:28:30.73ID:kC9nbpJq
>>224
(?<=im¥-).*?k?g?(?=¥/)で抜き出して、^[¥d¥.]+k?g¥-|¥-[¥d¥.]+k?g$で削除したら?
231デフォルトの名無しさん
垢版 |
2019/11/19(火) 07:49:22.12ID:XrW2V/V1
あーこれケツのランダム文字列にも/が出てくると破綻するんか。死ね
pat = r''im-(\d.*?k?g?-)?([a-zA-Z-]*)"
pick = re.search(pat,i)
pix = pick[2].rstrip("-")
これでダメかな
2019/11/19(火) 08:32:39.89ID:kFNJ3nbu
なるほ堂
2019/11/19(火) 09:27:15.87ID:iaQaZOOq
.+?\/im-(?:\d+k?g-)?([a-zA-Z-]+)(?:-\d+k?g)?\/.+
で$1でnameだけ取り出せるかな
jsでしか確認してないけど
2019/11/19(火) 09:33:08.37ID:iaQaZOOq
小数点入ってんのか
.+?\/im-(?:[\d\.]+k?g-)?([a-zA-Z-]+)(?:-[\d\.]+k?g)?\/.+
に修正
2019/11/19(火) 10:04:52.27ID:oTxEUlYH
numpyに入ってる画像をkivyのパネルにtextureにして貼ってるんだけどサイズが合ってない
numpyの時点で指定サイズに縮小とかできませんか
236デフォルトの名無しさん
垢版 |
2019/11/19(火) 11:14:53.81ID:JtEhgFhM
https://www.youtube.com/watch?v=aeWmdojEJf0
遺伝的アルゴリズムとニューラルネットワークの違いはなんですかね
237デフォルトの名無しさん
垢版 |
2019/11/19(火) 12:22:53.03ID:9syUGbcK
遺伝的アルゴリズムは最適化法
ニューラルネットはモデル
238デフォルトの名無しさん
垢版 |
2019/11/19(火) 12:53:12.56ID:8naC8O/U
>>235
numpy だけでは無理
numpy -> PIL Image -> resize -> numpy
239デフォルトの名無しさん
垢版 |
2019/11/19(火) 16:38:25.85ID:JtEhgFhM
>>237
わかんない
2019/11/19(火) 21:18:34.28ID:kpg8RS9X
>>239
遺伝的アルゴリズムは、生命の進化過程を基にした、より良いデータを生み出す手法
ニューラルネットワークは、脳の仕組みを基にした、AND回路やOR回路の組み合わせのような、処理するための回路
2019/11/19(火) 21:37:12.77ID:5cAUjifH
遺伝的アルゴリズムは、集団の中で殺し合ってくださいと言うバトルロワイヤルな世界、最後に生き残った者たちで生きて行こうぜと言う殺伐とした世界

ニューラルネットワークは、集団に役割を持たせて、みんなに狩や料理や建築などを割り振って、上手くできるヤツを育てて専門家を作って、出来ない奴もいるけど取り敢えず置いとけと言う優しい世界
2019/11/19(火) 23:04:25.84ID:gXqTBZ4g
別にニューラルネットワーク同士を遺伝的アルゴリズムで殺し合わせて学習させてもいいんだぞ
2019/11/19(火) 23:06:06.45ID:FKsBQDds
ニューラルネットワークの遺伝的アルゴリズム選抜ェ
244デフォルトの名無しさん
垢版 |
2019/11/20(水) 04:16:18.18ID:MuZ0V3fT
GANがまさにそうだと思うんだけど…
2019/11/20(水) 06:23:13.95ID:K+IlI0F5
癌はまさにそうだ…
246デフォルトの名無しさん
垢版 |
2019/11/20(水) 08:56:34.21ID:F9Zb1c/g
いや敵対的生成ネットワークのことだって。
247デフォルトの名無しさん
垢版 |
2019/11/20(水) 09:04:02.02ID:BMlssBJW
遺伝的アルゴリズムとニューラルは技術的に関連があるの?
遺伝的アルゴリズムのほうが簡単ですか?
2019/11/20(水) 09:11:29.60ID:2AIX148z
お前さ、お勉強スレで

> glslとpytorchでの画像認識は似ているのですか?
> pytorchとtesorflowlってなにがちゃうんですか?
> どちらからはじめたらいいです?

とか聞いてた奴だろ
二度とプログラミングするなと言っていたはずだが、もう一度言わないと分からないか?
249デフォルトの名無しさん
垢版 |
2019/11/23(土) 09:43:22.24ID:EZrHMol+
tkinterで線を描くと線がギザギザしてしまいます
フォトショップのようななめらかな線を引く方法を教えて下さいませ><
アンチエイリアス?って言うんでしたっけ?助けてください
2019/11/23(土) 09:47:17.98ID:TgM3Aq9p
GANって遺伝的アルゴリズムだったんだ。知らないで調律してた
ただの普通の敵対的生成じゃん。駄目だなあ、技術から入ると背景の理論の壮大さを
まったく感じ取れない
2019/11/23(土) 10:01:47.45ID:rr4WRS2d
>>249
フォトショでもおまえのマウスさばきが糞ならギザギザの線になるんだが。

あと、みためは同じような「なめらか感」でも
自動で手振れによるぎざぎざをなかったことにする派と
手の動きを、近似の数式にすることで、どこまでもなめらかに表現している(ベクタ)派
があるんだが。
252デフォルトの名無しさん
垢版 |
2019/11/23(土) 10:04:35.49ID:EZrHMol+
>>251
アンチエイリアスのやり方を教えて下さい。お願いします。
tkinterだと斜め45度の直線でもギザギザしてしまいます><
253デフォルトの名無しさん
垢版 |
2019/11/23(土) 10:10:17.81ID:cBKKqL2b
canvasの解像度替えろ
2019/11/23(土) 10:11:06.63ID:rr4WRS2d
>>252
wikiれ
そもそも白黒2値ワールドとかだったら( ゚Д゚)イッテヨスィ
255デフォルトの名無しさん
垢版 |
2019/11/23(土) 10:13:12.68ID:EZrHMol+
>>254
白黒2値じゃない白黒の境界を灰色にする方法をお願いします><
256デフォルトの名無しさん
垢版 |
2019/11/23(土) 10:15:03.84ID:EZrHMol+
>>253
解像度を変えても治りません。。。
2019/11/23(土) 10:34:30.18ID:rr4WRS2d
>>255
灰色とひとくちにいうが
こいのとうすいの くらいは作っておかないと
コレジャナイ感が出そうなんだが。

tkinterの色指定についての説明を読めよ。
「How to change the colour of everything in a tkinter GUI」とかでぐぐるもよし。

英語アレルギーなら
端末を窓から投げ捨てろ
2019/11/23(土) 10:54:16.58ID:3WxMvOwa
きっとブレゼンハムのアルゴリズムか何かで線を引いてるだけだろ
ならアンチエイリアスを自前で実装すればいい
2019/11/23(土) 12:14:52.78ID:B0RgWWc8
pyautoguiでchromeの操作を自動化したいんだけど、chromeでリンクをクリックしたあと、ページの完了が終わるまで待つには、sleep使う以外にはどうしたらええんやろか
260デフォルトの名無しさん
垢版 |
2019/11/23(土) 13:01:09.50ID:MYL7zca4
var array =[
[0,1,0,1],
[0,1,0,0]
]
var array2 =[
[0,0,0,0],
[0,0,0,0]
]


配列がすべてゼロだったら、という条件はどう書くんですかね
2019/11/23(土) 13:11:12.94ID:rr4WRS2d
>>259
セレニウムだと「クリックできる状態か否か」を判定できるんだが
pyautoguiにあるかどうかはシラネ
2019/11/23(土) 13:13:50.16ID:rr4WRS2d
>>260
中身全部を0かどうか順番にチェック
0じゃないものを発見した時点で0以外をみつけたフラグをおっ立ててチェックを抜ける(break)

チェックする部分の次のところでは
0以外発見!のフラグがたってるかどうかで
処理をわける
263デフォルトの名無しさん
垢版 |
2019/11/23(土) 13:58:42.54ID:Lev/ciM6
そういえばwindwosのminesweeperをポチポチするプログラムを
pythonで書いて自動化して完成させた途端
msがminesweeperのデザイン変更しやがって糞な思いした
画面ポチポチするプログラムは仕様変更に対して効率悪い
264デフォルトの名無しさん
垢版 |
2019/11/23(土) 14:00:46.78ID:Lev/ciM6
>>260
var 付いてるからスレチだが
python の話と仮定して答えると
numpy 使えば一発
2019/11/23(土) 14:04:58.22ID:rr4WRS2d
>>263
ボタンの上からn番目みたいなアッタマワルイ指定方法とか、
画面上の座標指定とかじゃなく、
クリックできるようになってるもの固有の何かを指定しておいたとしても、
大幅デザイン変更に遭遇したら泥縄になるのは
さけられない。
あきらメロン

マインスイーパみたいに
マス目があるの絶対な!みたいな
なにがしかの決まりがあるものならば、
マス目の区切りを自動検出して
チェス盤や将棋盤のごとくx軸y軸順番にマス目番号を振っちゃう
みたいなのを作っておけば、
色合いとかかえられた際は
マス目の自動検出をちょいちょい手直しするだけで済むが。
2019/11/23(土) 14:05:28.41ID:rr4WRS2d
>>264
しらんかった
すごいなnumpy
2019/11/23(土) 14:09:23.86ID:pGKd1Nh3
サイズ固定でいいなら if array == [[0]*4]*2: とか。
2019/11/23(土) 14:18:32.96ID:8xX8HZu8
>>260
all([not any(x) for x in array])

そこはかとなくダサいけどall()やany()使うのが普通だと思われ
2019/11/23(土) 14:20:07.06ID:B0RgWWc8
>>261
ありがとう
seleniumで次クリックする要素が出るまで待つのが王道なのか
2019/11/23(土) 14:25:20.39ID:rr4WRS2d
>>269
「要素が出た」≠「クリックできる状態」
271デフォルトの名無しさん
垢版 |
2019/11/23(土) 15:43:49.14ID:EZrHMol+
>>257
英語はわかりません><

>>258
アンチエイリアスは自前するしかないのですか?
2019/11/23(土) 15:48:30.46ID:rr4WRS2d
>>271
じゃあPythonどうこうより先に
Google自動翻訳あたりをなんとか使えるように勉強しろ
あと
無知を誇るな
273デフォルトの名無しさん
垢版 |
2019/11/23(土) 16:20:50.22ID:EZrHMol+
>>272
英語から日本語への翻訳はまだ学習が進んでなくて使い物になりません。
お前のようにw
2019/11/23(土) 16:28:27.88ID:6kdTmmEk
>>273
プログラマ向いてないよ
275デフォルトの名無しさん
垢版 |
2019/11/23(土) 17:03:55.37ID:EZrHMol+
>>274
プログラマは目指してません><
趣味でPythonの勉強をしてます。
どなたかアドバイスお願いします。
2019/11/23(土) 17:10:04.04ID:lLsY3+nO
アドバイスくれと言う割に、挑戦する前から自分には出来ませんって
やる気すら無いやつに誰も教えてくれるわけ無いじゃん
277デフォルトの名無しさん
垢版 |
2019/11/23(土) 17:13:09.06ID:EZrHMol+
>>276
挑戦はしてます。。。
英語を翻訳機にかけてみましたが日本語になりません。。。
278デフォルトの名無しさん
垢版 |
2019/11/23(土) 17:23:00.52ID:EZrHMol+
おすすめの翻訳機はありますか?
279デフォルトの名無しさん
垢版 |
2019/11/23(土) 17:37:34.31ID:EZrHMol+
僕は昔フラッシュのアクションスクリプトを勉強してたんですが
フラッシュではジャギはかからずにアンチエイリアスが自動でかかりました
パイソンはできないのですか?
280デフォルトの名無しさん
垢版 |
2019/11/23(土) 18:00:42.08ID:Lev/ciM6
気になるならPILでお絵描きしてtkのcanvasに貼れ
281デフォルトの名無しさん
垢版 |
2019/11/23(土) 18:06:19.44ID:EZrHMol+
>>280
ありがとうございます。
別のライブラリに頼るしかないのですね。
その方法を採用させて頂きます!
2019/11/23(土) 18:26:54.09ID:B0RgWWc8
>>270
とりあえずpyautogui.locateOnScreenメソッドで次クリックするアイコンの画像が出てくるまでループしてsleepする形にしたわ

pyautogui.locateOnScreenは画像がなかったら、ImageNotFoundExceptionの例外を上げるとドキュメントに書いてあるのに、noneを返してくるわ(´・ω・`)
2019/11/23(土) 19:21:19.90ID:rr4WRS2d
>>282
力技解決報告とりまおつ
284デフォルトの名無しさん
垢版 |
2019/11/23(土) 21:06:40.36ID:MYL7zca4
var array2 =[
[0,0,0,0],
[0,0,0,0]
]

func _ready():
for i in array2.size():
for j in array2[i].size():
if array2[i][j] != 0:
print("true")
else:
print("false")

配列にゼロが含まれるかどうかチェックしたいんですが、これだとfalseが8回帰ってきますよね
あるかないか 1度のみの結果を返すように出来ますか
ちなみにgodotです
ありがとう
2019/11/23(土) 21:16:54.64ID:rr4WRS2d
>>284
スレチ&板違いだ
延々ここで続けるんじゃない
gamedev板へ(・∀・)カエレ!!!
2019/11/23(土) 21:17:51.31ID:rr4WRS2d
近頃
あっちのスレでもこっちのスレでも
GodotをPythonだと思って湧いてくるあふぉが多すぎるから

次からは
1に
「godotはスレチ&板チ (・∀・)カエレ!!!」を
明記した方がいいとおもう件。 >>980あたりの人へ

↑についてどうよ? >>all
287デフォルトの名無しさん
垢版 |
2019/11/23(土) 21:22:39.07ID:MYL7zca4
帰ります(´・ω・`)
2019/11/23(土) 21:24:36.78ID:rr4WRS2d
>>287
出て逝く前に
>>262はちゃんと読んだか?
もまえ>>260だろ?
289デフォルトの名無しさん
垢版 |
2019/11/23(土) 21:26:50.79ID:NPpi8aJ+
まあ、冗談だけど
x=sum(array2,[])
x.sort()
x[0]==x[-1]==0
2019/11/23(土) 21:30:52.40ID:fygFNKSM
>>269
Ruby で、Selenium WebDriver なら、

driver.manage.timeouts.implicit_wait で、要素の検索のタイムアウト秒数を設定できる。
何も設定しなければ、10秒でタイムアウト

options = Selenium::WebDriver::Chrome::Options.new
options.add_option(:detach, true) # ブラウザを操作しない
options.add_argument('--start-maximized') # 画面最大

driver = Selenium::WebDriver.for :chrome, options: options
driver.manage.timeouts.implicit_wait = 30 # 要素の検索の timeout
291デフォルトの名無しさん
垢版 |
2019/11/24(日) 09:31:23.38ID:oYE0zbvZ
>>288
ええ、読みました
変数を加算していって合計が0以上だったら、という条件でもいいのでしょうか?
2019/11/24(日) 09:38:13.39ID:s1tpy+px
>>291
値が非負だという前提があるのならそれでもいいんじゃね?
コメントなどで明示しとかないとバグの元になるが。
293デフォルトの名無しさん
垢版 |
2019/11/24(日) 09:39:25.68ID:oYE0zbvZ
>>292
どうも
配列の長さが同じなら、比較用の配列用意するのもいいみたいですね
上のやり方試してみます
2019/11/24(日) 23:49:11.18ID:Qx41XXLY
すまん誰かエスパーしてぇ………
anacondaでpython3入れたんだけどコマンドプロントでpython3 --versionやっても何も結果が返されない……
anacondaのインストールフォルダに行けばpython3いるしjupyter notebookとかは普通に使えるのん…
なんで…なんでぇ……コマンドプロントのいじわるぅ……
2019/11/24(日) 23:55:59.64ID:Qx41XXLY
ごめんね…自己解決したよ
スレ汚してごめんね…!
296デフォルトの名無しさん
垢版 |
2019/11/25(月) 12:30:19.00ID:pjJuONFZ
書き込む前に考えろ
297デフォルトの名無しさん
垢版 |
2019/11/25(月) 13:12:54.83ID:TS/Fak3X
いや書き込むと解決するんだよ
2019/11/25(月) 14:06:00.42ID:MglL2GPD
書き込む前にテディベアに相談しろ
2019/11/25(月) 14:41:48.11ID:p8g7UnzP
なんでこの言語は
オブジェクト指向なのに
関数で属性を所得することがあるんだ?
なんか意図があるのか?
2019/11/25(月) 14:55:04.98ID:meWbd2fX
関数で属性を取得したい、という意図があるんだろ
それ以上のどういう説明が欲しいんだ
2019/11/25(月) 14:56:32.15ID:r/eYGe8L
オブジェクト指向じゃなくマルチパラダイム言語だぞ
2019/11/25(月) 15:00:10.38ID:oN5ryHTE
後付けOOPだからしゃーない
さらに作者は関数型も嫌いだから中途半端なサポートになってる
2019/11/25(月) 15:24:30.38ID:p8g7UnzP
初心者に最適みないな煽り
で解説書でてるが
宣言いらないし、見た目はシンプルだからこそ
易しい言語ではないな 
2019/11/25(月) 15:36:06.86ID:6PZ0TCvi
日本語でおk
2019/11/25(月) 16:21:52.74ID:MOiXV6c7
>>299
開発中に変数の型をコードで確認できると便利だろ
あとSQLやPandasの各列をfor文で操作する時に、型チェックして分岐をつけることもある
2019/11/25(月) 19:28:04.23ID:WAjfk16n
この引数受け取って < 又は > を関数側で判断したいんだけど どう記述すりゃいいの?
qsort(lambda x, y: x < y, [2, 4, -90, 3, 10])

単純に変数に入れて出力してみたけど
def qsort(a, b):
........print("a= ",a)
........print("b= ",b)

不等号 < > が全く見えません
a= <function <lambda> at 0x000001D564F7B4C8>
b= [2, 4, -90, 3, 10]
2019/11/25(月) 21:13:40.05ID:OXWkeipl
>>306
その書き方で間違ってはないよ
渡されたlambdaのソースを確認したいなら
import inspectしてprint(inspect.getsource(a))
2019/11/25(月) 21:40:31.09ID:VwBWJhfV
https://github.com/AmbientDataInc/EnvSensorBleGw/blob/master/src/gw_RPi/env2ambientBS.py

これを動かしてみると、
NameError: name 'companyID' is not defined
とエラーになってしまいます。

51行目からの関数「def send2ambient(dataRow):」の中の
52行目の
if companyID == 'ffff': とif文がありますが、どこにもcompanyIDという変数は見当たらない気がします。
56行目〜59行目、52行目を削除して、53行目〜55行目のインデントを戻せば正常に動きました。
companyIDはどうやって取得するんでしょうか?
2019/11/25(月) 21:52:08.16ID:VwBWJhfV
>>308
多分解決しました

value[0:4]にcomanyIDが入っていたので、
77行目でvalue[0:4]も渡して、
51行目の引数にcomanyIDを加えてやると動きました

これであってますか?
310306
垢版 |
2019/11/25(月) 22:40:34.23ID:WAjfk16n
>>307
不等号記号が判断できました
ありがとうございます
311デフォルトの名無しさん
垢版 |
2019/11/26(火) 05:32:54.67ID:+E2vdhzD
>>3
自前でsort_byみたいなのを作るのかな
2019/11/26(火) 11:43:30.34ID:x6kjeL8J
パッケージ、モジュールについて質問です。

import numpy as np
a = np.random.rand(10)

という記述があったとします。

np はパッケージ
random はモジュール
rand() は関数

であっていますか?

np がパッケージだとすると、パッケージは関数や定数などを含むことができてしまっておかしいような気もします。

このあたりについて解説をお願いいたします。
313デフォルトの名無しさん
垢版 |
2019/11/26(火) 11:53:00.18ID:sOexhNbU
あってる場合もあるし
あってない場合もある
2019/11/26(火) 12:04:40.62ID:n4j/cOk3
中身みたらいいんじゃないの?
import numpyがPackage
import randomがSub-Package
randがfunctionってコメント書いてる
315デフォルトの名無しさん
垢版 |
2019/11/26(火) 12:07:13.67ID:sOexhNbU
質問者の本来の意図は判らんが
質問文だけ読めば
import hoge as fuga
fuga.hage.hige()
の一般的なことを聴いてる可能性もある
ケースバイケースとしか言いようがない
2019/11/26(火) 12:44:26.92ID:P1h37MBR
プログラミング始めて2ヶ月弱です。
今TwitterのsearchAPIを使用してtkinterのメインフレーム内のテキストウィジェットに検索結果を追加していくプログラムを書いてまして
threadを使用してリアルタイムに追記させていくことは出来たのですが停止がうまくいきません。
ttps://teratail.com/questions/147319
上記URLの様にスタートとストップを分けて書いているのですがストップ時に止まらず応答無しになります。
tryの前に上記URL内のwhile not stop_flag:を置いてループさせているので
ループ中try内のプログラムにif stop_flagがtrueの時にbreakする条件を追加すれば想定道理に動きますでしょうか?
仕事中で詳しくは記述出来ませんがこの考え方で合っているのか確認したく質問させていただきました。
317デフォルトの名無しさん
垢版 |
2019/11/26(火) 13:31:57.20ID:dAEqoOXB
仕事中は仕事しろ
2019/11/26(火) 13:36:13.13ID:R22VgyT6
これが噂に聞く寺尾駆動開発……!
2019/11/26(火) 13:40:30.59ID:n4j/cOk3
while not stop_flagって書いてるし意味わからんな
2019/11/26(火) 16:38:03.43ID:jVdruz6/
>>312
気になるのはわかるが
生成の過程はどうであれ
オブジェクトが生成された程度でいいとおもうよ
ここつついてもなんもでてこない
2019/11/26(火) 19:07:33.15ID:x6kjeL8J
>>314-315
>>320

ありがとうございました。
2019/11/26(火) 22:00:33.85ID:x6kjeL8J
柴田望洋さんのPythonの本に、

'\\\\\\\\'

と入力すると

'\\\\'

が出力されると書いてありますが、JupyterLab上で実行すると、

'\\\\\\\\'

が出力されます。

これはどういうことでしょうか?
2019/11/26(火) 22:08:10.56ID:aDj7fQzJ
純粋なリテラルなんだろ
2019/11/26(火) 22:13:19.59ID:x6kjeL8J
もう一つ質問させてください。

id(1)

とするとある大きな正の整数が出力されます。

オブジェクト「1」のIDだと思います。

ある複雑なオブジェクト(あるクラスのインスタンスなど)にIDが割り当てられているのは理解できます。
おそらくインスタンスを作ったときにIDが割り当てられるのだと思います。

整数の場合にはどうなんでしょうか?我々は整数を使うときに整数のインスタンスを作ったりはしません。

このあたりのからくりについて教えてください。
2019/11/26(火) 22:17:46.99ID:pgCzIwzp
>>322 >>324
ここは取り下げて↓をアゲたればー?
Julia Juno Jupyter part1
http://mevius.5ch.net/test/read.cgi/tech/1455271513/
2019/11/26(火) 22:29:07.19ID:6BcoKqX2
>>324
id()で表示されるのは実装にもよるが単純にメモリ内のどの位置にそのオブジェクトがあるかじゃなかったかな?
いちいちidが割り振られるのは単純にプログラム内で一度出現した値を再度読み込むときにすぐ読み込めるようにするためだった気がする。
id(1)とかだと同じプログラム内だとずっと同じidになっているがid(10000000000000000000000000000000000)とか数値が大きくなると
ずっと同じ数値を保持するためには莫大なメモリが必要になるから、いちいち同一のidを保持したりせずに毎回値が変わるのがわかると思う

それと、1が整数のインスタンスじゃないというのは勘違いだ。 isinstance(1,int)とすれば整数1が整数のインスタンスだとわかる
プログラムする側が明示的にインスタンスを作らないだけで内部的にはインスタンスになっている

また、C言語などにおいては整数は「単純な値」と言えなくもないが、少なくともpythonにおいては数値もオブジェクト、
dir(1)してみればわかるが1にもさまざまなメソッドがついている
327デフォルトの名無しさん
垢版 |
2019/11/26(火) 22:33:53.44ID:YnEDvBjE
>>324
https://docs.python.org/ja/3/library/functions.html#id
https://docs.python.org/ja/3/c-api/long.html#c.PyLong_FromLong

>>> a = 256
>>> b = 256
>>> a is b
True
>>> a = 257
>>> b = 257
>>> a is b
False
328デフォルトの名無しさん
垢版 |
2019/11/27(水) 04:07:41.39ID:sALdvXXc
0x100が境なんだね
329デフォルトの名無しさん
垢版 |
2019/11/27(水) 08:24:04.15ID:XCw5dykM
>>322
JupyterでOutに出るのはPythonで表記したときの書き方。
print('\\\\\\\\')すれば\\\\が出る。
330デフォルトの名無しさん
垢版 |
2019/11/27(水) 09:18:32.47ID:KJahAAhq
>>322
つまりprint('\\\\\\\\')はPythonで表記したものではないと
2019/11/27(水) 09:47:06.21ID:0U9h+SK3
JUpypてrが何か知らんがMacだと¥と\が違うんだろ
332デフォルトの名無しさん
垢版 |
2019/11/27(水) 14:09:09.81ID:ngGnUYLD
>>299
え?俺便利だと思って多用してるけど....

関数側で引数がリストならfor文で引数内の要素で再帰呼出し、リストじゃなければ
引数を処理みたいな感じで使ってる。
(簡単な例を書き込もうとしたらブロックされた...わかりにくくてすんまそん)
2019/11/27(水) 14:40:54.97ID:R3eAH8fN
>>332
たぶんインデントなのと半角英数がいっぱいなのが
先週あたりから強化された全板規制にひっかかる。
>>1にのってるようなソースコード用うpろだを使うのだ
2019/11/27(水) 16:09:47.41ID:yvOcgkAY
>>332
なるほど
確かに便利だ
オブジェクト指向の概念からいえば
関数で属性取得するの邪道だと思っていたが
柔軟にしないといけないな
これが純粋性より実用性ってやつか
2019/11/27(水) 16:24:01.31ID:ulQKgCH1
The Zen of Pythonの一部の翻訳についてですが、柴田望洋さんは、

「Errors should never pass silently.」を「エラーを黙って渡してはならない。」と訳しています。

エラーを渡すというようなことが実際にPythonであるのでしょうか?
2019/11/27(水) 16:26:47.69ID:ulQKgCH1
エラーを黙って見過ごしてはならない。

みたいな意味かと思ったのですが。
337デフォルトの名無しさん
垢版 |
2019/11/27(水) 17:52:41.97ID:b0aYXQt/
>>336
pass silently を「黙って渡す」と直訳するか、その行為を日本語の表現で
「見逃す」、「見過ごす」と訳すかと違いと思う。

日本語的には見過ごすと訳した方が自然に感じます。
2019/11/27(水) 19:02:19.69ID:ymKEnJ4Y
>>336の意味であってる
「黙って通過させてはならない」的な意味

「エラーを黙って渡してはならない」は完全な誤訳
Errors should never be passed silentlyや
You should never pass errors silentlyじゃないと
エラーを渡すという意味にはならない
2019/11/27(水) 20:33:56.00ID:hknmBY+P
例外の握りつぶしとかだろ。
例外をキャッチしたけど、何もせずに、そのまま処理を継続したとか

Jupyter Notebook(JN)は、Python, Julia, Ruby などで使うIDE だろ。
VSCode みたいなもの

Bash, PowerShell などのシェル経由でも、
シングル/ダブルクォーテーションで、エスケープのタイミングが違ってくる。
Linux/Windows で書き方が異なる

シェルに渡すときに、既にエスケープされているか、されていないのか

エスケープ文字を、エディタで設定できるかも知れない
2019/11/27(水) 20:43:49.33ID:R3eAH8fN
>>335-336
個人的には>>339の解釈に1票。
try:
    なんとかかんとか
except:
    pass
みたいなマジクソ行為は
自分以外の人物が
たとえ0.1×10^23%でもかかわる可能性があるソースコードでは
絶対やっちゃだめだなwww
341デフォルトの名無しさん
垢版 |
2019/11/27(水) 21:37:06.71ID:OMjrfaFS
pygameは商用利用できますか?
2019/11/27(水) 21:48:56.24ID:gPxE2uPM
>>340
どんなに小さな確率でも、と言いたいのかもしれないけど巨大な下図になってるぞw
2019/11/27(水) 21:49:28.61ID:gPxE2uPM
>>342
数だった。人のことは言えないな。
2019/11/27(水) 22:17:55.37ID:ap410XA+
>>340
passがダメだとして何なら良いわけ?
2019/11/27(水) 22:18:57.75ID:vYtjQlD0
>>341
可能だが、pyinstallerのような方法で事実上の静的リンクを行った場合には
LGPLに従ってpygameが含まれている実行ファイル全体の再配布を許可せねばならない
つまり俺が買ったらそれを10円で再販してやる
2019/11/27(水) 22:20:16.38ID:1UHKBbgP
>>344
passを書くくらいならエラー処理せずに普通にエラー発生させた方がマシ
2019/11/27(水) 22:27:15.42ID:vYtjQlD0
>>341
補足
あと、リンクの方法に関わらず、そのソフトウェアを買った俺はそれをリバースエンジニアリングし、改造できる
俺のスキルをもってすればライセンス認証の回避は容易であり、お前はそれを禁止できない
348347
垢版 |
2019/11/27(水) 22:31:35.68ID:vYtjQlD0
すまん、俺が金払って買ったなら認証を回避する意味はなかったな
問題は、ダウンロードは無料だが継続して利用するにはライセンス認証が必要になるというような典型的な配布パターンだ
この場合、俺は金を払わずに改造してライセンス認証を突破し、タダでそれを使う
そしてその方法をWebで公開する
お前はそれを禁止できない
なぜならLGPLライブラリを使用しているからだ
2019/11/27(水) 22:42:28.92ID:ap410XA+
>>346
つまりtry ~ except は不要と言ってるのか?
excaptの中に何を書くのが良いのか訊いているんだが。
2019/11/27(水) 22:48:46.79ID:R3eAH8fN
>>342
ほんとだ 重要なマイナスが抜けてた!

>>340訂正する
×たとえ0.1×10^23%でもかかわる可能性があるソースコードでは
〇たとえ全世界の砂粒から、ハズレの1粒をひきあてたくらいの確率でも、かかわる可能性があるソースコードでは


>>349
「except:」みたいな雑なくくりをせず
おきるエラーの種類ひとつひとつについて
「except Errorhogehoge:」みたいなかんじで一個ずつちゃんと分岐させろ
2019/11/27(水) 22:57:52.16ID:ap410XA+
>>350
例外の種類ごとに異なる対処が必要なら分岐するがそうでないならその限りではない。
何か対処すべきことがあればそれを記述するが他にすることがなければpassでよい。

おまえさんは何か変な教条主義に囚われているんではないかね?
2019/11/27(水) 23:06:11.22ID:vYtjQlD0
>>350
悪いけど、最初から個別の例外について虱潰しに対応しようとするのは典型的なアンチパターンだよ
あまりにも手間がかかりすぎるし、変更に対して非常に弱いコードになる。
例外処理で死守すべき大原則は、アプリを落とさないこと、綺麗に回復すること、の2点だけだ。
その上で、必要に応じて丁寧な個別対応をしてもよい。
まずアプリを落とさないことだが、WebのリクエストハンドラであったりUIのイベントハンドラであったりバッチ処理の一番大本のループであったり、
「ここまで戻れば確実に回復できる」という箇所で全ての例外をキャッチし、リトライやエラーメッセージの表示等を行って回復する。
次に綺麗に回復すること、これは、適切にwithやfinally等を使用して例外発生時に適切な後片付けを行うことだ。
この2点が守れていれば例外処理は完璧だが、場合によっては個別対応することで早期に回復できたり、より適切なエラーメッセージをユーザーに表示できたりするケースがある。
しかしそれはあくまでオプションにすぎない。
2019/11/27(水) 23:22:24.86ID:ymKEnJ4Y
>>351-352
え、お前らマジでこんなコード書いてるの!?
いろいろビックリするわ

try:
____do_something()
except:
____pass
2019/11/27(水) 23:28:50.58ID:hknmBY+P
Ruby on Rails で、RSpec で、TDD から学びなおせw
2019/11/27(水) 23:31:50.95ID:vYtjQlD0
>>353
単に無視することが適切な回復なのであればそれで正しいよ
大抵はそうではないが、だからといって例外が発生した瞬間に直上でキャッチしたところで対処のしようがないケースがほとんど
ほとんどの例外は単純にキャッチせずにスルーし、上の方で纏めてキャッチしてエラーを表示したりすることになる
356デフォルトの名無しさん
垢版 |
2019/11/27(水) 23:36:46.74ID:OMjrfaFS
>>348
ありがとうございます。ようするにpygameを使った作品は著作権を放棄しろってことなんですね。。。
2019/11/27(水) 23:58:21.75ID:ymKEnJ4Y
>>355
範囲の狭い特定のエラーを意図して無視するのが適切な場合はあっても
あらゆるエラーをすべて無視するのが適切な場合はまずないやろ
2019/11/28(木) 00:12:16.59ID:H2QhOzf/
>>356
細かいツッコミすると、国内で放棄できるのは著作請求権だけ
359デフォルトの名無しさん
垢版 |
2019/11/28(木) 01:29:21.32ID:BjRR3Cis
>>358
ありがとうございます!!
2019/11/28(木) 03:06:02.69ID:1K1GwsjB
著作権を放棄しているわけではない
自分の著作権の下で自らの著作物をLGPLの派生物として配布しているんだ
自分の著作物をどんなライセンスで配布しようが本来は勝手だが、利用しているライブラリが他人の著作物である以上、
そのライブラリの著作権を同梱した派生物を配布するためにはそのライブラリの著作権者が定めるライセンスに従わねばならない
そして、そのライセンスが派生物のライセンスを制約するようなものであった場合は結果的に自分の著作物にライセンスが感染する形になるわけだ
361デフォルトの名無しさん
垢版 |
2019/11/28(木) 05:28:36.70ID:BjRR3Cis
>>360
そういうことなんですね!
勉強になりました。
2019/11/28(木) 07:46:57.30ID:LEtsBWW2
俺が不勉強なだけかもしれないが
try:〜except:passでエラーを握りつぶしておいて
直上でエラー処理するってどういうことだ?

普通にエラーをそのままにしといたら呼び出し元にエラーが届いて
そこで処理したらいいだけの話だろ 一番下の階層でpassして握り潰す必要はない
2019/11/28(木) 08:33:14.83ID:VOkh5kHm
>>362
> try:〜except:passでエラーを握りつぶしておいて
誰がそんなことを言ってるんだ?
そう思い込んでいるのはあなただけでは
364デフォルトの名無しさん
垢版 |
2019/11/28(木) 08:38:48.41ID:b0jGiHif
異常系をわざわざ戻り値で表現し直すんじゃないの?w
そんなことするより、リスローの方が絶対にいいわな。
2019/11/28(木) 14:36:06.70ID:B2pLXdx8
>>353
やってるけど
2019/11/28(木) 14:59:01.40ID:p/uKw1d3
pyautoguiっての普通に使ってる時は問題ないんだけど
リモートデスクトップで1度開いちゃうと画面閉じた時に
pyautoguiの中のsetcursorposってのでエラー出るんだけどどうにかならない?
2019/11/28(木) 16:12:48.01ID:rcIus152
大企業で無料で商用利用できるIDEでオススメありませんか?
個人ではVScode使ってますがエンタープライズ企業は無償利用無理みたいです
2019/11/28(木) 16:26:05.13ID:sRkzUhKD
生産性を無視する企業に未来はない
2019/11/28(木) 16:48:19.24ID:f9JN6uOx
>>367
そんな都合のいいものはない
大企業税(有名税てきな)だとおもって
あきらメロン
2019/11/28(木) 17:08:37.95ID:VOkh5kHm
>>367
VSCodeはエンタープライズでも無償だぞ
371デフォルトの名無しさん
垢版 |
2019/11/28(木) 17:24:36.37ID:i2j7bL3h
どうせVSと近藤してるんだろ
2019/11/28(木) 21:56:29.31ID:qnF6NUyh
>>357
堅牢なソフトウェアを構築する方法論として、何かエラーがあったらその処理単位ごと
無かったことにするというものがある。DBのトランザクションとかerlangのlet it crashとかな。
そういう方法論ではエラーの種類など見ない。
そこでは逆に、知ってるエラーだけcatchして他はスルーするという手法こそ否定される。
なぜなら、下層のルーチンが「知らない」とスルーしたエラーなら上層のルーチンは
「もっと知らない」はずだからな。
373デフォルトの名無しさん
垢版 |
2019/11/28(木) 22:06:08.08ID:4XtsM+GQ
せやろか?
2019/11/28(木) 23:49:35.94ID:3SZL29g0
>>372
ものすっごい中途半端な知識で知ったかしようとする前に基礎を抑えようね

DBのトランザクション処理を実行しました
なんかエラー発生しました
エラーの種類など見ないっ(キリッ)

軽量プロセスにsend messageしました
なんかプロセス落ちました
リスタートあるのみ(キリッ)

>なぜなら、下層のルーチンが「知らない」とスルーしたエラーなら上層のルーチンは
>「もっと知らない」はずだからな。
何を知らないのか考えようね
2019/11/29(金) 00:49:58.07ID:8hJB6N01
>>372のやり方だと「止まらない」プログラムは作ることはできても
「使える」プログラムは作れそうにないなw
2019/11/29(金) 01:26:05.58ID:pmSmtC6r
例外原理主義か…
2019/11/29(金) 09:16:06.14ID:B0LTR+GE
スターリン風エラー処理
2019/11/29(金) 09:24:58.26ID:TmZsQyhe
pyautoguiのsetcursorposエラーはtry:〜except:passで無事解決しました!
2019/11/29(金) 09:28:46.75ID:wYCEjZQR
わださんのゆうめいなやつ
https://speakerdeck.com/twada/php-conference-2016
PHPだけど、理解できるだろ。読んどけ。
380デフォルトの名無しさん
垢版 |
2019/11/29(金) 10:27:27.39ID:N/f9f1S7
>>349
漏れもpassは禁止で正しく処理するべきだと考えるが
どうしてもスルーしてプログラムを続行したい場合は

1.フラグを立ててプログラム終了時に報告
2.loggerでsyslogに出力
3.上の1と2の合わせ技
381デフォルトの名無しさん
垢版 |
2019/11/29(金) 10:30:54.20ID:N/f9f1S7
>>355
上の方でまとめてキャッチしたいのに
except で pass したらキャッチされないぞ

except でその場だけキャッチせず上にスルーしたいならあらためて raise しろ
2019/11/29(金) 12:06:18.51ID:dGU1sZlL
pyautoguiでとりあえずブラウザ内の手作業のの自動化できたから、seleniumにも手を出してみたけどこっちは難しいね
HTMLが分かってないとキツイな(´・ω・`)
2019/11/29(金) 17:46:37.36ID:po6NZMwT
python勉強しようと思うんだけどエディタはjupyterがデフォなの?
visual studioになれてるからvs使いたいんだけどまずいのかな。
2019/11/29(金) 17:47:25.58ID:lBRwa/7I
ok
2019/11/29(金) 17:51:35.27ID:VBGSEbtt
>>383
PCのスペックが足りてて問題なく動けば問題ないぞ
スペック足りない俺様PCでは
秀丸エディタかsakuraエディタが精いっぱいなんだぜ
2019/11/29(金) 19:37:04.50ID:LMfDTWZ+
>>383
VSCodeにしとけ
MSはPythonの開発環境としては今VSCodeを推していて、本家VSの方のPythonサポートはもう将来性がない
2019/11/29(金) 19:41:46.20ID:VBGSEbtt
>>386
横レスだけど参考になった
2019/11/29(金) 19:56:54.52ID:SQehs03a
>>380
>漏れもpassは禁止で正しく処理するべきだと考えるが

passは正しい処理ではないと言っているようだが、そう断言できる根拠はないだろ。
ログを吐けばオーケーというのも意味わからん。プログラムの正しさとは何の関係もないだろうに。
2019/11/29(金) 20:05:59.92ID:8hJB6N01
保守性が落ちるコードは正しいコードとはいえないだろ
例外処理でpassするくらいならそもそも例外が出ないようにすべきだし
自分で例外処理が書けないなら例外をそのまま発生させて別の誰かか未来の自分が対処できるようにすべき

自分ひとりで全部完結するプログラミングなら
他人から見てエラーを脳死で握りつぶしているのか
面倒臭くてpassしてるのか分からない変なコード書くのもありかもしれないけどな

ぶっちゃけ「正しいコード」が書きたいならpythonじゃなく証明型プログラミング使えばいいだけだしな
2019/11/29(金) 20:10:38.20ID:5FLVJ8iu
正しい処理どうこうの前に
passは文字通り何もしてないんだから処理したとは言わないだろ
2019/11/29(金) 20:18:27.56ID:VBGSEbtt
>>389
> 例外処理でpassするくらいならそもそも例外が出ないようにすべきだし
> 自分で例外処理が書けないなら例外をそのまま発生させて別の誰かか未来の自分が対処できるようにすべき
>
> 自分ひとりで全部完結するプログラミングなら
> 他人から見てエラーを脳死で握りつぶしているのか
> 面倒臭くてpassしてるのか分からない変なコード書くのもありかもしれないけど
↑イイ!!(・∀・)こと書いてある!!!
2019/11/29(金) 21:32:51.55ID:SQehs03a
>>389
>例外処理でpassするくらいならそもそも例外が出ないようにすべきだし

なんか言っていることが矛盾してるね。自分ひとりで全部のコードを書いているわけじゃなけりゃ
下層のルーチンから例外が出ないようにするなんてことが常にできるわけがないだろう。
自分で保証できるのは上流の呼び出し元にどういう例外を渡すか(渡さないか)だけ。

>他人から見てエラーを脳死で握りつぶしているのか
>面倒臭くてpassしてるのか分からない変なコード書くのもありかもしれないけどな

意図がわかりやすいコードを書くことが推奨されるのはもちろんだが、逆にコードだけからは
意図を判断しづらいケースはいくらでもあるわけなんでそこを非難しようとしても不毛なだけだと
思うがな。
例えば逆のケースで例外をcatchしていないコードがあった時、それが意図的にスルーして
いるのか面倒くさいからかcatchしなかったのかはたまた例外が発生する可能性を見過ごして
いたのか、コードの字面だけからはやっぱり判断できんだろう。

そもそも、面倒くさくて握りつぶすという発想がよくわからんな。
面倒くさいなら何もしないでスルーするんじゃないの?
#Javaの話で関数の仕様を変えられないから、とかならわからんでもないが。
2019/11/29(金) 21:44:06.26ID:8hJB6N01
>>392
下層で例外を上に渡すのか渡さないのか決めるなら
例外処理をどうするのかを上層で判断するのか下層で判断するのか
結局どちらでもない中途半端になるだけだな 
上層に例外処理を任せるなら 例外を握りつぶしにしても上層で握りつぶす
例外が出る可能性を消せないのであれば例外を隠蔽しない
例外を隠蔽するくらいなら例外が出る可能性を完全に消す
単純な話だ


>例えば逆のケースで例外をcatchしていないコードがあった時、それが意図的にスルーして
>いるのか面倒くさいからかcatchしなかったのかはたまた例外が発生する可能性を見過ごして
>いたのか、コードの字面だけからはやっぱり判断できんだろう。

このうちのどれかなんて判断しなくていい 全部対処の必要があるからな
君は「問題なく動くコード」を作ることを最優先にしているようだがそのために「問題を起きていないことにする」んじゃあ意味がない
起きてない問題を解決するのは起きている問題を解決することの数倍難しいんだ

エラーが発生すること自体は開発の過程においては別に悪いことじゃない
エラーを見かけ上発生させなくなることで問題を不可視にするほうが害悪
2019/11/29(金) 22:04:01.71ID:SQehs03a
>上層に例外処理を任せるなら 例外を握りつぶしにしても上層で握りつぶす

その例外を発生させた処理に近い方が適切な判断ができるに決まってるだろう。
どういうメリットがあってその処理を上層に任せるなんて言ってるのかねえ。

>エラーを見かけ上発生させなくなることで問題を不可視にするほうが害悪

こうなるともう宗教だな。
仮に内部でエラーが起きたとしても、それが外に対して悪影響を及ぼさないんだったら
無かったことにして全然問題ないと思うが。
2019/11/29(金) 22:08:10.95ID:5FLVJ8iu
外に悪影響を及ぼさないことを保証できる実力があるなら文句ないわ
俺にはとても出来ない
2019/11/29(金) 22:28:46.19ID:8hJB6N01
>>394が作ったプログラムが上手く動かなかったときは
下層上層問わずすべてのコードを精査して
「外部に対した悪影響を及ぼさないからエラーを握りつぶしてOK」と「思いこんでいるかもしれない部分」
も含めてチェックしないといけないハメになるな

地獄だぜ
2019/11/29(金) 22:51:00.95ID:X/BrqNBd
全能無謬の神PG降臨
2019/11/30(土) 10:27:47.46ID:rKTaGmhL
わださんへの反応が皆無で笑ったwさすが初心者スレ。
399デフォルトの名無しさん
垢版 |
2019/11/30(土) 11:15:37.77ID:u5c1qEtQ
numpyとかいうのなしで、配列を回転させることはできますか?
テトリスのブロックの回転です

var base = [
[0,0,0,0],
[0,0,0,0],
[0,0,0,0],
[0,0,0,0]
]
var block = [
[0,0,0,0],
[1,1,0,0],
[0,1,1,0],
[0,0,0,0]
]

#
func _ready():
for y in block.size():
for x in block[y].size():
block[y][x] =
print(block)
2019/11/30(土) 11:41:37.85ID:eoIz8ORY
[[block[3-l][i] for l in range(4)] for i in range(4)]
2019/11/30(土) 11:54:44.80ID:rKTaGmhL
テトリスなら回転した情報は固定で持っとけ
2019/11/30(土) 12:03:43.42ID:OO2kPiiB
>>399
 >>401に補足すっと
各ブロックの向き4種類をあらかじめ準備しといて、
まわすボタン(AボタンとBボタンで回る向き違うよな)1回押されるごとに、
(左右どっちか)隣の状態へ行くようにしとけ
4種類目から次へいく指令がきたときは、1種類目を表示するようにも、しとけ。

いちいち回す計算してたら ちぬる
2019/11/30(土) 12:17:28.60ID:PlBmox+6
配列回すのなんて計算してインデックスを読み替えるだけだろ
配列を書き換える必要などないし計算コストなんてほぼゼロだし極めて単純な算数
>>402はよほど頭悪いんだろうな
2019/11/30(土) 12:51:05.66ID:rKTaGmhL
> 極めて単純な算数

長いヤツの180°回転がずれたら叫ぶぞw
2019/11/30(土) 12:54:57.33ID:OO2kPiiB
>>404
んだべや

配列の回転て
手計算だと結構しくじるヤツがいるし
理屈はわかってても、プログラムするとなるとバグ仕込んじゃうヤツけっこういるぞw
>>403は現場を知らない
2019/11/30(土) 12:57:48.37ID:OO2kPiiB
テトリスブロック回してずれたら(・x・)コロヌ!!!だけど、
ぷよぷよの場合は
「滝登り」できないと逆に困るけどなw
2019/11/30(土) 13:40:28.58ID:X9RQeX1v
数億パターンとかあるわけじゃないでしょ?
じゃあテーブルルックアップの方が早いに決まってる
2019/11/30(土) 13:51:38.88ID:e3px8G1e
visual studioでpythonをインタプリタ形式で動かすのってどこで設定すればいいんでしょう?
2019/11/30(土) 13:56:10.70ID:PlBmox+6
>>408
どのような方法で実行しようがPythonはインタプリタ形式で動きます
2019/11/30(土) 15:12:04.28ID:u5c1qEtQ
テトリス野郎です
ありがとうございます
理解できないんでもう少し調べてrから着ます(´・ω・`)
2019/11/30(土) 15:47:17.79ID:MBj/QS/D
class myClass():
def __init__(self, message):
self.value = message

def name(self):
self.name1 = self.value
print(self.name1)

m = myClass("hello!")
print(m.name())
2019/11/30(土) 15:48:48.66ID:MBj/QS/D
>>411なんですが、実行するとhello!とNoneが表示されます
Noneは、どこから湧いてきていますか(´・ω・`)?
2019/11/30(土) 15:50:04.56ID:MBj/QS/D
class myClass():
 def __init__(self, message):
  self.value = message

 def name(self):
  self.name1 = self.value
  print(self.name1)

m = myClass("hello!")
print(m.name())

インデント入れるとこんな感じです
2019/11/30(土) 15:54:41.68ID:OO2kPiiB
>>411-413
最終行が悪い
Noneがいらないなら
m.name()
でおk
2019/11/30(土) 15:57:11.28ID:OO2kPiiB
ところで
>>413な内容をやらせるのに
nameってつけるネーミングセンスは
ないわー
2019/11/30(土) 16:18:36.23ID:MBj/QS/D
サンクス、直ったわ(´・ω・`)

NameError: name 'センス' is not defined
2019/11/30(土) 16:34:21.86ID:Esy6R5Oj
>>409
ああ、一行入力したらすぐに結果が返ってくるようにしたいのです。
2019/11/30(土) 16:46:10.13ID:OO2kPiiB
>>416
なおってなにより。

2年後の自分が上からよんでって、
過去の自分に対して殺意が湧かない程度の名前をつけるようにしる。
すげーだいじだぞ。
2019/11/30(土) 16:51:12.50ID:SKhbFAll
Tensorflowでディープラーニングの勉強するのに必要なPCのスペックを教えてください。

GPUはやはりいりますか?
2019/11/30(土) 16:57:04.40ID:NRfKrTi3
はい
2019/11/30(土) 19:01:21.04ID:BP9rhd+I
>>419
NVIDIAのGPUがいいとか、その中でもGTX750、850、950、1050以上でないと無理だとか
メモリもできれば8GBできれば16GBがいいとか
色々あったか

4スレッドのCPUだとそれがボトルネックになったなんて話もあったかな

だがスピードを気にしないならGPUなしでも出来るだろ!って人もいる
大規模な問題は出来なくなるが
422デフォルトの名無しさん
垢版 |
2019/11/30(土) 19:04:37.44ID:SKhbFAll
>>420-421

ありがとうございます。

小さな問題さえ試せればOKだと考えています。
Tensorflowやいろいろなツールを使えるようになればOKだと考えています。
2019/11/30(土) 19:44:27.10ID:OO2kPiiB
>>422
いやだからさ、
テンフロつかって 何がしたいかによるんだってばよ・・・

ある1人の文豪の文章全部を教師にして
文豪もどきっぽいあやしいモノをつくったったwwwくらいなら
GPUなし、一昔前の古しいPCでも3週間かけっぱでできるんだYO

ところが
文書データといっても
Abstractがひっぱってこれる既存の理系英語論文全てをターゲットにして
なんかかんかしようとすると
メモリ2テラくらい使っていいスパコンがないと、無理。
2019/11/30(土) 23:18:38.91ID:X9RQeX1v
結局スパコンのタイムシェアリングで50年前と同じじゃねえか
425デフォルトの名無しさん
垢版 |
2019/12/01(日) 06:11:57.70ID:Yb3VJQ//
はじめましてPython初心者です

a = input()

で入力を求めて、[1,2,3,4,5]
と入力をしても変数aが配列にならず文字になってしまいます。
誰が良い方法をお願いします
2019/12/01(日) 06:47:09.10ID:i2YaNYYV
c#アプリで計測したデータをpythonで自動的に統計処理してグラフ表示する。
って考えてるんですが、言語はpythonでokでしょうか?Rを使うのとどっちがいいか悩んでます。
2019/12/01(日) 06:49:59.72ID:i2YaNYYV
想定してる統計は単回帰とコルモゴフスミノフなど簡単なものです。グラフは回帰直線表示させた後に平均値、最大値、最小値を赤でプロットしたい。
2019/12/01(日) 08:24:56.60ID:7UL7JgFh
>>425
input()は文字列を返す関数なので、自分で変換する必要がある
https://docs.python.org/3/library/functions.html#input

In [1]: a = input()
1 2 3 4 5

In [2]: list(map(int, a.split(' ')))
Out[2]: [1, 2, 3, 4, 5]
2019/12/01(日) 08:31:43.33ID:gxWit/c+
すみません。
macでanaconda3(python3.7)をインストールしたのですが
ターミナルでconda -versionで確認してもcommand not found
python -Vで確認しても2.7.10と表示されるのですが何故でしょうか

環境構築の質問で申し訳ないですがどなたか詳しい方いますか?
2019/12/01(日) 08:39:56.12ID:Yb3VJQ//
>>428
ありがとうございます!
変換する必要があるんですね!
2019/12/01(日) 08:51:20.61ID:w+6yrHlL
>>426-427
どっちでもできるよ

その後どういう風に上達していきたいのか
それとももうその作業さえできればおkなのか
あとは自分がどっちの言語がより好きなのか

による
2019/12/01(日) 08:52:50.77ID:w+6yrHlL
>>429
Macにデフォで入ってるPythonのほうが優先で呼ばれている件
環境変数を弄らないとだめだとおもわれるが
いじるとそれはそれで困ったことになるかもしれない

py -V
は動くけ?
(Python3系は「py」で呼べるのだ)
2019/12/01(日) 09:05:38.42ID:gxWit/c+
>>432
ありがとうございます
py -Vもcommand not foundとなってしまいました

私の今の状態はanaconda3、python3.7ともにインストールはされているもののパスが通っていないと言う認識で間違い無いでしょうか?
2019/12/01(日) 09:15:08.45ID:YC7h427T
>>433
パスが通ってない可能性に気づいたなら、まず自分なりにパスの確認までしてから次の質問をした方がいいぞ。(自分で考える&確かめる習慣をつけるために。)
2019/12/01(日) 09:27:14.95ID:YoP0MD/8
>>429
>macでanaconda3(python3.7)をインストール
>ターミナルでconda -versionで確認してもcommand not found

Mac使いさんにWin使いが出しゃばってしまうのは非常に失礼なのは承知だが
Winだと

https://qiita.com/kaizen_nagoya/items/7bfd7ecdc4e8edcbd679

Anacondaでのインストール後に
Windosのコマンドプロンプトやパワーシェルにpython -vで
何か表示されるのは、むしろ良くない事だとされている

で、Macだとどうなbだろう?
2019/12/01(日) 09:37:44.85ID:w+6yrHlL
>>435
conda -versionも動作しないってゆってるからなー

Macは最初からシステムにPython2.7系が入ってるから
なにかがうまくいってなくても
Python2.7系がはいってますよー ってならないとおかしい。
2019/12/01(日) 09:38:14.87ID:w+6yrHlL
>>433
434氏がすごくイイ!!(・∀・)ことゆってくれてる
2019/12/01(日) 09:40:59.48ID:YoP0MD/8
anaconda Mac ターミナル

って検索したらやっぱり書いてる人がいたw
この辺はどこも同じか
でもWinはパスは無理に通すな!って書いてあるけど、
Macだと通しても異常が起こりにくいって事だろうな
2019/12/01(日) 09:43:21.98ID:SqfEoEmM
>>435
複数のPython環境を使い分ける必要があるのは、受託や自社サービスなどコード書くこと自体が仕事の人だけだ
その記事書いた人も例に漏れずバリバリのエンジニアのようだ(その割にはWindowsを使っているというのが滑稽ではあるが)
データ分析やちょっとした手元の処理の自動化など、アドホックにPythonを使いたいならPythonの神経質なバージョン管理は要らん
2019/12/01(日) 10:09:00.60ID:YoP0MD/8
>>439
>複数のPython環境を使い分ける必要があるのは、受託や自社サービスなどコード書くこと自体が仕事の人だけだ

自分の場合

1.
何かtensorflowのインストールって物凄く難しいらしい!これは別環境作っておかないとヤバい!!!
→Anaconda内にPython3.6の別環境作る。何か今年前半くらいまで3.7では無理だったらしいし
(今では可能になった)

2.
OpenCVのインストールも結構難しいらしいぞ!これも別環境作ってそっちでテストしてから統合だ!
→(1)OpenCVインストール用環境作ってインストール法確立(wheel型の選び方とインストールなど)
(2)先に作っておいたtensorflow用環境をクローンした新環境を作り、そこにOpenCVインストール
(3)全てが上手く行ったことを確認してから、BASEと、[tensorflowとOpenCV両方入った環境]だけ残して
半端なのを捨てる

3. XGBoost?こんなもんは余裕でインストールできんだろ?Baseに入れる
→yaml型がぐっちゃぐちゃになって全部使えなくなる
→Anaconda丸ごと入れ直したorz

ここでXGBoost専用環境作っておけば良かったなあ

4. 1つのWindows入りPCは、ユーザー名の姓名の間に半角スペースが入っていたため
Anacondaインストール後に別環境を作れないと判明したorz
HDDにパーティションつけてそちらにUbuntu入れて出直すべきか
2019/12/01(日) 10:26:29.97ID:SqfEoEmM
>>440
それならGoogle Colabでよくね
もしモデルを実運用するにしてもどうせクラウド上でやるだろうし
2019/12/01(日) 10:55:49.47ID:i2YaNYYV
>>431
いずれ、AIとかwebにも手を出してみたいからpythonなんでしょうね。
2019/12/01(日) 15:19:46.36ID:9bW3hmPM
class myClass():
 def print(self ):
  print('test')
 def __enter__(self ):
  return self
 def __exit__(self, ex_type, ex_value, trace):
  pass

with myClass() as m:
 m.print()
m.print() #←★まだ生きてる

上の場合、withを抜けたらdel相当が行われインスタンスmは使えないと思ってたのですが使えるようです。
classのインスタンス作成でwithを使うのは意味がなかったりますか(´・ω・`)?
2019/12/01(日) 15:29:58.31ID:n5DjgtsH
pythonに限らない社会通念だと「コンストラクタでインスタンス作成しましょう」というのが共通認識

withは出来るがしてはいけないこと
暗黙のうちの諒解
意味が無いではなく、作法・マナー違反
2019/12/01(日) 15:52:03.12ID:jNUYX66D
それよりもdel相当が行われっていう認識がヤバい
誰に吹き込まれたんだよそれ
446デフォルトの名無しさん
垢版 |
2019/12/01(日) 16:02:06.50ID:iKyYFZEF
LUV MACHINES AG400XN-M2SH2-KK 価格.com限定
Ryzen 7/16GBメモリ/256GB NVMe SSD+2TB HDD/GTX1650搭載モデル

↑現在価格コムのランキングが6位のデスクトップパソコンです。
自分にとってはこれでも高いパソコンですが、このパソコンでディープラーニングを学習できますか?
447デフォルトの名無しさん
垢版 |
2019/12/01(日) 16:04:18.10ID:iKyYFZEF
GeForce GTX 1650

というGPUが搭載されているとのことです。
448デフォルトの名無しさん
垢版 |
2019/12/01(日) 16:10:49.64ID:iKyYFZEF
OSはLinuxではなくWindows 10でもOKですか?ディープラーニング専用機にはしたくないです。
449デフォルトの名無しさん
垢版 |
2019/12/01(日) 16:14:17.70ID:iKyYFZEF
電源が500W以上のものばかりですが、電気代もかかるんですね。
2019/12/01(日) 16:19:47.62ID:x82DeScF
>>443
withにスコープはないからmはその関数内で可視というだけ。
後始末したいものがあれば__exit__でやればいい。mそのものは気にしない。
2019/12/01(日) 16:57:57.48ID:i659FOIW
A列の値でカンマで区切られたB列に入っている文字列の位置を検索したいのですが、

A列 え
B列 あ, い, う, え, お
欲しい結果 → 3

カンマでsplitした後にA列の値の参照ができなくて、頭がぐるぐるしてきました
2019/12/01(日) 17:06:58.45ID:w+6yrHlL
>>451
ソースを>>1に挙がってるソース用うpろだのどこかにうp
2019/12/01(日) 17:15:04.02ID:7UL7JgFh
C#のusingとかと比べると(´・ω・`)?になるのはよく分かる
2019/12/01(日) 17:15:22.17ID:n5DjgtsH
文字列をイコールで比べてるなら「カンマでsplitした後」は
『う』じゃなくて『 う』だな
ようするに先頭に空白でもあるんじゃねえの
2019/12/01(日) 22:13:46.59ID:gxWit/c+
すみません
>>433です
いろいろググって試しましたがpathが追加されず・・・
macの環境に詳しい方いませんか?
2019/12/01(日) 22:49:38.38ID:w+6yrHlL
>>455
「MacでPATHを通す」でぐぐれカス
あと
ルートレスとかが強烈だとそれも解かないとだめかもね
2019/12/01(日) 23:08:22.92ID:UCpH0Yie
>>419-423
>>446-447
マウスコンピューター、
期間限定 2019/11/20(水)11時 〜 2019/12/4 (水)11時
ttps://www.mouse-jp.co.jp/special/sale/

m-Book X400H
ノートPC で、87,800円

14型 フルHDノングレア (LEDバックライト)で良ければ、
Core i7-8565U, 8GB メモリ, 256GB SSD

m-Book K700XN-M2SH5
ノートPC で、133,800円

15.6型 フルHDノングレア (LEDバックライト)
Core i7-9750H, 32GB メモリ, 512GB SSD NVMe対応,
GeForceR MX250, 1TB HDD
2019/12/02(月) 00:39:03.08ID:jhokUOzU
全く関係無いが、Core i5の1万番台のu型って
4コア8スレだったのか
一部で、深層学習でGPUを使うならコア性能よりスレッド数重視だぞってあったが
本当なのかなあ

MX250だと一応はCUDAコアを使えるね
今はCPUオンボードで深層学習での性能が上がって来てるけど、それよりは数倍は良い
459457
垢版 |
2019/12/02(月) 08:20:54.00ID:H5nAExhM
>>446
も、マウスコンピューターのタワー、96,800円。
価格.com限定モデルか

メモリも、32/64GB まで拡張した方がよい。
SSD も、512GB へ。
保証期間も3年以上は、ほしい

OS も一応、5,800円で、Windows Pro版にする
2019/12/02(月) 09:34:41.25ID:PBi2xeij
こっちもMacで困ってるな〜
Finder使いづらくて共有かけてWindowsエクスプローラー+Windows側のVSCodeで作業してるんだけど
Windows側(3.7.3)では問題なく動く、Mac側(3.7.3)もターミナルは問題なく動く、XCode(3.7.1)からだとPythonのバージョンが違う・・・
2019/12/02(月) 09:44:43.19ID:az4xQt0G
pythonはexcelと共にwin側についたからね
appleとしては排除したいところ

出来れば自社開発の軽量スクリプト言語を広めたいハズだが
winとmac両方で動くインタプリタをappleが作る……なんてのはやりたくないはずだ
なんつったって軽量スクリプト言語でトップシェアはpythonじゃなくexcel付属のvbaだからな
2019/12/02(月) 09:55:11.39ID:H5nAExhM
Docker Hub で、好きなバージョンを探せば?

それか、仮想環境とか
2019/12/02(月) 10:06:45.06ID:wB1a1keO
FinderでPython関連のファイルなんか触ったことないわ
普通VSCode上でやるかターミナルじゃね
2019/12/02(月) 10:45:06.16ID:5RGCQ9ir
プロゲートのpython最後までやってじゃんけんするゲームを作った
forなりifなり覚えたけどここ以降どうすればいいのかよくわからん…
今後の目標としては自分なりのプログラム作りたいけども皆さんはどのように進めていった?
465デフォルトの名無しさん
垢版 |
2019/12/02(月) 10:52:33.57ID:KwsHxcvC
>>461
マイクロソフト「マイクロソフトが Excel に搭載するのは JavaScript であって、Python を使いたいのであれば PyXLL か xlwings を使え」
ExcelにPythonが搭載?その後 - xlwings を使おう
https://qiita.com/yniji/items/b38bc312e860027108ac

アップル「AppleScript使ってくれる人増えないからMacの自働化用の言語にJavaScript (JavaScript for Automation : JXA) も追加したわ」
2019/12/02(月) 10:56:28.95ID:2anHlm9G
123円までは押し目買いで誰でも儲かる相場やね
2019/12/02(月) 15:19:02.88ID:/uccKnPl
テトリミノの回転をやってるのですが、前の配列にアクセスする方法はありますか?
array = [1,2,3,4]
for i in array.size():
■array[3]
とすると4が取り出されますが、その前の3にアクセスする方法はありますか?
array[3]-1
みたいな感じですかね

まだよく理解できんてないんで(´・ω・`)
2019/12/02(月) 16:12:08.26ID:OkhwRYub
a[3-1]でおk
2019/12/02(月) 16:19:15.17ID:OkhwRYub
よく見るといろいろおかしいな。
配列の要素にダイレクトにアクセスするならforは要らんし、
要素数を求めるならlen(array)

for i in array:
print(i)
2019/12/02(月) 16:37:06.71ID:/uccKnPl
前の配列にアクセスに書き換えることで、回転させるわけすよね(´・ω・`)
471デフォルトの名無しさん
垢版 |
2019/12/02(月) 16:37:32.77ID:HSnksJTz
>>443
インタプリタというかIDE環境でやってると
立ち上げて実行したときのmは全部残るから
前にテストしてたmが残ってるだけじゃないのか
2019/12/02(月) 17:18:43.24ID:TTdajGZT
>>464
で、次は何がしたいんだ?
2019/12/02(月) 17:22:48.79ID:TTdajGZT
>>467
temporary=3
mae_no_yatsu=array[temporary-1]
的な

>>470
逆向きに回す場合は
次の配列にアクセス、かつ「次」が配列の要素数をこえてたら、振り出しに戻す(0番目を呼ぶ)んだぞ
2019/12/02(月) 23:30:43.15ID:Vi1WkRIA
Win環境で2枚の画像ファイルを必ず一定(Min.1)の
出力フレーム周期で、交互にフルスクリーン表示する
手段は無いでしょうか。
今はOpnnCvのフルスクリーン設定でループさせて、
cv2.waitKey(1)
sleep(0.011)
といった記述ですが、原理的にずれるを避けたいです。
PsychoPyはFHDクラスのフルスクリーンに対応できず、
waitForVBlankやFrameSwap等のキーワードは把握したのですが、
使い方がわかりませんでした。
2019/12/03(火) 09:14:43.90ID:NKF0Kit+
なんか上の方でmacOSでのanaconda導入の話題あったから便乗して質問してみます

・やったこと
https://weblabo.oscasierra.net/python-anaconda-install-macos/

↑を参考に公式からインストール
ターミナルで下記実行するも
python3 --version
conda --version ともにcommand not foundになる
python --versionではおそらくデフォで入ってる2.7.10が表示される

brew install python3を実行後、python3 --versionすると3.7.0と表示

condaコマンド?は/Users/user_name/opt/anaconda3/binにあるらしい
かつ、printenv PATHしてみると上記PATHが表示されないのでPATHが通っていないと推察

https://qiita.com/nbkn/items/01a11392921119fa0153

↑を参考に上記PATHを記述後、printenv PATHしてみたが変わらず

・聞きたいこと
1.condaコマンドが使えないのはPATHが通っていないという推測は合っているか

2.1が正しい場合、他にどのように通す方法があるか
 現状(anaconda3インストール時点)のbash_plofileに記載されているのは↓の質問者の試したことにあるのと同じ内容

https://teratail.com/questions/157057

3.そもそもanacondaインストール手順として自分がやったことは合っているのか


稚拙な質問かつ分かりにくい文章で申し訳ありませんがどなたかご教示お願いします
476デフォルトの名無しさん
垢版 |
2019/12/03(火) 09:39:57.99ID:yN5r9ueQ
>>474
pygame
477デフォルトの名無しさん
垢版 |
2019/12/03(火) 09:41:35.76ID:yN5r9ueQ
>>475
3が間違ってる可能性が高い
つまり1と2は議論の無駄
2019/12/03(火) 10:52:33.96ID:jDo5c24e
>>475
$ echo $SHELL
でシェルがbashかどうか確認

$ source ~/.bash_profile
で.bash_profileの中身(conda initの記述)を実行

$ conda
2019/12/03(火) 10:59:33.16ID:tHrvVoQx
>>472
定まってないですね
なので先人が基礎的なこと覚えたあとになにをやってるのか興味があります
2019/12/03(火) 11:13:43.69ID:qZgArKp4
>>479
おれは文字列処理@Python2系に挑んで地獄を見た
機械学習ごっこも、日本語をPython2系でやって大変だった。
そしてそのせいで仕事も文字列処理系(ただし英文だった)をやらされていた。
481デフォルトの名無しさん
垢版 |
2019/12/03(火) 11:44:17.75ID:AqN4uIMS
>>479
作りたいもの作ってた
2019/12/03(火) 11:44:47.36ID:NKF0Kit+
>>477
ありがとうございます
具体的に何が足りないor間違っていますか?
わかる範囲で指摘いただければ助かります

>>478
ありがとうございます
SHELLはbashです、昨日確認しました
残り2つはマシンが手元にないので後ほど確認します
2019/12/03(火) 12:34:43.15ID:V7OsQf4N
素人がAnaconda使うなと言っとるに

ほんと害悪
2019/12/03(火) 12:49:44.64ID:q4QgEASS
まあ最近はどの本やらサイトもpython始めるならanaconda導入から始めようみたいなの多いしそれを見たんだろう
2019/12/03(火) 12:53:12.70ID:jDo5c24e
>>479
先人はまず短期的な目標を定めてました
486デフォルトの名無しさん
垢版 |
2019/12/03(火) 14:50:11.02ID:yN5r9ueQ
WindowsのAnacondaは悪くない
Macが糞なだけ
2019/12/03(火) 15:13:57.50ID:y8LThl7W
ほんとMac使いにくいなぁ、Windows版のXCodeないのかな
488デフォルトの名無しさん
垢版 |
2019/12/03(火) 15:34:53.26ID:wVEeBLb4
コンピューターサイエンティストはなぜMacを使っている人が多いのでしょうか?
2019/12/03(火) 16:03:37.12ID:ZS5h3RP8
UNIXだから
Python使うにしても手元でアドホックな自慰をするだけならWindowsで問題ないけど、
でき上がったものをクラウドで実運用に乗せようと思うと途端にWindowsは嫌になる
490デフォルトの名無しさん
垢版 |
2019/12/03(火) 17:10:29.26ID:5ZiHQIvd
ディープラーニングやらブロックチェーンやらでGPUブン回す人たちはMacなんか使わんでしょう
491デフォルトの名無しさん
垢版 |
2019/12/03(火) 17:27:41.68ID:yN5r9ueQ
Macでどやりたいひとはwebクリエイターωの意識他界系の人らだから
2019/12/03(火) 17:45:48.98ID:qZgArKp4
> 意識他界系
  ↑New!!!
2019/12/03(火) 17:50:56.46ID:TyO2yArk
newではなかろ
2019/12/03(火) 17:59:03.23ID:qZgArKp4
他界しちゃうレベルwは新しくね?
2019/12/03(火) 18:12:42.15ID:I9YoNGrF
GPUガン積みの自作PCだとWinになる
自作の情報が多いのはWin
2019/12/03(火) 18:20:22.71ID:1+EGgKJy
macアンチ多いんだな
肩身が狭い
497デフォルトの名無しさん
垢版 |
2019/12/03(火) 18:25:02.67ID:aHy1at+0
dockerやクラウドなどなどリモート開発が主体だから、最早WinとかMacとか関係ない。
GPUにしても、最近はGPUサーバを作ることを考慮して、Linux対応も重視されてきてる。
498デフォルトの名無しさん
垢版 |
2019/12/03(火) 18:51:26.99ID:wVEeBLb4
オンラインのコンピューターサイエンス系の動画を見ると大抵Macのノートブックを使っているので、
不自然に感じました。

一般人はWindowsの人ばかりですよね?
2019/12/03(火) 18:59:49.01ID:y8LThl7W
Windows一筋だな、MacBookAir持ってるけどスタバ用
500デフォルトの名無しさん
垢版 |
2019/12/03(火) 19:13:19.98ID:TpwdWSlD
MBP2017今も使ってるけどキーボード酷すぎで一気にアンチになったわ。
と、言ってもネットで恨み辛み書き込んでるだけでようやっと欠陥キーボードやめたらしい最新モデルの13インチ版が出たらまたMacにしてしまうかもしれん。
501デフォルトの名無しさん
垢版 |
2019/12/03(火) 20:02:59.85ID:wVEeBLb4
>>500

ちなみになぜMacが好きなんですか?

素人目に見ると、Linux, Mac, Windowsどれも大差ないように思います。
2019/12/03(火) 21:01:39.68ID:qZgArKp4
>>498
研究室だと
初期設定を人数分するのがうっとうしいとか
元居た畑のソフトがその昔Mac用しかなかったとか
予算がありあまってるからとか
昔は入ってたヒラギノが大好きだからとか
色んな理由でMacイ諸がいる
2019/12/03(火) 21:07:43.82ID:2pgR0qgk
>>501
Unix環境でMS Officeがまともに動くのがmacOSだったから
今ならWindowsでもWSLあるから別にどっちでもいい
Docker使うときだけはWindows 10 proになるが、これが恐ろしく使いにくいのでmacを使っている
2019/12/03(火) 21:10:47.82ID:2pgR0qgk
>>483
単に使ってるヤツがダメなだけだぞ
超簡単なインストールすら出来ない奴が、本家のpythonでトラブル起こさない保証はゼロだ
2019/12/03(火) 21:14:29.01ID:2pgR0qgk
>>486
いや、俺の感覚ではwindowsのanacondaの方が難しい
特にvscodeでデバッグする場合のクソさは辟易する
Powershell周りがまだまだ全然安定していない

macはそのあたりノートラブルだから非常に素直だ
macでanaconda disってるヤツは本当に使った事があるのか疑問
2019/12/03(火) 21:26:28.87ID:2pgR0qgk
>>475
一応答えておくか

anacondaのインストールに失敗している可能性が高いので、まずは全部消す

anacondaはサイズがデカいので、googleでminicondaを検索
macOS 64bits版をダウンロードして、ターミナルから

bash ダウンロードしたファイル名

すると

/Users/ユーザ名/miniconda3

にインストールされる
.bash_profileに設定が追加されるかどうかはインストール最後の質問にどう答えたかで変わる
2019/12/03(火) 22:01:53.53ID:jDo5c24e
何を根拠にインストールが失敗してると言ってるのか??
インストール先から直接実行してみればPATHが原因かどうかはわかるやろ?
$ /opt/anaconda3/bin/conda
2019/12/03(火) 22:24:46.68ID:g35XzY+N
>>507
全部デフォルトでインストールした場合、condaコマンドが見つからないと言う状況は起こらないので失敗していると判断

.bash_profileに既に何らかのバグがあってanacondaのインストーラが追加したスクリプトに到達しないとかはあり得る
2019/12/03(火) 22:26:13.73ID:1+EGgKJy
全部消すって言ってもcondaコマンドが使えないならアンイストールすらできないんじゃね?
2019/12/03(火) 22:32:35.05ID:g35XzY+N
>>509
Anacondaはディレクトリをrm等で消して、
.bash_profileに追加されたスクリプトを消すだけでOK

venvとか使ってanacondaをインストールするのはオススメしない
あとは/opt/anacondaや/usr/local/anacondaに共用としてインストールしたいとか、そんな欲求は捨てて全部デフォルトに従うのが吉
2019/12/03(火) 22:35:56.90ID:1+EGgKJy
>>510
へーそうなのか
消すことはないだろうけど勉強になるわサンガツ

デフォルトの件は>>475のインストール手順書いたサイト見ると次へをポチポチしてるだけだからデフォルトっぽいけど何か違うんかね?
2019/12/03(火) 22:58:31.06ID:g35XzY+N
色々な可能性はあるけども
1. .bash_profileにバグがある
2. デフォルトshellがbashでない
3. インストール前からディレクトリの不整合を起こしていた
と言う感じかなぁ

minicondaではなくAnacondaを入れたのなら、
/Application
の下のAnaconda-Navigatorが正常に動くかどうかでも確認できそう
2019/12/03(火) 23:05:47.06ID:g35XzY+N
よく見ると記事が若干古いなぁ

昔のデフォルトは/anaconda3で、その設定が残ってている可能性はありそう
今のデフォルトは/opt/anaconda3
514デフォルトの名無しさん
垢版 |
2019/12/04(水) 11:06:34.64ID:sb3P/SSe
>>498
おまいは印象操作に簡単に引っかかるタイプやろ
ジャパンライフに騙されるのもこんな人らだろ
2019/12/04(水) 12:33:08.37ID:tCRQbFTx
そして今日からAnacondaのPythonが3.8になりやがった
そして3.7に落としてから、tensorflow-gpuをインストールして、無事動作確認

tensorflow-gpuも前みたいに事前に色々入れなくても動くんだな
Visual StudioなしでcudatoolkitもcuDNNもcondaで持ってきてくれた
なおtensorflow-gpuは1.15
cudatoolkitは10.0を持ってきてくれた(RTXなので良かった)

ちょっと前にGTXの後期のを入れたときはcudaも9を自分で選んだ
2019/12/04(水) 20:43:50.89ID:yceLOpTG
Mac with Anacondaって変になると、アンインストールも出来ん
2019/12/04(水) 21:17:36.87ID:F/ByLZY9
yokokara
518デフォルトの名無しさん
垢版 |
2019/12/05(木) 10:02:18.15ID:IbmhSLeW
VSも変になるとアンインストールも再インストールも出来ん
2019/12/05(木) 14:29:13.84ID:TzSLtKO4
https://codeday.me/jp/qa/20190216/261316.html
この質問者と同じことがしたいんですが、回答が参考にならないです。

質問:.pyへの引数として*.csvのようなワイルドカード(のファイル名)を使いたい、
回答:.py内に'*.csv'とシングルクォートで囲って書け

そういうことではなく(.pyへの直書きではなく)
.pyを実行する際の引数にワイルドカードを使いたいんですが、可能でしょうか?
2019/12/05(木) 14:53:39.03ID:Wm9fQur5
リンク先の回答者が的外れなように書いてるけど、あなたが理解していないだけ。
ちゃんとglobモジュールを使うことで…と書いてある。
python test.py '*.csv'

import glob,sys
filelist = glob.glob(sys.argv[1])
print (filelist)
521デフォルトの名無しさん
垢版 |
2019/12/05(木) 15:01:59.30ID:IbmhSLeW
ワイルドカードの展開ってshellがするんじゃなかったか
2019/12/05(木) 18:09:17.19ID:OLqlmSOk
import hoge
した時にimporterrorになったら
自動でpip installしたいとき

try:
import hoge
except:
subprocess.call('pip install hoge')
import hoge

こんな感じのを、関数化するにはどうすればよいですか
importをimportlib使って引数にストリングで渡すと、hogeが未宣言になります
523デフォルトの名無しさん
垢版 |
2019/12/05(木) 20:08:18.78ID:2mCSg13D
やるならSetuptoolsとかでやるべき部分だと思う
せいぜい実行したいpipコマンド出力するぐらいでいいでしょ
2019/12/05(木) 20:51:28.08ID:wdnl8B6T
>>522
hoge = importlib.import_module(“hoge”)
hoge.hage()
2019/12/06(金) 00:49:38.92ID:IktivxOB
>>519-520
Ruby の1-liner なら、これでカレントディレクトリにある、
すべてのCSV ファイル名が表示される

ruby -e "puts Dir.glob( '*.csv' )"

'*.csv' を、コマンドライン引数として渡したいのなら、ARGV[ 0 ] に入ってくる。
ruby -e "puts Dir.glob( ARGV[ 0 ] )" '*.csv'

例えば、
ruby -e "puts ARGV[ 0 ]" 'abc'
#=> abc

Ruby の場合は、
「ruby オプション script.rb 引数」で、
スクリプトファイル名は、ARGV[ 0 ]じゃなくて、$0 に入ってくるので、
引数がARGV[ 0 ]となる

漏れは、Python は知らないので、>>520
によると、引数がARGV[ 1 ]に入ってくるのかな?

>>521
* のままなら、シェルが展開する。
ls [b-d]* # bcd で始まるファイル名

*をエスケープするには、'*' "*" \* の3つ。
expr 2 '*' 3 #=> 6
2019/12/06(金) 05:01:48.56ID:Z1B97fiv
>>525
糞食って寝ろ
527デフォルトの名無しさん
垢版 |
2019/12/06(金) 08:57:25.01ID:y8t5v3Vv
>>525
python知らないなら出ていけ
2019/12/06(金) 09:24:26.21ID:jevOtndm
ネタじゃないうえにPython関係ない質問なんだけど
Rubyってどこで使われてるの?めったにみないよね、Windowsには無いし
2019/12/06(金) 09:51:33.13ID:ju+bNL7K
>>528
ネタじゃないならお前はスレタイ読めないゴミw
スレにもいらない。出ていけ。
2019/12/06(金) 10:26:00.43ID:e8Nbwz4h
>>528
Webサービス
有名なのはクックパッドとかGithubとか
どちらも最近はGoへの置き換えが進んでるらしいがw
2019/12/06(金) 13:37:02.63ID:bsu7R2yD
なんでそんなイライラしてんのww
532デフォルトの名無しさん
垢版 |
2019/12/06(金) 14:01:46.87ID:rmctNxUZ
HDD消さずに業者に手渡したから
証明書貰ってるから大丈夫だよね?
2019/12/06(金) 15:08:35.02ID:y+wr0N/5
>>528
件のRubyバカが懇切丁寧に(いい加減な話も含めて)教えてくれるだろうから、手を取り合ってどこか他所に行って続けてくれ
2019/12/06(金) 17:52:40.71ID:TL5X+SDz
>>524
関数化はどうすればいいですか?
my_import("hoge")

import hoge
と同等の機能を実現できる関数化したいです。
やっぱ無理ですか?
535デフォルトの名無しさん
垢版 |
2019/12/06(金) 18:00:33.47ID:rmctNxUZ
setattr で local とか global に追加汁
2019/12/06(金) 18:28:19.47ID:c6fF/5cl
yokokara
2019/12/06(金) 18:50:12.32ID:bsu7R2yD
>>534
え〜

def my_import(module):
____return importlib.import_module(module)

hage = my_import(“hoge”)で
import hoge as hage とだいたい同じ
538デフォルトの名無しさん
垢版 |
2019/12/06(金) 18:56:20.20ID:K1aFtUDf
return必須なの?
539デフォルトの名無しさん
垢版 |
2019/12/06(金) 19:42:50.51ID:ELuQ0rBw
def my_import(module):
setattr(globals(), module, importlib.import_module(module))
2019/12/07(土) 20:40:09.64ID:ZdcZp/3W
Pythonて、配列無いんですか?
541デフォルトの名無しさん
垢版 |
2019/12/07(土) 20:42:30.04ID:tj55yZgB
リストの実装は配列じゃないかな
2019/12/07(土) 20:46:16.73ID:ZdcZp/3W
>>541
ありがとうございます。配列の事を調べると、すぐにNumpyというライブラリーの話題になってしまうので
ひょっとして標準で存在しないのだろうかと悩んでました
リストのことを調べてみます
2019/12/07(土) 22:27:30.46ID:ADlg+SvA
[]←これとはまた別なの?
あれ配列って長が固定なもんを指すんだっけ?
()ともまた違うんけ?

それよりnunpyの話詳しくしてほしいなって…!
なんか便利なライブラリーなんしょ?
2019/12/07(土) 22:38:35.16ID:Z1wtMTIj
便利というか数値配列扱って計算とかするなら実質必須
2019/12/07(土) 22:56:30.44ID:i1TdHIG2
>>542-543
[]はリスト
()はタプル
546デフォルトの名無しさん
垢版 |
2019/12/08(日) 00:16:58.54ID:0l6xumYX
今こそ血涙の文字で告白しよう!!
僕たちが純粋な輝きを失って大人になってしまったらお座なりとおべんちゃらと、陰口と
服従と妥協と打算と倦怠と保身の中で、ずるがしこく、チョロチョロと動き回りながらネズミの
一生を送るようになるんだ。
それから結婚して子供を作って、世の中でいちばん醜悪な母親という大人になるんだ。
ああ、時の流れとはなんと残酷なのだろう!!
生きることと老いることが同義語だという過酷な命題を直視しなければならないんだ。
老いはまさしく肉体と精神の双方の病気だったが、老い自体が不治の病だということは、
人間存在自体が不治の病だというに等しく、われわれの肉体そのものが病であり、
潜在的な死なんだ。
衰えることが病であれば、衰えることの根本原因である肉体こそ病だった。肉体の本質は
滅びに在り、肉体が時間の中に置かれていることは、衰亡の証明、滅びの証明に使われて
いることに他ならないんだ。
老いはすさまじい恐怖であり苦痛であり、そして真実である。
このままだと僕たちは腐敗して汚れて蝕まれたおぞましい大人になってしまうんだ。
大人たちは日々を生きのびようとする故なき執念、執着によって、地上に栄える
ありとあらゆる悪徳と汚穢とを一身に体現しているのだ。
テチには限られた貴重な時間を死にものぐるいで生きてもらって思う存分に輝いてもらいたい。
ああ、一分一分、一秒一秒、二度とかえらぬ時を、人はなんという稀薄な生の意識で
すりぬけるのだろう!!そうして血が失われるように時が失われていく。
そしてテチが二十歳になったら、その最後の輝きの絶頂の中でステージ上で美しく鮮烈に
死んで欲しい。
ああ、テチの光輝あふれる肉体と精神が劣化することも衰退することもない永遠に美しいまま
伝説となり歴史となるために無慈悲な時の流れを止めたい!!
その時、テチには誰かもわからない僕も自殺する。
大人になるテチなんか絶対に許さない。僕はテチと血まみれになって心中する。
テチを殺すことを許してください。テチをステージ上で銃殺して自殺する。
僕の血とテチの血が混ざり合って純化されるのだ。
これだけはわかって欲しい。僕が誰よりも平手友梨奈を永遠に愛していることを・・
2019/12/08(日) 00:25:36.70ID:ohyhj+qx
来てみりゃいきなし通報案件じゃねえか……
こりゃたまげたなぁ……
2019/12/08(日) 08:38:54.60ID:d61YKsOU
しかも文章めっちゃ上手いよね
その才能をなぜ文学とか別の方向性に活かせないのか…
549デフォルトの名無しさん
垢版 |
2019/12/08(日) 14:51:24.96ID:J+6Nu+8f
>>542
numpy 使った方が良い
2019/12/08(日) 17:09:05.43ID:pSs03yKS
本当に超初心者質問です。
pythonで

a=100

a = 100

では、どっちの書き方にするべきですか?
今までC#でVSが

を打つと自動的にきれいにスペース入れてくれてたので、
どう書くのが標準なのかわかりません。
2019/12/08(日) 17:11:09.15ID:iU1G1+Qw
a = 100
552デフォルトの名無しさん
垢版 |
2019/12/08(日) 17:17:26.29ID:wNkvi2te
>>550
https://pep8-ja.readthedocs.io/ja/latest/
2019/12/08(日) 18:22:21.20ID:pSs03yKS
>>551
これVSが自動で直してくれないんでしょうか?
自分でスペースとか入れていると、
いちいち表記法を意識しなければいけないのでしんどい。
2019/12/08(日) 18:23:02.65ID:B7mwO2xN
>>550
pycodestyleやautopep8みたいなlinterを使うと
変な書き方してると注意してくれたり修正してれたりする
2019/12/08(日) 18:28:29.58ID:/kMCly/x
>>553
VSをアンインストールしてVSCodeをインストールすれば自動修正も可能
2019/12/08(日) 19:29:26.06ID:ick2zDgR
yokokara
2019/12/08(日) 19:42:50.38ID:Wyx2vkr6
>>555
C#使ってるやつのVS、アンインストールさせんなw追加でVSCode入れればいい。
2019/12/08(日) 20:31:30.09ID:ZrAxLUnk
>>552
そーか、インデントにはtabじゃなくてスペース4個が望ましかったのか.....
ずっとtab使ってたわ、まぁ他人に配布することないし今後もtabで行くと思うけど...
2019/12/08(日) 20:41:40.91ID:ohyhj+qx
そういう宗派ですからね
戒律は厳しいです
2019/12/08(日) 21:18:36.18ID:/kMCly/x
>>558
https://stackoverflow.blog/2017/06/15/developers-use-spaces-make-money-use-tabs/
> スペース派はタブ派よりも高収入
2019/12/08(日) 21:47:58.89ID:h14g0YSH
>>558
俺もtab(表示は4スペース)派
人に渡すことはまずないしあっても変換すりゃいいだけだし
2019/12/08(日) 21:52:20.12ID:ZrAxLUnk
>>560
ぱっと読んで多変量解析してなさそうな報告だったけど、本当にインデントの種類が収入の因子になってるのかね?
まぁ、俺は趣味だからtabで今後も行くし,spaceインデントを否定するつもりはないけど

(1)スペースだと4段階インデントに16回スペースを押さなければならない、tabだと4回で済む
(2)スペースの打ち間違いによるエラーがわかりにくい、
   4段階インデントの場合、スペース16個と17個(間違い)がぱっとみわかりづらい。
   CとかならいざしらずPythonだとエラーになる。tabだとtab4個と5個では違いがはっきりしてる。

オートインデント使えねえクズは死ねとか言われそうだけど.....
2019/12/08(日) 22:06:25.63ID:iU1G1+Qw
開発環境の整備を検討するべきだ
2019/12/08(日) 22:47:58.24ID:B7mwO2xN
>>562
>(1)スペースだと4段階インデントに16回スペースを押さなければならない、tabだと4回で済む

エディタの機能でtabキーを4回押せばスペース16個になる
さすがにスペースキー連打してるやつはいないよ
2019/12/08(日) 22:52:01.83ID:ZtTX+YkB
>>562
ちょっとちょっとw
丁寧におかしな分析してんじゃないですよ?
2019/12/08(日) 22:59:41.29ID:Wir5LDVx
他言語ではタブ派だけどpythonだけはvscodeでスペース4に設定してるな
indent-rainbow入れとけばインデントミスはすぐわかるし
2019/12/09(月) 00:23:43.78ID:1/0np3ih
>>557
vscodeなら直してくれるんだ・・・。
pythonsはやっぱりVSでなくてvscode使えってことなのか。
568デフォルトの名無しさん
垢版 |
2019/12/09(月) 11:12:02.64ID:RLwtKsqp
インデントの話やPEP8の話が出て来ると
必ずと言って良いほどオレの方が正しいって
主張始めるやつが出て来るのが面白いな

スペース 2 個派です
2019/12/09(月) 12:15:24.24ID:WTLcFYnZ
pythonの場合、インデントが必ずしも2とか4の倍数じゃないところがめんどくさい。
パレンで囲って改行したときに、次の行頭にちまちまスペース入れなきゃならないし。
まぁ、しなくても動くけど。

タブ文字は便利だが、こうした場合スペースと混合されると紛らわしいな。
2019/12/09(月) 12:38:11.52ID:WjwE1wYD
>>568
Pythonは一応バイブルあるから自分が正しいって主張する奴はあんまりいなくね?
大抵は俺と一緒で「自分しか関与しないから俺流でやるぜ」って奴かと
2019/12/09(月) 12:59:58.96ID:W35ag/eC
教義を守らないヤツは異端だから滅ぼしていい
ってのが西洋人の考え方だよ
2019/12/09(月) 13:46:32.29ID:2N90NDIG
2はそれでホロンだ
2019/12/09(月) 16:20:48.22ID:qscAnUd4
そういえば、ホロン・リナックスってあったなぁ
2019/12/09(月) 16:55:51.28ID:03JGrJKy
他の言語(Goはタブ強制だから除く)だとスペース2個派だけど、Pythonは4だなあ
PEP以前にPythonでスペース2個は浅すぎて読めん
深いネストから戻るときに今何段目か分からん
575デフォルトの名無しさん
垢版 |
2019/12/09(月) 16:57:50.47ID:VQkZ+CLb
ネストよりフラットが良い by zen of python
貧乳派の教祖である。
2019/12/09(月) 17:26:52.50ID:3v06ZNRZ
https://ideone.com/Wg79gW
ループをy→xの順で回して、printはlist[x][y]とすると以下の結果になります
1324
これはなぜでしょうか
どういう仕組みでこうなるかわかりませぬ
2019/12/09(月) 17:29:17.58ID:uy6UoUfX
え?
578デフォルトの名無しさん
垢版 |
2019/12/09(月) 17:33:45.58ID:RLwtKsqp
そもそもpythonじゃないのでネタ確定だが
あえてpythonで書くと
https://ideone.com/osA1LA
2019/12/09(月) 17:34:28.98ID:scocuTx7
>>576
varで始まってる時点でPythonじゃねぇ
チネ!!!(・∀・)
580デフォルトの名無しさん
垢版 |
2019/12/09(月) 17:39:42.43ID:RLwtKsqp
ごめん途中で送信したので
やり直し
https://ideone.com/5YnYmj
2019/12/09(月) 17:42:40.72ID:3v06ZNRZ
>>579
似てるのでここでいいです
2019/12/09(月) 17:43:07.42ID:3v06ZNRZ
>>580
ネタではないです
ただ、どういうロジックでこういう結果になるのかわからないです
2019/12/09(月) 17:47:31.97ID:scocuTx7
>>581
それを判断するのはオメーじゃねぇ
(・∀・)カエレ!!!
チネ!!!(・∀・)
2019/12/09(月) 17:56:15.08ID:FD9BPIub
>>582
xとyの値を確認しながらデバッガーでステップ実行するかprintデバッグすればわかる
2019/12/09(月) 19:13:08.22ID:3v06ZNRZ
ありがとう
でもわからない
2019/12/09(月) 20:12:58.55ID:8kuRYSAZ
>>581
もしかしてお前は自分が書いている言語が何なのかすら知らないのではないか?ロジックがどうこう言う手前の段階だろう。
2019/12/09(月) 21:49:55.90ID:m18yM9uO
Windowsの「アプリA」バージョン3が文字列を画面に表示してます
これを「アプリA」バージョン2に対してコピペしたいのですが
二つのアプリは同時に起動することができません

そこで、まずバージョン3を起動して、手に入れたい部分をコピーしてテンポラリー書類にコピーペースト.

入れ替わりでバージョン2を起動して
テンポラリーからコピペしたい部分をゲットして
バージョン2宛にペースト.
そんな工程を目論んでます

テンポラリーファイルには、変数名と文字列、数値が記録されることになると思います

このような手法に適した、ファイルの書き出し・読み込みと言えばどんなものがあるでしょうか?

自分なりにはpickleというものを見つけましたが、なんか難しそうな気がしました
アドバイス頂ければ嬉しいです
2019/12/09(月) 21:53:47.07ID:gL89svw9
クラスの勉強をするかdict型で書き出すかして
そのままpickleにかけろ
それより楽な方法は生データをテキストで保存することだが後々苦労するからやめとけ
2019/12/09(月) 22:18:14.86ID:m18yM9uO
ありがとうございます
dictと、クラスの定義ですね

はて?
pickleって、ひょっとして持っていけるのは要素だけで
変数名とかリスト名とかは持っていけない?
2019/12/09(月) 23:42:57.55ID:Pxm13ZGa
可読性を重視するならjsonもありかと
591デフォルトの名無しさん
垢版 |
2019/12/10(火) 09:42:46.70ID:Gtb8KZ21
可読性ならjsonよりyamlやtomlのほうが…
2019/12/10(火) 13:06:22.84ID:6QYDHDQi
括弧が付いてると可読性が上がる
593デフォルトの名無しさん
垢版 |
2019/12/10(火) 13:28:31.47ID:uPxE4CgL
カッコ悪い
2019/12/10(火) 13:35:45.35ID:F3h+m1zk
(E)!
2019/12/10(火) 15:08:32.10ID:FE1Fen7q
jsonファイアフォックスで見れば見やすいぞ
2019/12/10(火) 15:46:55.98ID:6QYDHDQi
よしなに整形してくれるからな
597デフォルトの名無しさん
垢版 |
2019/12/10(火) 15:57:56.29ID:48kVELqA
>>589-591
msgpack
2019/12/10(火) 16:51:25.96ID:LOypIkS3
590の”可読性”はhuman-readableの意味で使ってんだろ
2019/12/10(火) 17:23:44.99ID:eJPx3dnZ
msgpackはJSON比で大して速くも小さくもない
人間による読み書きが可能であり大抵の言語で標準で扱えるというJSONのメリットを捨てるのに見合ったリターンはない
600デフォルトの名無しさん
垢版 |
2019/12/10(火) 17:53:43.58ID:48kVELqA
充分小さいぞ
2019/12/10(火) 18:12:40.55ID:eJPx3dnZ
せいぜい50%程度を充分と思うかは貴方次第
私はそうは思いませんね
602デフォルトの名無しさん
垢版 |
2019/12/10(火) 18:15:41.31ID:48kVELqA
キーを何度も使いまわすのは無駄だと思う
2019/12/10(火) 19:20:38.59ID:eJPx3dnZ
msgpackが同じキーを何度も書いていないとでも?
2019/12/10(火) 19:51:08.94ID:1ZU0zLKJ
まあ一連のレスは無駄そうだな
2019/12/10(火) 19:59:18.07ID:ORQYQVvI
yokokara
2019/12/10(火) 20:52:52.51ID:hzlCevra
可読性といえばxmlじゃないの
いやよく知りませんけど!
2019/12/10(火) 20:56:35.79ID:6QYDHDQi
訳あってWordのdocument.xmlを読んだが非常に厳しい
608デフォルトの名無しさん
垢版 |
2019/12/11(水) 09:06:12.26ID:ZT47FwY4
>実行環境(Pythonのバージョン・OS名・IDEの種類とバージョン)をシッカリ書くこと。
Python2.7.1 Windows 2000pro 開発環境はPython付属のIDLEです

Win32のクリップボードから取得した要素を、順番に辞書に渡しているのですが
「一番目、二番目」の順で渡したものが、「二番目、一番目」とひっくり返ったり
三つ渡すと「三番目、三番目、二番目」なんて順で保管されたりして、訳がわかりません
「辞書型オブジェクトには順序がありません」という話ではなくて
keyを使って取り出してみると整合してないのです

助言を頂ければありがたいです。
609デフォルトの名無しさん
垢版 |
2019/12/11(水) 09:07:29.80ID:ZT47FwY4
>>608
(続き)
(続き)
import win32com.client
import win32clipboard

def copy(text):
  win32clipboard.OpenClipboard()
  win32clipboard.EmptyClipboard()
  win32clipboard.SetClipboardText( text, win32clipboard.CF_UNICODETEXT )
  win32clipboard.CloseClipboard()

def paste():
  win32clipboard.OpenClipboard()
  data = win32clipboard.GetClipboardData(win32clipboard.CF_UNICODETEXT)
  win32clipboard.CloseClipboard()
  return data

oAutoIt = win32com.client.Dispatch("AutoItX3.Control")
#Windowsアプリケーションでカーソルを操作するためのAPIです
oAutoIt.WinActivate("とある請求書ソフトウェア - [xxx-xx-x.uqm]")
#APIは、とある請求書ソフトウェアが起動して、xxx-xx-x.uqmウィンドウが開くまで待機して、その後実行します
610デフォルトの名無しさん
垢版 |
2019/12/11(水) 09:08:21.34ID:ZT47FwY4
>>609
(続き)

dic = {}

oAutoIt.MouseClick("left",91,369,3)
oAutoIt.MouseClick("left",654,65,1)
#とある請求書ソフトウェアから"AAAAA"をコピーしてきます
dic ["key"] = paste()

oAutoIt.MouseClick("left",345,367,1)
oAutoIt.MouseClick("left",649,62,1)
#とある請求書ソフトウェアから"BBBBB"をコピーしてきます
dic ["key2"] = paste()

A = (dic["key"])
print(A)
B = (dic["key2"])
print(B)


#print結果
============RESTART============
>>>
BBBBB
AAAAA
>>>
2019/12/11(水) 09:33:54.19ID:cSF0k0t2
>>610
そのAPIは知らんけど、copy関数使われてなくない?
612デフォルトの名無しさん
垢版 |
2019/12/11(水) 09:40:31.18ID:ZT47FwY4
>>610
Windowsのクリップボードを監視した感触では、
とある請求書ソフトウェアからは、正しい順番でコピーされている様子です

ペースト関数を、一回しか使わない場合は、正常動作します。
素人ながら、なんか、定義済の変数に新しい値が代入されるとき
前後でメモリの処理がまずくなっているのかなと思いました
グローバル変数とかローカル変数とか、そっちの問題なんだろうかと、それらの勉強も始めましたが
まだまださっぱりわかりません

助言だけでもいただければありがたいです
613デフォルトの名無しさん
垢版 |
2019/12/11(水) 09:43:31.13ID:ZT47FwY4
>>611
そうですね。copy関数は使われてないですね
参考元では、copyとpasteがペアで表記されていたので
もしかして改善するときに必要になるかな?と思って、念のためにあげました
失礼しました
2019/12/11(水) 09:51:14.90ID:cSF0k0t2
>>613
copy関数使わないで、コピーはどうしてるの?
マウスクリックしかされてないみたいだけど。
想像だけど、copy関数使ってコピーしてそのままreturnしたら良いんじゃ無いの?
615デフォルトの名無しさん
垢版 |
2019/12/11(水) 09:58:47.72ID:ZT47FwY4
>614
copy関数使わないで、コピーはどうしてるの?

「とある請求書ソフトウェア」は、画面上に「COPY」というボタンがありまして
それを一回クリックしてます
するとWindowsのクリップボードに、テキストが入ってきます
2019/12/11(水) 10:12:58.03ID:Z8/OjH57
sleepないときつくない?
2019/12/11(水) 10:47:34.44ID:pFOdIusR
>>608
3.6までの辞書は
「とにかく出てくる順番はテキトー 気分次第」になるぞ。
keyがうんたらなんたらとかいうレベルではなく。

いやorこまるなら3.7系にするか
標準で装備されてるcollectionsモジュールの「OrderedDict」(これは2.7系から使える)を使う
2019/12/11(水) 10:48:31.78ID:ZT47FwY4
>>616
後出しですみません

import time
time.sleep(0.3)
#0.3〜3までいくつか検討

結果
time.sleep(3)
AAAAA

近くにある命令が辞書に入ってくる
不思議な現象が起きております
環境が悪いんですかね
2019/12/11(水) 10:50:17.51ID:b0NSAXs1
>>610
A = (dic["key"])
print(A)
B = (dic["key2"])
print(B)

これを、Ruby の式展開、JavaScript のテンプレート・リテラルみたいに、もっと分かりやすく書けないか?
puts "A の値は : #{ A }"

print結果が、単にタイミングの問題で、
後にprintされたものが、先に表示されているだけかも知れない
2019/12/11(水) 10:56:31.99ID:PLslpcOL
ループが理解できない(´;ω;`)
2019/12/11(水) 10:57:06.73ID:ZT47FwY4
>>617
いやいやいや
出てくる順番は適当で良いですけど

キーと一緒に代入した(つもり)要素が、別物になってたら困りますよね

それはそれでOrderedDict 調べてみます
2019/12/11(水) 11:01:37.93ID:ZT47FwY4
>>619
>これを、Ruby の式展開、JavaScript のテンプレート・リテラルみたいに、もっと分かりやすく書けないか?

すみません。今の私の技術では限界です
ソースにふりがなのついた参考書と、赤い表紙の本を手引きにしてるレベルです

>後にprintされたものが、先に表示されているだけかも知れない

探ってみます
2019/12/11(水) 11:17:42.24ID:pFOdIusR
>>620
ループといってもいろいろあるので
https://ja.wikipedia.org/wiki/%E3%83%AB%E3%83%BC%E3%83%97_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)
↑このへんから辿って勉強しる
2019/12/11(水) 11:18:43.26ID:pFOdIusR
>>618
環境か
メモリの壊れかけを疑う件
2019/12/11(水) 12:22:25.53ID:fWs5lM4b
>>618
sleepどこに書いたの?
MouseClickした後paste呼ぶ間に入れてみれ
マウスクリックで相手のソフト側がコピーするんだったら自動化してたとしても非同期なんだよ
2019/12/11(水) 12:29:51.76ID:pFOdIusR
>>625
横レスだけど
> マウスクリックで相手のソフト側がコピーするんだったら自動化してたとしても非同期
なるほどとってもなっとくっく
627デフォルトの名無しさん
垢版 |
2019/12/11(水) 12:44:29.61ID:8OP/pbId
dataの参照を取り出してるだけで
dataの中身を取り出してないから
printするときに逆になるんじゃね
知らんけど
2019/12/11(水) 12:48:31.95ID:ZT47FwY4
>>625
>sleepどこに書いたの?
>MouseClickした後paste呼ぶ間に入れてみれ

pasteの後に入れてました
1回目と2回目のコピペの間で、休ませれば正常動作するかな?と思いまして

そして、はー。これが正解でした
sleepの位置も大事なんですね
ありがとうございました

みなさんもありがとうございました
2019/12/11(水) 12:53:40.70ID:Z8/OjH57
AutoItからの移行組だと思ったけどあれじゃAutoItの時も動かないはずだが
2019/12/11(水) 15:59:30.28ID:PLslpcOL
https://ideone.com/qx5CEY
このコードの1つ目だと、1列目の行にしかアクセスできてないです
しかし、2つ目のようにarray[x][y]とすると、2つめの行までアクセスできています
しかし、yループは1度しか回していません

xを先に書くとxがyループの取り出しに使われるのですか?
631デフォルトの名無しさん
垢版 |
2019/12/11(水) 16:03:10.35ID:8OP/pbId
何を意図してるかにもよるが
縦(行)をyと考えてるなら
array[y][x] でアクセスするべき

君がやりたければ
array[x][y] でも構わないが
y は横(列)になるってだけ
2019/12/11(水) 16:08:47.02ID:H3x5MOt+
>>610
printデバッグとデバッガのステップ実行を使うといいよ
両方組み合わせればタイミングが原因かどうかはだいだい切り分けられる

今回の例ならpaste関数のreturnの前にprint(“paste data: ”, data)を入れて
dic[“key”] = paste()の直前か直後にブレイクポイントを設定してステップ実行する
2019/12/11(水) 16:10:35.08ID:cSF0k0t2
>>630
ループ以前に配列を理解していない。
2つ目のはy値はずっと0でx値は0,1と変化している。
print(array[0][0])、print(array[1][0])と実行していることになる。
2019/12/11(水) 16:19:15.69ID:H3x5MOt+
>>630
array = [ [1,2], [3,4] ]

このarrayは1つ目の要素が[1,2]、2つ目の要素が[3,4]
だからarray[0]は[1,2]で、array[1]は[3,4]

array[0][0]は[1,2]の1つ目の要素なので1
array[0][1]は[1,2]の2つ目の要素なので2

for y in range(10):とするとyという変数に
0から9まで(10は含まない)を代入しつつループの中の処理を実行する
ループ内でyを参照したらそのループ開始時に代入された値が入ってる
xやyじゃなくfor i in range(10)と書いても同じ
xやyに特別な意味があるわけじゃない
2019/12/11(水) 16:27:38.36ID:PLslpcOL
>>631
テトリスの作成で、配列の回転をしたかったんですよ
行は[1,2]を1行目、[3,4]を2行目と考えています
2019/12/11(水) 17:01:24.49ID:wQahrCJY
>>635
拾い物
https://pastebin.com/3kAeGTNV
2019/12/11(水) 18:26:22.83ID:BSd1dztf
さすがにOSアップデートしろよwww
そんな化石使ってる時点で話にならない
2019/12/12(木) 17:12:30.59ID:f967V2wE
x = [0,0.1,0.2,0.5,1,2,3]
y = [0.5,0.5,0.4,0.4,0.5,0.4,0.5]

このリストの数値を使ってmatplotlibで折れ線グラフを書きたいのですが、xの小数の値が偏ってしまい見づらくなってしまいます。
(0 0.1 0.2 0.5 1 2 3) ←x軸の数字がこのようになってしまう。
x軸を等間隔に表示させる書き方があれば教えていただけませんでしょうか。
x,yはそれぞれx軸、y軸にあてたい数字です。
2019/12/12(木) 17:14:40.82ID:f967V2wE
>>638
(0 0.1 0.2 0.5 1 2 3) ←x軸の数字がこのようになってしまう。
この行スペースが表示できませんでしたが、メモリの0~0.5までが寄ってて、1~3までが間隔空きすぎている。等間隔ではないってことを言いたかったです。
2019/12/12(木) 17:51:08.05ID:dyy25qsp
>>638-639
fig = plt.figure()
ax = fig.add_subplot(111)
#↑ここまでは適宜自分がやってるように読み替えれ
#↓目盛りの指示を好きなように出せる呪文。y軸の設定はset_yticksだ
ax.set_xticks([0, 1, 2, 3, 4])
2019/12/12(木) 18:11:33.19ID:n05Ewb3K
plt.plot(x, y)
plt.show()
で普通に等間隔のtickで表示される

plt.plot(x, y)
plt.xticks(x)
plt.show()
とかすれば等間隔じゃないtickで表示される
2019/12/12(木) 18:21:07.32ID:f967V2wE
>>640さん、>>641さん
ありがとうございます。お二人のようにそれぞれやってみましたが等間隔で表示できません…。
少数のところが偏って表示されてしまいます。

一応コード載せます
figure = plt.figure(figsize=(10, 5))
axis = figure.add_subplot(1, 1, 1)
plt.plot(x,y)
axis.set_xticks([0,0.1,0.2,0.5,1,2,3])

plt.show()
2019/12/12(木) 18:22:15.85ID:f967V2wE
すみません…。画像の乗せ方わからなかったので試しにかいてみたやつ消すのを忘れてました…!
644デフォルトの名無しさん
垢版 |
2019/12/12(木) 18:28:45.35ID:Lo+C9eAO
ネタじゃなくてマジ池沼さん?
2019/12/12(木) 18:32:25.07ID:n05Ewb3K
>>642
>axis.set_xticks([0,0.1,0.2,0.5,1,2,3])
↑等間隔じゃないtick設定しとるやーーん
2019/12/12(木) 18:42:20.58ID:f967V2wE
>>645
はい。もともと等間隔ではないものを等間隔に表示したいという質問でした。
関数の値(例えばx = 0.1ならy = 0.4)をグラフにしたいと思っていました。
xの値は0~1までは少数もとりますが、1からは整数しかとらないためにグラフにすると偏りが出て見づらくなってしまいます。
それを等間隔に表示できれば見やすいかなと思いました。
2019/12/12(木) 20:20:59.56ID:TAtdTKRF
yokokara
2019/12/12(木) 20:54:04.13ID:n05Ewb3K
>>646
そいうことだったのか

tickを等間隔な値にして、対応するラベルを設定したい等間隔じゃない値にする
んでplotするxの値をそれに対応するよう変換する必要があるんじゃないのかな
自動でやってくれる方法があるのかは知らない

plt.plot(range(len(x)), y)
plt.xticks(range(len(x)), x)
plt.show()
2019/12/12(木) 21:57:18.88ID:dyy25qsp
>>646
無理に時空を歪めるのは見る側のことを考えてないのでヤメレ

常識的な解決策としては
・対数グラフを使う
・一部(x=0から1の区間だけ)拡大図を
  範囲内のどっか空きスペースまたは別添えでつくる
2019/12/12(木) 22:46:47.08ID:f967V2wE
>>648
すごい!これできれいにグラフが出せました。本当にありがとうございます!
書き方に工夫が必要で、そういうのをぱっと思いつけるように勉強いたします。

>>649
関数のグラフではなくてxに対応するyの値(値がxのときの結果はこの数値)はこれですよっていうだけの折れ線グラフを出したかったのです。
ですから時空は大丈夫のはず…です。
対数グラフというものを知りませんでしたので調べてみます。ありがとうございます。
2019/12/12(木) 23:26:28.33ID:XBUUy+/0
いろいろな参考書で、辞書はKeyと値のペアで出来ていると理解しましたが

keyだけがあって、値が空のを作ってしまってはいかんのでしょうか?
652デフォルトの名無しさん
垢版 |
2019/12/12(木) 23:54:29.36ID:ZS52b4mm
from selenium import webdriver
browser = webdriver.Chrome('chromedriver.exe')
browser.get('https://qiita.com/advent-calendar/2016/crawler')

calendar = browser.find_elements_by_css_selector('div.col-sm-12')

for col_sm in calendar:
col_sms = col_sm.find_elements_by_css_selector('th.adventCalendarCalendar_dayName')
print(col_sms.text)

エラーが
---> 9 print(col_sms.text)
AttributeError: 'list' object has no attribute 'text'
と表示されます。textで出力できないのはなぜなんでしょうか?
色々調べているのですが出力方法がわかりません。
初歩的なことですみませんが教えていただけないでしょうか。
2019/12/12(木) 23:58:02.89ID:n05Ewb3K
>>651
setが辞書のキーだけを集めたコレクション
2019/12/13(金) 00:15:27.02ID:+9OE4qBy
>>652
ブラウザのコンソールからJS叩くかIPythonとかでデバッグするかして
そのCSSセレクタで意図した要素が取得できてるのか確かめるといい

ビジュアルに確認できるのでブラウザのほうが最初はわかりやすいと思う
655デフォルトの名無しさん
垢版 |
2019/12/13(金) 01:37:03.59ID:cqNP6rMk
>>654
ブラウザコンソール開いてみました。ブラウザコンソールについて調べてみたのですが
よくわかりませんでした。ここに何かのコードを入力するのでしょうか。
JSとはなんでしょうか?
Jupyter Notebookを使っていまして取得したいcol_smsには
<selenium.webdriver.remote.webelement.WebElement (session="667d743c5f872d23247665eb139f3bac", element="f43fbb00-654d-472f-b0f0-1b43973384b4")>
というようなものがいくつか入っているのですが、textを使っても出力されない状況です。
質問ばかりですみません。
2019/12/13(金) 02:19:41.88ID:VJl1Rt3v
普通に長さが1の配列が戻ってきてんじゃね
イテレーター使って.text使うかcol_sms[0].textでいいんじゃね

col_sm.find_elements_by_css_selector()の戻り値ggれば解決しそうな話
俺は面倒くさいのでggりませんけども…!
2019/12/13(金) 03:41:11.64ID:+9OE4qBy
>>655
JSはJavaScript
スクレイピングするならHTML/CSSと
JavaScript/DOM APIの基礎知識は必須

browser.find_elements_by_css_selector('div.col-sm-12') はJSで
document.querySelectorAll(‘div.col-sm-12’) とするのと同じ

find_element_by_css_selectorは最初に見つかった要素を返す
find_elements_by_css_selectorは要素のリストを返す
んでリストには’text’というAttributeはありませんよってエラーが出てるよね
658デフォルトの名無しさん
垢版 |
2019/12/13(金) 06:07:45.61ID:N3jObneI
Cython について
Cython の pyx ファイルの中に、
@cython.infer_types(True) とあるんだけど、
この@は何の働きをしているの?記法なの?
詳しい人教えて
2019/12/13(金) 10:39:13.33ID:A6tZ4ufL
>>652-657
Ruby, Selenium Webdriver なら、
find_element は最初の1つだけで、find_elements はすべてを取得する(配列)

css_selector では、div.col-sm-12 などの、
Bootstrap などのCSS フレームワークなどの、デザインを指定するクラスは、あまり意味がない

#main とか、div.container.adventCalendarCalendar とか、table.table とか、
HTML の構造的に、意味があるようなセレクターを指定する。
そうすれば、スマホ・PC などのデザインによって変わらない

css_selector = "#main > div.container.adventCalendarCalendar table.table > thead th.adventCalendarCalendar_dayName"

element = driver.find_element( :css, css_selector )
elements = driver.find_elements( :css, css_selector )

puts element.text, elements[ 0 ].text, elements.length

出力
Sun
Sun
7 (配列の要素数)
660デフォルトの名無しさん
垢版 |
2019/12/13(金) 11:17:38.66ID:V90d9jYd
小学生っぽい子供が混ざってるようだが
質問するときは相手に伝わるようにちゃんと考えた方が良い
技術力よりコミュニケーション力や日本語力を気にしろ
2019/12/13(金) 11:40:28.24ID:Mexu05AP
>>653
ちょっと難しかったです。
とりあえず辞書は、キーだけで値がなくても構わないと思うことにします
2019/12/13(金) 12:14:38.95ID:A6tZ4ufL
Ruby では、ハッシュのキーに値を設定しなければ、値がnil になる。
一方、存在しないキーの値を取得すると、nil になる

これでは両者の区別がつかなくなるので、デフォルト値を設定する。
そうすると、キーに値を設定しなければ、値がデフォルト値になる

バグを避けるためには、必ずキーに値を設定するか、デフォルト値を設定しておく
663デフォルトの名無しさん
垢版 |
2019/12/13(金) 12:38:34.35ID:ZbkO1X73
>>661
set(集合)とdict(辞書)は内部的にはそこそこ近いことをやってる
ハッシュテーブルを作って、keyのハッシュからvalueを見るのがdict。key(setにkeyって概念はないけど、便宜上)のハッシュを見て、key自体が 衝突 and 同じ内容が含まれてるか を見て、key自体を要素として扱うのがset。
setは本当に数学における集合と同じような動作をする(bitwise操作などができる)って認識しとけばおっけー
664デフォルトの名無しさん
垢版 |
2019/12/13(金) 12:41:27.69ID:ZbkO1X73
Rubyの話をしてる人が居るのは本当に謎だけど、Pythonでも
dict.get(key, default)
とすればdefaultを設定した上で値を取得できる。
あるいは、collections.defaultdictを使うのもあり
2019/12/13(金) 12:46:19.59ID:Mexu05AP
>>662-663
ありがとうございます
2019/12/13(金) 12:49:22.97ID:Mexu05AP
>>664
デフォルトを設定した辞書もあるのですね
ありがとうございます
2019/12/13(金) 13:41:19.76ID:+9OE4qBy
>>661
「キーだけで値が無い辞書」をどういう風に使いたいの?
2019/12/13(金) 15:24:58.53ID:yspevzV6
>>664
スレタイにRuby禁止って付けられるくらいに、スレ違いのRubyの話をしたがる頭のおかしい構ってちゃんが一人居ついているだけだからスルーしとけばいいよ
2019/12/13(金) 15:26:20.43ID:hzMr3/rM
>>667
とある請求書作成アプリのセルからテキストをコピーして辞書に格納してから、別アプリにペーストしたいのです
ケースによって空欄のセルもあるので、そのままで良かったのだろうかと考えてました
でもNoneを入れる事にしました
2019/12/13(金) 16:20:03.71ID:+9OE4qBy
>>669
なるほど
「キーに対応する値が無い」ケースをどう表現すべきかという話だったね

文字列の空欄を示す場合は一般的には空文字を使っておいたほうが
後でテキスト処理をする時にNoneのハンドリングが必要ないし
キー自体が存在してなくてNoneになるケースとの区別が付きやすくてベターだと思う
671デフォルトの名無しさん
垢版 |
2019/12/13(金) 18:47:08.49ID:cqNP6rMk
>>656-657-659
ご回答ありがとうございます。皆さまから教えていただいたことをできる限り試してみます。
2019/12/13(金) 18:53:53.21ID:Mu2dn80c
>>652
そのページそもそもdiv.col-sm-12の子孫にth.adventCalendarCalendar_dayNameが無い件
673デフォルトの名無しさん
垢版 |
2019/12/14(土) 00:53:34.54ID:28JG+Fsi
>>672
子孫など何か関係がないといけないのですね。入力をすればなんでも取得できると思っていました。
教えていただきありがとうございます。簡単なサイトを作れるぐらいのHTMLやCSSの基本をまずは覚えた方がいいんでしょうか...
2019/12/14(土) 09:57:24.53ID:YkKG/mMh
>>670
アドバイスありがとうございます

実は辞書を作る前工程で
Win32のクリップボード経由で、文字列を取得してくるプロセスがあったのですが

そこで自分が書いた関数だと、Winアプリが文字列が空だと、エラーになることに気がつきました

悩ましかったのですが、エラーになったらtry 〜exceptで
変数にNoneを入れることでしのぎました

text = “” だとデバッグで読むときよく分からなかったですし

ここは、何がベターなのかもう少し考えてみます
このスレのコメントは大変ためになります
2019/12/14(土) 10:57:58.37ID:oHNLq8G6
馬鹿には無理
676659
垢版 |
2019/12/14(土) 10:59:10.77ID:8NRAnTxB
>>673
web アプリの初心者は基本、サーバー側はRuby で、
クライアント側は、HTML, CSS/SASS, Bootstrap, JavaScript, jQuery などを使う

jQuery のCSS Selector のルールを学べばよい。
emmet も、似たようなもの

# はid で、. はクラスとか、
x > y なら子要素(子孫を含まない)で、x y なら子孫要素とか

それと、他人のHTML の解析は、基本無理。
クラスをどういう意味で使っているのか、分からないから

構造的な意味で使っているのか、単なるデザイン上のものなのか、
または、Bootstrap などのCSS フレームワークのルールなのかも知れないし、
他人の考えなど、分からない

col-sm-12 みたいに、small なら、12列分の幅を使うとか、
こういうデザイン上のものを、CSS Selectorに入れると、
ページのデザインが変わると、セレクトされなくなったりしてしまう

一方、構造的な意味は、変わりにくい
2019/12/14(土) 11:23:55.42ID:dDx9/YlQ
yokokara
678デフォルトの名無しさん
垢版 |
2019/12/14(土) 11:34:02.24ID:TlZt0bii
後ろから前から
679デフォルトの名無しさん
垢版 |
2019/12/14(土) 11:52:10.65ID:e26gFA86
アホな質問で申し訳ないが
class の、書き方について質問あります

Python がはじめてのプログラミング言語で
やっと手続き的な記述ではやりたいことが
できるようになってきた

オブジェクト指向理解してないのもあるかもだけど
ライブラリとか、フレームワークのclass をオーバーライドしてかく時に

self が乱立しまくってて、
効率わるいようなきがするのだけども
書き方があってるのか知りたい

現場エラー吐いてないから、いいかもしれないけど
マナーというか、お作法としてどうなんやろ?と

別途class つくったり関数作ったりするの?
2019/12/14(土) 14:32:25.78ID:tCtWHq2v
>>679
それは誰もが感じる疑問

Pythonではインスタンスメソッドとして扱いたいメソッドの第一引数にselfを渡して
明示的にselfを指定する以外にインスタンスメンバーを参照する方法はないので
オブジェクト指向的に書く場合はselfが乱立しまくるのが通常

”Explicit is better than implicit.”という苦しい言い訳をする人も多いけど
そんな高尚なものじゃなく単に言語の制約なのでPython使う限りは諦めて受け入れるしかない
2019/12/14(土) 16:23:05.11ID:8NRAnTxB
Ruby のクラスでは、引数にself を持ちまわらなくても、selfが使えるだろ。
それは、実装が大変

ユーザーの利便性を上げるために、実装で頑張った
682デフォルトの名無しさん
垢版 |
2019/12/14(土) 16:52:04.55ID:TlZt0bii
selfが嫌なら第一引数を@にすれば良いんだよ
@.hoge でアクセス出来るし便利だぞ
2019/12/14(土) 16:58:40.39ID:tCtWHq2v
>>681
実装は大変じゃないよ

そんな大変ならPython以外にも
1つくらいselfを要求するOO言語があってもいいよね
684デフォルトの名無しさん
垢版 |
2019/12/14(土) 17:15:21.14ID:TlZt0bii
最近はRustとかNimみたいに
第一引数.関数名(第二引数以降はカッコ内)
の様な文法が流行ってる
2019/12/14(土) 17:45:57.04ID:tCtWHq2v
>>684
もうそういう苦しい言い訳やめたほうがいいよ
RustやNimやGoはコンテキストが全く違うんだから

>>679
FAQも読むといいよ
https://docs.python.org/ja/3/faq/design.html#why-self
日本語訳おかしいから英語読めるなら原文のほうがおすすめ
2019/12/14(土) 18:17:59.35ID:zJmCdf+U
Pythonは変数のスコープもちょっと微妙なとこあるし、self必須とかはスコープに由来してるかわかんないけど、その辺は受け入れるしかないよね

その辺受け入れたとしても便利だからPython選んでるわけで

もちろん後方互換性を保ったまま改善できる言語変更があったら嬉しいけど

○○が変だからPythonは使えない、という人には他の言語もあるしね。
2019/12/14(土) 21:51:22.03ID:BIA5WTIR
テトリスってむずいすか(´・ω・`)
2019/12/14(土) 22:02:54.83ID:1E2rCKG0
>>687
ゲームを作りながら楽しく学べるPythonプログラミング
で題材になるぐらいには簡単(入門向け)
2019/12/14(土) 23:29:48.51ID:Ztjs0n6X
>>687
たぶんブロックの回転で行列がどうこう言ってた人かな?
テトリスは特段難しくはないんだけど、これまでのレスを見てるともっと基礎レベルから頑張った方が良さそう。
2019/12/15(日) 07:07:55.11ID:DnIG8IxI
今がんばってます(´・ω・`)ゲームつくりたいんで(´;
2019/12/15(日) 12:01:47.20ID:tER7UmuJ
この界隈だとがんばっちゃダメ
テトリスのコードを10くらい眺めて理解すればいい
692デフォルトの名無しさん
垢版 |
2019/12/15(日) 12:11:02.09ID:+1jKhtSK
>>676
詳しく教えていただきありがとうございます。
jQuery のCSS Selectorのルールなど見てみようと思います。
2019/12/15(日) 12:21:43.19ID:YeoWUmPH
>>691
どこで仕入れればいいの
2019/12/15(日) 15:30:08.19ID:GQ26ybwL
SQLite3で巨大なDBにデータを追加してcommitした時
動作としてはdbファイル全体が改めてディスクに書き込まれるのでしょうか
それとも変更した部分のみがディスクに書き込まれるのでしょうか

SDカード上にdbファイルを置いているため書き込み耐久が心配になり質問しました
2019/12/15(日) 15:53:14.71ID:goe0JUwd
>>694
普通は全書き込みだと思うんだが

そんなに消えて困るものならば
SDカードだったら
常時上書きのドラレコ突っ込みOKみたいな特上品使わないと
やばくね?
2019/12/15(日) 16:09:30.52ID:fGq+HT2S
ページ単位で管理されていて更新されたデータのあるページだけ書き込まれる。
2019/12/15(日) 19:58:47.04ID:tER7UmuJ
>>693
chromeかFireFoxのブラウザで「python tetris」と検索して出てきたものを上位から読む
2019/12/15(日) 23:09:27.37ID:fpSJINfx
>>694-696
ファイルシステムによる

Linux のext では、例えば、40KB のファイルは、4KB のページサイズでは、10ページある。
その5ページ目に、8KBのデータを追加したとすると、

追加された2ページ分は、11・12ページに書かれて、
1〜5, 11, 12, 6〜10 の順番に、リンクが張られる

この場合は、既存のページは、再配置されない。
次のページを示す、リンクのみが書き変わる。
つまり、5→11、11→12、12→6 を指す

でも、12ページ分48KBを超えると、管理方法が変わるから、
データの再配置が起きるかも知れない
2019/12/15(日) 23:47:23.79ID:YEGq3iyi
すいません。どなたか教えてください。

jupyter notebook にてpyperclip をインポートしようとしたところできなかったため、
anaconda prompt にてインストール試みました。

conda install pyperclip だと、公式サイトで探してね。的なエラーが出てきたため、
pip install pyperclip で試みたところインストールは完了したのですが、、、

やはりjupyter notebook上でインポートしようとすると、同様の見つかりませんエラーが返ってきます。。。
何が悪いのか、どこを見ればいいのかよくわかりません。。。

教えていただけると大変ありがたいです。。。
2019/12/16(月) 07:51:04.24ID:79yFDnLG
>>698
dbはふつうそんな追加の仕方はしない。
2019/12/16(月) 08:55:41.01ID:+69MK1pA
>>687
アルゴリズムはねちょねちょ考えるのが楽しそうだから、回転行列とか勉強しながらやってみ?
問題は表示とかキー入力をどうするかだと思うなぁ。
普通はpygameになっちゃうんだろうけど、tkinterとかPyQtやWx使うとたいへんですかね?
せっかくインタプリタ言語なんだからtubeの「小一時間で作ってみた」シリーズみたいに
テキストベースで気楽に作れるライブラリあると良いのにね。
2019/12/16(月) 08:57:09.75ID:Ugry/p2L
>>699
いまお使いの仮想環境名は把握してますか

conda list -n 仮想環境名 で
その環境を指定して、インストール済み一覧が表示されるから
それで分かるんじゃないでしょうか?
703デフォルトの名無しさん
垢版 |
2019/12/16(月) 12:37:42.94ID:0jmxiGrg
>>701
curses
ncurses
pdcurses
2019/12/16(月) 21:11:21.65ID:yUF0sPmO
>>702
レスありがとうございます!
仮想環境名を確認したところ 恐らくbaseで、モジュール一覧を確認するとpyperはインストールされてますよとの表示がありました。
(pyperがpyperclipを指すのかも不明の状態です。。。w)

仕組みがよくわかっていないため、とりあえずググって出てくるトラブルシュートを全て試そうと、
アナコンダナビゲーターのopenterminal でconda install jupyter を実行した後、
再びpip install pyperclip を試すと、完了しているはずがなぜかインストール開始に。。。
その後、jupyter でimport pyperclip 試すもやはりエラー
PC再起動後、jupyter 上でpip install が実行できるとの情報を得、pyperclipをインストール試みると、すでに完了してますよとのメッセージ
その後jupyter上で import pyperclipがエラーを吐き出さないこと確認しました。

恐らく
>アナコンダナビゲーターのopenterminal でconda install jupyter を実行した後、
>再びpip install pyperclip を試すと、完了しているはずが、なぜかインストール開始に。。。
この辺がキモだったんだと思いますが、よくわかってませんw
プログラミングってそれ自体もそうだし、環境構築も奥が深いんですね。。。。

改めてアドバイスありがとうございました(^^)
2019/12/16(月) 21:11:27.79ID:yUF0sPmO
>>702
レスありがとうございます!
仮想環境名を確認したところ 恐らくbaseで、モジュール一覧を確認するとpyperはインストールされてますよとの表示がありました。
(pyperがpyperclipを指すのかも不明の状態です。。。w)

仕組みがよくわかっていないため、とりあえずググって出てくるトラブルシュートを全て試そうと、
アナコンダナビゲーターのopenterminal でconda install jupyter を実行した後、
再びpip install pyperclip を試すと、完了しているはずがなぜかインストール開始に。。。
その後、jupyter でimport pyperclip 試すもやはりエラー
PC再起動後、jupyter 上でpip install が実行できるとの情報を得、pyperclipをインストール試みると、すでに完了してますよとのメッセージ
その後jupyter上で import pyperclipがエラーを吐き出さないこと確認しました。

恐らく
>アナコンダナビゲーターのopenterminal でconda install jupyter を実行した後、
>再びpip install pyperclip を試すと、完了しているはずが、なぜかインストール開始に。。。
この辺がキモだったんだと思いますが、よくわかってませんw
プログラミングってそれ自体もそうだし、環境構築も奥が深いんですね。。。。

改めてアドバイスありがとうございました(^^)
2019/12/16(月) 21:30:31.84ID:ZGRHc5ZN
yokokara
2019/12/16(月) 23:12:57.95ID:levX/ad3
yokokara連呼厨子ね
2019/12/17(火) 05:54:50.47ID:eGUcswGM
conda, pip とか、異なるパッケージマネージャー(PM) を同時に使えるのかな?
それらは、同じデータベース(DB)に、各パッケージの依存関係を記録しているのか?

例えば、node.js をインストールしておいてから、
yarn を、npm を使わずに、
OS に直接または、OSに入れている、Homebrew, Chocolatey などのPMを使って、インストールすることはある

大きな括りでは、異なるPMを使うことはあるけど、
各モジュールのような小さいライブラリを、異なるPMで管理する事は、あるのかな?

片方のPMの依存関係DBが更新されても、もう一方のDBが更新されるのか?

yarnのように、処理が異なるだけで、npmと同じ依存関係DBを使っているのなら、
npm/yarnは、同一のDBを参照するけど

これと同じで、pip/condaは、同一のDBを参照しているのか?
709デフォルトの名無しさん
垢版 |
2019/12/17(火) 08:18:13.44ID:dA33S95E
pythonでWindowsGUIアプリの自動化をやらせたいいんだけど。
(例えば、了解ボタンクリックとかメニューの選択等)
大概の場合、PyAutoGUIで座標クリックにいきつくんですが、座標クリックだとウィンドウの大きさとか
動かなくなるときの考慮てどうするんですか。
2019/12/17(火) 09:45:31.97ID:QqOdTjZG
>>709
>大概の場合、PyAutoGUIで座標クリックにいきつくんですが、座標クリックだとウィンドウの大きさとか

PyAutoGUIでなくて申し訳ないが
私はそういう事で困る事の少ないAutoITXを使っている
座標系のマウスクリックだけじゃなくて、
アプリやウィンドウ、ダイアログの名前を判断して、指定したダイアログにある「了解」というボタンを押す
なんて命令が使えるから
2019/12/17(火) 09:54:50.75ID:OaYPHXYM
知恵袋でテトリスの回転のコードをもらったのですが、
https://ideone.com/2j9PhQ
このコードの内包表記の部分がよく分かりません(tmpのとこです)


この部分をもう少し一般的な書き方はできないでしょうか?
2019/12/17(火) 10:18:22.18ID:QqOdTjZG
質問です。python2.7.1 windowsです

リストを作りました
list = [“left” , 1 , 2, 3, “num_a1”]
要素は5個です

関数を作りまして、引数を5個にしました
関数にリストを読み込ませたら、無事に動きました

次に要素を15個に増やして
関数に、先頭から5個ずつ読み込ませて
3回、関数に仕事をさせたいと思います

リストは二次元配列にしようと思います

ばくぜんと、forを使うのだろうということは分かるのですが
ググっても類似のソースを見つけられず、悩んでます

気軽に「こんな手法があるよ」程度で、レスをつけてもらえればありがたいです
2019/12/17(火) 10:21:32.79ID:qeIaMe/y
自身の脳みそを一般的な水準にまで引き上げた方が早い
2019/12/17(火) 10:23:25.96ID:4rBcrl8A
AutoITは遅くてやめてpyautoguiはインポートするだけでDPIのスケーリング変わっちゃうから
Win32guiとctypesで全部書いて行った
2019/12/17(火) 10:27:52.81ID:GwugB5zt
>>711
お前、色んなとこで質問してコード継ぎ接ぎしてるだけだろ?
プログラミング向いてないからやめとけ。
2019/12/17(火) 10:29:46.26ID:qeIaMe/y
teratailの虐殺君じゃね?
2019/12/17(火) 10:47:25.74ID:sELGcuhs
大層な名前の割にしょぼそう
2019/12/17(火) 11:06:24.34ID:OaYPHXYM
>>715
わからないから質問して何が悪いのだろうか
2019/12/17(火) 11:32:25.65ID:GwugB5zt
>>718
ばかなの?

> お前、色んなとこで質問してコード継ぎ接ぎしてるだけだろ?
> プログラミング向いてないからやめとけ。

ただ向いてないだけ。
2019/12/17(火) 11:43:42.66ID:6LhBKKEf
>>718
質問すること自体は悪くはないが、自分の現在のレベルを自覚して目標を定めた方がいいぞ。
まずはテトリスは遠い未来の話にして、入門書を一から頑張れ。
連立方程式が分かりませんというから解説したら、九々ができないレベルでした、って状態だから、まずは九々を身に付けよう。
今理解できないレベルの問題を相手を変えて、説明の方法を変えてもらっても、理解できないことに変わりはない。相手に手間をかけさせるだけだし、君自身も前進せずに同じところをグルグルしてるだけだろう。
721デフォルトの名無しさん
垢版 |
2019/12/17(火) 12:13:38.61ID:rApV4krM
>>708
両方使ってるけど問題無い
先に conda の方使って conda に無ければ pip 使ってる
2019/12/17(火) 14:04:39.73ID:Ef4LKPDY
>>712
チュートリアルを一通りやってから出直そうか
チュートリアルで理解できないところがあったらそれを質問したらいい
https://docs.python.org/ja/2.7/tutorial/

今の段階でググって類似のソースを見つけようとするのは無駄どころか害でしかないよ
723デフォルトの名無しさん
垢版 |
2019/12/17(火) 14:11:37.23ID:rApV4krM
>>712
http://codepad.org/jnBqqX9F
2019/12/17(火) 14:14:27.53ID:q5RkcH8n
visualstudioでc#使ってるときのように、インテリセンスが働いて、なおかつスペースとかを教典通りに調整してくれるテキストエディタありませんか?
2019/12/17(火) 14:16:09.48ID:q5RkcH8n
vs→vcに乗り換えてインテリセンスが働くようになったのは良かったんですが、スペース入れるbekiどうかで悩んだり、そこに脳のメモリ取られるのがうっとうしい。。。
2019/12/17(火) 14:18:53.50ID:Ef4LKPDY
>>711

block = [ [11,12,13,14],
[15,16,17,18],
[19,20,21,22],
[23,24,25,26] ]

def rot():
____tmp = [[x for x in y] for y in block] # listのlistを一時用に作る

これはおちょくられてるのかもな
不必要なコードだけどリスト内包表記はPythonの基本なので理解する努力をしよう
2019/12/17(火) 14:29:57.73ID:QqOdTjZG
>>722
ありがとうございます
単にコピペで貼り合わせて動くものを作るにとどまらず
なぜ動くのかを理解しながら、参考資料にあたりたいと思います


>>723
ありがとうございます

実は調べてるうちに、chunkなる単語を知りまして
やりたかったことは、これだったんだと思ったと同時に
活路が開けたといいますか、学習が進みました
ヒントのソースありがとうございました
2019/12/17(火) 20:48:36.49ID:eGUcswGM
テトリスなんて、10年以上やってる香具師でも、簡単に作れない

Java 土方で有名なベテラン、T Umezawa の動画を見てみ。
こんな、神レベルの達人でも、タイルが壁にめり込んだりして、簡単には作れない!

落ち物パズルゲームのプログラミング解説 1/2
https://www.youtube.com/watch?v=iyMMaQWlF_0

素人が作るのは、10年以上早いw

作ったと言ってる香具師は、作っていない。
コピペしただけw
2019/12/17(火) 20:52:54.24ID:CYemexLv
お前の頭が悪いだけ
730デフォルトの名無しさん
垢版 |
2019/12/17(火) 23:11:25.06ID:8Os966QG
みんながんば!
2019/12/18(水) 00:22:03.39ID:Z6EQDlLl
Java土方で設計力もテスト設計力もないから書けないだけじゃないの

小学生の頃BASICのテトリスのコードの量見て難しいと思った記憶があるけど、今ならどんな言語でも書ける自信があるぞ

今のPCパワーで高速化とか考えなくていいなら愚直に書くだけだろう
2019/12/18(水) 01:38:39.95ID:N9ghlCsW
ブロック?じゃなく行列をなんで回転させようとするんだろう?
全く理解できない感覚なんだけど
733デフォルトの名無しさん
垢版 |
2019/12/18(水) 05:13:33.26ID:YyMc+ouu
a = ['01','03','05']
b = ['02','04','06']

ていう配列があって、それをforで回すんだけど。
for x,y in zip(a,b):
print(x,":",y)

1個飛ばしでstepさせることでてきますか?
マトモな言語ならfor i=0 to a.length step 1とかできるのに。
2019/12/18(水) 07:14:26.22ID:Qufxt8uf
>>733
自分の無知により自分の思うようにいかないからといって、マトモでないという思考はやめた方がいいぞ
2019/12/18(水) 08:09:09.35ID:ZgzG2chb
今時lengthだってw
原始人かよ
2019/12/18(水) 08:16:02.71ID:4Fp+UrW3
for x,y in list(zip(a,b))[0::2]:
print(x,":",y)
2019/12/18(水) 08:37:40.12ID:4Fp+UrW3
for i=0 to a.length step 1
をPyで使うなら、
for i in range(0, len(a), 2):
print(a[i],":",b[i])
な気がするが。
で、>>733はなんでzipを使うんだろ
2019/12/18(水) 09:26:00.82ID:NtHwU1Mj
for left in zip(*pos[::-1]:
とかで使ってるけどzip何なのか調べてないしちゃんと動いてるからいいや
739728
垢版 |
2019/12/18(水) 11:59:08.76ID:j3JURanB
>>731
T Umezawa は、Java, C#, C++ とか何の言語でも、
入力補完を使わずに、メモ帳にすごい勢いで書くだろw

土方を極めた、神としか思えないw

>>732
テトリスのすべてのブロックは、4×4 マスに納まる

キー操作による回転に、対応させないといけない。
90度左回転・右回転とか
740デフォルトの名無しさん
垢版 |
2019/12/18(水) 12:02:31.23ID:RQBBPl9v
造りたい言い始めてから何日かかってんだ
書き込む暇あったらさっさと造れ
一日もあったら出来るだろ
2019/12/18(水) 12:03:17.83ID:NtHwU1Mj
回転いらない1x1ブロックのテトリスつくったら?
2019/12/18(水) 12:08:51.54ID:vQ0YSRP4
>>741
あーこれいいね。絶対に伝わらない良アドバイスw
2019/12/18(水) 12:11:56.37ID:CFyyhfVu
面倒くせーから早く自殺しろ
2019/12/18(水) 13:39:56.45ID:N9ghlCsW
>>733
無理して使いにくい言語を使わなくても
マトモだと思う言語を使ったほうがいいと思うよ
皮肉じゃなく割とマジで

pythonでstep指定する時はslice/isliceを使う
は? slice? ってなっても我慢すること
pythonはそういう言語だから

for x, y in islice(zip(a, b), 0, None, 2):
____print(x, y)
2019/12/18(水) 14:00:04.04ID:N9ghlCsW
>>739
>テトリスのすべてのブロックは、4×4 マスに納まる

4x4マスに収まるからといってブロックを4x4の行列で管理するメリットって何かあるの?
viewとmodelの分離ができてないとしても
ブロックを行列で表現してそれを直接回転させようという発想になる理由に興味ある
2019/12/18(水) 14:05:40.87ID:j0+9FDxC
ていうかこのテトリス奴って一年くらい前にも同じレベルのレスしてなかったっけ?
747デフォルトの名無しさん
垢版 |
2019/12/18(水) 14:08:54.50ID:gHFmoE9o
一個飛ばしってただ単にこういうことじゃなくて?

>>> for n, m in zip(a[::2], b[::2]):
print(n, ':', m)


01 : 02
05 : 06

何をもめてるのかわからん
2019/12/18(水) 17:05:42.74ID:ZgzG2chb
>>746
10年前もテトリスの話をしてただろう
2019/12/18(水) 18:54:15.48ID:rPZysOi9
global宣言って何となく行儀が良くないような気がするのですが、上級者の方でも結構使いますか?
2019/12/18(水) 19:04:37.86ID:YQOjezK4
グローバル変数自体はPythonなら普通に使うけど、global宣言はほとんど使わない
しょっちゅう細かい粒度でグローバル変数を更新するようなことをするとスパゲッティ化しやすい
2019/12/18(水) 20:16:50.10ID:Kq662flJ
nonlocalならまあ、というかよく使う
globalはつかったことがない
752728
垢版 |
2019/12/18(水) 23:13:47.41ID:j3JURanB
>>745
各ブロックの回転パターンは、4つあるから、
ブロックを行列で表現して、それを直接回転させれば、1つで済む

行列の回転なら、動きがおかしくても、回転計算の部分だけを直せばよいけど、
4つのパターンを作っていると、それらのパターンを直接直さないといけないから、大変
2019/12/19(木) 00:00:42.47ID:snKgfw1x
>>752
回転軸とか壁や設置済みブロックで回転が制限されるケースを考えると
単純な行列回転じゃ無理だし1つの処理でも済むこともないよ
そもそも4x4の行列だとI型のブロック回転させるだけで上下に動いちゃうよ

普通にブロックの型、基準となる座標、向きをモデルとして管理して
描画ロジックとは分けたほうがいい
754デフォルトの名無しさん
垢版 |
2019/12/19(木) 01:26:15.66ID:qED21Kil
俺もテトリス作ろうしたことあったけど思ったよりややこしくて放置してるわ…
2019/12/19(木) 08:02:37.49ID:0eo+DnKB
専門学校のコンピュータ・アニメ・ゲーム科卒から数年経ってプログラマーを目指したくなった者なんですがやっぱり未経験者は四年制大学の新卒しか採用されませんか?
やりたい事はAIのプログラミングです
言語はPythonを覚え中です
2019/12/19(木) 08:11:07.93ID:EV4M7jYb
単純に需要による
アンドロイドプログラミングとかなら今は需要の割にクッソ人が少ないから
kotlin使えたら未経験だろうが就職できる可能性は比較的高い

一方pythonのほうはこれからどうなるかは分からないが
日本では現状深層学習用などの学問用言語で 実務に使っているところはあまりない
ということはつまりpythonでAIやっていくには大学で専攻したような専門知識を持った人たちに
対抗しなくちゃいけないわけで ちと難しいんじゃないか?
2019/12/19(木) 08:17:46.98ID:0eo+DnKB
>>756
わかりました
Kotlinにします
2019/12/19(木) 08:21:14.74ID:0eo+DnKB
早速ポチってきました!
作って楽しむプログラミング Androidアプリ超入門―Android Studio3.3 &Kotlin1.3で学ぶはじめてのスマホアプリ作成
2019/12/19(木) 09:36:46.63ID:Ez8BH22g
辞書で特定の単語を含むキーをワイルドカードで検索し
ヒットしたキーに対応している値を抽出したいのですが
辞書に正規表現検索を行うのはできないのでしょうか

プリミティブでは難しいでしょうか
760デフォルトの名無しさん
垢版 |
2019/12/19(木) 10:09:48.45ID:xAWELgvD
はい
761デフォルトの名無しさん
垢版 |
2019/12/19(木) 10:49:12.14ID:Crw8oya5
容易い
2019/12/19(木) 12:27:41.62ID:dMnFAlGo
Ruby では、正規表現のunion で「または」の正規表現を作ることができる。
その辞書の値を、gsub に渡すことで置換できる

hash = { 'ab' => 'あ', 'xy' => 'ん' }

p re = Regexp.union( hash.keys ) #=> /ab|xy/

p "9xy9ab9xyx".gsub( re, hash )
#=> 9ん9あ9んx
2019/12/19(木) 13:18:16.88ID:9Fgp9NK8
内包表記を使えば一瞬で解決する
764デフォルトの名無しさん
垢版 |
2019/12/19(木) 14:15:27.95ID:+cpLTGtZ
>>755
君がやるべきことは高校を卒業することだ
2019/12/19(木) 14:51:01.29ID:snKgfw1x
>>759
filter()かリスト内包表記
頻出パターン

foo = {"aaa.py": 1, "bbb.py": 2, "ccc.csv": 3, "ddd.txt": 4}
[value for key, value in foo.items() if ".py" in key]
Out: [1, 2]

条件が複雑ならifのところで正規表現や関数使ってもいい
2019/12/19(木) 15:36:09.20ID:Ez8BH22g
ありがとうございます。参考になります
2019/12/19(木) 18:28:38.99ID:V/5EkM6t
機械学習する時、anacondaでpipを使っています
何故、condaを使わないのでしょうか?
2019/12/19(木) 18:37:09.73ID:V/5EkM6t
× 機械学習する時、anacondaでpipを使っています
〇 機械学習する時、色々なサイトを見てみると大抵、anacondaでpipを使っています
2019/12/19(木) 19:19:08.89ID:PZllcG7i
そのサイトの記事を書いた人もまたどこかからコピペしてるからだよ
Anacondaがないと何もできないレベルの人が自分で一時情報源に当たって問題解決なんてできるわけないだろ?
そうやって元を辿っていくと、Anacondaを必要としないレベルの人に行き着く
2019/12/19(木) 19:30:49.49ID:V/5EkM6t
>>769
へぇー、結構適当な理由なんですねw
thank you
2019/12/19(木) 20:35:05.08ID:ZdWBIW9y
>>750
>>751
ありがとうございます
globalもnonlocalも設定値みたいに使ってglobal変数自体は更新しない場合が多いってことですか?

多少無理してでも引数と返り値でやりくりした方が見栄え良さそうですね
2019/12/19(木) 20:52:51.96ID:igx1CkSL
プロパティの勉強中

class Goods:
def __init__(self, name, price):
self.__data = {"name":name, "price":price}

def get_name(self):
return self.__data["name"]

def ste_name(self, value):
self.__data["name"] = value

def get_price(self):
price = self.__data["price"]
price__str = f"{price:,}円"
return price_str

name = property(get_name, ste_name)
price = property(get_price)


from goods_property import Goods
food = Goods("pizza",200)
print(food.name)    #1
food.name = "humberger"
print(food.name)    #2
food.price = 100
print(food.price)
2019/12/19(木) 20:54:02.72ID:igx1CkSL
#1で

Exception has occurred: AttributeError
'Goods' object has no attribute 'name'

ってなるのではなんで???
#2はOKなのに、initでデータ入ってないってこと?
2019/12/19(木) 21:28:47.05ID:xPsWnlhM
>>773
実行していないが
>food.price = 100
ではエラーになると思うが、nameのgetter、setterではエラーにならないんじゃないか
あと、setをsteにするってなんかの教えによるのか
775デフォルトの名無しさん
垢版 |
2019/12/19(木) 21:32:21.97ID:Crw8oya5
>>772
https://ideone.com/
に貼ってきて
2019/12/19(木) 21:44:29.89ID:igx1CkSL
>>775
https://ideone.com/kLRY44
これでOkでしょうか?
2019/12/19(木) 21:45:21.51ID:igx1CkSL
>>774
すいませんsteは自分で吹きました。。。
2019/12/19(木) 21:50:51.31ID:snKgfw1x
>>773
#2の直前の
foo.name = “humberger”
でfooにnameっていう変数を新しく追加してそれに”humberger”を代入してるから#2はエラーにならない

__init__で
self.name = name
self.price = price
ってやってればfooにはnameが#1の段階で存在するから#1もエラーにならない
779デフォルトの名無しさん
垢版 |
2019/12/19(木) 22:17:22.66ID:Crw8oya5
>>776
File "prog.py", line 13
price__str = f"{price:,}円"
^
SyntaxError: invalid syntax

>Exception has occurred: AttributeError
>'Goods' object has no attribute 'name'
再現できるコード貼ってくほしい
780デフォルトの名無しさん
垢版 |
2019/12/19(木) 22:19:55.36ID:Crw8oya5
https://ideone.com/MhxdDj
2019/12/19(木) 22:24:13.55ID:snKgfw1x
>>778
すまん、↓これ見落としてたわ
name = property(get_name, ste_name)
price = property(get_price)
2019/12/19(木) 22:33:20.61ID:snKgfw1x
インデントがあってればエラーにはならないね
2019/12/19(木) 22:43:58.50ID:igx1CkSL
>>778
本当だ・・・。
というか教科書の教材を打ち込んでただけなのですが、教科書自体間違ってるのか・・・。
1時間悩んだのが何だったのか・・・。

ありがとうございます。すっきりしました。
2019/12/19(木) 22:47:34.16ID:igx1CkSL
>>782
あれ・・・。

name = property(get_name, ste_name)
price = property(get_price)

のインデントってdef 〜と同じところではダメなのでしょうか?
2019/12/19(木) 22:49:21.05ID:igx1CkSL
よくわからなくなってきた。
properyは初期化には関わらないからinitで代入する
self.name = name
self.price = price
が必要って理解でいいのでしょうか?
786デフォルトの名無しさん
垢版 |
2019/12/19(木) 23:05:38.53ID:GR6pg+Yh
socket通信で送った文字列を、Pythonで受け取ってexecするプログラムを作りたいのですが
空いているポートにセキュリティ上の問題が発生してしまいます
セキュリティ問題を回避する方法ってないですか?
2019/12/19(木) 23:24:54.23ID:68JQcBLU
>>771
個人的にだけど…
globalは宣言もしないし値を使うだけってのもまずやらない
nonlocalは宣言するからには更新するし使うだけってのもバンバンやる
nonlocal宣言するのはGUI部分のみだけど
変数使うだけの方は100行の関数を10行単位の細切れにして引数は渡さないとかそんな感じ
2019/12/19(木) 23:49:48.18ID:4y7SvWFf
すいません質問なんですが
配列の中のものを交互に2つの処理をするにはどうしたらいいのでしょうか?

a=[0,1,2,3,4]という配列があるとして
0と2と4には5をかけて
1と3には2をたすとかどうしたら良いのでしょうか?
2019/12/19(木) 23:51:10.25ID:snKgfw1x
>>783

>>778に書いたことは一旦忘れてくれ
property()で設定してるのを見落としてたから

インデントが間違ってるってのは
get_name()や name = property(…)が
みんなdef __init__の中に定義されてるところ
790デフォルトの名無しさん
垢版 |
2019/12/20(金) 00:11:32.82ID:N19Ct9QI
>>788
これでできます
a=[0,1,2,3,4]
for i,number in enumerate(a):#enumrateでaの要素をnumberに入れる、要素番号をiに入れる
if number % 2 == 0:#numberを2で割った余りが0だった場合
  a[i]= a[i] * 5
else:
  a[i]= a[i] + 2
print(a)
2019/12/20(金) 00:26:29.96ID:aoxL/sZJ
>>780
それを修正したが、AttributeError なんででるかわからんな
https://ideone.com/dyL8m9
2019/12/20(金) 00:33:50.20ID:mwn52mbA
>>790
ありがとうございます
a[0::2]とか使うとforが二個できてカッコ悪いなあと悩んでました
助かります!、
2019/12/20(金) 00:56:22.82ID:LtdBIlOX
>>790
>if number % 2 == 0:
交互に処理したいなら if i % 2 == 0: じゃないかな
794デフォルトの名無しさん
垢版 |
2019/12/20(金) 09:41:12.09ID:N19Ct9QI
>>793
たしかに
見落としてた
2019/12/20(金) 12:09:16.88ID:c7XoinxY
>>764
もうPythonはあきらめました
2019/12/20(金) 13:05:32.03ID:qS4WQ1Uv
python2.7
windowsのアプリケーションからクリップボード経由で手にいれた文字列

“内閣総理大臣賞受賞”
を変数mymarkに入れておいて

u’総理’ in mymark

と演算子inで調べると、総理は存在するはずなのにFalseを返されます

右も左もソースに自分で打ち込んだ場合は正常なので
win経由のものはどこかでエンコードがおかしくなってるのではないかと思います

以下は調べてみました
type #右も左も<type ‘unicode’>
len(mymark) #9
内閣総理大臣賞受賞、で9文字ですね

len (u’総理’) #6
・これがどうして6になるのかよく分からない
2019/12/20(金) 13:20:02.56ID:L1XL0AeX
len(u'総理')の長さが6になるのは
多分python2では文字の長さを「文字列全体の容量 / 1文字の容量」で計算してるから
日本語などのマルチバイト文字だと実際の文字列の長さより長くなるんだろうなってことは分かる
(python3では普通に文字列の長さが表示された)

内閣総理大臣賞だけ9文字という正確な値になってるのはよくわからない
自分の調べたpython2環境ではlen("内閣総理大臣賞")で27になっていたが
2019/12/20(金) 13:26:15.19ID:qS4WQ1Uv
>>797
そうなんですか
じゃあ数があわないから、ここに問題が!と思いましたが
そうではないかも知れないのですね
2019/12/20(金) 13:28:24.35ID:A+TGdcd9
Ruby なら、powershell, clip コマンドを使って、
Windows のクリップボード処理もできる

Windows(CP932でin) → Ruby内部(utf8 で処理する) → Windows(CP932でout)

# frozen_string_literal: true

# クリップボード内の複数行文字列の、各行の先頭・末尾から、
# 連続する空白類を除去して、クリップボードに入れる

str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換

ary = str.each_line.map( &:strip ) # 連続する空白類を除去する

IO.popen( 'clip', 'w:cp932' ) do | clip | # CP932 へ戻す
clip.print( ary.join "\n" )
end
2019/12/20(金) 13:31:51.35ID:lig6lPK8
mymark = '内閣総理大臣賞受賞'
だと、18文字
mymark = u'内閣総理大臣賞受賞'
mymark = '内閣総理大臣賞受賞'.decode('cp932')
だと、9文字

最初のmymarkをユニコード文字列にデコードしておけばエラーは出ないね。

2.xのお作法、なんかいろいろ忘れてしまってる。
print()で怒られてしまったw
2019/12/20(金) 13:42:46.09ID:lig6lPK8
あと、
len(u'総理')
はちゃんと2になるよ。
python 2.7.17 @Windows10
2019/12/20(金) 15:26:09.89ID:qS4WQ1Uv
ありがとうございます
プログラムにして動かしてるもの(だが動かない)
があるのですが

右側、mymark に .decode(utf-8)を付けると
UnicodeEncodeError: ‘ascii’が出て

右側、mymarkには何もつけずに
左側(u’総理’)にするとエラーは出ないけれど、in演算子が動かない

試しに左側の総理から、uを取ってしまうと
こんどはUnicodeDecodeError:’ascii’が出るんですね
かなり悩ましいです

別のマシンにpython3環境を構築して、そっちに移植してどうなるか試してみます
803デフォルトの名無しさん
垢版 |
2019/12/20(金) 16:48:06.47ID:VlcbOuJw
馬鹿には無理
2019/12/20(金) 17:40:34.24ID:lig6lPK8
>>802
decode() の中のコードページはクォートで囲わないとだめだよ
2019/12/20(金) 18:07:44.29ID:LtdBIlOX
>>796
>右も左も

右とか左の意味がわからない
「A in B」のAを左、Bを右と呼んでる?
2019/12/20(金) 21:06:36.63ID:ITSL0wmI
全角文字列に対してIF処理を入れたいのですが、何で判別すれば良いですか?

検索対象の文字コードはutf8で、
漢字、ひらがな、カタカナ、全角英数を含む可変長の文字列が対象です。
2019/12/20(金) 21:41:38.87ID:LtdBIlOX
if "バカ" in "バカボン":
___print(True)

True
2019/12/20(金) 23:48:14.57ID:c7XoinxY
Pythonは才能が必要
2019/12/21(土) 00:02:01.64ID:k+w4ikT0
>>808
別スレでpythonやめてkotlinやるって言ってた人か?きっとすぐに同じことを言い出すぞ。
入門レベルで必要なのは才能なんかじゃなく、ごく普通レベルの根気と理解力だけだぞ。才能がどうこう言うような段階まで到達してもいないだろう。
810デフォルトの名無しさん
垢版 |
2019/12/21(土) 00:11:47.62ID:LfWR8zZ0
プログラミングってそんな大層なことなのか…?
2019/12/21(土) 00:25:48.14ID:RZ7OoAF7
>>809
他の言語はともかくPythonは持って生まれた才能が無い人には無理だろ
10年かかってもできないはず
人生を棒に振るぐらいなら簡単な言語を一生懸命やったほうがお得
2019/12/21(土) 00:27:14.39ID:kL8tLCEf
Pythonは人を選ぶからなぁ
IQは最低でも120ぐらいはないと難しいかと
2019/12/21(土) 00:28:58.20ID:QVJGN34P
>>810
ダニング=クルーガー効果だなw
2019/12/21(土) 00:36:18.17ID:GTCnNgdl
Python習得は大学の受験勉強より時間がかかるのは確か
2019/12/21(土) 00:38:37.92ID:kL8tLCEf
まぁ、数学(とくに関数と微分積分)を完全にマスターして更にそれらを応用させる能力が必要だからな
まず凡人には努力だけでは習得不可能な言語
816デフォルトの名無しさん
垢版 |
2019/12/21(土) 00:39:35.09ID:LfWR8zZ0
関数を完全にマスターってなに?笑
こわい
2019/12/21(土) 00:40:21.73ID:sX1zkF8/
これを小学校のカリキュラムに入れようってんだからなwww
まさに落ちこぼれ量産機www
本当は他のプログラミングができそうな子供達まで絶望させる
2019/12/21(土) 00:41:11.60ID:kL8tLCEf
>>816
AIの開発に必須
2019/12/21(土) 00:42:17.07ID:AjLe2FOg
プログラミングを知らない初心者に勧めてはいけない超難解言語
2019/12/21(土) 00:43:21.62ID:kL8tLCEf
まぁ、すすめるすすめないは自由だがすすめられたほうは挫折するだろうな
2019/12/21(土) 00:46:24.32ID:qQwAhvsi
ふつうプログラミングを覚えるということはルールを覚えるという事なんだがPythonは...
(^_^;)
2019/12/21(土) 00:48:48.28ID:k+w4ikT0
>>815
数学は単にpythonを使う応用分野の一つというだけで、言語としてのpythonの習得とは独立した話だろw
日本語を習得するというときに、数学や物理の論文を読み書きする能力まで求める奴はいないだろう。
2019/12/21(土) 00:50:58.54ID:QVJGN34P
ダニング=クルーガー直後の「完全にマスター」だぞ。釣りに決まってんだろw
2019/12/21(土) 00:51:51.58ID:kL8tLCEf
>>822
仕事で使えなきゃ意味ないだろ
2019/12/21(土) 00:57:35.79ID:4SIKQrOR
Pythonは9割が脱落する言語と言われてるのもうなずける
もし仮に本人には才能があってもPythonをおぼえようとした時に最初に出会う教材や人によって終わってしまうことも多いと思う
俺はPythonとかプログラミングと全く関係ない数学の応用の本を一緒に読んでた
でも結局脱落した
2019/12/21(土) 01:02:39.90ID:k+w4ikT0
初めから言語の習得の話をしていて別に仕事で使う話はしていないぞ。
仕事で使うにしたって、pythonは汎用的なプログラミング言語であって別に用途が人工知能に限定されるわけでなく、ちょっとした統計処理や自動化程度であっても役割として十分だろう。
2019/12/21(土) 01:08:50.52ID:kL8tLCEf
初心者の方にはJavaScriptがおすすめ
828デフォルトの名無しさん
垢版 |
2019/12/21(土) 02:39:08.36ID:0LiXcgPL
二ヵ月前に初めてプログラミングの勉強始めて
友人に勧められたからPythonから触ってTwitter API使ったwin用guiアプリ作ったけど
AIとか作るんじゃないならかなり楽やと思うけどなぁ
転職して今週から働きだしてJava触ってるけど
個人的にはJavaのが難しいと思うわ(主にオブジェクト指向とかが)
まあ、両方楽しいし作ったアプリはオブジェクト指向使わずに書いたからコード自体は今見ると可読性悪いのがよく分かったw
2019/12/21(土) 07:22:16.03ID:V5r7QLnH
自分が落ちこぼれと認めるより、言語が悪いことにしたいよな
私を嫌う連中は私が嫌いなのではなく私の属性が嫌いなの!って騒いでるTwitterのメスガイジと似てるわ
2019/12/21(土) 08:03:18.49ID:/C2Zxfa9
>>825
pythonに限らずC言語の昔から同じようなことが言われていた
2019/12/21(土) 09:24:29.16ID:Bl5cSZK5
C言語はポインタが鬼門。まずポインタという名称が良くなかった。アドレス変数という名称のほうがしっくりくる。
2019/12/21(土) 09:43:01.41ID:2jb+e7Ut
アドレスと混同されないようにあえて別の名前を使ったんだろ。
833デフォルトの名無しさん
垢版 |
2019/12/21(土) 09:44:35.47ID:LfWR8zZ0
アドレスじゃん
2019/12/21(土) 10:20:00.37ID:AgLsTGZF
Pythonは俺も挫折した
無理
2019/12/21(土) 15:20:00.57ID:/C2Zxfa9
pythonもidによって謎の数字が出てくる
アレ何なの
おみくじ?
2019/12/21(土) 15:29:03.30ID:3CC1js1d
7が並んだら奇跡かおきるってよ
2019/12/21(土) 17:24:57.69ID:/91O1xjY
VSCODE使ってみて初めてVisual Studioのありがたさがわかった。
2019/12/21(土) 17:26:16.34ID:/91O1xjY
;をうつとちゃんとした記法に成型してくれるって楽だわ。
C#での話だけど。

誰かVSCODEでも同じ機能をつけてくれないものか・・・。
839デフォルトの名無しさん
垢版 |
2019/12/21(土) 17:50:40.98ID:5ArYAWFR
>>838
作るんだよ。お前が。拡張機能を。
あくしろや俺も使ってやるんだからよ。
2019/12/21(土) 18:09:44.05ID:XVfPANjg
>>808
rubyならキチガイでもできるよ!
2019/12/21(土) 18:23:47.67ID:/91O1xjY
>>839
ああ、そういうことか!
無理です・・・。orz
2019/12/22(日) 05:03:39.60ID:CyWocscD
>>840
Rubyか...
2019/12/22(日) 17:18:31.92ID:Ens8Pa2w
心理系の研究で2Dカードゲームのようなアプリを作ろうとしています。
当初Unityでやるつもりだったんだけど、機械学習の勉強のためPython学んだら、
Pygameでやるのもありかと思い始めた。

トランプのような2DカードゲームつくるならPythonとUnityどちらがおすすめですか?
2019/12/22(日) 17:36:04.52ID:buP4BnNs
>>843
JavaScript
2019/12/22(日) 17:37:49.15ID:NMRyBzep
真理やめろ
2019/12/22(日) 17:41:49.90ID:Ens8Pa2w
>>844
短期間でC#、Unity、R、Pythonと詰め込んで混乱している。
これ以上言語増やしたくない。
2019/12/22(日) 17:43:27.57ID:c4dmvFhs
どっちでもいっしょだから自分が得意だと思える方でやればいい。
2019/12/22(日) 18:04:31.25ID:Ens8Pa2w
>>847
ありがとうございます。
現時点ではUnityのほうが得意なのですが、
アプリからデータ取得して統計処理、機械学習まですることを考えると、
Pythonで統一したほうが後々楽なのかな。。。
2019/12/22(日) 18:08:30.47ID:Ens8Pa2w
あと、スレタイどおりくだらない質問で申し訳ないのですが、
C#アプリで取得したデータをpythonで統計分析しようとしているのですが、
CSVファイルにデータを保存するとき

100件のデータを全て一つのファイルに保存。
100個のファイルを作製して1件1ファイルに保存。

のどちらがいいのでしょう?
1件のデータには実験環境等ながいDescriptionデータがついてくるので、
1ファイルだとデータの切り出しがめんどくさいかなと思っているのですが。
2019/12/22(日) 18:16:24.65ID:buP4BnNs
>>846
そのゲームを誰にどうやってやってもらうかとか
結果をどう収集すべきかとか
そういうの考えてる?
2019/12/22(日) 18:51:55.19ID:Ens8Pa2w
>>850
そのへんは考えてるのですが、質問の仕方が良くなかったですね。

***実験条件データ***
年齢:
性別:
特性A:
特性B:


***配列データ***
時間 回数 色 〜
0.11 3 R 〜
0.20 1 B 〜

みたいなデータが100件ぐらい1ファイルに記述したとして、
をpandasで配列データだけ切り出してくるってかんたんにできるものでしょうか?
2019/12/22(日) 19:03:33.08ID:4GpMlcpo
>>849
特別な要件がない限り
> 100件のデータを全て一つのファイルに保存。
しかないと思うが
2019/12/22(日) 19:15:06.28ID:OE5DN1cz
pygameって3?が頓挫して別のに開発リソースまわってるんじゃなかったっけ?

あとcsvはデータ形式によるから具体的なカタチがわからないとなんとも…
2019/12/22(日) 19:59:30.18ID:u+b66RrE
>>851
まず、データだけを抽出する、コンバーターを作る!

そのためには、まず、データだけを抽出しやすいように、
よく考えて作っておかなければならない

JSON とか。
他には、XML, YAML もある

データとデータ以外の切れ目が、分かるようになってれば良いけど

まあ、ファイルを分割している方が簡単で、
後でファイルが増えた時に、融通が利く
855デフォルトの名無しさん
垢版 |
2019/12/22(日) 20:28:35.39ID:MAO/zmGQ
>>848
ゲームはUnity、データ処理はPythonってのがいいよ
どうせゲームの記録は一旦保存して、後で処理するのだから、
ゲームを作るのに得意な言語、データの処理に得意な言語で使い分けたほうが良い。
一つにまとめる必要があるのは、アプリケーションパッケージとして売ったり誰かに納品したりする必要があるときだけだと思う。
856デフォルトの名無しさん
垢版 |
2019/12/22(日) 20:33:44.52ID:MAO/zmGQ
>>849 >>851
見逃したけど、
100条件なら100ファイルの方が取り扱いが簡単だよ。1ファイルにするメリットはないと思う。
1000を超えてくるとOSの方での取り扱いが面倒になってきたりするけど。

1ファイルにする場合、条件データと配列データを切り出すのはPandasでも出来るけど、素のPythonでまず切り分けておいて、
切り出したCSV部分をPandasに渡すのが普通かな。
2019/12/22(日) 22:03:29.64ID:Ens8Pa2w
>>853
情報ありがとう。
開発終了してるし、後継のライブラリもなんか評判良くないね。

ゲーム部分は素直にUnityで開発します。
2019/12/22(日) 22:07:05.30ID:Ens8Pa2w
みなさんいろいろありがとうございます。
ファイル分割して、データ統合するコンバータを作るのが良さそうですね。
少し勉強が必要そうだけど、方向が見えてきました。
ありがとう。
2019/12/22(日) 22:08:24.35ID:Ens8Pa2w
>>855
シンプルにUnityからテキストファイルに書き出して、
パイソンでデータ処理するようにします。

Unityからパイソンのファイルを実行するだけなら、自分でもすぐできそうだし。
2019/12/23(月) 00:46:17.73ID:i+2w2qhs
本当にくだらないんだけど、
風俗板とこのスレに常駐すると
パイソンがパイパンに見えてくるな。
861デフォルトの名無しさん
垢版 |
2019/12/23(月) 02:12:53.28ID:Z89NhxHR
test_str = 'aaaisaisaihuursstestiisaojyewysa'
というような文字列があったときに
文字列の中に'test'が含まれるかどうかの判定ってどうすればよいですか?
先頭でも末尾でも中間でもどこに含まれていても、print('含まれてるよ')と表示したいです。
2019/12/23(月) 07:39:10.34ID:i17ydcb/
>>861
'test' in test_str
で判定
いっちゃん簡単なやつ
863デフォルトの名無しさん
垢版 |
2019/12/23(月) 08:50:45.33ID:G1ER7e+F
>>861
test_str = 'aaaisaisaihuursstestiisaojyewysa'
if 'test' in test_str :
  print('含まれてるよ')
else:
  print('無いよ')
2019/12/23(月) 09:22:23.85ID:cv9cp49U
正規表現
865デフォルトの名無しさん
垢版 |
2019/12/23(月) 15:25:25.14ID:sEnpgkKc
>>835-836
うbyはidが偶数か奇数かでも動作が違う
866デフォルトの名無しさん
垢版 |
2019/12/23(月) 17:05:29.34ID:Z89NhxHR
>>862>>863
ありがとうございます!
2019/12/23(月) 20:12:29.62ID:Pi1/7Ubv
アップルが従業員に遺伝子検査サービス無料提供。「治療」から「予防」へ

https://japanese.engadget.com/2019/12/14/apple-clinic/
2019/12/23(月) 20:16:11.23ID:Pi1/7Ubv
943
半島人は長い歴史で虐待され続けたため、人間不信に陥っており、
又医学的には拷問を受けたため、遺伝的に脳の前頭葉(脳の30%の部分)が傷ついて萎縮していると判明しています
だから豊かな感情に欠け、キレやすく、倫理的なことにあきらめ感が強く、無感動です
今後前頭葉を拡張復元していくことがよい結果を生むことになると思います
アメリカを中心に、高気圧酸素治療法というのがあります
カプセルに入って寝て、気圧を高めて高濃度の酸素を、人の血中に送りこむ療法です
損傷した脳の復元にかなり効果があることが、わかっていています


284
そこで提案だ
先ほど述べた、Paul Harch 医師達がやっているような、高気圧酸素治療(HBOT)の技術を生かしてみたら、いかがかな
つまり、代々前頭葉萎縮で悩んでいる半島人達の脳に、この治療法を応用するのだ
酸素を効率的に沢山供給することで、エデンちゃんの萎縮していた脳がほぼ通常に広がって戻ったのだから、
うまく考えて根よくやれば、半島人達の遺伝的に萎縮した前頭葉をふくらませられるかもしれない
そうしたら、彼らに失われていた人間的な感情も、わきやすく、育みやすくなるというものだ
半島人も他の民族と同じように気持ちが安定し、前向きになり、責任を持って自分の国作りをするようになるだろう
他に良い方法があればそれでもよいのだがね、1つの案として提示しておく
全世界の皆さんは、真剣に考えてやってほしい
特に、脳科学の研究者達はね
2019/12/23(月) 20:16:37.34ID:Pi1/7Ubv
276
その方法というのは、

『高気圧酸素治療(HBOT)』と言う

縦長のカプセルの中に患者が仰向けに寝ていて、カプセル内に高濃度の酸素を沢山満たし、吸い込ませ血管に送り込む
又、その際に高めた気圧で酸素を濃縮して、血管に溶け込みやすくする、という仕組みだ
これにより女児は損傷して萎縮していた脳が、酸素の補給により急激に回復し始め、まもなく感情を表し言葉を発したり、母を認識し以前の記憶がよみがえった
又自分で食べられるようになり、運動能力も徐々につき、驚異的な速さで機能が回復して行ったのだ
五才になった今では、多少歩く時に平衡感覚がまだ足りなくて、左右にぐらつくのを矯正中だが、ほぼ普通に元気に歩き、遊べるようになった


278
私が言いたいのは、これを応用できるのではないかということだ

この女の子、エデン・カールソンちゃんを治療したのは、ルイジアナ州立大学医学部のPaul Harch医師だ
彼は、エデンちゃんに主に高気圧酸素治療を行い、1回45分、週5日、計40回で終了した
治療を始めて10回目で、ほぼ正常に見えるほどになったという
その後も40回(8週間か)まで治療を続け、最終的にMRI検査では、エデンちゃんの萎縮してすき間のあった脳が、ほぼ完全に回復していた
脳の回復が速い幼児だからということも幸いしたが、
最近では急性脳損傷のある成人でも効果があることがわかってきた
成人にHBOTを1回実施しただけでも、脳の組織回復に必要な複数の遺伝子の活性に変化が見られたという
(日本では、病院で脳梗塞の治療等に使われている)
2019/12/23(月) 20:16:54.72ID:Pi1/7Ubv
280
朝鮮半島民というのは、医学的に研究された結果、
昔から先祖代々貴族等に虐待や拷問を受けてきたために、おびえて脳の前頭葉(脳の30%を占める)に沢山の傷が見られ、そこの部分が萎縮しているそうだ
前頭葉の前半部は、思考、自発性、感情、性格、理性等を司る

前頭葉が損なわれるとどうなるか
例えば、
忘れっぽい
思いつきで動き、不注意
自発性がなく、すぐ人を頼る
大変おしゃべりか、反対に抑うつ的
すぐ怒ったり笑ったり、感情を爆発させる
人を思いやるのが苦手
危険に鈍感になる
規則を守らない
1つのことにこだわり、同時に2つのことができない
過食や浪費

又、もしもその一部である眼窩前頭皮質が損傷すると、
過度に悪態をつく
性欲過多
社会的対話の欠如
共感能力の欠如
アルコール、薬物の摂取過多
等が見られるという

どれも困ったことだ
必ず全てが現れるわけではないし、個人差もあるだろうが

943
半島人は長い歴史で虐待され続けたため、人間不信に陥っており、
又医学的には拷問を受けたため、遺伝的に脳の前頭葉(脳の30%の部分)が傷ついて萎縮していると判明しています
だから豊かな感情に欠け、キレやすく、倫理的なことにあきらめ感が強く、無感動です
今後前頭葉を拡張復元していくことがよい結果を生むことになると思います
アメリカを中心に、高気圧酸素治療法というのがあります
カプセルに入って寝て、気圧を高めて高濃度の酸素を、人の血中に送りこむ療法です
損傷した脳の復元にかなり効果があることが、わかっていています
2019/12/24(火) 11:21:49.38ID:DWLgg12E
pythonにテキストファイルでデータを渡して統計処理しようとして、
初めて整然表現というものを学びました。
2019/12/24(火) 11:25:36.07ID:DWLgg12E
実験情報

氏名:
性別:
年齢:
実験日時:
実験場所:
実験タイプ:

実験データ
時刻 X Y 色
002 20 14 b


というデータで今まで実験情報と実験データを一つのファイルに記述していたのですが、
SatouTarou20191224DESCR.txt
SatouTarou20191224DATA.csv
と2つのファイルに分けて記述するべきなのでしょうか?
873デフォルトの名無しさん
垢版 |
2019/12/24(火) 11:34:40.49ID:oSAz7Duc
Philip N. Kleinという人の書いたベクトルを表すクラスに、以下の記述があります。

__add__ = add

左辺はインターネットで調べた結果、特殊メソッドであることが分かりました。

右辺の「add」は一体なんなんでしょうか?

そして、特殊メソッドである「__add__」を定義せずに、「__add__ = add」と代入していますが、これは文法的にどういうことなのでしょうか?
2019/12/24(火) 11:40:09.88ID:DWLgg12E
氏名 性別 年齢 ・・・ 時刻  X  Y 色
Sato Tarou 21     002 20 14 B
                004 22 10 R
               010  1  9  Y

みたいに一つのファイルのほうがいいのかな。
実験条件のデータは項目ひとつに1データでみづらいけど、
これがコンピュータにとって扱いやすい整然データということでしょうか?
875デフォルトの名無しさん
垢版 |
2019/12/24(火) 12:06:36.04ID:oSAz7Duc
>>873

def add(u, v):

class Vec:
__add__ = add

となっています。

これはクラス Vec の外で定義された「add」と同じ関数として「__add__」を定義するという意味ですか?
876デフォルトの名無しさん
垢版 |
2019/12/24(火) 12:16:14.86ID:Ww2BU2Ri
実行ファイルのあるディレクトリのパスを取得するのに
os.path.dirname(sys.argv[0])
という記述があるのですが
sys.argv[0]というのは何故必要なんでしょうか?

また、その1つ上のディレクトリのパスを取得するにはどうしたら良いですか?
2019/12/24(火) 12:35:53.65ID:3XzgnZW7
>>873-875
add と言う名前から想像すると、加算演算子「+」の再定義(オーバーライド・上書き)かも

例えば、Ruby で、カスタムクラスA を定義して、そのインスタンス同士を足す際、

class A
end

a_1 = A.new
a_2 = A.new

p a_1 + a_2 #=> エラー!

クラスA には、+演算子(メソッド)は、存在しないというエラーになる。
そこで、クラスA に、+演算子を再定義すると、好きな処理ができる。
a_1 + a_2 の場合、レシーバー(self)は、a_1で、other は、a_2 を表す

def +(other)
p self, other
end
2019/12/24(火) 12:41:33.48ID:8/3Ibfsl
>>876
sys.argv[0]が実行ファイルそのもの。
os.path.dirname(f)はfのディレクトリ。
os.path.dirname(os.path.dirname(f))でさらに一つ上の階層。
sys.argv[0]の代わりにos.path.abspath(__file__)も使える。

python 3.4以降?なら下の様な方法でも。
from pathlib import Path
Path(os.path.abspath(__file__)).parent.parent
879デフォルトの名無しさん
垢版 |
2019/12/24(火) 13:02:43.62ID:Ww2BU2Ri
>>878
ありがとうございます!
2019/12/24(火) 13:07:42.57ID:3XzgnZW7
>>876
Ruby では、シェルで「ruby オプション script.rb 引数」と入力するけど、
このスクリプトファイル名は、$0 という変数で参照できる

引数部分が、ARGV の[ 0 ]から順番に参照できる。
ARGV[ 0 ]には、スクリプトファイル名が入ってこない

そこが、Python とは異なる!

親のディレクトリは、parent で、祖父なら、parent.parent で。
たぶん、python にも、ファイルパスを扱うモジュールがあるはず

require "pathname"

path = Pathname("foo/bar") # 相対パス
path.parent # => #<Pathname:foo>
path.parent.parent # => #<Pathname:.>
881デフォルトの名無しさん
垢版 |
2019/12/24(火) 15:24:57.39ID:L1tHoweE
ふーん帰っていいよ
2019/12/24(火) 15:52:08.62ID:9irKuexe
>>873
class Vec:
__add__ = add

class Vec:
____pass
Vec.__add__ = add
と同じ
2019/12/24(火) 15:57:23.19ID:9irKuexe
Vec.__add__ = add がどういうことかわからなければ
↓これを参考に
https://ideone.com/Z5nLWW
2019/12/24(火) 16:04:24.92ID:4c603ABM
Rubyバカはスレタイを100回復唱してから書き込めよ
2019/12/24(火) 17:46:49.50ID:9irKuexe
>>872
RDBであれば別のテーブルで管理すべき内容

ただ一連の質問を見る限り他人がメンテする必要性が低そうなので1ファイルの場合と2ファイルにした場合のメリット・デメリットを考えてみて好きに決めればいいと思う

ファイルの分割に関係なく実験情報と実験データの1つの組をユニークに識別できるIDを定義しておくのが無難
2019/12/24(火) 17:57:21.54ID:9irKuexe
>>874
違う
基本はRDBで言う第三正規形
2019/12/24(火) 18:15:54.74ID:WqUdRB3h
人名単位のcsvに実験データを追記していく
必要なら名簿を作成してI/Oを平易にする

これではいかんのけ?
2019/12/24(火) 18:31:25.90ID:mGB04tXH
日本語ファイル名は災いの元なので、学籍番号やローマ字表記などに変えるべき。
2019/12/24(火) 19:46:37.28ID:CDAmWs4U
日本語かどうかよりはファイルシステムでファイル名としては取り扱えない文字かどうかを気にした方が良いような
まあ、結果としてアルファベットと数字とハイフン、アンダースコアにしておくのが無難だという結論になるけれど
2019/12/24(火) 19:59:36.01ID:l0GCh4fC
>>886
主キーで管理して実験情報テーブルと実験データテーブルを別個に作るということですか。なるほど。
2019/12/24(火) 20:01:19.05ID:l0GCh4fC
ってアクセスでならできるけど、パイソンでRDB的なことってできるんでしたっけ?
2019/12/24(火) 20:02:50.70ID:l0GCh4fC
>>889
ファイル名は氏名と生年月日と記録日にしようかと思っています。
検索しやすいので
2019/12/24(火) 20:04:11.90ID:l0GCh4fC
>>887
同一人物でも異なる実験条件で複数回検査するので。
2019/12/24(火) 20:12:16.08ID:l0GCh4fC
あああ、確かに100件以上の実験データを扱うことを考えるとDBにデータ移行できるようにした方が良いですね。盲点だった。
2019/12/24(火) 20:27:01.45ID:s2lutymo
>>407にもある通り数億とか数千万のオーダーを考えるのは普通
ファイルでも数万は簡単に行く
盲点でも何でもない
2019/12/24(火) 21:24:52.74ID:r8fNCPuj
参照系なら必ずしも正規形にこだわる必要もないよ。
統計処理はjoinされた形でやるわけだろうし。
2019/12/24(火) 21:43:30.63ID:9irKuexe
>>892
その3つで一意性を完全に保証できる前提ならいいんだけど
同じ人が複数タイプの実験を1日で実施したりすれば対応できなくなるよ

一意性を保証できない状況が発生しうるなら
識別IDに人間の見やすさのための情報を付加する形がいいかも

0011228_SatoTaro_20191224.csv
0011235_SatoTaro_20191224.csv
2019/12/25(水) 08:33:26.59ID:iqbdwPlo
>>897
スタンドアロンで別施設でデータ取得も考えると
年月日_実験開始時刻_氏名_生年月日
ですかね。
ファイル名は長いですが、
人間が判別するときもこれらのデータがあるとわかりやすいし。


20191224_120122_SatouTarou_19820912

ファイル名長いな・・・。
2019/12/25(水) 09:08:39.56ID:iqbdwPlo
正規形勉強してきました。
アクセス使ってたけど主キーとかユニークナンバーとしか理解してなかった。。。
2019/12/25(水) 09:12:06.97ID:iqbdwPlo
>>874
は第一正規形ってことですね。
python上で第三正規形のデータ取り扱うってどうすればいいんだろう???

pythonやRで統計処理をするときは、
第一正規形であれば問題なさそうな気がするんですが、
間違っていますでしょうか?
2019/12/25(水) 11:07:21.89ID:2sisjRdM
ちょっと論文読んできました。整然データ=第三正規形ではないんだね。

1. 実験情報と実験データでcsvファイルを分ける
2. 1のファイルから要約データを計算し、要約データファイルに実験情報と要約データを順次上書き
3. 要約データを実験条件で分割して有意差検定する

が良いのかなぁ。
902デフォルトの名無しさん
垢版 |
2019/12/25(水) 11:33:04.71ID:MC7jTCCf
>>974
間違ってない。
第三正規形は、更新時の書き込み箇所を一本化したり、保守性を上げる(スキーマ改変の範囲を限定する)というようなことが目的だから。
参照オンリーの場合は、むしろパフォーマンス面でマイナスになったりする。
けれど、非正規化するかどうかは別問題。
マテビューなどの解決策もあるからね。
2019/12/25(水) 12:01:08.00ID:ZI663GBY
Ruby on Rails では、
多重度、1 : N は、has_mamy, belongs_to とか

参照、references
外部キー、foreign_key
2019/12/25(水) 12:06:28.68ID:DT9LgkyT
>>903
https://spectrum.ieee.org/computing/software/the-top-programming-languages-2019
もはや存在すら忘れられたマイナー言語
2019/12/25(水) 12:38:43.88ID:wOKia0YU
>>891
sqlite3とか入れてPythonからそれを叩くのが定番
2019/12/25(水) 12:40:43.60ID:wOKia0YU
>>892
生年月日みたいな個人情報入れるとか大丈夫?
てか企業とか学校なら社員番号とか学籍番号とかあるんじゃないの?
2019/12/25(水) 16:27:06.73ID:l8QWpMeL
python3.8でコードをexe化する方法ありますか?
908デフォルトの名無しさん
垢版 |
2019/12/25(水) 17:05:31.75ID:2ymVLaRc
exe + dll で良いならあるよ
909デフォルトの名無しさん
垢版 |
2019/12/25(水) 17:18:42.78ID:urIrQtmF
Python習いたての初心者です。

Pandasでデータフレーム作って
Scikitlearnで標準化をする際に
一旦数字のみ抽出して、標準化、
またデータフレーム化という手順で習ったのですが
回りくどい気がしてなりません。

Pandasのまま標準化するには
計算コード直入力するしかないものですか?

理解不足があったらすみません。
2019/12/25(水) 17:41:48.67ID:owbFz3od
>>891
実験データをSQLiteとかで管理するのはお勧めできない
間違ってデータ飛ばしたりとかがSQLに慣れてないころには容易に起こる
データの結合とかはpandasでSQLで出来ることはほぼ同レベルの手間でCSVファイルに対してできるから、とにかくCSVファイルに保存していく形にするのが良いと思う
実務ではないのだから、最悪ちょっと機械的な手作業を頑張ったらなんとかなりそうという、見通しが立っている状態を維持し続けるべきだと思う
SQLとかRDBMSにめちゃくちゃ慣れていて、pandasなんか覚えたくないよというのならpandasじゃなくて良いけど

あと、データをあれこれするときはjupyter notebookを使うと履歴が残せるし、うまくいかないところだけ試行錯誤でコードの修正がしやすいので本当にオススメ
2019/12/25(水) 18:02:29.31ID:iqbdwPlo
>>902
ありがとう。
>>901
のパターンでやってみる。
データ構造どうするかって、きちんとしておかないと後で地獄見るってよく勉強になりました。
2019/12/25(水) 18:13:59.86ID:iqbdwPlo
>>910
pandasでデータ成型(スクレイピングって言うのかな?)
も学ばなきゃ。

新しく学ばなきゃいけないことたくさんだけど、
プログラミングは試行錯誤できることと、
お金があまりかからないのがいいことですね。
がんばります。
2019/12/25(水) 18:17:00.04ID:JNywgUPx
北海道のグラサンスーパーハゲザーはここにはこないのー?
2019/12/25(水) 21:34:44.21ID:qDbmzL4T
>>900
>pythonやRで統計処理をするときは、第一正規形であれば問題なさそうな気がするんですが、間違っていますでしょうか?
あってる間違ってるの話ではなく整然データにしておけばデータをこねくり回すときに楽になるよって話
現状困ってないなら無理して整然化する必要はないと思う

>>901
論文にも明記されてるけど整然データ(=tidy data)は第三正規形と基本同じだよ
原典か日本語訳を読むといいと思う
https://vita.had.co.nz/papers/tidy-data.pdf

>>902
一般的に特定の非正規形は特定の分析用途には使いやすくても
違う観点で分析しようとすると正規形からデータ変形するよりも多くの手間がかかる
参照オンリーの場合でもデータの利用方法が定型化していない場合は正規形から考えるメリットは大きい

特にRDBで分析用途のDBを用意する場合は参照オンリーでも正規形から考えとかないと手間が異常に増える
2019/12/25(水) 22:03:00.14ID:hPmVmQm/
質問でつ
このコードの4行目で print(combsを表示) しちゃうと
最後の return ta_combs の中身が空になるんだけど 何で?

import itertools
def twoSum(nums, target):
・・・combs = itertools.combinations(nums, 2)
・・・#print(list(combs))
・・・ta_combs = set()
・・・for comb in combs:
・・・・・if sum(comb) == target:
・・・・・・・ta_combs.add(comb)
・・・return ta_combs

print(twoSum((10, 20, 10, 40, 50, 60, 70), 50 ))
916デフォルトの名無しさん
垢版 |
2019/12/25(水) 22:05:12.83ID:ycC2pkbE
bigtable使ってるから正規化なんてないわ。
SQLもシンプルだし。
速度は言わずもがな。
2019/12/25(水) 22:10:39.36ID:rtgRmFxx
複数の表をjoinするのとそれらの直積からselect/uniqueをとるのは等価だから
非正規形だと手間がかかるってのは当たらないと思う。
パフォーマンスや容量は別として、必要な変数を選んでuniqueをとるだけという
操作に統一できるから、いちいちどう結合するか考えるより手間が省けるくらい。
918デフォルトの名無しさん
垢版 |
2019/12/25(水) 22:12:36.33ID:7FLhFvMk
以下のようなテスト用の記述があるとします。
vecというモジュールからクラスVecをインポートしています。
vecモジュール内でも同様のテスト用の記述があるとします。
↓のコードを実行した場合、vec内のテストも行ってしまうようです。
vec内のテストは完了しているので、テストされないようにすることはできるのでしょうか?


from vec import Vec



"""
Returns the value of entry k in M, where k is a 2-tuple
>>> M = Mat(({1,3,5}, {'a'}), {(1,'a'):4, (5,'a'): 2})
>>> M[1,'a']
4
>>> M[3,'a']
0
"""


if __name__ == '__main__':
import doctest
doctest.testmod()
2019/12/25(水) 22:34:33.78ID:qDbmzL4T
>>915
list(combs)でイテレータを消費してるから
for comb in combs:のところではもう次のアイテムはない
2019/12/25(水) 22:37:11.85ID:owbFz3od
>>917
一理ある
DBを正規形にしておくのは必ず非正規化されたデータが正規形の直積から取り出せて、不整合なデータはありませんという保証を担保する側面があるってことだね
2019/12/25(水) 23:00:58.32ID:qDbmzL4T
>>917
それは一番単純なパターンで
キレイに非正規化されてるケースだけにしか当てはまらないよ
2019/12/25(水) 23:08:03.95ID:hPmVmQm/
>>919
アドバイス ありがとうございます
イテレータを理解してなかった

import copy 追加して
a = copy.copy(combs) を print の前に入れたら上手くいきました
2019/12/25(水) 23:17:51.74ID:rtgRmFxx
キレイじゃない非正規化ってどういうのを想定してるのかな。
データとして等価じゃないならそりゃまずいが。
2019/12/26(木) 10:44:02.91ID:g3TV29VW
そもそも第一正規形以外の正規形って更新時異常を避けるために考えられたものであって
検索のことは考慮外なわけで。
2019/12/26(木) 11:09:55.46ID:Wx+k6Oqq
>>924
そりゃjoinのパフォーマンスなんかDBMSの実装の問題なんだから考慮外で当たり前だろう
レイヤの異なる関心事をごっちゃにしている典型例だな
2019/12/26(木) 14:05:50.96ID:g3TV29VW
パフォーマンスの話なんてどこから出てきたのやら。

>レイヤの異なる関心事をごっちゃにしている典型例だな

そうだね。
927907
垢版 |
2019/12/26(木) 14:45:46.65ID:FL6xOFYS
すなおにpyinstallerのみ3.7で動かすことにしようと思います

オフライン環境にインストールしたかったので、先にオンライン環境で
pip download -d <保存先> --no-binary :all: pyinstaller
で関係ファイルをすべてDLし、オフライン環境にてpip installを試みました

ところがそれぞれのファイルをインストールし、
最後にPyInstaller-3.5.tar.gzをpip installするところでエラーになってしまいます

エラー内容を見るに、PyInstaller-3.5.tar.gzのpip installの中に
setuptoolsのオンラインでのpip installが含まれているように見えます
もちろんsetuptoolsは先にpip installしているにも関わらずです
何か方法ありますでしょうか

エラーメッセージ↓
ERROR: Command errored out with exit status 1:
command: <Python.exeのパス> <pipのパス> install --ignore-installed --no-user --prefix <overlayのパス> --no-warn-script-location --no-bina
ry :none: --only-binary :none: -i https://pypi.org/simple -- 'setuptools>=40.8.0
' wheel
cwd: None
Complete output (8 lines):
Collecting setuptools>=40.8.0
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, st
atus=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3
.connection.VerifiedHTTPSConnection object at 0x02F322D0>: Failed to establish a
new connection: [Errno 11004] getaddrinfo failed')': /simple/setuptools/
(以下繰り返し)
2019/12/26(木) 15:57:44.27ID:vMTIIs6I
自分もひと月ほど前にオフラインでのpip installをやろうとして
行き詰まった
pipは何かとPyPIに接続しにいくからね

結局linuxサーバでプロキシーサーバーとファイヤーウォールを建てて
オンラインでできるようにしてからインストールしたよ
2019/12/26(木) 19:24:43.15ID:FaxhM6Zn
北海道のグラサンスーパーハゲザーはここにはこないのー?
930907
垢版 |
2019/12/27(金) 18:52:51.35ID:Qsz5HXwu
.tar.gz展開して中のsetup.py直接起動させたらいけました
自己解決ですみません
2019/12/28(土) 02:08:30.85ID:RMes1jy6
こういうデータがあります 外側のカッコはタプルでも可 要素は重複してないので集合でも可
data = [00, 01, 10, 11, 12, 22]
要素から 1桁目が0のみ抽出・・00,01 2桁目が1のみ抽出・・01,11 という処理をしたいです
今はforで回し正規表現で判断してるのですが、簡単に記述出来るモジュールのような物はあるんでしょうか?
2019/12/28(土) 02:22:55.46ID:0wxaCoE9
>>931
条件が簡単ならリスト内包表記で抽出するやり方があるけど
forで回して正規表現で検索する方が何かと汎用性があると思うよ

左1桁めが0のデータを抜き出す場合
[ x for x in data if x[0] == '0' ]

左2桁めが1のデータを抜き出す場合
[ x for x in data if x[1] == '1' ]
933デフォルトの名無しさん
垢版 |
2019/12/28(土) 02:24:08.22ID:CljHkVQA
rubyだと?
2019/12/28(土) 02:30:35.60ID:r7V1DpIq
>>931
十分簡単な記述だと思うけど、俺ならタダの数値計算にする。
切り捨てで1
10倍して10で割ったあまりが1
2019/12/28(土) 02:31:06.65ID:r7V1DpIq
切り捨て1じゃないなw
2019/12/28(土) 06:00:15.29ID:iMlStgtR
yokokara
937931
垢版 |
2019/12/28(土) 08:39:10.00ID:RMes1jy6
要素は文字列でした 間違ってました
data = ["00", "01", "10", "11", "12", "22"]

>>932
"2"を抽出時も簡単ですね 全く思いつかなかったです 
3行の記述が1行に収まるので、こちらでいきたいと思います

>>934
10倍後10で割る方法もレスされて思い出しました

>>932  >>934 ありがとうございました
938デフォルトの名無しさん
垢版 |
2019/12/28(土) 10:40:09.14ID:glKwkKz6
>>931
ある言語では

p data.select{|x| x[0] == '0'}
2019/12/28(土) 11:22:22.26ID:b3ohKRMf
[ x for x in data if re.search(r'1$', x)]
[ x for x in data if re.search(r'1.$', x)]

とある言語では
data.filter{|x| x.match? /1$/}
data.filter{|x| x.match? /1.$/}

またとある言語では
data.filter(x=> /1$/.test(x))
data.filter(x=> /1.$/.test(x))
2019/12/28(土) 12:02:33.66ID:vnZXJluZ
Ruby では、select でフィルターする

data = %w(00 01 10 11 12 22)

p res_1 = data.select{ |x| x[ 0 ] == '0' }
p res_2 = data.select{ |x| x[ 1 ] == '1' }

出力
["00", "01"]
["01", "11"]
941デフォルトの名無しさん
垢版 |
2019/12/28(土) 13:03:02.30ID:CljHkVQA
♪───O(≧∇≦)Oキタ────♪
942デフォルトの名無しさん
垢版 |
2019/12/28(土) 15:28:51.07ID:+sYlgNhA
>>929
ハゲは北神雄太。
943931
垢版 |
2019/12/28(土) 16:42:14.01ID:RMes1jy6
>>939
別の正規表現で書いてました (r'1$', x) (r'1.$', x) の方が簡単なので使わせて頂きます

参考にします >>938 >>940
944デフォルトの名無しさん
垢版 |
2019/12/28(土) 16:48:18.35ID:9o1guVgp
Macで、このプログラムをPyinstallerで実行ファイルにすると動きません。
MacってPythonと相性悪いんでしょうか?

import os
import sys
path_w = os.path.dirname(sys.argv[0])+'/testWrite.txt'
with open(path_w, mode='w') as f:
f.write('testWrite')
2019/12/28(土) 16:51:10.81ID:EYxHjYjG
>>944
Macには最初からPython2.7系が入っているので
3系を、ケンカしないようにうまいことインスコするのが基本。

でもってpyinstallerって
Windows用じゃなかったっけっか
946デフォルトの名無しさん
垢版 |
2019/12/28(土) 17:25:15.16ID:9o1guVgp
>>945
いいえ、Pyinstaller自体はWindows/Mac両方で動くように設計されているもののようで
Pyinstallerでアプリケーション化した後もGUIの作成やソケット通信などの部分は正常に動くのですが
ファイルの参照やファイルを作成のようなコマンドが内部に含まれていると何故か動かなくて困っています。
2019/12/28(土) 17:51:26.10ID:EYxHjYjG
>>946
pathの書き方がLinux系とWin系で異なるから とかもないなら

Macの「システム設定」てきな歯車アイコンの奥底にある
「出どころがあやしいアプリは動かないようにブロックする」デフォルト設定のせいじゃなかろか
(この機能の正式名称 ルートレス とかなんとかいったような)
2019/12/28(土) 18:34:55.94ID:FoArgV87
>>944
Macのターミナルから実行した場合は動くの?
949デフォルトの名無しさん
垢版 |
2019/12/28(土) 18:48:26.90ID:9o1guVgp
>>948
はい、ターミナル(正確にはAnaconda Prompt)から、素の状態のPythonを実行すると動きます。
しかし、Pyinstallerを使ってアプリ化することによってファイル作成コマンドが使えなくなります。
Windowsの方ではPyinstallerを使っても正常に動きます。

>>947さんの指摘が近そうな気がするので調べてみます。
950デフォルトの名無しさん
垢版 |
2019/12/28(土) 18:53:49.75ID:9o1guVgp
あと、もう1つ情報を付け加えると、PyinstallerによってMacアプリ化すると
アプリが作成されるのと同時に、サブフォルダに「Unix実行ファイル」というのも作成されています。
何故かアプリでは動かないのに、サブフォルダ内の「Unix実行ファイル」の方をクリックするとファイル生成などのコマンドも正常に動いています。
2019/12/28(土) 20:49:36.94ID:q2Ylf9qj
有明セントラルタワー

痰吐きジジィのチンポが18階の(どこの島かは言わないよ)20代の女の娘のオマンコに
入って行くウゥウウウーーー!
http://o.5ch.net/1lejw.png
952デフォルトの名無しさん
垢版 |
2019/12/28(土) 22:27:10.71ID:WD8h4qtV
>>950
sys.argv[0]じゃなくて絶対パス(/Users/hogehoge/Desktop/testWrite.txt)で出来るのか試してみて、
出来るなら、print(sys.argv[0])で何が違うのか確認するべき
2019/12/28(土) 22:38:08.38ID:b3ohKRMf
Using sys.executable and sys.argv[0]
https://pyinstaller.readthedocs.io/en/stable/runtime-information.html
2019/12/28(土) 22:59:25.11ID:Jn+mNcKi
画像高画質化アプリがすごいんだが
https://matsuri.5ch.net/test/read.cgi/morningcoffee/1577518892/

このスレにあるような綺麗な拡大ってPyhonで可能ですか?
955デフォルトの名無しさん
垢版 |
2019/12/29(日) 07:36:42.64ID:qv2BWJ9R
>>952
プリントして表示したらパスが分かりました
ありがとうございました
2019/12/29(日) 10:02:17.84ID:12vQU2ip
>>954
理屈的にはできるはず
完成できるかどうかはおまいの腕前次第
957デフォルトの名無しさん
垢版 |
2019/12/29(日) 12:26:24.81ID:kibmeFOr
そういうライブラリがあるか聞いてるわけではなくて?
958デフォルトの名無しさん
垢版 |
2019/12/29(日) 13:42:27.55ID:49gQrlWf

m3SXtna
61x65 96dpi 24bits


o9qwWuG
511x509 96dpi 24bits

横 8.38倍
縦 7.83倍

なんかきもい
959デフォルトの名無しさん
垢版 |
2019/12/29(日) 13:43:04.58ID:49gQrlWf
品質はともかく出来るか出来ないかで言えば出来るだろう
元のより拡大後の方が綺麗に見えるっていう加工にすぎない
2019/12/29(日) 14:00:37.11ID:Zt6NZoPC
>>954
waifu2xでググれ
2019/12/29(日) 14:04:35.53ID:9RsW793u
>>960
そういうレベルの拡大画質ではないかと

スレの師匠方でも「理論としては可能」というくらいだとかなり難しいという事ですね
2019/12/29(日) 14:09:06.77ID:L6E4sJV0
つかこれの可能不可能は言語的な制約によるものではないだろ

頭わりぃな
963デフォルトの名無しさん
垢版 |
2019/12/29(日) 14:24:25.04ID:49gQrlWf
画質は落ちてても人間には綺麗に見えるフィルタなんていくらでもある
「画質」とか「綺麗」とかの定義と客観的定量的指標が必要
2019/12/29(日) 14:34:23.11ID:Zt6NZoPC
>>961
そういうレベルw
モデルを顔写真用にトレーニングせずにそのまま使ってもそりゃダメだろ
GANs使ってアイコラ自動生成するアプリと同じ
2019/12/29(日) 14:59:54.30ID:Zt6NZoPC
https://github.com/phillipi/pix2pix
https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix

この辺使って粗い拡大写真とキレイな拡大写真のペアでトレーニング
2019/12/29(日) 16:59:36.46ID:krz96WXE
pygameのmusicでmp3を流すと、ファイルによってはオクターブが下がったり超低音のくぐもった音で再生されてしまいます。
vlcプレイヤーなどで再生すると同ファイルは正常に再生できるのですが・・・。
さらに後者の現象の後はdouble free or curruption(out)というエラーが発生しています。こんな現象に遭った方いらっしゃいますか?
2019/12/29(日) 17:14:09.99ID:5+fH2orr
ゲーム作るならどうせ遅かれ早かれPythonは卒業することになるんだから、
時間を無駄にする前にそろそろunityにでも乗り換えたらどうかな
2019/12/29(日) 18:38:19.91ID:2GmPR76J
>>963
> 画質は落ちてても人間には綺麗に見えるフィルタなんていくらでもある
マジで?
2~3紹介してくれ
969デフォルトの名無しさん
垢版 |
2019/12/29(日) 22:57:27.79ID:qv2BWJ9R
Windowsのパスを指定するときって\を使う場合と/を使う場合がありますが
/を使うと不具合が起きるような場合ってありますか?
970デフォルトの名無しさん
垢版 |
2019/12/30(月) 01:23:59.84ID:AcEus5TP
pipenvを最近使い始めたのですが、疑問点があります。
一度仮想環境から出たあと、pipenv shellを行い、再度仮想環境に入り直そうとすると仮想環境が作り直されます。
毎回pipenv installを行い、ライブラリをインストールしなくてはならないのでしょうか。
2019/12/30(月) 09:02:33.89ID:4+GP0CVf
>>970
pipenvはプロジェクトごとにフォルダを沸かせて管理してくれやがりますので

Linux系なら
1かいめのpipenv shellのあと
「echo $VIRTUAL_ENV」して
応答で表示されるパスを覚えとけ(ここでは仮に/Users/hoge/fooがかえってきたものとする)
あるいは(echo $VIRTUAL_ENVが反応しなかったときなども)
普段「python -m venv /Users/unko」とかでpipenvをよんでるとおもうので
そのパスをメモれ。

でもって
「export $VIRTUAL_ENV=/Users/hoge/foo」みたいに
魔法の呪文をシェル設定ファイルに書いておけ
2019/12/30(月) 09:15:28.10ID:c2EGbkdv
>>961
GANなので画像を補正しているわけではなく、生成している
2019/12/30(月) 09:23:57.98ID:5wgoa0WT
Pyhtonは外部ライブラリの氾濫とenv関連の乱立でダメになったね
シンプルで学習コストが低いという最大の強みが
言語本体ではなく周辺環境の学習・構築コストが著しく高くなったことで
相殺されてしまった
Guidoさんも嘆いているだろう
2019/12/30(月) 09:31:30.67ID:4+GP0CVf
>>961
きれーに拡大できる画像づくり ≒ ラスタ画像→ベクタ画像の自動変換 は
過去から現在まで
世界各国様々なやつらが
いろいろとがんがってきて
あれやそれやと販売してきはているのだが
未だ「コレダ!!!(´∀`)9 ビシッ!」という優れた製品が出てないのだ。

bmp→jpegで落ちる部分を補完するのだって
りくつはわかるが
おれたちに満足が行くクォリティの実行は
きっと不可能ではないのだろうが、
やっぱりゲキムズ
2019/12/30(月) 09:47:56.63ID:U65gHr2Q
>>970
export PIPENV_VENV_IN_PROJECT=true
をシェルの設定ファイルに書いておけば、プロジェクトのルートディレクトリに.venvという名前で仮想環境を作ってくれる
2019/12/30(月) 13:21:48.69ID:cw4EWtnb
pipenvがこれからのスタンダードになってくかと思いきや、最近はなんだかpoetryの方が良くね?って空気もあるし、かと思いきや名前忘れたけど新しい有力なパッケージマネージャが出てきたとかなんとか

どれを使えばええんや
977デフォルトの名無しさん
垢版 |
2019/12/30(月) 14:02:48.63ID:WAqdspci
>>974
情報のエントロピー的に上限がある
それを超えるのは異世界にでも行かないと無理
2019/12/30(月) 14:33:22.82ID:Nw7Rp9O2
>>976
3年くらい待つ
2019/12/30(月) 14:42:59.25ID:g0RN7zwT
>>973
もともと環境の分離が考えられてなかったpythonの造り自体にも一因があると思うぞ。
そのあたりの古臭さは結局最後まで改善されなかった。
2019/12/30(月) 15:10:41.52ID:0ybHI6rZ
>>979
環境の分離が考えられた言語って何?
2019/12/30(月) 15:36:40.82ID:vvSvem59
>>980
nodeは標準でpipenv相当のパッケージマネージャが付属している
Goはコンパイラ自体がパッケージマネージャの機能を有しており、その上すべてをスタティックリンクするから実行環境にも依存しない
982デフォルトの名無しさん
垢版 |
2019/12/30(月) 15:56:12.12ID:UTSCwLrd
Rustは
983デフォルトの名無しさん
垢版 |
2019/12/30(月) 17:34:06.16ID:kgySNqX2
https://stackoverflow.com/questions/3520493/python-show-in-finder

上記のURLの回答に出ているsubprocess.callの、「-R」っていうのは何をするオプションですか?
2019/12/30(月) 17:43:03.33ID:w8cwRlld
>>983
Mac使ってるんならman openで確認できるよ
985デフォルトの名無しさん
垢版 |
2019/12/30(月) 18:00:57.78ID:kgySNqX2
>>984
ありがとうございます。
subprocess.callというのはunixコマンドを呼び出すもので、-Rオプションを付けると開くのではなく選択状態にするだけということですね。
2019/12/30(月) 23:38:37.05ID:p3QJuMJ/
Ruby のBundler が基本!
それを真似たのが、Node.js のnpm, yarn、
PHP のComposer

つまり、恥も外聞もなく、Ruby のシステムをパクったものが勝つw

>>969
Windows 10 で、Ruby を使っているけど、/ パス区切りで、問題ない!

Dir.glob( 'C:/Users/Owner/Videos/openload/*' ) do |full_path|
処理
end
2019/12/31(火) 08:33:34.47ID:awsyjiM+
pipenv
 vs
poetry
  vs
pyflow
2019/12/31(火) 09:01:54.02ID:CC12AHqY
グーグルに頼んでGoのコンパイラをPython対応にしてもらうしかないだろう
バイナリにしちまえばPythonのあらゆる欠点を改善できる
989デフォルトの名無しさん
垢版 |
2019/12/31(火) 09:55:13.97ID:6hm8iNMc
pipenvは、仮想環境を取り込んでしまったのがそもそも大間違い。
パッケージ管理だけに特化すれば良かった。
poetryは一応外せるようにはなってるね。
2019/12/31(火) 10:18:40.82ID:YPeginhU
pythonはパッケージをpythonバイナリからの相対位置で探すから、プロジェクトごとに
パッケージを分離しようとすると基本的にpythonバイナリごと丸コピーになる。
poetryってのも裏で仮想環境用意しているんじゃないかと思うが。
2019/12/31(火) 10:28:29.41ID:awsyjiM+
とりあえずcondaはもう二度と使わないけどな
2019/12/31(火) 11:37:12.59ID:Ja8RsyWS
>>990
プロジェクトディレクトリからの相対パスをsys.pathに入れたければ
PYTHONPATH使えばいいんでないの?
2020/01/01(水) 08:43:33.71ID:HPE60y2L
blackとかいうformatterめっちゃいい
2020/01/01(水) 18:49:14.83ID:XDdD4uFM
エラー文に表示されるハットキャレットはエラー位置を示しているのでしょうか。
2020/01/01(水) 20:10:34.99ID:zZ41nBr+
違う
「ここで構文解析が行き詰りました」を示す
996デフォルトの名無しさん
垢版 |
2020/01/02(木) 14:54:56.28ID:m/E2OLKG
0**0
997デフォルトの名無しさん
垢版 |
2020/01/02(木) 15:58:06.26ID:ZUrZA+uS
くだすれPython(超初心者用) その45【Ruby禁止】
https://mevius.5ch.net/test/read.cgi/tech/1577948214/
998デフォルトの名無しさん
垢版 |
2020/01/02(木) 16:03:11.21ID:a+sObGCf
ナイス
999デフォルトの名無しさん
垢版 |
2020/01/02(木) 16:10:53.55ID:NYIo0K4b
もっと PYTHONIOENCODING 使おう
1000デフォルトの名無しさん
垢版 |
2020/01/02(木) 16:12:17.43ID:NYIo0K4b
くだすれPython(超初心者用) その45【Ruby禁止】
https://mevius.5ch.net/test/read.cgi/tech/1577948214/
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 78日 5時間 55分 5秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況