トップページ⇒tech
1002コメント308KB

くだすれPython(超初心者用) その28©5ch.io

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん 転載ダメ©2ch.net2015/11/15(日) 15:26:08.75ID:r8bNQIop
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その27
http://peace.2ch.net/test/read.cgi/tech/1441317912/

関連スレ
Pythonのお勉強 Part51
http://peace.2ch.net/test/read.cgi/tech/1443700103/

◆関連リンク Python の Home Page
ttp://www.python.org/

◆長いコードはこういうところにはってください
ttp://ideone.com/
ttp://codepad.org/
ttp://pastebin.com/
ttp://dpaste.com/

◆まとめwiki
ttp://python.rdy.jp/
0002デフォルトの名無しさん2015/11/15(日) 15:27:44.15ID:r8bNQIop
仲良く使ってね
0003デフォルトの名無しさん2015/11/15(日) 15:33:28.91ID:EUlYjlEj
>>1
おつであります
0004デフォルトの名無しさん2015/11/15(日) 16:05:59.87ID:PNJd8cmY
●py3でshift-jisで表示できない機種依存文字をプロンプトに出力(解決)
丸1日かけてようやく解決した
環境:win10+VS2015+python3.5-64bit
str=”ハートなどの機種依存文字”
print(str)とした場合
・[デバッグ開始]だとpyhonのプロンプトが起動する(エラー*1)
エラー回避:print(str.encode("cp932","replace")(文字化け)
文字化け回避:ソース冒頭にos.system("chcp 65001")を記述
これにより、utf-8でプロンプトが起動する。その時にutf-8を規定に設定*2すると
os.system("chcp 65001")をしなくてもよくなる
・[デバッグ無しで開始]だとc:\windows\system32\cmd.exeが起動する(エラー*1)
上記と同じ
・[Excute Project in Python Interactive](問題なく表示される)
・バッチ経由で起動(文字化けせず表示される)
-run.bat-
chcp 65001
d:\Python35\python.exe PythonApplication1.py
pause

*1:cp932 cant encodeなんちゃら
*2:chcpがutf-8の状態の時に、右クリック>プロパティ>OK
で(規定とは表示されないが)規定に確定される

その他pythonやり始めて3日目で気づいたこと
pipでインストールするならVS上でした方がお手軽(Pillowとか)
0005デフォルトの名無しさん2015/11/15(日) 17:06:07.52ID:PV6fOtMt
ネットにはデマ情報がいっぱい残ってるので
正しい情報をメモ

cmd.exe
UTF-8
chcp 65001

cmd.exe のショートカット リンク先 %SystemRoot%\system32\cmd.exe /c start "UTF-8" cmd
このショートカットを起動してプロパティからフォントの設定(※ボールドフォントにチェックを入れる)
レジストリ \\HKEY_CURRENT_USER\Console\UTF-8 に
FaceName REG_SZ 適当
FontWeight REG_DWORD 0x0190
FontSize REG_DWORD 0x00120000
CodePage REG_DWORD 65001

http://nazochu.blogspot.jp/2011/08/blog-post_26.html
0006デフォルトの名無しさん2015/11/15(日) 18:41:51.16ID:4s4nn7ip
もう2.7系のコードはいやですお・・・
0007デフォルトの名無しさん2015/11/15(日) 21:19:54.14ID:/X/9uPfc
>>4-5
正直に言って、初心者にこんなことやらせるのは嫌だなあ
中級者以上の人がやむを得ない事情でとる方法だと思うよ
0008デフォルトの名無しさん2015/11/15(日) 21:37:32.05ID:Kdusweog
python 3.5.0 windows にて
pip install lxml を実行したところ
エラーを吐きました。
対処法ご存じの方いましたら教えてくださいませ

src\lxml\includes\etree_defs.h(14): fatal error C1083: include ファイルを開けません。'libxml/xmlversion.h':No such file or directory
Compile failed: command 'C:\\...\cl.exe' failed with exit status 2

C:\..\xmlXPathInit8pmroh8n.c(1): fatal error C1083: include ファイルを開けません。'libxml/xpath.h':No such file or directory
error: command 'C:\\..\\cl.exe' failed with exit status 2

Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?
0009デフォルトの名無しさん2015/11/15(日) 22:34:28.66ID:d52GxMjI
>>8
http://lxml.de/FAQ.html#where-are-the-binary-builds
だから
http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml
こっからほしいのダウンロードしてきて、pip installでいれる
001082015/11/15(日) 23:42:15.26ID:Kdusweog
>>9
できました。ありがとうございました。
0011デフォルトの名無しさん2015/11/16(月) 01:39:41.23ID:7yHHnP/U
職種別、資格別、スキル別の平均最低月給リスト
http://jobinjapan.jp/cate/
全掲載求人109,160件の平均最低月給195,800円

Pythonの求人 の平均最低月給235,200円
http://jobinjapan.jp/job-listing/keyword-python.html
0012デフォルトの名無しさん2015/11/16(月) 02:07:29.18ID:ykyhHv+x
ボックス三回ぐらいじゃなくてもっと連呼してた
0013デフォルトの名無しさん2015/11/16(月) 09:52:35.15ID:lVf9F5d+
一文字のアルファベットが母音か子音か判断させたいんですが
w=u"a"
patternV=ur"A|E|I|O|U|Y"
patternC=ur"B|C|D|F|G|H|J|K|L|M|N|P|Q|R|S|T|V|W|X|Z"
compile1=re.compile(patternV)
compile2=re.compile(patternC)
if compile1.search(w, re.I): print "VOWELS"
elif compile2.search(w, re.I): print "CONSONANTS"
else: print "Nothing"
だとNothingになります
0014デフォルトの名無しさん2015/11/16(月) 09:53:44.14ID:lVf9F5d+
また、
VOWELS = "AEIOUY"
CONSONANTS = "BCDFGHJKLMNPQRSTVWXZ"
text="hello world"
for w in text:
if VOWELS.find(w): print "%s is VOWEL" % w
elif CONSONANTS.find(w): print "%s is CONSONANTS" % w
else: print "NOTHING"
だと何故か空白も含めて
h is VOWEL
e is VOWEL
l is VOWEL
l is VOWEL
o is VOWEL
is VOWEL
w is VOWEL
o is VOWEL
r is VOWEL
l is VOWEL
d is VOWEL
となります

正しく母音と子音を判断させるためにはどうすればいいですか?
0015デフォルトの名無しさん2015/11/16(月) 12:46:49.74ID:K5nFZ6mD
>14
str.find()
で見つからないときは、0ではなく、-1 が返る。なので、真偽値としては、Trueとみなされる。
含まれるかどうかの判断は、
c in 'ABC'
とかを使う方がいい。
0016デフォルトの名無しさん2015/11/16(月) 16:35:39.35ID:lVf9F5d+
>>15
ありがとうございます
0017デフォルトの名無しさん2015/11/16(月) 22:25:15.20ID:KqlZhPmb
>>7
馬鹿には無理
0018デフォルトの名無しさん2015/11/16(月) 23:26:25.15ID:UoIZsuGU
gc覚えて分かったんだけど2.7系でurllib2ってメモリーリークひどくね?
みんなurllib3使ってんの?
0019デフォルトの名無しさん2015/11/17(火) 01:36:28.40ID:6/YRyHCA
やっぱみんなこれやってんの?

http://d.hatena.ne.jp/yassai/20080406/1207451327
0020デフォルトの名無しさん2015/11/17(火) 11:51:52.80ID:2sxpr1Yu
dynamic sharedは遅いって記事を見かけるけどベンチマークを公表している記事って無いんだよな
体感できるほどの遅さはないので適当なことをかかずベンチマークを公開して欲しい
0021デフォルトの名無しさん2015/11/17(火) 11:55:22.97ID:Xq9knrfv
Python使うのにスピードとか気にするのって、なんか違うくね?
0022デフォルトの名無しさん2015/11/17(火) 12:23:58.39ID:2sxpr1Yu
プログラミング言語を扱うのにスピードキニシナイの?
0023デフォルトの名無しさん2015/11/17(火) 12:58:30.74ID:Xq9knrfv
スピードのアジャストができるプログラミング言語を使うよ?
言語の特性に合わせて使い分ける。
0024デフォルトの名無しさん2015/11/17(火) 12:59:13.83ID:+c9tLHNn
バカには無理
0025デフォルトの名無しさん2015/11/17(火) 15:23:49.17ID:AiH3WMzU
他の言語の話を持ち出してくる奴ってバカじゃねーの?
0026デフォルトの名無しさん2015/11/17(火) 15:37:33.55ID:Xq9knrfv
別の言語の話をしてるんじゃなくて、Pythonに合わない話なら別にPythonに
拘らずに別の言語でやってみれば?という話だったのさ…
0027デフォルトの名無しさん2015/11/17(火) 15:59:23.28ID:uLLtQ27j
>>18-19
httplib2かな
0028デフォルトの名無しさん2015/11/17(火) 19:12:53.11ID:4M8lHdnC
httplib2とかあったのかよ!!!
0029デフォルトの名無しさん2015/11/17(火) 20:59:02.76ID:to4pHxWl
スクリプト言語に速度求められても…
0030デフォルトの名無しさん2015/11/17(火) 21:11:29.69ID:/3W0ew0e
>>22
キニシナイ


時もある
0031デフォルトの名無しさん2015/11/17(火) 21:31:59.19ID:1aQl8cd1
アホが内容良く読まないで反応するから変な方向に話が持ってかれる
0032デフォルトの名無しさん2015/11/17(火) 21:32:31.00ID:94V4Lu/N
>>29
スクリプト言語だから遅くていいってことはないはず。
速いに越したことはない。
0033デフォルトの名無しさん2015/11/17(火) 21:34:16.97ID:1aQl8cd1
ID:Xq9knrfvはgithubに乗り込んでプログラミングガチ勢を全否定してこいよ
https://github.com/vim-jp/issues/issues/301
0034デフォルトの名無しさん2015/11/17(火) 22:23:41.45ID:jwVZTkmN
スクリプト言語はスクリプト言語だけで構成されてると思ってるんかね
0035デフォルトの名無しさん2015/11/17(火) 22:29:20.75ID:/3W0ew0e
>>32
> 速いに越したことはない。

他の条件が同じならな
0036デフォルトの名無しさん2015/11/18(水) 00:00:23.36ID:dodx6bcj
c++でヘビの拡張書いてて思うわけだ。
これもう全部cppで書けばよくね?と
0037デフォルトの名無しさん2015/11/18(水) 00:14:20.55ID:pA4rlIpi
Dで書くと良い感じでうまー
0038デフォルトの名無しさん2015/11/18(水) 03:25:57.16ID:74RW5EGK
array(("a","b"),("c","d"),…)みたいな文字列を値にした二次元配列でa、cと順に二次元目の先頭の文字列だけ走査してヒットしたインデックス番号を取得したいのですがpythonではどんな風に書けばいいのでしょうか?
説明下手ですみません。
0039デフォルトの名無しさん2015/11/18(水) 06:32:48.93ID:laMD8+R/
for index, 各要素 in enumerate(コンテナ):
print index, 各要素


for i, タプル in enumerate(コンテナ):
print i, タプル[0]
0040デフォルトの名無しさん2015/11/18(水) 06:38:58.79ID:2k4RwPb/
>>37
kwsk
0041デフォルトの名無しさん2015/11/18(水) 10:58:47.82ID:Amh1/iYO
Python.h を D 用に変換するだけで行けそうな悪寒
0042デフォルトの名無しさん2015/11/18(水) 12:13:08.65ID:Amh1/iYO
>>18
java糞riptのメモリリークに比べたら可愛いもんです
0043デフォルトの名無しさん2015/11/18(水) 12:45:02.23ID:LNiVFD+/
Jedi-vimってクラス変数は補完してくれるけどインスタンス変数は補完してくれないんだろうか?
0044デフォルトの名無しさん2015/11/18(水) 13:48:23.95ID:rDsJyOA/
gg=(1,2,3)
r = [(x,y) for y in gg for x in gg]
とすると
[(1, 1), (2, 1), (3, 1), (1, 2), (2, 2), (3, 2), (1, 3), (2, 3), (3, 3)]
となりますが、この中で(1,2)と(2,1)は並び順が違うだけで同じものです
このような同じものを排除し、
[(1, 1), (2, 1), (3, 1), (2, 2), (3, 2), (3, 3)]
のようにするには自分でforを回して排除していくしかないのでしょうか?
0045デフォルトの名無しさん2015/11/18(水) 14:00:39.22ID:ZiP9Xs3/
>>44
itertools
0046デフォルトの名無しさん2015/11/18(水) 14:58:25.85ID:rDsJyOA/
>>45
ありがとうございました
0047デフォルトの名無しさん2015/11/18(水) 17:51:13.71ID:kqHsjpEo
>>41
ほんとだ
ありがとう
楽チンになった
0048デフォルトの名無しさん2015/11/18(水) 18:08:29.86ID:RWMMNxWx
デバイスに設定している時差を取得したい場合はどうしたら良いですか?
例えばPC自体のタイムゾーン設定が日本であれば、単純に数字で"9"と取得したいです。
もちろん、分数や秒数でもいいです。
お願い致します。
0049デフォルトの名無しさん2015/11/18(水) 19:47:27.89ID:EMOGF5Sr
>>> import time
>>> time.timezone # ローカル時間からUTCへのオフセット
-32400
00505212015/11/18(水) 22:55:13.05ID:fuujwd7v
python2系で、割り算、2/3で0でなく0.666....にするにはどうすればいい?
0051デフォルトの名無しさん2015/11/19(木) 00:02:11.50ID:mgcnYI2u
>50
float(2)/float(3)
とか、
1.0*2/3
とか、
2.0/3.0
とか、
0052デフォルトの名無しさん2015/11/19(木) 05:45:32.32ID:m/dtzjnO
>>50
from __future__ import division
0053デフォルトの名無しさん2015/11/19(木) 08:59:24.84ID:Eciumpd7
ブラッド・コックスとトム・ラブがObjective-Cを作り「この言語はCのメモリ安全性とSmalltalkの高速性を合わせたものだ」と宣言する。
現代の歴史家は2人が失読症ではないかと疑っている。
https://twitter.com/okdshin/status/666903312151613440
0054デフォルトの名無しさん2015/11/19(木) 10:10:32.80ID:gXUiymqK
6年前の有名な文章を嬉々として貼ってんなよ痴呆症が
0055デフォルトの名無しさん2015/11/19(木) 11:05:58.30ID:YcchbwVs
ニュー速でスレ立ってたから、ニワカが嬉々として貼り付けたんだろ
0056デフォルトの名無しさん2015/11/19(木) 12:44:15.54ID:+4gV87bK
>>48
pytz
0057デフォルトの名無しさん2015/11/19(木) 12:44:54.84ID:+4gV87bK
>>50
2./3
0058デフォルトの名無しさん2015/11/19(木) 12:47:22.62ID:+4gV87bK
>>50
精度必要なら
>>> decimal.Decimal('2') / decimal.Decimal('3')
Decimal("0.6666666666666666666666666667")
0059デフォルトの名無しさん2015/11/19(木) 17:45:41.16ID:7UQzLOst
>>50
>>> from fractions import Fraction
>>> Fraction(2, 3)
Fraction(2, 3)
0060デフォルトの名無しさん2015/11/19(木) 21:01:47.24ID:niLXYoFn
書き込めたかわからなくて連投になっていたらすみません
すみませんご質問したいのですが,
fortranで出力したbinary,unformatted(どちらでも)形式の51行×100行の配列を,
pythonでnumpyを使用し読み込みたいのですが,どう書けばよいでしょうか...
0061デフォルトの名無しさん2015/11/19(木) 21:29:53.88ID:T22Ntl+o
[]とか{}とか()とかなんでPythonってたくさんあるんですか?
リスト[]は配列
dict{}は連想配列
タプル()は他の言語でいうとなんていうものなのかさっぱり
タプルってどういうときに使うものですか?
0062デフォルトの名無しさん2015/11/19(木) 21:33:20.84ID:Pe05dlRc
不変リストだと思って貰えれば
0063デフォルトの名無しさん2015/11/19(木) 21:40:09.27ID:y12MHR9t
>61
タプルは、不変だから、辞書のキーに出来る。
リストだと、書き換わってしまうかもしれないから、辞書のキーに出来ない。
0064デフォルトの名無しさん2015/11/19(木) 21:45:55.35ID:uxejYOPP
タプルがあるのに
なぜconstやfinalがないのか
0065デフォルトの名無しさん2015/11/19(木) 22:02:14.59ID:niLXYoFn
60ですがどなたかわかる方いませんでしょうか?
0066デフォルトの名無しさん2015/11/19(木) 22:13:59.19ID:uxejYOPP
60の爺はおとなしくfortranと共に沈め
0067デフォルトの名無しさん2015/11/19(木) 22:25:07.87ID:Pe05dlRc
酷すぎワロタ
0068デフォルトの名無しさん2015/11/19(木) 22:35:23.22ID:4mu+F13A
化学分野の理論計算は未だにFORTRANだからな
0069デフォルトの名無しさん2015/11/19(木) 22:41:00.57ID:mgcnYI2u
> 60

こんな記事があったよ。参考になるかな。
Fortranのバイナリ出力をPythonで読む
http://ig.hateblo.jp/entry/2014/05/30/225607
0070デフォルトの名無しさん2015/11/19(木) 22:51:29.59ID:mgcnYI2u
化学っていうか、科学?
流体力学や構造力学でも、Fortran現役だよ。
Fortran77に比べると、最近のは、だいぶモダンになったし、。行列の計算が楽チンなのも良い。とは言え、新しく学ぶのはなぁ、とも思う。
大学の新入生に授業でfortran教えているけど、研究で使う学生は、5%もいないんよね。python教えた方が、多くの学生にとって有益なんだろうけどなぁ。
0071デフォルトの名無しさん2015/11/19(木) 22:57:38.30ID:niLXYoFn
60ですが自分は主に流体力学を勉強しています。
>>69
ありがとうございます。
自分もこの記事を見つけ、試してみたのですが

arr = chunk[0]["arr"].reshape((4,4),order="F")

ここのreshapeの部分で、(51,100)としてもエラーがでてしまいました..
0072デフォルトの名無しさん2015/11/19(木) 23:06:47.39ID:uxejYOPP
>>70
ゴミとわかっていながらゴミを教える
老害ジャップランド土人の鏡
最高学府がコノザマなのだから
日本の未来は暗い
0073デフォルトの名無しさん2015/11/19(木) 23:21:19.56ID:m/dtzjnO
>>61
リストは値がいくつも並んでいる列、リスト自体は場所を提供している存在
タプルは要素が無名の構造体、タプル自体が一個の値として振る舞う
と解釈してる
0074デフォルトの名無しさん2015/11/19(木) 23:27:29.26ID:mgcnYI2u
>>71
reshapeのところの数字だけでなくて、
dtype でデータ構造を指定するところも書き換えてみて。
51*100 の倍精度実数を読むなら、
dt = np.dtype([head,("arr","<5100d"), tail])
ってするのだと思う。
0075デフォルトの名無しさん2015/11/19(木) 23:55:04.78ID:niLXYoFn
>>74
教えてもらった箇所を書き直したらできました。
本当にありがとうございます。
すごく助かりました!
0076デフォルトの名無しさん2015/11/20(金) 00:15:11.06ID:ToUXXWFV
>72
自分の一存で使用言語を決めることが出来るなら、さっさと変えているのだけれどね。
言い訳すると、、同じ演習授業が複数クラスあって、1クラスを二人の教員が対応し、さらに、後期の授業もfortran履修したことを前提に組み立てられているから、授業担当者だけで16人。
そのうち2/3以上は面識がない。この状況で他の言語に切り替えようっていうのを推し進めるのは、結構な労力がかかるのよ。

 それに、専門分野はコンピューターサイエンスじゃないって教員ばかりだから、python なにそれ?って人もいる。自分もjavaやc++は良く分からないから、人のこと言えないんだけどね。
専門分野は他にあって、片手間で授業やっている意識だから、音頭をとる人がいない。プログラミングを必要とする研究室では、授業には期待せず、学生が研究室配属されてから直接当該言語を教える、、というスタンス。

 学生のために良い基礎レベルの授業を提供出来ていない理由の一つは、授業をメインに頑張る教養学部がなくなって、研究第一の専門学部の教員が教養科目も担当するようになったことにあると思う。
ちゃんとしたCSの知識がある人が、プログラミング教育を担当するべきだよなあ。

 
0077デフォルトの名無しさん2015/11/20(金) 03:11:45.04ID:LIksTIHO
長い上にどうでもいいときた
0078デフォルトの名無しさん2015/11/20(金) 11:20:57.70ID:LnAg0HCn
pythonが唯一の正解とか一番最適とかは思わないけどな
fortranで教えたとしても基礎的な部分は変わらないだろう
0079デフォルトの名無しさん2015/11/20(金) 12:21:10.79ID:gNqVn43u
> 78
おっしゃる通り。
愚痴ってないで、プログラミングの楽しさや便利さが伝わるように、演習問題を工夫してみます。
0080デフォルトの名無しさん2015/11/20(金) 15:19:56.15ID:pRelE14O
c言語での
for(int n=0; n<10; ++n)
{
for(int m=n+1; m<10; ++m)
{
}
}
はpythonではどのように書けば実現できますか?
0081デフォルトの名無しさん2015/11/20(金) 15:54:01.87ID:SEy9WlYb
range()を使う

for n in range(10):
 for m in range(n+1, 10):
  ...
0082デフォルトの名無しさん2015/11/20(金) 15:55:30.92ID:yxEhnk2f
if __name__ == "__main__":
  for n in range(10):
    for m in range(n+1, 10):
      print("n={}, m={}".format(n, m))
0083デフォルトの名無しさん2015/11/20(金) 18:13:33.59ID:ipO3g4Qb
Pythonでの
import wx
app = wx.App()
frame = wx.Frame(None, -1, title='hoge')
frame.OnClose = lambda event: [frame.Destroy(), app.Exit()]
frame.Bind(wx.EVT_CLOSE, frame.OnClose)
frame.Show()
app.SetTopWindow(frame)
app.MainLoop()
はC言語ではどのように書けば実現できますか?
0084デフォルトの名無しさん2015/11/20(金) 19:29:06.10ID:yxEhnk2f
それは自分で頑張って下さい
0085デフォルトの名無しさん2015/11/21(土) 00:54:18.20ID:y4PquvJR
Cython使ったらスーパーサイヤ人並に速度性能アップするってことは
アルゴリズムとかデータ構造とかどうでもよくなるよねある意味
0086デフォルトの名無しさん2015/11/21(土) 01:14:38.20ID:6HcvIKiz
全くそんなこと思わない
0087デフォルトの名無しさん2015/11/21(土) 09:21:19.14ID:8+BRZnqT
だって頑張って高速化したCPythonソースコードが
ただCython使っただけのPython始めて3日目の人に実行速度で負けることもありうるわけでしよ?
0088デフォルトの名無しさん2015/11/21(土) 09:26:07.99ID:/EmqL5TT
Cythonに対抗意識燃やして
CPythonを頑張って高速化するバカは君だけ
はい論破
0089デフォルトの名無しさん2015/11/21(土) 10:25:37.23ID:4cImLUpN
画像を表のようにまとめるにはどのモジュール等を使えば簡単にできますか?
0090デフォルトの名無しさん2015/11/21(土) 12:08:45.64ID:6HcvIKiz
https://www.google.co.jp/search?q=表&prmd=inmv&source=lnms&tbm=isch&sa=X&ved=0ahUKEwj_lvfSxKDJAhVB56YKHR1vDFIQ_AUIBygB

一般的な「表」
モジュールってかexcelでも使えよ
0091デフォルトの名無しさん2015/11/21(土) 12:10:23.79ID:R1h+VlCR
サムネイルを表示したいんじゃないの?
0092デフォルトの名無しさん2015/11/21(土) 12:18:22.02ID:0HIzHHLY
あてずっぽうは時間の無駄。
0093デフォルトの名無しさん2015/11/21(土) 16:06:17.24ID:8z9xCqW5
OneDriveにうpすればよきにはからってくれる
0094デフォルトの名無しさん2015/11/21(土) 16:48:11.01ID:8+BRZnqT
>>88
死ね


はい死亡
0095デフォルトの名無しさん2015/11/21(土) 16:52:57.91ID:6HcvIKiz
頭にチンカスでも詰まってんのかしら
0096デフォルトの名無しさん2015/11/21(土) 22:01:18.72ID:lYZv+i2L
思考アルゴリズムがn^nとかだから、
Cythonに掛けても元が駄目すぎて効果なかったんですよ。
0097デフォルトの名無しさん2015/11/22(日) 09:42:25.79ID:/W1vAkpd
httplib2とrequestsってどっちがいいの?
0098デフォルトの名無しさん2015/11/22(日) 10:19:21.24ID:YBzI3bTB
requests
0099デフォルトの名無しさん2015/11/22(日) 11:52:20.30ID:/W1vAkpd
>>98
なんで?
0100デフォルトの名無しさん2015/11/22(日) 12:17:46.48ID:YBzI3bTB
ドキュメントの質とユーザー数
0101デフォルトの名無しさん2015/11/22(日) 12:21:54.58ID:rXOpUu6m
requests って httplib2 使ってなかったか
0102デフォルトの名無しさん2015/11/22(日) 12:35:07.29ID:YBzI3bTB
requestsの中はhttplib3だよ
httplib3の中は知らんが
0103デフォルトの名無しさん2015/11/22(日) 12:37:15.39ID:YBzI3bTB
httplib3じゃなくてurllib3だったかも
0104デフォルトの名無しさん2015/11/22(日) 15:14:18.03ID:xm8RVghR
>>99
Python公式ドキュメントですらrequestsを勧めてるのに使わない理由あるの?
0105デフォルトの名無しさん2015/11/22(日) 15:36:13.94ID:X5xepvoS
>>104
おまえPython公式ドキュメントが戦争法案万歳、
自衛隊はアメリカ軍と共にアジア諸国を殲滅せよ
って言われたら、そうするの?
0106デフォルトの名無しさん2015/11/22(日) 15:41:20.57ID:YBzI3bTB
Dive into python3が薦めてるからだろう
正直言って比肩にならないけど

Dive into python3は最終更新が2011年の文章なので
ライブラリに関しては鵜呑みにしない方がよい
0107デフォルトの名無しさん2015/11/22(日) 15:42:00.09ID:YBzI3bTB
>>105
馬鹿馬鹿しいな、お前
存在がさ
0108デフォルトの名無しさん2015/11/22(日) 15:56:54.88ID:ZoxTM4NW
死ねって言ったら死ぬのかとか、
帰れって言ったら帰るのかでなく、
戦争法案ときたかww
発言もさることながら例えの選び方も馬鹿だな。
左巻きってほんと使えねえ。
0109デフォルトの名無しさん2015/11/22(日) 16:34:42.45ID:LZM0dn4K
c言語でのprintf関数内で\r使った時のように
表示した文字列を削除するにはどうすればいいですか?
0110デフォルトの名無しさん2015/11/22(日) 16:55:22.49ID:rXOpUu6m
curses
0111デフォルトの名無しさん2015/11/22(日) 17:18:03.79ID:rXOpUu6m
ああ rlwrap の方か
0112デフォルトの名無しさん2015/11/22(日) 19:43:53.65ID:X5xepvoS
>>107
>>108
こういう頭の悪いネトウヨが
思考停止して大本営発表に従って
ろくでもない戦禍をもたらすんだよな
まったく、呆れるよ、ゴミ
0113デフォルトの名無しさん2015/11/22(日) 20:35:15.22ID:xDxhP+Cq
こんな香ばしい奴は久しぶりに見た
0114デフォルトの名無しさん2015/11/22(日) 20:42:30.17ID:2/2dsrA/
おれの見に行くスレ、昨日今日こういう奴ばっかなんだ…
0115デフォルトの名無しさん2015/11/22(日) 20:43:54.36ID:lqZ3bNwH
ネトウヨまじキモい。国産Ruby使えばいいのに。
0116デフォルトの名無しさん2015/11/22(日) 20:46:01.65ID:xDxhP+Cq
>>114
フェロモン出すの止めろよ
0117デフォルトの名無しさん2015/11/23(月) 00:55:31.02ID:2bvpc+pi
あまりに香ばしすぎて態とらしさを感じるわ
0118デフォルトの名無しさん2015/11/23(月) 11:22:09.48ID:CgmwfHNq
>>115
てめーはひまわりを使ってから物言え
rubyなんて欧米に媚び諂ったもの持ち上げて何言ってんだカス
ひまわりでウェブサイト立ち上げてそれを公開してから
出直してこいボンクラ
0119デフォルトの名無しさん2015/11/23(月) 12:38:13.64ID:sVOYQlqj
あんないちいちendをかかされたり同じことをするのにいろんな書き方が用意されている気持ち悪い言語名を出すな
0120デフォルトの名無しさん2015/11/23(月) 12:48:27.45ID:upN15kY3
プログラミング初学者です
Pythonスタートブックを読んでBMI計算機を作るレベルまではできるようになりました
次は何をやればいいでしょうか?
また、Pythonでは何ができるのでしょうか
作りたいと思う目標ができません
後々は機械学習や人工知能の勉強をしたいと思っています
0121デフォルトの名無しさん2015/11/23(月) 13:10:20.79ID:/V9BvWpa
>>119
未だ2系と3系が入り乱れてるゴミ言語の悪口はやめたまえ
0122デフォルトの名無しさん2015/11/23(月) 13:39:52.68ID:mkUX9Ctn
>>120
目標がないとか言いつつ機械学習や人口知能を勉強したいって言ってるんだから
まずは機械学習でもやればいいんじゃないのかな
0123デフォルトの名無しさん2015/11/23(月) 13:49:59.03ID:dxOsyiE1
2系と3系が入り乱れてるのに人気って2020年以降どうなっちゃうの
0124デフォルトの名無しさん2015/11/23(月) 14:02:47.48ID:qqa6ydJw
>>119
「;」は邪魔だから取ったのに
なんでendは付けちゃったんだろうね
0125デフォルトの名無しさん2015/11/23(月) 14:44:09.45ID:qSh6PUpK
>>120みたいに作りたいものがない、思いつかない人って理解できないわ
資質的に向いてないんじゃねって思うんだが
俺は逆に作りたいものが多すぎて時間が足りないぐらいなんだけどな
0126デフォルトの名無しさん2015/11/23(月) 14:45:54.71ID:5yZmzCJ8
たしかに
そもそもなんでPythonやりたいとか思ったんだ
向いてるかどうかはどうでもいいけど
0127デフォルトの名無しさん2015/11/23(月) 14:52:48.43ID:X5jnNsdR
>>120
君はまだまだ人様のソースコードを眺める時間が足りなさすぎる
いろんなソースコードをチェックしたら自然と作りたいものが湧いてくる
0128デフォルトの名無しさん2015/11/23(月) 15:17:56.29ID:2bvpc+pi
下手に注目されると妙なのが寄ってくるから考え物だわ
直近でもぺちぱーとサヨ君が湧いたし

早く機械学習ブーム終わんねえかな
無理だろうな
0129デフォルトの名無しさん2015/11/23(月) 15:59:41.96ID:r5JpIa+m
>>120
実践 機械学習システム っていう本がオライリーから出ています。
Python を使った機械学習の入門書なので、ちょうどいいんじゃないでしょうか。
Python は機械学習のライブラリが充実してるので、良い言語の選択をされたと思いますよ。
0130デフォルトの名無しさん2015/11/23(月) 16:01:10.26ID:5yZmzCJ8
新嘗祭
0131デフォルトの名無しさん2015/11/23(月) 16:05:59.33ID:/V9BvWpa
>>128
選民思想の基地害
これがパイチョナージャップランド土人の本質
0132デフォルトの名無しさん2015/11/23(月) 16:07:24.88ID:jjQh9zUI
>>128
TensorFlowがオープンになって、
なんか更に炎上しそうな気がする

ボットとか増えそうだし、ディストピアに繋がるから
あんまりいい気分じゃない
0133デフォルトの名無しさん2015/11/23(月) 16:27:02.87ID:kvypdbEg
選民思想じゃなくて、俺らはまさに選民なんだよ。
分かってねえ小僧だな。
0134デフォルトの名無しさん2015/11/23(月) 16:50:26.18ID:X5jnNsdR
noobがtensorflowなんて使いこなせないから
0135デフォルトの名無しさん2015/11/23(月) 20:08:58.29ID:FnC97ra0
元のリスト
ary = [
{'name':'ooshima', 'age':'5'},
{'name':'teshima', 'age':'2'},
{'name':'teshima', 'age':'3'},
{'name':'teshima', 'age':'1'},
{'name':'yamashita', 'age':'3'},
}
からnameの重複があったら、ageが一番高いのを残して除外したい。
nameの値を元にリストはソートされている。
結果のリスト
ary = [
{'name':'ooshima', 'age':'5'},
{'name':'teshima', 'age':'3'},
{'name':'yamashita', 'age':'3'},
}

どうやってコードを書いたらいいのか教えてください
0136デフォルトの名無しさん2015/11/23(月) 20:47:08.49ID:2bvpc+pi
宿題か?
0137デフォルトの名無しさん2015/11/23(月) 20:56:02.16ID:jjQh9zUI
import numpy as np
import pandas as pd

ary = [
{'name':'ooshima', 'age':'5'},
{'name':'teshima', 'age':'2'},
{'name':'teshima', 'age':'3'},
{'name':'teshima', 'age':'1'},
{'name':'yamashita', 'age':'3'}
]

df = pd.DataFrame(ary)
tbl = pd.pivot_table(df, values='age', index=['name'], aggfunc=np.max)
ary = [{'name':k, 'age':v} for k,v in tbl.items()]
print(ary)
?
0138デフォルトの名無しさん2015/11/23(月) 21:32:24.44ID:dxOsyiE1
httplib2触ってみたけどクッキー対応してないのかよ
0139デフォルトの名無しさん2015/11/23(月) 21:53:55.89ID:1s9o8d7/
>>135
import itertools
ary = ...
groups = itertools.groupby(ary, lambda p: p['name'])
result = [max(group, key=lambda p: int(p['age'])) for _, group in groups]
0140デフォルトの名無しさん2015/11/23(月) 22:17:45.13ID:dxOsyiE1
requestsメモリーリークしてるよね?

import gc
gc.set_debug(gc.DEBUG_LEAK)
gc.disable()
r = requests.get('http://www.yahoo.com')
print "到達不能オブジェクト数:{0}".format(gc.collect())
print "到達不能オブジェクト:{0}".format(gc.garbage)

↓↓↓↓↓↓ 結果 ↓↓↓↓↓↓

gc: collectable <list 0x109756368>
gc: collectable <list 0x109ccd638>
gc: collectable <list 0x109ccddd0>
gc: collectable <list 0x109d132d8>
gc: collectable <list 0x109d2a3b0>
到達不能オブジェクト数:5
到達不能オブジェクト:[[[[[...],...(略
gc: collectable <list 0x109ccccb0>
gc: collectable <list 0x1096a93f8>
gc: collectable <list 0x109ccd998>
gc: collectable <list 0x109d2a488>
gc: collectable <_cffi_backend.CDataOwnGC 0x109d3f0a8>
gc: collectable <_VerifyHelper 0x109d1eb50>
gc: collectable <tuple 0x109d3f050>
gc: collectable <dict 0x109d3d4b0>
gc: collectable <function 0x109d21938>
gc: collectable <list 0x109c4ac68>
gc: collectable <tuple 0x109cfe6c8>
gc: collectable <cell 0x109d20830>
gc: collectable <cell 0x109d207f8>
0141デフォルトの名無しさん2015/11/23(月) 22:34:57.73ID:2bvpc+pi
それだけでは何も分からんよ
少なくともセッションプールやらを中に持ってるから
0142デフォルトの名無しさん2015/11/23(月) 23:01:25.81ID:cyyDybXh
>>135
from itertools import groupby

def get_unique_ary(ary):
grouped_ary = groupby(ary, key=lambda row: row['name'])
for k, g in grouped_ary: yield sorted(g, key=lambda g: g['age'])[0]

result = get_unique_ary(ary)
0143デフォルトの名無しさん2015/11/23(月) 23:28:47.82ID:dxOsyiE1
でも結局はセッションプールを解放しなければメモリーリークするってことだよね?
0144デフォルトの名無しさん2015/11/24(火) 00:51:48.44ID:dgLiqRkZ
beautifulsoupを使ってスクレイピングをしています。
目的の部分の情報を得るためのコードが下記のように長くなってしまうのですが、
なにか短く方法はありませんか?
for div_soup in soup.findAll('div'):
 for li_soup in div_soup.findAll('li'):
  for a_soup in li_soup.findAll('a'):
   name.append(a_soup.string)
0145デフォルトの名無しさん2015/11/24(火) 00:59:18.76ID:+8HIgaVB
サンプルのHTMLぐらい載せろよ
0146デフォルトの名無しさん2015/11/24(火) 12:12:43.58ID:18oIQgo/
とりあえずhttplib2でいくわ
クッキーどう実装しようかな
0147デフォルトの名無しさん2015/11/24(火) 16:00:37.85ID:toMAfMpk
perlで言うif(/hoge1/../hoge2/){ print } みたいなhoge1を含む行からhoge2を含む行を出力するってのを
pythonで書くにはどうすれば良いですか?
0148デフォルトの名無しさん2015/11/24(火) 17:49:54.93ID:xz7o/8Yr
正規表現を使うならreが必要

import re
import sys

def f(start, end, file):
 for line in file:
  if start.search(line):
   print(line, end='')
   break
 for line in file:
  print(line, end='')
  if end.search(line):
   return

f(re.compile('hoge1'), re.compile('hoge2'), sys.stdin)
0149デフォルトの名無しさん2015/11/24(火) 19:24:43.02ID:wj/u+Lk7
s = """
a
b
aaa hoge1
c
d
e
aaaa hoge2
f
g
"""


start = s.find("hoge1")
end = s.find("hoge2")
print(s[start:end+len("hoge2")])
0150デフォルトの名無しさん2015/11/24(火) 19:32:12.69ID:toMAfMpk
>>148-149
ありがとうございます
0151デフォルトの名無しさん2015/11/25(水) 07:19:10.70ID:rJmLSs5J
>>146
cookieJar
0152デフォルトの名無しさん2015/11/25(水) 09:07:08.31ID:UVOD1e7I
X0 Y0 Z00
X0 Y1 Z01
...................
X0 Yn Z0n
X1 Y0 Z10
...................
X1 Yn Z1n
...................
...................
Xn Yn Znn

上記のように並んでいるテキストを読ん読み込んでmatplotlibの2Dマッピング用に
X=[X0,...,Xn], Y=[Y0,...,Yn], Z=[[Z01,...,Z0n],...,[Zn0,...,Znn]]
としたいのですが、loadtxtで読み込んでforで振り分ける以外にスマートな方法はありますか?
お願いします
0153デフォルトの名無しさん2015/11/25(水) 10:12:57.01ID:d37QKwQt
>>151
cookieJarめんどいなあ
けどこれしかないかあ
0154デフォルトの名無しさん2015/11/25(水) 10:28:34.85ID:qv3FwMv3
>>152
そのテキストの規則性をちゃんと説明するべきではないの?
0155デフォルトの名無しさん2015/11/25(水) 17:15:45.88ID:hA6eXSsp
php ならstr_replace(["a", "b", "c"], "", s)って書けますけどメソッド連結地獄にならないPythonの書き方って無いですかね?

s.replace('a','').replace('b','').replace('c','')
こんな感じで書いていくと見づらいので・・・
0156デフォルトの名無しさん2015/11/25(水) 17:40:04.46ID:NSDWiS1P
>>> import functools
>>> functools.reduce(lambda a, x: a.replace(x, ""), ["a", "b", "c"], "abcd")
'd'

>>> import re
>>> re.sub(r"a|b|c", "", "abcd")
'd'
0157デフォルトの名無しさん2015/11/25(水) 19:21:40.27ID:Ya2W2nCX
matplotlib の basemap を使うと
bm = Basemap(...)
のインスタンス化のときにめっちゃ時間掛かるんですけど
速くする方法はありませんか?
0158デフォルトの名無しさん2015/11/26(木) 02:02:35.20ID:mB/EEuz0
>>152
行と列を入れ替えるには,zip(*list)

numpyでも出来る
0159デフォルトの名無しさん2015/11/26(木) 11:44:52.19ID:SQTbaSJ+
ary = [
{"value": "a"},
{"value": "b"},
]

二次元構造のaryからvalueの値bが存在するかってどうやってチェックできますか?
一次元リストだったら
ary = ["a", "b"]
"b" in ary
これでチェックできますけども
0160デフォルトの名無しさん2015/11/26(木) 12:51:34.41ID:Ef8U/FHC
簡単には、
{"value: "a"} in ary

真面目には、
if __name__ == "__main__":
  L = [{"v": "a"}, {"v": "b"}]
  print({"v": "a"} in L)

  L2 = []
  for x in L:
    L2.extend(x.values())

  print("a" in L2)
0161デフォルトの名無しさん2015/11/26(木) 20:46:21.73ID:VRrTuigL
いまGUIやりたいならWx?Qt?PySide?
0162デフォルトの名無しさん2015/11/27(金) 02:10:31.13ID:57PLErZg
俺はPySideじゃなくてPyQt使ってるな
あれってどっち使うのがベストプラクティスなの?
正直違いがsignalがpyqtsignalになってるぐらいしかわからん
0163デフォルトの名無しさん2015/11/27(金) 03:41:44.05ID:0OmyxfZw
wxPython GUIプログラミング、2012

今、この本を読んでいるけど、Python2.7.3なんだよね
(今はどうか知らない)

ただ、wxWidgets は、Python, PHP, Perl, Ruby, JavaScriptで使える

開発ツールは、Eclipse以外に、
GUIデザイナー付きの、wxGlade, wxFormBuilder もある
0164デフォルトの名無しさん2015/11/27(金) 10:34:08.11ID:AOc+3r91
そんなもん自分で選べない奴は何をやっても無駄
0165デフォルトの名無しさん2015/11/27(金) 10:47:14.21ID:Og1YQ9Di
>>161
wx
0166デフォルトの名無しさん2015/11/27(金) 16:41:07.57ID:5FkYJMO3
BeautifulSoupをつかってスクレイピングをしています。
下のhtmlのtd class="ctg1"の時だけ内部のurlを取得したいのですがどのようにすればいいでしょうか?
つまり下のhtmlではhogeを取得したいです。

<td class="ctg1"
</td
<td
<a href="hoge"
こんにちわ
</a
</td

<td class="ctg2"
</td
<td
<a href="hogehoge"
こんばんわ
</a
</td
0167デフォルトの名無しさん2015/11/27(金) 17:03:25.89ID:n7gg1rK8
class T:
__a = 1

o = T()
print('a' in o)
print('b' in o)

定義されているクラス変数a
定義されていないクラス変数b

定義されてないクラス変数を使うとエラーが起こるので
例外を使わずどうやって存在をチェックしたらいいですか?
0168デフォルトの名無しさん2015/11/27(金) 17:06:08.88ID:n7gg1rK8
>>166
http://kondou.com/BS4/#css
とか
http://kondou.com/BS4/#id37
0169デフォルトの名無しさん2015/11/27(金) 17:37:56.12ID:5FkYJMO3
kari = [0,1,2,3,4,5]
for x in kari:
if(x == 3):print x
x==3のときに3の次の要素である4を表示したいのですが
どうすればいいですか?
0170デフォルトの名無しさん2015/11/27(金) 17:44:08.73ID:Xkm9mpHC
>>169
>>166は解決したの?
0171デフォルトの名無しさん2015/11/27(金) 17:46:15.77ID:nuFX6T91
kariが連番なんだから1足せばいいだけじゃん
0172デフォルトの名無しさん2015/11/27(金) 18:02:36.58ID:c/N8jVfb
知ってる人はこう答えるかも知れない

for i, x in enumerate(kari):
if(x == 3): print x, kari[i + 1]

だがしかし
>>169 は

for x in kari:
if(x == 3): print x, x.next

みたいなことをやりたかったのかも知れない
0173デフォルトの名無しさん2015/11/27(金) 18:03:37.18ID:c/N8jVfb
あと 3 が最後の要素だったら例外出るね
0174デフォルトの名無しさん2015/11/27(金) 18:34:34.36ID:98ESwvg5
for x, y in zip(kari, kari[1:]):
____if x == 3: print(y)

これで、末尾が3のケースや、kari が空のケースにも対応可能。
0175デフォルトの名無しさん2015/11/28(土) 17:39:38.75ID:oD9eAZRP
paizaでDランクが解けるようになったレベルなんですけど
次は何をやればいいのでしょうか
0176デフォルトの名無しさん2015/11/28(土) 17:42:17.33ID:/nGbcjZV
好きなもの作ればいいんじゃね
0177デフォルトの名無しさん2015/11/28(土) 17:50:23.59ID:oD9eAZRP
>>176
好きなものを作りたいと思っても作り方がわからないんです
0178デフォルトの名無しさん2015/11/28(土) 17:55:39.72ID:/nGbcjZV
何作りたいの?
0179デフォルトの名無しさん2015/11/28(土) 18:01:53.17ID:oD9eAZRP
>>178
今は神経衰弱を作りたい
古典ゲームを作りたいpygameは使わないような
0180デフォルトの名無しさん2015/11/28(土) 18:07:55.16ID:oD9eAZRP
>>178
あとamazon購入のスクリプトとか
ちょっとした作業効率化ツールが作りたい
0181デフォルトの名無しさん2015/11/28(土) 18:29:15.11ID:MqAul1ob
Cランク、Bランクが解けるくらいまで勉強したら良いのでは。PaizaのDランクは、条件分岐や繰り返しとかのフロー制御系しなくても解けるレベル。実用的なプログラム作るには、もうちょっと基礎を勉強してからの方がいいよ。
その後は、アマゾンの発注とか、お金のからむのはバグでると怖いから、ゲームとか、テキスト処理ツールとかから、手をだすとよいと思う。
0182デフォルトの名無しさん2015/11/28(土) 18:38:16.02ID:oD9eAZRP
>>181
ありがとうございます
C,Bを解けるようになるためにはどのような勉強をすればいいのでしょうか
右も左も分からない状態です
0183デフォルトの名無しさん2015/11/28(土) 19:00:24.55ID:/nGbcjZV
真剣衰弱だとpyqtでもやって
amazonはスクレイピングでいいのかな

右も左もわからないならrubyとかの方がいいんじゃないかな
0184デフォルトの名無しさん2015/11/28(土) 19:15:26.32ID:CPGEE3Eu
こういうのはrubyやったって右も左も分からんだろ
0185デフォルトの名無しさん2015/11/28(土) 19:18:27.58ID:oD9eAZRP
>>183
python単体ではできないのですね
ツールについても勉強したいと思います

ある程度勉強したのでとりあえずPythonを続けたいと思います
0186デフォルトの名無しさん2015/11/29(日) 00:06:09.00ID:3ZsJiz13
>182

オンラインの学習サイトなら、
CheckiO とか、aizu online judge とかが良いと思います。
CheckiO は、python に特化したコーディング学習ゲームみたいなので、問題文は日本語で表示する事も出来るよ。
0187デフォルトの名無しさん2015/11/29(日) 07:54:08.30ID:u/L2Bmza
>>186
checkiOは登録したものの勝手が分からず放置してました
再チャレンジしてみます
0188デフォルトの名無しさん2015/11/29(日) 12:25:02.59ID:k/MbV+7X
今2系と3系ってどっちが主流?
今から勉強するとしたら3系から?
0189デフォルトの名無しさん2015/11/29(日) 13:03:50.58ID:5vhSqUBS
3系でいいと思う
0190デフォルトの名無しさん2015/11/29(日) 17:26:35.87ID:zHMR+6cL
eclipseとpythonインストールし直したんですが
raw_inputとかその他いろいろが使えません
何かインストール漏れがあるのでしょうか
0191デフォルトの名無しさん2015/11/29(日) 17:34:14.34ID:xFFdSesJ
Python3になってるとか?
0192デフォルトの名無しさん2015/11/29(日) 17:50:24.05ID:zHMR+6cL
>>191
そうでした
すみません確認不足でした
0193デフォルトの名無しさん2015/11/30(月) 09:06:04.35ID:gZGJmBVn
5秒に1回だけ出力結果を表示させたいんだけど
0194デフォルトの名無しさん2015/11/30(月) 09:49:17.90ID:A2VxB4My
time.sleep(5)
0195デフォルトの名無しさん2015/11/30(月) 19:47:28.80ID:h1Ge0uIc
5分毎でいいので、システム時刻に正確にならんか。
1回目が11:22:33だったら、次回は11:27:33でなければならない。
今はcronでやってるが、別の方法を求む。
0196デフォルトの名無しさん2015/11/30(月) 19:57:54.06ID:LYBH4EyE
そんなシビアな事をやってる人なんていないから
0197デフォルトの名無しさん2015/11/30(月) 20:00:03.08ID:LYBH4EyE
まあやるなら0.1秒毎に時刻を監視するぐらいだけどね
はたしてそんな1秒単位で管理する意味があるのかな
0198デフォルトの名無しさん2015/11/30(月) 22:19:14.18ID:A2VxB4My
wait_time = 5 * 60

while True:
s = time.now()
ほにゃらか処理
e = time.now()
d = e - s
if d > wait_time:
raise()
time.sleep(wait_time - d)
0199デフォルトの名無しさん2015/12/01(火) 01:07:34.59ID:74IoyTSF
例えばC言語で書かれた、コンソール上に1+1とかの計算問題が出題されて、解答を入力すると次の問題が出力されて…っていうプログラムがあったとして、
それをPythonで問題を読み込んで解答を入力するってことできないの?
0200デフォルトの名無しさん2015/12/01(火) 01:10:23.38ID:Pi1D8AhT
できる
0201デフォルトの名無しさん2015/12/01(火) 07:44:38.46ID:+o248Ufh
popen3 で標準入出力を繋げると出来るよ
0202デフォルトの名無しさん2015/12/01(火) 12:43:36.45ID:xuXtD3PZ
l = [
["name": "b", "n":1]
["name": "a", "n":1]
["name": "c", "n":1]
["name": "a", "n":1]
]

これを出力するときにnameでソートして
a=2
b=1
c=1
としたいんですが、
重複するnameがあればnの値を一つにまとめて出力する書き方を教えてください
0203デフォルトの名無しさん2015/12/01(火) 14:05:07.75ID:8YcqvsYI
>>201
バージョン2.6で撤廃
0204デフォルトの名無しさん2015/12/01(火) 15:02:07.33ID:+o248Ufh
>>199
http://docs.python.jp/3/library/subprocess.html

>>203
subprocessでしたか。失礼
0205デフォルトの名無しさん2015/12/01(火) 17:23:36.31ID:8YcqvsYI
RHEL5なら2.4が現役だぜHAHAHA
0206デフォルトの名無しさん2015/12/01(火) 19:08:45.32ID:HvHUWXOt
>>202
http://pastebin.com/snnUEhiS

ていうか、動くコード貼ろうよ
0207デフォルトの名無しさん2015/12/02(水) 11:20:15.59ID:/lDui3ez
クックブックの3版いつ出るんだよ(イライラ
0208デフォルトの名無しさん2015/12/02(水) 15:59:42.63ID:NX0dzGWY
const VAR = 'val'
を python 2.x で特別なライブラリーをインストールせず実現する最高の方法を教えれ。
0209デフォルトの名無しさん2015/12/02(水) 18:59:25.12ID:LcfhO5jZ
???
0210デフォルトの名無しさん2015/12/02(水) 21:56:22.79ID:iE+yBRbg
>>202
もう一つ空リストを作成して
重複してなければ空リストに格納していって
重複したら1増やすとかの方がはやそうだけど
データ量が多いとダメだよねきっと
0211デフォルトの名無しさん2015/12/02(水) 22:09:37.74ID:G6CksgA0
>>206
202じゃないけど、
l.groupby('name')['n'].sum()

と書いたら、
AttributeError: 'list' object has no attribute 'groupby'
とエラーになった

各グループごとに合計するには、どうすればいいの?
0212デフォルトの名無しさん2015/12/02(水) 22:45:11.32ID:Hbf4Jl0V
>>211
groupbyもsumもリストの関数じゃないよ。↓みれ。。
http://docs.python.jp/3.4/library/functions.html#sum
http://docs.python.jp/3.4/library/itertools.html#itertools.groupby

13行目の[x["n"] for x in g]がそれぞれグループのnのリストになってるから、sum([x["n"] for x in g])にすればいける
0213デフォルトの名無しさん2015/12/02(水) 23:14:59.42ID:5iElNUSn
>211
print("{}={}".format(k, [x["n"] for x in g]))

となっているところを、

print("{}={}".format(k, sum(x["n"] for x in g)))

とすれば良いのでは?
0214デフォルトの名無しさん2015/12/03(木) 00:00:33.62ID:T+WSxrvD
それよりハイパフォーマンスPythonマジで名著
0215デフォルトの名無しさん2015/12/03(木) 00:01:58.56ID:CLleeb7b
電子書籍待ってるんだけどなるんだろうか・・・
0216デフォルトの名無しさん2015/12/03(木) 00:16:12.03ID:F5OD5ya2
1行のみのcsvを読み込んで、それを雛形にx件のcsvデータを作りたいです。

そのときに、特定列はカウントアップして0埋め(10桁)にしたいのですが、どなたかソースをご提示いただけないでしょうか?

pythonは綺麗に書けると聞いているんですが、ゴチャゴチャになってしまいました。
0217デフォルトの名無しさん2015/12/03(木) 00:30:16.26ID:WVH2+4tL
>216
ゼロ埋めは、zfill() 使うといいよ。
0218デフォルトの名無しさん2015/12/03(木) 02:11:05.40ID:F5OD5ya2
>>217
ありがとうございます。
使ってみます。
0219デフォルトの名無しさん2015/12/03(木) 21:30:33.70ID:LkgT4DC4
pythonで3dのgui作るための解説書ってなんかいいのないかな
0220デフォルトの名無しさん2015/12/05(土) 15:39:10.78ID:8qIYnrtt
pythonは綺麗に書ける(誰でも綺麗に書けるとは言っていない)
0221デフォルトの名無しさん2015/12/05(土) 16:02:35.82ID:ckYMWiJu
>>219
どこかで見覚え有るけどタイトル忘れた
0222デフォルトの名無しさん2015/12/05(土) 17:17:51.45ID:pn84VoRs
Python 〜3日で覚える3Dアプリ〜
0223デフォルトの名無しさん2015/12/05(土) 17:31:19.71ID:ckYMWiJu
ググっても出て来なかった
0224デフォルトの名無しさん2015/12/05(土) 17:32:36.40ID:ckYMWiJu
かわりにこんなんでました
http://headlines.yahoo.co.jp/hl?a=20151204-00000021-zdn_m-sci
0225デフォルトの名無しさん2015/12/05(土) 18:39:34.11ID:RN32GdPs
Pythonではクラスのメソッドは全部一つのファイル内に書かないといけないんでしょうか?
C++みたいにメソッドの実装を複数のファイルに分割したいのですがやり方が分かりません
0226デフォルトの名無しさん2015/12/05(土) 19:00:29.68ID:pn84VoRs
継承すればいいじゃん
0227デフォルトの名無しさん2015/12/05(土) 19:44:26.38ID:RN32GdPs
>>226
実際に使うクラスは一つだけなのにその親クラスがメソッドの数だけあるのもなんだか気持ち悪いと思っていたのですが、そういうものなのでしょうか
なんだか落ち着かないけれどたしかにそうしたら目的は達成できます。目から鱗でした
ありがとうございます
0228デフォルトの名無しさん2015/12/05(土) 21:04:26.66ID:PwXtKitN
一つのクラスが一つのファイルに収まらないのは良くない設計だと思う
いわゆる神クラスや神オブジェクトと呼ばれているアンチパターン
0229デフォルトの名無しさん2015/12/05(土) 21:12:54.42ID:TCUuX05g
その2行書くぐらいなら例示ぐらいしてやれよ口だけ野郎。
0230デフォルトの名無しさん2015/12/05(土) 21:21:15.46ID:i4oh4Url
どの程度から巨大なクラスと考えるかは個人差があるから
一般論で正しいとか正しくないとかは傲慢に感じて言いたくない

django1.9出たのか
大した変更なさそうだけど
0231デフォルトの名無しさん2015/12/05(土) 21:26:15.43ID:i4oh4Url
標準でparalleltestできるようになったのはいいな
adminがモダン(笑)化したのは心底どうでもいい
0232デフォルトの名無しさん2015/12/06(日) 11:29:54.24ID:m23WhtjU
python 2.7.11 release!!
バグ修正と機能改善が少し
0233デフォルトの名無しさん2015/12/06(日) 13:40:57.06ID:siyyTbjN
メソッドの実装を複数のファイルに分割とか
地雷アン素人臭がハンパないな
グローバル変数とか好きそう
0234デフォルトの名無しさん2015/12/06(日) 13:56:49.82ID:e1RhhFIR
>>232
gccもverアップしたし、
コンパイルし直すかな
0235デフォルトの名無しさん2015/12/06(日) 21:11:41.04ID:67wpCWBo
>>228
今更だけどこれすごく参考になりました。ありがとうございます
0236デフォルトの名無しさん2015/12/06(日) 21:50:05.54ID:OsePvP7R
パーフェクトpython読んでるんだけど内容が全然分かんね
0237デフォルトの名無しさん2015/12/06(日) 23:18:10.99ID:aV79RTr4
C#には分割クラスもある。
プログラマーの分業体制で使う


>>236
パーフェクトpythonは、文法よりも環境の説明が多い。
この本でわからなければ、「みんなのPython 第3版」が定番
0238デフォルトの名無しさん2015/12/06(日) 23:36:18.17ID:dFSh6SWe
著者おつ
0239デフォルトの名無しさん2015/12/07(月) 07:05:14.85ID:dPEVA6rM
>>237
みんなのPythonはPDF化されてるって聞いたんだけど
それが見つからない
もう公開されてないとか?
0240デフォルトの名無しさん2015/12/07(月) 15:39:41.14ID:KuRdWB2c
昔落としたのならある
0241デフォルトの名無しさん2015/12/07(月) 15:43:50.84ID:PJDJoTkI
Portable Python ってもうバージョンアップしないんですか?
0242デフォルトの名無しさん2015/12/07(月) 18:29:41.98ID:3DNyfJLi
何でそんなものが必要なの?
0243デフォルトの名無しさん2015/12/07(月) 20:21:26.20ID:PJDJoTkI
今はWinPythonなんてもんがあるのか
0244デフォルトの名無しさん2015/12/07(月) 22:58:22.16ID:qgzcc6x2
>>239
「みんなのPython Webアプリ編」のことじゃないかな
著者のサイトで公開されてる
0245デフォルトの名無しさん2015/12/07(月) 23:24:58.73ID:8qJqhvlx
iso-8859-1をutf8にコンバートって出来ないの?
0246デフォルトの名無しさん2015/12/07(月) 23:34:00.34ID:8qJqhvlx
すまん自己解決しました
0247デフォルトの名無しさん2015/12/08(火) 00:15:19.99ID:RNlLZyzT
2.7なんかもうサポートするなよ
世のカスグラマーを甘やかすなゴミ
ただでさえゴミなんだからいい加減にしる
0248デフォルトの名無しさん2015/12/08(火) 08:31:50.29ID:z0z03k0D
Pythonの正規表現面倒すぎ
0249デフォルトの名無しさん2015/12/08(火) 09:07:22.33ID:n+6uIyO5
まだ2.7使ってるけどそろそろ3系に移行の流れくるよね
0250デフォルトの名無しさん2015/12/08(火) 09:32:31.81ID:Dtp21hr/
3はvimとの相性悪いわ
0251デフォルトの名無しさん2015/12/08(火) 19:42:24.46ID:fi5GgxLi
初心者がうまくvimとpython3を連携できずにほざいてます
0252デフォルトの名無しさん2015/12/08(火) 21:49:03.03ID:RNlLZyzT
未だに2系にしがみついてる老害って、童貞禿げのキモ豚ブサメンワキガチビで
グローバル変数だらけのチンカスみたいなコードでホルホル言ってそう
早くドブに頭突っ込んでトラックに挽肉にされてなるべく苦しんで死んで欲しい
0253デフォルトの名無しさん2015/12/08(火) 22:58:33.19ID:thR4esZZ
粋がっちゃってぇ…
0254デフォルトの名無しさん2015/12/08(火) 23:24:26.24ID:sTKMW3FG
>>252
> グローバル変数だらけのチンカスみたいなコードでホルホル言ってそう
何故ばれた。。。
0255デフォルトの名無しさん2015/12/09(水) 07:24:52.33ID:eZdYKXJt
初心者に扱えないようなもんが普及するわけないんだよなあ
0256デフォルトの名無しさん2015/12/09(水) 07:41:57.93ID:sxU8k+1b
初心者とか言い訳しなくていいんですよ
ジャップログラマーだから英語がよめないと白状しましょう
0257デフォルトの名無しさん2015/12/09(水) 09:54:28.71ID:3EPxHLPC
>>248
matchを使ってはいけない
searchallだったかfindallを使う方が楽
0258デフォルトの名無しさん2015/12/09(水) 16:27:47.76ID:o3BOpJ5Y
@ [a-z] [a-z]+のフォーマットに沿った値がリストにあります
l = """
@@ a aaa
@@ b aaa
@@ c aaa
@@ d aaa
""".split("\n")

上のサンプル用リストを元にフォーマットの2番目のアルファベット1文字がcを先頭にくるようにソートしたい
@@ c aaa
@@ a aaa
@@ b aaa
@@ d aaa

l.sort(この中にどう書けばいいのか教えてください)
0259デフォルトの名無しさん2015/12/09(水) 16:30:41.09ID:o3BOpJ5Y
フォーマットのミス
@ [a-z] [a-z]+ではなくて
@@ [a-z] [a-z]+です
0260デフォルトの名無しさん2015/12/09(水) 17:02:30.87ID:xwLtpfXo
# a〜z の表示順として 0〜 の番号を振る
pdic = dict([(chr(acode), i) for i, acode in enumerate(range(ord('a'), ord('z')))])
# 'c'だけ優先順位を上げる
pdic['c'] = -1
l.sort(key=lambda row: pdic[row.split(' ')[1]])
0261デフォルトの名無しさん2015/12/09(水) 17:10:10.14ID:xwLtpfXo
>>260
ord('z')+1 じゃないとだめかな
0262デフォルトの名無しさん2015/12/09(水) 18:45:22.11ID:jSWKuhmJ
Beautifulsoupを扱ってサイトタイトルを抜き出そうとコードを実行した所
https://ghostbin.com/paste/4z35b
のようなエラーが出ました。。
最後に「Google」と出ているので期待通りに実行はされてるっぽいですが。。
__init__.pyの166行目を見てみたら 
markup_type=markup_type))
とありますが、何がどうなってるのかチンプンカンプンです。どなたか助言を・
0263デフォルトの名無しさん2015/12/09(水) 18:47:45.17ID:jSWKuhmJ
あ"html.parser"指定したら直った。
失礼した
0264デフォルトの名無しさん2015/12/09(水) 22:17:35.28ID:zP/N4Qa6
>>260
どうもありがとうございます
0265デフォルトの名無しさん2015/12/10(木) 00:35:56.38ID:m+jBVUQE
オライリーで電子書籍キャンペーンやってて40%割引
0266デフォルトの名無しさん2015/12/10(木) 09:20:38.25ID:IncPVanJ
>>265
マジかよ昨日紙媒体で実践PythonとハイパフォーマンスPython買っちまったよ
0267デフォルトの名無しさん2015/12/10(木) 09:32:17.77ID:hl2uxfTr
一部の対象書籍だけだよ
0268デフォルトの名無しさん2015/12/10(木) 11:49:02.27ID:lW8A+j1b
コピーコンストラクタってどうしたらいいんだろ
全ての変数に関していちいちコピー書くしかないのか
それともコピーコンストラクタ作るという発想が良くないのだろうか
0269デフォルトの名無しさん2015/12/10(木) 12:07:53.90ID:hl2uxfTr
何がそれともなのか分からない
お誂え向きの方法が用意されていないだけで否定されたような気になるクチ?
0270デフォルトの名無しさん2015/12/10(木) 12:21:56.96ID:gg94mj0B
>>268
__dict__ を deepcopy じゃいかんの?
0271デフォルトの名無しさん2015/12/10(木) 13:26:29.82ID:lW8A+j1b
>>270
ありがとうございます。まさにこれを求めてました
0272デフォルトの名無しさん2015/12/10(木) 14:36:49.25ID:gg94mj0B
どうせ deepcopy するなら
class A():
pass

b = A()
c = deepcopy(b)
で良い気がしてきた
0273デフォルトの名無しさん2015/12/10(木) 15:11:34.82ID:6id8mQdP
selfと書くのがもう嫌です。
0274デフォルトの名無しさん2015/12/10(木) 15:38:51.86ID:I7V2WuYf
俺もそう思う時期があったけどselfと書かないと気がすまない
0275デフォルトの名無しさん2015/12/10(木) 16:59:10.44ID:gg94mj0B
きみら with self: ってやらんの?
0276デフォルトの名無しさん2015/12/10(木) 20:30:12.43ID:m+jBVUQE
オライリー見てたらpython関連の本がどんどん発売するんだね
0277デフォルトの名無しさん2015/12/11(金) 00:56:11.13ID:fHyPbbp2
オライリーebook40%割り引きで1万つかちゃった
0278デフォルトの名無しさん2015/12/11(金) 01:56:32.33ID:n6WE8hKB
流れは完全にPython(日本を除く)
0279デフォルトの名無しさん2015/12/11(金) 09:40:12.17ID:fHyPbbp2
pythonにはCythonがあるから、って言えば大抵の言語には勝てるよね速度
0280デフォルトの名無しさん2015/12/11(金) 10:58:10.08ID:h5HeghVg
仕事で物理シミュレーションする必要になったんで、
今年からpython始めた。
一般教養レベルのc ぐらいしか知らんかったけど、
pythonのおかげで何とかなってるわ。
ライブラリ、ソルバーも充実してていいね。
日本語の解説が少ないのが難点だけど。
0281デフォルトの名無しさん2015/12/11(金) 12:32:14.76ID:fLilVKAv
> ソルバー
って何ですか。
0282デフォルトの名無しさん2015/12/11(金) 15:39:49.44ID:oFUX3K6n
リゾ・ラバ
0283デフォルトの名無しさん2015/12/11(金) 18:05:35.94ID:p9tAUxEL
len()だけは直してくんねーかな
0284デフォルトの名無しさん2015/12/12(土) 00:33:29.46ID:VNOc5GLx
大学情報科1年、Cの経験あり(明解C入門編をひととおり)、オブジェクト言語経験なしのpython未経験者です
python3を勉強しはじめるにあたって、参考書を買おうと思っています
『入門python3』と『みんなのpython』あたりを考えているのですが、それぞれの長所短所をおしえてください
0285デフォルトの名無しさん2015/12/12(土) 01:46:23.44ID:dgHlFusF
それらの本を買っても後悔するのでやめましょう
このスレで度々その名前が出るのは著者や出版社なのでスルーしましょう
0286デフォルトの名無しさん2015/12/12(土) 02:12:59.37ID:utyBAaEP
ミンパイは買ってオライリーのはちらっと見たけど正直どっちも変わらん
もっと言うと公式ドキュメントのチュートリアルで十分
0287デフォルトの名無しさん2015/12/12(土) 02:14:41.10ID:GJIlwff3
今の時代だとわりとまじめに大学から勉強なんて遅すぎない?
さっさと両方読めば
0288スッキリ厨2015/12/12(土) 03:11:53.91ID:aUREA2YR
オブジェクト指向を知らないなら、以下の本を、この順で読む

まずこの本で、オブジェクト指向を学ぶ
スッキリわかる Java入門 第2版、2014

その後、この2冊を順に読む
たのしいRuby 第4版、2013
みんなのPython 第3版

オブジェクト指向を知らない人が、
いきなりRuby, Pythonへ行っても無理
0289デフォルトの名無しさん2015/12/12(土) 03:14:13.55ID:GJIlwff3
うそつけ
オブジェクト指向の勉強と
Pythonの勉強は切り離せるだろ
無理なんてことはない
0290デフォルトの名無しさん2015/12/12(土) 06:52:16.10ID:TaCH5voL
Pythonのオブジェクトなんて2になってから無理やり追加した後付けだしな
0291デフォルトの名無しさん2015/12/12(土) 10:24:37.99ID:s24vWoML
Pythonを学ぶなら公式ドキュメントで十分
Pythonのドキュメントはわかりやすい
ドキュメントで学んだらやりたいことに沿って専門に特化した本を買うべき
機械学習がやりたいとかdjangoやりたいとかならそういう専門的な本を買いましょう
0292デフォルトの名無しさん2015/12/12(土) 18:04:50.69ID:Bv8xkaSy
本を読んだだけで経験ありとか言えちゃう時代なんやね
0293デフォルトの名無しさん2015/12/12(土) 18:07:43.00ID:CaId+LaB
>>284
さすがにこれはネタだろw
0294>>2842015/12/12(土) 18:52:06.93ID:VNOc5GLx
超初心者スレなのにみんな厳しい><
とりあえずWEBのドキュメント見てやりますわ…
0295デフォルトの名無しさん2015/12/12(土) 20:13:35.69ID:JoW+NdyI
このスレの奴は不思議と余裕がなくてピリピリしてるからな
0296デフォルトの名無しさん2015/12/13(日) 00:22:49.27ID:dyZWKdvf
http://docs.python.jp/2/library/stdtypes.html
数値型の項目、演算子の表に
+x x の符号不変
とありますが、これはどういう場合で使うのでしょうか?
0297デフォルトの名無しさん2015/12/13(日) 04:39:30.09ID:BniftyfX
環境:python 3.5 + windows7

progressbar2を使っているのですが
-----------------
import time
import progressbar

with progressbar.ProgressBar(max_value=10) as bar:
for i in range(10):
time.sleep(0.1)
bar.update(i)
-----------------
[出力]
10% ( 1 of 10) |## | Elapsed Time: 0:00:00 ETA: 0:00:01
10% ( 1 of 10) |## | Elapsed Time: 0:00:00 ETA: --:--:--
20% ( 2 of 10) |##### | Elapsed Time: 0:00:00 ETA: 0:00:00
20% ( 2 of 10) |##### | Elapsed Time: 0:00:00 ETA: 0:00:00
30% ( 3 of 10) |####### | Elapsed Time: 0:00:00 ETA: 0:00:00
30% ( 3 of 10) |####### | Elapsed Time: 0:00:00 ETA: 0:00:00
40% ( 4 of 10) |########## | Elapsed Time: 0:00:00 ETA: 0:00:00
40% ( 4 of 10) |########## | Elapsed Time: 0:00:00 ETA: 0:00:00
50% ( 5 of 10) |############# | Elapsed Time: 0:00:00 ETA: 0:00:00


みたいにプログレスバーがその場で更新されずズラーっと出力されます
何か対策はあるでしょうか
0298デフォルトの名無しさん2015/12/13(日) 08:20:37.08ID:Be8+1Kca
Androidでは、メインスレッド・UI(描画)スレッドの2つあって、
各スレッドで、出来ることが厳密に分けられている

メッセージポンプの仕組みを知らないと、
GUIプログラミングは出来ない
0299デフォルトの名無しさん2015/12/13(日) 09:39:15.46ID:Ybo/ZpnG
>>297
そういうものなんじゃないの?

https://ideone.com/gRxcph
0300デフォルトの名無しさん2015/12/13(日) 10:18:05.00ID:SZCeLwbx
>>297
print での改行をしない設定にして、
次にprintする時に、バックスペース(アスキーコード8=chr(8))を必要数だけ出力して、それからプログレスバーを出力したらいいんじゃないのかな。
0301デフォルトの名無しさん2015/12/13(日) 12:46:04.41ID:10eTCW+g
>>297
ProgressBar のコンストラクタで幅を少し狭めると良いかもしれない
term_width=progressbar.utils.get_terminal_size()[0]-1
0302デフォルトの名無しさん2015/12/13(日) 12:50:15.21ID:brY11X3K
https://www.checkio.org/mission/univocalic-factaral/
と
http://www.checkio.org/mission/univocalic-fecterel/
なんだけど、こんなのどうやって解くん?
returnもyeildも使えないから上はlambdaでいこうと思ってもif使えないから条件式どうすればいいか分からんし、
下に至ってはlambdaすら使えない

誰かアドバイスくれない?
0303デフォルトの名無しさん2015/12/13(日) 12:53:22.71ID:Ybo/ZpnG
俺はそういうカンニング的なことには答えないよ
作問も時間のかかるしね
0304デフォルトの名無しさん2015/12/13(日) 13:22:13.31ID:brY11X3K
じゃぁ一つだけ
条件式ってif以外に何があるん?
andとかorとか使ってみたけれど、上手くいかない
n=0で再帰を止めないと無限ループになる
0305デフォルトの名無しさん2015/12/13(日) 15:04:26.20ID:S5USnmm8
andとかorだろ
上手く行かないのは君の問題だろ
0306デフォルトの名無しさん2015/12/13(日) 15:26:40.75ID:7jx/kzmY
group = [{'b': '', 'c': 'Dun', 'co': '', 'n': '1', 'p': '', 'na': 'Nor'},
{'b': 'tea', 'c': 'Mar', 'co': 'blue', 'n': '2', 'p': 'hor', 'na': 'Dan'},
{'b': 'mil', 'c': '', 'co': '', 'n': '3', 'p': 'bir', 'na': 'Bri'},
{'b': '', 'c': 'Rot', 'co': 'green', 'n': '4', 'p': '', 'na': ''},
{'b': 'bee', 'c': 'Win', 'col': 'white', 'n': '5', 'p': 'dog', 'na': 'Swe'}]
こんな感じのリスト(辞書)があって、辞書の要素数でソートしたいんだけどどうすればいいですか?
0307デフォルトの名無しさん2015/12/13(日) 15:29:06.22ID:7jx/kzmY
間違えました
valueの数でソートしたいんですが

例えば、
{'b': 'bee', 'c': 'Win', 'col': 'white', 'n': '5', 'p': 'dog', 'na': 'Swe'}
{'b': 'tea', 'c': 'Mar', 'co': 'blue', 'n': '2', 'p': 'hor', 'na': 'Dan'}
は全てvalueが入っているので前、
{'b': '', 'c': 'Dun', 'co': '', 'n': '1', 'p': '', 'na': 'Nor'}
はvalueが3つしかないので後ろって感じです
0308デフォルトの名無しさん2015/12/13(日) 15:45:28.28ID:vmo8rgqq
group.sort(key=lambda d : len([ v for v in d.values() if v != ""]), reverse=True)
0309デフォルトの名無しさん2015/12/13(日) 16:22:21.78ID:7jx/kzmY
>>308
ありがとうございました
0310デフォルトの名無しさん2015/12/13(日) 20:07:46.17ID:7jx/kzmY
すみません、リストでもセットでもいいのですが、
[[
0311デフォルトの名無しさん2015/12/13(日) 20:09:28.82ID:7jx/kzmY
すみません、リストでもセットでもいいのですが、
[['Japan','apple'], ['Korea','orange'], ['China',3],
['apple',1], [2,'Korea'], ['lemon',3]]
を
[['Japan','apple',1], ['Korea','orange',2], ['China','lemon',3]]
のようにまとめたいのですが、何かいい方法はないでしょうか?
for w in words:
for r in words:
if w != r:
if w[0] in r and w[1] not in r:
r.append(w[1])
とかすると複雑になり、自分には分かりにくいです
0312デフォルトの名無しさん2015/12/13(日) 20:17:41.55ID:vmo8rgqq
>>311
はじめのリストの規則性がよくわかんないわ
きちんと日本語にすると何なの?
0313デフォルトの名無しさん2015/12/13(日) 20:34:16.09ID:7jx/kzmY
>>312
関連性のあるものだけを同じリストに入れて分けたいと思ってます
例えば、
Japanとapple
appleと1
からJapanと1の関連性を見つけ出して、['Japan', 'apple', 1]にするなどです
セットで言うunion()ですが、Japanだけで言うなら、
[('Japan','apple'), ('apple',1), ('Japan','apple',1)]のようにリストを拡張していく感じにはしたくないと思っています
0314デフォルトの名無しさん2015/12/13(日) 20:38:43.92ID:7jx/kzmY
あとは、例えば
(('a','b'), ('b','d'), ('d','c'))
とあった場合に、('b','c')というのが無かったとしても、
('a','b','c','d')となるようにしたいと思っています
0315デフォルトの名無しさん2015/12/13(日) 20:40:08.55ID:LQ/bBTKC
SQLの得意分野だな
0316デフォルトの名無しさん2015/12/13(日) 21:30:18.47ID:SZCeLwbx
>>311
union find あるいは、disjoint set で調べれば、望みのことをするのに都合の良いデータ構造が見つかると思います。
japan apple korea などの全ての要素に連番を振って、各要素をグラフ理論での頂点とみなし、要素間に関連があったら辺が張られる、と考えると、disjoint set を適用出来ますよ。
0317デフォルトの名無しさん2015/12/13(日) 23:52:35.79ID:vmo8rgqq
>>311、作ってみたけど多分再帰の深さでダメだ・・・
0318デフォルトの名無しさん2015/12/14(月) 00:47:43.67ID:qJnkOETk
>>311
>>316 の続き。
union find を使ったコードをideone に書いておきました。
参考になれば。
http://ideone.com/kuheG8
0319名無しさん@そうだ選挙に行こう2015/12/14(月) 09:20:42.85ID:vPRlEBjf
>>318
コードまで書いていただき本当にありがとうございました

自分が思っていたより大変な作業なんですね
Pythonのみで処理しないといけなかったのですが、Pythonにはあまり得意ではないタイプの作業だったんですね

本当にありがとうございました
0320名無しさん@そうだ選挙に行こう2015/12/14(月) 10:15:55.91ID:gF13DnvY
知識もないので力技ですが私も書いてみました。
きっともっと速い定石アルゴリズムがあるのでしょうね・・・
抽象化もしていないし恥ずかしいですが

L1 = [['Japan','apple'], ['Korea','orange'], ['China',3],['apple',1], [2,'Korea'], ['lemon',3], ['a', 'b'], ['b', 'c'], ['c', 'd']]
d = {}
for v1, v2 in L1:
  d.setdefault(v1, set()).add(v2)
  d.setdefault(v2, set()).add(v1)

def f(k, d, s):
  while len(d[k]):
    kk = d[k].pop()
    s.add(kk)
    f(kk, d, s)

keys = d.keys()[:]
ss = []
while len(keys):
  key = keys.pop(0)
  s = set([key])
  f(key, d, s)
  ss.append(s)
  for e in s:
    if e in keys:
      keys.remove(e)
print(ss)
0321名無しさん@そうだ選挙に行こう2015/12/14(月) 10:46:24.45ID:baKxaSGv
>>297
python2.5 で progressbar 使ってるけどそんな変なことにはならない
ちゃんと同じ行で更新されてる
0322名無しさん@そうだ選挙に行こう2015/12/14(月) 11:00:05.72ID:baKxaSGv
widgets = ['hoge: ', progressbar.Percentage(),
' ', progressbar.Bar(marker=progressbar.RotatingMarker()),
' ', progressbar.ETA(), ' ', progressbar.FileTransferSpeed()]
bar = progressbar.ProgressBar(widgets=widgets, maxval=100).start()
for i in hogehoge: bar.update(i)
bar.finish()
0323名無しさん@そうだ選挙に行こう2015/12/14(月) 17:07:30.56ID:Giggnq4F
>>321
そういえばバージョン変えてからおかしくなった気がします
0324名無しさん@そうだ選挙に行こう2015/12/14(月) 17:56:13.63ID:tt9eyo/W
回答貰ってるのに解決したのかしてないのか書けよ
0325デフォルトの名無しさん2015/12/16(水) 12:48:01.94ID:GXnCB6WC
pyenvだとpython入れなおすと仮想環境も全部作りなおさないといけないけど
venvだとシンボリックリンク貼られてるだけだから作りなおさなくていいので楽だわ
pythonに限らず*env系はまじでいらない
0326デフォルトの名無しさん2015/12/16(水) 12:55:21.56ID:m5hXWPYq
そうだね
0327デフォルトの名無しさん2015/12/17(木) 10:17:49.21ID:DvCXbkWT
windows7 python3.43でipythonとnotebookインストールしたんですけど
notebookがうまく起動しません。

コンソールでipyton notebookと入力すると
The ipython notebook is running at ...
とエラーなしで起動するのですが
ブラウザの方はjupyterのHome画面でNotebookの画面になりません。

jupyterの画面にはnewボタンがあるのですが、そのボタンを押しても
ドロップダウンリストが表示されてnotebookのメニューは選択不可能になっています。
同じメニューの中にあるPython3の項目は選択できてるのですが。

理由に心当たりありませんか?
0328デフォルトの名無しさん2015/12/17(木) 10:25:28.01ID:DvCXbkWT
すいません。jupyterの画面でNew->Python3を選択したらNotebookが起動してるみたいです。
ただしNotebookとは画面上に表示されませんが、プログラムを入力できて実行できました。
また、コンソールの方を見るとCreateing new notebook inと表示されてました。
しかし、調べたいろいろなWebで紹介されていたNotebookの画面と違いますが。
0329デフォルトの名無しさん2015/12/17(木) 10:28:05.35ID:eNkQyVZs
いろいろなWebの記事のは古いからだろ
0330デフォルトの名無しさん2015/12/17(木) 12:06:51.06ID:Szn4FINI
2.4とか2.5とか2.6とか2.7とか3.3とか3.4とか色んなバージョン出し過ぎなんだよ
0331デフォルトの名無しさん2015/12/17(木) 12:12:46.41ID:Hr/jR6FU
おま環かRTFMで済む話だろ
てめえの頭でもファックしてろ
0332デフォルトの名無しさん2015/12/17(木) 12:25:32.43ID:VpYYIE+V
だれかご教授下さい。

使用OS:Windows7 64bit
Python:2.7
PyScripterを使用

最終目的:PuLPを使って線形計画問題を解けるようにしたい。

【現状】
https://pythonhosted.org/PuLP/main/installing_pulp_at_home.html
を参考に、
c:\Python27\Scripts\> pip install pulp
をコマンドプロンプト上で入力。

1:
import pulp
だけのプログラムではエラーでない

2:
import pulp
pulp.pulpTestAll()
とすると、pulp.pyファイルが開かれ、2283行目を見せながらPulpError:Tests Failedと表示される。

正しくインストールされたら前述のページの一番下のようになるらしいができない。
だれか解決策教えてください。
0333デフォルトの名無しさん2015/12/17(木) 12:28:36.68ID:eNkQyVZs
それだけじゃ分からない
省略せずにちゃんとエラー内容を全部貼りましょう
0334デフォルトの名無しさん2015/12/17(木) 12:35:27.38ID:VpYYIE+V
>>333
いや、これで全部なんだ。スクリーンショットをとると
http://www.dotup.org/uploda/www.dotup.org657174.jpg

module1に記述したのが
import pulp
pulp.pulpTestAll()
0335デフォルトの名無しさん2015/12/17(木) 13:11:51.33ID:7A4lGNjj
試してないから知らんけど、from pulp import *もかいてみたら?
0336デフォルトの名無しさん2015/12/17(木) 13:49:13.75ID:Szn4FINI
Solver HOGE failed. は表示されてるの?
0337デフォルトの名無しさん2015/12/17(木) 16:08:08.24ID:f8fNNmBq
pyscripterからじゃなくてコマンドラインから実行すればエラーの詳細見れるだろ?
0338デフォルトの名無しさん2015/12/17(木) 19:57:08.39ID:DkB13nhB
pyscripterでコードを書いて
コマンドラインで実行しちゃう
0339デフォルトの名無しさん2015/12/17(木) 22:35:49.94ID:Guwu4Fu/
returnというようにやるが…になった!なんでしょうこれです!私はわからない!
0340デフォルトの名無しさん2015/12/17(木) 22:44:08.35ID:1rOrsA4R
pip install hyで
pythonにlispを感染させることができる
lisp好きだからやる気が出てきた
0341デフォルトの名無しさん2015/12/17(木) 23:30:17.17ID:oms64yKK
ソースコメントで敬語使ってる屑殺してやりたいんだけど何なの
0342デフォルトの名無しさん2015/12/18(金) 09:36:54.43ID:sT9ZaHDR
俺はお前を殺したいわ
なんで存在してんだ?カス
0343デフォルトの名無しさん2015/12/18(金) 09:43:56.70ID:KdiQ+Oan
pyscripter使うならpycharm使えよと思うんだけど
なんか理由があるのかな
0344デフォルトの名無しさん2015/12/18(金) 22:32:31.71ID:jqIV0Q+I
データ分析とか数理問題メインならSpyder一択
0345デフォルトの名無しさん2015/12/18(金) 22:58:29.55ID:Dpq+ajLy
>>343
pycharmはなんか大物感がある
0346デフォルトの名無しさん2015/12/18(金) 23:17:22.07ID:+K47PbQJ
プログラマはMacを使ってるってマジ?
http://hayabusa3.2ch.net/test/read.cgi/news/1450395043/
0347デフォルトの名無しさん2015/12/19(土) 00:33:53.49ID:qRSAdM5j
http://qiita.com/buchio/items/29428003d00726607f72
こいつバカ過ぎて笑える
0348デフォルトの名無しさん2015/12/19(土) 12:45:19.56ID:qIMkBFzj
これが正しく扱えたとして、なんの役に立つんだろう…
0349デフォルトの名無しさん2015/12/19(土) 13:45:20.31ID:iG82T79N
generatorならyealdだろうな
0350デフォルトの名無しさん2015/12/19(土) 14:14:14.82ID:MqWUFrDR
あたし変数スコープはforブロックでも生成してくれた方が嬉しい派だけど
こんな見識のない発言はしないわ
0351デフォルトの名無しさん2015/12/19(土) 14:50:57.08ID:iG82T79N
と思ったら今朝のコメントにyealdが書いてあった
みんな考えること同じなんだな
0352デフォルトの名無しさん2015/12/19(土) 14:53:27.62ID:szcu/gVH
晒し者にしてやるなや
コミュが萎縮してしまう
あっちでコメント入れればいいだけ
0353デフォルトの名無しさん2015/12/19(土) 14:57:56.21ID:iG82T79N
自己紹介乙ω
0354デフォルトの名無しさん2015/12/19(土) 15:12:44.14ID:aToq/FO8
yieldはgc.collectで開放されないから使いたくない
0355デフォルトの名無しさん2015/12/19(土) 15:34:00.12ID:MqWUFrDR
反感を買うような語り口で書かなけりゃいいのにな
興奮してるんだか錯覚で自分が大きく見えてるのか知らないけど
0356デフォルトの名無しさん2015/12/19(土) 15:52:18.80ID:iG82T79N
ごめんyieldだったわ
0357デフォルトの名無しさん2015/12/20(日) 01:13:29.68ID:tLd0iq4c
yieldは、実際にアクセスされるまで、
メモリを確保しないから、エコ。
無限配列も作れる

Java8にも、Streamができた
0358デフォルトの名無しさん2015/12/20(日) 11:06:04.02ID:aX5MBVst
いいえ、yieldはメモリリークの原因なので使うべきではないです
0359デフォルトの名無しさん2015/12/20(日) 11:31:11.47ID:8RLYRFXT
rubyのはそうかもね
0360デフォルトの名無しさん2015/12/20(日) 14:39:21.32ID:2rc7g9LR
http://www.gembook.org/2011-02-27.html
この文章のことを言ってるなら、この文章書いた奴もお前と最高に頭悪いです
救えないです
RTFFFFFFFFFM

http://docs.python.jp/2.4/ref/yield.html
> yield 文は、try ... finally 構造の try 節中で使うことはできません。ジェネレータが常に 実行再開されるとは限らないので、finally ブロックが常に 実行される保証がないという問題があるためです。

10年前のドキュメントにすら、やるなって書いてあるじゃん
メクラなの?
0361デフォルトの名無しさん2015/12/20(日) 14:47:05.99ID:2rc7g9LR
さらに、この挙動をしていたのは2.4までで、2.5からはこんな挙動しません

http://docs.python.jp/2.5/ref/yield.html
> Python バージョン 2.5 では、yield 文が try ... finally 構造における try 節で許されるようになりました。ジェネレータが終了(finalized)される (参照カウントがゼロになるか、ガベージコレクションされる) までに再開されなければ、 ジェネレータ-イテレータの close() メソッドが呼ばれ、 留保されている finally 節が実行できるようになります。

世界中にお詫びして死ね
0362デフォルトの名無しさん2015/12/20(日) 15:18:48.15ID:9rpnzR5h
…これ信じてたわ。
試したらちゃんとfinally実行されるな。
http://ideone.com/LM4ha7

昔これをレビューの時に駄目出ししまくったんだんだよな…
確認不足で実は問題ありませんでしたって白状すんのが恥ずかしい。
0363デフォルトの名無しさん2015/12/20(日) 16:00:32.15ID:NvIvavPE
Pythonはおかしな仕様が多すぎる
PHPにも劣るゴミですわ
0364デフォルトの名無しさん2015/12/20(日) 16:08:46.88ID:fYxSxDsl
Python, Googleがメインで使用していたという事実は揺るがない
0365デフォルトの名無しさん2015/12/20(日) 16:19:13.25ID:8RLYRFXT
Googleって中途半端で投げだす印象しかないけどな
0366デフォルトの名無しさん2015/12/20(日) 16:21:34.66ID:fYxSxDsl
PHPってさ、
numpy, scipy, pands みたいのあるの?
0367デフォルトの名無しさん2015/12/20(日) 18:02:52.90ID:TH2uePlh
>>364
もうメインじゃないの?
0368デフォルトの名無しさん2015/12/20(日) 18:06:47.69ID:Alq9HdWn
でも、機械学習ではメイン
0369デフォルトの名無しさん2015/12/20(日) 18:09:32.21ID:NvIvavPE
>>366
プ

話の論点ずれすぎィ!

これだから池沼パイチョナー至上主義基地害は・・・おばかでつねw
0370デフォルトの名無しさん2015/12/20(日) 21:53:33.84ID:ywvYIxL3
わざわざpythonスレに来てpythonの言語仕様disるとかよっぽど嫌なことがあったんだろうな
何があったか書いて行けよ
0371デフォルトの名無しさん2015/12/22(火) 08:22:26.12ID:K+BQrILK
Python本が出版ラッシュ状態ですけど何か大きな変化でもあったんですか?

数年前に勉強しようと思った時(情報が少なくて挫折しました)とは比べ物にならない充実っぷりなのですが…。

bottleだのsqlalchemyだのbeautifulsoapだのあの頃欲しかった情報が溢れかえっててビックリです。
0372デフォルトの名無しさん2015/12/22(火) 09:46:44.77ID:YuHj/3vu
気のせいだと思いますょ
0373デフォルトの名無しさん2015/12/22(火) 14:15:17.79ID:0goHw0zb
超初心者スレだから聞きます。

データを自動取得して自動分析みたいなこと
できます?
0374デフォルトの名無しさん2015/12/22(火) 14:21:20.31ID:Fr1Y77ev
できます
0375デフォルトの名無しさん2015/12/22(火) 14:35:03.58ID:0goHw0zb
ありがとうございますm(__)m
0376デフォルトの名無しさん2015/12/22(火) 21:41:07.45ID:p1a5dHhi
Pythonって情報少ないって言われてるけど
入門者向けの書籍から上級者向けって色々と出てて初心者に優しいと思う
Rubyとか入門書ばかりのイメージ
0377デフォルトの名無しさん2015/12/23(水) 00:54:02.01ID:uB2nj2I/
Rubyには、Ruby内部の処理系の本がある。
Rubyのしくみ、2014

黒魔術の書もある。
メタプログラミングRuby 第2版、2015
0378デフォルトの名無しさん2015/12/23(水) 12:15:25.19ID:eOjwGRQr
関数内でif文を使う場合は必ず関数の最下部で使用しなければならないのですか?
CやJavaと勝手が違い困惑してます
0379デフォルトの名無しさん2015/12/23(水) 12:16:18.12ID:eOjwGRQr
if文を閉じようとすると関数まで閉じてしまうんです
0380デフォルトの名無しさん2015/12/23(水) 12:17:52.41ID:fiBTvI7H
人に訪ねる前にリファレンスでも読んでくれるかな
0381デフォルトの名無しさん2015/12/23(水) 12:44:55.14ID:eOjwGRQr
インデントいじったら解決しました
クソレスすいません
0382デフォルトの名無しさん2015/12/23(水) 13:13:13.12ID:I7CTg4GL
1if 1functionが見とうしの良いプログラミングをする基本ですが、それをわかっていますか?関数型プログラミングの基本です
0383デフォルトの名無しさん2015/12/23(水) 13:54:59.03ID:hk+YOZip
>>380 初心者スレじゃなくここは超超初心者スレ。その位は目をつぶって。
0384デフォルトの名無しさん2015/12/23(水) 15:27:03.35ID:xL9nIhBd
質問なのですが、コマンドプロンプトでPython setup.py installという入力をしてインストールしたいのですがどうすればインストールされるのでしょうか?
どなたかおねがいいたします
0385デフォルトの名無しさん2015/12/23(水) 15:58:57.59ID:fiBTvI7H
そのコマンドを実行した時に出たエラーを貼れよ
0386デフォルトの名無しさん2015/12/23(水) 16:18:35.94ID:xL9nIhBd
もうしわけありません、SSです
http://iup.2ch-library.com/i/i1567523-1450855082.jpg
0387デフォルトの名無しさん2015/12/23(水) 16:22:16.90ID:I7CTg4GL
あーあ、個人情報晒しちゃったね
0388デフォルトの名無しさん2015/12/23(水) 16:31:12.96ID:xL9nIhBd
痛々しい人がいる様なので質問は無視して下さって大丈夫です。汚し失礼いたしました。
0389デフォルトの名無しさん2015/12/23(水) 16:37:26.03ID:I7CTg4GL
┐(´〜`)┌ ヤレヤレ
0390デフォルトの名無しさん2015/12/23(水) 16:40:22.02ID:fiBTvI7H
今回の俺は悪くねえよ?
仮に注意を怠ったことが悪いにしても380ほどじゃない
0391デフォルトの名無しさん2015/12/23(水) 17:01:33.29ID:I7CTg4GL
犯罪教唆やろなぁ
通報でち〜ん(笑)
0392デフォルトの名無しさん2015/12/23(水) 17:35:50.77ID:BTq4dLlY
こんな素人でもPythonに手を伸ばす時代なのか
もうなんて言うかさ・・・初心者向けサイトのはじめのぶぶんだけでも見てこいよと
0393デフォルトの名無しさん2015/12/23(水) 17:48:24.59ID:BTq4dLlY
http://spell-of-love.blogspot.jp/2015/12/mhx.html
これがヒットした
MHXってなんだろうと思ったらゲームじゃないか
ああつまりチートがやりたかったのか
Pythonを学習するわけじゃなくてツールの使い方を効くみたいな感じで来たんだろうな
0394デフォルトの名無しさん2015/12/23(水) 17:53:43.25ID:W6FeRC/T
ただのチート屑野郎か
0395デフォルトの名無しさん2015/12/23(水) 19:06:41.72ID:I7CTg4GL
自ら個人情報晒してるし、このスレに潜むS級パイソニストにハッキングされるのも秒読み
ID:xL9nIhBdヴォーイは今頃ガクブルやろなぁ
0396デフォルトの名無しさん2015/12/23(水) 20:57:40.98ID:ou428rrW
お前らにだって素人だった時代があったろう
0397デフォルトの名無しさん2015/12/23(水) 21:02:54.51ID:2qdT6/2p
単なる人風情がドラゴンに何を教えられるというん
0398デフォルトの名無しさん2015/12/23(水) 21:12:22.17ID:fiBTvI7H
ドラゴンが必死にキーボードをタイプしてると考えると凄い微笑ましい
0399デフォルトの名無しさん2015/12/23(水) 21:48:09.72ID:+QpvspZr
リストの内包表記ってどのくらいまでならネストさせていいの?
おれは2,3回ネストしたらこれ以上は見にくくなるかなとおもってやめるんだけど
0400デフォルトの名無しさん2015/12/23(水) 22:08:55.12ID:fiBTvI7H
原則1段、自分しか読まないコードで妥協して2段
3段以上にはしない

理由
自分のはまだいいが、他人が書いた2段以上のリスト内包表記は読みたくない
0401デフォルトの名無しさん2015/12/24(木) 23:00:52.86ID:65Ta51SK
Hi gays

ちょっと聞きたいんだがPythonで
ans = a * (d-b if d>b else 0)
ってどういう意味なんだい?
cライクな言語で書いたら
if( d>b ){
ans = a * d-b;
}else{
ans = 0;
}
と等価なのかい?
0402デフォルトの名無しさん2015/12/24(木) 23:10:33.84ID:sybmR7b7
YES
0403デフォルトの名無しさん2015/12/24(木) 23:25:30.36ID:65Ta51SK
>>402
Thank you.
見かけたソースでこの書き方してて気になってたんだが
これで安心して眠れます!
0404デフォルトの名無しさん2015/12/24(木) 23:39:11.77ID:ChEfLd6V
>>401
等価じゃねえだろ
a * (d-b)
0405デフォルトの名無しさん2015/12/24(木) 23:41:17.92ID:ChEfLd6V
ans = 0じゃねえよ
0 * aが必ず0になると思うなよ
0406デフォルトの名無しさん2015/12/24(木) 23:46:01.63ID:T6taUc7t
例を挙げてやればいいのに
そんなんだからモテないんだゾ

inf * 0
0407デフォルトの名無しさん2015/12/25(金) 00:41:09.54ID:GBgVflx7
'string' * 0 = ''
[1] * 0 = []
とか、いろいろあるよね。
0408デフォルトの名無しさん2015/12/25(金) 01:56:37.90ID:hK6V4eA3
うるせえ
蛇を、俺様の蛇を突っ込むぞ
0409デフォルトの名無しさん2015/12/25(金) 07:24:59.16ID:0xTFVyZ6
>>406 もてるもてないは,pythonに関係ない。
0410デフォルトの名無しさん2015/12/25(金) 10:34:18.87ID:t6l+Y83l
C言語やってるのに掛け算と代入は等価だと思ってる奴に驚きだよ
0411デフォルトの名無しさん2015/12/25(金) 12:27:02.37ID:BRCD1tgm
属性値が初期化されない

class Box:

numlist = {}

def numbox(self,num):
x=0
list = []
while x < 5:
list.append(num)
x +=1
self.numlist[num] = list

for i in range(0,3):
box = Box()
box.numbox(i)
print box.numlist

結果が
{0: [0, 0, 0, 0, 0]}
{0: [0, 0, 0, 0, 0], 1: [1, 1, 1, 1, 1]}
{0: [0, 0, 0, 0, 0], 1: [1, 1, 1, 1, 1], 2: [2, 2, 2, 2, 2]}
こうなってしまいます。

本当はこうしたいのです。
{0: [0, 0, 0, 0, 0]}
{1: [1, 1, 1, 1, 1]}
{2: [2, 2, 2, 2, 2]}

なぜこうなるのか理由も教えて貰えると助かります。
併せてこの部分の理解に役立つ書籍等もあれば教えて下さい。宜しくお願いします。
0412デフォルトの名無しさん2015/12/25(金) 12:28:23.26ID:ISLz7uba
>>401
cライクな言語で書いたら
ans = a * (d>b ? d-b : 0);
と等価
0413デフォルトの名無しさん2015/12/25(金) 12:30:35.74ID:ISLz7uba
>>411
誤
class Box:
numlist = {}

正
class Box:
numlist = {}
def __init__():
self.numlist = {}

または
class Box:
def __init__():
self.numlist = {}
0414デフォルトの名無しさん2015/12/25(金) 12:31:37.82ID:t6l+Y83l
>>411
インデントをしっかり書けよ
for i in range(1):
__print i
0415デフォルトの名無しさん2015/12/25(金) 12:39:42.43ID:BRCD1tgm
>>413
ありがとうございました。
>>411
申し訳ありません。
0416デフォルトの名無しさん2015/12/25(金) 12:51:42.15ID:ISLz7uba
>>414
専ブラで見ればインデントはあるよ
0417デフォルトの名無しさん2015/12/25(金) 13:49:15.55ID:Se/DKosC
a = [[0] * 2] * 2
a[0][0] = 1
a[1][1] = 1
print(a)

結果
[[1, 1], [1, 1]]
となる

なぜ
[[1, 0], [0, 1]]
にならないんですか?

ちなみに a = [[0, 0], [0, 0]]って言う風にリストを作れば求める結果がでますけど
動的にリストを作りたいのでハードコーディングは避けたいです
0418デフォルトの名無しさん2015/12/25(金) 13:58:49.32ID:ISLz7uba
>>417
deepcopy
0419デフォルトの名無しさん2015/12/25(金) 16:28:30.83ID:2P4BAtg3
>>417

# a = [[0] * 2] * 2
# は、
# x = [0] * 2
# a = x * 2
# と等価なので、以下の結果に。
# >>> id(x[0]), id(x[1])
# (137396016, 137396016)
# 動的に作りたいということなら、以下の方法でどうぞ。

def generate_matrix(n):
  L = [None] * n
  for i in range(n):
    L[i] = [0] * n
  return L

if __name__ == "__main__":
  L = generate_matrix(2)
  print(L)
  L[0][0] = 1
  L[1][1] = 1
  print(L)
  print(id(L[0]), id(L[1]))
0420デフォルトの名無しさん2015/12/25(金) 16:41:02.55ID:W5Oj5ZeL
>>417
>>> a = [[0] * 2] * 2
>>> print(a[0] is a[1])
True

>>> a = [[0] * 2 for x in range(2)]
>>> print(a[0] is a[1])
False
0421デフォルトの名無しさん2015/12/25(金) 16:49:12.73ID:ISLz7uba
>>> b = [0] * 2
>>> a = [b, b]
>>> a[0][0] = 1
>>> a[1][1] = 1
>>> a
[[1, 1], [1, 1]]

>>> b = [0] * 2
>>> a = [b[:], b[:]]
>>> a[0][0] = 1
>>> a[1][1] = 1
>>> a
[[1, 0], [0, 1]]

>>> b = [0] * 2
>>> a = [b[:]] * 2
>>> a[0][0] = 1
>>> a[1][1] = 1
>>> a
[[1, 1], [1, 1]]
0422デフォルトの名無しさん2015/12/25(金) 16:50:13.85ID:ISLz7uba
>>419
そこまでするならnumpy薦めるかなー
0423デフォルトの名無しさん2015/12/25(金) 17:00:18.31ID:RvrA8VgX
>>417
リストを*で作ると中身のオブジェクトは浅いコピーされる
つまりmutableなオブジェクトはオリジナルと同一になる

この操作が望ましくないなら、要素ごとに新しいオブジェクトを作るコードを書く

例えば内包表記だど下の書き方
(数値はimmutableだから*で作っても要素ごとに新しいオブジェクトになる)
a = [[0]*2 for _ in range(2)]
0424デフォルトの名無しさん2015/12/25(金) 18:03:38.78ID:TOcVIACN
>>423
[]の中の[0]*2の部分は浅いコピーにはならないの?
[[0 for i in range(2)] for _ in range(2)]って書かなくてもいいの?
0425デフォルトの名無しさん2015/12/25(金) 19:28:44.72ID:W5Oj5ZeL
>>424
> >>423
> []の中の[0]*2の部分は浅いコピーにはならないの?
なるよ

> [[0 for i in range(2)] for _ in range(2)]って書かなくてもいいの?
書かなくてもいいよ
0426デフォルトの名無しさん2015/12/25(金) 20:41:51.97ID:RvrA8VgX
>>424
ごめん、>>423の最後のカッコの中は間違ってる
正しくは、数値はimmutable(不変、書き換え不可)なオブジェクトだから浅いコピーでも問題にならない
0427デフォルトの名無しさん2015/12/26(土) 10:14:43.83ID:PvF8tuZ2
None は immutable
0428デフォルトの名無しさん2015/12/26(土) 14:56:39.32ID:cWc+VXDO
FONT = (
0429デフォルトの名無しさん2015/12/26(土) 14:58:34.11ID:cWc+VXDO
FONT = ('--X--XXX-XXX-X-X-XXX--XX-XXX-XXX--XX-XX--'
'-XX----X---X-X-X-X---X-----X-X-X-X-X-X-X-'
'--X---XX--X--XXX-XX--XXX--X--XXX-XXX-X-X-'
'--X--X-----X---X---X-X-X-X---X-X---X-X-X-'
'--X--XXX-XXX---X-XX---XX-X---XXX-XX---XX-')
これの-を0に、Xを1に変えたいんだけど

例えば、ne=[1 if w=='X' else 0 for w in FONT]だと、
[0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1,....0, 0, 1, 1, 0]
、と続いてしまい、FONTの形式にならない

FONTの形式のまま上記の変換を行うにはどのように書けばいい?
0430デフォルトの名無しさん2015/12/26(土) 15:06:32.77ID:PvF8tuZ2
ne=''.join('1' if w=='X' else '0' for w in FONT)
試してないけど
0431デフォルトの名無しさん2015/12/26(土) 15:12:57.50ID:jqu4cTVa
普通にreplaceした方があなたのコードを読まされる人(数週間後の自分を含む)は読みやすいですよ
0432デフォルトの名無しさん2015/12/26(土) 16:11:04.27ID:Fvb/ns2y
>>429
replace_chars = str.maketrans({'-': '0', 'X': '1'})
FONT = FONT.translate(replace_chars)

あと一個だけ聞きたいんですけどFONTってタプルじゃなくて文字列であってますか?
もしタプルのつもりだったなら、後でちょっと話があるから
0433デフォルトの名無しさん2015/12/26(土) 16:15:14.55ID:h8/CI80S
> 後でちょっと話があるから

((((;゚Д゚))))ガクガクブルブル
0434デフォルトの名無しさん2015/12/26(土) 16:18:38.65ID:jqu4cTVa
ワロタ
0435デフォルトの名無しさん2015/12/26(土) 17:55:44.63ID:xxF79lwk
429 はこの後、どうなってしまうん?
0436デフォルトの名無しさん2015/12/26(土) 18:14:09.87ID:PvF8tuZ2
Pythonなら書き方は一つ(キリっ)
0437デフォルトの名無しさん2015/12/26(土) 18:53:47.72ID:4eoE585C
>>432
ニキ、文字列であってるで。
>>429の行末には,がないでな。
0438デフォルトの名無しさん2015/12/26(土) 19:59:01.18ID:h8/CI80S
>>436
> Pythonなら書き方は一つ(キリっ)
そんなわけねーよなw

ループの書き方でも複数あるし、インデントでブロックを
表現すると言っても改行の位置はいろいろ変えられる。

経験浅い人のコードを修正したけど、他の言語と同じように
ムダな処理はたくさんあったし、同じことしていても半分以下にコードを減らせた。

公式、準公式ライブラリが、充実しているから、誰でも同じライブラリを
使ってる(だろう)とは思ったけど、それぐらいだよ。
0439デフォルトの名無しさん2015/12/27(日) 00:43:53.07ID:CYJU6fsZ
>>432
こえーよw
0440デフォルトの名無しさん2015/12/27(日) 13:45:35.63ID:J6cqDaFb
PythonとRubyどっちを極めようか迷ってて国内ではやっぱりRubyかなぁ、なんて思ってたら昨今のPythonさんの躍進ぶりが目覚まし過ぎてもうね
機械学習やらAIやらサイバーセキュリティ方面とかPythonさん大活躍だし俺セキュリティ方面進もうかと思ってたからPythonさん選択しますわ(´・ω・`)
0441デフォルトの名無しさん2015/12/27(日) 13:56:01.33ID:1Mfa94Jm
言語に対しての書籍ならRubyの方がいいのあるっぽいけど
応用だとPythonの方が多いイメージ
0442デフォルトの名無しさん2015/12/27(日) 14:01:18.08ID:73m0m6s/
バカが機械学習に手を出してもコピペ程度しか出来なくて応用できない
0443デフォルトの名無しさん2015/12/27(日) 14:20:03.09ID:NH+KDjDi
>>440の文章から感じるキモさって何なんだろう
間違いは言っていないはずなのに、生理的嫌悪感を覚える
0444デフォルトの名無しさん2015/12/27(日) 14:23:05.59ID:cy1YT38J
なんでPython選択したんだろうな
numpy、scipy、matplot、pandas があったからかな
0445デフォルトの名無しさん2015/12/27(日) 14:36:45.80ID:NH+KDjDi
他のp言語やrubyと比べて読みやすい以上の理由はなかった
それで十分すぎる
0446デフォルトの名無しさん2015/12/27(日) 14:37:50.68ID:1Mfa94Jm
TIOBEでランクが高かったからなんて言えない・・・
0447デフォルトの名無しさん2015/12/27(日) 14:42:11.60ID:cy1YT38J
ココ数年、システム的なものにも
Pythonソースが食い込んでるの多いから
読まざるをえないというのもある
0448デフォルトの名無しさん2015/12/27(日) 16:28:13.93ID:wq2CCL/x
>>411
list.append() を使ったら、リストに追加されていく

>>417
Ruby, Python, PowerShellなどでは、
浅い (shallow) コピー・深い (deep) コピーに気をつける

配列などコンテナのコピーは、参照のコピー(浅いコピー)となり、
同一オブジェクトを指すため、要素の変更時に注意する。
Object ID で、同一オブジェクトかどうかを確かめる
0449デフォルトの名無しさん2015/12/27(日) 23:35:11.37ID:ZMHZ9AEQ
>>438
解決する課題に対してpythonにとって最適な書き方が一つあったとして、それを自然に目指せるように言語設計されているという印象
0450デフォルトの名無しさん2015/12/28(月) 00:58:49.02ID:Z/fQoFlX
アンスコタイプしづらいからキャメルを標準にしてほしい
あと動的型付けのくせに数値の文字列連結にtostr処理が必要とかギャグとしか思えない
何が言語設計だ笑わせるな
0451デフォルトの名無しさん2015/12/28(月) 07:52:14.52ID:ShwEi03W
な、こういうのを排除出来るのも良い点
0452デフォルトの名無しさん2015/12/28(月) 09:56:03.35ID:JJlxJ852
ゴミが真っ先に消えるのは最高だね
0453デフォルトの名無しさん2015/12/28(月) 12:12:53.65ID:Y4DeX8w+
>>441
PythonはWindowsにもやさしいですからね

>>445
長年perlつかっててもう飽き飽きうんざりしてた頃にPythonなにこれいいじゃん
0454デフォルトの名無しさん2015/12/28(月) 13:24:42.36ID:X/WzADm6
>>450
Pythonには、ダブルクォーテーションで囲んで式展開する、
groovyのGStringみたいなのは無いの?
"$変数名・${式}"

def a = 'abc'
"${a*2}" // abcabc
0455デフォルトの名無しさん2015/12/28(月) 13:33:02.59ID:JJlxJ852
ないぜ(・∀・)ニヤニヤ
欲しけりゃママのおっぱいでも吸ってな
0456デフォルトの名無しさん2015/12/28(月) 13:42:55.40ID:zB17Wept
チュートリアル読めばpythonでのやり方が書いてある
そのくらい読めよカス
0457デフォルトの名無しさん2015/12/28(月) 17:19:12.42ID:omdbAtLE
久々Pythonして、import feedparserをしたら「ImportError: No module named feedparser」が出た
入ってるはずなのにおかしいと思ってrootになって同じようにimportしたら普通に読み込めた

パーミッションは、
$ ll /usr/lib/python2.6/
drwxr-xr-x. 41 root root 4096 12月 28 16:49 2015 site-packages

$ ll /usr/lib/python2.6/site-packages/ | grep feedparser
drwx--x--x. 3 root root 4096 12月 28 16:49 2015 feedparser-5.2.1-py2.6.egg

755に変えてもダメなんだけど、どうすればいいんかな?

それと、皆はこのsite-packagesなどのパーミッションはどうしてる?
0458デフォルトの名無しさん2015/12/28(月) 18:11:47.45ID:JJlxJ852
read権限で十分だと思うが、実際にどこを探すかはimportした瞬間のsys.path次第
0459デフォルトの名無しさん2015/12/28(月) 18:27:38.14ID:Y4DeX8w+
さすがに 711 はだめなんじゃね
0460デフォルトの名無しさん2015/12/28(月) 18:55:14.16ID:Bcq1wNMf
feedparserってこれのこと?
https://pypi.python.org/pypi/feedparser/5.2.1
0461デフォルトの名無しさん2015/12/28(月) 20:48:05.95ID:omdbAtLE
>>458
>>> sys.path
['', '/usr/lib64/python26.zip', '/usr/lib64/python2.6', '/usr/lib64/python2.6/plat-linux2',
'/usr/lib64/python2.6/lib-tk', '/usr/lib64/python2.6/lib-old', '/usr/lib64/python2.6/lib-dynload',
'/usr/lib64/python2.6/site-packages', '/usr/lib64/python2.6/site-packages/gst-0.10', '/usr/lib64/python2.6/site-packages/gtk-2.0',
'/usr/lib64/python2.6/site-packages/webkit-1.0', '/usr/lib/python2.6/site-packages', '/usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg-info']

一応、/usr/lib/python2.6/site-packagesは読み込んでるはずなんだけど
/usr/lib64/python2.6/site-packagesの中にはfeedparserは存在しない


>>459
$ ls /usr/lib/python2.6/site-packages/ | grep feedparser
drwxr-xr-x. 3 root root 4096 12月 28 16:49 2015 feedparser-5.2.1-py2.6.egg

$ ls /usr/lib/python2.6/site-packages/feedparser-5.2.1-py2.6.egg/
drwx--x--x. 2 root root 4096 12月 28 16:49 2015 EGG-INFO
-rwxr-xr-x. 1 root root 160056 12月 28 16:49 2015 feedparser.py
-rw-------. 1 root root 146465 12月 28 16:49 2015 feedparser.pyc

755でもダメなんだよね
egg内は上記の通りだけど


>>460
そうだと思う
俺もいつ入れたか覚えてないんだけど、他の外部モジュールでなんか使ってるようで
0462デフォルトの名無しさん2015/12/28(月) 21:33:13.86ID:DWhsauMG
>>461
> -rw-------. 1 root root 146465 12月 28 16:49 2015 feedparser.pyc

755 になってないじゃん…
0463デフォルトの名無しさん2015/12/28(月) 21:37:16.93ID:omdbAtLE
>>462
いやぁ、それ755にしてみたけどダメだった...
0464デフォルトの名無しさん2015/12/28(月) 21:39:02.55ID:JJlxJ852
あー、pycのパーミッションか
0465デフォルトの名無しさん2015/12/28(月) 22:18:24.30ID:omdbAtLE
仕方がないので
sys.path.append('/usr/lib/python2.6/site-packages/feedparser-5.2.1-py2.6.egg')
としたらimport通った
でもsys.path.append()とかしたくないんだよね
こういう場合はどこが悪いん?
改善方法教えてもらえたらありがたいんだけど
0466デフォルトの名無しさん2015/12/29(火) 07:57:18.81ID:uJ7begDl
まず、
$ which -a python2.7
で、どこのpython2.7を使っているか確認。
$ python2.7 -c 'import sys;print(sys.path)'
$ ls /usr/local/lib/python2.7/dist-packages
$ cat /usr/local/lib/python2.7/dist-packages/easy-install.pth
import sys; sys.__plen = len(sys.path)
./a.egg
./b.egg
/usr/lib/python2.7/dist-packages

まで調べて、.eggを自動的にimportするようになってるのか。
と思いましたが、一つ一つ自分で調べてみては?

問題がなく、意図したpathのpython2.7を使っているのなら、
~/.pythonstartup
に、
sys.path.append('/usr/lib/python2.7/site-packages/feedparser-5.2.1-py2.6.egg')
を書き加える。
0467デフォルトの名無しさん2015/12/29(火) 09:27:21.39ID:3yCw/m4m
>>466
ありがと

まず環境として、centOS6のデフォルトのPython使ってる
で、feedparser他ライブラリは基本pip installから行なってる

で、
$ sudo cat /usr/lib/python2.6//site-packages/easy-install.pth
import sys; sys.__plen = len(sys.path)
./pip-1.5.6-py2.6.egg
./pydelicious-0.6-py2.6.egg
./feedparser-5.2.1-py2.6.egg
import sys; new=sys.path[sys.__plen:]; del sys.path[sys.__plen:]; p=getattr(sys,'__egginsert',0); sys.path[p:p]=new; sys.__egginsert = p+len(new)

easy-install.pthはrootじゃないと権限なく読めなかったけれど、feedparserは書かれているので読みこむようになってるのかなと
上記の内容良く分かんないけれど
0468デフォルトの名無しさん2015/12/29(火) 09:43:57.99ID:uJ7begDl
sudoしたくないんでしょ?
だったら、
$ cat /usr/lib/python2.6/site-packages/easy-install.pth
じゃないと。↑できないんだから、permissionの問題を
解決する必要があるね。
cat 出来るようになれば解決する問題のようだけどなぁ。

あと、↓を実行できるかも確かめたら?
$ cat /usr/lib/python2.6/site-packages/feedparser-5.2.1-py2.6.egg
↑できるんであれば、python2.6からimportできないのは別の問題になるけども。
0469デフォルトの名無しさん2015/12/29(火) 10:04:37.52ID:tu4wvDsf
pythonの問題じゃないな
初歩的な問題
ここで答えてもいいがlinuxのくだ質で聞いてこい
0470デフォルトの名無しさん2015/12/29(火) 10:13:37.98ID:3yCw/m4m
>>468
でも同じようにpip installしたMySQLdbなんかは普通にimport出来るんだよね
cat /usr/lib/python2.6/site-packages/easy-install.pthはパーミッションのせいで読めないままで

cat /usr/lib/python2.6/site-packages/feedparser-5.2.1-py2.6.egg/feedparser.pyはrootじゃなくても読み込める


>>469
元々はsudo pip installした場合の皆の設定のやり方を知りたくて
今はlinuxのパーミッションの話になってきてしまったけれど...
ま、linux板に聞きに行ってくる
0471デフォルトの名無しさん2015/12/29(火) 10:16:15.16ID:S7hPg+te
なんか可哀想な奴がいるな。
2つの意味でw
0472デフォルトの名無しさん2015/12/29(火) 12:56:28.91ID:X5GhveT8
>>454
テンプレート文字列、名前付きテンプレート文字列、formatメソッドを使う
0473デフォルトの名無しさん2015/12/29(火) 15:20:27.64ID:qoFlpoo3
windows7 64bit python2.7です
http://make.bcde.jp/category/33/のサンプルプログラムをテキストエディタでコピペして実行したのですがImportError: No module named htmlとエラーが出てしまいます
どうすればいいでしょうか?
0474デフォルトの名無しさん2015/12/29(火) 15:24:41.93ID:f6XlG/an
とりあえずモジュールを入れてみようか
0475デフォルトの名無しさん2015/12/29(火) 15:43:10.61ID:O/+FVQhq
>>465
頭が悪い

自分勝手な思い込みを排除しろ

>>467
/usr/lib64/python2.6/
0476デフォルトの名無しさん2015/12/29(火) 18:44:07.94ID:qoFlpoo3
>>474
pythonのコマンドラインでimport lxml.htmlを打ち込むとエラーが出ないのでlxmlのインストールはできていると思います
しかしコマンドプロンプトからプログラムを実行する時にimport lxml.htmlの部分でエラーが出てしまうようなんです
0477デフォルトの名無しさん2015/12/29(火) 19:19:01.36ID:Gn86aS5m
シバンで変な場所指定してない?
0478デフォルトの名無しさん2015/12/29(火) 19:37:24.23ID:Gn86aS5m
それか、pythonに変なalias設定してるとか
0479デフォルトの名無しさん2015/12/29(火) 23:43:56.01ID:Kwx+9ABw
>>476
サンプルプログラムはimport lxml.htmlってなってるのに
なんでエラーメッセージはImportError: No module named htmlなの?
エラーメッセージ出るとしたらNo module named lxmlか
No module named lxml.htmlのどっちかだと思うんだけど
import htmlってしてない?
0480デフォルトの名無しさん2015/12/29(火) 23:55:53.20ID:Kwx+9ABw
>>473
ごめん2.7だったか >>479は忘れて
じゃlxmlてフォルダがあるディレクトリから実行してるとか
0481デフォルトの名無しさん2015/12/30(水) 00:27:50.04ID:uyuyJzYk
>>480
ディレクトリにlxmlという名前のついたファイルがあったので別のディレクトリに移動させてから実行したら問題なく動きました
ありがとうございました
0482デフォルトの名無しさん2015/12/30(水) 10:55:34.27ID:W5tI99Nr
pythonディス
http://lingr.com/room/vim/archives/2015/12/29#message-22886194
0483デフォルトの名無しさん2015/12/30(水) 12:59:52.00ID:Jq3rckJ5
何かと思ったらvimlingerの田舎者かよ
一日中冬休みの課題のvimscript書いてろクソカス
0484デフォルトの名無しさん2015/12/30(水) 19:06:49.42ID:QhvBZrTC
教えてください
sympy geometryで点集合Pと円の交点を求めたいのですがうまくいきません。
Pを線分;sg.Segment(sg.Point(P(X),P(Y)), sg.Point(P(X+1),P(Y+1))) として
円との交点をintersectionにてforで回せば行けるかと思いましたが
2次元のポイントしかサポートしてないよと怒られます。
交点を求める何かよい方法はないでしょうか?
0485デフォルトの名無しさん2015/12/30(水) 19:57:45.77ID:ASJfSghX
あなたに足りない内容

・コピペして確認できるコード
・sympyのバージョン
0486デフォルトの名無しさん2015/12/30(水) 21:37:31.57ID:QhvBZrTC
sympy 0.7.6-6
簡単に書くと以下です
import numpy as np
import sympy geometry as sg

X = np.array([-5, -3, -1, 0, 1.5, 2, 4])
Y = np.array([1, 4, 6, 10, 7, 5, 2])
center = sg.Point(0,0)
radius = 3
circle = sg.Circle(center, radius)
for i range(0, len(X)-2)
segment = sg.Segment(sg.Point(X[i: i+1], Y[i:i+1]),
sg.Point(X[i+1: i+2], Y[i+1:i+2]) )
result = sg.intersection(circle, segment)

ちなみにX、Yはlistやdfなど型を変えてもダメでした
0487デフォルトの名無しさん2015/12/30(水) 22:41:14.61ID:HxMCzWTB
X[i]って書き方じゃダメなん?
0488デフォルトの名無しさん2015/12/30(水) 22:42:57.79ID:ZdT1nXrn
初心者以前なのですが・・・
プログラムに興味がわいたので勉強してみたいと思っています
Pythonが初心者向きだと見たのですが初心者でも分かるように解説されてるサイトってありませんか?
バージョンも色々あるようで困惑しています
0489デフォルトの名無しさん2015/12/30(水) 22:47:05.00ID:Q+ZAoAOe
初心者向きかどうかより
目的に合わせて言語を選ぶことを薦めますなあ
0490デフォルトの名無しさん2015/12/30(水) 23:18:41.00ID:QhvBZrTC
>>487
く、kwskお願いします
0491デフォルトの名無しさん2015/12/30(水) 23:59:47.08ID:ZdT1nXrn
>>489
目的は正直今はありません
とりあえず自分で考えたものを自分で作れるスキルが欲しいという感じでまだ具体的なものは決まってません
プログラムがどんな物か体験してある程度理解できればと考えています
0492デフォルトの名無しさん2015/12/31(木) 01:19:08.08ID:bhirhwXi
ここがいいとサイトは紹介できないけど、今は3.5が最新バージョンだから
2.7より前のバージョンを使って説明しているサイトはもう内容が古いと言っておく
0493デフォルトの名無しさん2015/12/31(木) 01:31:42.70ID:WAuc0YK/
公式のチュートリアルでもやってみれば?
3系も日本語訳されてるだろうし
0494デフォルトの名無しさん2015/12/31(木) 05:35:10.12ID:VHsnBJ1x
一冊本買ったほうが良いんじゃね
効率と失う時間を考えたら本代くらいねぇ
0495デフォルトの名無しさん2015/12/31(木) 06:34:54.34ID:EUZydMuq
>>486
>segment = sg.Segment(sg.Point(X[i: i+1], Y[i:i+1]),
>sg.Point(X[i+1: i+2], Y[i+1:i+2]) )

>X[i: i+1]
: は範囲演算子。i=0なら、X[0〜1]という意味だから、以下の意味になる

segment = sg.Segment(sg.Point(X[0〜1], Y[0〜1]),
sg.Point(X[1〜2], Y[1〜2]) )

Pointに、範囲なんて渡せるかね?

1行ずつデバッグして、エラーメッセージも書くこと。
それか、あちこちにprint関数を書いて、オブジェクトの内容を見る
0496デフォルトの名無しさん2015/12/31(木) 09:04:27.45ID:J1JAnlWX
>>495
ありがとうございます
デバッグしながらやってみます
0497デフォルトの名無しさん2015/12/31(木) 10:25:58.11ID:KKAqg1l1
>>491
http://confreaks.tv/videos/elixirconf2014-introduction-to-elixir-for-rubyists
0498デフォルトの名無しさん2015/12/31(木) 10:36:41.84ID:GIuZkMXN
オライリーの入門python3でも買えば良いかな。
0499デフォルトの名無しさん2015/12/31(木) 18:24:35.46ID:qDLLgSp5
サイバーセキュリティ方面に進みたいからPythonを選んだ
図書館に入門Python3が入荷してたから借りてきてるんだけどMacでも環境構築は普通に出来るよね?
0500デフォルトの名無しさん2015/12/31(木) 18:45:56.57ID:qrFs5ku+
はい。
0501デフォルトの名無しさん2015/12/31(木) 22:12:57.18ID:WAuc0YK/
>>499
macに標準ではいっているPythonは2系だから注意
0502デフォルトの名無しさん2016/01/01(金) 00:20:21.25ID:bne/WG3d
>>1
RPGツクール2000 , RPGツクールMV https://tkool.jp/mv/ ( JavaScript 採用 )

WOLF RPGエディター http://www.silversecond.com/WolfRPGEditor/

デュエル・マスターズ Android版 ,i-OS版、公式 http://dm.takaratomy.co.jp/extra/dmapp/entrygate_ds/
デュエル・マスターズ対戦CGI ex
https://web.archive.org/web/20150809154946/http://www53.atwiki.jp/dmsuishinparty/pages/314.html

デュエル・マスターズ(デュエマ)DM ONLINE 1.8a  /  VanGuard ONLINE 1.5a
https://web.archive.org/web/20150809160254/http://uhyohyohyo.sak ura.ne.jp/hsp.html

ヴァンガード専用ネット対戦ツール【 VanGuard Online 】
https://web.archive.org/web/20150809155032/http://kiimaa.jugem.jp/?eid=61

「カードファイト!!ヴァンガード」のネット対戦ができる公式オンラインゲーム「Cardfight!! Online」 2015年冬スタート
https://web.archive.org/web/20150809153724/http://supersolenoid.blog63.fc2.com/blog-entry-6886.html

遊戯王 Automatic Dueling System
https://web.archive.org/web/20150809164855/http://www3.atwiki.jp/ads-wiki/pages/20.html

遊戯王 デュエル・オンライン
https://web.archive.org/web/20150809171527/http://www31.atwiki.jp/vipdo/pages/15.html
https://web.archive.org/web/20140628005202/http://do.yugioh-portal.net/

ウィクロス( WIXOSS ) WEBXOSS http://webxoss.com/about_en.html http://webxoss.com/DeckEditor/

BG(ボードゲーム)Engine https://web.archive.org/web/20151209080842/https://bgengine.net/
https://web.archive.org/web/20151209172205/http://14owl.hateblo.jp/entry/2015/12/09/011234

アプレンティス  マジック:ザ・ギャザリング(MtG)オンライン化 http://homepage1.nifty.com/Q_Q/ap.html
https://web.archive.org/web/20151202202725/http://homepage1.nifty.com/Q_Q/ap.html
0503デフォルトの名無しさん2016/01/01(金) 00:21:33.61ID:bne/WG3d
【 オンラインTCGエディター 】   >>1,>>502

デュエル・マスターズ的な非電源TCGの 《 オンライン化ツクール系ソフト 》 制作の企画。

例えば、ガチンコ・ジャッジを直ぐにでも導入できる機能を持っておりながら、
当面それを扱わず単純化させておいて、事後的に導入拡張する際に当該システムを
ブロック構造の組み合わせで後付け挿入できるように予めシステム化してあるソフト(エディター)。
既存の非電源TCGを劣らずに再現できるならば大概のニーズに応えられる筈。
デュエマ、ヴァンガ、ウィクロス、ポケカ、デジモン、ゼクス、モンコレ、旧ガンダム・ウォー、ライブオン、ディメンション・ゼロ、シャーマン・キング、カードヒーローなど
のシステムを完全再現できるように設計するけど、他に此のTCGの此のシステムは再現希望とか有ったら書け。
マジック:ザ・ギャザリングの全システムを完全に再現するのは無理だから、此れだけは必用だ!って部分のみリクエストしろ。
個vs個、多数乱戦、チームvsチーム、個vsチームを実現し、P2P通信対戦プラグイン有り。

設計思想は 《 RPGツクール 》 が良いかな?  他に、優れたエディター有ったら挙げてみろ。

個人や企業などのベンダーが提示する開発費(見積もり)で折り合えば、発注する。
↓
エディター群から基本コンセプトを絞り込む(もちろんオリジナルで優れた新ネタが有れば導入する)。
↓
遊戯王OCGに関しては、タッグフォース、ADS、デュエルオンラインを発注先ベンダーに研究させる。
バトスピ、ヴァンガ、デュエマなど発売済みゲームソフトが存在してるTCGはベンダーに研究させる。
↓
各社TCGを再現するテストプレイ ⇒ 更に改良や修正 + コード記述の仕様書(設計書)を作成。
↓
機能制限した下位版を制作しても原則として発売せず + 上位版デュエリ−グ用でサーバー稼動。
↑
下位版を仮に発売した場合の改造および商用利用には、別途で当社との契約が必要。

さ〜て、インド人ベンダーと日本人の翻訳担当SEを見つけよっと!ww
http://wc2014.2ch.net/test/read.cgi/entrance2/1451262577/-16
0504デフォルトの名無しさん2016/01/01(金) 10:21:53.98ID:HLOoEhqM
from time import sleep
with open('a.txt', 'r') as f:
 print(f.read())
 f.seek(0)
 sleep(5)
 print(f.read())

sleepしてる間にファイルを削除しても
2回目のprintで内容が表示できるのは何故ですか?
0505デフォルトの名無しさん2016/01/01(金) 10:43:18.84ID:NO+H6ZMg
>>504
オープンされてるファイルの実体はクローズされるまで削除されないOSがあるから
0506デフォルトの名無しさん2016/01/01(金) 10:49:03.83ID:XgpMEu+t
メモリにのってるからじゃなくて?
0507デフォルトの名無しさん2016/01/01(金) 11:58:37.51ID:7cWASnpe
>>504
環境によりますので、的確な回答を欲しければ、
以下の実行結果を貼り付けて下さいな。
$ python3 -c "import sys;print(sys.platform, sys.version)"
linux 3.4.3 (default, Oct 14 2015, 20:28:29)
[GCC 4.8.4]
0508デフォルトの名無しさん2016/01/01(金) 12:04:03.35ID:LUOZYrnw
>>506は無視して良いです
0509デフォルトの名無しさん2016/01/01(金) 15:51:23.54ID:5KWVOGWz
Windowsだとどうなるの?
0510デフォルトの名無しさん2016/01/01(金) 19:45:34.10ID:RO/YvQE1
大抵のosはファイルディスクリプタが存在しているうちは削除されないだろ
0511デフォルトの名無しさん2016/01/02(土) 03:40:37.52ID:onI2UJFj
fは完全にメモリに読み込んでると思ったけど違うのか…
あんまりファイル扱わないからイマイチよくわかってないわ
0512デフォルトの名無しさん2016/01/02(土) 04:14:55.55ID:hjX3lexE
fはHDDのここにファイルがありますよって言ってる目印みたいなもん
0513デフォルトの名無しさん2016/01/02(土) 07:28:33.43ID:B+tUCmqX
誰かが、書き込みで開いているファイルは、
ロックされているから、共有モードでも開けないはず

共有モードで開けるのは、誰かが読み込みのみで、
開いたファイルを、他者が読み込みのみで開けるだけ

誰かが書き込んでいるファイルを、
削除できたというのは、何かの間違いだろう
0514デフォルトの名無しさん2016/01/02(土) 10:52:26.33ID:nyi3fL1v
読み込みの話だから読み込みで試してみたけど
ロックされてなければ削除できて当たり前だしメモリ上に読み込んでるんだからデータを出力できて当たり前

from time import sleep
from os import unlink

filename = 'a.txt'
with open(filename, 'r') as f:
_unlink(filename)
_sleep(1)
_print(f.read())
_f.seek(0)
_print(f.read())
0515デフォルトの名無しさん2016/01/03(日) 18:30:38.58ID:8LluJexJ
def hello():
  # メインスレッドで実行したい関数
  print "hello, world"

def handler():
  # タイマーハンドラー関数
  hello()

# 10秒後に handler() を実行する
threading.Timer(10, handler)


タイマーハンドラー関数によってhello()がサブスレッド上で実行されちゃうのですが
メインスレッド上で実行させるにはどうすればいいでしょう???
0516デフォルトの名無しさん2016/01/03(日) 18:50:27.90ID:NsMythuW
タイマーハンドラではフラグを立てるだけにしておいて
メインスレッドでフラグを逐一チェックして、フラグが立ったら必要な処理をすればいい

Python2ってこんなこともできなくて、不憫
0517デフォルトの名無しさん2016/01/03(日) 18:57:13.00ID:huNGud9V
>>516
やはり、、そうなんでしょうか?
上記のhandler関数から呼び出す方法を期待してたんですが無いんでしょうか?
ちなみにPython3ならあるんでしょうか?
0518デフォルトの名無しさん2016/01/03(日) 19:05:20.57ID:SszT0QKN
>>515
hello()

だけど?
そんな事聞きたいんじゃないでしょ。
handlerを使いたくなった状況を教えてよ。
0519デフォルトの名無しさん2016/01/03(日) 20:25:01.98ID:8LluJexJ
>>518
なるべく簡単に説明すると
あるリストへ不定期にデータを追加していって10個たまったら
HTTPで外部サーバへまとめてPOSTするプログラム(デーモン)を作ってます。

いつ10個たまるかわからないので
リストにappend()して1秒経過したらそれまで止まったデータをPOSTするようにしたいです。
そのトリガーをthreading.Timer()で実現できるだろうと思ってやってます
0520デフォルトの名無しさん2016/01/03(日) 20:39:13.57ID:0ubEJ4Ba
threadingモジュールは、マルチスレッド用

自分自身のスレッドを呼び出すのは、
10秒sleepすればよいだけ

sleepする際、起こす・起こされるスレッドを、常に意識する
0521デフォルトの名無しさん2016/01/03(日) 20:49:06.77ID:0ubEJ4Ba
JavaScriptで、関数の引数として関数を渡す(コールバック)

1秒後にalert
setTimeout(function(){alert(1)}, 1000);

クロージャを使う、書き方かい?
0522デフォルトの名無しさん2016/01/03(日) 21:16:05.90ID:SszT0QKN
>>519
それくらいなら、threadを別に作って、
def run():
 while True:
  req.post(L)
  time.sleep(1)
  if to_end:
   break
でいいんじゃあ?
↑をmainで実行し続けても良いと思うけど。
class 用意しないといけないから、面倒か。
0523デフォルトの名無しさん2016/01/03(日) 22:18:55.76ID:8LluJexJ
def handler(signum, frame):
  # メインスレッド上で hello()関数を実行する
  hello()

import signal
# シグナル SIGALRM を受信したら handler関数を実行する
signal.signal(signal.SIGALRM, handler)
# 10秒後に シグナル SIGALRM を送ってもらうようにタイマーをセットする
signal.setitimer(signal.ITIMER_REAL, 10)

その後いろいろ調べて上記で実現できました!!!
ありがとうございました!!
0524デフォルトの名無しさん2016/01/03(日) 23:08:12.24ID:DYf+OrAb
二次元リストa[2][3]に値があるか調べる方法を教えてください

if len(a) > 2:
__if len(a[0]) > 4:
____print(True)
__else:
____print(False)

はちょっと長いです
0525デフォルトの名無しさん2016/01/03(日) 23:15:53.18ID:IQm7jbVy
try:
 a[2][3]
except IndexError:
 print(False)
else:
 print(True)
0526デフォルトの名無しさん2016/01/03(日) 23:52:42.22ID:SszT0QKN
>>524-525
和んだ
0527デフォルトの名無しさん2016/01/04(月) 00:06:00.61ID:s2Af4VzW
tryは最終手段だと思ってるんですが他に方法はありませんか?
0528デフォルトの名無しさん2016/01/04(月) 00:21:41.72ID:BRyzgrnr
if (len(a) > 2 and len(a[2]) > 3)
じゃシンプルじゃないのか?
0529デフォルトの名無しさん2016/01/04(月) 00:29:08.30ID:RAsXEDVI
a[2][3]に値がある場合がほとんどなら>>525の書き方が意味にあってる
a[2][3]に値がない場合が多いならif文のほうがいい
0530デフォルトの名無しさん2016/01/04(月) 00:40:58.68ID:UrEM8qI9
if len(a[2:3][3:4]):
____print('我ながら馬鹿げている')
0531デフォルトの名無しさん2016/01/04(月) 02:36:33.02ID:lELbBk3M
>>519
queueを使いなさい
0532デフォルトの名無しさん2016/01/04(月) 19:02:15.23ID:uh/Y4MEw
>>515
join
0533デフォルトの名無しさん2016/01/04(月) 19:03:05.25ID:uh/Y4MEw
>>527
PythonはCやJavaとちがってtryを積極的に使っても問題ないとかだれか言ってた
0534デフォルトの名無しさん2016/01/04(月) 19:40:01.45ID:UrEM8qI9
C++やJavaほど例外スロー時のコストがでかくないからね
その辺はStopIterationが許容できていることからも分かる

ただ積極的に使うかどうかは微妙
コードのニュアンスを伝えるのに適切ならいいと思いますけどお
0535デフォルトの名無しさん2016/01/05(火) 06:55:55.91ID:lUvBrLqP
>>311-314
すげー亀レスだけど
LL = [['Japan','apple'],['Korea','orange'],['China',3],['apple',1],[2,'Korea'],['lemon',3],['a','b'],['b','d'],['d','c']]
for i, L1 in enumerate(LL[:-1]):
  for L2 in LL[i+1:]:
    if L2 and any(map(lambda x: x in L2, L1)):
      L1[:] = set(L1) | set(L2)
      L2.clear()
LL[:] = filter(None, LL)
print(
0536デフォルトの名無しさん2016/01/05(火) 19:26:21.19ID:2hXOWLBa
>>534
>>525の書き方だと適切なtryの使い方じゃないように思える。
tryブロックの中にa[2][3]に対する処理が簡潔に収まるならpythonとして分かりやすい書き方になると思う。
a[2][3]が存在した場合になにをしたいかによるね。
例えば、a[x][y]が存在するかどうかを判定したいだけの関数ならifとlenを使い、存在する場合はその要素を存在しない場合はfalseを返す関数ならtryを使うかな。
0537デフォルトの名無しさん2016/01/06(水) 01:36:58.84ID:NeF0se+2
配列の範囲外を取得しようとしたらNoneでも返してくれればコードを簡単に出来るのになと思うことが多々ある
0538デフォルトの名無しさん2016/01/06(水) 02:50:10.36ID:TI60mKwS
思うだけにしとけ
エラーをよしなにしてくれる機能ってのは加減がすごく難しい
一度依存すれば取り除くのも難しい

PHPみたいになってもいいなら止めないけど
0539デフォルトの名無しさん2016/01/06(水) 09:39:31.66ID:NeF0se+2
rubyの動きを望んだだけでこの扱いである

まあ、正論だとは思う
0540デフォルトの名無しさん2016/01/06(水) 17:19:30.30ID:VveQPPx+
rubyの動きがいいならrubyやった方が(ry
0541デフォルトの名無しさん2016/01/06(水) 17:38:37.10ID:3taoJABm
PEP505でNoneとよろしくやる演算子が提案されてるから
将来は>>537も可能になるかもね
0542デフォルトの名無しさん2016/01/06(水) 19:24:54.42ID:wVWJvRpl
数値を期待して0が良いとか文字列を期待して””が良いとかになるのでは。
0543デフォルトの名無しさん2016/01/06(水) 20:00:04.76ID:dKGWEjRg
>>537
例外を返してくれるんだから十分
0544デフォルトの名無しさん2016/01/07(木) 09:13:38.76ID:fy/kQKWz
やっぱり例外をポンポン使うのかきもい
0545デフォルトの名無しさん2016/01/07(木) 09:32:42.26ID:nXbcU6mx
今回の件はlen使うのが適当に決まってんのに
超初心者特有のスマート脳がくどいとか言い出したから
例外が提案されただけで
違う方法があるなら別に無理に使えとは言わんわ
0546デフォルトの名無しさん2016/01/07(木) 12:49:20.99ID:biQK77Bo
多々あるんならクラス作ったらいいんじゃないの
0547デフォルトの名無しさん2016/01/07(木) 13:42:49.81ID:fsy/sVDL
もう関数でいいじゃん
func = lambda a, x, y: a[x][y] if len(a)>x and len(a[x])>y else None
r = func(a, 2, 3)
0548デフォルトの名無しさん2016/01/07(木) 15:03:47.76ID:XOpkkkUz
間違いがあっても適当に動いてるふりして動き続けるプログラムより
即座に例外で落ちた方が親切
という思想で作られてるのがPython
逆を行くのがRubyPerlPHP
0549デフォルトの名無しさん2016/01/07(木) 15:34:48.40ID:iIS3+qD+
>>548
例外はPython以外に無いと思ってるんですね。
馬鹿じゃないかな?
0550デフォルトの名無しさん2016/01/07(木) 15:51:36.76ID:8k4BpzA1
もう全部try〜exceptの中にまるごとつめこめよ
0551デフォルトの名無しさん2016/01/07(木) 16:38:21.50ID:Pe5rEwkw
そうやって全部の例外を握りつぶす馬鹿がいたなー
0552デフォルトの名無しさん2016/01/07(木) 21:26:59.97ID:AvUDPpyf
例外を握り潰すって言われるとC#スレ思い出す
0553デフォルトの名無しさん2016/01/08(金) 00:14:57.20ID:D7YeVJJQ
僕のpythonは握りつぶさないように握ってください
0554デフォルトの名無しさん2016/01/08(金) 07:11:47.37ID:tMsYh0sD
ミミズしかついてないようだけど
0555デフォルトの名無しさん2016/01/08(金) 12:48:09.88ID:ktsgJ36p
>>537
None を含む配列だと区別がつかない
0556デフォルトの名無しさん2016/01/08(金) 15:27:29.18ID:d4D/ytLy
pip freezeでバージョンを除外する方法ない?
もしくはバージョンを無視してパッケージのパップデートする方法ない?
0557デフォルトの名無しさん2016/01/08(金) 16:50:25.40ID:jr1ZoA4A
perlでおk
$ pip freeze | perl -pe 's/==.+$//' >requirement.txt
$ pip install -r requirement.txt
0558デフォルトの名無しさん2016/01/08(金) 17:25:40.54ID:XzhB5cZ+
3.5でvenvで作った環境で
pip freezeとpip freeze --localの結果が同じなんですけど
どうしてですか?
0559デフォルトの名無しさん2016/01/08(金) 17:42:37.85ID:jr1ZoA4A
pip freeze --helpに書いてあるけど
仮想環境が元のsite-packagesを使わない設定なら意味のないオプションだよ
0560デフォルトの名無しさん2016/01/09(土) 09:46:42.41ID:zDhu/QRe
そうだったんですかわかりました
0561デフォルトの名無しさん2016/01/09(土) 10:00:49.91ID:08dLLemp
くだすれって何の略語なんですか?
0562デフォルトの名無しさん2016/01/09(土) 10:46:49.42ID:LeynPzUs
>>561
くだをまく + (掲示板の)スレッド

くだをまく
【意味】 主に酒に酔った時、とりとめのないことや不平不満など、訳のわからないことをぐずぐず言うこと。
0563デフォルトの名無しさん2016/01/09(土) 10:55:17.17ID:J5rs+efG
くだらない質問はここでスレの略
0564デフォルトの名無しさん2016/01/09(土) 12:54:56.87ID:yPE83akt
消化不良で腸をくだすスレ
0565デフォルトの名無しさん2016/01/09(土) 13:51:35.49ID:yWzUkF20
管スレ
回答者がバカ揃いで、質問を他スレにパイプするだけのスレ
0566デフォルトの名無しさん2016/01/09(土) 13:54:16.72ID:yPE83akt
ブッセツ般若波羅蜜多心経ハンニャハラミッタシンギョウ

観自在菩薩カンジザイボサツ 深般若波羅蜜多ジンハンニャハラミッタヲ行ギョウゼシ時トキ、五蘊ゴウン皆ミナ空クウト照見ショウケンシ、一切イッサイノ苦厄クヤクヲ度ドス。

舎利子シャリシ
色シキハ空クウニ異コトナラズ、空クウハ色シキニ異コトナラズ。色シキハ即スナワチ是コレ空クウ、空クウハ即スナワチ是コレ色シキ。
受ジュ、想、行ギョウ、識シキ 亦復モマタ 是カクノ如ゴトシ。

舎利子シャリシ
是コレ諸法ショホウハ空相クウソウニシテ、生ショウゼズ滅メッセズ、垢クナラズ浄ジョウナラズ、増ゾウゼス減ゲンゼズ。
是カク故ユエ、空クウノ中ナカ 色シキ 無ナク、受ジュ、想ソウ、行ギョウ、識シキ無ナシ。
眼ゲン、耳ニ、鼻ビ、舌ゼツ、身シン、意イ 無ナク、色シキ、声ショウ、香コウ、味ミ、触ソク、法ホウ 無ナシ。
眼界ゲンカイ無ナク、乃至ナイシ 意識界イシキカイ無ナシ。無明ムミョウ無ナク、亦マタ 無明ムミョウ尽ツクルコト無ナシ。
乃至ナイシ 老死ロウシ無ナク、亦マタ老死ノ尽ツクルコト無ナシ。
苦ク、集シュウ、滅メツ、道ドウ 無ナク、智チ無ナク亦マタ得トク無ナシ。所得ショトク無ナキヲ以モッテ故ユエ。

菩提薩埵ボダイサッタ、般若波羅蜜多ハンニャハラミッタニ依ヨル故ユエ、心シン 罣礙ケイゲ無ナク、罣礙ケイゲ無ナキ故ユエ、恐怖クフ有アルコト無ナシ。
一切イッサイノ顚倒夢想テンドウムソウヲ遠離オンリシ、涅槃ネハンヲ究竟クギョウス。
三世諸仏サンゼショブツ、般若波羅蜜多ニ依ル故、阿耨多羅三藐三菩提アノクタラサンミャクサンボダイヲ得ウ。

故ユエニ般若波羅蜜多ハンニャハラミッタヲ知シルハ、是コレ大ダイナル神呪シンシュ、是コレ大ダイナル明呪ミョウシュ、是コレ無上ムジョウノ呪シュ、是コレ等等トウドウ無ナキ呪シュ。
一切イッサイノ苦クヲ除ジョス能アタフ。真実シンジツニシテ虚コナラズ。

故ユエニ般若波羅蜜多ハンニャハラミッタノ呪シュヲ説トク。即スナワチ説トキ呪シュシ曰モウセ。

羯諦羯諦ギャアテイギャアテイ、波羅羯諦ハラギャアテイ 波羅僧羯諦ハラソウギャアテイ、菩提薩婆訶ボジソワカ。

般若心経ハンニャシンギョウ。
0567デフォルトの名無しさん2016/01/09(土) 17:53:06.81ID:08dLLemp
>>562-566
参考になりました
0568デフォルトの名無しさん2016/01/09(土) 17:56:01.06ID:J5rs+efG
何の参考だよ
0569デフォルトの名無しさん2016/01/09(土) 18:44:17.53ID:64Xja/9H
愛、かな?
0570デフォルトの名無しさん2016/01/10(日) 01:20:23.86ID:od6ty6Pk
3DCGツールのスクリプトってpythonがほぼデファクトになったけど何でなんだろ?
0571デフォルトの名無しさん2016/01/10(日) 02:17:39.69ID:xDkMqJGn
たまたま誰かがPythonで作ったツールがヒットする。
関連ツールもPythonで作る。
そんな感じで広まっただけだろう。
要するに運
0572デフォルトの名無しさん2016/01/10(日) 08:17:08.39ID:9qHiB+7b
if A != B:
と
if not A == B:
とで、違う結果になることはあるんでしょうか。
0573デフォルトの名無しさん2016/01/10(日) 08:49:02.91ID:ZKC3xxW5
>>570
スクリプト系ツールには動的言語が向いてるが、Lisp、Lua、Rubyじゃない理由は、
・構文解析器(perser)を組み込む学習曲線が緩やか
・Lua程のコアな部分が不要な用途
・セマンティックが、rubyやLisp程には変態的でない
くらいかな。
0574デフォルトの名無しさん2016/01/10(日) 09:07:46.81ID:9p4M1fSY
論理学を勉強してきて下さい
0575デフォルトの名無しさん2016/01/10(日) 10:41:34.79ID:/w2PZf9l
>>572
下の短いコードで違う結果を実現できるが、これはコード芸だよ

class C:
 def __eq__(self, other):
  return True
 __ne__ = __eq__

a, b = C(), C()
print(a != b)
print(not a == b)
0576デフォルトの名無しさん2016/01/10(日) 10:46:35.51ID:M+Q5eZ0Q
意味の無い糞コード
死んだ方が良い
0577デフォルトの名無しさん2016/01/10(日) 13:19:32.16ID:0EilkSw/
>>572

(not True) != (False)→(False) != (False)
0578デフォルトの名無しさん2016/01/10(日) 14:06:45.79ID:vJDOt1zg
>>577
if not A == B:
↓
if not (A == B):
0579デフォルトの名無しさん2016/01/10(日) 20:46:12.87ID:9UdVdZDD
centOSにて、

cd
git clone git://github.com/yyuu/pyenv.git ./.pyenv
git clone git://github.com/yyuu/pyenv-virtualenv.git ./.pyenv/plugins/pyenv-virtualenv
cat << 'EOF' >> ~/.bashrc
export PYENV_ROOT=
0580デフォルトの名無しさん2016/01/10(日) 20:50:52.77ID:9UdVdZDD
centOSにて、

cd
git clone git://github.com/yyuu/pyenv.git ./.pyenv
git clone git://github.com/yyuu/pyenv-virtualenv.git ./.pyenv/plugins/pyenv-virtualenv
cat << 'EOF' >> ~/.bashrc
export PYENV_ROOT='$HOME/.pyenv'
export PATH='$PYENV_ROOT/bin:$PATH'
eval '$(pyenv init -)'
EOF
exec $SHELL -l
pyenv install 3.5.1
pyenv rehash
pyenv local 3.5.1
pip install nltk

でnltkをインストールしたんだけど、このnltkはどこに入るの?
/usr/lib/
/usr/lib64/
などのsite-packagesには無かったし、
.pyenv/内を調べてみたけど見当たらなかったんだけど
0581デフォルトの名無しさん2016/01/10(日) 21:04:06.83ID:9UdVdZDD
virtualenvって、例えばOSではpython2.7が使われている場合に、
kudasureという環境を作成したら、その中に入ってpython3.5.0を入れて
pip numpy django
などしてもその中だけで適用されるのであって、
そこから出たら上記のライブラリをインストールしていないOSのpythonではimport numpyもできないって理解でOKだよね?

で、pyenvの場合はその環境が、一般ユーザのみかスーパーユーザも含んだ全体かという大きな環境になるということだよね?

ただし、eclipseなどを使う場合はkudasure環境内に入ったり出来るん?
0582デフォルトの名無しさん2016/01/10(日) 21:06:42.63ID:/w2PZf9l
>>580
まずは確認して
pip --version
pip show nltk

ここを読んで
https://github.com/yyuu/pyenv#understanding-shims
0583デフォルトの名無しさん2016/01/10(日) 21:10:16.44ID:9UdVdZDD
>>582
ありがとう
0584デフォルトの名無しさん2016/01/11(月) 00:48:34.60ID:lk6kp4jq
Pythonではエディターは何がおすすめですか
0585デフォルトの名無しさん2016/01/11(月) 01:03:08.11ID:RUBsLBHi
vimでも使ってろ
0586デフォルトの名無しさん2016/01/11(月) 01:14:40.74ID:JvrlUDJ8
vimmerだけどvimは止めとけよ
麻薬並みの依存性を発揮するぞ
0587デフォルトの名無しさん2016/01/11(月) 02:24:00.79ID:Og8oowGL
vim「でも」っていうのが逆にVim愛を感じさせるな
0588デフォルトの名無しさん2016/01/11(月) 02:54:58.52ID:87Jnvcw4
MacのvimはPython 使いを初見殺しに来てる
0589デフォルトの名無しさん2016/01/11(月) 16:24:46.44ID:OrBlfQfJ
raspberry piのハードウェアクロックの、秒の変化に合わせて
LEDを点滅させるプログラムを作りたいんだけど、どういう風にしたらいいだろう?
誰か教えてくださいm(__)m
0590デフォルトの名無しさん2016/01/11(月) 16:32:59.86ID:Es1wAVRN
ここじゃなんだ。こっちで話そう

AVRマイコン総合スレ Part36©2ch.net
http://wc2014.2ch.net/test/read.cgi/denki/1445006186/
0591デフォルトの名無しさん2016/01/11(月) 16:43:57.88ID:I0GTrlSH
>>589
こっちじゃない?
http://wc2014.2ch.net/test/read.cgi/denki/1444528866/
0592デフォルトの名無しさん2016/01/11(月) 16:50:53.56ID:OrBlfQfJ
確かにそうですね、失礼しましたm(__)m
そちらで相談してみます。ありがとうございます。
0593デフォルトの名無しさん2016/01/11(月) 16:53:38.41ID:KkwWauMD
どういたしまして!
0594デフォルトの名無しさん2016/01/11(月) 17:46:16.47ID:RUBsLBHi
いいってことよ
0595デフォルトの名無しさん2016/01/11(月) 18:00:12.18ID:KkwWauMD
誰だオメェ?
0596デフォルトの名無しさん2016/01/11(月) 19:34:05.84ID:kuMkdup/
最近Python使ってる連中の質も堕ちたな
0597デフォルトの名無しさん2016/01/11(月) 19:44:04.26ID:wq6N3Kc5
>>572
違う結果になるようには作れるが、使う人を驚かせないように、同じ結果になるように作るのが良い設計
0598デフォルトの名無しさん2016/01/11(月) 23:01:30.32ID:TM633Ot/
iPadで勉強したいのですが定番のpython環境を整えるアプリってありますか?
0599デフォルトの名無しさん2016/01/11(月) 23:35:38.92ID:D1R/kCSG
どれもバージョン古くて使い物にならんですよ
だいたいもって何でおもちゃで勉強するんです
awsでも借りてssh経由で使えばいいでしょ
0600デフォルトの名無しさん2016/01/12(火) 01:35:07.93ID:iDDwmGx/
>>580-582
cat << 'EOF' >> ~/.bashrc
export PYENV_ROOT='$HOME/.pyenv'
export PATH='$PYENV_ROOT/bin:$PATH'
eval '$(pyenv init -)'
EOF

EOF〜EOFの間を、~/.bashrc に追記しているので、
端末起動時に、.bashrc を読み込むと、

環境変数PATHの先頭に、$PYENV_ROOT/bin つまり、
$HOME/.pyenv/bin を追加しているので、そのパスが最優先となる
(パスは左側にあるものから順に探索され、
最初に見つかったものが選択されるため)

だから、たぶんライブラリ・実行ファイルは、そこにある
0601デフォルトの名無しさん2016/01/12(火) 10:18:27.08ID:30mSzzld
プログラムをタブレットで書くのはおれには無理だ
そういえばiosにvimなかったっけ?
0602デフォルトの名無しさん2016/01/12(火) 13:25:47.18ID:AY8JeVot
目的のために快適な道具を選ぶ。

ではなくて、最初に道具を選んで
どうやってそれで実現するか。

が目的になってるなw
0603デフォルトの名無しさん2016/01/12(火) 15:52:14.79ID:b3DyM2yT
numpyについて質問させて
$ arr = np.arange(16).reshape((2,2,4))
array([[[ 0, 1, 2, 3],
[ 4, 5, 6, 7]],

[[ 8, 9, 10, 11],
[12, 13, 14, 15]]])

$ arr.transpose((1,0,2))
array([[[ 0, 1, 2, 3],
[ 8, 9, 10, 11]],

[[ 4, 5, 6, 7],
[12, 13, 14, 15]]])

の、最後のtranspose((1,0,2))の挙動が分からないんだけど
これどういう事?

試しに以下もやってみたけど、何が起こっているのか良く分からない
$ arr.transpose((1, 2, 0))
array([[[ 0, 8],
[ 1, 9],
[ 2, 10],
[ 3, 11]],

[[ 4, 12],
[ 5, 13],
[ 6, 14],
[ 7, 15]]])
0604デフォルトの名無しさん2016/01/12(火) 15:53:37.88ID:b3DyM2yT
ごめん、一文入れ忘れた

import numpy as np
0605デフォルトの名無しさん2016/01/12(火) 19:32:28.16ID:bUXnYydb
>>603
行と列の入れ替えの拡張版。

arr2 = arr.transpose((1,0,2))
で、
arr2[d1,d0,d2] = arr[d0,d1,d2]
を満たす配列が作られる。
0606デフォルトの名無しさん2016/01/12(火) 20:55:40.41ID:b3DyM2yT
>>605
回答ありがとう

ごめん、自分良くわかってないんだけど、
arr2[d1,d0,d2] = arr[d0,d1,d2] は代入式?
それと、arr2[d0,d1,d2] = arr[d1,d0,d2]ではなくて?

良く分からないまま書かせてもらうけど、
まず 2番めのリスト内で変換が起こって
[[ 0, 1, 2, 3],[ 4, 5, 6, 7]],
[[ 8, 9, 10, 11],[12, 13, 14, 15]]
が
[[ 0, 1, 2, 3],[ 8, 9, 10, 11]],
[[ 4, 5, 6, 7],[12, 13, 14, 15]]
に転置される
次に、引数が0なので元と同じ配列を返す
でも、最後の引数2はどういう事なのか分かんない
なんで[0,8],[1,9]なんかにならないのかなと
0607デフォルトの名無しさん2016/01/12(火) 22:02:21.90ID:mWktqxrC
>>606

transpose((1,0,2))
は、(0,1,2)を(1,0,2)に並び替えたものですよね。つまり、一番目と二番目が入れ替わっている。
配列の添え字部分が[x,y,z] から[y,x,z]に変わったというように、理解してます。

言葉で説明するのは下手なので、コードをideoneに書きました。
http://ideone.com/TQCPUV
を参照して下さい。
0608デフォルトの名無しさん2016/01/12(火) 22:09:37.92ID:b3DyM2yT
>>607
本当にありがとう
いやぁ分かりやすくて非常に助かりました
0609デフォルトの名無しさん2016/01/12(火) 22:17:15.26ID:mWktqxrC
>>608
お役に立てて良かったです。
ideone で numpy が使えるというのは、自分も初めて知ったので、こちらにも収穫ありました。
0610デフォルトの名無しさん2016/01/12(火) 23:47:15.63ID:ytAO/WYJ
>>609
わざわざ長いコードまで書いてもらって感謝感謝でした
ありがとうございました
0611デフォルトの名無しさん2016/01/13(水) 00:50:27.25ID:ztah/r4g
長いコード=無能
パイソン=無能
0612デフォルトの名無しさん2016/01/13(水) 01:04:45.31ID:eFXIyiLy
長いコードが無能な理由は読みにくいから
0613デフォルトの名無しさん2016/01/13(水) 09:44:17.72ID:Che0az4u
じゃあ変数名も短くしないとな!
0614デフォルトの名無しさん2016/01/13(水) 13:15:50.46ID:qNWZl5AU
>>611
コードも書けないお前は不能
0615デフォルトの名無しさん2016/01/13(水) 14:02:40.65ID:HEyl8rAG
sequence 順番を扱うコンテナでは、添字に範囲を指定できる

リストオブジェクト[start:end:step」で、
部分要素を取得できる(スライス)

ただし、endは含まず、endの直前までを取得する


また、transpose 行と列の交換も、色々な言語にも出てくる
0616デフォルトの名無しさん2016/01/14(木) 01:10:45.84ID:GSyN5duB
リストのスライスでステップが指定できるの最近知った
0617デフォルトの名無しさん2016/01/15(金) 18:53:14.48ID:8OEoHk/0
入門 Python3 をパラパラっと立ち読みしてきました。

何で「詳しくはwebで」みたいな感じにURLを掲載してそのサイトに詳細の解説を任せるのでしょうか?

該当ページは英語なので日本語の書籍を買う意義が薄れると思うのですが…。
0618デフォルトの名無しさん2016/01/15(金) 19:04:08.00ID:VZsxaTfD
Pythonの言語自体を学ぶのに書籍入りません
Twitterで特定のタイトルの本を褒めているのは宣伝です
知名度あるとそういう宣伝の依頼が来るんですよ
なので買ってはいけません
買っていいのは機械学習とかdjangoなどのネタを専門的に絞っている本だけです
0619デフォルトの名無しさん2016/01/15(金) 19:25:09.69ID:VTFDuMne
どんな言語でも学ぶのに書籍はいりません。
公式サイト(英語)やドキュメント(英語)を読めばいいだけです。
書籍は単に理解を早くするだけです。
0620デフォルトの名無しさん2016/01/15(金) 19:50:57.53ID:QZv9+d81
再帰を中断させて値を返す方法ありませんか?
0621デフォルトの名無しさん2016/01/15(金) 22:11:13.67ID:b7w51REv
>>618
問題集的なものほしいんだけど、おすすめある?
0622デフォルトの名無しさん2016/01/15(金) 22:15:30.44ID:zfwxlTG8
>>621
問題集に良本はありません
そのような分野はオンラインが一番いいのです
AOJ
TopCoder
AtCoder
他にもいろいろ
0623デフォルトの名無しさん2016/01/15(金) 22:16:50.61ID:b7w51REv
>>622
了解いたしましたm(__)m
0624デフォルトの名無しさん2016/01/15(金) 22:32:23.05ID:CFVHuwex
>>617
あなたのその書き方だと、まるでその本が「詳しくはwebで」ばかりの手抜き本のように読めるが、手元にあるその本を確認したところ、
URLを掲げて詳細の説明について読者をそちらに誘導している箇所はほんの数える程度しかなく、かつそのほとんどはPythonの機能そのものについての説明ではない。
著者がこれに関してはこれ以上の詳しい説明は必要ない、あるいは本の趣旨や構成から考えてこれ以上紙幅を費やすことは適当ではないと判断した場合、
それについて詳しい情報が得られる外部の文献やサイト等へのポインタを示すことは、奨励されこそすれ、全く非難されるべきことではない。
それにその本は元々英語圏の読者のために英語で書かれたものを翻訳したものであって、原著者が掲げたリンク先が英語であることをもって非難するのは、単なる言いがかりに等しい。
問題があるとしたらPythonの公式ドキュメントへのリンクが英語版へのリンクであることで、これは編集者の責任だ。
Pythonの公式ドキュメントの日本語訳にはいろいろ問題があるが、それでも日本語訳があるものは日本語訳へのリンクに変更すべきだったろう。
0625デフォルトの名無しさん2016/01/15(金) 23:01:26.98ID:ZDBS4jtw
英語読めないとプログラムやっていく上で不便だと最近思うわ
0626デフォルトの名無しさん2016/01/15(金) 23:16:19.27ID:F3nwidmr
>>620
フィボナッチ数列を再帰で求めるのも、再帰を途中で打ち切って、値を返しているよね。
再帰関数に渡した引数を使って、終了条件を満たしたかチェックして、満たしていれば、値を返し、
満たしていなければ、次の再帰関数に入れる引数の値を計算して、
return f(new_params)とすればいいのでは?

もうちょっと具体的に、どんな事したいのかを説明した方が、質問への回答がつきやすいと思うよ。
0627デフォルトの名無しさん2016/01/16(土) 10:57:36.12ID:D/I2t3mZ
matplotlibで図を表示させるにはどうすればいいの?
Linuxで、例えばここ(http://matplotlib.org/users/pyplot_tutorial.html)のようにしても、
[<matplotlib.lines.Line2D at 0x7faaad8eccf8>]
とかみたいなのが出るだけで、
plt.show()
とかしても画像が出ないんだけど
0628デフォルトの名無しさん2016/01/16(土) 11:53:31.51ID:D/I2t3mZ
ごめん、今ここ(http://python.dogrow.net/?p=186)を参照にしてるんだけど、
import tkinterをしたら
ImportError: No module named '_tkinter'
が出てくる

自分はLinuxにpyenvからpython3.5.1を入れて使ってるんだけど、tk,tk-devel,tkinterをPython3.5.1の後に
yumから入れたのがダメだったのかな?
0629デフォルトの名無しさん2016/01/16(土) 11:55:43.46ID:D/I2t3mZ
それともPyenvで入れたため、何かパスを指定しないといけないとか?
0630デフォルトの名無しさん2016/01/16(土) 14:05:00.58ID:D/I2t3mZ
う〜ん、pyenvでpythonリインストールしたらimport tkinterはいけるようになったけれど、
ImportError: cannot import name '_tkagg'が解決できない...
0631デフォルトの名無しさん2016/01/16(土) 15:39:26.21ID:CPZavs1f
>>617
いまどき本買うアホは情弱の極み
0632デフォルトの名無しさん2016/01/16(土) 18:22:21.28ID:JUmhxXDt
マイクロソフトの糞ドキュメントを理解できる情強が羨ましい。
0633デフォルトの名無しさん2016/01/16(土) 19:31:55.56ID:vEGzHckI
>>627-630
python --versionでバージョンを確認しろ
あとtk関連のパッケージ入れる前にPythonを入れたらダメに決まってんだろ?再度Pythonを入れなおせ
0634デフォルトの名無しさん2016/01/16(土) 19:36:56.91ID:vEGzHckI
>>630
エラーが出たらここで聞く前にぐぐれよ
0635デフォルトの名無しさん2016/01/16(土) 19:52:53.95ID:CPZavs1f
>>624
>問題があるとしたらPythonの公式ドキュメントへのリンクが英語版へのリンクであることで、これは編集者の責任だ。
>Pythonの公式ドキュメントの日本語訳にはいろいろ問題があるが、それでも日本語訳があるものは日本語訳へのリンクに変更すべきだったろう。


「日本語訳にはいろいろ問題がある」には同意なので
「日本語訳への変更」するべきではなく追加(または英語版へのリンクのみ)で良いと思います
0636デフォルトの名無しさん2016/01/16(土) 20:04:57.15ID:D/I2t3mZ
>>633
それでも未だにImportError: cannot import name '_tkagg'が解決できないんだけど
plt.show()が表示されない
0637デフォルトの名無しさん2016/01/16(土) 20:14:21.37ID:CPZavs1f
参考にしてるサンプルソースのサイトと違うバージョンのが入ってる
あるいは複数のバージョンが入ってて全く違うものを呼ぼうとしてる
に1票
0638デフォルトの名無しさん2016/01/16(土) 20:22:36.48ID:Etvz9K/V
どう思う?これから2ちゃんでやっていけると思う?
んんどうかなぁでもとりあえずは
一緒にいたいと思ってるけど
そうだねだけどさ最後は君が捨て台詞吐くと思うな
んんどうかなぁでもとりあえずは
一緒にいてみようよ
喧嘩しても言わないでよね
知らなければ悲しくはならないでしょ
信用ないなぁ僕は僕なりに
真っ直ぐに君と向かい合いたいと思ってるよ
僕は何回だって何十回だって
君と抱き合って手を繋いでキスをして
想い出す度にニヤけてしまうような思い出を君と作るのさ
そりゃケンカもするだろうけど
それなら何回だって何十回だって
謝らないし感謝の言葉もきっとくれないから
しねしね舌かんでしねくらいの
バランスになる危険は少し高めだけど
長くなるだけだからまとめるよ
きみがばかだ
0639デフォルトの名無しさん2016/01/16(土) 20:26:26.49ID:w507ceUH
3.3や3.4辺りで本当に動くか試してから3.5.1
0640デフォルトの名無しさん2016/01/16(土) 23:13:25.70ID:3gTmiUss
_tkagg pythonでぐぐるだけでもいろいろ見つかるけど
0641デフォルトの名無しさん2016/01/18(月) 09:22:58.43ID:7LUulH8k
>>632
おれもmsdnの内容読めないw
あれわかりにくいよな
0642デフォルトの名無しさん2016/01/18(月) 11:27:38.35ID:0qfgTRXz
あれを読めない奴ってJavaのも読めないでしょ
0643デフォルトの名無しさん2016/01/18(月) 12:10:09.70ID:vfhYYxU5
俺はpythonのドキュメントみたいに一覧性が低い方が嫌いだ
リファレンスにハウツーを混ぜすぎ
PHPほど酷くはねえけど
0644デフォルトの名無しさん2016/01/18(月) 19:08:21.13ID:WCM0aRCD
Pythonのウェブフレームワークの勉強をしているのですが、
例えばtornadoをホスティングのVPSでウェサーバーとして使いたいときは、
サンプルプログラムにあるようなtornadoを実行するPythonスクリプトを書いて、それを
$ python run_tornado.py &
のようにバックグラウンドで実行させて、そしてVPSからログアウトしたらいいのですか?
またVPSの再起動時は、この同じスクリプトが実行されるようにしておけばいいのですか?
対話的にではなく、デーモンのように常時起動させておく方法が、チュートリアルを読んでもよくわかりません。
0645デフォルトの名無しさん2016/01/18(月) 19:23:03.65ID:vfhYYxU5
supervisord使え
0646デフォルトの名無しさん2016/01/18(月) 20:37:09.56ID:WCM0aRCD
>>645
ありがとうございます。
supervisordで検索したら、これまで知りたいけど見つからないと思っていた情報が、すぐに見つかりました。
まだざっと読んだだけで理解できてませんが、これから他のドキュメント等も合わせてちゃんと勉強したいと思います。
0647デフォルトの名無しさん2016/01/18(月) 21:25:52.92ID:vfhYYxU5
そりゃようござんした
0648デフォルトの名無しさん2016/01/19(火) 00:42:13.53ID:U/Hrkzd3
どういたしまして
0649デフォルトの名無しさん2016/01/19(火) 08:49:35.65ID:oLNFOVGv
質問させていただきます。
pythonで次のようなプログラムを書きたいと考えています。
引数に0〜9の整数が100個入ったリストを受け取る。
返り値に、(100*10)の2次元配列を返す。
返り値の配列の中身は、引数にもらった整数に対応する要素が1となり、それ以外が0となる。

入力[3, 5, ...]
出力[[0,0,0,1,0,0,0,0,0,0], [0,0,0,0,0,1,0,0,0,0], ...]

といったようなものです。
for文でゴリゴリ書くよりも良い方法があれば教えていただけますでしょうか。
0650デフォルトの名無しさん2016/01/19(火) 10:58:45.07ID:ULEIPXBp
1.1/4のような文字列を1.25のように数値に変換するにはどうすればいいですか?
0651デフォルトの名無しさん2016/01/19(火) 11:09:07.08ID:BvE43bFE
>>649
L = [3,5,0,1,2,4,6,7,8,9]
LL = [[(1 if i==x else 0) for i in range(10)] for x in L]
print(LL)
0652デフォルトの名無しさん2016/01/19(火) 11:09:55.28ID:BvE43bFE
>>650
x = eval('1.1/4')
print(x)
0653デフォルトの名無しさん2016/01/19(火) 12:06:03.85ID:CsXZE4Z+
iPythonで、色々打ち込んできたのを途中で止めたい時、保存できる機能ってないのかな?
ターミナル切れない
0654デフォルトの名無しさん2016/01/19(火) 12:23:19.27ID:dDfNwh4T
>>652
それだと、0.275になるのでは

>>650
a='1.1/4'
str_int, str_frac = a.split('.')
numerator, denominator = map(int, str_frac.split('/'))
x = int(str_int) + numerator/denominator
0655デフォルトの名無しさん2016/01/19(火) 12:27:10.39ID:OR89TOQ5
>>653
ない
iPython Notebookでも使え

>>650
よくそんな奇怪な式を扱おうと思ったな
0656デフォルトの名無しさん2016/01/19(火) 13:20:33.26ID:aL3Jc3J2
>>653
%logstart?
を実行してみたら有用な情報が見つかるかも
0657デフォルトの名無しさん2016/01/19(火) 14:00:53.52ID:CsXZE4Z+
>>656
readline.write_history_file()と2つで何とかいけそう
教えてくれてありがと
0658デフォルトの名無しさん2016/01/19(火) 15:50:29.52ID:t3sz2MYm
日付の文字列を変換したいのですが曜日が後ろに入っているためうまく変換できません。

s = '2016年1月19日'
datetime.datetime.strptime(s, '%Y年%m月%d日')

これだと変換できるのですが

s = '2016年1月19日 火曜日'
datetime.datetime.strptime(s, '%Y年%m月%d日')

日付のあとに曜日がつくとできません。
どうやれば変換できるのでしょうか
0659デフォルトの名無しさん2016/01/19(火) 15:59:17.16ID:py3nDmvs
datetime.datetime.strptime(s[:10], '%Y年%m月%d日')
ためしてないけど
0660デフォルトの名無しさん2016/01/19(火) 16:31:16.58ID:nRG/OH79
>>658
日付と曜日を分離しては?

s.split(" ")
0661デフォルトの名無しさん2016/01/19(火) 16:36:43.07ID:BvE43bFE
スペース以降を削除でいいんじゃないの
s = s.partition(' ')[0]
0662デフォルトの名無しさん2016/01/19(火) 16:58:57.22ID:t3sz2MYm
>>659-661
みなさんありがとうございます。
分離する方法でできました。

>>659
その方法だと桁数が変わるとだめでした。
0663デフォルトの名無しさん2016/01/19(火) 17:32:34.81ID:py3nDmvs
>>662
datetime.datetime.strptime(s, '%Y年%m月%d日 %a')
または
datetime.datetime.strptime(s, '%Y年%m月%d日 %A')
だとどうですか?
0664デフォルトの名無しさん2016/01/19(火) 21:21:03.41ID:N1YYkuEv
クラスごとに専用配列クラスを作って運用するのってありだろうか
0665デフォルトの名無しさん2016/01/20(水) 09:42:03.25ID:+eVKQrJj
アリというか、特に珍しくない
例としてはCookieに対するCookieJarとか
06666582016/01/20(水) 16:31:56.65ID:0FjkmJDO
>>663
ローカルでjaに設定しましたができません
なにか方法があるのでしょうか
0667デフォルトの名無しさん2016/01/20(水) 17:10:03.90ID:nxnRaH5x
>>666
正規表現で抜き出してdatetimeにぶち込むのが手っ取り早い

s = '2016年1月20日 水曜日'
m = re.search(r'(\d{4})年(\d{,2})月(\d{,2})日', s)
date = datetime.datetime(*(int(x) for x in m.groups()))
0668デフォルトの名無しさん2016/01/20(水) 17:17:12.17ID:nxnRaH5x
「2016年月日」みたいなのにも一致するから2行目を訂正
m = re.search(r'(\d{4})年(\d\d?)月(\d\d?)日', s)
0669デフォルトの名無しさん2016/01/20(水) 22:43:07.30ID:lTFMmRx+
python初心者です。
coniferという遺伝子関連のスクリプトを使用したいがために、pythonを始めました。
使用機種はmac book proです。
pytableをpipでインストールをしてスクリプトを通そうとするとno module named tablesとでて、potableが実行されません。pip freezeで確認してもインストールされているのですが。
pathの必要があるのでしょうか?
0670デフォルトの名無しさん2016/01/20(水) 22:59:36.97ID:ZwcIHB+6
こういうトラブルを分析するツールを作れないもんだろうか?
ちょっと検討に値するかも
0671デフォルトの名無しさん2016/01/20(水) 23:05:06.95ID:ysYS4cNh
tablesもpipで入れないとダメとか?
0672デフォルトの名無しさん2016/01/20(水) 23:09:07.08ID:6JP/Gn5W
>>665
例まで挙げてくれてほんとありがとう
0673デフォルトの名無しさん2016/01/20(水) 23:16:19.99ID:lTFMmRx+
pytablesのサイトで確認して、
pytablesのインストール方法
pip install tablesで入れました。installに関しては特にトラブルありません。
なのでpytables=tablesと思っていましたが違うのでしょうか?
0674デフォルトの名無しさん2016/01/20(水) 23:19:31.60ID:nxnRaH5x
pytablesとpytableは別物のようだ
PyTables is a package for managing hierarchical datasets and designed to efficiently and easily cope with extremely large amounts of data.
PyTable is a relational database wrapper based on BasicProperty's rich property-based modeling system.
0675デフォルトの名無しさん2016/01/20(水) 23:22:52.12ID:nxnRaH5x
PYPIではPyTablesはtablesと名乗っている、紛らわしいな
0676デフォルトの名無しさん2016/01/20(水) 23:25:27.04ID:ysYS4cNh
no moduleって出たら該当モジュールをとりあえず入れておけばw
0677デフォルトの名無しさん2016/01/20(水) 23:25:30.64ID:lTFMmRx+
pytablesとpytableというのがあることを知りませんでした。お恥ずかしい。
そして質問も二つが混合しており、分かりにくいことになっていました。
質問はすべてpytablesです。
0678デフォルトの名無しさん2016/01/20(水) 23:26:44.26ID:ZwcIHB+6
こういうケースは初めて見たわw
0679デフォルトの名無しさん2016/01/21(木) 08:18:11.93ID:kfKu3ibW
>>669
環境にふたつ以上のPythonのバージョン、たとえば
OS XにプリインストールのPythonと、自分で入れたEnthought CanopyのPythonが共存しているときに、
pipで使われたPythonのバージョンと、importの際に使われたPythonのバージョンが違うと、
そのようになる可能性があります。
また、仮想環境を導入している場合、
pipを実行した環境と、importを実行した環境が違うと、そのようになる可能性があります。
まずモジュールがインストールされていることをファイルシステム上で物理的に確認した上で、
importする直前にimport sys;print(sys.path)を実行して、
モジュールが置かれているディレクトリがsys.pathに含まれているかどうか確認するのがよいと思います。
0680デフォルトの名無しさん2016/01/21(木) 08:33:30.76ID:kfKu3ibW
>>669
importする直前に〜を実行して、と書いたのは、
スクリプト中でimportしているのなら、その直前の行に実際にimport sys;print(sys.path)を書き込んで、スクリプトを実行してみる、
対話環境でimportしているのなら、文字通り>>>import tablesする直前に>>>import sys;print(sys.path)してみる、という意味です。
念のため。
0681デフォルトの名無しさん2016/01/21(木) 08:36:56.72ID:2OMp4YQP
Pythonはmacportsとかhomebrewとかの新しく入れたものを使っていて、pipは初めから入っているPython使ってるとかじゃねーの?
0682デフォルトの名無しさん2016/01/21(木) 08:37:48.16ID:2OMp4YQP
あ、すでにレスされていた…
0683デフォルトの名無しさん2016/01/21(木) 09:48:30.48ID:CuRTlc/y
ありがとうございます。やってみます。(669)
0684デフォルトの名無しさん2016/01/21(木) 11:56:52.83ID:CuRTlc/y
pythonをいれたのが最近だったのでtime machineで入れる前に復元してやり直したらできました。ありがとうございました。
0685デフォルトの名無しさん2016/01/21(木) 22:32:24.03ID:RYmP/OJE
import pygame
from pygame import *
print(dir(pygame))
pygame.init()
これを実行するとエラーが起こり
['__doc__', '__loader__', '__name__', '__package__', '__path__', '__spec__']
Traceback (most recent call last):
File
0686デフォルトの名無しさん2016/01/21(木) 22:35:08.53ID:RYmP/OJE
['__doc__', '__loader__', '__name__', '__package__', '__path__', '__spec__']
Traceback (most recent call last):
File "C:/Users/owner/Desktop/pythons/action.py", line 6, in <module>
pygame.init()
AttributeError: 'module' object has no attribute 'init'
と返されます。ウインドウズ7 パイソンは3.2.4 pygameはwheel-0.26.0-py2.py3-none-any.whlです。
初心者なので変なことを言っていたらすみません よろしくお願いします
0687デフォルトの名無しさん2016/01/21(木) 23:04:20.34ID:RYmP/OJE
age
0688デフォルトの名無しさん2016/01/21(木) 23:54:55.94ID:zhS+DL+X
importの箇所が変だよ。↓こうじゃないの?

import pygame
from pygame.locals import *
0689デフォルトの名無しさん2016/01/22(金) 14:46:07.07ID:m59fe2ga
ありがとうございます
それも間違っていましたが再起動が必要なことを知りませんでした
0690デフォルトの名無しさん2016/01/22(金) 17:19:23.24ID:wSZ5jD+P
みなさんは、Python3とMariaDBのコネクタは何使ってますか?
MySQL-pythonはConfigParserのエラーが出るのでPython3対応してないのかなと
PyMySQLはimportエラーになりました
0691デフォルトの名無しさん2016/01/22(金) 17:39:45.01ID:wSZ5jD+P
ここに書かれているように、Python3+MariaDB+Djangoの接続は未だに厳しいんですかね?
ちなみに自分はPython3.5.1です
0692デフォルトの名無しさん2016/01/22(金) 22:55:41.59ID:Bl7vq3JG
O/Rマッパーなら、Django付属のライブラリ、

SQLObject, SQLAlchemy
0693デフォルトの名無しさん2016/01/23(土) 00:02:27.37ID:+QGMXawg
ここってどこだよ
0694デフォルトの名無しさん2016/01/23(土) 00:13:05.91ID:9ziBgdrf
インターネットに決まってるだろ
0695デフォルトの名無しさん2016/01/23(土) 00:45:02.24ID:jV6d7Uu+
つまり「地球上のどこかに」って言ってると同じだな
0696デフォルトの名無しさん2016/01/23(土) 07:19:34.80ID:VF0NUqlD
多分バカには見えないとかそんなんじゃないかな
俺には見えない
0697デフォルトの名無しさん2016/01/23(土) 13:24:15.45ID:pTfq+z+5
こ↑こ↓だよ
悔い改めて
0698デフォルトの名無しさん2016/01/23(土) 16:12:57.76ID:fpZdQXtW
Pyserialを使ってシリアル通信を受信しようとしてるのですが、OSError: [Errno 25] Inappropriate ioctl for deviceというエラーが出てしまいます。
調べても情報が無いのですが、このエラーはどのようにして解決するのでしょう
0699デフォルトの名無しさん2016/01/23(土) 16:16:02.13ID:r1YZ+e4X
OSからのエラーがきてるの?
0700デフォルトの名無しさん2016/01/23(土) 16:25:20.40ID:fpZdQXtW
>>699
Pythonからのエラーです
0701デフォルトの名無しさん2016/01/23(土) 19:18:14.65ID:tzafMMSV
Effective Pythonの翻訳発売されたけど買った人いますか?
翻訳はこなれてますか?
誤植誤訳は少ないですか?
0702デフォルトの名無しさん2016/01/23(土) 19:24:08.52ID:DLEFHTG3
今日が発売日なのにその質問はちょっと早いんじゃないの
0703デフォルトの名無しさん2016/01/23(土) 19:32:56.57ID:Y7m8rshN
わからない五大理由
人を利用することしか頭にない
を思い出してしまった
0704デフォルトの名無しさん2016/01/23(土) 19:38:51.12ID:DXOJILZ4
e2fという簡単な英仏辞書を作れみたいな演習が全然解けず
解説みたらfor englishとか書いてあるんですが
pythonって言語ごとに別の判定できるんですか?
0705デフォルトの名無しさん2016/01/23(土) 19:44:07.68ID:vKM/1Ukz
おめーさんの英文の解釈が間違ってるんだと思う
0706デフォルトの名無しさん2016/01/23(土) 19:54:52.45ID:DXOJILZ4
e2fという辞書で{"cat":"chat"}みたいな形で三語くらい対応させて逆辞書を作る演習で

f2e = {}
for english, flench in e2f.items():
f2e[flench] = english

これでf2eがe2fの逆辞書になるらしいんですが
キーをどうやって英語と判定してるのか分かりません
0707デフォルトの名無しさん2016/01/23(土) 19:55:55.63ID:r1YZ+e4X
判定してなくね?
0708デフォルトの名無しさん2016/01/23(土) 20:26:31.90ID:jZBFz9b5
問題文の解釈どころじゃない件
0709デフォルトの名無しさん2016/01/23(土) 20:45:34.11ID:DXOJILZ4
単語を形成してる文字列と無意味な文字列ってpythonは区別してるんですか?
0710デフォルトの名無しさん2016/01/23(土) 20:50:12.99ID:r1YZ+e4X
>>709
するよ
ヘブライ語やアストロ語とかなんでも区別してくれる
0711デフォルトの名無しさん2016/01/23(土) 20:50:38.20ID:jZBFz9b5
してないって
0712デフォルトの名無しさん2016/01/23(土) 20:50:56.56ID:jZBFz9b5
おいw
0713デフォルトの名無しさん2016/01/23(土) 20:52:59.59ID:DXOJILZ4
>>710
ID見たら無能やんけ
0714デフォルトの名無しさん2016/01/23(土) 20:53:15.22ID:jV6d7Uu+
d2 = {}
for key, value in d1.items():
 d2[value] = key

これと同じだぜ。変数名にとらわれ過ぎ
0715デフォルトの名無しさん2016/01/23(土) 21:08:10.49ID:6mCQvuPY
e2f = {"cat": "chat"}
f2e = {}
for english, flench in e2f.items():
 f2e[flench] = english

>>709
上の4行のコードのうち、アルファベットのものを分類すると

文字列:cat, chatの2つ
ダブルクォーテーションで囲まれたものは文字列になる
コードに書かれた文字自体がデータとして意味を持っている

識別子:e2f, f2e, english, flench, itemsの5つ
何らかの値や命令の目印で、その文字自体は他と区別するための名前である

キーワード:for, inの2つ
プログラムの構造を表す目印、その文字自体はプログラムの流れを示すための標識である
0716デフォルトの名無しさん2016/01/23(土) 21:14:04.37ID:6mCQvuPY
お、ID末尾がPYだラッキー
0717デフォルトの名無しさん2016/01/23(土) 23:23:31.31ID:1nX2r7W+
>>698-700
「pyserial inappropriate ioctl for device」で検索!
検索すると、udev でのエラーが多そう

IOCTL
https://linuxjm.osdn.jp/html/LDP_man-pages/man2/ioctl.2.html
ENOTTY、errno=25 です。
fd がキャラクター型のスペシャルデバイスを参照していない

strace などで、システムコールを見るのもいいかも。
もう少し詳細なエラー情報がほしい

それか、Linux板のラズパイスレで聞くとか
0718デフォルトの名無しさん2016/01/24(日) 08:29:51.23ID:bw3MWu8t
>>698
> OSError: [Errno 25]
OSからエラ一返されてるんだからOSぐらい書けよ…
まあ、Linux と仮定して

errno はこの辺りを見ればわかる
http://qiita.com/h2suzuki/items/0cc924cdd9d5c6d47448

#define ENOTTY 25 /* Not a typewriter */

typewriter は歴史を知らないとちょっとわかりにくいがキャラクターデバイスのこと

要するに >>717 が言うようにデパイスの指定がおかしい

ser = serial.Serial('/dev/ttyUSB0', 9600) の様に指定しているデバイス見て
ls -s デバイス
の結果みてみ
0719デフォルトの名無しさん2016/01/25(月) 09:40:13.76ID:bnR0osRa
みんなどの開発環境使ってるの?
0720デフォルトの名無しさん2016/01/25(月) 12:23:22.13ID:W7K6TW6k
vim
0721デフォルトの名無しさん2016/01/25(月) 12:39:05.50ID:h14eTNCO
Spyder
0722デフォルトの名無しさん2016/01/25(月) 16:17:36.11ID:WORe2be3
Visual stdioに敵うやついんの?
0723デフォルトの名無しさん2016/01/25(月) 18:11:00.72ID:ee36DfZP
vim
0724デフォルトの名無しさん2016/01/25(月) 18:33:28.38ID:RBhNgOhx
pycharm
0725デフォルトの名無しさん2016/01/25(月) 18:41:23.28ID:JYnzpTNj
pycharm
0726デフォルトの名無しさん2016/01/25(月) 19:31:08.65ID:W7K6TW6k
>>722
vsが最強なのは分かる
0727デフォルトの名無しさん2016/01/25(月) 19:36:12.79ID:W7K6TW6k
vs最強というより他のideがゴミ
特にeclipseとxcodeの開発者は自殺するか死ね
0728デフォルトの名無しさん2016/01/25(月) 21:03:53.99ID:7af5xv0p
vsの価値って、、、ideが無きゃ誰もそれで業務アプリを書く気になれない言語を救ってる、という意味では確かに最凶だなあ〜
0729デフォルトの名無しさん2016/01/25(月) 21:18:11.13ID:YF6I+fZU
リモートサーバのファイルを直接編集できるIDEがほしくて、PyCharmとSpyderを調べてみたのですが、そのような機能はないようでした。
ということは、普通はそういう開発の仕方はしない(必ずローカルに同じものを持って、ローカルで編集してから、リモートサーバにアップロードする)ということでしょうか?
0730デフォルトの名無しさん2016/01/25(月) 21:29:04.69ID:Xpv5GPYZ
まあ普通はやらないかな
今時ならバージョン管理の何かしらを使ってるだろうし

どうしてもやりたいならnfsとかsamba使ってマウントすればいい
またはrsyncでも使え
0731デフォルトの名無しさん2016/01/25(月) 21:36:27.36ID:Xpv5GPYZ
代替手段がいくらでもあるから
誰も手間かけてIDEにそんな機能を持たせようとしないんだ、とも言える
0732デフォルトの名無しさん2016/01/25(月) 21:47:59.27ID:TMjteMsV
python3です
pyserialでASCII文字おくりたいんだけど、serial.writeはbyteしか送れない。どうすればいいんですか
0733デフォルトの名無しさん2016/01/25(月) 21:51:20.36ID:Xpv5GPYZ
strをbytesに変換する
チュートリアルのどこかに書いてあると思うよ
超初歩的だから調べてね
0734デフォルトの名無しさん2016/01/25(月) 21:59:09.61ID:Xpv5GPYZ
リテラルで構わないならb'hage'でもいいけど
0735デフォルトの名無しさん2016/01/25(月) 22:23:18.96ID:YF6I+fZU
>>730
>nfsとかsamba使ってマウント
なるほど。いまはGUIでやるときはFTPソフトで接続してからテキストエディタで、
CLIでやるときはsshでログインしてからvimでしているので、手間的には対して変わらないかもしれません。
「バージョン管理の何かしらを使ってるだろうし」というのは、作業リポジトリと実際にサーバで動かすファイルは分けるべきということですか?
いまはリモートサーバにあるファイルをGitでバージョン管理して、それをそのまま動かしています。
ちなみに個人での趣味の開発です。
0736デフォルトの名無しさん2016/01/25(月) 22:37:47.91ID:+iqfPIKo
>>729
pycharmはローカルを変更したら自動的にアップロードして同期できるよ
変更して保存したり新しくファイル作るとバックグラウンドで瞬時に同期する
自分はそれでリモートとローカルを常に同じ状態にして開発してる
インタプリンタもリモートにおいて実行もリモートでやれる
0737デフォルトの名無しさん2016/01/26(火) 00:47:38.98ID:gwj9tWFa
>>736
ありがとうございます。同期できることは存じております。
ローカルにコピーを持たずに開発できるIDEはないかという趣旨でした。
0738デフォルトの名無しさん2016/01/26(火) 01:19:29.20ID:GsigPDmG
時代はストリーミングコーディング
略してストコデ
0739デフォルトの名無しさん2016/01/26(火) 01:56:59.40ID:jdu+65G0
なんかダセー響き
0740デフォルトの名無しさん2016/01/26(火) 10:46:24.56ID:e3nmXFm7
PythonでWebサイトとなるとほぼDjango一択だと思うけれど、Djangoって速度はどうなの?
http://geechs.com/20140402/
では否定的なことが書かれてて、
http://www.tsuyukimakoto.com/blog/2006/01/30/3042306a305fdjango3092522975283059304d10306e740675/
では早いとか書かれてる

Webサイト作りで考えればPHPとどっちがいいのかな?
0741デフォルトの名無しさん2016/01/26(火) 10:57:15.62ID:MJMTDL/C
まず2006年の記事なんか何の役にも立たねえ
1年以内なら参考にしていい

Djangoは遅い
速度が欲しかったらC拡張を書くかJavaで書け
スクリプト言語は楽するためのものだ

PHPは比較にならん
歯ブラシと大工道具を比べることに意味があると思うのかお前
0742デフォルトの名無しさん2016/01/26(火) 11:04:43.37ID:e3nmXFm7
そうか、やっぱ遅いのか
pypy使えば少しは早くなるのかな?

PythonはTracで感じたけれど、スクリプトじゃなくアプリケーションレベルになると極めて遅い印象なんだよな
Tracだけかもしれないけれど
Dropboxは通信が関係してくるので遅さは仕方がないけれども


Djangoスレなんて専用のがあるんだな
そっちに行ってみよう
0743デフォルトの名無しさん2016/01/26(火) 17:17:59.87ID:e3nmXFm7
$ pyenv versions
system
* 3.5.1 (set by PYENV_VERSION environment variable)
pypy3-2.4.0

$ pyenv local system 3.5.1 pypy3-2.4.0
$ pypy
pyenv: pypy: command not found
The `pypy' command exists in these Python versions:
pypy3-2.4.0

pypyも別コマンド($ pypyなど)で使うにはどうしたらいいですか?
0744デフォルトの名無しさん2016/01/26(火) 19:28:10.49ID:dXVXfMhQ
シェルでaliasを設定する
pyenvだけでコマンドを良しなに設定する機能があるかは分からん

俺は環境構築にpythonzとdirenvを使っている
0745デフォルトの名無しさん2016/01/26(火) 20:06:53.09ID:xOyUPeE6
>>742
本当に速度が問題になるようなレベルなの?
ぶっちゃけ個人が作るようなサイトなんて何で作っても変わらんよ
それなら作りやすさ運用しやすさで選んだ方がいい

その点でDjangoは糞だ
Rails知ってる人間が使うと苦痛で死にたくなる
pythonは書捨てから科学技術までこなすキングオブスクリプト言語だと思ってるがDjangoはとにかく糞だ
0746デフォルトの名無しさん2016/01/26(火) 21:52:12.27ID:z0Y95EXI
馬鹿には無理
0747デフォルトの名無しさん2016/01/26(火) 23:21:28.39ID:GsigPDmG
pythonという糞の上にそびえ立つキングオブ糞
それがデーヤンゴ
科学系ライブラリのために仕方なく使ってるが・・・鼻から糞を流し込まれている気分になる、ときどき
0748デフォルトの名無しさん2016/01/27(水) 03:28:45.10ID:VRshckg6
ここで中身のない文章書いてるやつでもコードは書けると思うと不思議な気分になる
0749デフォルトの名無しさん2016/01/27(水) 06:46:36.76ID:qnXK811H
paizaでランクはかったらCなのでまだまだです・・・
0750デフォルトの名無しさん2016/01/27(水) 08:46:51.84ID:Rp4LPX81
ヒヨッコだなあ
0751デフォルトの名無しさん2016/01/27(水) 10:11:53.67ID:7ycNSmtX
DropboxなんかはどうやってWebサイト作ってるのかな?
PythonでWebサイトって言えばDjango一択じゃない?
wsgiだけ使ってのWebサイト作りなんか現実的じゃないと思うんけど
0752デフォルトの名無しさん2016/01/27(水) 10:15:30.88ID:PS/Qpp4W
>PythonでWebサイトって言えばDjango一択じゃない?

んなあほな
0753デフォルトの名無しさん2016/01/27(水) 10:25:55.08ID:7ycNSmtX
んじゃどうやってWebサイト作ってるん?

俺がクソなんだろうけど、Apacheとの連携なんかさせようとするとwsgi使ってやったらしんどくてDjangoに頼らんといかんなと思ったんだけど
その点PHPはApacheとの連携だけはほんと素晴らしいと思う
Djangoはlocalhostで使ってもページの切り替えが遅い
話にならないと思う
0754デフォルトの名無しさん2016/01/27(水) 10:31:15.90ID:Ky0LnzPt
今時Apacheかよ
0755デフォルトの名無しさん2016/01/27(水) 10:31:20.65ID:nkhHFBxe
板違い
webプログラミング板へGO
0756デフォルトの名無しさん2016/01/27(水) 10:35:58.97ID:7ycNSmtX
>>754
お前は何使ってるの?

>>755
いや、Python関連だろ
0757デフォルトの名無しさん2016/01/27(水) 10:37:26.77ID:Ky0LnzPt
PHP使うにしても今からApacheはねえわ
nginx+PHP-FPMに決まってる
知識が数年おせえ
知識が遅いのにサイトは速い方がいいの?
ふぅん…分相応って言葉を覚えたらいいかもね
0758デフォルトの名無しさん2016/01/27(水) 11:04:57.26ID:7ycNSmtX
エンジンか
なんか俺の知らないのが出てきたのかと聞いてみたけど
今更わざわざ切り替えるのもと思ってたけど、試してみるか
0759デフォルトの名無しさん2016/01/27(水) 15:25:52.27ID:PS/Qpp4W
少なくともPHPの話題出した時点で負け
web板逝けって言われるにきまってるだろ
0760デフォルトの名無しさん2016/01/27(水) 17:34:44.91ID:vDIuwjF/
こんなロートルWebProg板にも要らんよ
0761デフォルトの名無しさん2016/01/27(水) 20:49:12.59ID:GCMYQyfI
pandasを使ってtableタグのスクレイピングを行っています。
しかし、すべてのtableタグが取得できず困っています。
どのようにすればいいでしょうか?

import pandas as pd
tables = pd.io.html.read_html('http://db.netkeiba.com/race/201544122901/')

本来ならばprint tables[1]とすれば払い戻しの欄のtableが所得できそうなんですが...
0762デフォルトの名無しさん2016/01/27(水) 21:03:45.11ID:Fmvz75rf
数字を
0.68533574267E+08
みたいに出力したい場合どう書けばいいのでしょうか
print('{:17.11E})
のようにすると
6.85335742679E+07
のように先頭が0でなくなってしまって困っています
0763デフォルトの名無しさん2016/01/27(水) 21:38:45.12ID:VRshckg6
>>757
一人で会話してて怖い
0764デフォルトの名無しさん2016/01/27(水) 23:04:07.06ID:NL6MaBDN
>>761
print len(tables)で個数を確認しろ
0765デフォルトの名無しさん2016/01/27(水) 23:07:14.70ID:NL6MaBDN
>>762
何の値を使って出力したいのか書いてもらわないとエスパー伊東さんしか答えられませんよ〜
0766デフォルトの名無しさん2016/01/27(水) 23:21:12.67ID:8Qfe7Rrl
>>765
なんかしらの計算可能な数値型(floatとかnumpyのfloat64とか)の値を使って、0.から始まる指数表記の文字列にしたいです
0767デフォルトの名無しさん2016/01/27(水) 23:25:53.18ID:/6EU7qrh
>>761
そのサイトは、<diary_snap>および<diary_snap_cut>という、
本来のhtmlにはない独自タグをhtmlソースの中で使っている。
これが何か悪さをしているのではないか。というのも、
以下のようにこのタグを除去してからpandasに渡したら、
すべてのtableを取得することができた。

import re
#from urllib import urlopen #if Python2
from urllib.request import urlopen
import pandas as pd
html = urlopen('http://db.netkeiba.com/race/201544122901/').read().decode('euc-jp')
html = re.sub(r'</?diary_snap(_cut)?>', '', html)
tables = pd.io.html.read_html(html)
0768デフォルトの名無しさん2016/01/28(木) 01:44:27.46ID:xT1Gblus
∫f(x,y)dx みたいに今は積分されないけど
変数っていうyの定義づけってどうしたらいいんでしょうか
yはあとで積分するんですけど
0769デフォルトの名無しさん2016/01/28(木) 02:04:04.48ID:7XdsCjDh
ここプログラミングのPythonスレだけどレスを誤爆してない?
もっと具体的に、例えばライブラリ名とか出さないと
手がかりが少なくて答えようがないな
07707682016/01/28(木) 02:26:51.07ID:xT1Gblus
>>769 質問と自分の回答があってるかわからないですが、
scipyのquadで積分しようとしてます。
SS[f(x,y){Sg(x,y)dx}]dxdy みたいな式です。
0771デフォルトの名無しさん2016/01/28(木) 02:59:39.66ID:86zv120m
>>762-766
num = 0.68533574267E+08

print('{:0.11E}; {:.11E}'.format(num, num))

両方とも、6.8〜になる。
0.68〜には出来ない
0772デフォルトの名無しさん2016/01/28(木) 03:38:33.35ID:tEv67MZa
>>770
数学詳しくないんだけど中括弧の中のxと外のxは関係があるの?

それはそれとしてyそのものを定義するには
f(x,y),g(x,y)の定義の仕方から見直す必要がありそう
代わりに、ある値yに対して関数g_y(x)を都度定義すればなんとかならんかな?

def G(y):
__def g_y(x):
____return g(x,y)


return scipy.integrate.quad(g_y, from, to)
0773デフォルトの名無しさん2016/01/28(木) 03:49:27.71ID:7XdsCjDh
>>770
ここ参考にならないかな?
http://docs.scipy.org/doc/scipy/reference/tutorial/integrate.html#general-integration-quad

上記URLのコード例ではlambda式でspecial.jv()の第一実引数を束縛している
>>> result = integrate.quad(lambda x: special.jv(2.5,x), 0, 4.5)

仮引数xがspecial.jv()の第二実引数へと対応付けられている
lambda x: special.jv(2.5,x)
0774デフォルトの名無しさん2016/01/28(木) 04:27:39.70ID:1OTd/ctL
掲示板のようなwebアプリ作りたくて開発の流れ知りたいんですが、本買うならパーフェクトpythonかpythonプロフェッショナルプログラミングどっちがいいでしょう?他に候補ありますか?
学習程度は、プログラミング初心者からcodecademyとthink pythonでpythonについて少し勉強しました。あとみんなweb編を見てる途中です
0775デフォルトの名無しさん2016/01/28(木) 07:51:11.36ID:PN1Mg9OW
どっちも必要ない
Webアプリ作るならフロント周り(html css js)とデータベースやんないといけないからその2冊はほとんど意味ない
0776デフォルトの名無しさん2016/01/28(木) 07:56:29.71ID:FEPnUvYs
>>722
vsは高い金払ってる割に、こんなこともできないのか、と不満に思うこと多々あり。
xcodeはデカい容量を食う割に、こんなこともできないのか、と不満に思うこと多々あり。
eclipseは、できないことがあったら、plug-inを書けない自分が悪い、と我慢すること多々あり。
0777デフォルトの名無しさん2016/01/28(木) 08:22:13.42ID:InxKLi2D
pythonでwebとかありえんでしょ
きみ、正気?
0778デフォルトの名無しさん2016/01/28(木) 09:02:34.36ID:mz+1kgR4
>>762
仮数部は1≦m<10にするのが普通だから、独自表記は自前で処理するしかないと思うよ
x = 0.68533574267E+08
import math
s = '-' if x < 0 else ''
e = math.ceil(math.log10(abs(x)))
m = abs(x) / 10**e
print('{}{:.11f}E{:0=+3d}'.format(s, m, e))
0779デフォルトの名無しさん2016/01/28(木) 09:08:08.79ID:wwzSHrT/
Theanoをインストールしたいのですがエラーが出てこまっています。

http://qiita.com/whiteeye/items/5a7eda910b7e93ca74cd
上記のサイトを参考にしました。
Windows8.1; Python2.7; Anacondaを使用しています。
VisualStudioCommunity2013, Cuda7, など必要なものは入れているはずです。
EclipseにPyDevを入れて行っています。
プログラム中で

import theano
とすると以下のエラーが出ます
Exception: Compilation failed (return status=1): C:\Users\**\AppData\Local\Theano\compiledir_Windows-8.1-6.3.9600-Intel64_Family_6_Model_42_Stepping_7_GenuineIntel-2.7.11-64\lazylinker_ext\mod.cpp:1:0: sorry, unimplemented: 64-bit mode not compiled in
. #include <Python.h>

g++のバージョンは

C:\Users\**>g++ --version
g++ (i686-posix-dwarf-rev0, Built by MinGW-W64 project) 5.3.0
でした。
解決方法を知っている方はおられますでしょうか。
07807782016/01/28(木) 09:17:23.65ID:mz+1kgR4
>>762
間違えてた
x = 0.68533574267E+08
import math
s = '-' if x < 0 else ''
e = math.floor(math.log10(abs(x))) + 1
m = abs(x) / 10**e
print('{}{:.11f}E{:0=+3d}'.format(s, m, e))
0781デフォルトの名無しさん2016/01/28(木) 09:23:53.54ID:65jxyb4v
>>771
>>778
すいません自己解決しました
fortranformat使うと上手くいきました
答えてくれてありがとうございました
>>780
やっぱり標準以外のライブラリなしだとそれしかないですか。ありがとうございます
0782デフォルトの名無しさん2016/01/28(木) 09:29:21.39ID:N2gZwL1s
病的
0783デフォルトの名無しさん2016/01/28(木) 14:11:42.79ID:1OTd/ctL
>>775
htmlとsqlは多少見ましたが、通信プロトコルとかモジュール覚えないと目処が立ちそうにないので参考書探してます。
ありがとうございます!その辺の言語勉強も候補にもう少し検討してみます
0784デフォルトの名無しさん2016/01/28(木) 17:32:30.88ID:UW4eiAMu
>>781
x = 0.68533574267E+08
print (lambda e: '0.%s%s+1' % (e[0], e[2:]))('%e' % x)
0785デフォルトの名無しさん2016/01/28(木) 19:19:41.02ID:PN1Mg9OW
>>783
django使ったほうがいいよ
Webアプリ作ることが目的じゃなくてあくまで勉強がてらって言うなら自力でやってもいいけど
今時、っていうか10年前からWebフレームワーク使わないでアプリ作る人は皆無
0786デフォルトの名無しさん2016/01/28(木) 20:38:51.90ID:jiZvs+3s
http://qiita.com/HirofumiYashima/items/e6287c50e0d989cc9a50
一つ目と三つ目はいいが、二つ目はコイツ連想配列を何だと思ってんだ
0787デフォルトの名無しさん2016/01/28(木) 20:41:02.66ID:wYSfr60X
>掲示板のようなwebアプリ作りたくて開発の流れ知りたいんですが

こう言ってるなら学習コスト低いPHPでいいんじゃないんですか
プログラミング作法覚えて、Webサーバ覚えてとかPHPなら1日でできる
0788デフォルトの名無しさん2016/01/28(木) 20:56:46.07ID:0fscHvYa
3ヶ月後に飽きないで続けてる可能性は0に近いだろうし
0789デフォルトの名無しさん2016/01/28(木) 21:43:31.33ID:1OTd/ctL
>>785
勉強がてらbottleでやろうとしてます。ただbottleやり始めてGETとか初めて知ったように、セキュリティとか知らないことばかりでこのまま独学でやっても穴だらけになりそうで不安なんです。それで開発の流れをしっかり追いたいなと
django難しそうで避けてたのですが調べてみます!

>>787
偏見でpythonやりたいなと。アプリ作るのも目的の一つなんですが、python使えるようになるのも目的なんです。本屋いくとphpいいなと後悔しそうになりますが…
0790デフォルトの名無しさん2016/01/28(木) 22:55:04.32ID:86zv120m
文法などは「みんなのPython 第3版」を読む

素人だろ。だったらDjangoよりも、標準装備のBottleでいいよ。
O/Rマッパーには、SQLAlchemy。
DBは、SQLite でいい

bottle-sqlalchemy と、
HTMLフォーム用に、WTForms パッケージを使う
0791デフォルトの名無しさん2016/01/29(金) 01:22:09.27ID:dmJ8qTNS
>>790
ありがとうございます!めちゃくちゃ参考になります
ちょうど動的にするのはどうやるのか悩んでたので、WTformsから勉強してみます。db関連も良さそうな記事いくつか見つけられました。本当助かります。
0792デフォルトの名無しさん2016/01/29(金) 03:59:11.22ID:xjlJZ9Nb
みんなのPython Webアプリ編読んでるんだったら、あれこれ手を出す前にちゃんとそれを読んだ方がいいよ
簡単なWebフレームワークをスクラッチから作るような内容の本だから、それでアプリを作れるようにはならなくても、勉強のために読むのは間違ってない
セキュリティとか気になるんなら、Web技術の基本的な本とWebセキュリティの本をちゃんと別に読んで勉強した方がいいよ
急がば回れ、覚えることがたくさんで時間がかかるだろうけど焦らずにやりましょう
あとPythonは2系じゃなくて最新の3系を使うように
0793デフォルトの名無しさん2016/01/29(金) 09:00:26.26ID:4KefNEoy
プロパティが邪悪な機能に感じてきた
0794デフォルトの名無しさん2016/01/29(金) 09:14:18.12ID:CBTGpVRc
じゃあ使わないように
0795デフォルトの名無しさん2016/01/29(金) 14:44:40.54ID:+dgjzxQ2
2.6.1です。
csvファイルの中身を検索したいのですが、
以下の様な感じでbreakした後に再度検索しようとすると
csvファイルを前回の続きからしか読み込んでくれません。

頭から読み込み直す方法か、より良い方法があれば教えてください。

csvf=csv.reader(f)

for itm in csvf:
if itm=='aaa':
break
0796デフォルトの名無しさん2016/01/29(金) 15:48:23.72ID:ibhbR8pf
Numpyで空の配列を作るのに
A = np.array([None for x in range(9)])
B = np.array([None for x in range(9)])
と必要な数だけ書いているのですが、もっと楽に
A, B, ... =
みたいな形で作ることってできませんか?
0797デフォルトの名無しさん2016/01/29(金) 16:28:23.64ID:+dgjzxQ2
A = B = C = D =np.array([None]*9)
0798デフォルトの名無しさん2016/01/29(金) 16:59:01.35ID:0D6FNiIY
>>795
f.seek(0)
0799デフォルトの名無しさん2016/01/29(金) 17:52:24.38ID:+dgjzxQ2
>>798 それでは頭に戻ってくれませんでした。一応テスト用全文です。
import codecs,csv
ff="001.csv"
f = codecs.open(ff, 'r','utf-8')
csvclm=csv.reader(f)
i=0
for itm in csvclm:
i=i+1
print itm,i
if i>4:
break
f.seek(0)
i=0
for itm in csvclm:
i=i+1
print itm,i
if i>4:
break
0800デフォルトの名無しさん2016/01/29(金) 18:13:39.28ID:OC0x4uOh
>>786
そーゆーのは頭のhを抜いて引用しなさい
0801デフォルトの名無しさん2016/01/29(金) 19:01:05.13ID:0D6FNiIY
>>799
f.seek(0)
for itm in csv.reader(f):

もし十分小さなCSVファイルのみ扱う予定なら
毎回ファイルから読まずにメモリ上に全部読み込む
with open(ff, 'r', 'utf_8') as f:
 L = list(csv.reader(f))
for itm in L:
0802デフォルトの名無しさん2016/01/29(金) 19:27:26.57ID:4HVuVC7s
pandasのread_csvを学順にする方法はありますか?

data = [1,2,3]
を
data = [3,2,1]
みたいにしたいです。
0803デフォルトの名無しさん2016/01/29(金) 19:55:06.84ID:oPEVn/Bc
>797
それだと、Aを書き換えるとBやCも書き換わってしまうので、目的の動作とは違うと思います。
0804デフォルトの名無しさん2016/01/29(金) 23:32:33.67ID:UpleMCop
>>802
reverse は元のリストの内容そのものを、逆順に変える(破壊的)

reversed は、元のリストを変えず、新たなリストを作って返す
0805デフォルトの名無しさん2016/01/29(金) 23:34:12.64ID:BlK2FEgd
>>797
試しにやってみましたが、一つを書き換えると他も書きかわるということは起こりませんでした
アリガタマキン ( ´∀`)ノ⌒ω)Д`)ブニュ
0806デフォルトの名無しさん2016/01/30(土) 00:35:20.92ID:6nQEmebb
>805

ideoneで試したら、他のも書き換わってるんだけど。。
何か、私が勘違いしてるのかな?
ttp://ideone.com/WDi3sh
0807デフォルトの名無しさん2016/01/30(土) 01:38:12.76ID:1oljgPJ8
>A = B = C = D =np.array([None]*9)

そりゃ、newをDの所で、1回しかしていないから、
配列オブジェクトは1つしかないだろ?
0808デフォルトの名無しさん2016/01/30(土) 07:04:09.02ID:lGgUibWd
>>796
> と必要な数だけ書いているのですが
A, B, C, … を配列とかリストとかにするわけにはいかんのか?
0809デフォルトの名無しさん2016/01/30(土) 07:19:42.27ID:0eZeJPcv
>>796
A, B, C, D = (np.array([None] * 9) for _ in range(4))
0810デフォルトの名無しさん2016/01/30(土) 07:44:05.05ID:bowpuvz9
アンパックできません言われそう
素直にリスト内包にしておくべきだった
0811デフォルトの名無しさん2016/01/30(土) 09:34:43.90ID:MnabVcLq
まずそこはempty使ってほしい
rangeで作るのはPython的であってnumpy的では無いよ
0812デフォルトの名無しさん2016/01/30(土) 11:05:16.92ID:4vD/pPiQ
今日の日付のファイル名のテキストを開きたい場合

import datetime
today = datetime.date.today()
fmt_name = "./{0:%Y%m%d}.txt".format(today)
でファイル名を作り

そのファイル名のファイルがあるか調べるにはどうしてますか
1.とりあえずファイルを開いてみてエラーかどうか
2.ファイルがあるか調べてから開く
どちらがいいのでしょうか
0813デフォルトの名無しさん2016/01/30(土) 11:07:49.64ID:ME5lnK1K
エラーって正しい動きなの?
08148122016/01/30(土) 11:30:51.99ID:4vD/pPiQ
1.とりあえずファイルを開いてみてエラーかどうか

import datetime

today = datetime.date.today()

fmt_name = "./{0:%Y%m%d}.txt".format(today)

print(fmt_name)

try:
with open(fmt_name, 'r') as file:
data = file.read()
print(data)

except FileNotFoundError:
print('ファイルが見つかりません')
08158122016/01/30(土) 11:33:56.60ID:4vD/pPiQ
2.ファイルがあるか調べてから開く

import os
import datetime

today = datetime.date.today()

fmt_name = "./{0:%Y%m%d}.txt".format(today)

print(fmt_name)

#ファイルの存在を確認
f = os.path.exists(fmt_name)

if f:
with open(fmt_name, 'r') as file:
data = file.read()
print(data)

else:
print ('ファイルが見つかりません')
0816デフォルトの名無しさん2016/01/30(土) 12:33:18.50ID:bowpuvz9
ファイルを開く回数が多いなら2+1(ファイルの存在確認をしつつ例外に備える)
そんなに何度も開かないなら1

2だけってのはない
toctou問題と同様に、ファイルの存在確認をしても
開く瞬間には存在しない可能性がある
08178122016/01/30(土) 12:48:25.78ID:4vD/pPiQ
>>816
ありがとうございます。
あまり何回も開くファイルではないので1の方法にします。
0818デフォルトの名無しさん2016/01/30(土) 17:05:02.14ID:sS3ZmVxF
ここまでpyramidなし。
0819デフォルトの名無しさん2016/01/30(土) 19:01:33.73ID:ULVMSBs9
pyramidはマイクロフレームワークすぎて飽きた
0820デフォルトの名無しさん2016/01/30(土) 21:40:23.11ID:iV9fHNNg
>>806
本当ですね
私はMacの標準で入っているPython2.7でターミナル上から対話的に試したのですが、書き換わりませんでした
本来使っているPythonでも通用するか気をつけてみます

>>808
2次元にするのが簡単なのは分かっていますが、あとで見返したときに変数の意味がわからなくなるので、個々の変数名を付けたかったのです

他の方々もありがとうございました
一般的な方法はないようですね
0821デフォルトの名無しさん2016/01/30(土) 23:10:33.75ID:MJrrD1Ir
識別用の名前が必要なら、変数を増やすよりdict使うほうが
データの増加にコードが耐えられるだろうから試してはどうだろう
0822デフォルトの名無しさん2016/01/31(日) 00:01:13.63ID:lawpjjqe
import ○○
これって実行する度に毎回処理が行わてると思うんだけどこの処理って重い?
0823デフォルトの名無しさん2016/01/31(日) 00:12:48.21ID:aOiL+kc7
一度importされたファイルはキャッシュされているはずだが
0824デフォルトの名無しさん2016/01/31(日) 15:59:43.85ID:U9E70V0b
list内のnullの数を数えたいのですがどうるればいいでしょうか?

a = [1,2,3]
b = [4,,6]

a=0,b=1のような感じで数えたいです。
0825デフォルトの名無しさん2016/01/31(日) 16:02:43.97ID:CEQ2rTW9
>>824
a.count(None) ?
nullってなんだ?
0826デフォルトの名無しさん2016/01/31(日) 16:08:46.57ID:U9E70V0b
>>825
実際にはこんなlistです
[1983.0, 1.0, 4.0, nan, nan]
0827デフォルトの名無しさん2016/01/31(日) 16:28:25.14ID:CEQ2rTW9
a は ndarrayかな?
あまり考えずに思いついたのは
map(math.isnan, a).count(True)
0828デフォルトの名無しさん2016/01/31(日) 16:41:41.48ID:U9E70V0b
>>827
思ってたことができました、ありがとうございます。
0829デフォルトの名無しさん2016/02/01(月) 06:05:24.82ID:SPm6Nkhw
インデントがブロックの役割を果たすというけど
他の言語知らんからブロックが何か分からんです
0830デフォルトの名無しさん2016/02/01(月) 09:23:10.34ID:uwsvagLI
■をブロックとする

if 1:
■return True
else:
■if 0:
■■return True
08317952016/02/01(月) 09:46:33.60ID:6G9Lt4z7
>> 801
たびたびすみません。その様にしても続きからよみこまれてしまいます。
0832デフォルトの名無しさん2016/02/01(月) 11:43:55.76ID:mJMVhcGQ
c#やjavaだと{ }で括ってる部分だな
0833デフォルトの名無しさん2016/02/01(月) 13:54:07.43ID:SPm6Nkhw
>>830
人に物教えるの苦手そう
あとなんかそれ色々とおかしくね?
0834デフォルトの名無しさん2016/02/01(月) 20:58:55.74ID:me+imUgB
素朴な疑問なんですが、なぜ各出版社は似たような入門本ばかり出すのでしょうか?

その先が知りたいのに。

uwsgi、gunicorn、sqlalchemy、各フレームワークの導入方法、テンプレートエンジン、デーモン化などを収録した本を出してくれたらweb系の人なら飛びつくと思うのですが。
0835デフォルトの名無しさん2016/02/01(月) 21:43:31.42ID:LZvTT2lb
だってそんなの各プロダクトのドキュメントに書いてあるもの
ドキュメントが読めない初心者以外には用のない物だから大して売れないの
0836デフォルトの名無しさん2016/02/02(火) 14:47:01.41ID:chGMw9p3
1.自分で調べる香具師は本買わなくても検索で済ませられる
2.自分で調べられない馬鹿が本を買う
3.馬鹿しか本を買わなくなる
4.馬鹿用の本が良く売れる
5.馬鹿用の本しか作らなくなる
0837デフォルトの名無しさん2016/02/02(火) 14:48:14.79ID:chGMw9p3
1.自分で調べる香具師は本買わなくても検索で済ませられる
2.自分で調べられない馬鹿が本を買う
3.馬鹿用の本が良く売れる
4.馬鹿用の本しか作らなくなる
5.馬鹿しか本を買わなくなる
3.に戻る

こうか
0838デフォルトの名無しさん2016/02/02(火) 20:21:59.93ID:0ZXVvwXf
導入方法ったら、how to installとgetting started、basic usageあたりだ。
そんなもの解説してどうするんだ。
0839デフォルトの名無しさん2016/02/03(水) 16:41:03.28ID:LPKV0KNu
Python 2.7.11
Scrapy 1.0.4
OSX 10.10.5

始めて三日目です
Scrapyを使ってgoogleの検索結果から
クローリングとスクレイピングをやりたいのですが
何も取得できずにspiderがClosingします、
Wえbページ上のマッチ条件がよくないのでしょうか?
match = response.xpath('//div[@class=
0840デフォルトの名無しさん2016/02/03(水) 16:44:44.70ID:LPKV0KNu
すみません
途中で切れていました
class='g'
でリンクが含まれるタグを指定しています

ソース全体
https://ideone.com/bYcNcH
0841デフォルトの名無しさん2016/02/03(水) 17:17:10.18ID:rFj8guoM
>>840
重ね重ね申し訳ない

19行目は「self.parse_jp」です
0842デフォルトの名無しさん2016/02/03(水) 21:32:00.91ID:9qM+6YO5
scarpyとか全く知らないけど
本当に<div>の中に<meta>と<title>があるのかなと思いました(小並感)
0843デフォルトの名無しさん2016/02/03(水) 21:36:57.09ID:OLIKWXgN
これってなんぞ?
https://w...content-available-to-author-only...o.jp/#q=jjppaann
0844デフォルトの名無しさん2016/02/03(水) 21:43:20.24ID:9qM+6YO5
https ://w 〜〜非公開〜〜 o.jp/#q=jjppaann
0845デフォルトの名無しさん2016/02/03(水) 22:01:55.32ID:rhUCWRZ0
>>843
#q=があるから
たぶんGoogleで「jjppaann」を検索した結果のurl
かな
0846デフォルトの名無しさん2016/02/04(木) 17:14:35.80ID:ob+62gtm
日本語ドメインじゃね
0847デフォルトの名無しさん2016/02/04(木) 21:15:27.88ID:5A35es+x
year = 1980
month = 12
day = 24
が与えられている状態で、現在時刻での年齢を求めたいんですが、どのようにすれば良いですか?
today = datetime.date.today()
birth = datetime.date(year, month, day)
today - birthの後はどのようにすればいいですか?
0848デフォルトの名無しさん2016/02/04(木) 21:20:16.38ID:yEQirXYS
宿題かよ…
0849デフォルトの名無しさん2016/02/04(木) 21:30:13.14ID:vqMYghiB
何の実りもねえな
0850デフォルトの名無しさん2016/02/04(木) 21:31:18.44ID:5A35es+x
いや、
http://kaorumori.hatenadiary.com/entry/20090513/1242212161
http://d.hatena.ne.jp/cheeseshop/20090210/1235591147
この辺のが自分にはいまいち分かりにくかったもので

>>> today - birth
datetime.timedelta(12825)
となった後どのように処理すればいいのかなと思いまして
0851デフォルトの名無しさん2016/02/04(木) 21:39:04.48ID:vqMYghiB
timedeltaはカレンダーを考慮しないからそこで行き止まりですよ
0852デフォルトの名無しさん2016/02/04(木) 22:10:32.53ID:q15XlpDF
ママのおっぱいでも吸ってろ糞ガキ
0853デフォルトの名無しさん2016/02/04(木) 22:45:06.21ID:VCdKpmhx
>>850
閏年があるので時間差から正確な年齢は得られないよ
年で引き算して、日付が誕生日にまだ達してないなら1を差し引く

if (at.month, at.day) < (bd.month, bd.day):
この部分は
if (at.month < bd.month) or (at.month == bd.month and at.day < bd.day):
と等価

タプルでの比較は
 第1要素同士で比較
 もし等しいなら第2要素同士で比較
 もし等しいなら第3要素同士で比較
 ・・・以下同様
0854デフォルトの名無しさん2016/02/05(金) 15:18:44.05ID:w34rBmrp
関数の返り値がリストで帰ってくるのですが

a=[10]
print(a)
[10]

a=10
のようにaに10を入れたいのですが

試しに[a]=[10]
のように書くと
a=10

これで正しいのでしょうか
何か資料があれば教えてほしいのですが
0855デフォルトの名無しさん2016/02/05(金) 15:23:38.98ID:ojECHGm5
>>854
10はどっから来たものなの?
リストの長さ?
0856デフォルトの名無しさん2016/02/05(金) 15:50:23.64ID:jhG7P/uP
スマン良くわかってなかった
a=(関数)[0]
こういうことがしたいって事か?
0857デフォルトの名無しさん2016/02/05(金) 16:02:44.49ID:4ytwlTiG
>>854
[a]=[10]は、aに10を代入するで正しい
だけど先頭の内容を代入するならa=[10][0]と添え木を使うのが自然だと思う

分割代入はシーケンスの長さや値の位置が固定されている局面向け
リストは可変長なので考慮しておかないと思わぬエラーに遭う
08588542016/02/05(金) 16:05:33.79ID:w34rBmrp
わかりづらくてすみません

関数の返り値が[10]のようになるので関数は考えず省略してます。

a=[10]の中身の10をaに代入したいのですがa=10にしたい場合
[a]=[10]と変数に[]をつけるとa=10になるので
その説明の資料があれば教えてほしいのですが
0859デフォルトの名無しさん2016/02/05(金) 16:29:57.83ID:4ytwlTiG
>>858
理解できれば初心者卒業してる
http://docs.python.jp/3/reference/simple_stmts.html#assignment-statements

簡単に説明すると
左辺のカッコは[]と()どちらでもよい
>>> (a, b) = [10, 20]

左辺のカッコは省略して書くことが多い
>>> a, b = (10, 20)

カッコを入れ子にすることで細かく代入できる
>>> (a, (b, c)) = [0, [1, 2]]
>>> a, b, c
(0, 1, 2)

アスタリスクで残りをまとめて代入できる
>>> a, *b, c = [100, 200, 300, 400, 500]
>>> a, b, c
(100, [200, 300, 400], 500)
08608542016/02/05(金) 16:47:11.30ID:w34rBmrp
>>857,859
わかりやすい説明ありがとうございます。

関数の変数がリストで返ってくるので中身がひとつだけなので
リスト外したいなと思っていて質問しました。

可変長の場合確かにいまの方法だとおかしくなりそうですので
添え木を使う方法にしようと思います。

すごく勉強になりました。ありがとうございました。
0861デフォルトの名無しさん2016/02/06(土) 11:25:40.49ID:Ts3ostqy
添え字やぞ!
0862デフォルトの名無しさん2016/02/06(土) 11:43:22.32ID:ImjLGNHN
無粋なやっちゃ
0863デフォルトの名無しさん2016/02/06(土) 11:56:28.07ID:72HY3Rzj
パイソンに添え木ニキ爆誕
0864デフォルトの名無しさん2016/02/06(土) 13:23:28.53ID:fazvGls3
ああ左辺にも * 使えたんか
0865デフォルトの名無しさん2016/02/06(土) 15:33:49.58ID:lR7LjFZn
dockerにanacondaが入らなくて泣きそう
0866デフォルトの名無しさん2016/02/06(土) 15:38:24.27ID:cWanzCPY
楽するためのもので苦労するとか酷いコント演じてますね
ヴァカみたい
0867デフォルトの名無しさん2016/02/06(土) 22:38:21.69ID:gUuTmcOu
2015-12-20 00:36:00
2015-12-20 00:42:00
2015-12-21 10:36:00
2015-12-22 08:36:00
2015-12-22 08:45:00
2015-12-23 15:36:00

こんなリストがありまして、n日に何回あったかをカウントしたい。
この例ですと、20日が2,21日が1、というようになります。

open()を使って読み込むまではできました。datetimeをimportしてs.dayで日付の取得はできるところまできました。これをどうカウントしていいかわかりません。 i = s.day とかして退避してifで比較すればいけそうな気がするのですが、思うようにいきません。教えてください。
0868デフォルトの名無しさん2016/02/06(土) 22:44:21.68ID:5ZOibTPd
itertools.groupbyしてlenするのはいかが
0869デフォルトの名無しさん2016/02/06(土) 22:50:41.03ID:5ZOibTPd
collections.Counterのがいいかな
0870デフォルトの名無しさん2016/02/06(土) 22:56:54.80ID:gUuTmcOu
>>868,869
ありがとうございます。
どちらも試してみます。
0871デフォルトの名無しさん2016/02/06(土) 23:24:19.21ID:RVLPq+WB
collections.Counterなんてもの初めて知ったわ

import collections
with open(
0872デフォルトの名無しさん2016/02/06(土) 23:27:18.51ID:RVLPq+WB
途中で切れたので ttp://pastebin.com/YTCLqz1G
0873デフォルトの名無しさん2016/02/06(土) 23:38:00.97ID:y0aNOiGQ
1つの同じclassに属するmethodの一部いくつかを
複数のファイルに分割して記述する方法は
Pythonにありますか?
0874デフォルトの名無しさん2016/02/06(土) 23:51:54.66ID:5ZOibTPd
ありませんなあ
近い方法としてはmixin
08758732016/02/07(日) 01:54:09.10ID:XRfQ2Roz
>>874
あざーす
ちと残念です
0876デフォルトの名無しさん2016/02/07(日) 08:13:46.36ID:n5xcEjGA
複数のファイルに分けたいならクラスも分けるべき
0877デフォルトの名無しさん2016/02/07(日) 09:10:12.14ID:Q6NI89/5
こんな感じのことならできるよ

def c_foo(self, v):
 print(self._X, v)

class C(object):
 _X = 100
 def __init__(self):
  pass
 foo = c_foo

c = C()
c.foo('hello')
0878デフォルトの名無しさん2016/02/09(火) 03:07:30.03ID:ku7GvGJ5
質問!

>>>a = np.array(10)
>>>a
array(10)

みたいに入っちゃってるやつはどうやって取り出せばいいですか?
0879デフォルトの名無しさん2016/02/09(火) 04:55:36.89ID:5Q2HQS/W
カッコの中の値のことを言っているならa.tolist()
0880デフォルトの名無しさん2016/02/09(火) 13:33:54.86ID:rVIS0mJb
a.shape
0881デフォルトの名無しさん2016/02/09(火) 15:14:13.06ID:H0Jk8QTh
python3で、みんなのpython webアプリ編のサンプルを動かそうとしたのですが、
実際にcgiサーバーをたてて動かすと、
b
0882デフォルトの名無しさん2016/02/09(火) 15:15:41.87ID:H0Jk8QTh
python3で、みんなのpython webアプリ編のサンプルを動かそうとしたのですが、
実際にcgiサーバーをたてて動かすと、バイト値?のような形で出力されます。
これは、utf-8のエンコードができてないのでしょうか。
どうすれば、ブラウザに読める文字を出力できるのでしょうか、教えてください。
サーバーで動かそうとしたプログラムは、http://ideone.com/wgYoxI です。
クエリは、yearを3000に指定しました。
0883デフォルトの名無しさん2016/02/09(火) 16:21:32.13ID:rVIS0mJb
文字列ごとにエンコードするんじゃなくて
既にstdoutにかぶせてあるエンコード処理を別のものに差し替える
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')

または
素のstdoutにバイナリデータで書き込む
sys.stdout.buffer.write(binary_data)
0884デフォルトの名無しさん2016/02/09(火) 16:25:29.57ID:5Q2HQS/W
print()は出力文字列をエンコード処理するのだが
>>882ではバイト列を渡しているので「バイト列の表示」をやろうとしている
最後のprint()の.encode('utf-8')を外して文字列を出力するようにするんだ
0885デフォルトの名無しさん2016/02/09(火) 16:41:12.65ID:f0qARbp6
>>879
ありがとうございます!なんとかなりました!
0886デフォルトの名無しさん2016/02/09(火) 19:37:27.49ID:H0Jk8QTh
>>883ありがとうございます。 ブラウザへの出力に成功したのですが
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')では
標準出力をバッファのデータをエンコードして出力することに一時的に変更しているのですか?
また、標準出力では文字列をエンコードしているのだと思っているのですが、なぜそれでは
うまくブラウザに出力できなかったのでしょうか?
0887デフォルトの名無しさん2016/02/09(火) 19:41:56.05ID:H0Jk8QTh
>>884 実行したところ、日本語が出力されず文字化けのようになってしまっていました
0888デフォルトの名無しさん2016/02/09(火) 20:28:56.67ID:5Q2HQS/W
>>887
文字化けはブラウザの表示がってこと?
もしそうならページがUTF-8で出力されていないのが原因だと思われる

>>886のレスから推測するに標準出力にUTF-8が使われていない環境、
たぶんWindows版Pythonを使っていると思われるので
Content-TypeのencodingをShift_JISに変えると解決するかもしれない
0889デフォルトの名無しさん2016/02/09(火) 20:44:09.92ID:5Q2HQS/W
あと一応突っ込んでおくと
>>882のhtml_bodyにあるmeta要素が壊れているので直したほうがいい
冒頭にDOCTYPE宣言も入れるとさらにベター
HTML4なら
<meta http-equiv="Content-Type" content="text/html; charset=エンコーディング名">
HTML5なら
<meta charset="エンコーディング名">
0890デフォルトの名無しさん2016/02/09(火) 21:50:33.70ID:H0Jk8QTh
>>888 >>>889
shift_jisに変えたら出力できました。ありがとうございました。
0891デフォルトの名無しさん(玉音放送)2016/02/09(火) 22:16:21.53ID:9+CKtYlS
py2exeが1時間たっても終わらんから
pyinstallerでexe化したら60MB…
数行書いただけでこれってexeにするのは他の言語やなぁ
0892デフォルトの名無しさん2016/02/10(水) 04:48:52.66ID:1BDU6btm
当然やろ
exe化とか馬鹿げた使い方だ
0893デフォルトの名無しさん2016/02/10(水) 11:34:48.47ID:0DEQDr4W
Pythonでわざわざバイナリ化するのってバカだと思う
0894デフォルトの名無しさん(玉音放送)2016/02/10(水) 22:19:21.35ID:t7HoZJUN
しゃーないやん
pythonの方が楽なんだもの
面倒な行列計算をC#で組みたくなかったんだわ
0895デフォルトの名無しさん2016/02/10(水) 22:44:15.00ID:fygSQYjJ
行列計算の難易度ってc、fortran以外でも言語によって違うのか
0896デフォルトの名無しさん2016/02/10(水) 22:54:34.72ID:qUNHwT/7
つR
0897デフォルトの名無しさん2016/02/10(水) 23:22:14.45ID:6ZCu6aYl
>>895
J言語。
0898デフォルトの名無しさん2016/02/10(水) 23:41:56.19ID:ZRcL4yE9
Rってnumpyとそこまで差があるか?
0899デフォルトの名無しさん2016/02/12(金) 18:58:18.46ID:zhNvVfnf
Juliaがキテるなー
0900デフォルトの名無しさん2016/02/12(金) 19:40:37.31ID:1JjCMajO
R よりも速く Python よりも美しい Julia
http://peace.2ch.net/test/read.cgi/tech/1455271513/
0901デフォルトの名無しさん2016/02/12(金) 20:33:38.15ID:ux6Bc/zl
Juliaってnumpyより遅いんだっけ?
0902デフォルトの名無しさん2016/02/12(金) 20:57:03.67ID:FdoxGoI7
endとかいう血便言語由来みたいなステートメントがブッサイク
0903デフォルトの名無しさん2016/02/12(金) 21:35:35.01ID:/Zo+AWKp
ググってババアのAVがトップに出る時点でお察し
糞言語と心中したいなら、まぁお好きにどうぞって感じ
0904デフォルトの名無しさん2016/02/12(金) 21:45:57.09ID:cP/GHtzS
ループが早いって魅力やな
行列計算だけで切り抜けられないし
0905デフォルトの名無しさん2016/02/13(土) 12:09:09.57ID:3L3e3K/U
>>903
日本語でググるとひどいことになるな
0906デフォルトの名無しさん2016/02/13(土) 12:11:40.25ID:3L3e3K/U
>>901
ここに速度比較っぽいものがあるね
http://blog.rawrjustin.com/blog/2014/03/18/julia-vs-python-monte-carlo-simulations-of-bitcoin-options/
https://chezou.wordpress.com/2014/05/07/julia-vs-python-bitcoin-option/
0907デフォルトの名無しさん2016/02/13(土) 14:07:51.58ID:S+goZO00
ここで質問することじゃないけど、pythonを覚えてるのとどこで訊いていいかわからん・・・。

プログラミング練習で*などの記号で3角形をif,for,whileなどを作るのがよくある。
そういう問題を解きたいが、どういう思考をしたら「こうじゃね?」みたいな思考になるのかな。
最初のとっかかりがあれば試行錯誤できるが、さっぱりわからん。
0908デフォルトの名無しさん2016/02/13(土) 14:40:53.55ID:yThA29Fw
>>907
*の出力という似たような処理を繰り返しやる -> ループ
*が一つづつ増えていくんだから,ループごとにインクリメントすればいい
みたいな思考だと思う
0909デフォルトの名無しさん2016/02/13(土) 15:22:02.53ID:TJJPTDt/
*で3行の三角形を出力するとして
*を複数行出力とか考えるのめんどくさいので
とりあえず1行ずつ出力できるように作ってみる
3作れたら前に作ったコードを使って3行出力してみる
なんか同じようなコードが3つ並んでるように気づいたら
まとめてみる工夫をする
0910デフォルトの名無しさん2016/02/13(土) 16:01:11.23ID:VOAHXUI0
今日の日付を2016年2月13日のように出力したいのですが

import datetime



d = datetime.date.today()


print(d.strftime('%Y/%m/%d'))   #1

print(d.strftime('%Y年%m月%d日')) #2

paiza ioだと#1#2も表示されるのですが
windowsのpython3だと#1は表示され#2で
ValueError: embedded null byte
エラーがでるのですがどうしてなのでしょうか
0911デフォルトの名無しさん2016/02/13(土) 16:09:34.66ID:eB2g2Ty2
ゴミ屑レガシーの池沼性犯罪者精神障ガイジが使ってるパイチョン2.7とかいうオチだろ
2.7使ってる有害動物は早く死滅してほしいわ
09129102016/02/13(土) 16:17:05.23ID:VOAHXUI0
UbuntuのPython3でも試してみましたが問題なく表示されました。

自分のWindowsパソコンだけなのかな
0913デフォルトの名無しさん2016/02/13(土) 16:19:01.63ID:s+9Slq2v
Windowsのバグのせいで, python3でもwcsftimeでなくstrftimeを使って実装されてるから起こる
http://bugs.python.org/issue8304

対処法は日本語を使用しないことだけ
0914デフォルトの名無しさん2016/02/13(土) 16:19:44.31ID:s+9Slq2v
こんな所でもジャップに厳しいPython
0915デフォルトの名無しさん2016/02/13(土) 16:20:01.16ID:GbHhLBWh
>>910
年、月、日が日本語だからじゃね?
0916デフォルトの名無しさん2016/02/13(土) 16:21:30.70ID:s+9Slq2v
localモジュールでロケール設定すれば行けるかも
0917デフォルトの名無しさん2016/02/13(土) 16:22:32.13ID:s+9Slq2v
>>911
大はずれ
この恥ずかしいゴミに憐れみを
0918デフォルトの名無しさん2016/02/13(土) 16:26:03.70ID:00YDDbEs
しかも2.7ではstrなら年月日は問題なく素通りする
3.xだとUnicode強制なのでエラーが起きる、bytesを渡すと怒られる
これはひどい
0919デフォルトの名無しさん2016/02/13(土) 16:30:00.44ID:S+goZO00
>>908,909
ありがとうございます。やってみます。
09209102016/02/13(土) 16:32:26.96ID:VOAHXUI0
>>913
Windowsだけなんですね。
ありがとうございます。

>>915
/や-みたいに日本語じゃないと大丈夫です。
0921デフォルトの名無しさん2016/02/13(土) 17:44:59.53ID:6qRaMcc6
"どうすればPythonをJuliaと同じくらい速く動かせるのか? : 様々なやり方で計算の高速化を図る"
http://postd.cc/python_meets_julia_micro_performance/
0922デフォルトの名無しさん2016/02/13(土) 18:58:26.75ID:oNOxmRaR
import datetime
d = datetime.date.today()
print('{}年{}月{}日 {}曜日'.format(d.year, d.month, d.day, '月火水木金土日'[d.weekday()]))

面倒だね
0923デフォルトの名無しさん2016/02/13(土) 19:03:45.02ID:3L3e3K/U
virtualenv とかみたいに windows の時刻表示も環境ごっそり替えられたらいいのに
0924デフォルトの名無しさん2016/02/13(土) 20:28:03.84ID:DifVWC86
サーバーを使わずに、ローカルhtmlのform内容を.pyで受け取る事はできますか?
0925デフォルトの名無しさん2016/02/13(土) 21:00:41.51ID:oNOxmRaR
環境次第では出来なくはないかも
0926デフォルトの名無しさん2016/02/13(土) 21:55:49.88ID:UEtCI28I
モジュール名ってどうやって決めてますか?
自分の場合、ある程度大きいクラスになると1ファイルに1クラスというパターンになって
モジュール名=そのクラス名ということが多くなるんですが
Python的にどうなんでしょう?
0927デフォルトの名無しさん2016/02/13(土) 23:22:10.02ID:+XXP2kXQ
>>924
pythonに限らず鯖を立てなければ不可能
0928デフォルトの名無しさん2016/02/13(土) 23:42:11.21ID:00YDDbEs
>>924ってクライアント側でjavascriptの代わりにpythonを使いたいってことじゃ?
0929デフォルトの名無しさん2016/02/14(日) 00:22:09.09ID:l8k1FRK9
>>926
とりあえず以下を守って
https://www.python.org/dev/peps/pep-0008/#id36

あとはお好きにどうぞ
0930デフォルトの名無しさん2016/02/14(日) 01:30:24.96ID:bUv32lqe
>>924ですが無理そうですね。
GUIでjqueryを使って、その結果をpyで処理したかったのですが、、
lamppでやります。
0931デフォルトの名無しさん2016/02/14(日) 02:45:44.68ID:l8k1FRK9
初めからその説明をしていればCGIHTTPServerでもwsgiref使えよって言ったと思うよ
初心者の癖に状況をオミットして喋るなよ、おバカ
0932デフォルトの名無しさん2016/02/14(日) 03:02:15.76ID:RTsIeF+o
自称上級者、後出しでドヤ顔
自称上級者の癖に状況をオミットして考えるなよ、おバカ
0933デフォルトの名無しさん2016/02/14(日) 07:58:40.87ID:5pBX52FC
池沼性犯罪者精神障ガイジ有害動物の御登場か
0934デフォルトの名無しさん2016/02/14(日) 12:21:28.48ID:gcI5+E6S
CGIHTTPServerはサーバだろ
0935デフォルトの名無しさん2016/02/14(日) 13:22:56.51ID:RTsIeF+o
ID:l8k1FRK9

オミットヴォーイ、涙目で敗走ww
0936デフォルトの名無しさん2016/02/14(日) 15:44:15.05ID:I7XQV4oJ
wxPythonにhtml扱えるウィジェットあって
それで出来たような気がしないでもない
0937デフォルトの名無しさん2016/02/14(日) 16:02:44.99ID:ivr/KRVx
http://news.mynavi.jp/series/python/002/
今、↑これを学んでいます。
コマンドプロンプトで、testを呼び出して実行するところなのですが、
エラーになってしまいます。
理由が分かりません。
>>> % python test.py を実行すると、
 File
0938デフォルトの名無しさん2016/02/14(日) 16:04:33.20ID:sXYJnTNL
mac? windows?
0939デフォルトの名無しさん2016/02/14(日) 16:16:59.40ID:I7XQV4oJ
>>937
>>> 表示してある所はpythonインタープリタ上での入力
% 表示してある所はコマンドライン上での入力
Ctrl + Z でインタープリタ抜けて
コマンドライン上で python test.py
0940デフォルトの名無しさん2016/02/14(日) 17:05:23.86ID:K3Bh90/u
>>>
はpythonインタープリタ上での入力を表す

一方、python test.py
は、コマンドライン上のコマンドで、
bashなどのシェルが、コマンドを解釈して起動する

python がコマンド名で、test.py が引数
0941デフォルトの名無しさん2016/02/14(日) 17:13:13.61ID:ivr/KRVx
937です。
>>938
>>939
ご回答ありがとうございます。
私はプログラミングが全くの初心者です。

windows vistaです。
ctrl+zで抜けてpython test.py実行したのですが、
python: can't open faile 'test.py':[Errno 2] No such faile or directory
と表示されます。
% python test.pyを実行しても、
'%'は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。
と表示されます。

これは「開発環境」というものが私はまだ綺麗に組めていないのでしょうか?
IDLEまではインストール成功しています。
そっちでも、足し算や単なるprintのプログラムの実行は成功しています。
もしかして、ディレクトリ等の指定の階層ズレというやつなのでしょうか?
それとも、標準ライブラリというものをインストールする必要があるのでしょうか?
ご教授頂ければ幸いです。よろしくお願いいたします。
また、上記のサイト以上に初心者にわかりやすい入門サイトがもしあればお教えいただければ幸いです。
いろんな入門サイトがありましたが、自分はまだプログラムを書けないばかりか、
プログラムたるものがなんなのかが全く分かっていないので、
一から基本通りに構文とかを学ぶよりも先にまず慣れるために、
何かプログラムをどんどんコピペして実行させながら学んでいくサイトがよいかと思ってます。
それで、このサイトを見ていたのですが、プログラムの「開発環境?」とかいうものに躓いている段階だと思われます。
0942デフォルトの名無しさん2016/02/14(日) 17:23:36.53ID:ivr/KRVx
>>940

インタプリタとコンパイラの違いを調べてみます。言葉は今までに聞いたことはあったのですが、特にインタプリタというものが全くわかっていません。
ご回答ありがとうございました。
0943デフォルトの名無しさん2016/02/14(日) 17:23:45.28ID:RTsIeF+o
No such faile or directoryなんだろうよ
バカなの茶?
0944デフォルトの名無しさん2016/02/14(日) 17:34:32.12ID:I7XQV4oJ
>>941
>>> や % の文字は画面表示上のことなので入力してはいけない

コマンドプロンプトに cd /d と入力(末尾にスペース加えて)
ファイル test.py があるフォルダのアイコンをエクスプローラからコマンドプロンプトにドラッグ&ドロップ
すると cd /d
0945デフォルトの名無しさん2016/02/14(日) 17:38:47.53ID:I7XQV4oJ
すると cd /d ”D:¥hoge¥fuga”などと入力されるので、エンター押して実行。
現在居るフォルダが移動して、行頭が D:¥hoge¥fuga> の表示になる。
あとは、python test.py と入力してエンター押す。
0946デフォルトの名無しさん2016/02/14(日) 18:26:20.27ID:ivr/KRVx
>>944-945
ご回答ありがとうございます。
コマンドプロンプトでCtrl+zで抜けて、
C:\Users\Owner>
↑
ここに
C:\Users\Owner>cd△/d△  (△はスペース)
という形で入力した状態で、
「Python35-32」というフォルダをドラッグして、
はりつけようとするのですが、○にななめマークで「できません」みたいなマークが出て貼り付けることができません。
何が間違っているのでしょうか?
0947デフォルトの名無しさん2016/02/14(日) 18:33:38.12ID:ivr/KRVx
自己解決しました。
vistaではドラッグ&ドロップが効かないようです。
「パスとしてコピー」で対処できるようです。
おかげさまで無事にプログラム実行できました。
ありがとうございました。
0948デフォルトの名無しさん2016/02/14(日) 19:08:20.43ID:NxxLKQZP
XPではできていたのに、なぜそんな部分が退化するのか
アホではないのか
0949デフォルトの名無しさん2016/02/14(日) 19:40:44.70ID:RTsIeF+o
>>948
おいパイソンの悪口はやめろ>>918
0950デフォルトの名無しさん2016/02/14(日) 19:51:39.50ID:0aXuSkUF
>>947-948

それたぶん、一般権限のアプリから管理者権限のアプリへのドラッグ&ドロップが出来ないってやつでしょ。
起動するときに親の権限を引き継ぐから、スクリプトでアプリを起動するときは気をつけないと。
0951デフォルトの名無しさん2016/02/14(日) 19:55:56.32ID:NxxLKQZP
>>950
違う
権限が一致しててもVistaだけ駄目
だから馬鹿にしてんだよ
0952デフォルトの名無しさん2016/02/14(日) 19:58:53.67ID:NxxLKQZP
>>949
3ユーザーのアホは死んどけ
0953デフォルトの名無しさん2016/02/15(月) 03:39:56.48ID:rbMMZedN
http://news.mynavi.jp/series/python/003/
↑GUIに挑戦なんですが、以下のプログラムをテキストにコピペして実行しても、エラーになります。
pythonのバージョンは、3.5.1です。
エラー文です。「ImportError: No module named 'Tkinter'」

import Tkinter
font=("Helevetica", 32, "bold")
label = Tkinter.Label(text="Hello Python", font=font, bg="red")
label.pack()
label.mainloop()
0954デフォルトの名無しさん2016/02/15(月) 03:42:18.74ID:rbMMZedN
http://www.nslabs.jp/monkey-python-01.rhtml
↑ここを参考にtkinterがインストールされているか確認したのですが、
コマンドプロンプト、IDLEともに、
「画面2 Tkinterパッケージの確認」の状態になります。

test.pyに953をコピペしてF5で実行すると、先ほどのエラーになります。
0955デフォルトの名無しさん2016/02/15(月) 04:38:51.37ID:lr5Pfglo
>>954
> test.pyに953をコピペしてF5で実行すると、先ほどのエラーになります。
ファイル名変えてみ
0956デフォルトの名無しさん2016/02/15(月) 06:02:52.71ID:cmc2Xpmo
>>954
Python3からは「tkinter」に改名されたそうです。
全部小文字にしてみてください。
自分はこんな風にしてどちらのバージョンでもいけるようにしました。

try:
import tkinter as Tk #Python3
except ImportError:
import Tkinter as Tk #Python2
0957デフォルトの名無しさん2016/02/15(月) 09:16:01.89ID:rbMMZedN
ご回答ありがとうございます。
Tkinter→tkinterで実行可能になりました。

↓これはどこにどう付け加えればよいのでしょうか?
try:
import tkinter as Tk #Python3
except ImportError:
import Tkinter as Tk #Python2

↓こんな感じにしたりしましたが動きませんでした。
import tkinter as Tk #Python3
import Tkinter as Tk #Python2
font=("Helevetica", 32, "bold")
label = tkinter.Label(text="Hello Python", font=font, bg="red")
label.pack()
label.mainloop()
0958デフォルトの名無しさん2016/02/15(月) 09:20:25.66ID:rbMMZedN
自己解決しました。ありがとうございました。

try: import tkinter as Tk #Python3
except ImportError:import Tkinter as Tk #Python2

font=("Helevetica", 32, "bold")
label = Tk.Label(text="Hello Python", font=font, bg="red")
label.pack()
label.mainloop()
0959デフォルトの名無しさん2016/02/15(月) 15:21:45.52ID:8Z92Uy24
paiza.IO, codepad なら、ログインなしで、
ブラウザからプログラミングできる。
環境構築もいらん

ただし、tkinterのような画面描画はできない
0960デフォルトの名無しさん2016/02/15(月) 15:28:55.95ID:8Z92Uy24
>>924-931
Firefoxで、オープンソースのSeleniumを使って、自動テストできる

対応言語は、Java, C#, Python, Ruby, PHP, Perl, JS(Node.js)
0961デフォルトの名無しさん2016/02/15(月) 15:56:49.51ID:6fm498FM
初心者中の初心者ですけど、とりあえずidle使っておけばいいんですかね?

jupyterとかは早いですか?
0962デフォルトの名無しさん2016/02/15(月) 18:19:19.37ID:TvNTryet
コンパイルしてあれば速いんじゃね?
0963デフォルトの名無しさん2016/02/15(月) 19:47:15.94ID:6fm498FM
あ、レベル的に手を出すのは早い?という質問でした
0964デフォルトの名無しさん2016/02/15(月) 22:40:50.31ID:1Ir1vAKj
画面に何かしら表示されるのは楽しいから
モチベーションの助けにはなるかも知れない
ならないかもしれない
0965デフォルトの名無しさん2016/02/15(月) 23:07:50.37ID:Qi6VKFgH
>>961
初心者には出来るだけide(pycharm、cloud9など)を使うように勧めている。

慣れてきたらメモ帳でもスマホメモでもアイディア実装出来るだろうけど、始めの頃はコード補完機能が学習で役に立つ。
0966デフォルトの名無しさん2016/02/16(火) 00:28:08.85ID:z2XJLioo
VisualStudio使ったことある人ならVisualStudio+PTVSもいいと思う
0967デフォルトの名無しさん(玉音放送)2016/02/16(火) 01:03:44.18ID:IpRbT4we
ipython notebook最高ですわ
これがあるからpythonやってるようなもの
0968デフォルトの名無しさん2016/02/16(火) 12:10:53.08ID:OHS4PN3k
web から試せるよ
https://try.jupyter.org/
0969デフォルトの名無しさん2016/02/16(火) 18:48:55.82ID:A6aJ9Obz
>>965
ありがとうございます。
pycharmダウンロードしたらIpythonも使えるようです。
0970デフォルトの名無しさん2016/02/17(水) 18:13:32.08ID:er8A6HKf
a = 1
def f():
____print(a)
f()

これ1と表示されるのは何でですか?
何で
a = 1
def f():
____global a
____print(a)
f()
というふうにglobal aをかいてないのにaにアクセスできるんですか?
0971デフォルトの名無しさん2016/02/17(水) 18:45:19.90ID:j/SDOTKe
参照する場合は外側の名前空間へ向かって探される

import a
def f():
____print(a.hoge())
こいうのと考え方は同じ

代入する場合は global や nonlocal が必要になる
0972デフォルトの名無しさん2016/02/17(水) 19:29:28.05ID:er8A6HKf
代入したらエラーになりました
なるほど勉強になりました
0973デフォルトの名無しさん2016/02/17(水) 19:37:54.11ID:er8A6HKf
たびたびすいません
python -O file.pyと
python file.py -Oってなんでprint(__debug__)の結果が異なるんですか?
0974デフォルトの名無しさん2016/02/17(水) 21:24:21.01ID:j/SDOTKe
python -O file.py これは最適化オプション有効で、file.pyへの引数なし
python file.py -O これは最適化オプションなしで、file.pyへの引数が
0975デフォルトの名無しさん2016/02/17(水) 21:25:10.35ID:j/SDOTKe
python -O file.py これは最適化オプション有効で、file.pyへの引数なし
python file.py -O これは最適化オプションなしで、file.pyへの引数が-O
0976デフォルトの名無しさん2016/02/18(木) 11:04:57.02ID:y9vVwnmb
実行を途中で止める関数などはありますか?
phpでいうdie()みたいなものです
無理やりdie()と書いてエラーで終了させてもいいのですが、ちょっと不気味なのでエラーなしの方法を教えていただけるとありがたいです
0977デフォルトの名無しさん2016/02/18(木) 11:47:28.70ID:SB52IWqF
exit()かsys.exit()だけど
これらは実質SystemExitをスローするだけ
SystemExitをトップレベルのスタックまで誰もハンドルしなけりゃプログラムが終了する
0978デフォルトの名無しさん2016/02/18(木) 11:48:37.31ID:y9vVwnmb
なるほど、ありがとうございます。
0979デフォルトの名無しさん2016/02/18(木) 12:27:36.69ID:S96kZ0X7
英語だが Python をつかった科学計算を丁寧に解説しているサイト
ちなみに著者の一人 Sargent はノーベル経済学賞をとっている

http://quant-econ.net/py/
0980デフォルトの名無しさん2016/02/18(木) 12:30:21.97ID:S96kZ0X7
Julia 版はこちら
http://quant-econ.net/jl/
0981デフォルトの名無しさん2016/02/18(木) 12:36:46.86ID:S96kZ0X7
次スレはこちら

くだすれPython(超初心者用) その29
http://peace.2ch.net/test/read.cgi/tech/1455766402/
0982デフォルトの名無しさん2016/02/18(木) 12:49:42.30ID:6+JSn493
>>975
なるほど、引数の位置には気をつけないとトラブルになりそうですね
こういうの初めて遭遇しました
他の言語でもあるんでしょうかね
0983デフォルトの名無しさん2016/02/18(木) 12:56:47.31ID:Rcq9wZ6p
スクリプトを指定して実行できる言語全てに存在すると思いますよ
インタプリタにしか引数を与えられないのも
スクリプトにしか引数を与えられないのも不便でしょ
0984デフォルトの名無しさん2016/02/18(木) 16:29:53.07ID:S1lk2w1O
例えば何の言語?
0985デフォルトの名無しさん2016/02/18(木) 18:01:45.58ID:hhAx0KRP
それを知ることに何の価値があんだよクソカス
0986デフォルトの名無しさん2016/02/18(木) 20:52:59.50ID:YmxYqFld
とりあえずsh, perl, php, ruby, node
何かの役に立ったら何の役に立ったのか教えてね
つまらないことだったら殺す
0987デフォルトの名無しさん2016/02/18(木) 21:47:45.15ID:ThW4WIO9
くだすれでつまらないこと質問したら殺されるのか……
0988デフォルトの名無しさん2016/02/18(木) 21:55:19.43ID:VCSge8HQ
算数もわからないのに機械学習をやろうとした自分が悪かった・・・
0989デフォルトの名無しさん2016/02/18(木) 22:33:35.20ID:Ldw+vT3S
> つまらないことだったら殺す
無理無理w
お前に相手の居場所を突き止める能力もないし
人を殺す度胸もない。
0990デフォルトの名無しさん2016/02/18(木) 22:45:17.93ID:VCSge8HQ
オライリーで3月にもPython系が2冊発売されるし
最近書籍ですぎぃ
0991デフォルトの名無しさん2016/02/19(金) 11:13:31.19ID:8n3UeSvv
>>986
ファイル名の前後で意味が変わる引数の具体例が出てないね
0992デフォルトの名無しさん2016/02/19(金) 11:51:24.20ID:Ap7HgcUx
983が言ってる両方に引数渡せるようにしたいとなると
「ファイル名の前後で意味が変わる引数」が汎用的で理解し易いからデファクトスタンダードになるのは当然でしょ
逆に「前後で意味が変わらない」仕様だとどうなるか想像してみるといいよ
0993デフォルトの名無しさん2016/02/19(金) 12:29:03.25ID:ufxz0kxk
>>991←こいつはまだ意味が分かってないからもっと丁寧に説明してやれお前ら
0994デフォルトの名無しさん2016/02/19(金) 12:40:00.21ID:6O+Ly4Vm
馬鹿の相手なんかすんなし
0995デフォルトの名無しさん2016/02/19(金) 12:48:01.60ID:ffiG3a/O
いまいちPythonのポジションがわからないんだけれど、

JavaScriptがウェブの主人公且つ最近はNode.jsを基点にアプリやハード制御
までこなす万能選手ってポジションだと思ってるんだけれど、Pythonはどうなの?

少なくともブラウザのクライアントサイドだとかこれでアプリが作れるってことはない
ようなんだけれど。
0996デフォルトの名無しさん2016/02/19(金) 12:48:11.39ID:qpWieAWs
>>986
本当につまらなかったから責任もって殺せよ
嘘ついたらハリセンボン飲ますぞ
0997デフォルトの名無しさん2016/02/19(金) 12:53:11.33ID:qpWieAWs
>>995
http://www.tiobe.com/index.php/tiobe_index

の割にはランク低いっすね
Perl以下ってとんだクソ雑魚ナメクジだわw
0998デフォルトの名無しさん2016/02/19(金) 13:52:04.28ID:hw/X0Y/j
Pythonの実行速度に満足できないあなたに
http://www.mwsoft.jp/programming/julia/python_to_julia.html

正直なところ、まだ足りないところも多い言語なので、
今の時点で飛び込んでもそんなに良いことはないかもしれません。

個人的には分析するデータの整形をさせたり、簡単なシュミレータを書き捨てる用途などで使っています。

適当に書いてもそれなりに速度が出るし記法もシンプルで書きやすいので、
Pythonよりも便利だと感じていますが、
ライブラリの揃いや信頼性などの問題で、前処理だけはJuliaでやって
肝心なところはPythonやRで、といった流れになることもしばしばです。
0999デフォルトの名無しさん2016/02/19(金) 13:52:42.89ID:hw/X0Y/j
Pythonの実行速度に満足できないあなたに
http://www.mwsoft.jp/programming/julia/python_to_julia.html

これからJuliaを始める方へ
これからJuliaを始めようという方は、まずは下記ページに書かれているサンプルコードを眺めてみると、
どんな言語か理解できると思います。

Julia By Example
http://www.scolvin.com/juliabyexample/
統計関連のライブラリがどの程度揃っているかは、下記にまとめられています。
ちゃんとDataFrame的なものもあって、そこそこ揃ってはいます。
Julia Statistics
https://github.com/JuliaStats
入門書などの情報は出版されれば下記に掲載されると思う。(まだ入門書なんて存在しねーけどな)
Learning Julia
http://julialang.org/learning/
公式サイトのドキュメントも充実しています。充実し過ぎてどこから読めばいいのかわからなくなります。
Julia Documentation
http://docs.julialang.org/
あとは挙動でわからないことがあれば、ソースを読もう。
わかりやすいシンプルなコードなので、意外と簡単に読めます。
言語作者が書いたコードに触れておくと勉強になるしね。
JuliaLang/julia - GitHub
https://github.com/JuliaLang/julia

本当はもっと初見向きなサイトを紹介したかったんだけど、あまり見当たらない。
今の調子ならそのうち増えてくると思うので、
その手の本を書店で見かけるようになった時が始めるタイミングとしては良いんじゃないだろうか。
※本項は更新情報があれば適宜変更します
1000デフォルトの名無しさん2016/02/19(金) 13:53:42.87ID:hw/X0Y/j
くだすれPython(超初心者用) その29
http://peace.2ch.net/test/read.cgi/tech/1455766402/
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
10021002Over 1000Thread
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
http://premium.2ch.net/
http://pink-chan-store.myshopify.com/
レス数が1000を超えています。これ以上書き込みはできません。