X



Pythonのお勉強 Part58

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2018/10/25(木) 20:50:10.29ID:NRPlmaaN
★当スレにRubyのコードを書くことを禁ず

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

■前スレ
Pythonのお勉強 Part57
http://mevius.5ch.net/test/read.cgi/tech/1529888279/

◆関連スレ
くだすれPython(超初心者用) その39
http://mevius.5ch.net/test/read.cgi/tech/1535064635/

◆まとめwiki
ttp://python.rdy.jp/

◆ソースコードをそのまま5ちゃんにコピペするとインデントが崩れるので
  こういうところ↓にはってきてください
ttp://ideone.com/      Pythonするにはぷち手間あるのがめんどうかなぁ
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。このスレ的には消えるまでの日数を長めに指定のこと。
ttps://jupyter.org/try    (旧try.jupyter.org)ちょっとめんどうそう
ttps://ja.osdn.net/pastebin/ ログイン必須になりやがった(゚Д゚#)


次スレは>>980が挑戦する
8デフォルトの名無しさん
垢版 |
2018/11/01(木) 10:31:55.39ID:z733lC2q
age
2018/11/01(木) 10:38:15.03ID:id2WS1ve
Python以前はBASICとhspの経験しかなかったけど
dictやsetの存在には感動したわ
10デフォルトの名無しさん
垢版 |
2018/11/01(木) 14:00:18.77ID:rG6revia
>>7
どうかな?変にListに何でも、入ってしまうため、型への配慮が出来ないカス量産してる気がしてるわ。
11デフォルトの名無しさん
垢版 |
2018/11/01(木) 14:09:05.93ID:VLboL17t
rubyよりは良く出来てるよ
2018/11/01(木) 20:30:43.37ID:DT0W6qJ6
肩への配慮が出来ない人は消えていくだけじゃないの?
プログラム無理だよな
2018/11/01(木) 20:32:05.58ID:DT0W6qJ6
あ、肩じゃなくて型だ(肩も大事だけど)
14デフォルトの名無しさん
垢版 |
2018/11/01(木) 20:37:45.11ID:RCuOh3nI
ネジネジッ 8-(。・o・)カタカタカタ-- .....8-(/。・・)/ キャッキャ
2018/11/02(金) 00:18:04.45ID:6SCX2adj
型と言えば型ヒントって使ってる?
自分の場合、いまんとこ三段も四段も記述がネストするようなヒントは書かないことにして部分的に使えばまあまあ効果はあるように思うけど、頑張って全部に型ヒントつけるのは正直引き合わない。
そして中途半端にヒントをつけてコードを汚すくらいなら、つけずに可読性を保つ方が結局はメンテナンス効率高い気がする。
16デフォルトの名無しさん
垢版 |
2018/11/02(金) 01:56:16.10ID:isuRoynI
pythonってインテリセンス機能ある環境少なくてもっとVSCodeが広まれば良いと思う。
2018/11/02(金) 03:20:47.24ID:uEswLSnX
型ヒントなんて使ったことない
面倒だし
2018/11/02(金) 07:50:51.45ID:iBdim2EP
vscodeって使ったことないんだけど、どんな感じ?
使っても結局vimに戻りそうな気がする。
2018/11/02(金) 10:14:51.25ID:IJewM3/1
>>18
選択した部分をShift+Enterで実行する機能とGUIでデバッグできる所が便利
しょっちゅうアップデートが入ったり、おせっかい機能が多数盛り込まれてるのがうざい
一時的に構文を崩すと即エラー指摘してくるところとかうざい

