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/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進めたくなったじゃなくて?やめちゃったん?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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