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

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