とりあえず使ってみて都合のいい場面だけ使うのがいいんじゃないかな
20デフォルトの名無しさん
垢版 |
2018/11/02(金) 10:15:01.96ID:GLErshJd
型ヒントといえば、デフォルト値とヒント両方つける事って出来ない?
def func(x=None:list):
みたいに書くとエラーになる
2018/11/02(金) 10:54:19.27ID:6SCX2adj
>>20
x:List=None
でいけなかったっけ
2018/11/02(金) 11:31:25.09ID:isuRoynI
インテリセンス機能ないと、メソッドとかいちいち覚えとるんか?
2018/11/02(金) 11:49:58.52ID:oH7jHUs1
>>20
試してないけど
def func(x:list=None):
じゃないの?
2018/11/02(金) 12:15:06.09ID:5GEfoIj4
インテリセンスじゃないけどjupyter notebookでは候補表示されるからそれでいい
2018/11/02(金) 14:52:38.85ID:WYEzV1C6
vscodeでのmicrosoftのpython環境は、バックエンドにjedi使ってるから、
インテリセンスについては何年も前から他のエディタでできてたことと変わらないよ
2018/11/02(金) 16:47:37.97ID:sTKe9kQR
>>19
なるほど。ありがとう。ちょっと使ってみるわ。
2018/11/02(金) 18:07:30.39ID:isuRoynI
>>24
え、無知でごめん。やり方教えてください
28デフォルトの名無しさん
垢版 |
2018/11/02(金) 18:26:38.44ID:EmulwM1N
>>21,23
なるほどそっちか!
ありがとうございます
2018/11/02(金) 18:27:22.05ID:WYEzV1C6
jupyter notebookは他のipython UIと同じくTabで補完候補表示
2018/11/02(金) 19:30:54.95ID:l4YCAmKp
>選択した部分をShift+Enterで実行する機能

一瞬何それ面白いと思ったけど
止めたいところで止められる機能と
やれる事はおんなじだよね
2018/11/02(金) 19:56:40.48ID:hATtcIju
>>30
quickrun.vimの事か?
2018/11/02(金) 20:40:23.88ID:isuRoynI
>>29
ありがとう
33デフォルトの名無しさん
垢版 |
2018/11/10(土) 07:14:20.81ID:M9NwmaJZ
pythonでデスクトップアプリ作れるんですか?
あとideってフリーであるんでしょうか
idelというのは公式に入っているようですが、これはideといえるんです?
2018/11/10(土) 07:24:59.56ID:tMc1X0AO


しらん
>>1
2018/11/10(土) 11:00:18.95ID:bNK9noa6
>>33
デスクトップアプリ作れるよ。
開発環境は VSCode いいね。教えてくれた人ありがとう。
36デフォルトの名無しさん
垢版 |
2018/11/10(土) 11:26:44.84ID:M9NwmaJZ
vs codeでどうやって実行するんでしょうか
python エクステンション入れました
2018/11/10(土) 11:38:30.87ID:jxhvzDRc
とりあえず初心者板に移動したほうがいいんじゃないか?
https://mevius.5ch.net/test/read.cgi/tech/1535064635/
2018/11/11(日) 09:24:34.25ID:5C09U0y6
教科書読んで、ドリルしな
2018/11/11(日) 14:17:03.27ID:xdk1fd8t
スクレイピングサービスを作ってみたんですが
時間がかかるからCGIで実行するように作ってみたら
マルチスレッド実行中にBroken pipeが出て止まってしまいます。

15分前後で同じようにエラーになってしまうんですが、
実行時間の制御とかってあるのでしょうか?
4039
垢版 |
2018/11/11(日) 14:18:07.44ID:xdk1fd8t
スレッドでは無くプロセスでした。

バージョンは3.5です。
41デフォルトの名無しさん
垢版 |
2018/11/11(日) 17:58:07.31ID:96wp+TZd
>>39
セッション維持するためにとりあえずchunkに別けて何か出力し続けろ
2018/11/11(日) 21:18:36.12ID:Yn6EGBm+
>>41
フロント側はdjangoで実装していて、バックエンドでCGI側に投げてるので、セッションは関係ないかと…
43デフォルトの名無しさん
垢版 |
2018/11/11(日) 21:20:52.50ID:pdcv7xn+
書き方一つで処理速度が異常に違うの?
それを覚えるので一苦労やん・・・。
2018/11/11(日) 23:03:50.56ID:ARqR0CiK
タイムアウトかね?
たぶん初心者なら、コードにバグがある

