Pythonのお勉強 Part54 [無断転載禁止]©2ch.net

レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
垢版 |
2017/09/01(金) 16:44:47.30ID:igIE9hK/
Pythonオフィシャルサイト
http://www.python.org/

テンプレ等は2以降で

■前スレ
Pythonのお勉強 Part53
http://mevius.2ch.net/test/read.cgi/tech/1494683284/
2017/09/01(金) 16:47:55.01ID:igIE9hK/
まとめWiki
http://python.rdy.jp/
関連スレ
ttp://find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python
日本Pythonユーザ会 (※英語わかる人は上記のオフィシャルの方を見ることをお薦めします)
http://www.python.jp/
2017/09/01(金) 16:49:33.54ID:igIE9hK/
PythonのUnicodeEncodeErrorを知る
ttp://lab.hde.co.jp/2008/08/pythonunicodeencodeerror.html
よくまとまってた。あとで読む
2017/09/01(金) 18:26:56.44ID:igIE9hK/
※NGワードの対象がわからずテンプレが分散してしまった事をお詫びします。本来なら以下の通りでした。

Pythonオフィシャルサイト
http://www.python.org/

まとめWiki
http://python.rdy.jp/
関連スレ
http://find.2ch.net/?BBS=ALL&;TYPE=TITLE&STR=python
( http://find.2ch.net/search?q=python )
日本Pythonユーザ会 (※英語わかる人は上記のオフィシャルの方を見ることをお薦めします)
http://www.python.jp/

日本語の扱いで戸惑ったらこちらをどうぞ(バッドノウハウ集で笑える)
ttp://atomic.jpn.ph/prog/etc/encode.html
ttp://d.hatena.ne.jp/kakurasan/20100330/p1

PythonのUnicodeEncodeErrorを知る
ttp://lab.hde.co.jp/2008/08/pythonunicodeencodeerror.html
よくまとまってた。あとで読む

■前スレ
Pythonのお勉強 Part53
http://mevius.2ch.net/test/read.cgi/tech/1494683284/
2017/09/01(金) 22:23:20.93ID:s7S78XWR
>>1
乙です
2017/09/02(土) 11:30:47.62ID:kvegxCVp
>>乙ポニテ
7デフォルトの名無しさん
垢版 |
2017/09/02(土) 12:41:22.43ID:iq9GfprR
https://www.hellowork.go.jp/servicef/130020.do?action=initDisp&;screenId=130020
ハロワでPythonの仕事探してみたけど一件もヒットしなかった
2017/09/02(土) 14:48:58.40ID:u3n2hLEm
ハロワのブラック企業にはpythonは使いこなせないだろうなwantedlyで探してみたら
2017/09/02(土) 15:10:43.65ID:aKYCk/lv
>>8
そっちも大概だぞw
インターンやりがい搾取、DMCA takedownによる言論封殺
2017/09/02(土) 15:13:13.25ID:FxmYDPin
win10
11デフォルトの名無しさん
垢版 |
2017/09/02(土) 23:21:47.79ID:rB4qKA16
ハロワでPHPもJavaも一件もヒットしないなんでだ
2017/09/03(日) 01:34:36.95ID:geIpoLbn
VBだろ
VBAの可能性もあるか
13デフォルトの名無しさん
垢版 |
2017/09/04(月) 20:39:47.81ID:6BPzpkU/
落ちてないですよね?
2017/09/05(火) 04:46:40.24ID:W1DAK2a5
https://ideone.com/wSgPJA
このコードを 3.6.2 で実行した結果は、皆さんのところではどうなりますか?
2017/09/05(火) 06:31:02.82ID:NULUZxMm
>14

https://ideone.com/0ulo6j

バグとっておいたよ。
2017/09/05(火) 11:01:56.60ID:HlhBpTL6
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

Pythonのスクリプトでシェバン行って無意味ですか?
ネット上のサンプル等でも書かれてない場合が多い気がするんですが
自分的にはこれはPython3だよ!ってコメント的な意味でも付けて置いた方が
50年後とかに見返した時に間違ってpython4や5で実行しなくて済むと思うんですが
2017/09/05(火) 11:56:10.38ID:R7K5cu+n
シェバンの意味を知ってるなら自ずと分かると思うけどなぁ
ただのコメントではないよ
18デフォルトの名無しさん
垢版 |
2017/09/05(火) 12:21:18.36ID:P2jRu54V
ただのコメントなんですが
2017/09/05(火) 12:31:04.22ID:fgaIXgJY
>>15
おかしいな,手元の教科書では import secrets でもいけるって書いてあるんだが
20デフォルトの名無しさん
垢版 |
2017/09/05(火) 12:41:41.59ID:3taXOIUD
>>19
https://ideone.com/wSgPJA
の何行目ででimport secretsしてるの?
21デフォルトの名無しさん
垢版 |
2017/09/05(火) 12:44:00.50ID:3taXOIUD
>>19
仮にimport secretsしてるなら、何行目でsecretsモジュール使ってるの?
22デフォルトの名無しさん
垢版 |
2017/09/05(火) 12:45:20.67ID:3taXOIUD
>>19
https://ideone.com/wSgPJA
の5行目は何をしているコードなの?
23デフォルトの名無しさん
垢版 |
2017/09/05(火) 12:49:31.22ID:3taXOIUD
>>14
https://ideone.com/wSgPJA
の実行環境のPythonのバージョンはいくつか確認した?
該当するバージョンのsecretsモジュールのリファレンスは見た?
24デフォルトの名無しさん
垢版 |
2017/09/05(火) 12:53:44.04ID:3taXOIUD
>>19
https://ideone.com/wSgPJA
の実行結果からどんなエラーが読み取れてますか?
それともどんなエラーが出てるか見当もつかない感じですか?
2017/09/05(火) 13:10:41.41ID:KNI/bM9A
ここはAIが回答するスレなのか
2017/09/05(火) 18:44:37.52ID:WkIFt9xI
>>16-18
shebang シバン

シェルで、コマンドを打った時、
そのファイルの1行目が、#! で始まっていれば、
そこで指定されたアプリが実行される
2017/09/05(火) 18:50:03.79ID:fgaIXgJY
>>24
どんなエラーが出ているのかもわからない状況です.
よろしくお願いいたします
2017/09/05(火) 19:36:47.94ID:fUlT+k+L
>>18
https://ja.m.wikipedia.org/wiki/%E3%82%B7%E3%83%90%E3%83%B3_(Unix)
2916
垢版 |
2017/09/06(水) 13:22:16.53ID:1mqyHkeJ
すいません なぜだかPythonはファイルをダブルクリックしても実行出来ないって思い込んでました
今やったらちゃんとシェバンを解釈して実行できるじゃないですか
2017/09/06(水) 15:07:11.52ID:7EiuxJJT
>>29
> シェバンを解釈
するのは/bin/shとかだよ。
2017/09/06(水) 20:43:00.81ID:P+VnvHZA
>>30
知らないならテキトーなこと書くなよ

ファイル先頭のシバンを認識するのは、OSのexecveシステムコール (execを参照)を処理するルーチン中のプログラムローダーである。
https://ja.m.wikipedia.org/wiki/%E3%82%B7%E3%83%90%E3%83%B3_(Unix)
2017/09/06(水) 21:16:15.01ID:naxtovY6
>>30
ウソつき!
2017/09/06(水) 21:38:59.14ID:MwTTynDe
Windowsはpy.exeらしい
http://d.hatena.ne.jp/yohhoy/touch/20150320/p1
2017/09/06(水) 22:55:31.03ID:iVD0fgze
py.exeは「3」の数字を読みわけるだけみたいだけどな。
#!python3
#!python
でちゃんと振り分けられる。
2017/09/07(木) 00:55:16.38ID:VCE1Bt7S
py.exeは設定ファイル(py.ini)いじれば
#!pypy
とか
#!ironpython
とかなんでも行けるようになるので意外と便利
2017/09/07(木) 10:06:23.72ID:tsPQn4YW
>>31
そういうレベルというか処理の深い話をしても >>29 へのレスにならんでしょう。
#!/bin/no-such-file でも設定して実行してみれば、発言趣旨は分かるんじゃないの。
2017/09/07(木) 12:39:46.60ID:9W4DbE9g
>>36
だからと言って嘘書くのはどうなの?
2017/09/07(木) 13:19:58.48ID:OX0H7kxm
>>36
ウソつき!朝鮮人!
3916
垢版 |
2017/09/07(木) 16:23:55.39ID:iDOikERf
>>36
質問者が馬鹿だからいい加減なことを言ったと言うんですか?
Pythonスクリプトのシェバン行をPython自体が解釈するなんて
そんな再帰的すぎてわけわからんことを私は一言も書いた覚えはありませんよ

馬鹿扱いされたのも不満ですが私自身が誤った仮定をもとに質問をした経緯があるのでそこは我慢しましょう
でも私の程度が低いからあなたは仕方無くいい加減な事を言ったみたいに言われると許せないですね

あと苦し紛れに #!/bin/no-such-file みたいな事を書くのもどうかと思いますよ
2017/09/07(木) 19:04:46.94ID:ic17m8+J
>>39
> 質問者が馬鹿
とも、
> Pythonスクリプトのシェバン行をPython自体が解釈するなんて
> そんな再帰的すぎてわけわからんことを私は一言も書いた
とも思わないが、端的に例示したものを、周りに煽られて理解できなくなってしまうのは困ったものだと思うよ。
まぁ俺の問題じゃないので虚実判断はご随意に。
2017/09/08(金) 06:40:51.83ID:aWHvbZxL
>>40
何を主張したいのか理解できないけど>>30が間違ってることとは事実だし>>29への回答として正しいとは思えない
42デフォルトの名無しさん
垢版 |
2017/09/08(金) 12:55:45.41ID:C2yBG9y5
知ったかぶりして間違いを指摘されて恥ずかしくて開き直る
誰だって一度や二度はあるだろ
優しくしてやれよバカにはw
2017/09/08(金) 14:55:29.43ID:nstaVsU2
知らない人が質問して
知ったかが回答して
知らない人が発狂して
便乗バカがイキってる ←今ココ
44デフォルトの名無しさん
垢版 |
2017/09/08(金) 16:07:30.61ID:uWWlJTJ6
そんなんどうでもいいからpycon見ようぜ
https://www.youtube.com/user/PyConJP
2017/09/08(金) 16:37:52.57ID:Ko0mSzYm
>>43
発狂してるの?
46デフォルトの名無しさん
垢版 |
2017/09/08(金) 19:40:11.90ID:uWWlJTJ6
今日の一番の収穫はWSGIの発音
2017/09/08(金) 20:00:48.88ID:vxnIJsn+
もとから上杉って読んでた
48デフォルトの名無しさん
垢版 |
2017/09/08(金) 23:13:16.40ID:rvKiayht
そんな事よりTIMTOWTDIの発音を知りたい
2017/09/08(金) 23:25:50.79ID:BvyHCW/y
Tim tought die.
2017/09/09(土) 03:10:32.81ID:eNKTWyDH
どうせ仕事にならない、使わないで終わるんだからやらなくていいだろ。
エロ画像のファイル名変換程度にしか使わないんだろうし

憤慨してディスクごと再フォーマットで全部消去でいいすよ。すっきりとする。
51デフォルトの名無しさん
垢版 |
2017/09/09(土) 11:06:25.43ID:2lDsKHBN
giとして利用しない限りwindowsでpythonやるならシェバンなんて書いても意味ない
52デフォルトの名無しさん
垢版 |
2017/09/09(土) 11:06:41.53ID:2lDsKHBN
cgiとして利用しない限りwindowsでpythonやるならシェバンなんて書いても意味ない
2017/09/09(土) 11:40:44.82ID:SQs0JGyk
>>51-52
>>33
2017/09/09(土) 12:16:42.90ID:LD32p8Pb
>>50
発狂したの?
2017/09/09(土) 14:31:56.88ID:aaTUoSby
どこの誤爆かは想像つくけど
2017/09/09(土) 19:38:44.66ID:yoSLsVW2
>>44
乙PyCon
http://www.amazon.co.jp/dp/4103169338
2017/09/09(土) 20:22:59.23ID:dz5TMHxm
もみじまんじゅう先生のSQLalchemyの、プロポーザル落選してたのか、聞きたかったな
58デフォルトの名無しさん
垢版 |
2017/09/09(土) 23:33:44.12ID:vJDwh+Fb
pandasのデータフレームを、SQLで操作できるメソッドとかあります?

イメージは、↓みたいなの
結果 = pandas.execSQL('select var1 from データフレム')
59デフォルトの名無しさん
垢版 |
2017/09/10(日) 06:08:26.45ID:uXnzsJ3Y
皆さんpythonでの開発には何のエディタ使ってますか?
ちなみに自分はspacemacsです
2017/09/10(日) 06:40:21.05ID:HOIDsnD3
>>59
Geany
2017/09/10(日) 06:59:16.97ID:Gppr5zJi
>>59
Visual Studio 2015
2017/09/10(日) 07:27:54.77ID:hoqehWy6
>>59
sublime text
2017/09/10(日) 07:43:27.94ID:t3bJtGR9
>59
Spyder
2017/09/10(日) 09:01:26.19ID:icHqIrv/
>>59
IDLE
2017/09/10(日) 09:34:05.80ID:MHLwOeUX
vim
2017/09/10(日) 09:51:23.38ID:yr1imV+v
>>59
pycharm
2017/09/10(日) 17:52:27.71ID:qI7Sb6Fh
VS2017
2017/09/10(日) 18:41:55.77ID:NMEh57cV
notepad++
2017/09/10(日) 20:12:52.63ID:d2J5YCuX
VSCode
2017/09/10(日) 21:43:29.03ID:OssprT9I
>>59
Vim
2017/09/10(日) 22:09:51.43ID:t+1LSybB
spyder最高
2017/09/10(日) 22:30:05.12ID:3iuxtVQP
>>59
エディタなんて飾りですよ。
えらい人にはわからないんですよ。
ちなみに私はpychamですけどね。
2017/09/10(日) 22:40:14.30ID:TmNELy41
emacs
2017/09/10(日) 22:41:46.90ID:rufR8bL3
>>59
Vim
2017/09/10(日) 22:53:57.03ID:1ZG5Z0dM
emacs + evil

でも、Python 用のカスタマイズはとくにしてないから、色付け・補完・eldoc くらいしか恩恵がない
2017/09/10(日) 22:57:40.04ID:W39ITVgd
vscodeをemacsキーバインドで。
ところでvim多いな。
2017/09/10(日) 23:06:28.31ID:oM7Oueur
ある長い文字列の中から一文字違いの短い文字列を探すアルゴリズムはどう書くとシンプルなのでしょうか?
イメージとしては、gmajtpwjadmjgptwみたいな適当な文字列からwnadと完全一致または一文字違いの部分を探す、というものです
一文字ずつ抽出・スコアリングが良いのかなあと思っているのですが、やたら長くなりそうなので...
2017/09/10(日) 23:14:16.74ID:t3bJtGR9
正規表現使って検索するのが楽なのでは。
wnad
.nad
w.ad
wn.d
wna.
の5パターンを検索すれば良いよね。
2017/09/10(日) 23:38:11.75ID:oM7Oueur
>>78
ありがとうございます
明日、早速試してみたいと思います
2017/09/11(月) 00:45:36.85ID:ZcpM57UY
in だけでいんじゃね
2017/09/11(月) 06:09:08.89ID:N8GjFiBe
>>59
Eclipse + PyDev
2017/09/11(月) 08:59:52.34ID:0Ujcm9dN
ttp://news.mynavi.jp/news/2017/09/11/021/
最も成長しているプログラミング言語はPythonだそうです
RubyよりPythonを選んだそこのあなた! 正解です
83デフォルトの名無しさん
垢版 |
2017/09/12(火) 10:05:01.03ID:6IqPqsBl
print文で出力をする際に
print(A + ' ' * B + C) と書くか
print(A +
' ' * B +
C)
と書くかでどちらの方が良いのでしょうか
2017/09/12(火) 12:51:54.87ID:JZIOiwXq
本当にシンボルが各1文字なら上
各シンボルが50文字くらいあったら下…ではなく必要十分に省略できるか検討する
無理なら80文字または100文字で折り返す
2017/09/12(火) 12:53:43.13ID:MhSokG3I
>>83
行が長すぎなければ一行のほうがいい
86デフォルトの名無しさん
垢版 |
2017/09/12(火) 13:04:48.54ID:6IqPqsBl
>>84 >>85
ありがとうございます
まずは1行で書いてどうしても無理なら折り返すようにします
2017/09/12(火) 16:31:14.95ID:682vHb+B
Windows10でpythonのAnacondaディストリビューションを使っています.
最近PCを新調して入れしなおしたのですが,py.exeがインストールされないみたいでshebangが実行されません.
一部のスクリプトで実行環境を分けたい事情があるのですが,何か良い方法ありますか?
88デフォルトの名無しさん
垢版 |
2017/09/12(火) 17:04:57.41ID:nMB4Ttkq
>>87
python -m venv env
2017/09/12(火) 17:27:42.60ID:682vHb+B
>>88
お返事ありがとうございます.仮想環境は作れました.
実行するときにshebangで環境指定して実行というのがしたかったのですが
venvのドキュメント読んでもよくわかりませんでした.
とりあえず,以下のバッチファイルから実行するようにしました.
activate env_name & python script_name.py & decativate
2017/09/12(火) 18:35:35.33ID:Yicf3ooe
そもそもAnacondaにpy.exeは付属していない
いつからって?今も昔もだよ

公式のCPythonのインストーラでカスタムインストールを選べば
py.exeだけインストールできる
CPythonのアンインストーラがデフォルトだとpy.exeをアンインストールしないので
後からAnacondaをインストールした時に一緒にインストールされたと
勘違いしたのだろう
2017/09/14(木) 09:41:40.61ID:LhtzuhrL
もちつけ
2017/09/14(木) 21:15:45.82ID:NMG+mSCl
>>7
いまどきハロワで仕事探してる時点でヤバイだろ
あそこは手当もらう人とジジババが行く場所
2017/09/15(金) 15:27:03.56ID:In6oP8OB
EXCELのVBAぐらいで開発環境について何もわからないんですが
Pythonista for iOS
これ買おうか迷ってます。1200円ってなんでアプリだと高く感じるのでしょうねw
2017/09/15(金) 15:37:20.66ID:hTT2FJQF
いらね
2017/09/15(金) 16:21:46.71ID:GvXgR9JU
スマホでコード書くのはとてもつらいよ、それでもよければ
2017/09/15(金) 16:30:03.88ID:fK706mjg
そんなゴミ宣伝されても誰も使わんぞ
2017/09/15(金) 20:50:57.52ID:oTxEbNPB
キーボードついてないのでよくやろうとおもうな
2017/09/15(金) 21:44:37.73ID:2gj3jaOv
脳がやられてる
2017/09/16(土) 01:55:06.46ID:LfRMSvQy
>>93
電車の中で閃いた時とか使ってるよ
2017/09/16(土) 15:36:59.46ID:eVQeLfYm
pythonのパッケージってあっちのプロジェクトでfoo.bar、こっちのプロジェクトでfoo.bazみたいにできなくて
それぞれfoo_barとfoo_bazみたいな名前でやるものなの?
101デフォルトの名無しさん
垢版 |
2017/09/16(土) 16:40:44.38ID:ZCzFTInQ
馬鹿には無理
2017/09/16(土) 18:32:26.95ID:/JC94Ghp
技術評論社のjupyter本読みたい 固定じゃなくてリフローなのは良いな サンプルで前書だけじゃなくて少し読めるのもいい
ただ3500円はちょっと高いんだよな紙なら中古を狙うんだけど
2017/09/17(日) 07:34:10.84ID:94F1yABd
bookliveの50%オフクーポンを狙おう
2017/09/17(日) 09:33:17.49ID:lTm1O41m
>>103
おお、こんなのあるんですね、
DRMの無いEPUBでダウンロードできると助かるんですが
2017/09/18(月) 01:25:54.63ID:f5p3OMSK
これってパチモン?
https://i.imgur.com/maETOxH.png
2017/09/18(月) 19:42:43.76ID:XZLwbfeX
scikit-learnって質問可?
2017/09/19(火) 21:16:48.29ID:fQSnv6qX
pythonでリアルタイムでスクレイピングして得られたデータをf.writeを使ってtxtに書き出しているんですが
たまーに
「PermissionError: [Errno 13] Permission denied:」
が出て止まってしまいます。
書き込みに失敗したんだと思いますが、書き込みに失敗しても無視してプログラムを動作させたいのですが解決策ないでしょうか
2017/09/19(火) 22:17:41.36ID:a5HHBQtN
try
2017/09/19(火) 22:59:49.51ID:ZGKo1etx
loggingのソース読むといいよ
110デフォルトの名無しさん
垢版 |
2017/09/19(火) 23:48:36.68ID:r8s5qxxU
>>109
うっかり読んじまったじゃねーか
何もいい事なかったぞ?
どうしてくれるんだこの時間
2017/09/20(水) 11:56:06.34ID:Egb6aVf6
>>107
try exceptしかないでしょ
2017/09/20(水) 17:55:05.32ID:dc5FfbS0
>>108
>>111
いけました!!ありがとう
2017/09/21(木) 01:07:38.58ID:IQO0NcCI
>>110
いやーマルチスレッド環境とかでも整合性保ったままファイル出力をするし、限りなくフェイルセーフだし読み直せよ
114デフォルトの名無しさん
垢版 |
2017/09/21(木) 12:51:23.09ID:ld/a+CFy
>>113
それを最初から言ってくれれば読まなかったのに
なぜ他人が自分と同程度に無能だと思い込んでる?
115デフォルトの名無しさん
垢版 |
2017/09/21(木) 19:43:50.84ID:Zrk70d4z
ここってchainer2の話題も使っていいんですかね
一応言語自体はpythonなんですが
2017/09/21(木) 19:52:21.47ID:LeiVPv27
google playでandroid版のqpython3入れたんだけど、
pipでnumpyインストールしようとしたら、versionが2.7か3.4以上じゃないとダメと怒られた。
ちなqpython3は3.2.2らしい
どうやればいい?
2017/09/21(木) 20:27:13.33ID:eO+K9X9n
オモチャでプログラムなど書こうとしなければいい
2017/09/21(木) 20:30:03.98ID:eO+K9X9n
>>115
質問の重点がプログラム寄りならいいんじゃねえの
機械学習寄りでも駄目ではないだろうが、機械学習スレの方が回答率はいいだろう
2017/09/22(金) 01:50:30.66ID:/scI4GeO
numpyで配列のサイズが[100, 50, 5]のがあった時に
for文で回して要素を取るにはどうすればいいですか?
イメージこんなです

for elem in array:
elem[0] += 1
elem[1] += 2
elem[2] += 3
elem[3] += 4
elem[4] += 5

こんな感じで行列毎に取り出して100,50の部分の要素を別々にインクリメントしたり

for elem in array:
elem += 1

こんな感じで全要素を順に取り出したり
これをforでやる方法ありますか?
2017/09/22(金) 09:02:12.24ID:FQzxPdXr
>>119
2重もしくは3重ループじゃダメなの?
121デフォルトの名無しさん
垢版 |
2017/09/22(金) 12:35:11.18ID:+ztvQQeL
>>118ありがとうございます

https://gist.github.com/odashi/8d21f8fc23c075cd3042#file-chainer_encoder_decoder-py
ここのencoder_decoderをchainer2に対応できるように書き換えていたんですが、
100行目のmake_modelのFunctionSetの書き換えで詰まってしまいました。
何か打開策はないですかね?
2017/09/22(金) 14:22:32.57ID:/scI4GeO
>>120
やっぱそれしかないですよね。
せっかくpythonなのでオブジェクトでfor回してスマートにしたいなと思ったのですが
ベタに多重することにします。
2017/09/22(金) 14:37:37.85ID:LctYwK3Y
>>115
まあとりあえず質問内容を書いてみ?
だいたい答えられないから
2017/09/22(金) 16:07:46.82ID:FQzxPdXr
>>122
質問のニュアンスが良くわからないんだけど、こういうのか?
https://docs.scipy.org/doc/numpy/reference/generated/numpy.nditer.html
2017/09/22(金) 16:57:35.09ID:/scI4GeO
>>124
arrayを[100, 50, 3]として全要素をいじりたい時に例えば

rows, cols = array.shape[:2]
for y in rows:
for x in cols:
array[y][x][0] += 1
array[y][x][1] += 2
array[y][x][2] += 3

こんな処理があったとして、これをarrayオブジェクトに対するforで回したい、こんな感じで

for elem in array:
elem[0] += 1
elem[1] += 2
elem[2] += 3

変数elemにarray[y][x]が順に入るイメージ。このままじゃ無理なのは分かってるけど、上のコードと下のコードが等価になるにはどうすればいいかな?
2017/09/22(金) 17:31:13.29ID:v2IrJydm
こういう感じ?

>>> a = np.array([[[1,2],[3,4],[5,6]],[[7,8],[9,0],[1,2]]])
>>> a
array([[[1, 2],
[3, 4],
[5, 6]],

[[7, 8],
[9, 0],
[1, 2]]])
>>> a + np.array([1,2])
array([[[ 2, 4],
[ 4, 6],
[ 6, 8]],

[[ 8, 10],
[10, 2],
[ 2, 4]]])
2017/09/23(土) 01:03:29.60ID:sifN4c3b
ああ、確かにこの例だとそれでも出来るのですが
本当は各要素に対して関数を適用したいので、全要素を順に取得したいです。
2017/09/23(土) 03:24:55.65ID:fKr0IULB
情報を小出しにするといいことないですよ
2017/09/23(土) 08:21:08.80ID:lzsxMVjf
バカ「こういう風にしたいのですが、何か良い方法はありませんでしょうか?」
親切「うーん、こうすればできるよ」
バカ「ああ、確かにこれならできますが、本当はこうしたいのです」
親切「・・・じゃあ、こうすればどうかな?」
バカ「なるほど、でも実はこうしたいので、これではチョット・・」
親切「・・・(なんじゃこいつ)」
2017/09/23(土) 09:05:36.29ID:lzsxMVjf
奥さん、多重ループしたくないならproductですよー
>>> import itertools
>>> elem = itertools.product(range(100), range(50), range(3))
>>> for x, y, z in elem:
print(x,y,z)


0 0 0
0 0 1
0 0 2
0 1 0
0 1 1
0 1 2

でも、numpyでforループ使うのはイケてないらしいですよ、meshgrid使うんだってさ
ttp://nasing-i.hatenablog.jp/entry/2014/04/13/192446
2017/09/23(土) 09:30:18.64ID:sifN4c3b
>>128>>129
小出しというか、ただの例を出しただけであって
やりたいことは全要素の取得のためにforループを回すことってちゃんと書きましたよね?
変な例を出したこっちも悪いですけど揚げ足取るように違うやり方でやられましても。
2017/09/23(土) 09:36:01.95ID:Uq1a1A6T
まあ、質問の仕方が悪かったよね
ほんとスイマセンでした
2017/09/23(土) 09:46:00.39ID:RM5wdVZL
>>130
>でも、numpyでforループ使うのはイケてないらしいですよ、meshgrid使うんだってさ
ま、まじか。こんなもんあるとは
2017/09/23(土) 11:08:09.73ID:m/zLXFdu
>>131
謝るより死んだ方がいいよお前
2017/09/23(土) 11:12:07.93ID:sifN4c3b
まだ死にませんよ!
2017/09/23(土) 15:01:39.17ID:Dvp9BlYO
>>131
2017/09/23(土) 22:14:37.07ID:a8WpPeB5
なんで聞く立場でこうも上から行けるんだか。。
自己解決して情報展開もせず立ち去る連中と同じように、質問系では向いてない性格なんだろうな。
2017/09/23(土) 23:27:48.04ID:lzsxMVjf
これが質問スレの日常! どんどん質問してネタ投下してねっ☆
2017/09/23(土) 23:28:39.23ID:nAanI8EG
スルーしようよ...
140デフォルトの名無しさん
垢版 |
2017/09/23(土) 23:43:10.17ID:UvR7p8sn
>>137
そもそも質問スレってのは質問者がまわすもんだし
得てして回答者はバカばかりなのだから
普通の人が質問すると自然に立場が上のようになるもんだ
2017/09/23(土) 23:45:02.09ID:+YpHx5nV
pyinstallerで実行したファイルくっそ初回起動遅くて苛ついてたけど
--onefileオプション取れば普通に速いのな

フォルダ容量500MBくらいになったけど
不要っぽいファイル消したら70MBくらいになったしようやくexe化捗ってきた
2017/09/24(日) 01:41:24.19ID:wQofQkTQ
pyconJPで英語で発表してるやつ死ねばいいのに
下手くそな英語聴くくらいなら海外の見るわ
2017/09/24(日) 03:02:10.84ID:cmc+LxR1
低学歴嫉妬乙
2017/09/24(日) 19:28:04.35ID:p9VBQVfJ
日本語で発表すると馬鹿にされるんだもん!
2017/09/24(日) 21:29:13.46ID:YVsG5GQU
質問ッス!
Pythonでパッケージを書くときに、(C++でしばしばみられるような)1クラス1ファイルというスタイルでやったとします
例:
 some_package\__init__.py: (空)
some_package\Foo.py:
  class Foo: ...(中略)...
some_package\Bar.py:
  class Bar: ...(中略)...

Q1. このパッケージで使う側のコードで直に(パッケージ名またはそのエイリアスの修飾無しで)FooとかBarを使いたい場合、
from some_package.Foo import Foo
from some_package.Bar import Bar
とか使う側のコードにどうしてもずらずら書かなければならんのでしょうか…
「impot some_package」一発とか、簡単な記述で済ませる方法とか無し?

Q2. そもそも1クラス1ファイルに代わる良い推奨スタイルってあります?
146145
垢版 |
2017/09/24(日) 21:32:51.48ID:YVsG5GQU
Q3. >>145のパッケージ構成において、class Barがclass Fooに依存している
 (かつ、パッケージ名の修飾無しで「Foo」と書かれている)という場合、
 やっぱりBar.pyの中に「from Foo import Foo」と手動で書かねばならないのでしょうか。
 同一パッケージ内の依存関係を自動で解決してくれるようなしくみは無し?
2017/09/24(日) 21:43:58.55ID:RilD+rrv
numpyに入れられるならnumpy.ndenumerateじゃだめなのけ?
2017/09/24(日) 22:55:00.61ID:b3LhVHrq
A1. __init__.pyに
 from . import Foo
 from . import Bar
 と書いておけば一発じゃよ
149デフォルトの名無しさん
垢版 |
2017/09/25(月) 08:06:35.04ID:qYcgX0il
インタラクティブシェルで
import pyperclip
pyperclip.copy('Hello World!')
pyperclip.paste()
ってやると'Hello World!'って出したいところ
''ってブランクが返って来ちゃうんですけど何がいけないんですかね?
pythonのversionは3.6.1です
2017/09/25(月) 09:46:14.22ID:35B1P/qq
pythonよりosの方が怪しい
os何よ
Macだと以下のようなissueがopenになっているがどうか

https://github.com/asweigart/pyperclip/issues/76
151デフォルトの名無しさん
垢版 |
2017/09/25(月) 17:59:38.58ID:Xnx02yFE
>>150
おおーまさにmac sierraです
頂いたURL確認しますありがとうございます!
2017/09/25(月) 22:01:32.24ID:iGYisupr
>>148
ホンマや!ホンマにできた!
ありがとうおっちゃん!!
2017/09/26(火) 22:31:21.18ID:2AMXc3+5
pythonを業務で使用したいと思っているのですが(オープンソース商用利用可!!)
勝手にパソコンにインストールするとバレて怒られるのでやりたくないです

自宅pcでjupyterを公開で起動して(もちろんパスワードかける)会社からアクセスして使用するのはセーフですよね?
2017/09/26(火) 23:09:15.98ID:h5viRmHi
初歩的な質問ですいません
変数
aで0(1234)56となっています="(1234)"
2017/09/26(火) 23:12:32.84ID:h5viRmHi
途中で書き込んでしまいました
a="0(123:4)56"
この文字列aから"("と")"を削除するにはどうすれば良いのでしょうか
半角の括弧だけ全て削除したいのです
Python3を使っています
初歩的な質問ですいません
2017/09/26(火) 23:23:44.70ID:h5viRmHi
すいません
自己解決しました
re.subで上手く行かなかったため書き込んだのですが、
どうやら取得していた文字列に問題があったようです
失礼しました
2017/09/28(木) 03:11:58.16ID:0+WFHGuU
プログラミング入門者におすすめソフト教えてつかぁさい
今現在は geany+python です。

ゼロからはじめて、やっと任意のテキストファイルに書かれた日本語を.pyで読み上げさせる事が出来たレベルのホヤホヤです。
次はLチカに挑戦しようかと。

ラズベリーパイゼロでやってるので
動作の軽いソフトでおすすめお願いします。
2017/09/28(木) 09:08:48.48ID:jnkw0HvM
python本体に付属しているturtleとかでいいんじゃないか
幾何学模様作るのそこそこ楽しいぞ
2017/09/28(木) 10:16:31.53ID:PJxaABWy
>>153
アウト
死ね
2017/09/28(木) 10:17:36.24ID:PJxaABWy
>>157
加速度検出とかしたいよな
2017/09/28(木) 11:32:43.22ID:eTm8mB/K
pythonでhtmlをmysqlに挿入しようとしているんですが、
htmlに#が含まれているとそこから先がコメント扱いになってしまいうまく処理できません。
対応方法ご存知の方はいらっしゃりませんか?
2017/09/28(木) 12:23:51.98ID:PJxaABWy
スレチ
もしくは板違い
163デフォルトの名無しさん
垢版 |
2017/09/28(木) 12:27:16.44ID:S/iCH99m
何を参考にしたら>>161みたいな作り方してしまうの
164デフォルトの名無しさん
垢版 |
2017/09/28(木) 12:36:25.85ID:jI3aCg9x
#がコメントなのはunixのシェルに準じてるのだと思うが
2017/09/28(木) 13:33:47.39ID:eTm8mB/K
>>163
何も参考にしてないけど、
htmlタグも一緒に保存できると、リンクとか装飾とかも再現できるんでそうしました。
レス番の頭やURL等にに「#」が使われてるんで、うまく稼働しませんでした。
何か変ですか?
2017/09/28(木) 15:01:22.69ID:33/YCI2Z
文字列中の「#」がコメント扱いされるわけないよ
2017/09/28(木) 15:32:38.00ID:9F6QyTaM
>>165
何か参考にした方がいいね
自分が扱ってるデータがPythonのコードなのかHTMLなのかごっちゃになってるんでしょ
わざわざMySQLに入れないで普通のファイルとしてディスクに書き出せば
2017/09/28(木) 15:39:22.41ID:eTm8mB/K
'[<a href="http://keijiban.com/#pos_box"; title="#951へ返信">#951</a>]',
URLは変えてるけど、atomで見ると、最後の#951 の #以降からグレーアウトされる。(その前の#は問題ないのに)
atomの問題かもしれないが、mysqlで対話式にこのSQLを実行すると正常に完了するが、python から cursor.executeで実行するとsyntax Errorになる。
変数使わずに固定文字でやってるんだけどな。良く分からん。
別の方法で回避してみる。
2017/09/28(木) 15:41:00.28ID:eTm8mB/K
>>167
そうしてみます。
2017/09/28(木) 15:55:55.01ID:33/YCI2Z
分かった! raw文字列でやってみーや たぶん/がエスケープ悪さしてるんやでぇー
↓r付けてやってみなさい

r'[<a href="http://keijiban.com/#pos_box"; title="#951へ返信">#951</a>]',
2017/09/28(木) 20:59:38.26ID:jleL80is
ソース開かないで簡単にドキュストリングだけ見る方法教えて下さい
172デフォルトの名無しさん
垢版 |
2017/09/28(木) 21:04:17.93ID:S/iCH99m
>>165
最低限使ってるライブラリのリファレンスはちゃんと読んだ方ががいい
そしたら、そんなことにはならんから
2017/09/28(木) 23:35:01.50ID:omWYe6un
>>171
つhelp
2017/09/29(金) 08:51:23.55ID:cAqSFHn1
リファレンス嫁とかいうレベルの話ではなくただのsyntax Error
175デフォルトの名無しさん
垢版 |
2017/09/29(金) 18:06:12.42ID:8aksHpnt
(´・ω・`)アマゾンでオライリー検索したらpython系の本がむちゃくちゃ多いね
なんでやろ?
時代の流れ的にpython習ったほうがいいんやろか?
2017/09/29(金) 18:58:06.36ID:Q6glRyOo
printと打つつもりがついprintfと打ってしまう。
改行打つ直前についセミコロンを打ってしまう。
コロンはつい2連打してしまう。
勉強し始めはストレスたまるわ。
2017/09/29(金) 20:25:00.72ID:h7v1g30P
pythonスタートブックなみに評価高い3.x系の入門書ってあるん?
178デフォルトの名無しさん
垢版 |
2017/09/29(金) 21:04:42.72ID:ISmjFide
ウェブのチュートリアルで十分
2017/09/29(金) 21:27:50.89ID:c3tXL9dl
みんなのPython 第4版、2017
2017/09/29(金) 22:14:28.68ID:6Nj+nMkb
自分もPython3の教科書を探してて「実践力を身につける Pythonの教科書」が良さそうと思い
著者名で検索したらマイナビに連載企画があったので読んでみた
「ゼロからはじめるPython」
http://news.mynavi.jp/series/zeropython/001/
ところがパート9で出てきたライフゲーム眺めてるのが楽しくてPythonの勉強はやめてしまった
「9 生物集団の栄枯盛衰"ライフゲーム"を作ってみよう」
http://news.mynavi.jp/series/zeropython/009/
このライフゲームをマス目付きにする方法を教えて下さい
2017/09/29(金) 22:23:03.87ID:vhSDrOfc
はまったからさらにpython進めたくなったじゃなくて?やめちゃったん?
2017/09/29(金) 22:25:38.34ID:h7v1g30P
pythonの教科書知り合いだれも持ってないし見たことないんだよな...
2017/09/29(金) 22:32:18.42ID:l6DgfNNU
pythonの教科書よりtubeでいろんな講義聴いたほうが最初はいいよ
pandas, numpy, matplotlibくらいなら幾らでも外人が講義してるやろ
まぁmatplotlibとかbokehとか近いうち死語になるけど
2017/09/29(金) 22:44:38.93ID:9gXX4Dyt
.py 1ファイルでクールな事をやってる
初心者が参考になるサンプルがおいてるサイト紹介しろ下さい
2017/09/30(土) 00:36:23.07ID:5FWi1qeK
>>180
Libre Office のマクロを、Python で書けば?

Godot ゲームエンジンは、Python 風言語。
Godot をJavaScript にしたものが、Cocos Creator
18635歳
垢版 |
2017/09/30(土) 22:05:00.79ID:y8lb5R8S
こんばんは。頭の悪い皆さん。
setをintに変換するにはどうしたら良いのか教えて下さい。
2017/09/30(土) 22:37:39.98ID:bdWiGd6R
HAHAHA >>186 are very stupid
{'a', 'b', 'c'} ← This is set. It is never possible to convert set into int.
188デフォルトの名無しさん
垢版 |
2017/09/30(土) 22:44:23.88ID:V09SfC5o
型ヒントに関する質問です

自分と同じクラスのオブジェクトを返すメソッドの返り値の型ヒントはどう書けばいいのでしょうか>

class Hoge():
def huga(self) -> Hoge:
return self

とか書くと、mypy のチェックは通るのですが、実行時に

Traceback (most recent call last):
 File "hoge.py", line 3, in <module>
  class Hoge ( ):
 File "hoge.py", line 4, in Hoge
  def huga( self ) -> Hoge:
NameError: name 'Hoge' is not defined

とエラーになります。

型ヒントを書かなければ当然エラーにはならないのですが
18935歳
垢版 |
2017/09/30(土) 22:46:32.33ID:y8lb5R8S
意思疎通が図れないアスペの方ですか?
悪いんですけどコード出してくれます。

知能が低い人と会話すると疲れます。
190デフォルトの名無しさん
垢版 |
2017/09/30(土) 22:48:18.26ID:V09SfC5o
188 です。
クラス定義の方のコード、行頭の半角スペースが消されてしまいました。
全角で書き直すと
class Hoge():
  def huga(self) -> Hoge:
    return self
です。
19135歳
垢版 |
2017/09/30(土) 22:53:15.34ID:y8lb5R8S
真面目に質問してるのに、訳の解らないコードを貼らないで下さい。
怒りますよ?
192デフォルトの名無しさん
垢版 |
2017/09/30(土) 22:55:43.99ID:1jTnlOmW
set = int
2017/09/30(土) 23:07:09.43ID:BzLQ0tVY
setをintでっていうのは、
intをビット配列に見立てて、
i番目の要素があればi番目のビットを立て、i番目の要素がなければビットをオフにする、
ってことだと思う。
setに入りうるものが事前に分かっていて、0から順に連番を割り当てることが出来るなら、setのかわりにintで管理出来る。
競技プログラミングだと、bitDPとかで良く使う手法。
setに入り得る要素が沢山ある時は実用的でない。せいぜい60個くらいまでだと思う。
2017/09/30(土) 23:46:15.54ID:0FcI7aTY
>>190
そもそも return self ってオブジェクトのメソッドを呼び出して自分自身を返すの?それとも呼び出されるごとに新しくインスタンス作って返すの?

前者の場合、huga を呼び出せるってことは Hoge のインスタンスにアクセスしてる訳だから意味的におかしい
ファクトリみたいに呼び出されるたびに新しいオブジェクトを作るのか、シングルトンみたいに毎回同じオブジェクトへの参照を返すのか区別をつけなきゃならんと思う

ちょっと調べると似たような質問はあるけど..
https://stackoverflow.com/questions/40149768/python-type-hinting-to-return-class-in-function
2017/09/30(土) 23:47:25.21ID:Kp0KYdLM
順序があるset……?
196デフォルトの名無しさん
垢版 |
2017/09/30(土) 23:57:41.26ID:V09SfC5o
>> 194
huga()は、例が悪かったかもしれません。
元々書きたかったのは、ちょっと中身を変えた自分自身のコピーを返す関数です。

なので、新しいオブジェクトを返す関数です。
2017/10/01(日) 00:16:58.79ID:OHbSOJFd
>>195
set は重複を許可しない集合であって、順序がついててもおかしくない
他の言語にもOrderd Setみたいなコレクションがあるし、Python用にも作ってる人がいる
https://pypi.python.org/pypi/ordered-set
2017/10/01(日) 00:37:55.38ID:K0lZBGAK
>195
コンテナの中の順序があるかないかと、要素自体が順序比較をサポートするかどうかは別の話だよ。
setには、順序比較できる要素を入れることも出来る。

listに順序があるというのは、
[1, 2, 3]と[3, 2, 1]が区別されるということ。コンテナに入っている順番を区別している。
setに順序が無いというのは、コンテナに入っている順番が区別されないということ。

これらは、listやsetの要素が大小関係を持つ持たないということとは違う。
listか、setかに関係なく、1<2という順序関係はある。(この順にコンテナに入っている問
ことでは無い)
また、順序関係を持たない要素(たとえば複素数)であっても、listやsetに入れることはできる。

以上のように、コンテナに入れた順序を保持するかどうかと、要素自体が順序比較をサポートするかどうかは、別の話。

で、ビットマスクで集合を管理するときは、
コンテナに入れた順番は勿論記録されない。(なので、巡回セールスマン問題で訪問済みの頂点だけでなく、最後に訪問した頂点の情報も必要なときは、ビットマスクの他に、最後に訪問した頂点の情報もべっと保持する。)
要素に対しては、どこのビットがその要素を表すかを決める必要があるので、何らかの方法で要素に順序をつけることが必要になる。
2017/10/01(日) 01:22:03.33ID:6PWiZt35
Pythonでタブキー押すとエラーが出るんだけどググってもよく分からん
誰か解決法教えてエロい人!
エラー最後の部分がこれ
File "C:\Program Files\Anaconda3\lib\rlcompleter.py", line 80, in complete
readline.redisplay()
AttributeError: module 'readline' has no attribute 'redisplay'
2017/10/01(日) 01:22:27.98ID:6PWiZt35
ちな環境は
Python 3.6.2 |Anaconda custom (64-bit)| (default, Jul 20 2017, 12:30:02) [MSC v.
1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
201デフォルトの名無しさん
垢版 |
2017/10/01(日) 05:04:37.95ID:Q7WarGyN
>>199
これと似たような問題な気が
まだopenだから未解決かも...
https://github.com/pyreadline/pyreadline/issues/49
2017/10/01(日) 09:45:14.35ID:aVSvWtqd
Python は、半角空白の数が、文法的に意味を持つ

タブ文字を使っちゃ、ダメだろ
203デフォルトの名無しさん
垢版 |
2017/10/01(日) 09:49:36.32ID:xDsv9kMn
タブ一個と空白一個で数があってりゃ問題ないよ
2017/10/01(日) 10:05:50.87ID:a+6SxdIf
タブはタブ、空白は空白で数と並びが合ってなきゃダメだろ。
2017/10/01(日) 10:40:49.76ID:6PWiZt35
サンクス
治らないからアナコンダ最新版に入れ直したら一応治った
で、pip-review入れたけど何故かちゃんと動かないからアナコンダアンインスコした
生pythonにした
206デフォルトの名無しさん
垢版 |
2017/10/01(日) 11:05:40.95ID:Yfu5RE6T
>>205
でもそれだと、anacondaで入るデータ解析とか科学計算のライブラリが入らないですけどいいんですか?
2017/10/01(日) 11:29:12.10ID:coFT7XLp
PEP8ではスペースが望ましいとの見解
ttp://pep8-ja.readthedocs.io/ja/latest/#id7

Atomエディターにatom-beauty(とautopep8)入れたら悩まずに済む
※ 個人の感想です
2017/10/01(日) 11:33:46.89ID:6PWiZt35
>>206
え?入ったけど?
何のライブラリ?
2017/10/01(日) 11:36:18.24ID:soYJ1KBc
必要ないのにAnaconda入れてトラブってるとか微笑ましすぎるわ
2017/10/01(日) 12:03:49.83ID:6PWiZt35
>>209
ええ…
アナコンダ入れるのがオススメって結構あちこち書いてあるじゃん
俺が勝った本には書いてあった
211デフォルトの名無しさん
垢版 |
2017/10/01(日) 12:44:23.64ID:Q7WarGyN
Anacondaは計算ライブラリとか色々入ってるから初学者にはオススメだとは思う。

ただ、
pipがあるのにcondaという独自パッケージ管理システムをつくっていてややこしいし(pipにはあるのにcondaにはないライブラリがあったり)、
pyenvとの衝突問題もあるので、後で別のpython環境を構築しようとすると苦労する。
あとAnaconda特有のライブラリ間の依存関係とかあったりするけど、初学者には自分のコードが引き起こしたエラーなのかAnacondaのバグなのかわからない。
ので、209の言いたいことはわかるなぁという気持ち。
2017/10/01(日) 13:05:17.56ID:4xl9+nd3
俺もオススメとか見て、アナコンダ試してみたけど
かえって面倒くさかった。速攻止めた。生がイチバン。
213デフォルトの名無しさん
垢版 |
2017/10/01(日) 13:11:25.35ID:kGcvTs6z
初学者が何も考えずにAnacondaをインストールして問題ないって気があんまりしない
相場が分かっている方が環境を作るのが面倒だからって入れるものかなあって
2017/10/01(日) 13:24:44.89ID:RQrxfsBp
アナコンダでええよ
でもアップデートや追加インストールや
カスタマイズしようとしてはいけない
それだけ守れば何のトラブルも起きないよ
2017/10/01(日) 13:29:15.41ID:GmZqlXb3
anaconda最高

カスタマイズしたかったらconda createで新しい環境作ればいいし要らなくなったらサクッと消せるvenv virtualenvとか面倒くさすぎるだろ初心者には
2017/10/01(日) 14:14:44.48ID:LFbo+6zl
>>204
面倒臭い言語だな
217デフォルトの名無しさん
垢版 |
2017/10/01(日) 14:22:23.05ID:Yfu5RE6T
venvで新しい環境サクッと作って、サクッと消せるんだよなぁ
2017/10/01(日) 15:00:05.37ID:54VuRfXe
初心者は環境なんて概念理解できるのかな
219デフォルトの名無しさん
垢版 |
2017/10/01(日) 15:04:44.26ID:m+w/jR3z
anacondaとVisual Studio 2017 どっちが良いの?
220デフォルトの名無しさん
垢版 |
2017/10/01(日) 15:32:15.27ID:dZZybuoZ
>>212
生コンだ
2017/10/01(日) 21:51:12.50ID:kbs1ZBNe
>>219
お前みたいなバカはPC捨てて寝ろ
222デフォルトの名無しさん
垢版 |
2017/10/01(日) 22:32:51.46ID:Q7WarGyN
venvは公式に取り込まれた
https://docs.python.jp/3/library/venv.html
ので、環境系はこれ使ったほうがいいよ...
223デフォルトの名無しさん
垢版 |
2017/10/02(月) 00:39:40.29ID:QmxKy2Z/
Python3.x系の定番の入門書ってある?
224デフォルトの名無しさん
垢版 |
2017/10/02(月) 01:02:36.60ID:Q3MtSi1e
本じゃないけど、公式のチュートリアルが一番わかりやすい。無料だし
https://docs.python.jp/3/tutorial/index.html
2017/10/02(月) 01:19:59.21ID:HyMICiCn
みんなのPython 第4版、2017
2017/10/02(月) 03:13:21.79ID:E4t1jFeI
やっぱみんPyが良いのか
2017/10/02(月) 06:36:07.58ID:1WKBEPz+
みんなのpython新しいのはアナコンダオススメだったよな
2017/10/02(月) 06:36:33.10ID:1WKBEPz+
やだねー
2017/10/02(月) 15:13:08.15ID:Pw/zZ4YF
>>223
他のプログラムの経験があるか無いかで、
オススメ本も全然違ってくる
2017/10/02(月) 18:27:45.46ID:AbHSsFaJ
condaだと自分の環境に最適化されないけどpipだと最適化されるってマジ?
2017/10/02(月) 19:59:59.92ID:0uNSEDCV
いいえ
どこでそんな半端な知識を得たのか知らないけど、最適化される場合ってのは

* CやC++などで書かれたモジュールが
* ソースコードで配布されていて
* インストール時にビルドされる

場合に限られる
condaでもソースで配布されていて、インストール時にビルドされるライブラリがある
pipでもバイナリで配布されていて、インストールのビルドを行わないライブラリがある
どっちなら最適化される、などと単純な話ではない
2017/10/02(月) 23:48:22.71ID:m3pbCQh0
>>225
もうPython 4.xか
2017/10/02(月) 23:50:40.43ID:m3pbCQh0
__call__って何?
ハンクタと同じ??
2017/10/02(月) 23:51:55.69ID:iu8/hk+r
python4になったらpython2と3が統合されますように
2017/10/03(火) 00:17:53.29ID:AOU4wQiN
C++でoperator|()と書いていたのを__or__()と書くようになったのは人類の進歩を感じる
これのおかげでインテリセンスで定義元にすぐ飛べるようになた
2017/10/03(火) 00:59:07.84ID:bHj+nVig
世紀末氷原(正規表現)
大文字、小文字のA~zの検索
どの様に記載したら良いでしょうか?

「アタタタ……(中略)…タタタタアホワッチャア!!!」 以外でお願いします。
少し、疲れてるかも知れません。
2017/10/03(火) 04:50:38.49ID:ThmtSZdb
>>236
[a-zA-Z] でいいじゃん
2017/10/03(火) 05:17:50.29ID:sYQLzq/r
そういえば、pythonって、POSIX文字クラスには対応してなかったんだな。
[:alpha:] みたいなやつ。
239デフォルトの名無しさん
垢版 |
2017/10/03(火) 09:16:53.36ID:nH2BZkoP
民間ロケットpythonだったにょ
しかも秋月ω
240236
垢版 |
2017/10/03(火) 10:55:35.97ID:Rm4YEOHZ
>>237
ありがとうございます。
241デフォルトの名無しさん
垢版 |
2017/10/03(火) 13:53:20.08ID:YXXLGtFc
北チョンのもくてきはぴょんちゃんの妨害
2017/10/04(水) 11:10:49.39ID:5B5peuj1
私、ネットの情報収集などにhttplib2を愛用してまいりました
キャッシュをサポートしているのがhttplib2の良いところなんですが、最近発掘したサイトにアクセスすると
エラーを吐きやがってアクセスできないことに悩まされました。これは稀なケースでほとんどのサイトでは問題なく動作します
ですからこれはhttplib2の問題じゃなくてサイト側が悪いのだと思っていました
思っていましたが、試しにurllib.requestと前々から気になっていたRequestsでその問題のサイトにアクセスしてみたんです
そしたら正常にエロ画・・じゃなくて、そのサイトの有益な画像データを正常に取得できたのです
httplib2がアカンのやとはっきり分かりました

httplib2がサイトにアクセスできないケースは2つあります
1つはSSLError、httplib2のSSL認証設定を無効(disable_ssl_certificate_validation=True)にすれば回避できるサイトもあるのですが回避できないサイトもあり、その場合はお手上げです
もう1つはhttplib2.RedirectLimit、リダイレクトしまくる糞エロサイトでリダイレクト上限に達してエラーになるようなんですが回避策はググっても出てこずこれもお手上げ

これらの問題がurllib.requestやRequestsでは全く起こらず正常にアクセスできます
なので私、この機会にRequestsへの移行を決心しました
httplib2はおすすめしません
2017/10/04(水) 11:14:44.63ID:e2PGw4tF
先にurllib.requestでredirect先を確認してから
そこへhttplib2でつなげば医院で内科医
2017/10/04(水) 12:02:44.10ID:5B5peuj1
>>243
なるほど、それならRedirectLimitのエラーは回避できそうだねと思って試してみました
そしたらリダイレクトしてないみたい(httplib2のエラー名だけでリダイレクトが原因と思い込んでいたけど・・)

>>> url = '問題のサイトのURL'
>>>
>>> import urllib.request
>>> r = urllib.request.urlopen(url)
>>> r.geturl() == url
True

>>> import requests
>>> r = requests.get(url)
>>> r.history
[]

>>> import httplib2
>>> h = httplib2.Http()
>>> r,c = h.request(url)
httplib2.RedirectLimit: Redirected more times than redirection_limit allows.

原因は分からないけどhttplib2は糞なのは分かった
2017/10/04(水) 12:21:27.10ID:e2PGw4tF
どのサイト見てるのかは知らんけど
文字コードとかmetadataのencodingとか可笑しいと
正常に動かないのかもね
2017/10/04(水) 12:25:14.78ID:5B5peuj1
ここだよー、水着だから大丈夫だよー
ttp://intervaluesa.com/k/kodamaharuka4.html 👀
Rock54: Caution(BBR-MD5:ea107c9c1581680b0310fcc05371d356)
2017/10/04(水) 12:25:50.36ID:1MR+etUU
逆かも
urllib.request とか Requests がリダイレクトを無視してカラっぽのところにアクセスしてるからエラー出ないだけだったり

知らんけど
2017/10/04(水) 12:31:04.33ID:5B5peuj1
>>247
urllib.requestやRequestsは>>246のHTMLデータを取得できてるよ
URL貼ったし興味ある人は色々試してくれ  アディオス
2017/10/04(水) 12:44:30.91ID:1MR+etUU
ヘッダで自分自身へリダイレクトしてて無限ループだったり

知らんけど
2017/10/04(水) 12:49:10.70ID:FCQlMfXg
ヘッダー偽装すりゃうまく逝くんでね?
2017/10/04(水) 15:42:42.35ID:tlQ4cnRN
関西弁直せば動くと思う
2017/10/04(水) 19:05:05.58ID:8IzfOwlD
numpyの配列なのですが、1つの配列に一人分のデータが入ってるとして
新しい人のデータを追加したいときはどうすればいいですか?
人の数だけ配列の数を増やしてもいいのですが、for文などで全ての配列を繰り返せるようにしたいです
2017/10/04(水) 19:05:44.73ID:e2PGw4tF
列を増やす
2017/10/04(水) 20:59:49.05ID:8IzfOwlD
people = 5
people_list = np.array((people, 1),np.int64)
for n, h in zip(number, height):
people_list[n].append(h)

numberは人の番号で、その順番通りにheightに身長が入っていますが、こうやるとエラーになります。
どうすればいいですか?
2017/10/04(水) 21:37:20.09ID:GgygFLqe
>>254
list だか array に append しよう
people_list[n] はただの数字だから append できない
毎回データを入れたり加工したら print と type で中身が何なのか見るといい
numpy のオブジェクトなら .ndim, .shape, .size あたりでデータがどういう形のなのか見ることができる
2017/10/04(水) 21:48:21.78ID:tkJ4WDEe
すいません、教えてください

super(class)とは何でしょうか?
意味が解りません
2017/10/04(水) 22:25:45.13ID:LMmIYSE5
>>256
近所にスーパーがあるやろ?
そのクラス
2017/10/04(水) 22:53:12.58ID:6/ocOR0w
>>257近所にはdepartmentがあります
259デフォルトの名無しさん
垢版 |
2017/10/04(水) 23:08:34.65ID:JfbK0QFc
>>257
ワイの辺は、よろず屋しかないわ
2017/10/04(水) 23:26:38.27ID:+JSlwxf3
君は、勉強の順番を、間違った。
スッキリでオブジェクト指向、Ruby で関数型を学ぶ

まずこの本で、オブジェクト指向を学ぶ。
スッキリわかる Java入門 第2版、2014

その後、この2冊をこの順に読む。
たのしいRuby 第5版、2016
みんなのPython 第4版、2017
2017/10/05(木) 09:01:51.47ID:7YYWZIFC
>>255
なるほど、ありがとうございます!
2017/10/05(木) 10:02:45.98ID:7YYWZIFC
すみません、もう一つ。。

arr = [[]]*3
arr[0].append(0)
print(arr)

とした時に、
[[0],[],[]]
となって欲しいのですが、
[[0],[0],[0]]
になってしまいます。
どうすればいいですか?
2017/10/05(木) 11:55:22.98ID:TEqaJXZn
arr=[[] for I in range(3)]
とすればいけるはず。
[[]]*3だと、同じリストを参照するものが、3個あることになって、1つ変えると、他も変わる。
2017/10/05(木) 18:02:13.66ID:7YYWZIFC
すごい!ありがとうございます!
2017/10/06(金) 15:47:41.90ID:YIttGZb9
beautifulSoupで

name = a.find(itemprop="name").text

で値を取得しようとしていますが、
ある1つのページだけ、

a??a?\  

みたいな文字化け文字が返ってきてしまいます。

これって何のコードページですかね?
webページは、charaset = 'utf8'の指定があります。

同じひな形の他のページでは問題ありません。

ローカルにファイル落としてから実行してみるときちんと取得できます。
javascriptとかが悪さしてるんですかね?
2017/10/06(金) 15:48:52.29ID:YIttGZb9
a??a?\  と変換されてしまいましたが、
本当は、aeみやいな文字から開始されています。
267デフォルトの名無しさん
垢版 |
2017/10/06(金) 16:41:00.94ID:uoobo3tb
charset通りにエンコされてるとは限らないからなー
2017/10/06(金) 19:07:09.04ID:YIttGZb9
>>267
ブラウザーで表示ししても普通の日本語だし、
そのページだけがおかしな結果を返すって、どうやって問題判別したらいいですかね?
2017/10/06(金) 21:13:46.60ID:30OgfBeu
解決方法:そのページのURLを貼る
2017/10/06(金) 21:28:39.22ID:tqIbkLAn
TeraPad でも、中国の地名の「深せん」の「せん」は、? になる。
サロゲートペア(4 byte 文字)

他にも、丸で囲んだ数字は、Windows の環境依存文字。
各スマホ会社の絵文字とか

ブラウザでは見れても、各アプリでは対応していない事が多い。
Ruby 以外の各アプリでは、日本人の開発者がいないから
2017/10/06(金) 21:58:40.58ID:BqUhpBOn
chardet使ってがんばるとか
2017/10/06(金) 23:54:24.28ID:k7MGRodg
<?php
 
//ニュースを取得し配列に格納する
$news_array = get_news();
 
//確認する
var_dump($news_array);
 
//最初の挨拶
$say = "最新のニュースをお伝えします。";
exec('/usr/local/bin/jsay '.$say);
 
//ニュース分だけ読み上げる
for($count=0; $count < count($news_array); $count++) {
exec('/usr/local/bin/jsay '.$news_array[$count]);
}
 
//最後の挨拶
$say = "ニュースをお伝えしました。";
exec('/usr/local/bin/jsay '.$say);
 
function get_news() {
//$data = array();
$rss = simplexml_load_file('http://www3.nhk.or.jp/rss/news/cat0.xml');
$array = array();
2017/10/06(金) 23:54:46.02ID:k7MGRodg
 
$i = 0;
foreach ($rss->channel->item as $item) {
// $x = array();
// $x['link'] = (string)$item->link;
// $x['title'] = (string)$item->title;
// $x['description'] = (string)$item->description;
// $x['pubDate'] = (string)$item->pubDate;
// $data[] = $x;
 
if ($i == 0) {
$x = "最初のニュースです。";
}
else {
$x = "次のニュースです。";
}
 
$x .= (string)$item->description;
 
$array[] = $x;
$i++;
}
 
return $array;
}
?>
2017/10/06(金) 23:56:47.82ID:k7MGRodg
PHPで書かれたラズパイ(OPENJTALK)を喋らせるスクリプトです。

.pyに書き換えできた奴が優勝
よろしくお願いしますm(__)m
2017/10/07(土) 00:01:29.80ID:PGbGVahj
はいはい
お薬飲んで寝ましょうね

次の方どうぞ
2017/10/07(土) 01:03:06.79ID:ZEQ3aPdc
俺はできないけど、上のヤツもできない
すまんな
2017/10/07(土) 01:07:42.82ID:5BLCZyWZ
タダで他人にやらせようなんね虫が良すぎるとは思わんかね
2017/10/07(土) 04:37:45.13ID:ZHVQCO5Z
>>265
HTTPヘッダで指定されてるのか
HTMLで指定されてるのか
両方で指定されてるのか

curlとか単純なツールでダウンロードしてみてエンコーディングを調べる
odとかfileとかで
2017/10/07(土) 09:45:58.22ID:T59cRflU
>>274
大丈夫
その程度ならちょっと勉強するだけでできるから頑張れ
2017/10/07(土) 13:28:02.94ID:ZEQ3aPdc
ここまで優勝者不在
2017/10/07(土) 16:35:57.38ID:LZpsREVO
先頭に¥マークがついている文字列の数字をintで数字にしたいんですが、先頭の¥はどうやって外すんでしょうか?
stripやreplace使うと、\xが先頭について16進数になってしまいます。
2017/10/07(土) 16:53:12.39ID:1zSdZ2Jj
>281
全角の円記号なら、
int(s[1:])

バックスラッシュに相当する円記号だと、よく分からん。
2017/10/07(土) 16:55:27.09ID:LZpsREVO
>>282
返信、ありがとうございます。
バックスラッシュに相当する¥記号です。
配列に入れて先頭を消してみます。
2017/10/07(土) 18:38:04.32ID:Tixzubeg
s = "\123456"みたいなこと?
s.replace("\\", "")とかじゃあかんの?
2017/10/07(土) 19:09:23.60ID:yZrHLHp1
>>281
変換したい文字列をそのまま張り付けろや
やってみた操作と結果を言葉だけじゃなくコードで示せや
2017/10/07(土) 22:03:06.13ID:+rsZKcSi
なんでみんな小出しにするんだろうね
入力の文字列やURLを隠したり、関数名をわざわざhogeに直して他人が理解しにくいものにしたり
2017/10/07(土) 22:48:14.80ID:4eta7BAP
pycon jpで発表してる外人率の高さは何なの
なんで日本にきたの
2017/10/08(日) 00:20:15.86ID:X8vdjNfB
>>274
ここはスキル低いのばっかだから短いコードでも書いてもらえないよ、つか書けないんだよ。

参考にどうぞ。頑張って。
http://www.tapun.net/raspi/raspberry-pi-talk-weather
あ、それとRSSフィードの解析にはfeedparserを利用するから
モジュールお忘れなく。
2017/10/08(日) 00:43:20.22ID:UUYMKH1C
>>285

\38,000
が変換したい文字列ですが、
エディターで\が入力できず、バックスラッシュになってしまうために、
s.replace("\\", "")
とは入力できずに、
s.replace("バックスラッシュバックスラッシュ", "")
で試してみましたが駄目でした。
さくらエディタで\でやってもエラーになりました。
linux上でやれば、結果は異なるのかもしれませんが。

windowsでやっているためか、
コード直書きで、\38,000と入力して変換した時と、
プログラムから html getして 変数に入れた場合で
変数の長さが変わったりして変な動きになりましたので、
リストに入れてから\に該当する最初の数桁を削除して対応することにしました。
2017/10/08(日) 01:27:57.97ID:ACvYQg1d
https://ja.m.wikipedia.org/wiki/%E3%83%90%E3%83%83%E3%82%AF%E3%82%B9%E3%83%A9%E3%83%83%E3%82%B7%E3%83%A5
2017/10/08(日) 02:52:13.78ID:2gYH4HGu
Windowsのためのraw文字列
2017/10/08(日) 08:40:50.91ID:Eg4i3QFB
バックスラッシュで置換できなかったってことは、U+005CじゃなくてU+00A5だったとか。
2017/10/08(日) 10:01:04.68ID:zWNWnJsd
>>289
\は特殊な記号で、\nは改行を意味するし、\bはバックスペースなの
これらはエスケープシーケンスっていうの

¥という文字を使いたい場合は\\とするの、もしくはraw文字列を使って入力するの
だから'\38,00'と直書きした場合は'\3'というエスケープシーケンス+ '8,00'ってことになるの
正しくは'\\38,00'とするかraw文字のr'\38,00'としないといけないの

html getで取得した文字は正しい文字列の'\\38,00'なの

>>> s='\38,00'
>>> s
'\x038,00'
>>> print(s)
8,00 ←ウンコ
>>>
>>> s='\\38,00'
>>> s
'\\38,00'
>>> print(s)
\38,00 ←正しく表示される
>>>
2017/10/08(日) 10:23:11.06ID:zWNWnJsd
ああ、あと>>290-291に言っときんだけど
オマエラさぁー、回答に関連ありそうなURLやキーワード張り付けて教えた気になってんじゃねーぞ
2017/10/08(日) 10:27:46.30ID:ACvYQg1d
すまん
ジョークは文化水準がある程度高くないと通じないということを忘れていた
2017/10/08(日) 11:28:38.21ID:FGX6bPrh
html getでもきっとうまく行かなかったんでしょ?
>>293は不十分で、>>290>>292が正解なんじゃないの?
2017/10/08(日) 11:56:38.40ID:UUYMKH1C
>>293
>だから'\38,00'と直書きした場合は'\3'というエスケープシーケンス+ '8,00'ってことになるの
ローカル環境でのテストの仕方間違ってましたね。文字の長さが変わる理由もこれでしょうね。


>'\\38,00'
>>> print(s)
>\38,00 ←正しく表示される
この最初の\を外してintにしたいから、(price.replace('\\', '')とかで外そうとしたけど駄目で、
今は配列に入れて強制的に頭からの数桁を削除して対応してます。
2017/10/08(日) 13:24:24.77ID:zWNWnJsd
>>> import re
>>> price='¥38,00(税込)' #全角の\
>>> int(re.sub(r'\D', '', price))
3800
>>>
>>> price='\\38,00(税抜)' #半角の\
>>> int(re.sub(r'\D', '', price))
3800
>>>

¥以外も削除する完璧な回答です、どうぞ
2017/10/08(日) 13:34:18.46ID:X8vdjNfB
295を本気にさせてしまったな
2017/10/08(日) 13:56:47.36ID:HosRocIl
とりあえず
円マークとバックスラッシュの話なのか
バックスラッシュのエスケープの話なのか
を切り分けてから議論しようよ...
2017/10/08(日) 14:04:24.51ID:zWNWnJsd
Pythonに直書きしてたのがバックスラッシュで
html getしてたのが円マーク
そして完璧な回答が>>298
分かったかな?
2017/10/08(日) 14:34:45.83ID:Fff+sH1Q
¥100 (内税8%)
先生うまく行きません!
2017/10/08(日) 14:41:16.77ID:X8vdjNfB
バカが多すぎ
2017/10/08(日) 15:03:14.57ID:Y61Wi2fA
自分はバカでないと言う根拠のない前提
2017/10/08(日) 17:18:33.82ID:eYQqUoDy
俺も馬鹿だけどお前らも馬鹿だな
2017/10/08(日) 18:02:09.80ID:X8vdjNfB
高卒がキレ気味でワロタw
2017/10/08(日) 18:30:31.32ID:CMWw5eHR
ブーメラン乙
2017/10/08(日) 19:00:51.46ID:UUYMKH1C
>>298
そのsubtractのメソッドでうまくいきました。
ありがとうございま\D


\D 任意の非 Unicode 10 進数文字にマッチします。した。
なんかすごいためになる情報でした。
2017/10/08(日) 19:02:36.03ID:UUYMKH1C
>>298
そのsubtractのメソッドでうまくいきました。
ありがとうございました。


'\D 任意の非 Unicode 10 進数文字にマッチします。'
なんかすごくためになる情報ですね。
2017/10/09(月) 00:49:09.60ID:XAANZ+GT
ブーメランも糞あるかよw
大学ぐらい普通に出とるわ

知障(高卒)と一緒にすんなっつーの(笑)
2017/10/09(月) 06:17:34.81ID:UEIAYP2F
いきなり高卒とか言い出す奴はF欄
2017/10/09(月) 11:59:41.58ID:mQYmdfeJ
機種依存文字の ?が削除できないんですが、
aaa.strip('?')じゃ駄目なんですかね?
他の文字だと問題ないんですけどね。
2017/10/09(月) 12:22:39.06ID:+Yk871Qd
MIT卒の俺から見ればみんな低学歴だわ
低学歴同士仲良くしろよ
314デフォルトの名無しさん
垢版 |
2017/10/09(月) 12:33:51.46ID:nnOwdodd
NEET卒のくせにw
2017/10/09(月) 12:39:45.83ID:e9tl0NhN
PyCon 12年連続1位の俺からしたらみんなスパゲッティコードだわ
2017/10/09(月) 12:58:02.95ID:NAQzkiiY
書き込めない・・・テスト
317デフォルトの名無しさん
垢版 |
2017/10/09(月) 13:22:07.49ID:7RuyVWXL
>>314
NEETから卒業してるなら、それはそれで偉くね?
2017/10/09(月) 13:24:51.77ID:K5KMjKcZ
俺はNEETに残って研究を続けるぞ〜
2017/10/09(月) 13:25:26.76ID:NAQzkiiY
>>312
機種依存文字の?と、直書きの?は見た目は同じでも文字コード値が違う
?に見えるからって直書きで?で指定しても全く無意味

まず問題の機種依存文字を調べる、ここでは仮にその機種依存文字を'謎'とする
>>> aaa = 'hoge謎'
>>>
>>> for i in aaa: print(ord(i))

104
111
103
101
35598
>>>

ord関数で文字の文字コード値が分かる、'謎'の文字コード値は35598
文字コード値を文字に変換するのはchr関数だから
>>> aaa.strip(chr(35598))
'hoge'
>>>
2017/10/09(月) 13:26:50.17ID:NAQzkiiY
括弧を全角の(にしたら書き込めたわ
連続した括弧がアカンのか? よく分からんわ
321デフォルトの名無しさん
垢版 |
2017/10/09(月) 22:51:02.72ID:XxdTmD6P
(i) <てst
322デフォルトの名無しさん
垢版 |
2017/10/09(月) 23:02:08.22ID:0FScRfWB
お、おめこや
2017/10/10(火) 08:37:30.54ID:aulArmiW
for i in aaa: print(ord(i))

テスト
2017/10/10(火) 08:38:23.36ID:aulArmiW
chr(35598)
テスト
2017/10/10(火) 08:41:16.81ID:aulArmiW
分かった!
(chr(35598))
この括弧を半角にすると書き込めない
2017/10/10(火) 12:50:24.44ID:+q2Bmvm8
>>325
乙。でもどういうことかわかんないよ!
全体を半角カッコで囲んだらアウトってこと?
2017/10/10(火) 13:00:08.55ID:aulArmiW
>>323はOKだから、入れ子の括弧の中に数字があるとダメじゃないのかな?
((33))
テスト
2017/10/10(火) 13:06:27.20ID:aulArmiW
あれれ? 書き込めたわ・・・
chr付けた書き込めなかった→ (chr(33))
chrの外の括弧を外しても書き込めなかった→ chr(33)
chr関数の引数が無い場合も書き込めなかった→ chr()

まとめ
chr関数を書くとダメみたいだね
2017/10/10(火) 15:14:21.45ID:SGJO8ou1
>>319
なるほどですね。
何がくっついているのかは、時と場合によるのですが、
機種依存文字だけを取り除く方法ってありますかね?
文字コードが5桁だと機種依存文字って判断したら駄目かな
2017/10/10(火) 15:38:38.15ID:aulArmiW
駄目に決まってんじゃん
機種依存文字の一覧はググれば出てくるよ
2017/10/11(水) 01:10:30.04ID:TZemWZV4
“なるほどです”ってすごいバカっぽいな
2017/10/11(水) 22:08:46.20ID:nNRWIZy5
python初心者なのですが、

class test:
def testfunc(self, y):
self.x = y
x = y

このself.xとxの変数はスコープ以外に何か違ったりしますか?
2017/10/11(水) 22:12:03.79ID:nNRWIZy5
スペース消えた……
どっちの変数もインテンド2つ分です
2017/10/11(水) 22:13:33.07ID:YFL/9Ydt
(U)とか(i)ってイヤらしく感じる
2017/10/11(水) 22:13:39.98ID:nNRWIZy5
すいません変なタイプミス・・・インデントです
2017/10/11(水) 22:16:15.81ID:iHsyneUf
とても強い意図であることは分かった。
2つの変数は別物だよ。
337デフォルトの名無しさん
垢版 |
2017/10/11(水) 22:18:27.93ID:/s7Nkk2O
>>334
とても強いエロを感じる
338デフォルトの名無しさん
垢版 |
2017/10/11(水) 23:25:24.73ID:Zzyc4gmK
>>331
意義あり!
2017/10/11(水) 23:32:55.64ID:lP/CDQFD
なるほどだす
2017/10/12(木) 13:21:38.97ID:uZnuZ+2W
>>332
globalつけるともっと違う
2017/10/12(木) 14:21:23.46ID:OJ6WwI1s
だめだす
2017/10/13(金) 09:45:02.60ID:BWoTjir1
チラシの裏

windows で tensorflow が 3.6にも対応していたので、3.6.3を入れてみた。
いきなり pip install tensorflow したら、必要なものぜんぶとってきてくれてノーエラーノーウォーニングであっさり入った。
すげー!

ついでに pip install mod_wsgi してみた。
mod_wsgi-express.exe ???
何だそれ?
mod_wsgi-express module-config
で出てきた3行をhttpd.confにコピーしてみた。
エラー。
pipしたのは、まだ、tensorflowとmod_wsgiだけだからな。
アプリで使ってるパッケージをpipしてみた。
どれも難なくというかパーフェクトにサクサク入る。
で、これまたあっさり最新のmod_wsgiでアプリが動いたwww
makeファイルを修正してmod_wsgi.soを作る手間が要らなくなった。

なんかもうwindowsでいいって気分。gpu c++ 関係は割とwindowsの人が多いし。
343デフォルトの名無しさん
垢版 |
2017/10/13(金) 10:40:59.06ID:pR0qV+RO
test
344デフォルトの名無しさん
垢版 |
2017/10/13(金) 11:25:21.67ID:Hu5pWW8/
>>342
まぁでも、mod_wsgi作ってる人がWindows上で直に使わ無い方がいいって言ってるんですけどね
せめて、dockerコンテナ内のLinux使えと。
2017/10/13(金) 16:25:01.24ID:ScslFrOK
そんなことで喜ぶとかwindowsは大変だな
2017/10/14(土) 14:04:05.31ID:TG6KQnkb
>>342
ruby経験者がpythonに来ると夢の世界が待っております
2017/10/14(土) 14:33:13.91ID:nAGT83AF
いいか、
Perlは、この世界で一倍いい言語だ!
いちばん優れた軽量プログラミング言語なんだ!!

おれには
Perlしかないんだ!
だから、これがいちばんいいんだ!!
2017/10/14(土) 22:51:00.77ID:eFSrzMsO
http://abc075.contest.atcoder.jp/submissions/1685237

このソースコードなのですが、
[0] * H や
[[0] * (W+2) for i in range(H+2)]
は何をやってるんですか?
2017/10/14(土) 23:20:05.16ID:ZjGmTFeR
>348
[0]*Hは、要素数H個で、値が全て0のリストを作っている。

下のは、二次元配列に相当する入れ子のリストを作っている。
一つ目の添字は0からH+1までのH+2個分で、
二つ目の添字は0からW+1までのW+2個分

c[h][w] で、h行w列目のデータにアクセス出来る。
2017/10/16(月) 23:41:10.10ID:pw2zTQ02
pyenvの初期化にはbashとかで
eval "$(pyenv init -)"
とせよとあり、この'-'はUNIXの慣例に照らせば標準出力を表すファイル名としての'-'だと思うのですが
 pyenv init test.txt
とやってもtest.txtができない…
2017/10/17(火) 00:43:46.52ID:uuhhfaBw
>>349
遅くなったけどありがとうございます
2017/10/17(火) 09:03:22.03ID:0wzwgGfF
>>350
ソース3行くらい読むと分かるよ
https://github.com/pyenv/pyenv/blob/master/libexec/pyenv-init

ファイルに落としたいならこうかな?
$ pyenv init - > test.txt
2017/10/17(火) 20:15:20.79ID:fO6Q7s1J
>>352
レスdクス、
なんじゃそりゃあああああああああ!

ちなファイルに落とすのはこうやればできていた
$ echo "$(pyenv init -)" > test.txt
ので実はさほど困ってはいなかったが「-」がわけわかんなくてスゲー悩んでた;
354デフォルトの名無しさん
垢版 |
2017/10/20(金) 15:55:38.53ID:sAkkqhU+
ばかちん
2017/10/20(金) 22:03:10.75ID:QqXEyXEA
先月からpython始めた初心者です。
yahooファイナンスにアクセスして、ポートフォリオに登録してある株の現在値一覧を取得するプログラムを書いたんだけど、毎回ログインが必要で結構時間が掛かります。(seleniumのwebdriver使ってheadlessモード)
これって、cookieとか使うとログイン維持できて毎回ログインしなくて済むようになるんすか?
2017/10/20(金) 23:00:07.32ID:h7aVEIq7
サイトのHTML を解析すれば、ログインも自動化できる

ユーザー名・パスワードを入力して、フォーム送信ボタンを押す
2017/10/21(土) 00:28:34.36ID:ZBCKl1CT
>>356
レスさんくすです。ログイン自動化はできてますが、(yahooなんで) login-nameとpasswordの2段階で、その間にちょっとwait入れたりして、結構時間かかるんですよね。まぁ回線が遅いのが一番の原因だけど。で、毎回ログインしなくてもいけるようにできないのかなと、
2017/10/21(土) 02:10:05.41ID:L87nxTYD
Pythonなら大丈夫
2017/10/22(日) 02:52:19.07ID:MLpq6jOs
ubuntuの設定で一日使ったわ
全くの素人だから2と3の設定とか共存ワケワカラン
2017/10/22(日) 08:14:32.64ID:8vyNBiTj
そう、pythonならね。
2017/10/22(日) 11:47:29.26ID:4xyHmATU
付属のspyderすらよく分からないガチな初心者なんやけど、BASICの感覚で覚えられると思ってたら何から何までチンプンカンプンで初心者でも分かりやすいサイトか入門書あれば教えてちょんまげ
最終的にはゲーム作りたい
2017/10/22(日) 12:12:35.80ID:3Fv7GeHN
ゲームやるならc++かc#やれよ
2017/10/22(日) 13:23:16.24ID:gIHMMZHA
AI搭載型卓上ゲームならpythonでええぞ
364名無しさん@そうだ選挙に行こう! Go to vote!
垢版 |
2017/10/22(日) 19:53:28.01ID:TNgDAF9+
リアルタイムでmatplotlibのグラフを更新して、その様子を見ながらグラフに使われているパラメータを変更したいです
リアルタイムアニメーションまでは出来ました
アニメーション中にguiでのパラメーター入力を付けるというのは方向性としては良いアプローチでしょうか?

tkinter等でグラフ表示等も一から作る方が普通ですかね?
365デフォルトの名無しさん
垢版 |
2017/10/22(日) 23:35:20.53ID:T5g6OFOX
おすすめの入門書教えてクレメンス
2017/10/22(日) 23:54:00.65ID:gIHMMZHA
最初は本見ても捗らんしtubeの講義聴きながら模倣するのが良いよ
ちょい古いけど下のハゲの説明は凄いわかりやすい
細かい言語仕様なんてのは使ってから覚えれば良いんよ

http://www.youtube.com/watch?v=A9tv7WBIwyM
2017/10/23(月) 00:06:18.31ID:Bxzo9A+x
>>364
アニメーションてのが何するつもりなのかよくわからないけど、、、、
matplotlibで描いたグラフはFigureCanvasWxAggを使ってwxのUIに乗せられるよ
やったことないけどtkinterでも何かしら方法があるんじゃないのかな?
2017/10/23(月) 00:11:16.58ID:A3jhOkfm
>>365
まずこの本で、オブジェクト指向を学ぶ
スッキリわかる Java入門 第2版、2014

その後、この2冊をこの順に読む
たのしいRuby 第5版、2016
みんなのPython 第4版、2017

いきなり「みんなの」から読むと、難しくて無理
2017/10/23(月) 00:21:50.05ID:Bxzo9A+x
>>368
まだやってんのかよ、そのひどい遠回り推薦。
2017/10/23(月) 00:58:39.36ID:phfl82OJ
俺、pythonの解説書を一冊も読んだことないけど、
ネット上にある情報で、他の言語のプログラムを、
pythonではどうなるか、とか調べてるうちにそれなりに書けるようになった。
他人の書いたプログラムを改造するのもいいかも。
まぁ、プログラミング初心者ではないから、ちょっと違うか。
2017/10/23(月) 01:27:33.69ID:+9jYDrtb
Pythonに限らず、きょうびは公式のチュートリアルなどが充実しているよね
2017/10/23(月) 01:29:28.55ID:+9jYDrtb
>>366
内容はいいのかもしれんけど、ハゲ散らかしたおっさんがなあ…
金髪白人天才美少女ならよかったのに
373デフォルトの名無しさん
垢版 |
2017/10/23(月) 07:42:46.52ID:RGFT1PbK
>>366->>372
thx
374デフォルトの名無しさん
垢版 |
2017/10/23(月) 07:48:09.77ID:BuwAMsXV
ハゲに教わるとハゲるからなその覚悟だけはヨロ
2017/10/23(月) 09:31:10.32ID:0cxC85PZ
>>374
毛の少ない人に対するヘイトスピーチはやめなさい
376デフォルトの名無しさん
垢版 |
2017/10/23(月) 10:13:36.45ID:tj3bY27g
>>367
アニメーションするグラフを見ながら、パラメーターや条件をguiでの入力で少しずつ変更するという事をやりたい(良さそうなパラメーターや条件を試行錯誤で探したい)

ただ、matplotlibを使った用途としてはあまりやらないのかなと思ったので(ざっと探した所ではアニメーション自体も使っている方が少なかった)
そういう用途ならpygameか何かで表示部分を作るのかなと思い質問してみました

もう少し同じような事をやっている方がいないか探してみます
アドバイスありがとうございました
2017/10/23(月) 12:23:36.10ID:BXzCXH2k
>>376
いやだから、FigureCanvasWxAggなりTkAggなりを使ってmatplotlibが描くグラフをUIに載せてデータを好きに触ればいいじゃないのさ、、、と言ってるんだけど。

早い話、画面上に配置されたUIを使ってグラフに表示するデータを変えて、そのままグラフが更新できれば良いんじゃないの?
2017/10/23(月) 12:32:56.01ID:oaK+mxwH
>>376
https://stackoverflow.com/questions/6697259/interactive-matplotlib-plot-with-two-sliders#6697555
こういうのでいいんじゃないの
サンプルコードもそのまま動く

python draw graph slider event listener とかで検索すれば山ほど出てくる
379デフォルトの名無しさん
垢版 |
2017/10/23(月) 17:07:02.45ID:lCIoxZis
>>364
OK
380デフォルトの名無しさん
垢版 |
2017/10/23(月) 19:06:04.44ID:BuwAMsXV
>>375
ちょいとそこの毛の少ない、もとい、毛のないお方
その人聞きの悪い言い方ぁ取り下げてもらえませんかねぇ
あっしぁ〜ハゲに対して憐みの感情はありますけどもねぇ
ヘイトなんて気持ちは毛頭ござんせんよぅ
2017/10/23(月) 20:19:57.00ID:NosJ+6d4
pcにはanaconda入れてるがandroidタブレット用に同じの入れれないかな。
qpythonてのを入れてるがnumpyが使えないから不便
2017/10/23(月) 20:44:07.80ID:B0rhkEQ/
PCにリモート接続する方がまだマシ定期
2017/10/23(月) 23:34:34.10ID:NKAmnKE1
>>376
普通はパラメータの変更か、更新ボタンをトリガとして再作成再描画で事足りるな
どこまで感性に訴えるかは自由だが、業務用なんかだと繰り返し使うことにより脳内でイメージされるから無駄と見做してる
2017/10/23(月) 23:56:29.78ID:bPsM7Yc9
定期的にタブレットでお遊戯したいって来るのね
385デフォルトの名無しさん
垢版 |
2017/10/24(火) 06:08:34.30ID:MGKYkkj+
>>381
yoga book
2017/10/24(火) 23:40:25.58ID:wj00lXqk
iOSならPythonとかSwiftとか使えるんだっけか
ipadpro持ってるけど試そうと思ったことすらなかった
2017/10/25(水) 09:30:02.61ID:ImLJOnbp
AndroidならTermuxがいいんじゃない
2017/10/25(水) 11:09:52.34ID:SmjJVa23
termuxはgui系だめだしなぁ
結局タブレットでpython使って遊ぼうとするとwindowsタブレットが一番手っ取り早い。
でもatom xN系のCPUで込み入ったことすると重いよ。
2017/10/25(水) 11:41:39.05ID:32/KECdp
crouton
390381
垢版 |
2017/10/25(水) 13:12:31.58ID:brfoWM6t
レスサンクス、いろいろ解がありますね。yogaのwin版良さげだけど自分、開発はpcでやって使うのはもっぱら寝床だから690gはちと辛い。
termuxは知らなかった。root取らなくても行けるらしいので試してみるわ
2017/10/25(水) 22:50:38.23ID:hr2UeJHg
しかもRubyとPerlまで使えるのか…いいじゃないかこういうのでいいんだよ
でもJupyterならもっとよかった
2017/10/25(水) 23:08:27.31ID:3v0u7VMT
termuxでjupyter?venv作ってpipでインストールできますよ
termux上でサーバ起動して、ブラウザアプリからアクセスする感じ
2017/10/26(木) 01:48:37.55ID:YbNuu172
結局GUIってどれがいいの?
Qtでいいの?
394遊園地
垢版 |
2017/10/26(木) 02:20:53.99ID:5Xb4wL2W
django

面倒なら tk
2017/10/26(木) 03:17:34.25ID:LmGdafjy
GUIやるならC#やってろ
396遊園地
垢版 |
2017/10/26(木) 03:36:01.71ID:5Xb4wL2W
全部、無視して良い。

web系と業務系で分かれてたけど、C#だとIEちゃん残念
とか言われなかったら、なぁー。

別に言語は2,3個 適当に使えば良いと思う。

PCがCore 2 Duo以上でグラボ1G積んで無いなら
win10のVisual StudioでC#はきついな。

MonoDevelopでgtkは
初心者、向きでは無いので、オススメしない。

低スペPCでXPじゃないなら、GUIはweb系に行った方が
ストレスが無い。
397デフォルトの名無しさん
垢版 |
2017/10/26(木) 04:18:55.79ID:tVSriKDm
Core2っていつの時代だよ。
2017/10/26(木) 04:21:33.20ID:LmGdafjy
VS2017爆速やで
VSでpythonも考えるほど
399デフォルトの名無しさん
垢版 |
2017/10/26(木) 11:33:08.51ID:v4GCj7LM
また無のひとか
2017/10/26(木) 12:03:34.74ID:UgYuFv5Z
ちょっと教えて下さい
def fn():
if i==0:
print(i)

i=0
fn()

のとき、iはグローバルなのでfn()の中で0がプリントされますよね
ところがfn()のif文の下に
i += 1を置くと、1が出力されずにエラーになってしまいます。これはなぜなんでしょう?
2017/10/26(木) 12:06:31.15ID:UgYuFv5Z
あれ、投稿したらインデントがなくなってしまいました。
プログラム上は入ってます
2017/10/26(木) 12:22:36.98ID:1mIrKNx5
>>400
最初はiを変更してないからグローバルとして解決された。
i += 1 とするとiはローカルになるが、その前にi==0といきなりiを使用しているのでエラーになる。
この場合はfn()の下にglobal iと宣言すればエラーは出ない。
403デフォルトの名無しさん
垢版 |
2017/10/26(木) 12:23:15.31ID:v4GCj7LM
def fn():
global i
if i==0:
i += 1
print(i)
404デフォルトの名無しさん
垢版 |
2017/10/26(木) 12:24:32.76ID:v4GCj7LM
これでもいい

i=0

def fn():
if i==0:
i += 1
print(i)

fn()
2017/10/26(木) 14:27:13.45ID:wCeqqEld
ありがとうございます、そういうことでしたか。
代入より先に比較するからグローバルになるのかと思ってしまいました。(汗)
2017/10/27(金) 01:35:46.75ID:+mfQY/AS
>>392
おー、できるんですか。
venvって環境切り分けるやつですよね…
それさえ手に余る程度のスキルだけど、いずれ試してみます。
2017/10/27(金) 01:41:44.56ID:+mfQY/AS
あとtermuxのスタイルを買ったけどカラーが貧弱すぎてお金払うほどじゃなかった。
QPythonと違ってソラライズみたいなテーマが無いしフォントの大きさも変更できない。
2017/10/27(金) 07:49:11.96ID:fv7a7bB4
うーんこの情弱感
2017/10/27(金) 08:58:17.67ID:I6CvQ+Rn
スマホでプログラミングは辞めとけって
2017/10/27(金) 15:47:59.49ID:Ia7Vn2FS
from multiprocessing import Process

if __name__ == "__main__":
  def hoge():
    print("ok")
  p = Process(target=hoge)
  p.start() # AttributeError: Can't get attribute 'hoge' on ....

↑動かない

def hoge():
  print("ok")

if __name__ == "__main__":
  p = Process(target=hoge)
  p.start()

↑これなら動く

なんでこうなるん?
411デフォルトの名無しさん
垢版 |
2017/10/27(金) 15:55:05.74ID:mb/ytpAQ
if __name__ == "__main__":
global hoge
  def hoge():
    print("ok")
  p = Process(target=hoge)
  p.start()
2017/10/27(金) 15:58:36.58ID:Ia7Vn2FS
>>411
それ試したけど動かなかった。
あと、確かpythonはif文で変数のスコープは変わらないはず。
2017/10/27(金) 18:03:22.59ID:QrHJDMLe
その場合、Processはメインモジュールをpickleで
シリアライズしてサブプロセスに送信する、
サブプロセス側でデシリアライズされるときに__name__のif文はfalseになるのでifの中で定義している関数を使うことができない。

と、理解してるんだけど違うかも。
2017/10/27(金) 18:20:23.20ID:YYNNkiX3
バージョンの問題かもしれんが
macのpython3.6では動かないと言ってる方も普通に動いた
2017/10/27(金) 22:27:56.86ID:ukcOGy2Y
>>410
もう解決してるだろうけどその関数とエラーメッセージで
Stackoverflowで検索するとズバリの答えがあったぞ
416デフォルトの名無しさん
垢版 |
2017/10/28(土) 09:48:33.05ID:6bG+Py6x
1番効率いい勉強法ってなんなの
2017/10/28(土) 10:58:46.08ID:OzR/VQB1
作りたいものを作ること。分からない時だけ都度調べること。
駄目なのは最初からぶ厚い文法の本を読んでお勉強すること。
2017/10/28(土) 11:46:56.10ID:YrbVG7kU
if __name__ == "__main__":
  hoge = lambda : print("ok")
  p = Process(target=hoge)
  p.start()
2017/10/28(土) 12:08:14.92ID:r+Lrt1le
オライリー本ディスってんのかあぁン?
俺も挫折したけどw
420デフォルトの名無しさん
垢版 |
2017/10/28(土) 13:30:25.28ID:cK0+9veY
>>390
http://www.thanko.jp/shopdetail/000000002185/ct132/page1/recommend/
421デフォルトの名無しさん
垢版 |
2017/10/28(土) 14:03:58.05ID:YrbVG7kU
>>420
女の子がかわいい
422デフォルトの名無しさん
垢版 |
2017/10/28(土) 15:47:40.47ID:6bG+Py6x
>>420
AV?
2017/10/28(土) 16:37:03.68ID:GkEAGE6K
>>416
自分にあった勉強法を知っていること
2017/10/28(土) 19:54:22.82ID:+WlYl6Qn
逃げないこと 信じること やり抜くこと
2017/10/28(土) 22:10:39.17ID:mKmo1Gc0
>>424
恐ろしく古いなw
2017/10/28(土) 23:38:58.72ID:JwjLDGNt
>>424どれが一番大事?
2017/10/29(日) 01:11:44.25ID:Q3rUUFx5
pythonで検索すると
ヘビ好きのアカウントが出てくる
ちょっとヘビが可愛く見えてきた
2017/10/29(日) 08:01:27.20ID:Heo7FnD+
爬虫類嫌い
駱駝が良い
2017/10/29(日) 10:01:21.69ID:L/52eEsR
フォトンと思ってた俺に一言
2017/10/29(日) 10:11:40.11ID:owy9a40O
昔は16トンの重りだった
2017/10/29(日) 17:15:49.31ID:Q3rUUFx5
&gt;
2017/10/29(日) 18:56:06.32ID:hUoVcwLn
goのキモいやつすき
2017/10/29(日) 19:27:00.91ID:Xc9r6MI9
サイトから一括で画像落としたいんだけど
/img/omake.jpg
/img/oppai.jpg
/img/hage.jpg

みたいにあったら差異がある部分を配列に入れて、
for i in imgs:
requests.get(i)

みたいにやる以外に方法無いかな?
2017/10/29(日) 19:42:06.99ID:6m0Hl7Bs
正規表現使って.jpgだけを取り出せば良いんじゃね
2017/10/29(日) 19:49:10.10ID:6m0Hl7Bs
よく考えたら
beautifulsoupとかでimgのタグ指定すれば良いだけだ
2017/10/29(日) 20:01:25.37ID:0Uo9CHxR
wget
2017/10/29(日) 21:34:23.54ID:PoMNlXaU
二次元タプルの数字の数値としての要素指定ソート、
itemgetterで出来なくて、前処理でフラット化、再リスト化なんてことやってたけど、
lambda使ったら一発で出来た、ワロタw
2017/10/30(月) 04:38:03.50ID:CEtiFnp+
そもそもなんでラムダっていうのか調べちゃった
2017/10/30(月) 05:22:58.66ID:HuOw0vDR
強そうだから
2017/10/30(月) 10:27:38.32ID:XGz12h0P
ランバダ
2017/10/30(月) 17:13:36.03ID:1Y5zNZvy
バンダナ
2017/10/30(月) 23:43:45.07ID:UNfWCDNk
pandasってORMとしてもつかえるの?
2017/10/31(火) 00:57:50.48ID:HNen/A/h
裸・無駄
2017/10/31(火) 01:13:34.07ID:tBa3E7I3
初心者に優しく必須の追加モジュール教えろつかぁーさぁい
445デフォルトの名無しさん
垢版 |
2017/10/31(火) 10:10:28.40ID:0NpgMbSB
無能だなおまえ
446デフォルトの名無しさん
垢版 |
2017/11/02(木) 11:14:04.55ID:lxfc7DAt
ここそんなに活発なスレじゃなかったのに
IP出したくないへたれ質問者がなだれ込んできたのかな
447デフォルトの名無しさん (ワッチョイ 2b9f-1mNv [118.152.82.239])
垢版 |
2017/11/03(金) 14:14:08.21ID:1lWviljw0
IPぐらい幾らでも出しゃいいのにね
2017/11/04(土) 20:55:44.17ID:u0Id6X+H
メソッドに
@staticmethod
ていうデコレーターをつけるのはなんの意味があるんですか?
2017/11/04(土) 21:26:45.42ID:yrOuXGbd
オブジェクトを作らなくても使えるメソッドでインスタンスの状態に依存しないもの
実質ただの関数
2017/11/04(土) 21:38:19.95ID:sTeHaJ1X
>>448
http://mojix.org/2012/07/21/python-staticmethod
2017/11/04(土) 21:55:36.95ID:u0Id6X+H
>>449
>>450
わかりやすい説明ありがとうございます

ただの関数をクラス内に置いて継承したときにオーバーライドできるようにしてるんですね
2017/11/05(日) 09:04:08.36ID:+AqtjiW/
パイソン、バイソン、ブルゾン。よく混乱するよな。
2017/11/05(日) 11:40:23.20ID:3rzD9nGQ
クラスアトリビュートをインスタンスから参照するとアトリビュートエラーになるの?なぜ
2017/11/05(日) 11:58:10.91ID:EdgfVjEx
python3.4.2でurllib.request.urlretrieveをUAを指定して使用するにはどうすればいいんだろう…
死ぬほど調べたけど情報が錯綜してて困った

http://d.hatena.ne.jp/kenpy/20110706/1309964450
これとか参考にしたんだけどHTTPError403で変わらないよ…
urllib.requestで記載しているのが一切ないよ
2017/11/05(日) 12:27:29.10ID:WZULYqMq
urllibはインターフェースを見ると目眩がするし
ソースを見ると吐き気がする
2017/11/05(日) 13:21:10.17ID:tWAi3wrN
>>454
User-Agentが原因なの?
問題のサイトのURL貼ってよん、私も色々試してみたい
2017/11/05(日) 15:48:30.04ID:tWAi3wrN
>>454
urllib.request.urlretrieveでリクエストヘッダーを指定する方法は分からなかったけど、
公式ドキュメントに書いてあるようにリクエストオブジェクトでリクエストヘッダーを指定する方法でできた
試したサイトはUser-Agentを指定しないと403になるサイト(たまたま見つけた)
これでダメならRefererも指定してみてはどうでしょうか

>>> import urllib.request
>>> def my_urlretrieve(req):
with urllib.request.urlopen(req) as r:
print(f'statu code: {r.getcode()}')
with open(req.full_url.split('/')[-1], 'wb') as f:
f.write(r.read())

>>> url = 'Hな何かのサイトの画像URL.jpg'
>>> headers = {} #リクエストヘッダー未指定でやってみる
>>> req = urllib.request.Request(url=url, headers=headers) #リクエストオブジェクト作成
>>>
>>> my_urlretrieve(req) #作成したリクエストオブジェクトでアクセス → エラー403
(エラーが長すぎて書き込みないから省略)
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden
>>>
>>> headers = {'User-Agent': 'Mozilla/5.0'} #リクエストヘッダーにUser-Agentを適当に指定
>>> req = urllib.request.Request(url=url, headers=headers) #リクエストオブジェクト作成
>>>
>>> my_urlretrieve(req) #作成したリクエストオブジェクトでアクセス&保存
statu code: 200
>>>
2017/11/05(日) 15:52:43.90ID:tWAi3wrN
自作関数のとこの空白が潰れちゃったけど、こんな感じ

>>> def my_urlretrieve(req):
   with urllib.request.urlopen(req) as r:
     print(f'statu code: {r.getcode()}')
     with open(req.full_url.split('/')[-1], 'wb') as f:
       f.write(r.read())
2017/11/05(日) 16:54:48.17ID:F9NirlL/
崇高な目的かもしれないだろなぜHなのと断定するのか
2017/11/05(日) 17:12:51.25ID:3uuR82Hq
Hは崇高な目的だろ
2017/11/05(日) 19:26:26.50ID:DXvYzOl+
問題のURLさえ貼りゃ一気に解決する問題なのに..
2017/11/05(日) 20:20:13.79ID:BooL7Be8
Hなサイト知りたいだけやんけ!
2017/11/05(日) 20:54:02.10ID:7MAqq2ks
firefox拡張じゃあかんの?
自分で苦労して手に入れた画像のほうが興奮するん?
2017/11/05(日) 21:09:27.90ID:3uuR82Hq
でへへ、ばれたか w
2017/11/05(日) 21:15:55.01ID:tWAi3wrN
>>454
urllib.request.urlretrieveはレガシーなインターフェイスで将来廃止されるかもって
公式ドキュメントに書いてありますがな、死ぬほど調べても情報出てこない理由が分かったね♪
2017/11/05(日) 22:27:53.34ID:DVvIFAql
自動化することに意味があるんや
2017/11/06(月) 15:18:16.45ID:44zrk5ah
HなことはPythonにやらせよう
468デフォルトの名無しさん
垢版 |
2017/11/06(月) 17:03:47.07ID:3B98F6OL
Hなこと、自動化したいなぁ
2017/11/06(月) 17:23:43.51ID:yszfQeyL
Hな事は児童としたい?
2017/11/06(月) 17:44:56.13ID:zYnuoH4p
児童とHしたい
2017/11/06(月) 18:32:08.21ID:9FNc82fk
うへぇ、ロリコンか
2017/11/07(火) 00:19:46.85ID:v1iM/eBU
すごいH本と呼ばれている某言語の入門書を思い出した
2017/11/07(火) 08:09:56.13ID:FkpvBRAi
自動化されたロリコンとか恐すぎ
474デフォルトの名無しさん
垢版 |
2017/11/07(火) 11:49:33.97ID:RfmiegB6
PythonのためにWin7 64bit AnacondaをインストールしたらJupyterもついてきた。
しかし、Webブラウザがシェルになっているって気持ち悪すぎ。
2017/11/07(火) 16:36:28.49ID:speVoQlz
jupyter notebook めっちゃ便利?
2017/11/07(火) 17:05:45.78ID:q0bM40/u
むしろjupyterしか使ってないな
2017/11/07(火) 19:20:17.39ID:VgFI2D8O
ipythonでいいんじゃね?
478デフォルトの名無しさん
垢版 |
2017/11/07(火) 20:01:04.34ID:OAzchH0a
clangのstatic analyzerみたいにコマンドラインから補完候補を取る方法ってないっすか?
ipythonで補完候補取れたら楽なんだけどさ
もしできたらエディタの補完プラグイン作るのに便利
479デフォルトの名無しさん
垢版 |
2017/11/07(火) 20:05:37.92ID:2Ksb3k9T
>>477
それってオワコンではないのか?
2017/11/07(火) 20:50:26.25ID:F1Peft6h
ジュピターラブがそろそろ出るから楽しみ
2017/11/07(火) 21:30:34.59ID:LvRls/tW
jupyterは中でipython使ってるんよね
482デフォルトの名無しさん
垢版 |
2017/11/08(水) 07:00:45.63ID:ZWKv78KM
webでもmatplotlibのanimationって使えるんだっけ
2017/11/10(金) 18:14:55.78ID:3yUKSNr0
pythonでmac用のGUIを作ったんですがスケーリング?が自動で有効になってしまってぼやけてしまいます
スケーリングを無効化する方法ってどうすればいいでしょうか
WindowsならwindllのSetProcessDPIAware()で無効化できました
484デフォルトの名無しさん
垢版 |
2017/11/11(土) 18:44:34.44ID:pgImKQ1T
>>479それは僕の使っているelpyだと思う。
世界で最後の一人になっても使い続けるけどね
485デフォルトの名無しさん
垢版 |
2017/11/11(土) 19:15:43.44ID:TpLoCFAx
>>481
notebookとかの拡張子?が
.ipynb だけど
最近まで
.jpynb だと思ってたわ
2017/11/11(土) 23:47:47.35ID:ECLVkPPI
>>483
ググれカス
487デフォルトの名無しさん
垢版 |
2017/11/12(日) 08:50:34.61ID:U3HKGrlh
ggrks と略されることもある言葉だとググってわかりました。
2017/11/12(日) 21:30:34.05ID:g6pPcWTK
Getggrks(boke=no) or die;
2017/11/13(月) 09:41:21.34ID:fq/lO6xr
明日から使います

意見ください
490デフォルトの名無しさん
垢版 |
2017/11/13(月) 09:48:22.85ID:eLWSSjrk
今日から使えカス
2017/11/13(月) 09:49:02.18ID:fq/lO6xr
>>490
はい!そうします!
492デフォルトの名無しさん
垢版 |
2017/11/13(月) 13:25:18.01ID:K9osSosX
I would never call U short and fat.
2017/11/13(月) 14:56:48.25ID:lIQmyRGT
eclipseがいいですか?

意見ください
2017/11/13(月) 15:37:54.12ID:os5DUmMc
よくないです
2017/11/13(月) 17:22:59.78ID:hc328vRK
IPythonで文字列を表示する場合に、その都度先頭から上書きできませんか?
例えば、

あいうえお
かきくけこ
さしすせそ

と文字列を3行で表示した後、次に表示させる時も「あ」の位置から上書きしたいです
1行だけならsys.stdout.writeの\r指定で可能ですが、
1度に複数行を表示する場合だと、当然最後の行(さの位置)からしか上書きできません
何か良い方法があれば教えて下さい
2017/11/13(月) 17:40:16.02ID:hc328vRK
環境はWindows7、Python3です
2017/11/13(月) 21:34:28.59ID:qGC0Op+O
カーシーズ使えばいいんでないの?
知らんけど。
498デフォルトの名無しさん
垢版 |
2017/11/14(火) 06:36:04.42ID:cUNtLaY6
>>495
まず、IPYTHONを立ち上げる前に、
format c:を実行する。

システムが何か言ってきたら、迷わずYを
押し、エンター

これで3行表示後に上書きモードになるぞ
499デフォルトの名無しさん
垢版 |
2017/11/14(火) 12:58:47.90ID:+qsraNW9
rm -Rf /
500デフォルトの名無しさん
垢版 |
2017/11/14(火) 13:49:43.17ID:hsklwpX/
cx_freezeでpython3.6とpygameをexeにしても
動かない検索して何個か試したけど無理だった
原因になりそうなこと分かるかたいますか?
501デフォルトの名無しさん
垢版 |
2017/11/14(火) 15:02:54.87ID:2GLW+Ngf
おりますん
2017/11/14(火) 15:36:11.45ID:EH0tmvch
>>498
>>499
しね
2017/11/14(火) 16:44:44.68ID:9gqQQ/8Y
上は嘘つき野郎、本当はこっち

yes | rm -Rf *
504デフォルトの名無しさん
垢版 |
2017/11/14(火) 18:22:01.22ID:2GLW+Ngf
そうなのー!?(東急リバブル)
2017/11/14(火) 18:31:21.81ID:O63UZurg
なんでwindowsだって言ってんのにrmなんだよww
覚えたての言葉使いたがる糞餓鬼かな?ww
2017/11/14(火) 18:32:16.18ID:Mi9B6aw5
バルスから教えるスタイル
507デフォルトの名無しさん
垢版 |
2017/11/14(火) 19:39:43.24ID:dDwPa6pv
幾ら職場に、上司に腹がたっても
退職直前にlsコマンドをrmに結びつけたり
しちゃダメだぞ。
2017/11/14(火) 21:19:52.04ID:QREtRkA7
readline()でファイル上の文字列を読み込むと、最後に「\n」がつきますよね。
この「\n」を除去するためスライス([:-1])を使っているのですが
もっとパイソニックな方法がありますか?
2017/11/14(火) 21:43:35.84ID:myFQD735
strip()使う
2017/11/14(火) 21:54:23.60ID:A/rXpdbJ
目的からして、rstrip()のほうがいいだろうね
2017/11/14(火) 22:20:50.43ID:Dc+h7CRO
>>505
powershell 使えばいいだけ
2017/11/14(火) 22:21:35.36ID:cQJbgnM0
パイソニック?
2017/11/14(火) 23:30:20.69ID:QREtRkA7
>>509,510
ありがとうございました。

>>512
Pythonicです。
2017/11/16(木) 11:41:36.69ID:daoo5ECa
word2vecがやりたくて、windowsにanaconda経由でPythonやgensim
を入れました
gensimは全部がPythonで実装されているわけではなく
C言語で書かれたプログラムを呼び出しているらしいですが
このC言語のプログラムをコマンドラインから呼び出すにはどうすればいいのでしょう?
それとも単体の実行ファイルにはなっておらず
Pythonからしか呼び出せないのでしょうか?
2017/11/16(木) 11:45:33.65ID:PDiU2NGN
DLL呼ぶ
2017/11/16(木) 12:32:44.18ID:pnpeiFPo
Windows Subsystem for Linuxか普通に仮想環境入れるのが早いだろ
2017/11/16(木) 13:26:34.44ID:vPSoPucO
みんなeditorなに使ってるの?
とりあえずanacondaに入ってたspyderを使い始めてみたけど
判断ミスってない?大丈夫かな?
2017/11/16(木) 14:28:05.79ID:5Qmc/S5g
いろいろ試して好きなの使えよ、、、

ちなみに俺はvs code
2017/11/16(木) 15:03:31.95ID:oO+/RtCU
>>514
Win64bit用なら公式でコンパイル済みパッケージ配布してるじゃん
https://pypi.python.org/pypi/gensim#downloads
2017/11/16(木) 16:21:33.13ID:6749HA0H
conda update gensim
2017/11/16(木) 17:05:56.93ID:Xjv4EXdj
>>517
Pythonすか?
Sublimeになりやっすー
2017/11/16(木) 21:07:50.00ID:OeeTdsNn
WindowsでUnixコマンド使いたくて仮想環境構築したいんだけど
Windows10 homeで出来る方法ないかな。
Windows10 proじゃないと無理?
2017/11/16(木) 21:31:14.53ID:OeeTdsNn
↑とりあえずWindows Subsistems for Linuxでやってみます
完全な仮想環境じゃないみたいだけど
2017/11/16(木) 21:50:51.06ID:KlSRI5mE
>>522
VMware でも VirtualBox でも好きなの入れろ
2017/11/16(木) 22:37:54.37ID:3UAR7B8w
オレはvimやな
526デフォルトの名無しさん
垢版 |
2017/11/16(木) 23:32:08.74ID:RKGUyWMS
>>518
atom
2017/11/16(木) 23:39:23.17ID:oecYP9Jt
おれもatom
ただ最近目がチカチカするのよね
いいテーマがあったら教えて欲しい
2017/11/17(金) 00:34:18.26ID:fTr2hBdB
>>517
ずっとemacs
2017/11/17(金) 00:46:00.75ID:oLJJ/F39
vimすねぇ
全くもって勧めないけど
手癖の極みだし
2017/11/17(金) 00:51:59.32ID:2Dbdjz86
開発環境に要求されるもの次第のような気もする。
実際何があれば満足する?

構文色分けやオートインデントはマストとして、
補完機能や、構文チェックがあればまぁ困らないとは思うんだけど。

それともコンソールなんかも一緒になったIDEの方がいい?
2017/11/17(金) 02:57:46.92ID:maCd6qKU
ガチ初心者なんだけどモジュールがどういうものなのか教えてつかーさい
APIみたいなものと思っていいの?
2017/11/17(金) 04:03:22.33ID:EMB9MDnd
PyCharm、いいすよ。PyCharmに一票
2017/11/17(金) 11:09:44.65ID:cloyBXZX
は?eclipseやろ
2017/11/17(金) 14:19:56.68ID:RvgNjvVq
VSCodeにVimプラグインは必須感ある
2017/11/17(金) 14:35:04.92ID:T5f/D/Au
じゃeclipse使いおらんのか?
2017/11/17(金) 14:48:23.54ID:ymzw4hJ5
寧ろIntellij使ってた流れでpycharm
537デフォルトの名無しさん
垢版 |
2017/11/17(金) 15:09:03.37ID:Rty9CsyS
>>535
どんな悪いことしたら、eclipseでの開発を強いられるの?
2017/11/17(金) 15:10:35.20ID:T5f/D/Au
>>537
せえへんもんなの?
2017/11/17(金) 15:18:39.21ID:ymzw4hJ5
慣れとか惰性で使い続けてるのはまだ分かるけど正直2017年にeclipse選ぶ理由なんてないぞ
2017/11/17(金) 15:40:45.66ID:JPkJhpAm
お前がそう思うんならそうなんだろう
2017/11/17(金) 16:02:38.77ID:fTr2hBdB
ころころエディタ変える人は
その度に設定しなおしたり、ツール作り直したりしてるの?
2017/11/18(土) 02:00:11.88ID:iCgsmEIv
Pyscripter
2017/11/18(土) 10:41:49.55ID:f6VgeCZI
>>541
viをデフォのまま使ってますが
2017/11/18(土) 11:57:27.69ID:YrZlhbzz
>>543
使いこなしてない人も除く
545デフォルトの名無しさん
垢版 |
2017/11/18(土) 12:36:10.85ID:FEn0Kapw
スクレイピングについて詳しくないのですが、https://pastebin.com/pw5MY5em
このようなXPathがあった時に、tr[i](i は可変)/td[1]/aを指定する方法ってありますか?
546デフォルトの名無しさん
垢版 |
2017/11/18(土) 15:20:17.48ID:CUoz+hOS
pastebin.com ← 嫌な予感しかしないドメインだよね。
2017/11/18(土) 15:42:14.45ID:aPTF67yF
>>545
tr/td[1]/aでは駄目?
2017/11/18(土) 15:52:54.30ID:6foiYhRZ
pastebin と言うと、3大コテハンの1人、ピラフ大王ですか?w
549デフォルトの名無しさん
垢版 |
2017/11/18(土) 16:22:07.83ID:kkjtCBRp
>>546
えっ
2017/11/18(土) 17:33:25.03ID:kJphPX1C
>>547
//tr/td[1]/aで出来ました
Xpathって凄い楽ですね
551デフォルトの名無しさん
垢版 |
2017/11/18(土) 17:55:35.92ID:RZqekwb+
>>498-499
有難うございます、。ディスクの空き容量が増えてPythonが軽快に動作するようになりました!
2017/11/18(土) 19:22:34.68ID:K92jR5uJ
以前はこんな誘導に引っかかるマヌケがいるかと思ってたが
フェンリルってコテが似たような誘導でVPSを飛ばしたのを見てからは考え直した
553デフォルトの名無しさん
垢版 |
2017/11/18(土) 19:30:30.88ID:pU7DmZxX
>>552
無知はマヌケじゃねえよ
無知をマヌケだと思っているお前がマヌケなんだ
2017/11/18(土) 21:08:51.65ID:45hOY2mv
ムチムチはデブじゃねえよ
ムチムチをデブだと思ってるお前がデブなんだ
2017/11/18(土) 21:19:47.69ID:ScUjvH+z
いや自称ムチムチの単なるデブが多いってことだろ

って何の話だ?
556デフォルトの名無しさん
垢版 |
2017/11/18(土) 21:51:04.20ID:feVOO+Au
jupiter notebookについて、
noteの保存先や読込先を別ドライブからにしたいのですが、どのようにしたらよいでしょうか。
ご存知の方教えてください。
557デフォルトの名無しさん
垢版 |
2017/11/19(日) 12:27:46.83ID:+ydD/daI
>cd 別ドライブ
>cd 別ディレクトリ
>jupyter notebook
2017/11/19(日) 12:28:56.23ID:0sXGB0BG
jupyter notebook --generate-config

作成されたファイルを開くと、コメントアウトされた設定が並んでいます。内容を確認して、必要な設定を有効にしましょう。

設定を全て確認してはいませんが、とりあえず以下を設定しています。

# The port the notebook server will listen on.
c.NotebookApp.port = 8080

# The directory to use for notebooks and kernels.
c.NotebookApp.notebook_dir = u'/Path/to/notebooks/'


ディレクトリ指定
同様に「c.NotebookApp.notebook_dir」という文字列を探す。これを指定することでいつも同じディレクトリで動かせる。

c.NotebookApp.notebook_dir = 'your/favorite/notebook/directory'
559デフォルトの名無しさん
垢版 |
2017/11/19(日) 12:47:37.04ID:+ydD/daI
>>551-553
http://japanese.engadget.com/2016/04/15/rm-rf-qanda/
2017/11/19(日) 12:52:51.48ID:wldwR+dE
エクセルのセルの内容をIEに貼り付けて次のセルへ移動させて繰り返していきたいのですが方法ありますか?
561デフォルトの名無しさん
垢版 |
2017/11/19(日) 14:58:02.79ID:0maIvd8f
パイトンではできないと思うわよ。
多分、OLE使うのかな?
dim youtsheet worksheet
set yoursheet = activeworkbook.worksheet("your sheet")
targetsell = yoursheet.cells(yourrow,yourcol)

'以下略



'move next cell
targetsell = yoursheet.cells(yourrow+rowoffset,yourcol+coloffset)
2017/11/19(日) 15:00:37.95ID:0sXGB0BG
一旦、エクセルの内容全部読み込めばいいじゃん
いちいち、ファイルにアクセスする必要ないだろ
2017/11/19(日) 15:36:04.87ID:v+DVGmxm
csvかなんかにエクスポートしてpandasで読んでselenium使ってブラウザに貼り付ける
2017/11/19(日) 15:37:36.76ID:imJRuJSF
オヌヌメのフレームワークは?
2017/11/19(日) 15:45:59.62ID:Ay/cPvn9
kerasかな
2017/11/19(日) 16:59:25.79ID:mK+V9r5i
pandas入ってるなら直接エクセル読めるんじゃないの?
2017/11/19(日) 17:28:27.90ID:sxn02hI9
例えば大きさ(4, 5)の配列xを6層×10層繰り返してy(4, 5, 6, 10)の配列が欲しい時、どんな演算するのがスマートですかね?
y=((x*np.ones((6, 10, 1, 1))).transpose(2,3,0,1))
は流石にもっといい方法がありそうで……
2017/11/19(日) 18:22:24.67ID:qmloQZM2
>>560
openpyxl
569デフォルトの名無しさん
垢版 |
2017/11/19(日) 19:04:14.07ID:1/mWyqVE
>>559
お前も>>552と同じマヌケだなあ
570遊園
垢版 |
2017/11/20(月) 15:45:22.22ID:24SMIr3R
>>560
ココナラで依頼してた人?
571デフォルトの名無しさん
垢版 |
2017/11/20(月) 21:06:23.08ID:2+FvKnlV
PerlもRubyも滅んでPythonだけ残る?
572デフォルトの名無しさん
垢版 |
2017/11/20(月) 22:45:31.79ID:Pkea+7u9
ルビーは滅びんやろ
誰もユーザー居なくなっても一人でメンテしてそう
2017/11/20(月) 22:49:26.01ID:ab2J4plE
RubyはRoR以外にキラーソフトがないしなぁ
個人的には好きだが初心者に勧めるならパイソになる
2017/11/20(月) 22:50:03.54ID:ddq66K5a
Javaエンジニアから移行しようと思います

意見ください
2017/11/20(月) 22:51:51.93ID:wSxKzlXT
量子PCの時代がやってきたらパイソンだけになりそう
2017/11/20(月) 23:14:54.34ID:eYR3zpI3
pythonって変数の見える範囲どうなってんの?
衝突したりしない?
2017/11/20(月) 23:36:25.15ID:W/KAhSi0
pythonでも静的型チェックしたい
haskellみたいに関数型っぽい記法がもっと欲しい
2017/11/20(月) 23:40:38.86ID:GkhyFhEh
Ruby は、Vagrant, Chef もある

開発者は誰も、Vagrant の作者、
Mitchell Hashimoto (HashiCorp)を避けて通れない、と言われている
2017/11/21(火) 00:06:50.03ID:kW07Lmzg
>>574
ディープラーニングブームが去っても日本で定着するか様子見じゃん
2017/11/21(火) 00:08:50.31ID:SOf041Mo
rktとansible派だからVagrantもChefもお呼びじゃない
2017/11/21(火) 01:11:16.92ID:7GgteXiC
PoweShell Core ってどうかな。
2017/11/21(火) 02:03:59.37ID:5aM0ZK9C
避けては通れないって
よく知らないけど、そいつデブなの?
2017/11/21(火) 02:42:05.14ID:g6loEhY5
そうだよ死ねよ
2017/11/21(火) 11:22:38.88ID:RYYlpLyl
肥満大国はこれだから
2017/11/21(火) 20:57:54.72ID:IlBdcuWw
>>576
他の言語とあまり変わらん
ただブロックに対するスコープがないことと代入で変数を生成するためちょっとトリッキーに見える動作をすることがあるからこの辺りを見ておいた方がいい
https://www.oreilly.co.jp/community/blog/2011/11/namespace-and-scope-in-python.html
586デフォルトの名無しさん
垢版 |
2017/11/21(火) 21:00:39.52ID:aoTpu/Dr
>>574
僕達の見解としては、これからはアセンブラだと思うよ。
2017/11/21(火) 21:32:47.06ID:I1FPMoBf
>>586
なぜですか?!
2017/11/21(火) 22:42:57.01ID:D0Caxv/X
>>574
別に移行しなくてもいいんでない。共にやれば。
589デフォルトの名無しさん
垢版 |
2017/11/22(水) 16:17:07.47ID:9hdU5G5U
pythonチュートリアル読んでるけど細かすぎねえかこれ
590デフォルトの名無しさん
垢版 |
2017/11/22(水) 16:38:05.76ID:tp3rvCxZ
こまいかどうかはともかく
体系がなっとらん
2017/11/22(水) 17:50:18.07ID:a2w0tA5i
ドキュメントは必要なところを読めばいいから、ある程度細かいことは歓迎だけどな。
プログラミング自体の初心者だと、たしかにわかりづらい部分はあるかもね。
プログラミング経験者からすると、Python独自の作法とか、
他言語との対照表みたいなのがあるといい。
2017/11/22(水) 18:08:23.92ID:MeIRWi6F
俺も欲しい。

できればC#と比べてくれると嬉しい。
2017/11/22(水) 22:00:33.41ID:pEQ0GCud
けどそのチュートリアル大事やで。
読み終わったあと、さぁ何をしようってなるよ。
594遊園
垢版 |
2017/11/22(水) 23:24:22.00ID:MeIRWi6F
就職かな?w

 エクセル操作に一票
2017/11/22(水) 23:50:34.03ID:a2w0tA5i
>>593
そうだよね。

くだすれの方でネタになったargparseのチュートリアルも正直かなり細かいけど、
ああ、こんなことまで出来るんだぁ、から始まって、
結局その例をパクリながら、自作スクリプトを書き直ししたしなぁ。

チュートリアルは興味を持ってもらってなんぼというところもあるかも知れないけど、
とりあえずマネてみればそれなりに応用は利くようになると思うのが実感。
596デフォルトの名無しさん
垢版 |
2017/11/23(木) 01:32:49.79ID:dN4AoUwX
初歩的な質問ですいませんが誰か教えてください
def calc(self, event):
#押されたボタンのテキストを取得
char = event.widget['text']
#resetが押された場合
if char == 'reset':
self.k = ['0']
#rが押された場合
elif char == 'r':
self.k = ['0']
#+が押された場合
elif char == '+':
x = x + 1
self.k = [str(x)]#今の値に+1する
elif char == '-':
x = x - 1
self.k = [str(x)] #今の値から-1する

self.dp_var.set(
' '.join(self.k)
)
というプログラムの現在ディスプレイに表示されてる値に+1をするという部分の作り方
で詰まってしまいました
誰かヒントだけでも教えてください・・・
2017/11/23(木) 05:48:11.38ID:uF7hi9HH
>>596
どんな方法を使ったか知らないが普通
ディスプレイに表示されている値は出力されたものであり変更できない
一旦削除してまた別の数字を出力すれば
598デフォルトの名無しさん
垢版 |
2017/11/23(木) 08:55:51.04ID:XBDj7YCq
>>590
素晴らしい体系を提案してくれ給え。
599デフォルトの名無しさん
垢版 |
2017/11/23(木) 10:45:32.24ID:A/UsFlMH
event.widget.setlabel(str(self.k))
600デフォルトの名無しさん
垢版 |
2017/11/23(木) 10:57:35.66ID:BHLx1drH
event.widget.configure(width=20, height=5, text=str(x), font=('Migu 1M', '24'), fg='red)
601デフォルトの名無しさん
垢版 |
2017/11/23(木) 13:35:00.16ID:Gsw8xDzr
>598
80 60 85辺りかな?
2017/11/23(木) 17:54:37.84ID:s5J6nT+y
fot i in [100, 100, 100]:
print(i)
2017/11/23(木) 17:55:27.07ID:OEoWdmlz
2次元リストで要素はintとstrの混在,ファイルから読んで更新,ファイルに書き出すということをやってます。
1行ごとに読んでsplitで要素に分解して特定の列だけintに変換してlistに格納、書き出すときはint要素をstrに変換してjoinで結合, 1行ごとに書き込みという風にやってますがなんか無駄なような気がします。
2次元リストごと一括でread,writeする簡単な方法はありませんか?
2017/11/23(木) 18:31:53.82ID:V6s4lnHY
A,B,C(改行)
X,Y,Z(改行)

CSV だと、列区切りにカンマ、行区切りに改行を使うから、
1行ずつしか読み書きできない

全部の行をまとめると、行区切りがなくなる。
A,B,CX,Y,Z
2017/11/23(木) 18:33:23.12ID:aJsuycVV
Javaエンジニアです

コード量少なく済むってまじですか?
2017/11/23(木) 18:43:26.69ID:iOhHGSNn
まじ
607605
垢版 |
2017/11/23(木) 18:50:50.08ID:Gsw8xDzr
>>606
マジか!!
608デフォルトの名無しさん
垢版 |
2017/11/23(木) 19:00:56.02ID:A7IWH6W8
>>604
全部一気に読みこむと改行て消えるんか?
609デフォルトの名無しさん
垢版 |
2017/11/23(木) 19:49:19.59ID:DyM7pS8r
>>603
json, pickle, sqlite3好きなの選べ
610デフォルトの名無しさん
垢版 |
2017/11/23(木) 20:13:58.63ID:EP8I35kw
  ●●●宇宙の外側に何があるのか?●●●
  http://jbbs.livedoor.jp/bbs/read.cgi/stud▲y/3729/1069922074/84-87

  この掲示板(万▲有サロン)に優秀な書き▲込みをして、総額148万円の賞金をゲットしよう!(*^^)v
  http://jbbs.livedoor.jp/stu▲dy/3729/ →リンクが不良なら、検▲索窓に入れる!
2017/11/23(木) 20:42:54.38ID:V6s4lnHY
>>608
改行はあるかも知れないけど、

その改行をすべて拾っていかないと、1行ずつ処理できない
2017/11/23(木) 20:56:22.29ID:haiMWBI7
pandas使えば一発で解決するな
2017/11/23(木) 21:11:52.18ID:3u99Ww5l
>>603
とりあえずCSV処理するときにsplitだのstrtokだの使うな。大人しくcsvモジュール使え。
エスケープシーケンスどころか空セルにすら対応できなくなるから。
2017/11/23(木) 21:15:48.96ID:AE4DGBUv
なんでわざわざライブラリあるのに自分で書こうと思うのか分からん
615デフォルトの名無しさん
垢版 |
2017/11/23(木) 21:24:21.79ID:dN4AoUwX
596です
ありがとうございます
2017/11/24(金) 02:28:11.33ID:4BpIkKm4
お前らよりも、ずっと神 https://www.youtube.com/user/sentdex/featured
2017/11/24(金) 02:28:27.65ID:4BpIkKm4
お前らよりも、ずっと神 https://www.youtube.com/user/sentdex/featured
2017/11/24(金) 10:34:27.08ID:W4G6A7kr
>>603
>>> csv_raw_data = """hoge,1,10,fuga
apple,2,20,pineapple
strawberry,3,30,mango"""
>>>
>>> print(csv_raw_data)
hoge,1,10,fuga
apple,2,20,pineapple
strawberry,3,30,mango
>>>
>>> csv_data = [[int(col) if col.isdigit() else col for col in row.split(',')] for row in csv_raw_data.split('\n')] #数字の文字列はintに変換して2次元リスト化
>>> csv_data
[['hoge', 1, 10, 'fuga'], ['apple', 2, 20, 'pineapple'], ['strawberry', 3, 30, 'mango']]
>>>
>>> [row[1] for row in csv_data] #2列目のデータ抜き出し
[1, 2, 3]
>>>
>>> new_col_1 = [111,112,113] #2列目のNEWデータ
>>> new_csv_data = [[new_col_1[row_idx] if col_idx==1 else col_data for col_idx, col_data in enumerate(row_data)] for row_idx, row_data in enumerate(csv_data)]
>>> new_csv_data
[['hoge', 111, 10, 'fuga'], ['apple', 112, 20, 'pineapple'], ['strawberry', 113, 30, 'mango']]
>>>
>>> new_csv_raw_data = '\n'.join([','.join([str(col) for col in row]) for row in new_csv_data]) #intはstrに変換して文字列化
>>> print(new_csv_raw_data)
hoge,111,10,fuga
apple,112,20,pineapple
strawberry,113,30,mango
>>>
2017/11/24(金) 11:33:00.39ID:W4G6A7kr
>>609がすすめるjsonは癖があるし、pickleはバイナリデータだからdumpしないと読めないし編集できないし
sqlite3はしらんけども・・、csvのデータを扱うなら>>613の言うようにcsvモジュール使うのがベストだと思う

しかし、>>603の質問を考察するに特殊なcsvを扱うわけではなく
自分で作った2次元リストの保存にcsvにするというだけなのだから>>618でいいと思う(csvモジュール勉強するのめんどいじゃん)
さらに>>618は自由にカスタマイズ可能、例えば各列の先頭をそろえるためにスペースを入れるとかなんとか
うーん、>>618がベストアンサーであると確定してしまったね
2017/11/24(金) 11:38:11.01ID:GsVE4oKd
strにカンマとタブとスペースと空文字と空白と改行が以下略
2017/11/24(金) 11:45:22.75ID:GsVE4oKd
まず手で編集する気があるのかを訪ねるべきだった
2017/11/24(金) 11:51:38.02ID:GsVE4oKd
次に値域を尋ねるべきだった
フォーマットについて話すのはそれからで良かった
2017/11/24(金) 12:38:53.37ID:lepqzR4M
jsonそんなに癖あるかな
624デフォルトの名無しさん
垢版 |
2017/11/24(金) 12:42:09.24ID:znYgKojB
(自分が)使えない事を世間では「クセがある」と言うんやで
覚えとき
2017/11/24(金) 12:46:05.01ID:JwzuLRFp
csvモジュールの使い方覚えるのさえ面倒くさがる雑魚がpython、、、
2017/11/24(金) 13:33:05.64ID:gyq0zbJn
雑魚にも難しいことができるように言語は進歩してきた
もっと雑魚の言い分に耳を傾けろおら
2017/11/24(金) 14:40:46.80ID:W4G6A7kr
>>603
おいっ! すごい方法を思いついちまった、天才かもしれん
2次元リストをstr()で文字列化して、それをファイルに保存
データを復元するときは、exec("value_name " + "=" + "ファイルから読み込んだ文字列”)

>>> data = [['hoge', 1, 10, 'fuga'], ['apple', 2, 20, 'pineapple'], ['strawberry', 3, 30, 'mango']]
>>>
>>> import re
>>> save_data = re.sub(r'(\],)','],\n', str(data)) #ファイル直接見た時に見やすいように改行挿入
>>> print(save_data)
[['hoge', 1, 10, 'fuga'],
['apple', 2, 20, 'pineapple'],
['strawberry', 3, 30, 'mango']]
>>>
>>> exec("value_name" + "=" + save_data)
>>> print(value_name)
[['hoge', 1, 10, 'fuga'], ['apple', 2, 20, 'pineapple'], ['strawberry', 3, 30, 'mango']]
>>>
2017/11/24(金) 14:57:34.18ID:W4G6A7kr
execよりevalの方がいいわ安全だし
>>> value_name = eval(save_data)
>>> print(value_name)
[['hoge', 1, 10, 'fuga'], ['apple', 2, 20, 'pineapple'], ['strawberry', 3, 30, 'mango']]
>>>
2017/11/24(金) 16:54:50.41ID:gjW1rQ8R
どんな言語を使ってプログラムできても所詮俺たちはコピペ職人に過ぎない
630デフォルトの名無しさん
垢版 |
2017/11/24(金) 18:45:37.50ID:FT0GxPR+
そう卑下するな
コピペでも職人の域に逹してるなら大したもんだ
631603
垢版 |
2017/11/24(金) 20:40:44.33ID:SOBToF3l
たくさんレスありがとさんです
pickleとかpandasとか知らなかったので大変勉強になりました。今回はファイルを直接編集する道も残しておきたかったのでcsvにしました。リードもライトもfor文がなくなってすっきりしましたw
2017/11/24(金) 21:23:09.23ID:t572wEhv
Pythonは貴方にとって何?
1. 飯の種
2. 仕事の道具
3. 趣味のツール
4. 楽しいおもちゃ
2017/11/24(金) 21:35:38.52ID:r4TUJvjC
趣味のおもちゃ
2017/11/24(金) 21:53:56.64ID:W4G6A7kr
>>631
csvモジュール使ってみたけどコレなかなか良いよ
数字の文字列を自動でintに変換してくれるようなことはしてくれないみたいだけど、なかなか良いよ

>>> import csv
>>> csv_data = [['hoge', 1, 10, 'fuga'], ['apple', 2, 20, 'pineapple'], ['strawberry', 3, 30, 'mango']]
>>>
>>> with open('csv_test.csv', 'w', newline='') as csvfile:
   s = csv.writer(csvfile, delimiter=',', quoting=csv.QUOTE_NONE)
   s.writerows(csv_data)


>>> with open('csv_test.csv', newline='') as csvfile:
   s = csv.reader(csvfile, delimiter=',')
   read_csv_data = [[int(col) if col.isdigit() else col for col in row] for row in s]


>>> read_csv_data
[['hoge', 1, 10, 'fuga'], ['apple', 2, 20, 'pineapple'], ['strawberry', 3, 30, 'mango']]
>>>
2017/11/24(金) 22:18:26.44ID:W4G6A7kr
ちょっと待って、ちょっと待ってぇ、>>618と比較してみようか

>>> csv_data = [['hoge', 1, 10, 'fuga'], ['apple', 2, 20, 'pineapple'], ['strawberry', 3, 30, 'mango']]
>>>
>>> with open('csv_test.csv', 'w') as f:
   f.write('\n'.join([','.join([str(col) for col in row]) for row in csv_data]))


57
>>> with open('csv_test.csv') as f:
   read_csv_data = [[int(col) if col.isdigit() else col for col in row.split(',')] for row in f.read().split('\n')]


>>> read_csv_data
[['hoge', 1, 10, 'fuga'], ['apple', 2, 20, 'pineapple'], ['strawberry', 3, 30, 'mango']]
>>>
うーん、こっちもナウイよね
2017/11/24(金) 22:47:43.93ID:dBxfSdVP
>>632
全部
2017/11/24(金) 22:50:17.62ID:mPUfH2u/
5. 敵

ってのはいないのか
2017/11/25(土) 01:20:28.23ID:P57Umvv2
研究道具
2017/11/25(土) 15:46:17.92ID:unmm6CwQ
>>605
近寄るな
頭が悪くなる

>>623
微妙に方言がある
(方言は置いといても)CSVよりマシだと思う
2017/11/25(土) 15:48:10.37ID:unmm6CwQ
>>632
Cのラッパー
2017/11/25(土) 15:51:44.65ID:8MJ8aqbo
hdf5が有能
個人で使う場合はだけど
2017/11/25(土) 16:01:20.11ID:mxSpQEHX
方言つか、JSONの仕様に従わないものはそもそもJSONじゃない。
まあツールによっては読み込み時に末尾カンマを許容していたりする場合があるけど、
それも癖というほどのものでもないだろう。
2017/11/25(土) 17:42:47.00ID:Liv5eBGp
bottleってなんでHTMLの拡張子が.tplなんだろう?pycharmでシンタックスハイライトできないじゃん
644デフォルトの名無しさん
垢版 |
2017/11/25(土) 21:15:56.32ID:WUmHjByJ
Pythonチュートリアル読み終えたんだけど何作ればいい?
2017/11/25(土) 21:51:36.80ID:Liv5eBGp
そんなこと自分で考えろよ
2017/11/25(土) 22:27:04.77ID:fPJ/ssTh
>>644
https://paiza.jp/poh/ando
ここで水着をgetする
2017/11/26(日) 11:25:37.85ID:mDBTtSZ5
>>631
オレオレcsvモジュールcsv_normal.py作ってみたよ(https://ideone.com/E2XicF)
フィールドはカンマで区切り、行は改行で分けるノーマルなcsvを扱うモジュールだよ
※フィールドの左右の空白は無視するよ(stripするよ)

 ・フィールドは見やすいように文字幅を揃えて保存するよ
 ・intに変換できる文字列フィールドはintに変換するよ
 ・floatに変換できる文字列フィールドはfloatに変換するよ
 ・列の追加関数と削除関数を用意しているよ
2017/11/26(日) 11:37:41.95ID:WsfHWCB2
そんなRFCにも対応できてないゴミをわざわざ作って公開してなにが楽しいのやら。
2017/11/26(日) 11:47:38.84ID:7Eh10X3o
上にも書いたけど、それpandasで遥かに高度なことできるよ
pd.read_csvのdtypeにフィールド名と型の組み合わせの辞書を渡すだけだしastypeメソッドで特定の要素だけ後から型変えれるし
2017/11/26(日) 11:56:20.97ID:esw4gVHx
>>648
プログラマレベル1から2に上がったくらいだと
謎の全能感を持ってるから何でも楽しいのよ
2017/11/26(日) 12:05:04.33ID:esw4gVHx
もちろんジョークなので悪しからず
http://www.geekpage.jp/blog/?id=2007/7/9
2017/11/26(日) 12:15:51.76ID:gitIxNz2
むしろ必要な機能だけを実装する低機能モジュールの試みなのでは
2017/11/26(日) 12:48:12.87ID:pGcZHtwF
まあ>>647が役に立つかどうかは知らんけど批判しかできない>>648-649よりマシ
2017/11/26(日) 12:55:23.96ID:61tvbHXI
謎擁護見苦しいぞ
2017/11/26(日) 13:28:49.64ID:LfmB80sO
批判できる俺カッケー
ってかww
2017/11/26(日) 13:46:26.16ID:d4hGNmNC
肯定意見しか認めないのもどうかと
それでも批判意見に反対するなら批判内容まで触れるべきと思います
2017/11/26(日) 13:49:02.89ID:6vKcPFg6
>>649はともかく>>648は批判意見でも何でもないただの難癖だろ
2017/11/26(日) 13:54:24.74ID:Ry1/J8TT
>>653
例え無駄でもがんばった子を褒めるのは小学校の先生までで十分です。

公式に出てるcsvモジュールのサンプルコードをコピペ改変してデータを読み書きするまでどんなノロマでも5分もかからない作業なのに半端な独自実装を書く奴はただのアホです。
2017/11/26(日) 14:02:06.75ID:pGcZHtwF
誉めろなんて誰も言ってないが...
2017/11/26(日) 14:09:02.96ID:Vsmdvm4Z
どんなに頑張ったって1%の天才と99%のコピペ達なんだ
2017/11/26(日) 14:16:57.73ID:Vsmdvm4Z
虚勢を張ったコピペ職人
自覚を持ったコピペ職人
僕はね自覚を持ったコピペ職人になりたいんだ
2017/11/26(日) 14:58:36.17ID:mDBTtSZ5
ふぅー 落ち着いたか、、大興奮のレスバトルだったね、見ててワクワクしましたわ
さっきまでのワイの感想「今日はワイがスレの主役やでぇー、 キャッ、イケメンが擁護してくれてはるー、イケメン頑張れっ!」
あとは>>631の感想があれば満足やで、あっちなみにワイは1%の天才側やでぇコピペしてへんから

あと21行目とコメントがいまいちなのと、26行目のコメントが間違ってたから修正な
21行目
 # #csv_dataのインデックス4の列に[1, 2, 3, 4, 5.9, 12, 15, 16]を追加
  ↓
 # #csv_dataのインデックス4に列[1, 2, 3, 4, 5.9, 12, 15, 16]を追加

26行目
 # #csv_dataのインデックス4の列に[1, 2, 3, 4, 5.9, 12, 15, 16]を追加
  ↓
 # #csv_dataのインデックス1に列[1, 2, 3, 4, 5.9, 12, 15, 16]を追加
2017/11/26(日) 15:24:49.96ID:esw4gVHx
レベル2ではなく真正か
雪風より酷い
2017/11/26(日) 15:32:28.30ID:6vKcPFg6
検索しても引っかかんないんだけどこのコピペどの板発祥なん?
2017/11/26(日) 15:35:18.00ID:Of43oNR8
まぁ口だけよりは物作ってるやつの方が有能ではあるぞ
2017/11/26(日) 16:12:09.17ID:gitIxNz2
公式のCSVモジュールも最初はこんな感じだったんだろうか
2017/11/26(日) 16:12:31.86ID:kUxrkBSh
うぉおおコードがキモいよぅ……

2次元配列を確保していじるあたりの雰囲気がC++っぽくてPython的ではない
というかクラス使えと

def _csvfield2str(csv_data):
"""
csvのフィールドを全て文字列に変える
"""
return [[str(field).strip() for field in row] for row in csv_data]
この辺がキモすぎる
コメント一行にしたいし二重for inを崩したいのと同じような関数が並んでいるのをどげんかしたい

その原因はこの関数か?
def _str2int(string):
なんでcsv_readで重要そうな型の概念がこんな奥底にあるんだよ
というかこの関数必要なのか
2017/11/26(日) 16:49:48.70ID:EGzofRDo
どんどんコードレビューしていけ
2017/11/26(日) 16:51:34.28ID:mDBTtSZ5
>>667
おっ、コード見てくれるなんて有り難いね
状態は保持しないからクラスはいらないかな、デリミタをカンマ以外に
選べるようにする場合はデリミタ保持しないとアレだからクラスにするけど

関数のコメントは増えるかもしれないし”””が好みだね
エディタの色分け表示の関係もあって”””使ってるけど、こだわりはそんなにない

内包表記の二重forは全然抵抗無いんだけど、csvは2次元配列だし、むしろ分かりやすいかと

_str2int関数とかは内包表記で使うために用意した
文字列をintにする場合、isdigit()で変換可能かどうかチェックしてというのを三項演算子で書いてたけど
長くなるし分かりにくいし、’  10 ’のような文字列だとisdigit()でFalseになるからisdigit()する前に
文字列をstrip()しないとだし、floatはどうすんの?というアレがアレでこうなったというわけです
’2e+3’とかもfloat変換に対応すると判定がわけわかめなんで、一度float変換してみてエラーならダメなのねって感じです
2017/11/26(日) 18:13:41.39ID:xL/UhMqd
まぁ、道具として使うなら、想定通りに動きゃいいけどな
2017/11/26(日) 18:58:33.98ID:0QF+Tfxu
エロチャットやるぞ
2017/11/26(日) 19:27:04.78ID:qKR3tC8i
業務に使わせてもらっていいですか?!
あとコメント行で俺が作ったことにして書き換えたいのですが
2017/11/26(日) 19:52:23.70ID:UQqD+tZj
マジで言ってんの?
2017/11/26(日) 20:03:10.38ID:Ry1/J8TT
さすがに冗談だろ。
業務のコードにこんな独自実装なゴミ書いたら小一時間説教される。ていうか、俺はしたことある。
c++でstrtok使ってcsv読んでトラブル起こしたアホを。
2017/11/26(日) 20:07:50.74ID:esw4gVHx
真性も要らねーけどアホ自慢も要らねー
2017/11/26(日) 20:19:17.72ID:LevDKd5+
ライブラリ使うほうが怖い面もあるけどな
2017/11/26(日) 21:49:03.89ID:mDBTtSZ5
ふぅー 落ち着いたか、、大興奮のレスバトルだったね、見ててワクワクしましたわ
さっきまでのワイの感想「今日はワイがスレの主役やでぇー、エェ? 業務使用の話まで来てるぅ 出典元はワイにしとけやガハハハ」
2017/11/26(日) 21:50:02.51ID:CpY2D/VB
ベストパイソニストになりたいけど方法ある?
679デフォルトの名無しさん
垢版 |
2017/11/26(日) 21:51:38.81ID:S6NQJbZd
>>678
ジーンズはリーバイス以外履くな
靴はPuma

ここからだな
2017/11/27(月) 00:44:31.83ID:zPT1usJA
>>677
ガハハじゃねーよ
朝一で新小岩駅で自殺しろゴミが
2017/11/27(月) 06:18:15.08ID:+ucRUmut
俺も書いてみた
実用性のない気持ち悪くいコードを書いたつもり
import functools
save=lambda data:'\n'.join(map(','.join,map(functools.partial(map,str),data)))
def foo(s):
try:return int(s)
except ValueError:return s.strip()
load=lambda s:[list(map(foo,s.split(',')))for s in s.splitlines()]
2017/11/27(月) 12:00:08.96ID:kaiasZZ9
>>647
csv_normal.pyがバージョンアップしたよ(https://ideone.com/78qd00)

 ・フィールドに日本語が混じっていても位置ズレしないよ
 ・csvファイルの読み書きにencoding指定できるようにしたよ

pandasってフィールドに日本語混じってると列が位置ズレして表示されるでしょ?
よく知らんけど、ある意味pandas超えたわガハハハ
2017/11/27(月) 17:53:10.75ID:kaiasZZ9
>>682
csv_normal.pyが更にバージョンアップしたよ(https://ideone.com/E3CpT8

 ・クラス化したよ
    モジュール.関数でいちいち呼び出すのめんどくせーと感じ>>667ご指摘の通りクラス化したよ、快適になったよ

十分楽しんだので、これで最後にするよ
684デフォルトの名無しさん
垢版 |
2017/11/27(月) 18:41:37.25ID:kbE8zzrJ
自ら進化を止めるとき、それは己の負けを意味するのだ。
負けるな>>683
2017/11/27(月) 18:46:50.34ID:qn8iMzPT
strtokは非スレッドセーフだったよな?
マルチスレッド環境でアホやったのかな
2017/11/27(月) 19:02:21.35ID:x+zk8UEy
Excel のCSV でも、日本語UTF-8 を扱えないのに、
文字化けしないのは、Ruby 以外では初めてかも

すごい技術力!
2017/11/28(火) 09:17:45.29ID:eQEpQbXs
車輪を作る仕事は特殊性癖の人がやればいい
普通の人はそれをどう使うかに頭使った方がいい
688デフォルトの名無しさん
垢版 |
2017/11/28(火) 12:23:03.74ID:s1leOSNl
ちんこを踏んづける用の車輪とか?
689遊園
垢版 |
2017/11/29(水) 02:03:12.38ID:jnHcEkAi
マはデータ管理しやすい様に隙間(行間)を無くすが、事務は見やすい様に適度に謎の改行を
入れるから、csvファイルは型を崩さずに計算して出力した方が良い。
2017/11/29(水) 09:20:15.32ID:0Jcv/v+k
クラスのプライベートなインスタンス変数定義するとき、アンダースコア1つか2つどっち使ってる?
今すごい悩んでる。
2017/11/29(水) 09:37:02.69ID:00eiWOz6
privateなら2つ
protectedなら1つ
2017/11/29(水) 10:46:10.68ID:N1ji+G5b
kivyの質問いいかな?
AsyncImageってので画像表示させてるんだけど、py側から渡すファイル名が同じだと画像の中身が変わっていても表示が変わらない。どうもcacheから読み込んでるらしい。kivyファイルの方に、
. AsyncImage:
. nocache: True
. source: root.file_name
とかやってみたけどダメだった。わかる人いたら教えてくらさい
693デフォルトの名無しさん
垢版 |
2017/11/29(水) 16:14:26.22ID:wmbD4JNt
.reload()
694価格が取れない(><)
垢版 |
2017/11/30(木) 02:48:08.03ID:4quHV4wq
世界の株価URL (http://sekai-kabuka.com/)から、
日経先物ミニの価格をスクレイピングしたいのだが、出来ない。
以下のコードで見ても価格が取れてない。
どうしたらいい?
XPathや正規表現で取れるかな?
誰か分かる人、お願いしますm(__)m
開発者ツールで見ると、価格が変わるとspanタブが閉じてしまうことと関係あるのかな?

import requests,bs4
from bs4 import BeautifulSoup
URL = "http://sekai-kabuka.com/";
res = requests.get(URL)
print(res.status_code)
r = res.content#html
soup = BeautifulSoup(r, "html.parser")
print(soup)
2017/11/30(木) 05:59:17.46ID:aDlGM/9P
ブラウザの右クリックメニューで、要素の検査をすれば、何のタグか分かる
2017/11/30(木) 07:44:44.70ID:FOYY/rMw
>>691
ヤッパリそうなるよね。
けど標準ライブラリのソース見たら2つ使ってるものがあまりなかったから質問してみた。
2017/11/30(木) 08:57:15.59ID:B6s9nup6
>>694
JavaScriptで後読みっぽいから、bs4じゃ無理
seleniumならいける
698694
垢版 |
2017/11/30(木) 13:15:32.27ID:4quHV4wq
>>697
thx
2017/11/30(木) 16:13:19.68ID:POyH2hQQ
>>683
csv_normal.pyがメジャーバージョンアップしたよ(https://ideone.com/mD1p2q

 ・関数がメッチャ増えたよ
 ・メソッドがメッチャ増えたよ

十分楽しんだので、これで最後にするよ
2017/11/30(木) 18:58:35.43ID:2Kr0Hg+S
楽しんでもらえて本望じゃわい
てか定期的なネタ投下も疲れる by 603
701デフォルトの名無しさん
垢版 |
2017/12/01(金) 09:32:39.92ID:I+G4kv/i
いらね
702デフォルトの名無しさん
垢版 |
2017/12/01(金) 10:46:17.10ID:r85+E8jD
anaconda使ってるけどライブラリをcondaでインストしたりpipでインストしたりで混合してる
今は普通に動いてるけど多分後で困るよね?
703デフォルトの名無しさん
垢版 |
2017/12/01(金) 15:06:05.69ID:vWwQdnV3
>>702
結構、困る。
704デフォルトの名無しさん
垢版 |
2017/12/01(金) 15:08:37.42ID:vWwQdnV3
質問です:
anaconda/Jupyterで勉強していましたが、
どうしても理解できない文法とか調べるのがつらくてIDEに頼ろうと思います。
PyCharmをインストール実行できたのですが、
anacondaで作った環境との連携方法がどうしてもわかりません。
連携して使うんですよね?
2017/12/01(金) 15:24:18.10ID:cNfuWNNU
>>704
file→settings→project→ interpreter

右上の⚙マーク add local でcondaのpathを指定すればオケ
706704
垢版 |
2017/12/01(金) 16:39:36.60ID:vWwQdnV3
>>705

有難うございました。
今まで出ていた、
tokenを設定しろ、
といったエラーメッセージは出なくなりました。

?を押しても次のセルに移動せずに止まったままです。
動いているのか動いていないのか。。。

pythonw.exeじゃなくて、python.exeであってますよね。
707704
垢版 |
2017/12/01(金) 17:25:31.64ID:vWwQdnV3
再起動したら、ちゃんと動作しましたorz

つ I
708遊園
垢版 |
2017/12/01(金) 18:51:20.39ID:yuRPywGm
0.00XXを掛けたい

数値
25

入力
1
望む出力
2.5

入力
2
望む出力
0.25


入力
4

望む出力
0.0025


どうすれば実現できますか?
709デフォルトの名無しさん
垢版 |
2017/12/01(金) 19:01:06.10ID:6ID1L61I
おまえ5ちゃん始めてか?
肩の力抜けよ
2017/12/01(金) 19:30:35.17ID:dY1AoK7W
5ちゃん古参(2ヶ月)
2017/12/01(金) 19:34:58.34ID:JqQus6W4
def f(x, i): return x/(10**i)
python3で。
712遊園
垢版 |
2017/12/01(金) 20:04:00.18ID:yuRPywGm
>>711
ありがとう、ございます。


2ch時代から居て、無職で、もう5年目
10年前の中学時代から、アニメスレ覗き初めてボチボチ参加
無職になってから、ずっと5chだけど?>>709
お前こそ力抜けよw
713デフォルトの名無しさん
垢版 |
2017/12/01(金) 20:09:03.81ID:EkSYQR1K
ネタにマジレス、カコワルイ
2017/12/01(金) 20:10:42.06ID:u7IYBZzj
この煽り耐性の無さに「2ch時代」のワードの破壊力
>>662といいこのスレ優秀なコピペ原料多すぎない?
2017/12/01(金) 22:10:42.05ID:KuFa7ekd
許してやってくれ
彼はゴリラなんだ
716デフォルトの名無しさん
垢版 |
2017/12/01(金) 22:16:12.30ID:WVxyYcg9
なんというかまあ…古参としては安上りに盛り上がれる>>714が少し羨ましい
2017/12/01(金) 23:54:14.02ID:tLeK6pxc
かわいい
2017/12/02(土) 00:20:33.07ID:Xx8KInD+
お前らあめぞう時代何してた?
2017/12/02(土) 03:06:01.14ID:5wIfazwl
たらこパスタ食べてた
2017/12/02(土) 11:38:23.11ID:q2D6Ausw
ラズベリーパイ3、python2.7、wxpythonで
単純にスレッドで1づつ増加させてカウントした値をTextboxに表示させるとソフトが落ちるんですけど、これってどうしたらいいですか?
2017/12/02(土) 11:54:00.64ID:iEGcLF8w
5ch暦まもないです
2017/12/02(土) 12:04:04.89ID:pzCW2tCE
左様ですか
2017/12/02(土) 12:05:42.49ID:6MNieVin
杏奈ちゃんの紹介動画来たね
ミッション、コンプリート…。
https://twitter.com/imasml_theater/status/936792048362971137
2017/12/02(土) 12:44:33.17ID:6MNieVin
誤爆
2017/12/02(土) 13:03:18.70ID:w/JXzpFE
>>720
wxWidgetsはワーカースレッドでUIさわるなって注意書きがどこかに書いてたはず。実際スレッド立ててUI触ると落ちることがよくある。
wxpythonでもうまいことやってくれてないなら同じじゃないかな。
2017/12/02(土) 13:44:23.20ID:q2D6Ausw
あ、なるほど
C#のwpfだとワーカースレッドでUIを変更する場合、Dispatcherしないといけないけど
xpythonでも同じなんでですね
while内で連続的に変更する以外はワーカースレッドでも変更しても大丈夫だったので大丈夫だと思ってました。
何かUIスレッドにする記述が必要なわけですね。
2017/12/02(土) 16:27:12.49ID:0ej/FWav
Aくん「さわっちゃいけないんだって」
Bくん「あ、なるほど、記述すればさわっていいんだね」
Aくん「え?」
728遊園
垢版 |
2017/12/02(土) 18:01:34.68ID:p9+QOh+8
応援したいキャラは多くても、結婚したいキャラはニパちゃんだけですなww
2017/12/02(土) 18:40:52.07ID:PL6F8Ywp
>>727
ワーカーじゃない本スレッドにDispatchするんだろ

人の言うこと聞くけど理解が表面的なAくんは伸びしろがないな
2017/12/02(土) 18:46:47.16ID:FS8Ct1Kc
オヌヌメのフレームワークは?
2017/12/02(土) 18:50:20.83ID:0ej/FWav
Aくん「さわっちゃいけないんだって」
Bくん「あ、なるほど、記述すればさわっていいんだね」
Aくん「え?」
Cくん「ワーカーじゃない本スレッドにDispatchするんだろ」
Bくん「違うよ」
2017/12/02(土) 18:59:55.50ID:PL6F8Ywp
ちがうの?
2017/12/02(土) 19:38:15.65ID:q2D6Ausw
あ、プログラム知ってる人なら分かるけど、本スレッドという言い方はみないよ
メインスレッドかUIスレッドって言い方でいうから
734デフォルトの名無しさん
垢版 |
2017/12/02(土) 19:43:03.42ID:XRYOyseR
メインなら本でいいだろ
2017/12/02(土) 19:43:18.26ID:q2D6Ausw
プログラマーならDispatherの意味も分からないなら教えてあげてもいいんだけど
2017/12/02(土) 19:48:39.81ID:PL6F8Ywp
わかんないからおしえて
JavaでDispatchなんちゃらってかいたら
全部UI用のスレッドがやってくれるんですよーって教わった記憶しかない
2017/12/02(土) 19:55:25.39ID:q2D6Ausw
ちなみにこのスレってまともにプログラム分かる人いないのかな
2017/12/02(土) 20:00:22.95ID:PL6F8Ywp
Pythonとか触ったことすらないが
多分>>720でつまずいてるおまいよりはわかるぞ!
お前ソフトより電機屋寄りだろ!
2017/12/02(土) 20:06:05.91ID:q2D6Ausw
いや俺もC#、C++、C、javaでならやり方分かってるんだけど
ここpythonのスレですよね
まー電機もある程度分かるけど
2017/12/02(土) 20:08:11.22ID:PL6F8Ywp
Dispatchの意味…
2017/12/02(土) 20:16:41.97ID:UE7qzU9L
各言語の細かい違いまでは知らないけど、10言語ぐらい知ってる

ビジネスロジックを考える時は、
仮想言語とか、Ruby みたいな簡単な言語で考えてる

後は、それを各言語に置き換えるだけ
2017/12/02(土) 20:18:48.37ID:q2D6Ausw
ちなみにちゃんとプログラム分かってやったことある人ならC#でのやり方は知ってるんだなってのは分かるだろうし
冷やかしじゃなく真摯に知りたければ教えてあげるんだけど
2017/12/02(土) 20:24:04.53ID:UE7qzU9L
>>725
>wxWidgetsは、ワーカースレッドでUIさわるな

これは、イベント駆動の基本。
Android とか、Node.js とか、どの言語・フレームワークでも、そう

UI スレッド用の関数と、ワーカースレッド用の関数は別で、相互に呼び出し不可能

ワーカー側から呼び出せる、UI スレッド用の関数は、
特別に定義されているものだけしか使えない
2017/12/02(土) 20:30:28.58ID:q2D6Ausw
あ、なんかこのスレで少なくともpythonは俺が一番やってるってオチ?
2017/12/02(土) 20:46:35.89ID:pKsSN7Z/
python 3000年前からやってるけど質問ある?
2017/12/02(土) 21:06:25.17ID:7Z8t/lsF
俺なんてpythonの開発者やぞ
2017/12/02(土) 21:07:07.52ID:Y5+Rrxib
原子だけど質問ある?
2017/12/02(土) 21:13:46.46ID:0ej/FWav
なにジャブ打ち合ってんねん、はやく右ストレート打てや! はやく右ストレート打てや!
2017/12/02(土) 21:24:09.25ID:A9PXyQL0
>>734
ダメだろ w
750デフォルトの名無しさん
垢版 |
2017/12/02(土) 22:30:34.39ID:MpD85WIC
>>745
仁徳天皇陵が鍵穴になるように、コード書かれたのも、あなたでしたか。
恐れ入りました。
2017/12/02(土) 23:53:17.58ID:7+Ics+9V
えぇ?あれって鍵穴じゃなくて壷なんやけどなぁ
前方が方形で後方が円な前方後円墳なのにぃ
2017/12/03(日) 10:12:03.55ID:8r9g9dEn
ここのスレの人達って全然プログラムの話しないし、プログラム全然できないはったりだけの人達ばかりだけと何が目的でこのスレにいるのかな。
実は一応密かにはプログラムできるようになりたいなとは思ってたりするの。
2017/12/03(日) 10:17:55.31ID:+3DjBnuM
とりあえず、752は酔った上司に
ビール瓶とかリモコンで殴られるタイプ
だろうなとは思った
2017/12/03(日) 10:48:02.08ID:rWJ7c/fb
pythonはどんな感じか知りたくてこのスレ見てる
pythonでできたプログラムさわった事ないんだけど
ホントにpythonって流行ってるの
何かに騙されている感じがする
2017/12/03(日) 12:08:27.08ID:S5PX0FVt
よく分かってんじゃん
もしかして天才か?
756デフォルトの名無しさん
垢版 |
2017/12/03(日) 12:30:43.20ID:rQ6QHFnc
>>751
キン肉マン知らないゆとりですか?
2017/12/03(日) 14:27:55.77ID:ritO1EPY
>>756うん。貧乏やったから3000年前にはテレビは買って貰えなかった
2017/12/03(日) 14:37:10.77ID:S5PX0FVt
https://docs.djangoproject.com/en/2.0/releases/2.0/
759リアルタイムデータから4本値を作りたい。
垢版 |
2017/12/03(日) 23:23:11.49ID:Dy/ti4X6
3秒ごとにウエブスクレイピングして、15秒足の4本値を作りたい。
list object has no attribute 'resample'のエラーが出ます。
いいアイデアはないでしょうか?

import numpy as np
import pandas as pd
from pandas.core import resample
from bokeh.io import curdoc
from bokeh.models import ColumnDataSource
from bokeh.plotting import figure
data1 = []
df = [[],[],[],[],[]] #time・o・h・l・c

def get_data():
#ウエブスクレイピングの処理
return d
def update_data1():
global data1
global df
web_data = get_data()
data1.append(web_data)
df = data1.resample('15S').ohlc()
new_data = dict(t=df[0], o=df[1], h=df[2], l=df[3], c=df[4])

source1 = ColumnDataSource(dict(t=[], o=[], h=[], l=[], c=[]))
#グラフ描画の処理
fig1 = figure(x_axis_type="datetime",width=900, height=600)
fig1.line(source=source1, x='t', y='c')
#o,h,lの描画処理(省略)
plots = fig1
curdoc().add_root(plots)
curdoc().add_periodic_callback(update_data1, 3000) #3秒ごとにウエブスクレイピング
2017/12/03(日) 23:28:25.58ID:J4G/BN3G
ソースコード全部載っけろハゲ
2017/12/03(日) 23:31:30.91ID:67hCGbBc
というかふつう「15秒足の4本値」って言われてなんのことかわかるのか?
俺はその世界の住人だからわかるけど・・・・・
2017/12/03(日) 23:35:40.00ID:KCu7dhdt
コメントも関数の命名規則もクソだし、ここまで人に物を伝えるのができない人もめずらしいよね
2017/12/04(月) 00:36:36.29ID:hHBqwzph
data1にresampleってメソッドを持ったオブジェクトが入ってねえ
ってエラーなんだから
resampleってメソッドを持ったオブジェクトを入れてやればいいんだよ
簡単だろ
2017/12/04(月) 02:28:21.14ID:6+W+PiHG
「15秒足の4本値」って相場か?

15秒毎の、4本値は、始値・終値・Min・Max か?
2017/12/04(月) 05:46:38.24ID:oJQByMY6
O,H,L,C open high low close
ディトレーダさんだから、
素直に取引業者に毎月使用料払ってapi
つこうた方が良いぞよ
2017/12/04(月) 09:27:45.58ID:+nf7e3y/
そんな事言わずに、もう少し手とり足とり
教えてもいいと思いますが。
2017/12/04(月) 09:37:44.68ID:BO4juIkp
嫌です
2017/12/04(月) 09:58:27.04ID:aCiyg85B
回答するのに重要な部分隠してたら門前払いも当然
2017/12/04(月) 10:33:16.39ID:Mo18QjMW
>>766
ソース全部貼れよって人は手取り足取り教える気だと思うけど
無視しといてその言い草は何なのかね
よほど躾が良かったんだね、君は
2017/12/04(月) 11:36:30.19ID:I4PnxWkn
PyChamでファイル編集して、
Save All
しても保存されないんですが、
何が起きてるんでしょう。
771770
垢版 |
2017/12/04(月) 12:03:43.49ID:I4PnxWkn
ファイルが勝手に読み取り専用になってました。何が起きたんでしょう。。。

それに保存できないのに警告もないとか。。。
2017/12/04(月) 13:05:12.75ID:aCiyg85B
何か別の手段でファイルアクセスしてたんだろ
773デフォルトの名無しさん
垢版 |
2017/12/04(月) 14:01:43.03ID:e4rLPkBy
重い数値計算だけはpythonを使うのが辛いけど
他はもうpythonでいいや
2017/12/04(月) 14:28:42.48ID:Gq/ps5oZ
>>754
githubとか見ればいくらでも転がってるだろ
それともプログラムじゃなくてアプリケーションソフトってことか?
アプリ見ただけで言語わかるのか?
775遊園
垢版 |
2017/12/04(月) 14:57:00.06ID:0LjC1FIJ
大学生辺りがアフェサイトに引っかかって、プログラミング始めました(笑)だろ。
本場がアメリカなのに、英語検索もせずに、記事が見つからない!! wwww
とかww 流行ってないwww 情報が少ない(笑)ww なんだろ?www

 なんでww 他人が完成させたコードをお前が触る前提なんだよwwww

どんな感じか知りたいならwww 公式ドキュメントでも読んでろよwww

俺は読まないけどなwww あーーー 読めないんだったwwww
776デフォルトの名無しさん
垢版 |
2017/12/04(月) 16:43:34.07ID:PtiyKmP1
>>771
保存先が変わったんだろ
777デフォルトの名無しさん
垢版 |
2017/12/05(火) 08:42:53.12ID:XmJBBuQL
>>775
言語仕様が良いから凄い方が集まってきて
凄い方が作ったものを見て集まってくる方がいて
集まってきた方が作ったものを見てまた集まってくる方がいて
みたな事を具体例付きで知りたいんじゃなかろうか

自分は知らないけどこういう理想的なものでも問題点があったりするのかな
778デフォルトの名無しさん
垢版 |
2017/12/05(火) 11:15:29.06ID:7xD7c4WI
numpyで作った2次元配列をそのままバイナリファイルにして、
ImageJとかで画像でみたいのですが、
numpyにバイナリファイル出力すると、
勝手にヘッダー部を付けてしまうんですね。

ヘッダーを無しにするには?_・」
779778
垢版 |
2017/12/05(火) 14:00:06.38ID:7xD7c4WI
flattenで1次元配列にして、forで回してファイル出力したら、ダンプファイル作れました。
2017/12/05(火) 14:09:12.28ID:JFWc1rHJ
>>778
へ?
781遊園
垢版 |
2017/12/06(水) 15:29:10.75ID:Ypzu7JTf
>>777
それはlinux精神だ。

Androidのオープンソースでも見てろよwww
https://source.android.com/setup/downloading
782遊園
垢版 |
2017/12/06(水) 15:42:47.87ID:Ypzu7JTf
>>777
問題は無いけど、頭大丈夫?
783遊園
垢版 |
2017/12/06(水) 15:53:41.15ID:Ypzu7JTf
pythonと関係ないけど、君の視点が消費者そのもの
良い物に集まるのは確かだけど、作ったものを見て集まるのが仕組みが解らない。

そもそも、凄い人って幾らでソレを公開するの? 無料?
それなら、俺が有料で売る。
784遊園
垢版 |
2017/12/06(水) 15:54:58.64ID:Ypzu7JTf
と言うネタをAndroidで一度やっただろwwww
2017/12/06(水) 16:47:58.36ID:dzmJfTfx
Pythonの優秀な機械学習ライブラリに有料なのあったっけ
有料で公開して売れるようなの作ってよ
786sage
垢版 |
2017/12/06(水) 17:40:30.08ID:oBvdSzU/
sage
787デフォルトの名無しさん
垢版 |
2017/12/06(水) 17:51:00.82ID:52oM5RyB
>>783
pythonの人気ってライブラリの豊富さも大きいと思うんだけど
それは凄い方がpythonの何かに惹かれて作ったものだよね、多分
そのライブラリを使って何かを作りたいって集まる方が消費者ってのは違うと思う
788遊園
垢版 |
2017/12/06(水) 19:31:26.71ID:Ypzu7JTf
馬鹿だなwww お前らwwww

 俺がプログラム何て分かる訳ねぇだろwwwwww

ぶひいいいいいいいいいいいwwwwwwwwww
789遊園
垢版 |
2017/12/06(水) 19:33:51.41ID:Ypzu7JTf
5ch荒らしながらwww そろそろ無職6年目だしなwwww

 wwwww wwww www

ばーーーかwwww
2017/12/06(水) 19:43:10.96ID:9piJc/fk
バカがバカを自白して生きていける
いい国だな。
791遊園
垢版 |
2017/12/06(水) 20:16:42.16ID:Ypzu7JTf
そもそも、煽りレスに反応するだけで荒らし。
792遊園
垢版 |
2017/12/06(水) 20:30:19.27ID:Ypzu7JTf
この忙しい時期に煽りに反応してんじゃねぇよ!!!

 今年中に、おちんちんにベロが届かなかったら、お前ら覚悟しとけよ!wwww

ぶひいいいいいいいいいいいいいいいwwwwwwwww
2017/12/06(水) 20:50:43.75ID:dzmJfTfx
だっさ
2017/12/06(水) 21:35:41.99ID:9piJc/fk
バカを自白するのまではいいが
つまらないのは罪だな。
795デフォルトの名無しさん
垢版 |
2017/12/06(水) 22:14:54.34ID:CzBkxT44
こういう煽りを機械学習であしらうコード書いてみたい。
796遊園
垢版 |
2017/12/06(水) 23:40:00.89ID:Ypzu7JTf
冗談抜きで、何が格好良くて。何がダサいのか解らない。
誰か教えて下さい。
2017/12/06(水) 23:44:22.99ID:DgSXpYiS
おぬぬめのフレームワークは?
798遊園
垢版 |
2017/12/07(木) 00:01:29.58ID:AoT+leNM
Bottle 1ページに収める時に多様する(練習用)
Django 普通に多機能 (設定が面倒いがチュートリアルをggりながらするとできる)
799遊園
垢版 |
2017/12/07(木) 00:22:14.53ID:AoT+leNM
ふっざけんなよぉおおおおおおおwwww 糞野郎wwwww

 俺は神だぞwwww クソPCがっ!っ!!wwwwwwwww

俺の願いぐらいいいいいいいいい 叶えやがれlwえっうぇえええwwwww

(^q^)「んぐぅうううううwwwwwwwwww 気持ちいい」(裏声)
800遊園
垢版 |
2017/12/07(木) 00:45:38.62ID:AoT+leNM
Djangoでグラフ作成もできなくも無いけど、
昨日のグーグルニュースでブラウザーとオフィスが合体した奴が
その内でるらしいから、どんな形式に変わるのかは分からない。

勉強して置いて、損は無いと思う。
オフィスが絡むから出力形式が変わるんか? あーー分からん。
(俺の言う事は信じるなよwww)
801デフォルトの名無しさん
垢版 |
2017/12/07(木) 01:34:21.85ID:wt1P4+bg
>>799
何オナッてんのさ
もちろん、いっぱい出たんやろな
802遊園
垢版 |
2017/12/07(木) 02:00:30.02ID:AoT+leNM
>>800
消えろ!! てめぇ俺の真似しやがって!”!

 ぶひいいいいいいいいいいいいいwwwwwwwwwww
803遊園
垢版 |
2017/12/07(木) 02:01:27.29ID:AoT+leNM
IDでバレた。
2017/12/07(木) 20:24:43.63ID:h1Z+PJbt
つまらんから他所に行け高卒
2017/12/07(木) 22:04:00.32ID:KAbYZT7M
NGしましょ
806デフォルトの名無しさん
垢版 |
2017/12/07(木) 22:21:39.17ID:QxT2u2P9
これだから5ちゃん初心者は。
逝ってよし。
807遊園
垢版 |
2017/12/08(金) 14:01:50.34ID:2yGEQiN1
2017/12/08(金) 14:33:28.66ID:w+asqyYl
ネタニマジレスカコワルイ
2017/12/08(金) 15:32:07.46ID:1R9LnMxY
dat[0, :] = x

これは何ていう記法?
コンマが無ければただのスライシングだけど…
オライリーの本2冊持ってるけど出てない
2017/12/08(金) 15:49:41.84ID:5It9VERX
>>809
タプルリテラル
https://docs.python.org/ja/3/library/stdtypes.html#tuples
> タプルを作るのはカンマであり、丸括弧ではありません
811遊園
垢版 |
2017/12/08(金) 16:02:45.11ID:2yGEQiN1
(^q^)「しりとりってどうやったらできますかあーーー?」(大声)

l=[]
#x=int(input())
#[l.append(input()) for i in range(x)]
l=['O','K','N','I','T','O']
[print(i) for i in reversed(l)]
812遊園
垢版 |
2017/12/08(金) 16:05:45.08ID:2yGEQiN1
あーーーwww つまんね。
813デフォルトの名無しさん
垢版 |
2017/12/08(金) 16:10:18.64ID:Awh7gcIc
タプルを返す関数つくるのに
return (a,)
とか書く人いるけど全く無駄だよな
return a,
でいい
2017/12/08(金) 16:53:35.44ID:EL2TEmAv
可読性において return (a,) の方が圧倒的に優れている
2017/12/08(金) 18:24:03.80ID:1R9LnMxY
シーケンスの要素にタプルを格納できるのはもちろん知ってるけど
インデクシングやスライシングのためにタプルを指定するという事はつまり何なんだ…

この辺きちんと理解できてなかったな。もう少し考えてみる
816デフォルトの名無しさん
垢版 |
2017/12/08(金) 18:54:11.00ID:0q0HX+Cj
>>809
おっ、お前もいっちょ前にようやく覚えたんか
そりゃ覚えたら、使ってみたい年頃や
817デフォルトの名無しさん
垢版 |
2017/12/08(金) 18:55:59.34ID:0q0HX+Cj
>>816はレス番間違いや
正しくは>>808
マジで宇津田氏脳や
2017/12/08(金) 19:59:12.21ID:hyiWpB/D
なぜ定数ありませんか?
2017/12/08(金) 20:11:38.91ID:HbiMaz32
引き当ての手間が増えるだけだから
820デフォルトの名無しさん
垢版 |
2017/12/08(金) 21:10:37.05ID:IrdOezu+
これってLinux板にいった方がいい?
https://i.imgur.com/370tEZV.jpg
821デフォルトの名無しさん
垢版 |
2017/12/08(金) 21:44:46.35ID:TcYdv7Hd
>>810
ダウト

>>> 1,
(1,)
>>> 1,,
SyntaxError: invalid syntax
>>> 1,,,,
SyntaxError: invalid syntax
822デフォルトの名無しさん
垢版 |
2017/12/08(金) 21:46:52.40ID:ZGFIMoCw
pythonをはじめてnumpyとmatplotlibで遊んでて
あまりにグラフの表示が遅かったのでpyopenglに行って作ったのだけど
せっかくpythonを使っているのにあまりライブラリを生かしている気がしません

で、Pythonらしく、物体検出が面白そうなpypenCVに行こうかなと思っているのだけれど
pyopenCVに行くならこれは勉強しておけみたいな事があれば教えてください
結構バグがあるという噂を聞いたのでちょっと怖い
823デフォルトの名無しさん
垢版 |
2017/12/08(金) 21:50:16.53ID:TcYdv7Hd
>>820
site.py削除してみ
824デフォルトの名無しさん
垢版 |
2017/12/08(金) 21:51:02.64ID:IrdOezu+
>>823
消して大丈夫なやつ?
825デフォルトの名無しさん
垢版 |
2017/12/08(金) 21:52:12.41ID:TcYdv7Hd
>>822
>pyopenCVに行くならこれは勉強しておけ

C/C++
826デフォルトの名無しさん
垢版 |
2017/12/08(金) 21:52:35.95ID:TcYdv7Hd
>>824
いやなら site.py_ みたいに rename
827デフォルトの名無しさん
垢版 |
2017/12/08(金) 21:54:24.95ID:IrdOezu+
>>826
やってみる

一応python3.4と3.6の仮想環境作ったら問題なかったからデフォルトのpython3.5が邪魔してる感じなのかな
2017/12/08(金) 23:46:58.75ID:bn9A+3KX
>>814
if文とかでも、andやorを併用するときは、条件をパレンで囲ったほうがわかりやすい場合もある
基本的に非推奨みたいだけど、JSの時のクセで、単一条件でもついやってしまうわ
2017/12/09(土) 00:28:34.35ID:xl1BtWd3
パレンとは何ぞや
2017/12/09(土) 00:53:06.06ID:fUGK4n9g
https://ja.wikipedia.org/wiki/%E6%8B%AC%E5%BC%A7#%E4%B8%B8%E6%8B%AC%E5%BC%A7%EF%BC%88%EF%BC%89
2017/12/09(土) 01:52:29.72ID:4sUvcZIs
parenthesis
bracket
brace
832デフォルトの名無しさん
垢版 |
2017/12/09(土) 12:33:10.45ID:nuTX+Pqx
>>829
パーレン()
ブラ<
ケット>
スケブラ[]
カリブラ{}
2017/12/09(土) 15:39:10.91ID:J8x37gzD
>>830-832
ブラケット、スクエアブラケットは知ってたけど'()'ってパーレンって言うのか
普通に括弧って呼んでた
2017/12/09(土) 15:43:18.54ID:WbQFKXji
オヌヌメの書籍は?
2017/12/09(土) 16:03:50.76ID:k2/GOVIp
アマでざっと見た感じ
PythonユーザのためのJupyter[実践]入門
836遊園
垢版 |
2017/12/09(土) 21:25:28.79ID:J0X0FLOJ
空の配列って連番作成できないの?
L=[]
R=[]
とか、毎回書いてるんだけど、面倒だからA-Zまで上記の方式でまとめて作成できない?
2017/12/09(土) 21:49:15.38ID:QEQWRzSm
>>836
変数をリストに入れてループで回せばいいだけじゃん
2017/12/09(土) 22:26:59.60ID:r6QOq0kp
>>836
毎回プログラムで
プログラムをファイルに書き出す
プログラムをつくれば
いいんじゃないかな?
2017/12/09(土) 23:01:53.78ID:3mnwbBaO
文字列つくってループしてexecすればいいかな
2017/12/09(土) 23:05:32.09ID:OLIJtynp
なんでそんな使いづらそうな配列を作るのかわからん
2017/12/09(土) 23:35:19.17ID:lJt3kOFt
>>836
そんなことしなきゃいけないロジックに問題があるのでは?
2017/12/09(土) 23:37:36.78ID:k2/GOVIp
>>836 できましたぁ!
>>> from collections import defaultdict
>>> d = defaultdict(lambda:[])
>>>
>>> d['A'] = [1,2,3]
>>> d['A']
[1, 2, 3]
>>> d['B']
[]
>>> d['B'].append(3)
>>> d['B']
[3]
>>> d['C']
[]
>>> d['Z']
[]
>>>
2017/12/10(日) 00:29:52.15ID:p6+oAblR
>>836
おそらくロジックを変えたほうが良いが、どうしてもというならできないこともない
https://ideone.com/nj0ZjO
844デフォルトの名無しさん
垢版 |
2017/12/10(日) 05:19:39.14ID:Ivp7Fyt3
グローバル汚すな
845遊園
垢版 |
2017/12/10(日) 09:25:58.63ID:DUp9AezH
A.append(123)とか書いたら name 'A' is not defined
と出るので、仕方なく A=[] と毎回かいてる。

とりあえず、>>843を使わせて頂きます。

 ありがとうございました。
2017/12/10(日) 11:09:44.65ID:tjvj99Q4
みんなこの質問でよくわかるな。質問の内容自体が理解できないわ。
2017/12/10(日) 11:28:26.23ID:d0lTqA7N
>>845
なにいってだこいつ
2017/12/10(日) 11:50:08.90ID:ye/uOlZy
仕方なくと言われてもそういうもんなんです
849おはようござます。
垢版 |
2017/12/10(日) 12:38:55.38ID:9429WHjp
質問なのですが
pythonで書いたコードを実行中に

一分後にコードをすべて再実行するロジックを入れたいのですが
どういったコードをかけばいいでしょうか
2017/12/10(日) 12:47:35.56ID:ye/uOlZy
sleep()とかwait()みたいな関数なかったっけ
851おはようございます
垢版 |
2017/12/10(日) 12:53:54.45ID:9429WHjp
sleep とかの 一時停止後の再実行ではなくて

計算したのをすべてなしにして
初めから再実行をかけたいんですよね
こまってます
2017/12/10(日) 13:17:10.01ID:Y1jO7k2o
djangoアップデートきたー
2017/12/10(日) 13:23:12.64ID:ye/uOlZy
普通に、1度目の処理は最後にsleep(60)が実行されて、2度目で終了するループ処理では駄目なの?
2017/12/10(日) 13:26:15.13ID:rNGiIPu5
>>851
sleepからあけた後に勝手に一からやり直しゃいいと思うよ。

別に一分間隔でプロセス起動しても良いけど。
2017/12/10(日) 13:29:38.04ID:uZvVO5M1
def unchi():
print ("unchi")

t=threading.Timer(60, unchi)
t.start()
2017/12/10(日) 14:51:53.96ID:Z/uH3qH0
クラスの中でそのクラスのメソッドを呼びたいんだけど
class Test(Parent):
Test().func()

def func(self):
....
....
じゃだめなの?
not defined のエラーが出る
2017/12/10(日) 15:00:44.42ID:klwCxkV9
駄目です
2017/12/10(日) 15:59:03.76ID:rNGiIPu5
>>856
Parent.Func()
2017/12/10(日) 16:59:02.05ID:gQ55VXnr
あ、ごめ、クラス定義がコンストラクタに見えてた。
860デフォルトの名無しさん
垢版 |
2017/12/10(日) 17:31:27.35ID:UOQUQi73
@staticmethod
def func(self):
861デフォルトの名無しさん
垢版 |
2017/12/10(日) 17:31:52.03ID:UOQUQi73
IDわろた
862デフォルトの名無しさん
垢版 |
2017/12/10(日) 17:32:30.40ID:UOQUQi73
ああすまそ @staticmethod なら self いらんかった
2017/12/11(月) 02:13:40.72ID:hBs7hPmg
>>858
>>860
やってみたけどだめだったorz
2017/12/11(月) 03:42:41.94ID:hBs7hPmg
自己レス、取りあえずインスタンス生成したとき1回呼ぶだけなんで以下でいいみたいだ。
class Test(Parent):
def __init__(self,**kwargs):
super(Test,self).__init__(**kwargs)
self.func()

def func(self):
.....
.....
865デフォルトの名無しさん
垢版 |
2017/12/11(月) 06:41:20.17ID:4+bid6rw
ふつうはそうするが
別の理由があって聞いてるんだと思った
2017/12/12(火) 17:44:13.16ID:3MG0X84S
>>699
csv_normal.pyがバージョン2.4.0にバージョンアップしたよ(https://ideone.com/u5Ji8H

 Version: 2.4.0
  ・csvデータを罫線で囲む機能を追加したよ(csvデータの可読性アップ)
  ・関数名などをスネークケースに統一したよ(コードの可読性アップ)
  ・関数、メソッドを沢山追加したよ(csvデータの処理機能アップ)
  ・数値リテラル内のアンダースコア表示に対応したよ(数値の可読性アップ )

思いついた機能は全部入れたよ、頑張りすぎてコードが千行超えちゃったよw
目玉は罫線で囲む機能で、罫線パターンは簡単に自作できるようになっているよ
少し早いけどクリスマスプレゼントだよ
867デフォルトの名無しさん
垢版 |
2017/12/12(火) 18:05:44.87ID:98iDbaWn
まだ続けとったんか
メッチャよくなったやん
2017/12/12(火) 18:20:30.37ID:FrwRWhMa
pypiに公開しておいた
2017/12/12(火) 21:45:38.63ID:3MG0X84S
>>> import csv_normal as csv
>>> s='''
今日は何かめっちゃ褒められてますがな
ところでまた機能を1つ思いついてしまった・・
この縦書き機能を・・天才かもしれん'''
>>> c = csv.csv([list(string) for string in s.split('\n') if string])
>>> c.fill(); c.refresh_field(); c.replace_field('', ' ')
>>> c.csv = c.csv[::-1]; c.csv = csv.row2column(c.csv)
>>> c._display_delimiter=''
>>> c.print()
こと今
のこ日
縦ろは
書で何
きまか
機ため
能機っ
を能ち
・をゃ
・ 1褒
天つめ
才思ら
かいれ
もつて
しいま
れてす
んしが
 まな
 っ 
 た 
 ・ 
 ・ 
2017/12/13(水) 16:02:33.73ID:SHWRPW1I
ボタンを押したときに01〜03の関数を動かしたいんだけど、

btn.OnClick.Add(01,02,03)

とかやってもうまくいかなくて、

btn.OnClick.Add(01)
btn.OnClick.Add(02)
btn.OnClick.Add(03)

みたいにやらないといけない
でもこれだと02や03が不安定で、動くときと動かない時がある
どうすればいいでしょうか
2017/12/13(水) 17:49:16.91ID:5NvkV9BJ
>>866
csv_normal.pyがバージョン2.5.0にバージョンアップしたよ(https://ux.getuploader.com/codes/download/6

 Version: 2.5.0
  ・print_idx2メソッドを追加したよ(インデックス表示+罫線で囲むからcsvデータが更に見やすくなるよ)

ideoneサイトだとコード容量オーバーで貼り付けられなかったからコードアップローダーにアップしたよ
※Python3.6から追加された機能を使用しているから古いPythonだと動かないので注意だよ 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
872デフォルトの名無しさん
垢版 |
2017/12/13(水) 19:02:23.16ID:b34l3iDJ
BBQおめ
2017/12/13(水) 19:35:28.14ID:X0jO0ehF
>>870
01-03の関数を大きな関数の中で呼び出して、btn.OnClick.Add() にはその大きな関数を渡せばいいんじゃないの
2017/12/14(木) 17:35:34.94ID:snQTRBXR
>>871
えー226cmもあったんか!
2017/12/14(木) 18:31:20.18ID:ehF4QImV
お構いなしに型変換して同じ変数にぶち込むスタイルのコーディングがいつまで経っても慣れんわ
2017/12/14(木) 19:24:56.33ID:SQd1OlWL
型はオブジェクト自身が持っている、変数は指しているだけ
877デフォルトの名無しさん
垢版 |
2017/12/14(木) 19:32:40.08ID:oezENCsV
>>875
おまえ関数型勢に消されんぞ
2017/12/14(木) 19:56:37.07ID:rn0SmpIP
自分も変数なるべく使いまわしてるんだけどこれ速度と可読性の観点でどうなの?
879デフォルトの名無しさん
垢版 |
2017/12/14(木) 20:48:58.99ID:vpKUBjgx
df何度も上書きして使いまわし
2017/12/14(木) 20:50:22.64ID:2ncS4bon
Python使ってて小手先の最適化を気にしてる時点で馬鹿に分類されるよ
881デフォルトの名無しさん
垢版 |
2017/12/15(金) 00:17:15.09ID:yw8gSH0I
for文をなるだけ使わないってのは速度の点で重要だけど
素直にc++なりで書いた方が慣れないうちは楽だなと思ったり
2017/12/15(金) 08:35:30.91ID:qJ6ESGNh
>>880
お前が一番アホっぽいけどな
2017/12/15(金) 09:28:51.61ID:llbK5PGi
12時間頑張ってそれは草

まあ、ママは誉めてくれるんじゃね…
よかったね
2017/12/15(金) 10:26:39.92ID:c/LOcSA5
>>880
馬鹿そう
2017/12/15(金) 11:08:31.56ID:Z44X65Q/
>>871
少し使ってみたけどデータはpandasよりも格段に見やすい
データ抽出はpandasのqueryの方が簡潔で分かりやすい、csv_normalは冗長的だがPythonに慣れてる人はこっちでもいいかも
データを枠で囲む機能はまあまあ気に入った
感想はこんな感じかな、なかなか良い出来だと思うよグラフ化することが無いならこっち使ってもいいかもな
2017/12/15(金) 14:57:01.36ID:jrk+Uh93
いやいや変数の使い回しなんて小手先すぎるだろ…
勿論、コマ落ち防止でgc発生を絶対抑止しないといけないとか、変数使い回しが必要な場面もあるけどさ。

あえて書くまでもないことだけど、pythonに限らず、変数を使いまわして可読性メンテナンス性を下げるより、アルゴリズムを変えることを検討した方がいい
2017/12/16(土) 12:35:46.84ID:2+3GS8kh
使いまわす方が可読性が向上することもある
2017/12/16(土) 12:42:02.59ID:LkzTWqEe
可読性なんて所詮オナニーですよ
2017/12/16(土) 13:18:54.64ID:9Fve7Q6b
変数を使い回すということは、前のデータはいらないってこと、そして前のデータと意味は同じってこと
baka = >>875
baka.ng()
baka = >>886
baka.ng()
2017/12/16(土) 13:54:20.53ID:MCFqyxDm
変数使いまわさないと
事実上変数のスコープがずっと続いて読みづらいことある
2017/12/16(土) 13:56:22.78ID:tthKlmuc
>>889
例えば"aの色"という変数があって、aの色が変わったのなら、当然もとの"aの色"変数に格納する。
これをそもそも使いまわしと言わない。

意味が違うのにデータがいらないという理由で使いまわしてるのなら話にならない。

>>887
何だって例外はあると思うよ。
2017/12/16(土) 14:08:56.31ID:ZGZeB1Qj
どっちでも、バグ無く動けばいいという考え方じゃ駄目なん?
2017/12/16(土) 14:11:35.48ID:MCFqyxDm
規約という鎖で自分を縛って喜んでるのがたくさんいるんだ
2017/12/16(土) 14:15:44.99ID:2+3GS8kh
>>891
設計思想によっては例外という割合ではない
2017/12/16(土) 14:18:48.89ID:2+3GS8kh
>>892
ある程度の一貫性は欲しいかな
同じソースの部分部分で違うと読み間違えたり
2017/12/16(土) 14:28:57.77ID:ttAmpR9c
オヌヌメのPython本は?
2017/12/16(土) 14:49:36.51ID:9Fve7Q6b
>>891
せっかくbakaを例に出してんのに例を例で被せてくんなよバカ
オマエの例でいえばbakaは"色"という変数だマヌケ
"色"にaの色を格納して、いらなくなったから"色"にbの色を入れてんの
そして色という意味は同じわけ、bakaの例みれば分かるだろ
2017/12/16(土) 15:35:32.16ID:9Fve7Q6b
ちっ、せっかくカウンター用意してたのに噛みついてこいやぁ!!
つまり変数の使い回しというのはfor文の変数だ
for baka in (>>876, >>886, >>891):
 baka.ng()

はい、論破ァーww
899デフォルトの名無しさん
垢版 |
2017/12/16(土) 18:30:11.61ID:PKDI5VWV
最近勉強始めたばっかの初心者なんだけど質問すまん
これの下の方の二つの input って誤植だよね? 正しくは print であってる?
http://imgur.com/fy1mnRS.jpg
900デフォルトの名無しさん
垢版 |
2017/12/16(土) 19:53:43.43ID:PDgCh/4m
>>899
このコードをそのまま実行した場合と
該当箇所の input を print に書き換えて実行した場合を比較すればわかるけど
「そういう動作」を狙って著者さんがこう書いただけだと思う
初心者向けのサンプルプログラム以外で、こういう input() の使い方ってしないと思うけどね
出版社に問い合わせても図書カードとかはもらえなさそう
901デフォルトの名無しさん
垢版 |
2017/12/16(土) 19:58:38.21ID:rq6V2ypo
kbhit()だな
2017/12/16(土) 22:39:15.57ID:ArLhqftT
>>896
「みんなのPython 第4版、2017」が定本
2017/12/16(土) 22:44:27.43ID:Q3oWoFk+
>>902
thx
2017/12/17(日) 00:11:06.04ID:OP5LAhHm
同じidなら結合して出力したい。

l=[['id0', 'pyt'], ['id0', 'hon'], ['id1', 'aiu'], ['id1', 'eo']]

求める結果
id0 python
id1 aiueo
2017/12/17(日) 00:12:07.62ID:OP5LAhHm
おねがいします m(_ _;)m
2017/12/17(日) 00:31:52.24ID:noPwurno
ttp://www.oreilly.co.jp/books/images/picture_large978-4-87311-778-2.jpeg
907デフォルトの名無しさん
垢版 |
2017/12/17(日) 00:56:13.28ID:OP5LAhHm
coord = {'latitude': '37.24N', 'longitude': '-115.81W'}
A01='Coordinates: {latitude}, {longitude}'.format(**coord)

print(A01)
2017/12/17(日) 00:57:29.44ID:/cDASRuF
グラフ描画はやっぱりseabornですかね?
他にお勧めのふつくしいパッケージあったら教えてください
2017/12/17(日) 01:01:08.99ID:NZGyS71f
ary = [['id0', 'pyt'], ['id0', 'hon'], ['id1', 'aiu'], ['id1', 'eo']]
hash = {}

ary.each_with_object(hash) do |(key, value), hash|
if hash[key]
hash[key] += value
else
hash[key] = value
end
end

p hash #=> {"id0"=>"python", "id1"=>"aiueo"}

Ruby で書いた
https://paiza.io/projects/bbOPs6qzVV-5PLOrQ545IA
2017/12/17(日) 01:18:33.54ID:mJFfsWjk
>>906
英語良ければ無料で公開されているこちらをどうぞ
https://automatetheboringstuff.com/
2017/12/17(日) 06:37:55.25ID:nW0iFIyL
>904

defaultdict 使うと楽だよ。

import collections


l=[['id0', 'pyt'], ['id0', 'hon'], ['id1', 'aiu'], ['id1', 'eo']]

dic = collections.defaultdict(str)
for k, v in l: dic[k] += v
for k, v in dic.items(): print(k, v)
2017/12/17(日) 08:24:35.52ID:VH1yLn0n
import seaborn as sns
これ何でsnsにするの? sbが適当じゃない?? seaborn調べると皆snsにしている
2017/12/17(日) 11:08:28.09ID:nW0iFIyL
Samuel Norman Seaborn っていう架空の人物が登場するテレビドラマがあって、それに掛けたジョークらしいよ
914904
垢版 |
2017/12/17(日) 12:36:13.88ID:OP5LAhHm
>>911
助かりました。ありがとうございます。
2017/12/17(日) 15:29:30.91ID:mJFfsWjk
>>913
それ、昔NHKでもやってたの見てたわ
2017/12/17(日) 15:46:51.80ID:VH1yLn0n
>>913
サンクス シャレてるからワイもsnsにするでぇー
2017/12/17(日) 16:00:03.29ID:/cDASRuF
あれ?やっぱりみんなseabornなの?
他にあれば知りたい
918デフォルトの名無しさん
垢版 |
2017/12/17(日) 16:25:27.84ID:GUabbIAG
プログラム初心者なんだけど質問第2すまん
pip installについてなんだけど
教本通りにQRコードを生成するパッケージをインストールしたいんで
pip install pillow qrcodeって入力したら
Collecting pillow って出てきてずっと固まってる
時間経てばインストールし終わる?
919デフォルトの名無しさん
垢版 |
2017/12/17(日) 16:32:17.61ID:XxtCNzg/
バージョンは
2017/12/17(日) 16:42:51.96ID:VH1yLn0n
Windowsならコマンドプロンプトを起動するときに右クリック→"管理者として実行"
で起動しないとpip install失敗するよん
2017/12/17(日) 16:45:46.85ID:DptJao3l
requirements.txt と Pipfile のどちらを使うべき?
922デフォルトの名無しさん
垢版 |
2017/12/17(日) 17:01:02.18ID:GUabbIAG
Microsoft Windows[Version 6.0.6002]って書いてある
管理者として実行も試してみたんだけどCollecting pillowから進まない

うーん何か足りないんかな
923デフォルトの名無しさん
垢版 |
2017/12/17(日) 17:21:26.29ID:XxtCNzg/
どっちにしろおま環だから何とも言えんが
pillowがだめでもPIL入れてればいけるんじゃね
2017/12/17(日) 17:35:08.16ID:VH1yLn0n
pip install pillow qrcode
でインストールできたでぇー、QRコードも生成できた

pythonのバージョンは3.6.1
pipのバージョンは9.0.1
Pillow(4.0.0)インストール済み
925デフォルトの名無しさん
垢版 |
2017/12/17(日) 18:12:47.56ID:GUabbIAG
解決した!
恥ずかしくて言えないくらい初歩的なミスだった……
すまん、ありがとうございました
2017/12/17(日) 18:56:07.30ID:VH1yLn0n
csv_normal.pyがバージョン2.7.7にバージョンアップしたよ(https://ux.getuploader.com/codes/download/7
もう追加機能も思いつかないので、たぶんこれがファイナルバージョンとなるよ

 Version: 2.7.7
  ・使用例の説明を改善

  ・冗長性の改善(>>885のご指摘を受けて)
     ・冗長な関数名、メソッド名、引数名などを簡潔に改名
     ・ヘッダー情報を更に便利に簡単にアクセスできるように改善

  ・メソッド追加
     ・shapeメソッド - 行列のサイズを表示(pandasからパクった)
     ・print2メソッド - printメソッドよりさらに見やすい(罫線で囲むから)
     ・inquire_field_valueメソッド(>>904もこれで解決)
などなど


あとがき:
 csv_normalは配列を配列のまま扱うことでPythonの強力な配列操作をそのまま利用でき
 簡潔で直感的、習得も簡単ですぐに使用できる優れたモジュールとなりました
 特にデータを罫線で囲んで表示する機能は秀逸で他に類をみない可読性を提供します
 これはpandas越えたわ・・ 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
2017/12/17(日) 19:11:04.86ID:VH1yLn0n
>>871
csv_normal.pyがバージョン2.7.7にバージョンアップしたよ(https://ux.getuploader.com/codes/download/7
もう追加機能も思いつかないので、たぶんこれがファイナルバージョンとなるよ

 Version: 2.7.7
  ・使用例の説明を改善

  ・冗長性の改善(>>885のご指摘を受けて)
     ・冗長な関数名、メソッド名、引数名などを簡潔に改名
     ・ヘッダー情報を更に便利に簡単にアクセスできるように改善

  ・メソッド追加
     ・shapeメソッド - 行列のサイズを表示(pandasからパクった)
     ・print2メソッド - printメソッドよりさらに見やすい(罫線で囲むから)
     ・inquire_field_valueメソッド(>>904もこれで解決)
     などなど


あとがき:
 csv_normalは配列を配列のまま扱うことでPythonの強力な配列操作をそのまま利用でき
 簡潔で直感的、習得も簡単ですぐに使用できる優れたモジュールとなりました
 特にデータを罫線で囲んで表示する機能は秀逸で他に類をみない可読性を提供します
 これはpandas越えたわ・・ 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
928デフォルトの名無しさん
垢版 |
2017/12/17(日) 19:17:52.67ID:XxtCNzg/
test
なんか専ブラの動きが変だな
また仕様かわったか
929デフォルトの名無しさん
垢版 |
2017/12/18(月) 10:05:45.20ID:vfjnbjyE
ライブラリをインストールしてチュートリアルのプログラムを一通り動かすまでに結構時間を消費しちゃう
バージョンによってチュートリアルを結構改変しないと動かないのが多いし
魅力的なライブラリが多いけどそこまで直ぐに使えるようにはならないと思いましたまる
2017/12/18(月) 10:44:13.32ID:qOhnl7Wk
バージョン変わる毎にメソッド名とかコロコロ変えすぎだよなRubyかよ
2017/12/18(月) 12:12:04.90ID:AybSMTWc
改変したチュートリアルをアップでアフリエイトがはかどるな
932デフォルトの名無しさん
垢版 |
2017/12/18(月) 12:30:50.45ID:MRRIpNjB
>>909
どうせ書くなら、組み込みメソッドの Enumerable#inject と Hash#merge を
使った関数型プログラミングのスタイルが Ruby らしいのではないかと思われ

https://ideone.com/v02Ldy

for文のループをゴリゴリ回す手続き型プログラミングのスタイル(>>911)とは対照的だね
2017/12/18(月) 13:49:20.75ID:qOhnl7Wk
l=[['id0', 'pyt'], ['id0', 'hon'], ['id1', 'aiu'], ['id1', 'eo']]
from itertools import groupby
for r in [(k, ''.join([item[1] for item in i])) for k,i in groupby(l, key=lambda x:x[0])]: print(*r)

はい、オレが優勝
2017/12/18(月) 13:54:52.52ID:kA+4TLLO
operator.itemgetterくらい使え
2017/12/18(月) 14:15:11.80ID:qOhnl7Wk
┐(´- ` )┌ ハッ、イテレータが欲しいのだよ、これだからググっただけの奴はw
2017/12/18(月) 14:23:14.65ID:kA+4TLLO
それはひょっとしてギャグで言ってるのか!?
2017/12/18(月) 14:32:10.96ID:qOhnl7Wk
あ、これ何も考えてない奴の常套句だわ 回答書けないならレス汚さないでくれる?
2017/12/18(月) 14:50:33.65ID:kA+4TLLO
え?真面目に言ってるの?どのみちイテレータ返るでしょ、ジェネレータを言ってるにしてもジェネレータ式はないし
リストが欲しいというならギリギリ分からなくもないが、それでもコールバックを与えるgroupbyには関係ないよね
2017/12/18(月) 15:01:14.41ID:qOhnl7Wk
ブヒョヒョヒョヒョッw operator.itemgetter使った例書いてみろよバーカ
オレのより良くなるわけねーんだよバーカ 知ったかバカがww
940デフォルトの名無しさん
垢版 |
2017/12/18(月) 15:03:03.28ID:ucgqtJiU
流れぶった切って初心者の質問3つめすまん
pipで暗号化だかなんだかのパッケージをインストールするのに
pip install pycrypto って入力したんだがエラーになった
赤文字が言うにはimport setuptools,tokenize;_
file_ってことらしい(たぶん)んだけどどうすればいい?パソコン自体にも明るくないんで初歩的な質問だったらすまん
941デフォルトの名無しさん
垢版 |
2017/12/18(月) 15:04:12.98ID:ucgqtJiU
Anacondaってのはインストールした
たぶん出来てると思う
942デフォルトの名無しさん
垢版 |
2017/12/18(月) 15:15:46.03ID:iOib+Cu3
>>911
>>933

そのまま、ソートできたりしますか?
2017/12/18(月) 15:29:33.59ID:qOhnl7Wk
マジで君の葛藤
 そんなに言うなら書いてやらぁ、import operator ・・はっ!?
 あいつのより一行増えちまうぅぅ・・operatorをimportするだけで負けちまうぅぅ
 どーすればいいんだあぁ  マジで負けちまう、マジでマジでぇぇええ
944デフォルトの名無しさん
垢版 |
2017/12/18(月) 19:35:06.39ID:uz+0MMm5
Scipy lecture notes は難しいなあ
2017/12/18(月) 20:23:19.81ID:nEpzfrhn
>942

911 は、
lst = sorted(dic.items())
でキーの昇順のリストlstを作ることができるよ。
2017/12/18(月) 20:56:07.22ID:ZPQd2a6K
>>910英語読める人って憧れるわぁ
気が向けば、気力が続けば読破してみる♪
2017/12/18(月) 21:31:04.85ID:80YjRLEJ
Excelに「Python」搭載検討 Microsoftがアンケート実施中
(ITmedia NEWS)
[続きを読む]
2017/12/18(月) 21:31:19.95ID:iOib+Cu3
>>945
なるほど。
どうもです。
2017/12/18(月) 22:41:16.62ID:HvuqWaT5
>>947
matplotlibが使えるってことですかね。
2017/12/18(月) 22:50:47.06ID:ORJoreTk
vbaで充分です
2017/12/19(火) 00:50:47.14ID:DaMOUzIl
Microsoftの事だから、独自の実装てんこ盛りとかしそう
952デフォルトの名無しさん
垢版 |
2017/12/19(火) 01:50:12.54ID:zg2/LW0i
同じタブで開くにはどうしたら良いのでしょうか?
実行すると、同じウィンドウで開いてしまいます。

https://ideone.com/Rb3ecO
2017/12/19(火) 06:46:50.41ID:eFD5MKDs
VB.NETかC#にすればいいのに
954デフォルトの名無しさん
垢版 |
2017/12/19(火) 07:05:30.29ID:YlLsk3YD
Pythonでサーバー系の勉強をしたいんだけれども分かりやすい書籍知りませんか?
2017/12/19(火) 07:59:13.13ID:LIEbtk9I
プロフェッショナルのやつ
2017/12/19(火) 08:36:34.83ID:lTMrJ03e
>>953
俺もそう思ったけど、イミディエートウィンドでちょっと試しに実行したりするのはスクリプト言語の方がいいのかも
スクリプト言語の中ではPythonは悪い選択じゃない
2017/12/19(火) 09:02:13.56ID:I9cB5PBv
>>952
webbrowserのopen_new, open_new_tabは可能であれば新しいウィンドウ、新しいタブで開くという仕様
動作が同じということは不可能ということなのでsubprocessで直接ブラウザの実行ファイルを叩きましょう

chromeなら(参考: ttps://blogs.yahoo.co.jp/kerupani/15783349.html)
>>> import subprocess
>>> open_new = [r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe', '--new-window']
>>> open_new_tab =[r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe']
>>> url='https://ideone.com/Rb3ecO'
>>>
>>> subprocess.call(open_new + [url])
0
>>> subprocess.call(open_new_tab + [url])
0
>>>
2017/12/19(火) 11:38:37.78ID:I9cB5PBv
>>904
>>> l = [['id0', 'pyt'], ['id0', 'hon'], ['id1', 'aiu'], ['id1', 'eo']]
>>> for k,v in {id:[i[1] for i in l if i[0]==id] for id in dict(l).keys()}.items(): print(k, ''.join(v))

id0 python
id1 aiueo
>>>

リストlをidの数ぶんなめるからdefaultdict版よりも遅いのかな?と心配でしたが爆速でした
内包表記爆速でした(https://ideone.com/CQmM0C
959デフォルトの名無しさん
垢版 |
2017/12/19(火) 12:24:14.54ID:R9z7S8/c
>>955
ありがとうございます
Pythonプロフェッショナルプログラミング-第2版-株式会社ビープラウド
ってやつでしょうか
2017/12/19(火) 13:40:41.77ID:I9cB5PBv
>>958
もうちょっと速度評価してみた結果、idの種類が5で内包表記版とdefaultdict(list)版が同じくらいの処理速度になる
idの種類が増える毎にdefaultdict(list)版の方が速くなる、defaultdictの方が優れているね、分かりやすいし
Ruby版はどのくらい速いのかな?

>>> l=[[f'id{i}', 'hoge'] for i in range(5)]*10000
>>> with get_time():
d = {id:[i[1] for i in l if i[0]==id] for id in dict(l).keys()}


0.014081239700317383
>>> with get_time():
d = defaultdict(list)
for k,v in l: d[k].append(v)


0.014064788818359375
>>>
>>> l=[[f'id{i}', 'hoge'] for i in range(50)]*10000
>>> with get_time():
d = {id:[i[1] for i in l if i[0]==id] for id in dict(l).keys()}


1.0660841464996338
>>> with get_time():
d = defaultdict(list)
for k,v in l: d[k].append(v)


0.14391684532165527
>>>
2017/12/19(火) 22:15:34.47ID:DaMOUzIl
>>896これなんてどうかな?
ttp://www.amazon.co.jp/gp/product/B074CZNCM9/
962952
垢版 |
2017/12/20(水) 02:35:33.39ID:TssXo4IA
>>957
遅れながら、ありがとうございます
963デフォルトの名無しさん
垢版 |
2017/12/20(水) 12:35:28.42ID:TssXo4IA
こういう処理は一行で書けますか?
for i in range(2):
__if i==j:
____print('end')
__for j in range(2):
____print(i,j,'',end='')
2017/12/20(水) 13:02:27.07ID:oZWzOzRe
2行目jが未定義でエラーになると思う
2017/12/20(水) 13:03:05.99ID:NDzik5IP
造作もなきこと!Pythonのテクニックを使えば多重ループを1行で書くことなど造作もなきこと!
exec("""j=None\nfor i in range(2):\n if i==j:\n print('end')\n for j in range(2):\n print(i,j,'',end='')""")
2017/12/20(水) 13:05:58.39ID:TssXo4IA
jは0と言う事でお願いします
2017/12/20(水) 13:15:05.63ID:NDzik5IP
空白が潰れちゃったよから\tに変更
exec("""j=0\nfor i in range(2):\n\tif i==j:\n\t\tprint('end')\n\tfor j in range(2):\n\t\tprint(i,j,'',end='')""")
2017/12/20(水) 14:07:50.11ID:TssXo4IA
>>965
>>967
ありがとうございます。

exec("a = 5; b = 7; print(a+b)")

と言う既述方法は知ってましたが、
 制御分などの盛り込み方が不明だったので助かりました。

これで、制御分の横にコメント文を
 スペースで埋めて揃える作業をしなく良くなりました。
2017/12/20(水) 19:46:38.16ID:SIAJ3GJG
インクリメントできないのがよくわからん
2017/12/21(木) 00:07:07.98ID:d67IHLei
グラフ描画についてbokehとplotlyが気になるのですが,使っている方いらっしゃいますか?
2017/12/21(木) 00:17:01.47ID:0vv650Fk
リスト内の要素を部分一致で検索したいのですが、どう書けば良いのでしょうか?
完全一致ならば上手くいくのですが…
2017/12/21(木) 00:33:32.51ID:1OazE8Sd
# コメント コメント
[[l.append(i) for i in range(1,6)] for j in range(int(input()))]
exec("""print(l)\nfor i in l:\n\tif i==2:\n\t continue\n\tr.append(i)\nprint(i,'',end='')""")
exec("""def Sample0(x):\n\treturn x**2\nfor i in r:\n\tprint(Sample0(i))""")
2017/12/21(木) 00:52:50.09ID:1OazE8Sd
>>971
import re
l=['I']
r=['ABCDEFGHIJKLMNOPQRSTUVWXYZ']
#[print (match.group()) for match in re.finditer(l[0],r[0])]

for match in re.finditer(l[0],r[0]):
____print (match.group())


ゆっきーは、頭が可笑しいので他の人に聞いて下さい。
2017/12/21(木) 00:54:34.31ID:1OazE8Sd
部分一致は正規表現しか思いつかない。
2017/12/21(木) 00:54:55.56ID:sOyGlBrQ
>971
リスト内の要素を部分一致で検索する、というのが曖昧な表現なので、具体例で説明して欲しい
["abc", "bcd", "xyz"]
があった時に、
"bc"を検索して、
["abc", "bcd"]
を返すような関数を作りたいの?

[1, 2, 3]と[2, 3, 4]と[9, 5, 19, 7, 9] があった時に、
[0, 1, 2, 3] を検索して、
[1, 2, 3] と[2, 3, 4] を返すような関数を作りたいの?
2017/12/21(木) 01:06:20.96ID:1OazE8Sd
>>975
個人的に両方 欲しいです。
2017/12/21(木) 02:43:34.99ID:1OazE8Sd
どうして、誰も作ってくれないのか?

 https://ideone.com/VOrwu8
2017/12/21(木) 05:16:27.79ID:tu5xSbQ7
>>977
結構やってること滅茶苦茶だねw
2017/12/21(木) 08:50:58.63ID:NvhGrRKb
>>971, >>976
>>> list_1 = ["abc", "bcd", "xyz"]
>>> list_2 = [[1,2,3], [2,3,4], [9,5,19,7,9]]
>>>
>>> import re
>>> [i for i in list_1 if re.search(r'bc', i)]
['abc', 'bcd']
>>>
>>> [i for i in list_2 if all(j in [0,1,2,3,4] for j in i)]
[[1, 2, 3], [2, 3, 4]]
>>>
2017/12/21(木) 08:52:28.59ID:NvhGrRKb
>>> [i for i in list_2 if any(j in [0,1,2,3] for j in i)]
[[1, 2, 3], [2, 3, 4]]
>>>
2017/12/21(木) 10:03:44.67ID:1OazE8Sd
>>979
>>980
こっちの方がシンプルで良いですね。
ありがとうです ( ゚д゚ )クワッ!!
982デフォルトの名無しさん
垢版 |
2017/12/21(木) 12:40:18.22ID:MXajmGMH
うんこしたいよー
もう漏れそうだ
983デフォルトの名無しさん
垢版 |
2017/12/21(木) 21:48:50.35ID:WjYU61tx
Pythonってプログラミング言語として難しいほう?
2017/12/21(木) 21:52:19.91ID:788cmMG6
とても簡単なほう
2017/12/21(木) 21:53:39.57ID:MavrGicq
簡単というか平易
2017/12/21(木) 22:08:16.93ID:812iswiX
平易というか簡単
987デフォルトの名無しさん
垢版 |
2017/12/22(金) 00:45:25.25ID:7leJrkq3
言語だけでも自分の3割り増しの実力のプログラムが作れる感じのノリが好き
2017/12/22(金) 04:10:33.70ID:pVzUn8R6
動作
トランプデッキから5枚引いて、引いたカードをデッキから削除
手持ちのカードのマークをカウントする


もっと、スタイリッシュに書き直してくれる人居ませんか?

 https://ideone.com/0bukfh
2017/12/22(金) 05:39:58.07ID:RZt5N+k9
スペードの1〜13・ハートの1〜13・クローバーの1〜13・ダイアの1〜13の順で、
1〜52のカードID をつけているから、

カードID を13で割って、その商と余りで、スートと数がわかる
2017/12/22(金) 10:33:03.12ID:RZt5N+k9
def suit_and_number (card_id)
suit = card_id / 13
num = card_id % 13

if num == 0 then
num = 13
suit -= 1
end
return suit, num
end

ary = (1..52).to_a.shuffle!

(0..10).each do |i|
suit, num = suit_and_number (ary[i])
puts "id : #{ary[i]}, suit : #{suit}, num : #{num}"
end

Ruby でやった
https://paiza.io/projects/sJs_Ge5be9uq44J6SHoJdw

結果を並び替えたもの
id : 1, suit : 0, num : 1
id : 14, suit : 1, num : 1
id : 27, suit : 2, num : 1
id : 40, suit : 3, num : 1

id : 13, suit : 0, num : 13
id : 26, suit : 1, num : 13
id : 39, suit : 2, num : 13
id : 52, suit : 3, num : 13
2017/12/22(金) 11:00:21.87ID:2CqGXpCv
>>990
わざわざ通し番号から数字やスートを算出している合理性がない
テクニカルな雰囲気な方法を思い付いて嬉しいのはわかるが、効率が悪く分かりにくいだけだから素直に別々に分けなさい
2017/12/22(金) 11:08:48.16ID:u2VnRzIy
>>998
イッツ スタイリッシュ
https://ideone.com/8wE3TR
2017/12/22(金) 11:09:46.97ID:u2VnRzIy
>>988
イッツ スタイリッシュ
https://ideone.com/8wE3TR
994990
垢版 |
2017/12/22(金) 12:03:54.91ID:RZt5N+k9
>>991
カードクラスを作って、インスタンス毎に、カードの画像を持たせたりしても良いけど、
インスタンス毎に、スート・数を持たせるのは、メモリの無駄だろ

ID から簡単に計算できるのだから、それらを計算値で返しても良いのじゃないか?
2017/12/22(金) 12:09:53.68ID:u7gWVCbQ
普通は「わかりやすい」が正義だな
2017/12/22(金) 12:42:42.17ID:cZv5wUGB
画像はflyweightになるだろ。
いちいちコピーすんのか?
2017/12/22(金) 12:46:03.11ID:sp7ymsVp
>>994
> インスタンス毎に、スート・数を持たせるのは、メモリの無駄だろ
おじいさま今時はそう言うことを気にしなくてもよくなったのよ
2017/12/22(金) 13:33:46.30ID:u2VnRzIy
ふぅー 落ち着いたか、、大興奮・・あれ? ワイのもイジれや、ワイのもイジれや
999988
垢版 |
2017/12/22(金) 14:02:56.88ID:pVzUn8R6
テラテイルでも聞いて来ましたが、色々有るようです。

 https://ideone.com/Mg9oG7

次スレは>>1000が建てて下さい。
2017/12/22(金) 14:21:38.28ID:8mUBEZUB
>>999
何故たてぬ

次スレ
http://mevius.5ch.net/test/read.cgi/tech/1513919747/
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 111日 21時間 36分 51秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


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

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

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

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。