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

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