型変換失敗か、nil とか

デバッグして突き止めるしかない

それか同じ処理を、Ruby で作って試してみるとか
45デフォルトの名無しさん
垢版 |
2018/11/11(日) 23:24:21.86ID:fmi7ucDi
たしかに
どう書いても早いjavaの方が初学者向け
2018/11/12(月) 06:26:09.01ID:IMw8cYUh
>>44
同じ条件で並列数を上げて、
15分以内に終わるようにすると正常に終了します…
47デフォルトの名無しさん
垢版 |
2018/11/12(月) 11:24:03.14ID:JnLF+/7N
TCPレベルのタイムアウトでしょ。
邪魔する要素はたくさんあって、ルータ/FW/OS/プロキシ/Webサーバなどなど。
まずは、送信側でkeepaliveつけて回避できるかどうか試す。
2018/11/12(月) 11:42:44.71ID:YjowJq65
内包表記とかforとかの話では?
49デフォルトの名無しさん
垢版 |
2018/11/12(月) 16:23:45.41ID:7TKCaOCD
>>> numpy.e ** numpy.pi ** 1j
(0.9271380752254357+1.1941162626914863j)
>>> numpy.e ** 1j ** numpy.pi
(0.699287180041131-1.0322399946707999j)
>>> numpy.e ** (numpy.pi * 1j)
(-1+1.2246467991473532e-16j)

掛け算の順序に依存するのはなぜ?
2018/11/12(月) 16:49:37.66ID:JEwLf6Zk
掛け算?
2018/11/12(月) 16:58:17.06ID:inQK+rN3
掛け算には依存して無くない?
2018/11/12(月) 17:00:30.83ID:JEwLf6Zk
e^π^i
e^i^π
e^iπ
2018/11/12(月) 17:05:53.71ID:KM3fDEtL
>>49
べき乗は右から計算するから
2018/11/12(月) 17:11:25.73ID:KM3fDEtL
言わんとすることは
(e^π)^i=(e^i)^π=e^(i*π)
で実現するでしょう
2018/11/12(月) 18:10:25.03ID:dNtMFzFI
>>53
1**2**3
3**2**1
やってみ
2018/11/12(月) 18:48:09.82ID:KM3fDEtL
>>55
やってみたけどなんなん?w
57デフォルトの名無しさん
垢版 |
2018/11/12(月) 22:47:11.49ID:kT1ew28W
すげー顔文字に見えるな
58デフォルトの名無しさん
垢版 |
2018/11/12(月) 23:05:52.44ID:JEwLf6Zk
>>55
print(1**2**3)

1
print(3**2**1)

9

そら(1^8=1)そう(3^2=9)よ
2018/11/13(火) 02:24:20.81ID:bT3Yj67d
>>47
やってみます。
ただ、通信と言うよりはメインプロセスが無くなってしまってるような感じなんですよね…
pool.close()後にpool.join()してるのに、子プロセスの終了を待っていないような?
2018/11/13(火) 12:01:50.17ID:o8lRR21h
[print(i,v) for i,v in enumerate(range(10))]
の結果が以下のようになってしまうのですが、余計なNoneリストがくっついて出力されてしまうのはなぜですか?

