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

■ このスレッドは過去ログ倉庫に格納されています
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/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ループを回すことってちゃんと書きましたよね?
変な例を出したこっちも悪いですけど揚げ足取るように違うやり方でやられましても。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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