0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
[None, None, None, None, None, None, None, None, None, None]
61デフォルトの名無しさん
垢版 |
2018/11/13(火) 12:08:25.77ID:HwiD+z3E
printの戻り値がNoneだから、Noneが10個入ったリストが生成されてる
Noneのリストを出力したくないなら内包表記じゃない普通のforを使う
62デフォルトの名無しさん
垢版 |
2018/11/13(火) 14:22:51.90ID:f2sT0P/E
Python3で関数になった弊害か
2018/11/13(火) 15:04:39.79ID:BS1qZA5r
>>61
解決しました
ありがとうございました
64デフォルトの名無しさん
垢版 |
2018/11/13(火) 18:40:12.78ID:90McxFB4
>>62
関係ない
65デフォルトの名無しさん
垢版 |
2018/11/13(火) 19:23:07.60ID:57oATazI
>>64
ある
python2のprint文で>>60を書いたらそもそも文法エラーで動かない
66デフォルトの名無しさん
垢版 |
2018/11/13(火) 19:27:50.95ID:Vxu3kwrv
害ちゃうやんw
2018/11/13(火) 20:37:55.74ID:XRzYMoBo
ジェネレーター式の意味を理解してないコードがエラー出ずに動く害
2018/11/13(火) 20:44:52.39ID:HzkGmazt
ガイジは病院へ
69デフォルトの名無しさん
垢版 |
2018/11/14(水) 11:18:07.75ID:Hh1ptiAj
>>67
どうみても正常です
2018/11/14(水) 20:08:22.51ID:7I4TYJDu
自分の意に沿わないものは全て害だろ

サヨもウヨもフェミもミソジニーもミサンドリーもそう言ってるぞ
2018/11/14(水) 20:52:25.05ID:gClbFAKL
Python始めました
docstringてどの形式がスタンダード?
2018/11/14(水) 21:02:13.47ID:RajhuqxK
https://www.python.org/dev/peps/pep-0257/
2018/11/17(土) 09:23:23.70ID:dswA0JYr
メソッドにlistとかdict2つ渡したい場合どうやるの?
74デフォルトの名無しさん
垢版 |
2018/11/17(土) 10:45:13.09ID:B4GISbTr
渡せばええやん
2018/11/17(土) 12:18:06.32ID:dswA0JYr
*必須なのかと思いこんでた
7639
垢版 |
2018/11/18(日) 00:07:44.90ID:nPRa3vMz
Apache側のタイムアウト設定が原因でした…
それでメインプロセスがいなくなるせいでした。。
お騒がせしました。
77デフォルトの名無しさん
垢版 |
2018/11/19(月) 13:08:31.80ID:3MOWhUti
ひとの話をちゃんと聴くべき
78デフォルトの名無しさん
垢版 |
2018/11/20(火) 18:46:59.72ID:twdu89w5
簡単なAI作って見たいと思っていますが、
開発環境はどうするといいでしょう?
Anaconda・VSCode辺りが良いのではないかと考えています。
2018/11/20(火) 20:44:48.38ID:eXMfunJO
十分じゃないすか
問題は能力の方だよ
80デフォルトの名無しさん
垢版 |
2018/11/20(火) 21:58:50.00ID:twdu89w5
すいません。
どちらがいいでしょう?
が抜けていました。
2018/11/20(火) 22:54:01.56ID:SIaCA4bb
ちょっとお試しならAnacondaだけでやればいいんじゃね
つか比較おかしいから
それぞれ何なのか調べとけ
2018/11/20(火) 23:14:22.35ID:EK/blyY1
VSCodeだけでいいんじゃね
インタプリタ無しで一体何するのか知らないけど
83デフォルトの名無しさん
垢版 |
2018/11/20(火) 23:20:00.02ID:Vm2a6rBd
インタプリタ有りやったら一体何すんねん?
84デフォルトの名無しさん
垢版 |
2018/11/20(火) 23:53:48.75ID:twdu89w5
ではAnacondaにします。
ありがとうございました。
2018/11/21(水) 07:48:37.44ID:+fbKXDkI
両方使ったらええやん
86デフォルトの名無しさん
垢版 |
2018/11/21(水) 11:59:11.56ID:EDQHKouT
配列のポインタをpythonから使えるようにするにはどうしたらいいの?
print(dataPointer)
#c_void_p(4594122752)

print(dataPointer[0])
TypeError: 'c_void_p' object does not support indexing
エラーが出てしまう
2018/11/21(水) 12:38:41.65ID:1UUCTXJ3
>>86
c_void_pはvoid*相当なのでデリファレンスは不可。最初から所望のポインタ型で受け取っては?
https://docs.python.org/ja/3/library/ctypes.html#type-conversions
あるいはリンク先から若干下のcast関数とか、特定ポインタ型のfrom_bufferクラスメソッド等
2018/11/21(水) 16:38:27.06ID:EDQHKouT
>>87
むずいよう
2018/11/21(水) 18:18:08.87ID:EDQHKouT
castしたら違う値が出てきた
2018/11/21(水) 18:37:12.69ID:EDQHKouT
出来た!
print(ctypes.cast(dataPointer,ctypes.POINTER((ctypes.c_double)))[0])
91デフォルトの名無しさん
垢版 |
2018/11/22(木) 12:40:28.94ID:blyr971h
()余分に見えるが意味あるのか?
92デフォルトの名無しさん
垢版 |
2018/11/22(木) 20:58:25.97ID:HONMAAM4
>>91
それ聞いてどおするつもりやw質問の仕方間違っとるわw
意味ないなら何の問題もないし
意味あるならその意味を知りたいんやないかおまえw
2018/11/22(木) 21:54:51.59ID:y+g4Mzp9
>>91
(ctypes.c_double)の括弧でしょ? 明らかに余分で意味無いから無くてもいいよね
あと>>92はカイジすぎて何言ってるか意味分かんないよねw
94デフォルトの名無しさん
垢版 |
2018/11/22(木) 23:06:53.04ID:HONMAAM4
どおも〜カイジでぇす!
2018/11/23(金) 07:01:34.35ID:2HLR+v64
ざわ
96デフォルトの名無しさん
垢版 |
2018/11/23(金) 10:42:08.19ID:RHFoujTa
一瞬、LISPコードに見えた!
2018/11/23(金) 17:59:46.31ID:qZBUrC4R
pandasのdataframeを散布図でプロットするときに横軸を時刻、縦軸を実数でプロットしたいです。
時刻をdatetime型のままにしているとエラーが出ます。
unixtimeに変換すれば解決しますが軸の目盛りがただの数値になってしまい読みにくくなってしまいます。
どのように解決できますか?
2018/11/23(金) 18:12:43.71ID:cGOad0jL
>>97
Index.format() メソッドで時刻を文字列型にかえる
2018/11/23(金) 18:16:22.29ID:cGOad0jL
あるいは
pandas.DataFrameのインデックスをDatetimeIndexにしておく
2018/11/23(金) 18:43:58.56ID:qZBUrC4R
>>98
すみません、具体的な方法が分からないのでご教授願います。
Dataframeはこのような構造です。

https://i.imgur.com/SkRvPQ2.jpg
2018/11/23(金) 19:22:46.77ID:cGOad0jL
>>100
時刻、秒数まで欲しいんか?
年数も全部いるんか?
2018/11/23(金) 19:24:48.43ID:qZBUrC4R
>>101
月と日と時間と分があればいいです。
2018/11/23(金) 19:27:04.94ID:cGOad0jL
まあいいや
>>99のほうの方法でいくぞ

df['time'] = pd.to_datetime(df['time'])
df.set_index('time', inplace=True)
2018/11/23(金) 19:33:40.16ID:cGOad0jL
できたグラフのx軸から年を消すのは
axes[1].get_xaxis().set_major_formatter(mdates.DateFormatter(“%m-%d %H:%M”))
でたぶんいけるとおもう
[]の中の1が0かもしんないけど。
2018/11/23(金) 19:33:42.67ID:qZBUrC4R
>>103
どうすれば散布図にできますか?
x軸の引数がわかりません
2018/11/23(金) 19:36:40.86ID:cGOad0jL
たとえばtempと時間で散布図するなら
df.plot.scatter(y='temp')
2018/11/23(金) 19:37:24.41ID:cGOad0jL
(x軸に使うのがDataFrameのIndexである場合、xの指定は省略可能)
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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