Pythonのお勉強 Part46

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
2デフォルトの名無しさん:2012/02/09(木) 00:14:20.18
以上
3デフォルトの名無しさん:2012/02/09(木) 01:19:00.88
いちおつ
4デフォルトの名無しさん:2012/02/09(木) 01:19:54.95
   ┌─┐
   │●│
   └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘
5デフォルトの名無しさん:2012/02/09(木) 01:41:45.34
|....,,__
|_::;; ~"'ヽ
| //^''ヽ,,)
|  i⌒"
| ∀`) < 誰もいない きのこるならいまのうち
|⊂
| ノ
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
      |( ´∀`) < きのこ のこーのこ げんきのこ ♪
      |(ノ   |つ
      |     |
     ⊂ _ ノ
       ""U
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
     (´∀` )| < エリンギ まいたけ ブナシメジ ♪
    ⊂|  (ノ |
      |     |
      ヽ _ ⊃
      .U""
|
| ミ
| ミ  サッ!
| ミ
|
6デフォルトの名無しさん:2012/02/09(木) 01:48:52.15
日本語の扱いで戸惑ったらこちらをどうぞ(バッドノウハウ集で笑える)
http://speirs.blog17.fc2.com/blog-entry-4.html
http://atomic.jpn.ph/prog/etc/encode.html
http://d.hatena.ne.jp/kakurasan/20100330/p1

http://pc11.2ch.net/test/read.cgi/tech/1217836194/339
339 :デフォルトの名無しさん:2008/08/23(土) 08:36:00
    PythonのUnicodeEncodeErrorを知る
    http://lab.hde.co.jp/2008/08/pythonunicodeencodeerror.html

    よくまとまってた。あとで読む

7デフォルトの名無しさん:2012/02/09(木) 05:48:45.11
>>1 乙py
8デフォルトの名無しさん:2012/02/09(木) 19:55:23.94
GAE上でC2DMサーバへPOSTしようとするのですが
<class 'google.appengine.api.urlfetch_errors.SSLCertificateError'>
と出るのですがどういうエラーなんでしょうか?
9デフォルトの名無しさん:2012/02/09(木) 22:29:05.27
ググレカス、証明書がおかしいよ
って書いてある。
google.appengine.api.urlfetch.errorsの部分がググレカス
SSLCertificateErrorが証明書がおかしいよって部分
10デフォルトの名無しさん:2012/02/10(金) 02:03:14.57
仕事でPython使ってる人に質問。
Pythonのバージョンってどれ使ってる?
理由とともに教えてくれ。
あと他の会社での事例もしっていたら教えて下さい。

期待する回答例:
・2.7。理由はDjangoが3に対応しないから。
・3.2。理由はすべてスクラッチで開発してるので既存のライブラリを気にしなくていい状況だったから。
11デフォルトの名無しさん:2012/02/10(金) 02:14:29.64
2.7。理由はDjangoが3に対応しないから。
12デフォルトの名無しさん:2012/02/10(金) 02:14:46.18
3.2。理由はすべてスクラッチで開発してるので既存のライブラリを気にしなくていい状況だったから。
13デフォルトの名無しさん:2012/02/10(金) 02:50:08.09
期待通りのレスをもらったのに愚痴るひとのレス
14デフォルトの名無しさん:2012/02/10(金) 03:00:36.62
↓  ↑
→→↑

あらよっと
15デフォルトの名無しさん:2012/02/10(金) 05:02:55.68
Python3.2の継承の実装について知りたいのですが、
どのsourceを読めばいいのかご存知の方おられませんか?
もしご存知でしたら教えて頂きたいのですが。

Python/pythonrun.c, Python/ast.c, Objects/typeobject.c
辺りを grep ^[a-z_]+( して当たりを付けたいのですが、
今だ見つけれておりません。
16デフォルトの名無しさん:2012/02/10(金) 07:12:15.62
>>15
継承の実装と言うのが、

・継承されたクラスがどんな風にコンパイルされるのか
・コンパイルされた結果がどんな風に実行されるのか

の、どっちを知りたいかはわからんけど、とりあえず、inherit あたりで
grep かけてみればいいかと。

> grep ^[a-z_]+( して当たりを付けたい

python のソースは、PyType_ClearCache( ) のように大文字使ってる
奴多いから、grep ^[A-Za-z0-9_]+( の方がいいんじゃないかな。
17デフォルトの名無しさん:2012/02/10(金) 07:13:13.43
>>15
継承の実装と言うのが、

・継承されたクラスがどんな風にコンパイルされるのか
・コンパイルされた結果がどんな風に実行されるのか

の、どっちを知りたいかはわからんけど、とりあえず、inherit あたりで
grep かけてみればいいかと。

> grep ^[a-z_]+( して当たりを付けたい

python のソースは、PyType_ClearCache( ) のように大文字使ってる
奴多いから、grep ^[A-Za-z0-9_]+( の方がいいんじゃないかな。
1816-17:2012/02/10(金) 07:14:31.92
スマン、エラーになったから書き込み直したら、二回書いてた。
19デフォルトの名無しさん:2012/02/10(金) 08:43:26.32
Objects/typeobject.c
PyType_Ready(PyTypeObject *type)の中の
inherit_special(type, type->tp_base);
を探っていっていますが、
私の踏んでいるbugが解決しない気がします。

class Bar_abstract(metaclass=ABCMeta):
pass
# class Bar_base(Bar_abstract):
# pass
# c の拡張で実装
class Bar(Bar_base):
pass

としているんですが、
bar = Bar()
dir(bar)
とすると、

#23 0x080719f5 in subtype_dict (obj=0xb73b69c4, context=0x0)
at ../Objects/typeobject.c:1756
#24 0x0817670a in getset_get (descr=0x95c46fc, obj=0xb73b69c4, type=0x95acd44)
at ../Objects/descrobject.c:148
#25 0x080719f5 in subtype_dict (obj=0xb73b69c4, context=0x0)
at ../Objects/typeobject.c:1756
#26 0x0817670a in getset_get (descr=0x95c46fc, obj=0xb73b69c4, type=0x95acd44)
at ../Objects/descrobject.c:148

こんなふうに無限loopになってしまいます。
http://www.btb-group.net/m-sam/upload/rup/bar_ext%2ezip
正直、Pythonのbugじゃないかな?
と疑っていますが、どなたかdebugを手伝って頂けないでしょうか?
20デフォルトの名無しさん:2012/02/10(金) 09:52:24.79
>>11,12
まじめに答えてよ!上司を説得するための材料を集めてるところなんだから!
21デフォルトの名無しさん:2012/02/10(金) 09:59:39.24
>>11-12は期待通りの結果となったんだから、
技術者冥利に尽きるじゃん。

ってのはおいとおいて。
どういう分野で使おうとしているかくらい情報提供してよ
ついでに>>19も助けてよ

私個人は3.2を使ってて、server系は2.7を使ってる。
安定稼働の信用性が求められるから、serverは実績の多い2.7にしてる。
3.2とかC拡張を見つけにくいのが困るよね。
22デフォルトの名無しさん:2012/02/10(金) 15:35:16.54
>>21
>どういう分野で使おうとしているかくらい情報提供してよ
Webアプリ(業務用)。
文字列周りが改善されたから3系(3.2)を使おうと思ったら、
Djangoが3系に対応してなくてびっくりしているところ。

>私個人は3.2を使ってて、server系は2.7を使ってる。
なるほど。個人では最新版を使うけど、仕事ではかれたバージョンを使うってことですね。
ありがとうございます。
23デフォルトの名無しさん:2012/02/10(金) 15:41:39.52
枯れてねーよ。アホか
24デフォルトの名無しさん:2012/02/10(金) 22:34:26.38
日本ではPythonを仕事で使ってるユーザが少ないから、事例を聞いても答えられる人はほとんどいないんじゃね?
25デフォルトの名無しさん:2012/02/10(金) 22:55:54.01
少し前にMLで似たような話があったな
26デフォルトの名無しさん:2012/02/11(土) 01:31:59.86
Pythonを仕事で使ってるけど、事例については守秘義務のため答えられない
27デフォルトの名無しさん:2012/02/11(土) 03:18:59.98
日本の仕事で多いのは
PHPとJava、VBから乗り換えのC#
あたりかな
28デフォルトの名無しさん:2012/02/11(土) 05:31:21.37
大学で使ってる
29デフォルトの名無しさん:2012/02/11(土) 23:58:56.44
学生のプログラミング演習で使っているのと
大学の受講履歴管理システムで使っているのとでは
だいぶ意味が違ってくるな。
学生の演習で使ってる、なんてタレコミははいらんだろ、>>10てきに。
30デフォルトの名無しさん:2012/02/12(日) 06:44:57.44

大学も言ったことない厨が申しており
31デフォルトの名無しさん:2012/02/15(水) 09:34:52.40
PyBytesObject の ov_sval を '\0' で埋めるのは、
Pythonの内部的に何か理由のあることなのでしょうか?
ob_sizeを持っているのに、'\0'を終端に付ける理由がよく分かりません。
PyBytesObject の bytes_methods のどれかが、
'\0' 終端に依存した実装だったりするのでしょうか?

/* Invariants:
* ob_sval contains space for 'ob_size+1' elements.
* ob_sval[ob_size] == 0.
* ob_shash is the hash of the string or -1 if not computed yet.
*/
32デフォルトの名無しさん:2012/02/15(水) 09:43:03.24
PyUnicodeObject との互換性のための様な気がしてきました。
そうであれば、'\0'終端を意識せずにPyBytesObjectを使っていこうかな。
と思いますがよいのでしょうか?
33デフォルトの名無しさん:2012/02/15(水) 23:15:49.26
無料で「みんなのPython Webアプリ編」のPDFファイルがダウンロード可能に
ttp://gigazine.net/news/20111222-free-python-web-pdf/

↑のリンク先が切れてる…
ファイル持ってる人、もし良かったら上げてくれないか?
うpろだ ttp://www.dotup.org/
34Matplot:2012/02/15(水) 23:35:04.60
Matplotlibを使ってみたくて、http://fonnesbeck.github.com/ScipySuperpack/から
インストールしました。
動くかどうかのtestとして、
>>> import matplotlib.pyplot as plt
を入力したところ
No module named dateutil.rrule
というエラーがでてきてしまいます。

解決方法がわかる方、教えてください。
35名無しさん@いたづらはいやづら:2012/02/16(木) 00:03:08.05
>>33
500 internal server error だから
待ってればそのうち復活するんじゃない
36デフォルトの名無しさん:2012/02/16(木) 00:11:01.25
>>34
向こう側に回答しておいた
3731:2012/02/16(木) 00:27:57.40
こういう内部実装に関する話は2chは不適なんでしょうか?
python-list or python-dev で質問した方が良さそうですね。
Pythonの使い方でなく内部実装の話なので、
python-devの方が詳しい方が多いかと思いますが、
python-devの話題として受け入れられるでしょうか?
38デフォルトの名無しさん:2012/02/16(木) 01:43:37.37
高度に発達したスパムはステマと見分けがつかないって昔のエライ人が言ってたしな
39デフォルトの名無しさん:2012/02/16(木) 09:38:36.04
>>34
Matplotlib板においでよ。
40デフォルトの名無しさん:2012/02/16(木) 10:17:25.83
Matplotlib でグラフプログラミング【Python】
http://toro.2ch.net/test/read.cgi/tech/1256385982/
41デフォルトの名無しさん:2012/02/16(木) 18:16:49.63
みんなのぱいちんくん
42デフォルトの名無しさん:2012/02/17(金) 18:13:06.63
この本読んだひといますか?
感想聞かせてください

WSGIウェブプログラミング
ttp://www.amazon.co.jp/dp/4877832882/

書評悪すぎてわろす
43デフォルトの名無しさん:2012/02/17(金) 18:36:22.13
>>42
マ(ry
44デフォルトの名無しさん:2012/02/19(日) 16:57:46.83
>>42
悪すぎっつっても書いてるの1人だけじゃん。
とは言いつつ、カットシステムの時点で質は推して知るべし。
45デフォルトの名無しさん:2012/02/21(火) 16:53:22.47
あるパッケージを、easy_install でインストールしたあとに、
新しいバージョンを pip でインストールしても問題ないでしょうか。
46デフォルトの名無しさん:2012/02/21(火) 17:17:31.11
ok
47デフォルトの名無しさん:2012/02/25(土) 10:40:57.88
>>42
立ち読みだけど作者がPython好きで
WSGIを広めたいってのは感じた。
WSGIが生まれた背景とか読めばいい。
コードを見て勉強するための本じゃない。

48デフォルトの名無しさん:2012/02/26(日) 13:54:23.84
自分で作ったクラスのメンバを入力補完してくれるエディタってありますか?
49デフォルトの名無しさん:2012/02/28(火) 06:26:16.39
eric4
50デフォルトの名無しさん:2012/02/28(火) 09:10:38.60
任意の長さのランダムなASCII文字列を生成する関数を作りたいのだが,どのように書けばいいだろうか
2つほど考えてみたが,どうもしっくりしないので,クールな方法を教えてほしい

f = lambda x: ''.join([random.choice(''.join([chr(x) for x in xrange(0x20, 0x7f)])) for _ in xrange(x)])
g = lambda x: ''.join([chr(random.randint(0x20, 0x7e)) for _ in xrange(x)])
51デフォルトの名無しさん:2012/02/28(火) 13:08:21.86
g = lambda x: ''.join(chr(random.randint(0x20, 0x7e)) for _ in xrange(x))
joinの引数は、リスト内包じゃなくてジェネレータ式で十分。
5248:2012/02/28(火) 14:20:48.65
>>49
ありがとうございます。ericよさそうですね。
セットアップがややこしそうですがインストールしてみようと思います。
5348:2012/02/28(火) 14:21:09.63
>>49
ありがとうございます。ericよさそうですね。
セットアップがややこしそうですがインストールしてみようと思います。
54デフォルトの名無しさん:2012/02/28(火) 14:22:13.52
おちけつ
55デフォルトの名無しさん:2012/02/28(火) 19:38:34.09
あんまり自信ないけど新版明日出るし洋書でCookbookとついでにLearninig Pythonも買おうかな
5648:2012/02/28(火) 23:00:47.00
>>49
ありがとうございます。ericよさそうですね。
セットアップがややこしそうですがインストールしてみようと思います。
5748:2012/02/28(火) 23:01:12.67
>>49
ありがとうございます。ericよさそうですね。
セットアップがややこしそうですがインストールしてみようと思います。
58デフォルトの名無しさん:2012/02/28(火) 23:03:03.23
お風呂入ってきますれす(^q^)
59デフォルトの名無しさん:2012/02/28(火) 23:04:00.47
誤爆しました。ごめんなさい(^q^)
60デフォルトの名無しさん:2012/02/29(水) 00:25:42.89
お前はさっきから何をやっているんだ
61デフォルトの名無しさん:2012/02/29(水) 00:34:17.45
pass
6248:2012/02/29(水) 03:59:16.59
>>49
ありがとうございます。ericよさそうですね。
セットアップがややこしそうですがインストールしてみようと思います。
6348:2012/02/29(水) 03:59:51.21
>>49
ありがとうございます。ericよさそうですね。
セットアップがややこしそうですがインストールしてみようと思います。
64デフォルトの名無しさん:2012/02/29(水) 04:00:29.33
大事なことなので(ry
65デフォルトの名無しさん:2012/02/29(水) 08:06:23.18
さっきからなんなの?
まるで成長していない
66デフォルトの名無しさん:2012/02/29(水) 08:31:09.46
>>> u'%10s' % (u'abc')
u' abc'
だとスペース7個のあとに「abc」が表示されますが
>>> u'%10s' % (u'日本語')
u' \u65e5\u672c\u8a9e'
だとやっぱりスペース7個のあとに「日本語」が表示されます
>>> u'%7s' % (u'日本語')
u' \u65e5\u672c\u8a9e'
結果としてはこちらを期待している訳ですが
「%7s」(日本語の方の文字列長に依存するので)にしないといけない
のが納得逝きません
これはバグでしょうか仕様でしょうか
67デフォルトの名無しさん:2012/02/29(水) 08:33:16.47
モルモン教徒の工作だから気にしないでいい
68デフォルトの名無しさん:2012/02/29(水) 08:45:25.48
>66
それが当たり前じゃないの
エスパーすると半角はスペース一つで全角はスペース二つ消費したいと
69デフォルトの名無しさん:2012/02/29(水) 08:49:36.13
知らんけど仕様じゃないの?
しかもPythonに非はないと思うよ。
文字一つを表示した時に二文字分か一文字分かなんて、
fontによりけりになるんじゃないの?
unicodeではそこらへん規定してるのかなー?
70デフォルトの名無しさん:2012/02/29(水) 08:50:24.15
コンソールアプリを書いてて
右揃えで綺麗にテーブル表示したかったんです
71デフォルトの名無しさん:2012/02/29(水) 09:06:21.92
asciiの時は空白分を加算して、
13s
にするとかじゃないと対処できないと思うよ。
Pythonで対処するのは無理だと思う。
専用の関数を自作するしかないんじゃないの?

unicodeは何byteで一文字を表現するかを規定するだけで、
一文字を何文字分の幅で表示するかはfontの仕事。

それか、asciiを全角表示するように変換するとかかな?
'a': 'a'
みたいなのをずらずら作っていくのが、
作業量的にも技術的にも、一番簡単かつ現実的な解決方法だと思います。
72デフォルトの名無しさん:2012/02/29(水) 09:11:05.26
やっぱり完璧な解決方法じゃないな。
ハンカク文字ってのがいたよ。
でもま、ちょろちょろっと作るscriptなら、
変換table用意するのが楽だと思うよ。
73デフォルトの名無しさん:2012/02/29(水) 09:40:46.04
てきとうに作ったらキモくなった
isascii = lambda c: c in u''.join(chr(x) for x in xrange(0x20, 0x7f))
u = u'アあa'
'%*s' % (10 - len([x for x in u if not isascii(x)]), u)
u' \uff71\u3042a'
ちょっと後悔している
74デフォルトの名無しさん:2012/02/29(水) 10:49:37.60
大事過ぎるやろ…
75デフォルトの名無しさん:2012/02/29(水) 10:51:22.55
すまん誤爆
76デフォルトの名無しさん:2012/02/29(水) 11:10:37.90
教えてほしいんですが、文字が全角幅か半角幅かはどうやって判断するのがいいのでしょうか。
フォントに依存するというのはなしで。
77デフォルトの名無しさん:2012/02/29(水) 11:11:11.01
フォントに依存する。
78デフォルトの名無しさん:2012/02/29(水) 11:29:29.80
2byteのaもあったな
79デフォルトの名無しさん:2012/02/29(水) 11:47:05.97
u = u'アあa'
u'%*s' % (10 - len(filter(lambda x: ord(x) > 127, u)), u)
80デフォルトの名無しさん:2012/02/29(水) 12:18:04.03
>>> import unicodedata
>>> unicodedata.east_asian_width(u'あ')
'W'
>>> unicodedata.east_asian_width(u'a')
'Na'
>>> unicodedata.east_asian_width(u'a')
'F'

http://ja.wikipedia.org/wiki/%E6%9D%B1%E3%82%A2%E3%82%B8%E3%82%A2%E3%81%AE%E6%96%87%E5%AD%97%E5%B9%85
81デフォルトの名無しさん:2012/02/29(水) 13:59:32.31
http://www.packtpub.com/news/python-offer
なんかオススメの本、この中にある?
82デフォルトの名無しさん:2012/02/29(水) 14:17:10.78
>73 >79-80
ありがとうございます
そのあたりを参考に自作してみます

元々は
print u' name length size %'
for r in lst:
print u'%8s%8d%6d%4d' % (r.name, r.l, r.s, r.p)
みたいなテーブル表示をしてて
名前に日本語が混ざってるとずれてくるので
変だなーと思った次第です
日本語使わなければ済む問題なんですが
83デフォルトの名無しさん:2012/02/29(水) 14:56:23.62
east asian widthがambiguousなケースは要注意(キリル文字とか)
そのような文字をどう表示するかは本当に環境やソフト次第なので…
「それらの文字を日本語フォントで表示するような環境なら」
全角扱いにすべきだが、例えば端末上で動作するようなソフトウェアは
端末がどのような文字をどのようなフォントでレンダリングするつもりなのか
知りようがない
なので、例えばvimのようなソフトウェアは、そうした文字を全角扱い
するかどうかをユーザが設定で指定できるようになっている
84デフォルトの名無しさん:2012/03/01(木) 07:08:40.38
できました
ありがとうございました
85デフォルトの名無しさん:2012/03/03(土) 01:42:51.23
>>49
ありがとうございます。ericよさそうですね。
セットアップがややこしそうですがインストールしてみようと思います。
86デフォルトの名無しさん:2012/03/03(土) 02:09:19.61
きっと秋山さんが何とかしてくれる
87デフォルトの名無しさん:2012/03/03(土) 11:00:44.99
windowsの3.2の話
virtualenv環境でpysideのexeインストーラをeasy_installしようとしたらコケた
easy_installはインストーラのメタデータを読み込んでdecodeするんだがascii決め打ち
pysideのインストーラには0x92が入っててこいつのせいらしいerrors='replace'つけて回避したけどこれってどっちが悪いんだろう
88デフォルトの名無しさん:2012/03/03(土) 13:53:58.92
おまえ
89デフォルトの名無しさん:2012/03/05(月) 10:56:36.10
Python 3.3.0 α版記念age
90デフォルトの名無しさん:2012/03/05(月) 13:09:40.58
alphaから正式版になるまでどれくらいかかりますの?
91デフォルトの名無しさん:2012/03/05(月) 13:18:38.41
http://python.org/
リリーススケジュールがトップに載っている
92デフォルトの名無しさん:2012/03/05(月) 14:29:51.55
2012年の8月っすね
http://python.org/dev/peps/pep-0398/
93デフォルトの名無しさん:2012/03/05(月) 17:10:52.26
3.3の特徴をおしえろ
時間がない今すぐにだ
94デフォルトの名無しさん:2012/03/05(月) 17:28:09.03
95デフォルトの名無しさん:2012/03/05(月) 18:14:27.69
お箸の国の人でもわかる言語で頼む
急いでくれよ・・・妹の命にかかわるんだ
96デフォルトの名無しさん:2012/03/05(月) 18:48:31.99
                  .∧__,,∧
                 (´・ω・`)
                  (つ妹と)
                  `u―u´

          あなたの帰りを待ち構えているこれを、

        ∧__,,∧                         ∧__,,∧
      (`・ω・)^) ミ                  (`・ω・´)
        (     つ  ⌒ヽ               と   ,u、つ
      `u―u'     妹               `u´妹
                YY⌒Y
         こうして、                   こうして、

                    ∧__,,∧
            _     (ω・´ )
         妹 三ニ ☆ __,(    )つ
              ̄    `ー―‐u'

                 こうだ !
97デフォルトの名無しさん:2012/03/05(月) 19:43:58.84
「待ち構えている」親兄弟ってちょっとイヤだな。
98デフォルトの名無しさん:2012/03/05(月) 20:24:01.62
んじゃ

                  .∧__,,∧
                 (´・ω・`)
                  (つ命と)
                  `u―u´

          あなたの帰りを待ち構えている妹の命を、

        ∧__,,∧                         ∧__,,∧
      (`・ω・)^) ミ                  (`・ω・´)
        (     つ  ⌒ヽ               と   ,u、つ
      `u―u'     命               `u´命
                YY⌒Y
         こうして、                   こうして、

                    ∧__,,∧
            _     (ω・´ )
         命 三ニ ☆ __,(    )つ
              ̄    `ー―‐u'

                 こうだ !
99デフォルトの名無しさん:2012/03/05(月) 21:34:56.42
妹の最期の言葉を伝えたい
「お兄ちゃん3.3で何が新しくなったの、日本語で説明して・・・(ガクッ)」
100デフォルトの名無しさん:2012/03/05(月) 21:57:55.20
イケメンの定義がより厳しくなったよ
イケメンはフツメンの女の子に告白しないといけなくなったよ
100行プログラムするとスイーツ一つを選べるようになったよ
101デフォルトの名無しさん:2012/03/06(火) 01:38:57.48
def mygenerator():
    yield from range(10)

こんなのが書けるようになるのか。
イテレータの展開と言う意味では、yield *range(10)みたいな構文が
検討されてもいいのでは、と以前考えてたけど、fromの方が明示的で宜しい、だそうで。
102デフォルトの名無しさん:2012/03/06(火) 03:11:28.36
mygenerator = (_ for _ in range(10))
103デフォルトの名無しさん:2012/03/06(火) 08:33:10.32
ちょっと質問させてください。
初めてプログラミングを学んでいる者です。
教本の練習問題でスクリプトを作ったのですが、保存した.pyファイルをダブルクリックで実行するとCUIの画面が一瞬現れてすぐ消えてしまいます。
どうしてでしょう?
残らせる方法はありますか?
ちなみにCUIの画面でそのスクリプトを一行一行書いていくとちゃんと実行されるので、スクリプト自体に問題はないと思います。

…たぶん恥ずかしい質問なのでしょうが、どうぞよろしくお願いします。
104デフォルトの名無しさん:2012/03/06(火) 08:51:27.78
>>103
コマンドプロンプトか端末から実行してください
あと超初心者向けの質問するならこちらがおすすめです

くだすれPython(超初心者用) その12
http://toro.2ch.net/test/read.cgi/tech/1322115727/
105デフォルトの名無しさん:2012/03/06(火) 09:00:11.48
>>104
ありがとうございます。
そうします。
スレもそちらに行くことにします。
106デフォルトの名無しさん:2012/03/06(火) 11:38:40.35
>>101
例えば再帰的アルゴリズムをgeneratorで書いた場合には、下の例みたいに
転送するためのループを回す必要があったので、これはありがたいよね
今まで誰もがうざいと思ってたはず

def depth_first(xs):
    for x in xs:
        if hasattr(x, '__iter__'):
            for y in depth_first(x):
                yield y
        else:
            yield x
107デフォルトの名無しさん:2012/03/06(火) 16:08:54.38
どうせなら、fromを複数書ければおもしろいと思ってみたり。
例えば、itertools.chainと等価な関数を、
def chain(*a):
 yield from from a
だけで書けるとか・・・
・・・ちょっとウザイか・・・
108デフォルトの名無しさん:2012/03/07(水) 15:45:53.37
おしえてくださいえらいひと
ソートされていない長さnの配列から、ソートした状態でi番目の要素をO(n)で取ってくる
関数って、標準ライブラリにありますか。
C++STLでいうところのpartial_sort()。
109デフォルトの名無しさん:2012/03/07(水) 15:47:02.44
ちがった、nth_element()だった。
110デフォルトの名無しさん:2012/03/07(水) 15:52:51.08
>>> l = [3, 2, 7, 5, 1, 8]
>>> sorted(l)[0]
1
>>> sorted(l)[3]
5
>>> sorted(l)[5]
8
111デフォルトの名無しさん:2012/03/07(水) 17:47:21.12
>>110
sortedが必要な部分だけソートするような機能があるかと期待してベンチマーク取っちまったよ、
全然O(n*log(n))じゃねーかよ!!
112デフォルトの名無しさん:2012/03/07(水) 17:47:24.84
sort()の有無によらず、tuple object , list object, sequence objectとも
i番目の要素をとってくるcostはO(1)のようです。
2系も同じようなもんでしょ。
>>108はどっからの情報でO(n)もかかるだなんて思ったの?

Python-3.2.2/Objects/abstract.c
--
PyObject *
PySequence_GetItem(PyObject *s, Py_ssize_t i)
{
PySequenceMethods *m;

if (s == NULL)
return null_error();

m = s->ob_type->tp_as_sequence;
if (m && m->sq_item) {
if (i < 0) {
if (m->sq_length) {
Py_ssize_t l = (*m->sq_length)(s);
if (l < 0)
return NULL;
i += l;
}
}
return m->sq_item(s, i);
}

return type_error("'%.200s' object does not support indexing", s);
}
113デフォルトの名無しさん:2012/03/07(水) 18:02:09.76
ものすごいC++のパフォーマンスへのこだわり

LLでは富豪的に
全部ソートしてしまえという方針

全部ソートしなくていいから、途中で打ち切って最短時間で頼む
って場合はLL使ってる時点で何か間違ってる
114デフォルトの名無しさん:2012/03/07(水) 18:40:13.88
>>112
凄い勢いで色々勘違いしてると思う
C++のnth_element()はselection algorithmってやつで、最悪ケースO(n)で
実現できることが知られている
http://en.wikipedia.org/wiki/Selection_algorithm

>>113
LLで計算オーダーの違いを意識するのが間違ってるってことはないんじゃねーかなー
setみたいなものは重複の削除に使うこともあると思うけど、(ただのリストと
線形検索に比較して)効率のために使うことも多いはず
115デフォルトの名無しさん:2012/03/07(水) 18:48:50.33
線形時間ってことはmin()やmax()と同じということ
min(L)の代わりにsorted(L)[0]と書く人はいないと思う
# 前者のほうがずっと簡潔で分かりやすい、という面ももちろん大きいけど
116デフォルトの名無しさん:2012/03/07(水) 19:09:23.36
LLで考えるよりCで書いたほうが万倍速い
117デフォルトの名無しさん:2012/03/07(水) 20:04:30.77
>>114
いや、>>108はPythonでtuple(), list()からi番目の要素を取ってくる時の、
Orderを知りたかったのだと思うのですが。
別言語のお話しで実装によってはO(n)かかる場合もあるという話なら納得です。
私は、Pythonでは以下の行からO(1)で取ってきていると伝えたかったのです。
return m->sq_item(s, i);

本当は以下の引用が必要だったのですけど.

((PyListObject *)op) -> ob_item[i];
↑の行でO(1)となるような実装にしていると思いました。

PyObject *
PyList_GetItem(PyObject *op, Py_ssize_t i)
{
if (!PyList_Check(op)) {
PyErr_BadInternalCall();
return NULL;
}
if (i < 0 || i >= Py_SIZE(op)) {
if (indexerr == NULL) {
indexerr = PyUnicode_FromString(
"list index out of range");
if (indexerr == NULL)
return NULL;
}
PyErr_SetObject(PyExc_IndexError, indexerr);
return NULL;
}
return ((PyListObject *)op) -> ob_item[i];
}
118デフォルトの名無しさん:2012/03/07(水) 20:17:30.88
>>117
nth_elementでググれ
119デフォルトの名無しさん:2012/03/07(水) 21:02:16.80
LLで富豪的だからといってオーダーが違うアルゴリズムの採用が許されるなんて、
ゆとり世代は怖いな。
120デフォルトの名無しさん:2012/03/07(水) 21:08:14.88
>>117
>ソートされていない長さnの配列から、ソートした状態でi番目の要素をO(n)で取ってくる
どう見ても「tuple(), list()からi番目の要素を取ってくる」とは解釈できない。
ゆとり怖すぎ。
121デフォルトの名無しさん:2012/03/07(水) 21:08:28.87
死ねキチガイ
122デフォルトの名無しさん:2012/03/07(水) 21:09:17.81
>>121>>120へのレスじゃなくてもちろん>>119です
123デフォルトの名無しさん:2012/03/07(水) 21:10:07.34
>>119 じゃなくて >>117 でした
124デフォルトの名無しさん:2012/03/07(水) 21:10:51.94
自演うぜぇ
125デフォルトの名無しさん:2012/03/07(水) 22:25:31.76
きもっ
126デフォルトの名無しさん:2012/03/07(水) 23:40:39.46
pass
127デフォルトの名無しさん:2012/03/08(木) 00:50:22.26
>>126
お前を忘れてよく怒られる
やっぱり大事だよなスルーカ
128デフォルトの名無しさん:2012/03/08(木) 07:05:53.46
変な荒らしがいるね
129デフォルトの名無しさん:2012/03/08(木) 07:53:51.81
まるで変じゃない荒らしがいるかのような言い回しだな。
130デフォルトの名無しさん:2012/03/08(木) 10:08:56.77
で、結局PythonではO(n)は内のnth_element()は無いの?

個人的には、>>110の構文で、sortedオブジェクトが遅延評価でソートする
オブジェクトを生成して、途中の要素を参照しても、範囲を参照しても、
イテレーションしても、最小コストの計算量で済ます、みたいな実装がセクシーで
良いかな、と思ったり。
131デフォルトの名無しさん:2012/03/08(木) 11:20:40.68
nth_element()相当のものを提供してる言語ってC++意外みたことないな
少なくともJavaや.NETにもない
132デフォルトの名無しさん:2012/03/08(木) 11:47:26.68
そもそもi番目に大きい要素を取ってくるのがO(n)なこともあんまり知られてなさそうだしね。
中央値とか計算するのに全ソートしてるコードとか、世の中たくさんありそうだ・・・
皆もっとアルゴリズム勉強しようぜ!
133デフォルトの名無しさん:2012/03/08(木) 11:56:07.31
じゃ、暇があれば>>130アイディアをネイティブ実装したモジュール作ってみるかな。
ただ、Python標準は安定なTimSortだから、これと折り合いをどう付けるか・・・

もっとも、9月まで暇ができそうにないが(´・ω・`)
134デフォルトの名無しさん:2012/03/08(木) 18:30:43.08
期待してます
135133:2012/03/08(木) 20:15:33.22
ネイティブじゃなくてPythonでだけど、ささっと作ってみた。
結構行けそうだ。
内部的に元位置(安定ソートのため)と、ソート済みか否かを示すフラグをのリスト持っておいて、
__getitem__()や__next__()が呼ばれたときに、クイックソートのうち必要な部分だけを繰り返す感じ。
getitemにスライスオブジェクト渡された処理とか、reversed()された処理とかは未実装・・・

いや、本当はやるべきことがたくさんあるんですが・・・
136デフォルトの名無しさん:2012/03/08(木) 23:50:30.29
ありがとう
137デフォルトの名無しさん:2012/03/09(金) 16:28:38.67
>>112
>sort()の有無によらず、tuple object , list object, sequence objectとも
>i番目の要素をとってくるcostはO(1)のようです。
>2系も同じようなもんでしょ。

これは恥ずかしい勘違いダネ!
138デフォルトの名無しさん:2012/03/09(金) 16:31:15.64
うるせー
人様のそっとしておきたい過去に触れんじゃねー
139デフォルトの名無しさん:2012/03/09(金) 20:45:17.91
easy_install paste したけど pasterコマンドがインストールされない。
paster コマンドって、どうやったらインストールされるの?
140デフォルトの名無しさん:2012/03/09(金) 20:55:48.94
俺たちの面白度に挑戦してきてるな、いいぞ、受けて立ってくれるわっ!!!
ゆけっ>>141、わしらを舐めた>>139を懲らしめてやりなさいっ!!!
141デフォルトの名無しさん:2012/03/09(金) 20:59:43.88
 
142デフォルトの名無しさん:2012/03/09(金) 21:01:30.70
ttp://readthedocs.org/docs/pyramid_tutorial_pylonprojectjp/en/v1.0.1/
にある通りに easy_install pyramid したけど、pasterコマンドはインストールされないみたい。
Python 2.7.2で試した。
ドキュメントが間違ってるんだろう。直してほしい。
143デフォルトの名無しさん:2012/03/09(金) 21:30:49.96
>ドキュメントが間違ってるんだろう
144デフォルトの名無しさん:2012/03/10(土) 04:59:35.17
OSくらい書け
145デフォルトの名無しさん:2012/03/10(土) 11:57:18.95
SOS
146デフォルトの名無しさん:2012/03/10(土) 17:44:25.20
OSI
147デフォルトの名無しさん:2012/03/10(土) 18:16:20.17
CHAOS
148デフォルトの名無しさん:2012/03/12(月) 01:59:53.96
kusOSure
149デフォルトの名無しさん:2012/03/12(月) 23:35:30.02
重い処理をcで書いて外出ししたいんですが、
ctypesで呼び出すのとimportで読み込めるmodule(.pydとか)を作るのと
どっちがいいんでしょ?
150デフォルトの名無しさん:2012/03/12(月) 23:57:23.57
外出し厳禁〜 ///
生中でお・ね・が・い ///
151デフォルトの名無しさん:2012/03/13(火) 00:21:52.47
自分でpythonのソースに手を加えろとな
152デフォルトの名無しさん:2012/03/13(火) 20:00:15.28
pythonのソースなんか変更する必要ないがな
対象のコードパターンが来たら挙動変える様にOSのソース変更すればよし
153デフォルトの名無しさん:2012/03/15(木) 22:32:35.25
なにこの過疎っぷり
154デフォルトの名無しさん:2012/03/17(土) 21:19:57.92
Mac OS 10.7.3
Python 2.7.1
…で、リッチテキストの文字列のみを取り出す
方法はありませんか?
もしモジュールのインストールが必要であれば、
macportsでインストールできると助かります。
155デフォルトの名無しさん:2012/03/17(土) 22:29:28.72
ググればこの程度はすぐに見つかるが
http://pypi.python.org/pypi/pyth/
156デフォルトの名無しさん:2012/03/18(日) 00:56:49.23
pythonにocamlのパターンマッチングみたいなことをする方法ってありませんか?
157デフォルトの名無しさん:2012/03/18(日) 06:39:35.77
ぴよぴよ
158デフォルトの名無しさん:2012/03/18(日) 09:38:06.44
響子さん、好きじゃー!
159デフォルトの名無しさん:2012/03/18(日) 09:42:01.31
ocaml みたいなパターンマッチングといわれてもしらん

文字列の正規表現マッチングなら re モジュール
160デフォルトの名無しさん:2012/03/21(水) 23:12:21.49
本を読む習慣が無いひとには
おおまかに次の3つのタイプがあります

1.目が悪いひと
2.頭が悪いひと
3.文盲(識字出来ない)

頭が悪いひとより文盲の方が深刻です
普通は漢字が読めないレベルとかを想像しますが
アルファベットですら読めないひとが日本には多くいます
161デフォルトの名無しさん:2012/03/22(木) 01:24:55.03
うるせーなー
162デフォルトの名無しさん:2012/03/22(木) 02:12:41.68
キモデブヒキオタニート
163デフォルトの名無しさん:2012/03/22(木) 02:27:50.08
それは違うからいいや
164デフォルトの名無しさん:2012/03/22(木) 05:45:02.61
マルチに反応すんな糞ボケ死ね
165デフォルトの名無しさん:2012/03/22(木) 15:54:56.45
pass
166デフォルトの名無しさん:2012/03/25(日) 13:04:25.57
グイド大激怒!こんな糞コミッタ−しか育たないんならPython開発なんて意味ないね
http://ikura.2ch.net/test/read.cgi/bread/1325584365/
167デフォルトの名無しさん:2012/03/25(日) 13:08:19.22
はわわ
168デフォルトの名無しさん:2012/03/25(日) 14:20:44.21
pass
169デフォルトの名無しさん:2012/03/25(日) 23:25:17.59
>>166
まさかこんな特定スレに特化した内容で釣りに来るとは…orz
170デフォルトの名無しさん:2012/03/27(火) 00:09:51.28
すみません。
pythonで記述されたソースコードで勉強になるコードを教えていただけないでしょうか?
出来るだけ短いものだと助かります。
自分はC#勉強して、その次にpythonの勉強をしていますが、いまいちpythonの良さが理解できていないので、実践的なソースコードで勉強したいです。
よろしくお願いいたします。
171デフォルトの名無しさん:2012/03/27(火) 01:05:02.64
172デフォルトの名無しさん:2012/03/27(火) 02:42:32.90
そんなんで人のコード見てなんか役に立つのかな
ああ、コピペできるコード探してるだけだからそんな事はどうでもいいのか
173デフォルトの名無しさん:2012/03/27(火) 03:02:10.56
Pythonの良さは、言葉で説明された方が分かりやすい気もしなくもないなぁ
仕様に無駄が少なくてシンプルな点は日本人好みなんじゃないかと思ってるんだけど、文字コードの
扱いがいまいちだったのがなぁ…
174デフォルトの名無しさん:2012/03/27(火) 07:24:50.21
日本語はこうすれ!ってコードになかなか当たらないよね。
それこそバカチョンでコピペできるような、標準手法というか、そんなの。
この間、2.6版で作ったものを2.4版で実行させたら日本語でエラーになり、解決法は様々あれどコレというものが見つからず。
175デフォルトの名無しさん:2012/03/27(火) 07:29:22.00
http://nullege.com/

日本語? これから「勉強します」ならPython3一択
176デフォルトの名無しさん:2012/03/27(火) 17:05:13.56
Python3とかライブラリがあれもつかえないこれもつかえないで罠だぞPython2.7にしとけ
日本語の処理はエンコードとか文字セットとかを理解するのが先
ちゃんと理解できていれば全く問題は生じない
177デフォルトの名無しさん:2012/03/27(火) 18:18:02.87
xrangeとかださすぎ。なに?xって?
python3だろJK
178デフォルトの名無しさん:2012/03/27(火) 21:15:06.30
レスありがとうございます
ちなみに、自分はpython3を勉強しています

>>171
サンクスです!
早速、調べてみます!!

他にも有益なコードがあれば教えてください
179デフォルトの名無しさん:2012/03/27(火) 23:43:04.93
180デフォルトの名無しさん:2012/03/28(水) 00:12:37.71
PEP 嫁







とは誰も言わないんだな・・・
181デフォルトの名無しさん:2012/03/28(水) 00:14:10.51
そりゃ言わないだろう
182デフォルトの名無しさん:2012/03/28(水) 05:52:24.36
PEP249が好きです。でもPEP8の方がもーっと好きです。
183デフォルトの名無しさん:2012/03/28(水) 11:13:34.59
コードがpythonで書かれてる良いテスト技法の本ないですか?
184デフォルトの名無しさん:2012/03/28(水) 11:14:40.82
マルチポスト無視推奨
185デフォルトの名無しさん:2012/03/28(水) 11:54:19.30
>>183
Python Testing: Beginner's Guide
読んだことないけど
感想教えてくれ
186デフォルトの名無しさん:2012/03/28(水) 17:24:37.70
ttp://www.asahi.com/digital/nikkanko/NKK201203280015.html
パイソンはgoogle-proprietaryな言語になりました。
お探しの記事はみつかりませんでした。

URLが誤っているか、公開期間を終了した可能性があります。

5秒後に、朝日新聞デジタルのトップに移動します。
【ニュースを読むなら】

    最新ニュースは朝日新聞デジタルトップへ
    有料記事検索のご案内

このページのトップに戻る

朝日新聞デジタルに掲載の記事・写真の無断転載を禁じます。すべての内容は日本の著作権法並びに国際条約により保護されています。

    サイトポリシー
    個人情報
    著作権
    リンク
    広告掲載
    お問い合わせ・ヘルプ

Copyright The Asahi Shimbun Company. All rights reserved. No reproduction or republication without written permission.
その記事はこれだ

日刊工業新聞曰く「PythonはGoogle独自の言語」
http://it.slashdot.jp/story/12/03/28/098240
Google独自^^^^^;;;;
俺が読んだときは「パイソン」って書いてあったから
python とは別の言語かもしれん


なんつって
Pythonでifを使わずif関数を実装する強者はおらんかね
つラムダ計算
if関数って何だ 関数型言語の機能か
evalとlambdaでなんとかなるまいか
ひょっとしてFortranの3分岐if(算術if)みたいなもん? それなら飛び先の参照を渡せば簡単そうだけど
GAEはオワコン
モンティパイソン、ミスタービーン、シャーロック・ホームズ、名探偵モンクとか買ってきて放送して
他人のふんどしで相撲取ってるけど自分たちで作る番組は無責任な作り方してるよNHK
日本語の扱いで戸惑ったらこちらをどうぞ(バッドノウハウ集で笑える)
http://speirs.blog17.fc2.com/blog-entry-4.html
http://atomic.jpn.ph/prog/etc/encode.html
http://d.hatena.ne.jp/kakurasan/20100330/p1

http://pc11.2ch.net/test/read.cgi/tech/1217836194/339
339 :デフォルトの名無しさん:2008/08/23(土) 08:36:00
    PythonのUnicodeEncodeErrorを知る
    http://lab.hde.co.jp/2008/08/pythonunicodeencodeerror.html

    よくまとまってた。あとで読む
201デフォルトの名無しさん:2012/04/12(木) 09:57:46.50
人いないなぁ
とりあえず、Python 2.6.8, 2.7.3, 3.1.5, 3.2.3 と大量リリースされたんでなんでage
202デフォルトの名無しさん:2012/04/12(木) 11:52:36.28
大きく2と3の違いくらいはさすがにわかるけど…
どういう立ち位置で4ラインも並存なんだか、くやしい人たのむ
203デフォルトの名無しさん:2012/04/12(木) 12:48:47.52
3個目の数字が上がっただけのアップデートはバグフィックスかセキュリティアップデートで、
新機能は含まれない。
次の新バージョンは8月の3.3.0
くやしいのう。
204デフォルトの名無しさん:2012/04/12(木) 16:21:55.23
3.3がでたら本気出す
205デフォルトの名無しさん:2012/04/12(木) 22:07:45.06
悔しくないが頭からPureな2.x系、3.x系を先取りできる2.x系に加えて、
互換性のために生かしている直近2つの3.x系マイナーバージョンって感じか
206デフォルトの名無しさん:2012/04/13(金) 00:18:29.80
プログラミング中級者が上級Python使いになるには何読んだらいいの?
207デフォルトの名無しさん:2012/04/13(金) 00:28:20.17
Pythonのソースじゃね?
208デフォルトの名無しさん:2012/04/13(金) 12:37:34.23
今日初めてぱいそん使います。

for y in [x for x in ar]:
for cur in child:
tmp.append({'idx' : y['idx'] + cur})

で、最初の for のリスト部分がわかりません。
このリストはどう展開されるのでしょうか。
perl か php か javascript か VB.NET で
教えていただけると助かります。

よろしくお願いします。
209デフォルトの名無しさん:2012/04/13(金) 13:20:24.52
>>208

>>> for y in [x for x in ar]:
... for cur in child:
... tmp.append({'idx' : y['idx'] + cur})
...
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'ar' is not defined

実行できるcodeを貼り付けてよ。
210デフォルトの名無しさん:2012/04/13(金) 13:35:56.58
211デフォルトの名無しさん:2012/04/13(金) 13:51:36.20
forの左のxで何らかの演算しないとリスト内包表記の使い方がイマイチ分からんだろうな
212208:2012/04/13(金) 19:20:50.70
>>> vec = [2, 4, 6]
>>> [3*x for x in vec]

でわかりました。
ありがとうございました。
213デフォルトの名無しさん:2012/04/13(金) 21:38:41.50
PyScripterとEclipse+PyDevはどっちが使えますか?
214デフォルトの名無しさん:2012/04/13(金) 21:47:25.75
idle一択
215デフォルトの名無しさん:2012/04/13(金) 22:11:43.26
EclipseたちあげるのだるいのでPyScripterが軽くてよい
216デフォルトの名無しさん:2012/04/14(土) 07:32:51.25
print
デフォルトで改行、半角空白がつくのは
なぜ?
デフォルトで何もつかないようにしたいんだが
217デフォルトの名無しさん:2012/04/14(土) 07:58:02.63
え?
218デフォルトの名無しさん:2012/04/14(土) 08:02:27.67
>>216
print "abc","def"
219デフォルトの名無しさん:2012/04/14(土) 08:05:48.42
>>216
理由はしらんが、妥当なデフォルトだと思うぞ。
デフォルトの動作変えるのは厳しいが、printのキーワード引数を好きなものに固定したpartialでも作れば?
220デフォルトの名無しさん:2012/04/14(土) 08:28:02.87
>>218

それ空白がつくんだが?

>>219
print>>
とか使えなくなるじゃん

回避方法が2系では組み込みでないって
どうにかしてよ・・・
221デフォルトの名無しさん:2012/04/14(土) 08:38:55.93
意味わからん。
出力にスペースや改行が付いたくらいで何が困るんだ。
タダで使わせてもらう立場の者が
どうにかしてよなんて、おこがましい態度を取ったらダメ。
オープンソースソフトなんだから自分で改造しろ。
222デフォルトの名無しさん:2012/04/14(土) 08:46:28.65
from __future__ import print_function
でいいだろ
223デフォルトの名無しさん:2012/04/14(土) 08:48:18.93
printはお気楽テキトーに出力する用(大抵の用途に都合が良いようにデフォルト設定されてる)
細かく制御したいならwrite等を使え、という話では
224デフォルトの名無しさん:2012/04/14(土) 08:58:34.60
Pythonってどう書くのが正しいかってのを重んじる言語だろ。
デフォルトの動作から大きく変えなきゃできないような場合は根本からやり方を見直すべき。
225デフォルトの名無しさん:2012/04/14(土) 10:13:15.47
>>220
stdout.write()じゃ
226デフォルトの名無しさん:2012/04/14(土) 10:53:54.93
馬鹿には無理
227デフォルトの名無しさん:2012/04/14(土) 11:48:35.47
>>220
そもそも組み込みに出力機能があること自体、Python的には例外なのよ
要件として入出力が必要なプログラムであればちゃんとimportすべき

本来、入出力をしなくてもいいプログラムでもデバッグ用の出力くらいはしたい
かと言って、そのためだけに入出力機能をimportするのはどうなのさ、って感じであるのがprintだと思って
228デフォルトの名無しさん:2012/04/14(土) 12:49:24.89
printがうざいのは勝手にエンコード変換することだな
229デフォルトの名無しさん:2012/04/14(土) 12:56:54.91
だからそういう用途ってことじゃ。
230デフォルトの名無しさん:2012/04/14(土) 14:08:22.85
python3なら
print("abc","def",sep='')
sepで繋ぎの文字を指定できるから、sepに空文字を指定すればいい。
231デフォルトの名無しさん:2012/04/14(土) 14:13:35.39
いや、そういう意味じゃないと思う
232デフォルトの名無しさん:2012/04/14(土) 14:30:33.29
Pythonの前に日本語を学ぼう
233デフォルトの名無しさん:2012/04/14(土) 14:33:21.53
unicode と str の encode / decode 絡みでエラーが出てるときに
print でデバッグするとはまる
百害あって一利なし
234デフォルトの名無しさん:2012/04/14(土) 14:36:36.22
馬鹿には無理
235デフォルトの名無しさん:2012/04/14(土) 15:41:13.59
repr!
236デフォルトの名無しさん:2012/04/14(土) 17:01:29.27
uyに居場所なんかねーよ
237デフォルトの名無しさん:2012/04/14(土) 18:41:22.29
>>233
お手軽に使えて普段みな世話になっているのに
うまくいかない特定のケースだけ持ち出して
一利なしとか、頭おかしいわ
238デフォルトの名無しさん:2012/04/14(土) 19:00:05.93
馬鹿には無理
239デフォルトの名無しさん:2012/04/14(土) 19:30:02.27
馬鹿が言うと説得力が有るなw
240デフォルトの名無しさん:2012/04/14(土) 19:42:31.14
やさしくしてね
241デフォルトの名無しさん:2012/04/14(土) 19:56:26.14
いい加減にPython3に来いよ。
2に文句垂れるな。
3に文句あるなら、Ideas-MLに書けばいい。
242デフォルトの名無しさん:2012/04/14(土) 20:00:56.63
うにこーどがたwww
243デフォルトの名無しさん:2012/04/15(日) 00:15:24.10
Djangoが全然3.0対応しないから嫌だ
244デフォルトの名無しさん:2012/04/16(月) 08:38:57.20
3系に移行できる日は来るんだろうか…
245デフォルトの名無しさん:2012/04/16(月) 15:05:38.28
ジャンゴ1.6が出た頃かな
246デフォルトの名無しさん:2012/04/16(月) 15:36:02.06
「Pythonプロフェッショナルプログラミング」ってどうなんですかね、最近出た黒い本。
なんか、出版社と訳本じゃないあたりに地雷臭がしなくもないんですけど。
だれかレビューよろしくお願いします。
247デフォルトの名無しさん:2012/04/16(月) 16:56:52.14
ググればいくつかレビューっぽいのヒットするじゃん。
248デフォルトの名無しさん:2012/04/16(月) 17:11:17.00
はいはい
ステマステマ
249デフォルトの名無しさん:2012/04/16(月) 18:18:43.79
とりあえずLinuxはド素人のくせにLinux使っちゃってバカなことしでかしてるらしいってのは
くだすれて露呈してる。
250デフォルトの名無しさん:2012/04/16(月) 18:25:54.50
誰が?
251デフォルトの名無しさん:2012/04/16(月) 18:43:36.89
>>249
日本語でおk
252249:2012/04/16(月) 19:15:14.63
>>246 の本 (の著者) が。
253デフォルトの名無しさん:2012/04/16(月) 21:14:27.10
ステマ(笑)
254デフォルトの名無しさん:2012/04/17(火) 01:18:35.60
208 名前:営利利用に関するLR審議中@詳細は自治スレへ []: 2012/04/11(水) 10:31:07.90
Pleskの入ったvps(centos)を利用しています。
Python2.7.2をインストールする際に
「Pythonプロフェッショナルプログラミング」のp3にある

$ sudo chmod -R 0775 /usr/local
$ sudo chgrp -R bpbook /usr/local
$ wget http://python-distribute.org/distribute_setup.py
$ sudo python distribute_setup.py

をルート権限で実行した後からPleskの管理画面でエラーが表示されるようになりました。
上の2つは入力しない方が良かったのでしょうか?
それとも#で実行したのが問題だったのでしょうか?

以下、表示されるエラー
Components::componentUpdate() failed: Unable to exec utility packagemng: packagemng: failed to open semaphore file /usr/local/psa/var/utilities.sem: Permission denied
System error 13: Permission denied

211 名前:営利利用に関するLR審議中@詳細は自治スレへ [sage]: 2012/04/11(水) 13:28:54.67
>>208 です。
サポートから連絡が来ました。
やはりパーミッションの変更が原因だったようです。
本の通りにインストール出来ないって事になるんで他のインストール方法を探さないといけないですね。
Plesk無しのVPSへ変更を検討してみます。
ちなみに >>210 は私ではありません。

215 名前:営利利用に関するLR審議中@詳細は自治スレへ [sage]: 2012/04/11(水) 14:17:58.34
>>208
$ sudo chmod -R 0775 /usr/local
$ sudo chgrp -R bpbook /usr/local
はその本に書いてあったことなの?
-Rは再帰のRだからずいぶん大胆に思えるけど
255デフォルトの名無しさん:2012/04/17(火) 02:31:53.27
秀○○○○厶はハズレが多い
表紙が黒い本ハズレが多い(サイケデリックなイラストの本は更にハズレが多い)
著者が個人じゃなかったり、イカニモなペンネームの本はハズレが多い
著者が日本人だとハズレが多い
(訳本は内容はハズレは少ないが、翻訳がハズレのことがある)

いや、けっこうこの本、ハズレパターンの王道を行っているんで・・・
256デフォルトの名無しさん:2012/04/17(火) 03:51:37.98
$ sudo rm -Rf /
257デフォルトの名無しさん:2012/04/17(火) 04:50:58.68
はいはい
ステマステマ
258デフォルトの名無しさん:2012/04/17(火) 08:03:02.56
>>254
本も質問者もひどいもんだな。
259デフォルトの名無しさん:2012/04/19(木) 12:07:18.02
>>254
書いてあったw
この本 visudo で sudo 時のパスワード無くしちゃいましょうみたいなことも書いてなかったっけ。
260デフォルトの名無しさん:2012/04/19(木) 23:13:34.75
グラフ構造を扱うライブラリはたくさんあるようですが、決定版というか最有力的な存在はありますでしょうか?
ちょっと調べてみた程度ですがaltgraphとかnetworkxあたりの名前が出てきました
261デフォルトの名無しさん:2012/04/20(金) 00:16:55.11
networkxで
262デフォルトの名無しさん:2012/04/20(金) 03:08:16.75
ありがとうございます試してみます
Pythonは計算科学系のライブラリの選択肢が多くていいですね
自分はメインがRubyなのでうらやましいです
263デフォルトの名無しさん:2012/04/20(金) 14:31:10.75
PythonでSJISを扱う時は、encoding名は 'shift_jis' と 'windows-31j' のどちらがいいですか。
264デフォルトの名無しさん:2012/04/20(金) 14:42:03.79
cp932 です
265デフォルトの名無しさん:2012/04/20(金) 18:35:37.58
頼むからこれ以上世の中にUTF-8以外のデータを作らないでくれよ・・・
266デフォルトの名無しさん:2012/04/20(金) 19:45:22.04
忌まわしきコマンドプロンプトの文字コードがUTF-8に統一されないと始まらないな
267デフォルトの名無しさん:2012/04/20(金) 19:46:06.30
中国が漢字を作ったせいだ!
268デフォルトの名無しさん:2012/04/20(金) 19:51:45.24
>>266
Windowsが合わせればいいだけの話じゃないか。
269デフォルトの名無しさん:2012/04/20(金) 19:58:46.64
プロンプトの文字コードは一応変えれるよ
270デフォルトの名無しさん:2012/04/20(金) 20:08:54.71
プロンプトの文字コードだけ変わってもな
あらゆる標準出力に日本語が混じるたびにcant write cant write言われるばかり
271デフォルトの名無しさん:2012/04/20(金) 20:15:59.63
日本はシフトJISで何の問題もなかったのに
変な黒船が来ちゃって大迷惑だよな
272デフォルトの名無しさん:2012/04/20(金) 20:29:41.37
たとえshift_jisを倒しても第2、第3のshift_jisが…
戦えUTF-8、負けるなUTF-8!
273デフォルトの名無しさん:2012/04/20(金) 20:30:57.14
UTF-16「フォッフォッフォ」
274デフォルトの名無しさん:2012/04/20(金) 20:32:00.23
馬鹿には無理
275デフォルトの名無しさん:2012/04/20(金) 20:38:01.99
[sage]

ふーん
276デフォルトの名無しさん:2012/04/20(金) 20:40:24.13
>>274
( ´,_ゝ`)プッ
277デフォルトの名無しさん:2012/04/20(金) 20:42:49.35
233 名前:デフォルトの名無しさん[sage] 投稿日:2012/04/14(土) 14:33:21.53
unicode と str の encode / decode 絡みでエラーが出てるときに
print でデバッグするとはまる
百害あって一利なし
278デフォルトの名無しさん:2012/04/20(金) 21:13:08.64
うちはまだeuc-jpです。ごめんなさい。
279デフォルトの名無しさん:2012/04/20(金) 21:49:56.21
pythonには
def find(func, xs):
 for x in xs:
  if func(x):
   return x
 return None
みたいなのは標準では用意されてないのでしょうか。
280デフォルトの名無しさん:2012/04/20(金) 22:03:06.15
>>279
filterっぽいけど微妙に違うな。まぁ一応参考までに。

ttp://www.python.jp/doc/nightly/library/itertools.html?highlight=itertools.ifilter#itertools.ifilter
281デフォルトの名無しさん:2012/04/20(金) 22:52:07.41
groupbyのこの仕様はどうかと思う
282デフォルトの名無しさん:2012/04/20(金) 23:10:17.58
>>279
next(itertools.ifilter(func, xs), None)
283デフォルトの名無しさん:2012/04/21(土) 00:23:43.50
>>282
それ無限ループじゃないの?
その上FalseでNone返さないし
284デフォルトの名無しさん:2012/04/21(土) 00:25:23.79
>>281
あらかじめソートされてることが分かってるイテレータなら有限と考えても差し支えないような気はするよな
285デフォルトの名無しさん:2012/04/21(土) 00:58:22.64
>>283
ちょっと何を言いたいのか分からないな

ifilter()のようなitertoolsの関数は基本的に遅延で動いて
next()はiterableの先頭の要素を取り出すだけだから、見つかった時点で
スキャンは終了する
next()の第二引数は、すぐにStopIterationが来た時のデフォルト値
もし>>282がどういう動きをするか分からないなら、実際に試してみるといいよ

def even(x):
    print x
    return x % 2 == 0

print '->%r' % next(itertools.ifilter(even, [1,3,5,7]), None)
print '->%r' % next(itertools.ifilter(even, [1,2,3,4]), None)
286デフォルトの名無しさん:2012/04/21(土) 01:08:33.71
next(filter(func, xs), None)
Python3ならこれだけ
287デフォルトの名無しさん:2012/04/21(土) 02:36:10.70
与太話として聞いて欲しいんだけど
ttp://ideone.com/IMge4
上のコードみたいに引数(もしくはオペランド)がmutableかimmutableかで
破壊的か新しいimmutable返すか変わる関数/演算ってある?

なんか結構ハマりそうだから、よくある間違いとかあったら知りたい。
288デフォルトの名無しさん:2012/04/21(土) 08:43:56.73
そのケースも、mutable, immutable で区別されている訳じゃなく、
単にlist.__iadd__()は定義されているけど、tuple. __iadd__()は無い、って
所に起因している訳で。
+=みたいな演算子は、定義の有無や継承関係、NotImpremented返すか
によって__iadd__, __add__, __radd__のうちどれが呼び出されるか動的に
決まるので、まぁ不確実性はありますよ、と。
289デフォルトの名無しさん:2012/04/21(土) 14:13:33.65
>>288
そっか、特殊メソッドの定義次第か。
ってことはまず演算子が呼び出す特殊メソッドを把握しておけばいいと。
さらに破壊的云々は特殊メソッドがどう定義されてるかっていう別問題なわけか。

> __iadd__, __add__, __radd__のうちどれが呼び出されるか動的に
> 決まるので、まぁ不確実性はありますよ、と。
話それるけど、静的言語ユーザーから見たらこういうところをネタにdisってくるから困っちゃうね。
対応するメソッドがあれば同じ操作ができることで書き方が統一されるってすごいメリットなんだけどね。
290デフォルトの名無しさん:2012/04/21(土) 19:44:08.62
いや別に…
291デフォルトの名無しさん:2012/04/21(土) 19:54:21.14
変数aaaが未定義な場合、
・Ruby
if aaa => False
・Python
if aaa: => エラーで落ちる

RubyのようにFalseを返して欲しいのですが、この場合はどのようにifを使えばいいでしょうか?
292デフォルトの名無しさん:2012/04/21(土) 20:00:23.06
変数ちゃんと定義して、False で初期化しときゃいいんじゃないかな。
293デフォルトの名無しさん:2012/04/21(土) 20:00:56.09
try - exceptを使う

try
 if aaaがどうしたこうした :
 なんかの処理
except pass
294デフォルトの名無しさん:2012/04/21(土) 20:02:10.65
RubyでもNameErrorじゃないか?
295デフォルトの名無しさん:2012/04/21(土) 20:38:25.21
NameErrorになるよね。
296デフォルトの名無しさん:2012/04/22(日) 10:31:50.22
馬鹿には無理
297デフォルトの名無しさん:2012/04/22(日) 11:09:14.45
sage

ふーん
298デフォルトの名無しさん:2012/04/22(日) 13:09:50.86
全角使う奴が頭悪いと言うことは良くわかった
299デフォルトの名無しさん:2012/04/22(日) 15:48:40.93
ほかの板じゃ特に指摘されねーし
ttp://unkar.org/r/jisaku/1254554554
300デフォルトの名無しさん:2012/04/22(日) 16:12:18.67
全角使ってるからアホそうなんじゃなくて

アホそうな奴が全角使ってるから見分けやすくていいねってこと
301デフォルトの名無しさん:2012/04/22(日) 16:30:27.03
馬鹿を釣るためにわざと全角にすることがあるよw
302デフォルトの名無しさん:2012/04/22(日) 16:31:38.88
俺は自分で打つときは半角にするが、別に全角だからと言って、どうでもいいじゃん、とは思うがな。

漢字の変換ミスとか逐一言う奴とか、慣用句の言い間違いを指摘するとか
どーでもいい事気にする奴多いよな・・気になるくらいならいいんだけど
いちいち勝ち誇ってるやつはイタイ。
303デフォルトの名無しさん:2012/04/22(日) 16:33:11.64
コマンドやらソースコードやらURLとかの
半角であることに意味があるものを
全角で書かれるとさすがに指摘したくなる
304デフォルトの名無しさん:2012/04/22(日) 17:19:21.83
233 名前:デフォルトの名無しさん[sage] 投稿日:2012/04/14(土) 14:33:21.53
unicode と str の encode / decode 絡みでエラーが出てるときに
print でデバッグするとはまる
百害あって一利なし

257 名前:デフォルトの名無しさん[sage] 投稿日:2012/04/17(火) 04:50:58.68
はいはい
ステマステマ

274 名前:デフォルトの名無しさん[sage] 投稿日:2012/04/20(金) 20:32:00.23
馬鹿には無理

296 名前:デフォルトの名無しさん[sage] 投稿日:2012/04/22(日) 10:31:50.22
馬鹿には無理

ふ〜ん
305デフォルトの名無しさん:2012/04/22(日) 17:22:30.67
ここまでどうでもいい話ですね
ここからもきっとどうでもいい話が続くのでしょう
306デフォルトの名無しさん:2012/04/22(日) 17:37:20.39
そうだけど何か文句ある?
307デフォルトの名無しさん:2012/04/22(日) 18:25:15.93
いや全く平和で結構
308デフォルトの名無しさん:2012/04/22(日) 19:02:57.52
>>290
合格です
309デフォルトの名無しさん:2012/04/23(月) 07:14:00.74
このスレがPythonの本スレにあたるのでしょうか?
310デフォルトの名無しさん:2012/04/23(月) 09:43:28.02
こちらが隔離スレです
311デフォルトの名無しさん:2012/04/23(月) 09:51:10.09
えっ////
312デフォルトの名無しさん:2012/04/23(月) 12:25:59.23
照れてんなよブース
313デフォルトの名無しさん:2012/04/23(月) 19:10:16.74
アセンブラとBASICとCOBOLしかわからないオッサンだけど
Pythonってすげーわかりやすいわ。
C、Delphi、Java、C++、D、Ruby、VB、C#、Haskell、Lua、PHP、JavaScript…
これらに次々と挫折してきた俺が、Pythonは挫折せずに学習が続いている。
314デフォルトの名無しさん:2012/04/23(月) 19:32:56.48
恋多きおっさんやの
315デフォルトの名無しさん:2012/04/23(月) 19:53:36.36
うん。入門書をちょっと開いては、あ、こりゃダメだって
拒絶反応が出て、それを繰り返してきた。
Pythonは何かこれらと違う。
どこがどうとは言えないが、BASICやCOBOLに
雰囲気が似ている気がするんだよ。
316デフォルトの名無しさん:2012/04/23(月) 20:00:24.73
といわれても触ったこと無いから分からんな
317デフォルトの名無しさん:2012/04/23(月) 20:38:38.86
アセンブラわかってCわからんってめずらしいね
318デフォルトの名無しさん :2012/04/23(月) 20:41:35.06
>>313
参考にしたいので、どんな学習方法をしているのか、なんという入門書を
読んでいるのか、ぜひ、教えていただきたいのですが・・・。
319デフォルトの名無しさん:2012/04/23(月) 21:11:48.09
>>313
どんな理由だろう

ALGOL系列が合わない?: C(++)、Delphi、Java、D、C#、JavaScript
メソッド(プロパティ)チェーンが苦手?: VB、Ruby
関数型が理解不能?: Haskell
用途が合わない?: PHP、Lua、JavaScript
320デフォルトの名無しさん:2012/04/23(月) 21:14:29.04
頭が固い
321デフォルトの名無しさん:2012/04/23(月) 21:14:30.67
がっつり文と式を分離するのが好みとかじゃないか
PythonがいまどきのBASICと呼ばれる所以
322デフォルトの名無しさん:2012/04/23(月) 21:53:26.30
>>318
参考までに。
ただし、オブジェクト指向とかWEB関連はこれでは学べんので
本当に初心者向け。この先に行きたい人には参考にならない。

(学習方法)
テキストエディタとコマンドプロンプトを開きっぱなしにして
100行以内に収まる簡単なプログラムを組み、動かす。
完成したら一人で祝杯を挙げたあと、改造して楽しむ。
親切なメッセージをあちこち散りばめたり、計算に使う数値を
キーボードから入力できるようにしたり。
動くモノが1本できると自信になるし、数十行も書けば
Pythonの基本的なコーディング要素がけっこう学べる。

題材は、プログラムをシンプルにするため、計算とその結果の
表示だけで済むもの。
基本情報処理試験のテキストにフローチャートで示されている
ソートや探索のアルゴリズム、その他挫折して放り投げてある
CやJavaのアルゴリズムの本から興味のある項目。


(読んでいるもの)
・オライリージャパン「初めてのPython」
・日本Pythonユーザ会のサイトにある2.7のチュートリアルドキュメント和訳
323デフォルトの名無しさん:2012/04/23(月) 21:59:56.80
普通すぎてこれまたコメントしにくいよ
324デフォルトの名無しさん:2012/04/23(月) 22:05:28.37
初心者なら誰でもやってるな確かに
325デフォルトの名無しさん:2012/04/23(月) 22:07:46.04
>>320
頭が固いで合っていると思う。
自分の脳内スタックが一段しかないのをはっきり自覚している。
Cのポインタ、C++やJavaのクラス、Rubyのメソッドチェーン
これらみんな、脳内スタックが複数段ない人には使えない機能。
だからおそらく、Pythonのオブジェクト指向機能は自分には
身につけられない。
326デフォルトの名無しさん:2012/04/23(月) 22:10:32.48
まあ使えるものを使えるように使っておけばいいんじゃないかしら
327デフォルトの名無しさん:2012/04/23(月) 22:18:08.37
馬鹿には無理
328デフォルトの名無しさん:2012/04/23(月) 22:27:22.68
>>313-321
Delphi(というかPascal)とPythonって、漂っている臭いが似ていると思うが。
なんというか、ヨーロピアンな薫りが(Pascal->スイス、Python->オランダ)
それぞれCとPerlのアメリカ臭さを脱臭して、エレガントにしてみましたが何か?って雰囲気が。

C++がデンマークの薫りなのかは知らない。
329デフォルトの名無しさん:2012/04/23(月) 22:48:30.69
Delphiかかなり厳密に書かせるから、そこら辺が合わん人には合わんと思う
330デフォルトの名無しさん:2012/04/23(月) 22:51:08.36
Scalaもスイスだね
331デフォルトの名無しさん:2012/04/24(火) 00:22:51.56
>>328
>それぞれCとPerlのアメリカ臭さを脱臭して、エレガントにしてみましたが何か?って雰囲気が。

Pascal をバタ臭くしたのが C だと思うが…
332デフォルトの名無しさん:2012/04/24(火) 08:11:14.02
delphiからpythonに来ました
333デフォルトの名無しさん:2012/04/24(火) 08:22:48.91
Pythonをバタ臭くするとRuby?
PHPは腐臭、Perlは死臭がする。
334デフォルトの名無しさん:2012/04/24(火) 09:34:09.71
Rubyは国産ですよ^^;
335デフォルトの名無しさん:2012/04/24(火) 12:00:06.35
国産のくせに、日本語ドキュメントすらPythonに完全敗北のRubyって存在意義あんの?
336デフォルトの名無しさん:2012/04/24(火) 12:03:18.64
論点が見えない
337デフォルトの名無しさん:2012/04/24(火) 12:04:36.18
他の言語との比較はいいから
338デフォルトの名無しさん:2012/04/24(火) 13:30:12.29
Ruby は馬鹿に最適
339デフォルトの名無しさん:2012/04/24(火) 18:48:40.52
「自分は頭が良くて詳しいです」的な自己満足レスの典型だぞ。
相手は超初心者なんだからもう少し優しく教えてあげないと。
さもなくばスルーでOK
340デフォルトの名無しさん:2012/04/24(火) 20:10:25.10
馬鹿には無理
341デフォルトの名無しさん:2012/04/25(水) 02:18:36.59
今日Nose知って楽ちんさに感動したんですが
もしかしてもっといいのあったりするんですか?
342デフォルトの名無しさん:2012/04/25(水) 11:44:40.60
doctest
343デフォルトの名無しさん:2012/04/26(木) 01:11:53.23
テストは他所でやれよ、じゃないんだろうな
344デフォルトの名無しさん:2012/04/27(金) 20:48:05.63
馬鹿には無理
345デフォルトの名無しさん:2012/04/28(土) 01:18:49.20
pass
346デフォルトの名無しさん:2012/04/28(土) 13:12:26.25
wx, Gtk, Qt, TkとかのGUIで、一番動作が速いのってどれかな?
347デフォルトの名無しさん:2012/04/28(土) 13:31:45.06
wx
348デフォルトの名無しさん:2012/04/29(日) 02:46:46.48
φ(.. )メモメモ
349デフォルトの名無しさん:2012/04/29(日) 04:04:59.91
馬鹿には最適
350デフォルトの名無しさん:2012/04/29(日) 09:54:40.55
thnx
351デフォルトの名無しさん:2012/04/29(日) 12:30:27.49
pass
352デフォルトの名無しさん:2012/04/29(日) 16:45:08.41
Python3が多数派になるのはいつの日なのか‥‥
353デフォルトの名無しさん:2012/04/29(日) 16:48:29.65
3000年を目途にしてるらしいから。。。
354デフォルトの名無しさん:2012/04/30(月) 00:46:03.26
皇紀でもきついな
355デフォルトの名無しさん:2012/04/30(月) 20:49:01.43
pass
356デフォルトの名無しさん:2012/04/30(月) 21:02:27.21
exit(0)
357デフォルトの名無しさん:2012/04/30(月) 21:52:41.17
馬鹿には無理
358デフォルトの名無しさん:2012/05/01(火) 23:01:05.03
flaskrの質問です。
sshで接続して
#python flaskr.py
を実行したまま
ttp://www.hoge.com:5000
で画面が表示出来るようになったのですが、
常駐させる方法と
ポート番号を付けずに表示する方法がわかりません。
どうかよろしくお願いします。
359デフォルトの名無しさん:2012/05/02(水) 01:10:06.17
それが何だか知らないし調べるつもりもない、で言っているけど
python flaskr.py&
じゃ駄目?
360デフォルトの名無しさん:2012/05/02(水) 10:43:39.26
python flaskr.py -p 80 &
でいけました
ほんとうにありがとうございました
361358です:2012/05/02(水) 18:57:58.20
>>359
ありがとうございます。
ターミナル無しでもバックグラウンドで表示出来るようになりました。
質問するのに詳細を書いていませんでした。
すいません。
flaskrのページと参考にしたページは以下です。
http://flask.pocoo.org/docs/tutorial/introduction/
http://oceanmarine.org/wordpress/?p=392

>>360
そのコマンドを打ち込んでも
http://www.ドメイン.com:5000
では表示出来るのですが
http://www.ドメイン.com/
では表示出来ませんでした。
何が足りないのでしょうか?
362デフォルトの名無しさん:2012/05/02(水) 19:39:33.00
まず特定フレームワーク内のサンプル名で質問するあたり頭どうかしてるだろ。質問スレでもないし。
素直にドキュメント読めよ。
ポートの変更だってttp://flask.pocoo.org/docs/api/?highlight=run#flask.Flask.run読みゃわかる
363デフォルトの名無しさん:2012/05/02(水) 20:28:08.28
>>361
flaskr.pyの最終行を
#app.run()
app.run(host="localhost", port=80)
に変更

おススメはしない
364デフォルトの名無しさん:2012/05/02(水) 20:45:56.40
非ローカルなら
#startup.script
SERVER_NAME="hoge.com:80"

$FLASKR_SETTINGS=./startup.script python flaskr.py
でもいいかもしれない
365デフォルトの名無しさん:2012/05/03(木) 15:33:10.51
Pythonで、
class Foo(object):
 def __init__(self, *values)
  self.values = values
foo = Foo(10, 20, 30)
a, b, c = foo
ってやったら a=10, b=20, c=30 となるようにしたい。
どういう特殊メソッドをていぎすればいいの?
366デフォルトの名無しさん:2012/05/03(木) 15:52:59.79
>>365
def __getitem__(self, n):
  return self.values[n]

もしくは list を継承する。
367デフォルトの名無しさん:2012/05/03(木) 17:36:54.12
class Foo(object):
def __init__(self, *values):
self.values = values
def get_abc(self):
return self.values
foo = Foo(10, 20, 30)
a, b, c = foo.get_abc()
print(a, b, c)
368デフォルトの名無しさん:2012/05/03(木) 17:43:57.17
馬鹿は死ね
369デフォルトの名無しさん:2012/05/03(木) 18:31:51.52
はい
370デフォルトの名無しさん:2012/05/05(土) 00:12:03.21
>>367
特殊メソッドって書いてあるのが読めなかったのかな
小学校からやりなおそうか
371デフォルトの名無しさん:2012/05/05(土) 06:45:54.59
>>366
ありがと。それってマニュアルのどこに書いてあるの?ぐぐっでも見つからないんだけど。
372デフォルトの名無しさん:2012/05/05(土) 08:52:59.22
PackerとUnpackerを調べてみることを勧める
373デフォルトの名無しさん:2012/05/05(土) 09:42:35.57
それよりこっちだ
http://www.python.jp/doc/release/reference/simple_stmts.html#assignment-statement
あとここ
http://readthedocs.org/docs/python-doc-ja/en/latest/c-api/iterator.html

一つ目のURLに“代入先が変数リストの場合はイテレート可能オブジェクトでなければならない“と書かれている
二つ目のURLには“Pythonがサポートするイテレート可能オブジェクトは二種類あると書かれている
イテレート可能オブジェクトは二種類あって、__getitem__を使用するシーケンスイテレータと、
__iter__を使用するイテレータ(ドキュメントにはsentinel(番兵)を使用するイテレータとある)がある
374デフォルトの名無しさん:2012/05/05(土) 11:54:59.73
vimスレより転載。vimでPython書いてる人に朗報。

578名無しさん@お腹いっぱい。sage2012/05/04(金) 12:33:13.60
みんな知っているだろうけど、
今日見て驚いたので記念カキコ。

http://www.vim.org/sponsor/vote_results.php
sponsorsの1位投票は、
add integration with Python instead of inventing more Vim script

私も常々感じていたのだけど、ここまで大きな勢力になっているとは思わなかった。
375デフォルトの名無しさん:2012/05/05(土) 15:39:34.22
:q!
376デフォルトの名無しさん:2012/05/05(土) 16:15:51.94
おはようvim
377デフォルトの名無しさん:2012/05/05(土) 16:38:13.13
>>374
訳が欲しいなあ。
英和辞書を片手に訳してみたが意味がわからん。

「Vimスクリプトを発明する代わりにPythonとの統合を加える」
…エディタのマクロとしてPythonを採用しろってことか?
378デフォルトの名無しさん:2012/05/05(土) 17:27:38.49
金払ってvim使っている方々が望んでいること第一位
379デフォルトの名無しさん:2012/05/05(土) 17:34:35.04
>>377
:help python
した方が解るんじゃ?
380デフォルトの名無しさん:2012/05/05(土) 18:43:22.12
>>373
そのURL読んで見ようと思ったけど、どっちも難しすぎる。Pythonではこんなの読まないといけないの?

イテレート可能なオブジェクトが何かを知るためにはCのAPIドキュメントを読まないといけないとは、敷居が高過ぎる。
381デフォルトの名無しさん:2012/05/05(土) 18:53:55.74
全部読まなくても>>373がレスに書いてることだけで十分
広辞苑買ったからって読破しようとは思わん
382デフォルトの名無しさん:2012/05/05(土) 20:04:46.74
>>282
>next(itertools.ifilter(func, xs), None)
あのさ、Pythonってこういうのよく使うわけ?
関数型言語ならこういうの大好きなのは分かるけど、Pythonってもっと分かりやすさを好む文化だと思ってた。
こんなパズルみたいなコードが許されるならPython使うのやめたくなる。


383デフォルトの名無しさん:2012/05/05(土) 21:22:34.06
>>382
ROMってればわかることだけど、コーディングについての質問があると無駄にややこしい例をみんなで挙げあう
のが伝統。
384デフォルトの名無しさん:2012/05/05(土) 21:30:31.40
>>382
PythonはHaskellの影響を強く受けていて
随所に関数型言語の香りがあるんよ。
Pythonのクラスの特徴である、メソッドの第一引数に
インスタンスの指定を強要するという仕様も
その絡みから来るものなんだそうだ。

結論:嫌なら使うな
385デフォルトの名無しさん:2012/05/05(土) 22:00:58.35
Haskellでの$や.的なものってあります?
386デフォルトの名無しさん:2012/05/05(土) 22:11:16.01
Pythonは別にそれほどfunctionalな言語ではないと思う
逆にそういうつもりで書くと色々窮屈かと

ただ>>382ぐらいはぶっちゃけ今時のLLではありふれてるよ
Rubyあたりだともっとメソッドチェーンとブロック使ってダラダラつなげるイメージ
387デフォルトの名無しさん:2012/05/05(土) 22:16:08.91
Rubyはダラダラどころか最初から>>382がある
388デフォルトの名無しさん:2012/05/05(土) 22:21:52.04
>>387
いやRubyが冗長とかそういう意味で書いたのではなく、
Rubyでは高階関数やメソッドチェーンがごく普通に多用されてるってつもりで書いた
ごめん

PythonはRubyほど色々チェーンする文化は無い(と思う)けど
>>282はPythonのコードとして特に複雑なわけでもない
っていうか実際こういうコードを書かないのなら、itertoolsモジュールの
存在意義がない
389デフォルトの名無しさん:2012/05/05(土) 23:59:37.64
>>388
>>>282はPythonのコードとして特に複雑なわけでもない
>っていうか実際こういうコードを書かないのなら、itertoolsモジュールの
>存在意義がない

あのー、>>279ですでにたいへん分かりやすいコードが書かれてるんですけど。
そのコードよりも
>next(itertools.ifilter(func, xs), None)
みたいなコードのほうが、Pythonらしいわけ?
itertoolsのほうがうまく書けるコードならitertools使えばいいけど、
そんなの使わなくても>>279のようにわかりやすく書けるのなら、
わかりやすいほうを選ぶのがPythonの文化だと思ってた。
Python3でreduce()がビルトインから外されたのもそういう文化だからと
思ってたのに、実はそうではなくて、itertoolsがあるんだからという理由で
わざわざ難しい方法を使って自己満足にひたるのが今のPythonなんだな。
残念だ。
390デフォルトの名無しさん:2012/05/06(日) 00:04:57.51
何を勝手に決めつけて何を勝手に残念がっているのか知らないが、
誰もお前に何かを強要はしないし、していない
自分の好きに書けばいい話だろう
391デフォルトの名無しさん:2012/05/06(日) 00:05:15.74
2chの書き込みだけで言語の特性やら空気を断定しちゃう貴方の脳みそが残念だと思わなくもない
392デフォルトの名無しさん:2012/05/06(日) 01:56:33.90
たまには内包表記さんとジェネレータ式さんのことも思い出してあげてください。
393デフォルトの名無しさん:2012/05/06(日) 12:26:00.41
>>391
Pythonは〜文は〜って言ってる人はむしろZenに影響されすぎなんだと思うで

思想が変なところにクリティカルヒットして「もうこれしかねえな!」見たいな感じになってるんだろうけど
現実はもっとファジー

そして一般的には馬鹿の一つ覚えという
394デフォルトの名無しさん:2012/05/08(火) 00:02:48.64
馬鹿には無理
395デフォルトの名無しさん:2012/05/08(火) 00:07:43.05
botにも無理
396デフォルトの名無しさん:2012/05/08(火) 11:04:13.36
↑バーカバーカ
↓バーカバーカ
397デフォルトの名無しさん:2012/05/08(火) 11:13:35.37
呼ばれた気がした
398デフォルトの名無しさん:2012/05/08(火) 13:50:59.24
pass
399デフォルトの名無しさん:2012/05/08(火) 13:52:06.42
>>397
そこは「バカじゃないもん!」じゃないのか?
400デフォルトの名無しさん:2012/05/08(火) 16:01:07.22
Pythonの高速化テクニックについて参考になるページを教えて下さい。
とくにGCまわりでの注意点や落とし穴について紹介しているページは大歓迎します。
よろしくお願いします。
401デフォルトの名無しさん:2012/05/08(火) 17:36:13.87
>>400
ページじゃなくて去年のPyCon JPの動画だけど。GCにはあんまり言及してないかもしれん。
ttp://www.ustream.tv/recorded/16898778
402デフォルトの名無しさん:2012/05/08(火) 18:36:02.96
Pythonのエンコーディング名として、「utf-8」と「utf8」のどちらも使えるようですが、
どちらがお勧めですか。
403デフォルトの名無しさん:2012/05/08(火) 19:21:33.49
どっちも正当な「別名」なので、特に理由がないのなら正当な名前をお勧めします
正当な名前は
http://www.python.jp/doc/2.7/library/codecs.html#standard-encodings
この辺に書いてあると思います
404デフォルトの名無しさん:2012/05/08(火) 19:56:50.84
>>402
個人的にUTF-8が好みだけど、utf-8がいいと思うよ
一般的に多く使われてるし
tokenizer.cを見る限り速度的にも一番速い(認識不能レベルだけど)
405デフォルトの名無しさん:2012/05/08(火) 20:58:18.45
>>403
引用
> 大文字と小文字、またはアンダースコアの代りにハイフンにしただけの綴りも有効な別名です; そのため例として 'utf-8' は 'utf_8' codec の正当な別名です。

へーそうなんですか。utf_8が正式な名前で、utf8もutf-8も別名なんですね。勉強になりました。

>>404
じゃあutf-8を使います。ありがとうございました。
406デフォルトの名無しさん:2012/05/09(水) 16:13:32.09
またDjangoかよ
足引っ張ってるなDjango
407デフォルトの名無しさん:2012/05/09(水) 17:22:36.00
djangoとGAEが3に以降すればみんなついてくのに
408デフォルトの名無しさん:2012/05/09(水) 17:29:34.41
metaplotlibもそうだ あれがPython3にないのは痛い
409デフォルトの名無しさん:2012/05/09(水) 22:39:40.02
numpyが一番大きいだろ
410デフォルトの名無しさん:2012/05/10(木) 02:50:17.81
リストの日本語をprintするとひどいことになるので3を使ってみようと思ったら
wxpythonが2.7止まりであきらめかけてる
pygtkが使い物になるレべルならいいけど
411デフォルトの名無しさん:2012/05/10(木) 02:58:20.98
>>> print [u'日本語']
[u'\u65e5\u672c\u8a9e']
>>> print repr([u'日本語']).decode('unicode-escape')
[u'日本語']
412デフォルトの名無しさん:2012/05/10(木) 06:17:53.82
numpyはPython3で使える
scipyも使える
413デフォルトの名無しさん:2012/05/10(木) 11:30:31.16
matplotlibも非公式だけどPy3k対応版はすでにある。
414デフォルトの名無しさん:2012/05/10(木) 11:53:46.96
え..それ本当ですか 帰ったら調べてみよう
2はstr型とunicode型を常に意識して区別しないといけないのが嫌だったんだよね
415デフォルトの名無しさん:2012/05/10(木) 14:28:59.81
>>> from datetime import date
>>> str(date.today())
'2012-05-10'
となるんですけど、dateオブジェクトをstr()したときのフォーマットってこれで固定ですか?
今はdate.today().strftime('%Y-%m-%d')を使ってるんですけど、面倒なので、
str(date)で済むならそっちにしたいです。
416デフォルトの名無しさん:2012/05/10(木) 14:47:05.04
417デフォルトの名無しさん:2012/05/10(木) 16:01:22.24
>>416
おお、固定なんですね。これはありがたい。さんくすです。
418デフォルトの名無しさん:2012/05/10(木) 18:31:36.38
パイパイって電車の中じゃ言えないよね
こういう時どうすんの?
419デフォルトの名無しさん:2012/05/10(木) 18:42:34.21
言っても構わんでしょ。
中国人はよくチンチンって言ってるし。
420デフォルトの名無しさん:2012/05/10(木) 19:34:51.52
warota
421デフォルトの名無しさん:2012/05/10(木) 19:52:23.03
>>418
イントネーションで回避
422デフォルトの名無しさん:2012/05/10(木) 21:59:57.59
>>418
巧妙にドラゴンボールの話題と混ぜる。
423デフォルトの名無しさん:2012/05/10(木) 22:09:15.16
人魚さんがどーたら
424デフォルトの名無しさん:2012/05/10(木) 22:29:09.17
タオだろjk
425デフォルトの名無しさん:2012/05/11(金) 01:39:35.49
pass
426デフォルトの名無しさん:2012/05/11(金) 03:59:16.09
パイ・トゥーとかパイ・バイ・トゥーとかw
427デフォルトの名無しさん:2012/05/11(金) 12:07:17.29
pass
428デフォルトの名無しさん:2012/05/11(金) 18:31:02.18
そう考えると、Pythonで仕事して、帰り際にはどういえばいいんだろ

おつ...
429デフォルトの名無しさん:2012/05/11(金) 18:47:43.26
おっとだれかきたようだ
430デフォルトの名無しさん:2012/05/11(金) 21:32:07.58
ふと、今になって重要なことに気付いた

パイレーツのパイってパイ乙のパイだったのか!!!
431デフォルトの名無しさん:2012/05/11(金) 22:12:06.88
pass
432デフォルトの名無しさん:2012/05/11(金) 23:24:43.69
Pypy速いらしいけどlxmlみたいにCを呼び出すようなものまで高速化は望めないのかな
433デフォルトの名無しさん:2012/05/11(金) 23:27:14.60
原理的にそりゃそうだろ
434デフォルトの名無しさん:2012/05/11(金) 23:36:56.60
よくCで実装されたモジュールがあればそっちをimportする様になってるコード見るけど、
pypyだと逆効果になるのか。
435デフォルトの名無しさん:2012/05/11(金) 23:41:40.40
効果は及ばないだろうが逆効果はまた話が違うだろ
436デフォルトの名無しさん:2012/05/11(金) 23:59:00.91
こんなものがある
http://shootout.alioth.debian.org/u32/which-programming-languages-are-fastest.php
http://shootout.alioth.debian.org/u32q/which-programming-languages-are-fastest.php

で、PyPy
http://speed.pypy.org/

PyPyはCPython(上のベンチは3のだけど…)の18%の実行時間だから、おおよそCの9倍くらい遅い

LL言語と上位陣の言語には明らかな壁がある
これは静的型付けか否かで最適化の掛けやすさが異なるため
Lispが動的型付けなのに上位に居るのは、実質リストしかないから
437デフォルトの名無しさん:2012/05/12(土) 00:17:29.04
あと、インタプリタは原理的にCPUが実行する分岐命令が増えるので、パイプラインの恩恵を受けにくい
JIT入れただけで飛躍的に加速するのはこのあたりが原因
438デフォルトの名無しさん:2012/05/12(土) 00:17:40.32
>>435
例えばcPickleが使えればcPickleをimportする様になってるコードで、
CPythonなら当然cPickleの方が望ましいからいいのだけど、
pypyはcPickleよりもPickleの方が早いのにcPickleがimportされちゃって逆効果、ってつもりで書いた。
なんか間違ってる?
439デフォルトの名無しさん:2012/05/12(土) 02:35:36.82
pypyだと普通のpickleの方が早くなるの?
なんか凄いね
numpypyの開発もかなり活発らしいしありがたい話だ
440デフォルトの名無しさん:2012/05/13(日) 01:38:42.75
http://ideone.com/oZifX
1文字ずつシリアル通信で送るプログラムなんですけど
これを文字列で送るにはどうすればよいのでしょうか?
441デフォルトの名無しさん:2012/05/13(日) 01:55:33.42
なんとなくわかるけど、要件をもうちょっと正確に。
442デフォルトの名無しさん:2012/05/13(日) 08:16:44.77
>>440
いまいち意図が良くわからないけど、

| Changed in version 2.5: Accepts instances of bytes and bytearray when available
| (Python 2.6 and newer) and str otherwise.

って書いてあるから、write( ) に文字列突っ込めばいいんじゃね?

http://pyserial.sourceforge.net/pyserial_api.html#classes
443デフォルトの名無しさん:2012/05/13(日) 18:13:24.20
馬鹿には無理
444デフォルトの名無しさん:2012/05/14(月) 00:32:29.34
この serial モジュールの API は糞だな
445デフォルトの名無しさん:2012/05/14(月) 00:56:38.83
馬鹿には無理
446デフォルトの名無しさん:2012/05/15(火) 00:37:06.96
Python Imaging Library (PIL)で図形描きたいのですがジャギーが出てしまいます。
ジャギーが出ないようにするにはどうすればいいですか?

>>> import Image,ImageDraw
>>> img = Image.new('RGB', (100,100), (255,255,255))
>>> draw = ImageDraw.Draw(img)
>>> draw.point([(i,i*2) for i in range(20)], (0,255,255))
>>> img.save('hoge.jpg', 'JPEG')
447デフォルトの名無しさん:2012/05/15(火) 00:53:00.70
でかく描いて縮小
448デフォルトの名無しさん:2012/05/15(火) 01:36:13.95
>>> img.save('hoge.png', 'PNG')
449デフォルトの名無しさん:2012/05/15(火) 05:47:47.08
>>446
jepgのブロックノイズじゃなくて?
450デフォルトの名無しさん:2012/05/15(火) 09:51:26.50
>>447-449
ありがとぉ〜。特に>>448さん!ありがとぉ〜^^
451デフォルトの名無しさん:2012/05/15(火) 13:37:07.30
へ〜 png使うとジャギらないんだ
452デフォルトの名無しさん:2012/05/15(火) 15:10:45.76
いやジャギーじゃないだろそれは
モスキートノイズくせぇ
453デフォルトの名無しさん:2012/05/15(火) 16:24:49.97
質問です。
IPアドレスから住んでる国名を取得できる「GeoIP」というライブラリがあります。
このライブラリがどうゆう仕組みで動いているのか知りたいです。

GeoIP Python API
ttp://www.maxmind.com/app/python

このライブラリは

http://snipt.org/ujse1

という感じで使用します。
このコードの先頭で GeoIP を import してますが、この GeoIP の実態は GeoIP.so というライブラリになります。
この GeoIP.so は「python setup.py build」で作成していますが、
そもそもこの GeoIP.so は C言語で書かれてた実行ファイルではないのでしょうか?
なぜPythonで普通に import できるのでしょうか?
454デフォルトの名無しさん:2012/05/15(火) 16:51:10.09
そのGeoIP.soはC言語で書かれたPythonモジュールなんだよ
http://www.python.jp/doc/release/extending/
455デフォルトの名無しさん:2012/05/15(火) 16:59:03.37
ありがとうございます。読んでみます。
456デフォルトの名無しさん:2012/05/18(金) 18:09:29.59
>>401
>ページじゃなくて去年のPyCon JPの動画だけど。GCにはあんまり言及してないかもしれん。
>ttp://www.ustream.tv/recorded/16898778

これ見たんだけど、自作のプロファイラ作りましたとか、バイトコードの細かい話とか、C言語の話ばっかりで、完全に上級者向けでした。
もっと初心者〜中級者向けの、【Pythonの】高速化テクニックについて参考になる情報を教えて下さい。
457デフォルトの名無しさん:2012/05/18(金) 18:43:41.41
馬鹿には無理
458デフォルトの名無しさん:2012/05/18(金) 20:31:31.10
そういう仕様的な込み入った話じゃなくなると、アルゴ的な最適化が主になるわけよ

アルゴリズムってのは言語によって差がない(意味論的な話で実装難度は違う)から
「この言語で」って言われるとあまり存在しないんだよ
459デフォルトの名無しさん:2012/05/19(土) 02:16:09.28
具体的に何を高速化したいのだろう
Pypyは試してみた?
ベタだけど数値計算だったら適切にnumpy使うとか
460デフォルトの名無しさん:2012/05/19(土) 14:25:03.46
同じやりたいことを、こう書くと高速(または低速)、
というのはPythonらしからぬと思うな。
461デフォルトの名無しさん:2012/05/19(土) 15:31:26.89
psycoたんハァハァ
462デフォルトの名無しさん:2012/05/19(土) 15:38:43.52
>>456
その動画は、内容はオーソドックスで悪くないけど、発表が慣れてなくて下手くそ。
サンプルコードもわかりにくいし字が小さくて読みにくい。
同じpyconjpならこっちのほうが初心者にはおすすめ。
https://sites.google.com/site/pyconminijp/reports/talks-am#TOC-Python-2
http://blip.tv/pyconjp/pycon-mini-jp-2011-chapter-06-4750128
要約:
* list.append()よりlist.extend()
* グローバル変数よりローカル変数

あるいは
http://d.hatena.ne.jp/atsuoishimoto/20100217/1266418914
要約:
* listよりtupleを使う
* __slots__を定義する

http://wiki.python.org/moin/PythonSpeed/PerformanceTips
要約:
* list.sort()ではkeyを使え
* 文字列の結合には + より % や "".join() を使え
* ループより map() やリスト内包を使え
* list.append() より append = list.append; append() を使え
* できるだけローカル変数を使え
(続く)
463デフォルトの名無しさん:2012/05/19(土) 15:42:41.31
馬鹿には無理
464デフォルトの名無しさん:2012/05/19(土) 15:45:29.25
* wdict = {}
 for word in words:
  if word not in wdict:  # このif文が何度も実行されて無駄
   wdict[word] = 0
  wdict[word] += 1
より
 wdict = {}
 for word in words:
  try:
   wdict[word] += 1
  except KeyError:
   wdict[word] = 1
 のほうが速い
* 何度もimport文を実行するのはやめよ
* Pythonの関数呼び出しはコストが高いので
 def func(x): ...
 for x in xs:
  func(x)
 より
 def func(xs):
  for x in xs: ...
 func(xs)
 のほうが速い
* range() より xrange() 使え
* 場合によってはメソッドを再定義しろ
 def method(self):
  ... # 最初の1回でしか行わない処理
  self.method = self._method # メソッド定義を上書き
  return self.method()
 def _method(self):
  ... # 毎回実行する処理
465デフォルトの名無しさん:2012/05/19(土) 16:10:27.99
fnmatch.fnmatchの中でローカルにimportしてるけどあれどうなの
466デフォルトの名無しさん:2012/05/19(土) 16:16:35.21
違った
fnmatch.filterだった
467デフォルトの名無しさん:2012/05/19(土) 16:19:27.75
>>458
>アルゴリズムってのは言語によって差がない(意味論的な話で実装難度は違う)から
>「この言語で」って言われるとあまり存在しないんだよ

そんなばかな。
468デフォルトの名無しさん:2012/05/19(土) 16:20:45.09
チューリング完全なら最終的にできるものは同じです
469デフォルトの名無しさん:2012/05/19(土) 17:15:52.32
それなんてニヒリズム?
470デフォルトの名無しさん:2012/05/19(土) 19:52:17.39
>>467
アルゴリズムで計算量オーダは決まるだろ。
471デフォルトの名無しさん:2012/05/19(土) 20:05:44.06
汎用的なアルゴ本はCか疑似言語が多いだろ
こういうのは一通り読んだらもう買わないわけ
そうなると人口の多い言語に向けて出した方が安定する

クックブック的な本は言語の依存性が大きいから別々に書いても売れるけどね
472デフォルトの名無しさん:2012/05/20(日) 00:09:06.19
>>464
この「例外(try except)を利用してロジックを書く」ってのはどうなんだろう
473デフォルトの名無しさん:2012/05/20(日) 00:29:09.37
if inはないと直感でわかってhas_keyだろと思ったがtryであったでござる
474デフォルトの名無しさん:2012/05/20(日) 03:33:28.82
オーダー見てるだけじゃ最適化は終わらんわ。ボトルネックを削る効果は普通にでかい。
Cくらいの低水準寄りな言語なら罠も少ないが、ある程度複雑な言語だとちょっとしたことで大差が出る
場合もあるのだし。
最善を尽くさなければならないなら、他言語の併用や乗り換えも検討すべきだが。
475デフォルトの名無しさん:2012/05/20(日) 08:49:06.50
馬鹿には無理
476デフォルトの名無しさん:2012/05/20(日) 09:54:52.13
>>472
エラーハンドリングのためのロジックだからいいのでは。
477デフォルトの名無しさん:2012/05/21(月) 10:28:38.74
>>472
tryの中に何か処理を書き足したとき、その処理が偶然KeyError例外を出すようなことがあると、
エラーとならずに静かに誤動作を続ける、愉快なバグができ上がる訳ですね。

というか、CollectionsのCounterとか、defaultdict(int)とか、代替案はいろいろあるのに、
try..except..は無いと思う。
478デフォルトの名無しさん:2012/05/21(月) 18:46:52.03
そういうアイディアもあるんだなと勉強にはなった
ただ実際に書くかといえば...
もし自分以外の人が見た時に意思が共有されてないとマズイことになりそう
479デフォルトの名無しさん:2012/05/21(月) 22:32:25.98
普段は使わない方がいいコードだな
どうしてもそこをPythonのまま高速化したい場合なら、まぁ、ありかな
tryの中に漫然と処理を書き足すのもそれはそれでおかしいんだし
480デフォルトの名無しさん:2012/05/22(火) 23:04:12.26
>>477
>tryの中に何か処理を書き足したとき、その処理が偶然KeyError例外を出すようなことがあると、
>エラーとならずに静かに誤動作を続ける、愉快なバグができ上がる訳ですね。

464のコードのことをいっているなら、except節のあとに書けばいいだけ。
tryの中に処理を書き足す方がバカ。

> というか、CollectionsのCounterとか、defaultdict(int)とか、代替案はいろいろあるのに、
> try..except..は無いと思う。

そう思うなら、wikiなんだから自分で編集しろ。
python公式サイトのwiki ( http://wiki.python.org/moin/PythonSpeed/PerformanceTips ) なんだから
より正確な情報を載せるほうが望ましい。

つうか公式サイトの内容にケチをつけるとは、日本人Pythonistaのレベルも高くなったのう。いいことじゃないか。

481デフォルトの名無しさん:2012/05/23(水) 00:19:28.99
c++で言うところのブロック(スコープ)に相当する書き方はありますか?

http://ideone.com/xQt2n

でのjみたいに関数内で変数の生存期間をさらに制限したいのですが
482デフォルトの名無しさん:2012/05/23(水) 00:34:37.92
ないよ。
del j することはできるけど見たことない
関数を分けるか関数内関数を使うかすればいいと思う
483デフォルトの名無しさん:2012/05/23(水) 00:48:57.59
使わなくなったところで、適当になんか代入しておけばいいんじゃね?
484デフォルトの名無しさん:2012/05/23(水) 00:49:03.00
公式サイトだとか関係無い
例外の本来の使い方とはかけ離れているんじゃないかと指摘してるだけで
むしろpythonってそういうのを排除しようって傾向に無いかな
485デフォルトの名無しさん:2012/05/23(水) 00:51:05.55
結局、例外自体が設計の間違いって流れなのか?
プログラム言語の流れとして
486デフォルトの名無しさん:2012/05/23(水) 01:06:25.77
>>482, 483
ありがとうございます

c++でそういう書き方に慣れてしまったのでつい書きたくなったのですが
俺の頭のほうをなんとかすることにします

487デフォルトの名無しさん:2012/05/23(水) 01:20:05.43
wdict.setdefault(word,[0])[0]+=1
って書けばok
488デフォルトの名無しさん:2012/05/23(水) 02:57:43.83
例外なんか最近の言語にも普通に搭載されてるだろ
Googleが低水準系の言語で例外を使わないようにしてるくらいじゃね?
489デフォルトの名無しさん:2012/05/23(水) 05:03:51.24
適切に使用されているかの問題やねん
例外的な状況に使え
フロー制御に使うな
ってのはよく言われていること
490デフォルトの名無しさん:2012/05/23(水) 05:25:02.27
こんな、こんなの普通は気づかないわよ。
a = (int('10')),
知らないよー。
491デフォルトの名無しさん:2012/05/23(水) 08:53:37.32
>>489
と主張する一派がいるって程度でしょ
アンチパターンというほどの共通認識にはなってない
492デフォルトの名無しさん:2012/05/23(水) 11:47:21.72
489はJavaとかC#の話だったような

あれらはコンパイラが最適化に掛ける気合いがPythonとは違うので、例外一回起こしただけで万倍以上のコスト払わされるから、発生を予見できるならなるべく避けましょうと言う話
これは一派というか当たり前の話
OracleにもMSDNにもガイドとして書いてある

Pythonの例外はそうでもないので、こんな物に倣う必要はなし
493デフォルトの名無しさん:2012/05/23(水) 12:38:19.99
>>462
ありがとうございます。まさにそういうのが知りたかったです。
Pythonではどう書くのがよくて、またダメなのかがしりたかったので、まさにドンピシャな内容でした。
そこに書かれているビデオも面白かったです。書き方を工夫することでどんどん速くなるのが面白かったです。
あと、こういうチューニングをしてもコードが読みやすいままというのはPythonのいいところだと思いました。
494デフォルトの名無しさん:2012/05/23(水) 19:10:41.14
細かいようだが、どう書くのが良いか、ってのを求めてるなら違う
これは良いんじゃなく、速い
495デフォルトの名無しさん:2012/05/23(水) 19:13:04.23
例外を通常系の条件分岐に使うべきじゃないのって、別に最適化のコストの問題だけじゃ
無いと思うけどな・・・

別に数万倍程度の実行速度の差なんて気にならないようなケースだって多々あるわけだし。
1日に1回しか実行されない処理で、数%くらいの確率でしか実行されない条件とか。
496デフォルトの名無しさん:2012/05/23(水) 19:20:43.87
それは一貫性の問題でしよ
ここはこのイディオム
こっちはこのイディオムって
やること同じなのに違う記述をパイソニアは好むんですか?
497デフォルトの名無しさん:2012/05/23(水) 20:22:01.32
今北産業
498デフォルトの名無しさん:2012/05/23(水) 20:29:51.57
pythonistaの女の子
パンツうp
大興奮
499デフォルトの名無しさん:2012/05/23(水) 20:37:47.30
>>496
一貫性とれてると思うけど?
Pythonでは、はためから見たら条件分岐でかけばいいようなところにもしょっちょうtry-exceptを使う。
たとえば他の言語なら
if value.isdigit(): n = int(value)
else: n = 0
と書くところでも、Pythonでは
try: n = int(value)
except: n = 0
と書くのはよくあるし、とがめられるようなことはない。
あるところでは例外処理はなるべく使うなと言い、別のところでは(464のように)例外処理を使え、というのなら一貫性がないと言われても仕方ないけど、
Pythonでは例外処理は積極的に使われているのだから、もとから一貫している。
500デフォルトの名無しさん:2012/05/23(水) 21:16:46.32
積極的に使われてるのか
全然見た事が無いんだが俺の勉強不足なのだろうか
501デフォルトの名無しさん:2012/05/23(水) 21:51:01.91
つーか、例外って使いたくなくても、ライブラリが例外出すからそういう書き方に強制されるもんの気はする。
使い捨てスクリプトなら、細かいことは気にしない。ちゃんとしたモジュール作るなら、色んな面を考慮して決める。
502デフォルトの名無しさん:2012/05/24(木) 00:10:41.31
>>499
で、いつもnが0になるんですけど、って苦情を受けて、
初めてvalueのスペルが間違ってたことに気づくんですね。
わかります。
503デフォルトの名無しさん:2012/05/24(木) 00:26:21.96
>>502
from perl import strict
できればいいのに。
504デフォルトの名無しさん:2012/05/24(木) 00:40:11.79
>>502
例外クラスをきちんと指定しておけばいいだけの話と思うけどね。
505デフォルトの名無しさん:2012/05/24(木) 01:10:34.21
>>502
except ValueError, TypeError
すればいいだけだね。
あと、いつも発生するわかりやすいバグはすぐに気づくから、502のような状況にはまずならない。
506デフォルトの名無しさん:2012/05/24(木) 02:01:58.16
>>505
> except ValueError, TypeError
> すればいいだけだね。

いやそれいっしょくたにしちゃダメでしょ。
507デフォルトの名無しさん:2012/05/24(木) 06:51:45.01
>>500
多分そう。if文の上位互換と考えても良いくらい使われている。
508デフォルトの名無しさん:2012/05/24(木) 10:32:48.01
>>499
むしろ、intに変換できなければ0として扱う、という点に仕様バグ臭がする。
ユーザーが間違って全角で「123」と入力しても、0として扱われるんですね?
仮に0が無効値を表しているとしたら、マジックナンバー使うな問題になるし。

>>500>>507
自分も見たことない。
具体的にifの代わりに例外処理が多用されている実例を教えて。
509デフォルトの名無しさん:2012/05/24(木) 10:45:53.48
Java の parseInt とかには疑問持ってないのかな
510デフォルトの名無しさん:2012/05/24(木) 10:49:45.68
>>> '10'.isdigit()
True
>>> '-10'.isdigit()
False

こんな具合にisdigitが糞仕様だから
いきなり>>499するひとは多い
511デフォルトの名無しさん:2012/05/24(木) 12:08:57.66
何で標準ライブラリのソースも読んでない奴が偉そうにしてんの
512デフォルトの名無しさん:2012/05/24(木) 18:59:28.68
C#使いだったがPythonのイテレータの終端(だったかな?)で毎度例外が発生してしまうのには
「なんじゃそりゃ!」と驚いた記憶がある(そうさせない方法もあるけど)

他の言語で慣れている人には違和感すごくあるだろうし、try...exceptを数行に渡ってインデントしながら
書かないといけないのはどうなんだろうと今でも思ってしまう
513デフォルトの名無しさん:2012/05/24(木) 19:13:42.19
>>498
Pythonを使ってる女の子なんているんですか?
514デフォルトの名無しさん:2012/05/24(木) 21:53:14.32
お洒落な感じはしない…
515デフォルトの名無しさん:2012/05/25(金) 00:19:51.78
馬鹿には無理
516デフォルトの名無しさん:2012/05/25(金) 00:27:47.50
517デフォルトの名無しさん:2012/05/25(金) 00:51:29.78
>>500
# たとえば文字列を数字に変換するとか
offset = request.GET.get('offset')
try:
 offset = int(offset)
except VaueError, TypeError:
 offset = 0

# たとえば xrange が定義されてなければ xrange = range を実行するとか
try:
 xrange
except NameError:
 xrange = range

# たとえばStringIOを使うとか
try:
 from cStringIO import StringIO  # python2
except LoadError:
 from io import StringIO  # python3
518デフォルトの名無しさん:2012/05/25(金) 00:56:28.78
>>506
>> except ValueError, TypeError
>> すればいいだけだね。
>
>いやそれいっしょくたにしちゃダメでしょ。

いやいっしょくたにしていいよ。もとのコードがこれだから:
try: n = int(value)
except: n = 0

正確に書くと
try:
 n = int(value)
except TypeError: # value が None のときとか
 n = 0
except ValueError: # value は文字列だけど数値表現としては正しくないとき
 n = 0

つまりTypeErrorのときもValueErrorのときも、どっちも n = 0 をするだけのコードなんだから
except ValueError, TypeError:
 n = 0
のようにいっしょくたにして構わない。
519デフォルトの名無しさん:2012/05/25(金) 01:15:00.97
急にレベル下がったな
520デフォルトの名無しさん:2012/05/25(金) 04:16:58.62
これから>>519がハイレベルな書き込みをすると聞いて
521デフォルトの名無しさん:2012/05/25(金) 04:29:21.10
ああ、>>519にはぜひレベルの高い講義をお願いしたいものだな
522デフォルトの名無しさん:2012/05/25(金) 08:19:08.16
自分の好みに合わなくても、むしろ合わない方が、その界隈のやり方に合わせるのは面白いよ
例えばCで、ぶら下がりif文はどうも好まない俺だけど、そう書かないと許されない界隈はある訳だし、
慣れればそういう考え方も分かる気はしてくるし
523デフォルトの名無しさん:2012/05/25(金) 13:17:53.34
「馬鹿は死なねば治らないのであり、だからこそアナトール・フランスは
『愚かな者は、邪悪な者よりも忌まわしい』と言ったのだ。
 邪悪な者は休むときがあるが、愚かな者はけっして休まないからである。」
(ホセ・オルテガ・イ・ガセット 1883〜1955)
524デフォルトの名無しさん:2012/05/26(土) 08:44:20.25
udpのmpegストリームをrtmpに変換するライブラリとかありませんか
525デフォルトの名無しさん:2012/05/26(土) 08:50:33.51
526デフォルトの名無しさん:2012/05/26(土) 08:56:53.63
ffmpegぐらいしかないんじゃね
527デフォルトの名無しさん:2012/05/26(土) 14:17:00.52
Where is the sponge I asked you to buy?
I couldn't see a good one. They all had holes in them.
528デフォルトの名無しさん:2012/05/27(日) 00:50:12.46
Would you go to DAISO?
529デフォルトの名無しさん:2012/05/27(日) 01:10:24.35
year year
530デフォルトの名無しさん:2012/05/27(日) 10:56:43.96
>>508
そんな短いコード片だけで、仕様がまずいかどうかなんて分かるのか。すげーなw
俺には、その文字列がユーザが入力したものだということすら見抜けなかったわ。
531デフォルトの名無しさん:2012/05/27(日) 11:37:22.14
Python-listを受信していますが、メールがいくつかまとめられてきますので、
毎回メールを開いてタイトルを確認してってやって読んでいますが面倒です。
メールを一通一通受信するには何かの設定が必要でしょうか?
それともメーラーの方で設定するのが賢いでしょうか?
532デフォルトの名無しさん:2012/05/27(日) 12:33:06.63
>>531
一番下のedit optionsでSet Digest Modeをoffにするとまとめ送りを解除できる
http://mail.python.org/mailman/listinfo/python-list
533デフォルトの名無しさん:2012/05/27(日) 13:50:16.89
>>532
あ(・∀・)り(・∀・)が(・∀・)と(・∀・)う!
534デフォルトの名無しさん:2012/05/27(日) 22:07:03.92
|....,,__
|_::;; ~"'ヽ
| //^''ヽ,,)
|  i⌒"
| ∀`) < 誰もいない きのこるならいまのうち
|⊂
| ノ
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
      |( ´∀`) < きのこ のこーのこ げんきのこ ♪
      |(ノ   |つ
      |     |
     ⊂ _ ノ
       ""U
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
     (´∀` )| < エリンギ まいたけ ブナシメジ ♪
    ⊂|  (ノ |
      |     |
      ヽ _ ⊃
      .U""
|
| ミ
| ミ  サッ!
| ミ
|
535デフォルトの名無しさん:2012/05/28(月) 12:23:46.74
Pythonで Map Reduce するモジュールが欲しい。
536デフォルトの名無しさん:2012/05/28(月) 12:48:02.62
遅くて使いものにならんぞ
537デフォルトの名無しさん:2012/05/28(月) 20:21:54.16
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
     (´∀` )|
    ⊂|  (ノ |
      |     |
      ヽ _ ⊃
      .U""
538デフォルトの名無しさん:2012/05/28(月) 20:46:57.09
(゚д゚)シメジ
539デフォルトの名無しさん:2012/05/29(火) 23:30:08.43
>>536
そんなことない
540デフォルトの名無しさん:2012/05/29(火) 23:39:20.58
pass
541デフォルトの名無しさん:2012/05/30(水) 03:31:27.71
piss
542デフォルトの名無しさん:2012/05/30(水) 10:46:30.02
pussy
543デフォルトの名無しさん:2012/05/30(水) 10:50:05.18
>>539
ああ、map関数よりマージソートのほうがボトルネックになるから、
そこをCで実装する意義はあるかもね
544デフォルトの名無しさん:2012/05/30(水) 18:24:31.69
Hadoopy
545デフォルトの名無しさん:2012/06/01(金) 02:30:05.05
|....,,__
|_::;; ~"'ヽ
| //^''ヽ,,)
|  i⌒"
| ∀`) < 誰もいない きのこるならいまのうち
|⊂
| ノ
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
      |( ´∀`) < きのこ のこーのこ げんきのこ ♪
      |(ノ   |つ
      |     |
     ⊂ _ ノ
       ""U
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
     (´∀` )| < エリンギ まいたけ ブナシメジ ♪
    ⊂|  (ノ |
      |     |
      ヽ _ ⊃
      .U""
|
| ミ
| ミ  サッ!
| ミ
|
546デフォルトの名無しさん:2012/06/02(土) 01:27:05.92
|(´∀` )| < エリンギ まいたけ
547デフォルトの名無しさん:2012/06/02(土) 01:27:54.54
(´∀`)))))))))))))))))))))))))>>>>>>>>>>=========-------

Python
548デフォルトの名無しさん:2012/06/02(土) 07:48:31.48
ウサギのこうげき
XXXに1のダメージ
XXXはくびをはねられた
549デフォルトの名無しさん:2012/06/02(土) 11:47:08.30
pass
550デフォルトの名無しさん:2012/06/02(土) 18:28:57.03
impotent
551デフォルトの名無しさん:2012/06/02(土) 18:29:28.28
import me
552デフォルトの名無しさん:2012/06/02(土) 20:31:32.99
insert
553デフォルトの名無しさん:2012/06/02(土) 21:05:51.77
ass
554デフォルトの名無しさん:2012/06/02(土) 21:35:20.96
He repeats himself because that is so much important.
555デフォルトの名無しさん:2012/06/02(土) 21:42:33.67
Cute a night thread the nuh. Relax.
556デフォルトの名無しさん:2012/06/02(土) 22:31:42.00
They does not see through the lies and the lie.
557デフォルトの名無しさん:2012/06/02(土) 22:38:38.89
Pirates said that you know.
558デフォルトの名無しさん:2012/06/03(日) 06:32:29.05
くだらねぇもの貼るなよ。
半年振りのレスがこれかと思うと泣けてくる。
559デフォルトの名無しさん:2012/06/03(日) 10:23:24.04
mod_perl がいやになったので、 mod_python に移ろうと思ったのですが、
これは今から使い始めるのはアリなんでしょうか?
サイトには、開発が止まってますと出ていますが…
560デフォルトの名無しさん:2012/06/03(日) 10:28:53.31
WSGIでググれ
561デフォルトの名無しさん:2012/06/03(日) 10:34:53.75
>>560
あーごめんなさい、Rackのようなウェブアプリ系でなくて、純粋にApacheガチガチで
Authハンドラを書いたり、リクエストされたHTMLに広告ヘッダを突っ込むような用途なんです
562デフォルトの名無しさん:2012/06/03(日) 10:39:42.33
mod_wsgiで(ry
563デフォルトの名無しさん:2012/06/03(日) 13:15:25.69
WSGI一拓だろ
564デフォルトの名無しさん:2012/06/03(日) 13:15:55.41
x 一拓
o 一択
565デフォルトの名無しさん:2012/06/03(日) 22:06:20.85
んー、できれば生のPerlFixupHandlerハンドラそのものが欲しかったのです
ありがとうございました
566デフォルトの名無しさん:2012/06/03(日) 22:53:53.43
mod_sedでも使ってろ
567デフォルトの名無しさん:2012/06/04(月) 03:31:57.97
Python 2.7.3です.
昨日から python を勉強し始めたのですが,どうにもわからないので教えて下さい.

perl みたいに文字列同士のXORをしたい場合,どのようにすればよいでしょうか?
下記のPerlコードをpythonで書くにはどうすればよいか知りたいです.

$str1="AAAAAAAAAAAA";
$str2="BBBBBBBBBBBB";
$xor_str=$str1 ^ $str2;

Perlと同じようにXORを書いただけでは,下記のように怒られてしまいました.
TypeError: unsupported operand type(s) for ^: 'str' and 'str'

1文字ずつ切り出したり結合したりしないといけないのでしょうか?
568デフォルトの名無しさん:2012/06/04(月) 03:48:21.37
こんなのしか思いつかなかった

ttp://ideone.com/9aCaG

だれかもう少しましなのを書いてくれるよきっと
569デフォルトの名無しさん:2012/06/04(月) 04:52:18.00
>>568
ありがとうございます

空白を消したかったので,''.join(〜 で目的の物を得ることができました.助かりました.
570デフォルトの名無しさん:2012/06/04(月) 10:40:56.91
>>568-569
joinの引数をリスト内包にするのは無駄。
joinの引数の、いちばん外側の[ と ]を取り去って、ジェネレータ式にすべし。
571デフォルトの名無しさん:2012/06/04(月) 11:17:16.61
>>570
なるほど

勉強になりました
572デフォルトの名無しさん:2012/06/04(月) 22:44:48.44
>>568

ordは256以上の値を返す事があるけど、chrの取れる範囲は255迄。
問題となるのは多分unicodeな時だけだと思うけど、留意しておくといいよ。@see also unichr()


効率の面では、一文字ずつビルトイン関数のord/chrで変換するよりも、
纏めてbytearrayに変換してから処理する方が効率いいかもしれない。必要なら後で文字列に変換。

bytearray(x^y for x,y in zip(*map(bytearray,("AAA","BBB")))) # NOTE: for 3.x (b"AAA",b"BBB")
573デフォルトの名無しさん:2012/06/05(火) 02:04:49.52
Python3だと変換要らんのだね
bytearray(x ^ y for (x, y) in zip(b"aaaaaaaaaa", b"aaaaaaaaaa")


574デフォルトの名無しさん:2012/06/05(火) 09:56:56.99
辞書リストのソートについて教えてください。
dat.sort(key=lambda x:x['bk']['bkdata']['hykpint'], reverse=True)
単純にこう書くと辞書にキーがない場合KeyErrorになります。
KeyErrorを回避して逆順の場合そのリストを後尾に集めるlambdaの書き方を教えてください。
575デフォルトの名無しさん:2012/06/05(火) 11:59:15.15
data.sort(key=lambda x:x.get('bk',{}).get('bkdata',{}).get('hykpint',-99999), reverse=True)
576デフォルトの名無しさん:2012/06/05(火) 12:01:45.07
やっつけ仕事すぎだろ。
577デフォルトの名無しさん:2012/06/05(火) 12:15:11.52
def keyfunc(d):
    try:
        return (True, d['bk']['bkdata']['hykpint'])
    except KeyError:
        return (False,)
data.sort(key=keyfunc, reverse=True)
578デフォルトの名無しさん:2012/06/05(火) 13:24:15.16
NLTKでFreqDistを使って,複数の英語テキストファイルの中から単語の頻度分布を出そうとしています.
今回は18MBぐらいしかなかったので全部読み込んでリストにする事で対処できたのですが,大量になった時にメモリオーバーが怖いです.
FreqDistに初期化時だけでなく,後からデータを追加する方法はないのでしょうか?
579デフォルトの名無しさん:2012/06/05(火) 13:49:39.01
マニュアル嫁
580デフォルトの名無しさん:2012/06/06(水) 03:28:58.43
HTTP通信でリクエストラインを指定したいのですがpythonだとどうやるんでしょうか?
581デフォルトの名無しさん:2012/06/06(水) 05:15:03.13
メソッドを自分で指定したいってこと?
http://www.python.jp/doc/release/library/httplib.html#httplib-examples
582デフォルトの名無しさん:2012/06/07(木) 02:38:26.39
質問です。

UTF-8で日本語・英数字・空白などが混在する
長さ不定の文字列がいくつか入ったリストがあるとします。
それぞれの文字列において、先頭から決まった文字数を
ループ処理で抽出して書き出すという処理をしようとしたとき、
たとえば

for val in mylist:
  str_1 = val[:12] #ここのvalは 'あいうえお'
  str_2 = val[:12] #ここのvalは 'あいuえお'
  ・
  ・
  str_n = val[:12]

という抽出の仕方をすると、str_2の方は当然ながらうまくいきません。
何か良い解決方法はないでしょうか。

全ての抽出対象文字列を一度日本語全角に変換しようかとも考えたのですが、
スッキリしたやり方が思いつきませんでした。
583582:2012/06/07(木) 02:43:26.21
すみません。
上記のコードが意味不明でした。訂正します。

i = 0
str = []

for val in mylist:
  str[i] = val[:12] #ここのvalは 'あいうえお'
  str[i] = val[:12] #ここのvalは 'あいuえお'
  ・
  ・
i += 1
584582:2012/06/07(木) 02:45:19.61
i += 1の前のインデントが抜けていました。たびたび申し訳ありません。
585デフォルトの名無しさん:2012/06/07(木) 02:49:16.07
val.decode('utf-8')[:5]
586582:2012/06/07(木) 03:09:09.19
>>585
どうもありがとうございます。
教えていただいた方法で解決しました。
夜分にすみませんでした。
587デフォルトの名無しさん:2012/06/07(木) 09:26:22.76
>>575
ありがとうございました
588デフォルトの名無しさん:2012/06/07(木) 09:29:00.31
>>575
参考になりました
589デフォルトの名無しさん:2012/06/07(木) 09:40:26.12
>>586-588
いい加減に、そろそろPython3に来いよ・・・
590デフォルトの名無しさん:2012/06/07(木) 12:30:18.64
djangoが対応するまでは絶対に嫌
1.5で実験的に対応とか言ってたから来年末くらいかな
591デフォルトの名無しさん:2012/06/07(木) 14:34:52.54
3は標準ライブラリの枯れ具合がまだ十分じゃない
592デフォルトの名無しさん:2012/06/07(木) 19:01:47.03
Pythonで現在の関数の名前を取得する方法とかありますか。
logger.debug("[%s] %s" % (__FUNC__, "message"))
みたいにして、現在の関数名を簡単に取得したいです。
593デフォルトの名無しさん:2012/06/07(木) 19:31:46.18
面倒くさい方法ならある
594デフォルトの名無しさん:2012/06/07(木) 19:42:14.87
sys._getframe(0).f_code.co_name
595デフォルトの名無しさん:2012/06/07(木) 19:46:11.94
>>590
むしろDjangoを捨てる・・・というのはきっと難しいんだろうな。
596デフォルトの名無しさん:2012/06/07(木) 19:49:11.07
>>594
う、そういう方法しかないですか。
できれば __file__ と同じくらい簡単でかつ軽い方法がよかったんですが。
Rubyだと __METHOD__ で現在のメソッド名がわかるので、そういうのがPythonにもあるかなと期待しましたが、ないようですね。
おとなしく関数名を自分で書くことにします。
ありがとうございました。
597デフォルトの名無しさん:2012/06/07(木) 20:09:02.90
そもそも関数名ってのが良くわからないけど、
定義したときのfとF=fにしたときで、別の名前取れるってことかな?
598デフォルトの名無しさん:2012/06/07(木) 20:12:41.04
>>596
__FUNC__ = lambda: sys._getframe(1).f_code.co_name
599デフォルトの名無しさん:2012/06/07(木) 20:33:39.42
ログ用途ならプレースホルダに%(funcName)sがあるからな
他の用途というと…
600デフォルトの名無しさん:2012/06/08(金) 13:27:49.63
何言ってんの?
601デフォルトの名無しさん:2012/06/09(土) 07:37:19.37
loggingモジュールの事じゃないかな
関数名が必要なら、利用者側で書式設定できる http://ideone.com/RXIIx

但し、Python では、異なるクラスの同名メソッドや、関数内で定義された関数、
動的に生成されたコード等、同じ名前の関数が複数あるということが有得るので、
デバッグで問題箇所の識別に使うという用途だったら、関数名はあまり適してなさそう。
602デフォルトの名無しさん:2012/06/10(日) 09:39:49.05
%(pathname)s
%(filename)s
%(module)s
%(funcName)s

どうして %(className)s が無いのはなぜ?
603デフォルトの名無しさん:2012/06/10(日) 10:15:39.19
%() という表記法は何?
604デフォルトの名無しさん:2012/06/10(日) 10:26:55.09
605デフォルトの名無しさん:2012/06/10(日) 12:26:35.65
Pythonで使うWebアプリ用フォームライブラリで、おすすめのをおしえてください。
ついでにどういう点がお勧めかも教えてください。
606デフォルトの名無しさん:2012/06/10(日) 13:33:08.73
あなたの嗜好が全く判らない以上
あなたにとって最適なものを
お勧め出来ない可能性が高いが
それでも良いか?
607デフォルトの名無しさん:2012/06/10(日) 13:57:26.70
御託はいいからさっさと並べ奉れ
608デフォルトの名無しさん:2012/06/10(日) 14:07:37.69
ジャンゴ
609デフォルトの名無しさん:2012/06/10(日) 14:09:14.64
django使うと3.xにしばらく移行できなくなる罠
610デフォルトの名無しさん:2012/06/10(日) 16:14:13.74
>>602
実行時に得られる情報にはクラス名がないから

関数(関数オブジェクト)自体はクラスに依存してないとも言えるかな。
その為、クラスAのメソッドとして定義した関数にクラスBのインスタンスを渡したりする事も出来る。

クラス名表示は、素の関数はそもそもクラスに属してないし、
名前空間を気にしだすとパッケージ・モジュール名、クラス内で定義したクラスの場合・・・となると
きちんと表示するのはかなりの手間。

この点 3.3 では ネストしたスコープで定義されたクラス・関数の名前をルートから階層付で表示する
__qualname__ って属性が導入されるみたいで、改善されるかなと期待してるんだけど、
但し、実行フレームやコード・オブジェクトからは参照できないみたいで(パッチは挙がってるけど採用されてない様子)、
loggingでのサポートまでには至ってない現状です。
611デフォルトの名無しさん:2012/06/11(月) 08:48:36.55
>>130 あたりで nth_element について議論してるのを発見したので超亀レスしておく。
こういうpartial sortingってのは一般にheapを使って実装するのだ。

Pythonでは、標準モジュールのheapqモジュールの中にちゃんと実装されている。
612デフォルトの名無しさん:2012/06/11(月) 11:19:18.07
heapじゃ、中央値がO(n)で取れないよ。
heapで効率がいいのは、上位n個とか、下位n個を取ってくる時だけ。
613デフォルトの名無しさん:2012/06/11(月) 15:33:55.25
partial_sortは、ヒープによる実装とクイックソートの変形による実装が有名で、
ヒープだとストリーミングデータにも適用できる(データにランダムアクセスできなくてもいい)
という利点がある。ランダムアクセスできるならクイックソート版のほうが速い。たぶん。

nth_elementの場合は、クイックソート変形版じゃないとだめ。

と理解している。
614デフォルトの名無しさん:2012/06/11(月) 16:08:43.59
うそです。
615デフォルトの名無しさん:2012/06/13(水) 00:43:45.82
初心者スレで話題になってたが一つのobjectが持てる最大メモリ量って
resource.RLIMIT_DATA
だよね?自信無いから答えるのに躊躇してるんだが
616デフォルトの名無しさん:2012/06/13(水) 06:28:48.89
>>615
objectじゃなくてOSのプロセスの制限値。 resource はUnix 固有のサービス。

CPythonのobjectだったら、最大メモリ量による制限はないよ。
メモリサイズを管理してる変数のoverflowチェックが実質的な制限。

(intだったら桁数、リストだったら最大要素数の様な制限等はある)
617デフォルトの名無しさん:2012/06/13(水) 09:26:51.91
ぱいぱいとぱいそん3どっち使うのがいいの?
618デフォルトの名無しさん:2012/06/13(水) 11:50:56.09
>>616
ありがとう勉強になった
619デフォルトの名無しさん:2012/06/13(水) 15:54:44.28
>>617
全然勉強にならない
消えろ糞
620デフォルトの名無しさん:2012/06/13(水) 16:08:35.72
pass
621デフォルトの名無しさん:2012/06/13(水) 17:23:59.68
>>606
それでもいいので教えてほしい。
Djangoはフォームライブラリも備えた統合フレームワークなので、独立して使えるならまだしも、
単体のライブラリとしては使えない。
622デフォルトの名無しさん:2012/06/13(水) 17:51:13.04
>>621
フォームライブラリっていうとWTFormsとかになるけど…
623デフォルトの名無しさん:2012/06/13(水) 17:57:19.35
馬鹿には無理
624デフォルトの名無しさん:2012/06/13(水) 17:59:56.96
>>621
werkzeug
625デフォルトの名無しさん:2012/06/13(水) 21:33:55.58
>>619
pypyとpython3どっち使うのがいいの?
626sage:2012/06/13(水) 23:07:21.73
積極的に自身の努力の成果を公開してる人を叩く形になるのは気が引けるけど、
某所のGoogle Python Style Guideの日本語訳はひどすぎる気がする。
最初はissueに少しずつフィードバックしようかと思ってたけどやる気失せたわ

翻訳機ばりの直訳多くてわかりにくいし、コードが原文と変わっておかしくなってるところあるし、
原文の意味と逆の意味になってる誤訳まである。
自分も英語そんなに得意じゃないけど、原文そんなに難しい英語じゃないから
直接原文読んだほうがわかりやすい。公開するためのクオリティに達していない。
翻訳者はあんなんで日本語情報少ないライブラリとかちゃんと使えてんのかな…
そのわりには検索では上位に来るから質が悪い。
結果的に間違った知識を世の中に拡散してる気がする。
627デフォルトの名無しさん:2012/06/13(水) 23:08:22.07
あげちゃった。すいません。
628デフォルトの名無しさん:2012/06/13(水) 23:15:00.58
629デフォルトの名無しさん:2012/06/13(水) 23:16:12.09
>>626
どうせgoogleに著作権あるんだろうから
そいつのサイト無視して
同名の別サイト作っちゃえば?
630デフォルトの名無しさん:2012/06/14(木) 00:51:57.19
オライリーの訳書も初めてのPythonと入門自然言語処理以外は翻訳クソじゃん
特にクックブックとか
631デフォルトの名無しさん:2012/06/14(木) 00:54:52.43
ふーん、そう
よかったね
632デフォルトの名無しさん:2012/06/14(木) 00:55:40.44
そんなことよりDjangoの今後について語ろうぜ!
633デフォルトの名無しさん:2012/06/14(木) 01:57:46.08
3.xに移行できない人間が生まれるくらいFramework Lockinしてて安泰も安泰だろ
早く1.5出ないかな
634デフォルトの名無しさん:2012/06/14(木) 02:12:47.60
>>632
Pyramidとweb2pyのどっちがいいか語ってくれ。
635デフォルトの名無しさん:2012/06/14(木) 06:00:17.41
Crystal HDみたいなの追加できないの?
636デフォルトの名無しさん:2012/06/14(木) 09:39:07.41
フレームワークはトルネードつかえればいいや
637デフォルトの名無しさん:2012/06/14(木) 19:27:37.75
プログラマなら、フレームワークに頼らずに
一から自分で組めと言いたい
638デフォルトの名無しさん:2012/06/14(木) 21:12:02.59
?
639デフォルトの名無しさん:2012/06/14(木) 21:55:58.50
まず TCP/IP から実装します。
640デフォルトの名無しさん:2012/06/14(木) 22:54:46.02
まずパイソンを実装します
641デフォルトの名無しさん:2012/06/14(木) 22:55:12.79
オレオレパイソン
642デフォルトの名無しさん:2012/06/15(金) 00:11:50.87
pass
643デフォルトの名無しさん:2012/06/15(金) 05:43:30.66
正規表現についての質問です。
文字列の中で2つ以上連続した全角スペースがあった場合に全角スペース1つに置き換えるという処理をしていて、

(' {2, }', ' ', 対象文字列) と書いたときはうまくいかず、
('( ){2, }', ' ', 対象文字列) のようにパターンのところの全角スペースを丸括弧でくくったら意図通りになりました。

これはなぜでしょうか。
644デフォルトの名無しさん:2012/06/15(金) 05:56:04.93
全角スペースの最後のバイトに対して{2,}を指定しているんじゃない?
対処としてはUNICODE文字列にしてからマッチさせるとか
645643:2012/06/15(金) 06:41:54.17
>>644
UNICODE文字列に変換した上で試してみましたが、うまくいかないようです。
マニュアルなどを読んでもう少し試行錯誤してみます。アドバイスありがとうございました。
646デフォルトの名無しさん:2012/06/15(金) 08:04:13.84
>UNICODE文字列に変換した上で

対象文字列と検索文字列両方UNICODEにするんだよ
647デフォルトの名無しさん:2012/06/15(金) 09:52:39.14
3に来い。
648643:2012/06/15(金) 10:08:50.88
>>646
どうもありがとうございます。
おかげ様で解決しました。助かりました。
649デフォルトの名無しさん:2012/06/15(金) 11:13:26.81
2使っている人も、3に備えて、
from __future__ import division, print_function, unicode_literals, with_statement
を常に書いといて、その環境に慣れておくべき。
650デフォルトの名無しさん:2012/06/15(金) 14:24:49.41
with文はバージョンによって注意が必要だね

  with_statement 複数のコンテキスト式
2.7 不要      可能
2.6 不要      contextmanager.nestedが必要
2.5 必要      contextmanager.nestedが必要

from future_builtins import ascii, filter, hex, map, oct, zip

python -3 オプションでのチェックも合わせて使おう

古いバージョンのコードは、まずは 2.7 へ移植から
651デフォルトの名無しさん:2012/06/15(金) 15:04:04.48
rangeは使わず、常にxrangeを使用
dict.keys, dict.values, dict.itemsは使わず、常にdict.iterkeys等を使用
他に、3に移行するために、今から心がけておくことあったら補足よろしくです。
652デフォルトの名無しさん:2012/06/15(金) 15:08:05.82
>>650
誤: contextmanager
正: contextlib

しかし、Python3でnestedがなくなり、↓のようなコードが
書けなくなって微妙に不便でもある。

filenames = [ 'file%d.txt' % n for n in range(10) ]
from contextlib import nested
with nested(*(open(f) for f in filenames)) as fileobjs:
 print(fileobjs)
653デフォルトの名無しさん:2012/06/15(金) 18:05:57.79
py2exeって3で使える?
654デフォルトの名無しさん:2012/06/15(金) 18:31:42.76
対応してるの2.6じゃなかったか
655デフォルトの名無しさん:2012/06/15(金) 18:45:27.84
>>651
os.getcwdは使わない。os.getcwduを使う。
open(fname)は使わない。io.TextIOWrapper(io.BufferedReader(io.FileIO(fname)))を使う。
というか、2.7ライブラリのどこかに、3互換のopen関数は無いの?
656デフォルトの名無しさん:2012/06/15(金) 19:27:17.13
ただのopenで良くね?
657デフォルトの名無しさん:2012/06/15(金) 19:46:50.08
io.open?
658デフォルトの名無しさん:2012/06/15(金) 20:41:35.01
普通に使うけどそんなに変か?
659デフォルトの名無しさん:2012/06/15(金) 23:37:34.60
py2exeってランタイムをインストールしなくても単体で動かせるの?
660デフォルトの名無しさん:2012/06/16(土) 08:25:10.48
ファイル1個になるかって意味ならならない
661デフォルトの名無しさん:2012/06/16(土) 09:41:18.56
> ファイル1個になる
って、気持ちは判るが理解不能だ。
662デフォルトの名無しさん:2012/06/17(日) 11:38:43.29
selfが意味わからん
663デフォルトの名無しさん:2012/06/17(日) 11:58:40.39
C++やC#やJavaやってたことがあるならthisの代わりで通じるんだけどなー
難しいね
664デフォルトの名無しさん:2012/06/17(日) 12:11:45.75
selfはインスタンスへの参照

class Foo():
    def meth(self, arg):
        print(arg)
f = Foo()
f.meth(arg)      # このfがmethの仮引数selfに渡る
Foo.meth(f, arg) # なのでこうしても同じ
665デフォルトの名無しさん:2012/06/17(日) 12:34:52.85
selfは難しいというか面倒だよね。
下手をするとメソッドの中がselfだらけになってしまい
LL言語の利点である簡潔な記述・短い記述が損なわれてしまう。

これはおそらく、Pythonではオブジェクト指向をあまり使わないで
簡潔な手続き型言語として使って欲しいという
開発側のメッセージだと自分は解釈している。
666デフォルトの名無しさん:2012/06/17(日) 12:38:28.79
>>664
> class Foo():
>  def meth(self, arg):
>   print(arg)
> f = Foo()
> f.meth(arg) # このfがmethの仮引数selfに渡る
> Foo.meth(f, arg) # なのでこうしても同じ

Foo.meth(arg)だといかんの?
667デフォルトの名無しさん:2012/06/17(日) 12:53:33.18
>>666
引数が足りない
668デフォルトの名無しさん:2012/06/17(日) 13:53:30.37
この引数に関してはさんざん議論したハズ
669デフォルトの名無しさん:2012/06/17(日) 14:05:43.82
class Foo():
 def meth(arg):
  print(arg)

selfなんて要らんかったんや
670デフォルトの名無しさん:2012/06/17(日) 14:07:13.41
言語によっては自身のインスタンスを省略できるからややこしい
671デフォルトの名無しさん:2012/06/17(日) 14:08:27.49
>>669
それ self が予約語じゃないだけだから
self の代りに s でも _ でも何でも良い
672デフォルトの名無しさん:2012/06/17(日) 14:15:25.58
selfの使い時が分からん
673デフォルトの名無しさん:2012/06/17(日) 14:29:58.86
>>665
すげー独自解釈だなw
糖質の気があるのでは。
674デフォルトの名無しさん:2012/06/17(日) 15:56:44.74
単なる下衆の勘ぐりでは?
何かあるとすぐ統失だのアスペだのと騒ぐ最近の風潮は嘆かわしい。
675デフォルトの名無しさん:2012/06/17(日) 16:22:31.28
風潮じゃない、子供増えただけ
676デフォルトの名無しさん:2012/06/17(日) 17:18:18.41
いちいち嘆くとかセンシティブな神経ね
677デフォルトの名無しさん:2012/06/17(日) 19:02:59.92
>>672
他所の関数に引数として自分自身を渡したいときとか
678デフォルトの名無しさん:2012/06/17(日) 21:15:32.96
>>677
NOOBで申し訳ないんだけど「自分自身を渡す」の意味が分からんので教えてくれ・・・
ありがとうほんとに
679デフォルトの名無しさん:2012/06/17(日) 22:10:29.30
>>678
たとえば、インスタンスの集まりに自分を追加するような処理。

f.add(S)

でSに中から自分を追加できる。
つーか、この問題は単に引数に自分自身が出てくるかどうかって話で、予約語にして自動的に使えるようにしても同じこと。
文法や書き方や分かりやすさの問題。
680デフォルトの名無しさん:2012/06/17(日) 23:17:12.02
>>679
そうなのか・・・
個人的にselfがあったほうが分かりやすいと思う?
681デフォルトの名無しさん:2012/06/17(日) 23:37:15.47
>>659-661
upx
682デフォルトの名無しさん:2012/06/18(月) 00:08:02.19
>>681
upx 微妙すぎる
遅くなるんだけど
683デフォルトの名無しさん:2012/06/18(月) 00:19:26.50
upxで遅くなるなんてどんな環境だよ
684デフォルトの名無しさん:2012/06/18(月) 00:26:24.77
突然のCeleron
685デフォルトの名無しさん:2012/06/18(月) 00:41:37.00
>>682
UPX と antivirus でぐぐれ
686デフォルトの名無しさん:2012/06/18(月) 10:35:46.07
失礼します。
上流からエンコードされているかされていないかわからない文字列をエンコードするロジックで
url=urllib.quote_plus(urllib.unquote_plus(url))
と書いたところ時々

File "/base/python_runtime/python_dist/lib/python2.5/urllib.py", line 1222, in quote_plus
return quote(s, safe)
File "/base/python_runtime/python_dist/lib/python2.5/urllib.py", line 1214, in quote
res = map(safe_map.__getitem__, s)
KeyError: u'\xef'

というエラーが出ます。初心者なので意味がよくわかりません。
知識不足で原因もわからず
正しい対策も知らないので教えていただけませんでしょうか?
687デフォルトの名無しさん:2012/06/18(月) 11:55:42.49
if url:
try:
url = urllib.unquote_plus(url)
if type(url) is types.UnicodeType:
url = urllib.quote_plus(url.encode("utf-8"))
else:
url = urllib.quote_plus(url)
except:
logging.error('urllib_plusError:' + sys.exc_info()[0] + ' url:' + url)

http://loumo.jp/wp/archive/20100402120758/
を参考にしてとりえずこんなふうにしてみました。
これで大丈夫でしょうか?
688デフォルトの名無しさん:2012/06/18(月) 12:14:58.64
はい
689デフォルトの名無しさん:2012/06/18(月) 12:36:20.90
ありがとう
690デフォルトの名無しさん:2012/06/18(月) 14:17:01.16
>>659
動かせる
691デフォルトの名無しさん:2012/06/18(月) 16:59:18.84
はいじゃないが!
692デフォルトの名無しさん:2012/06/18(月) 19:58:28.47
山田
693デフォルトの名無しさん:2012/06/18(月) 21:54:42.88
>>680
俺はその人とは別人だが、オブジェクト指向的に書こうとすればするほどselfが要る感じがする
694デフォルトの名無しさん:2012/06/18(月) 22:01:06.74
classmethod とか decorator とか書いてると
第一引数が self とは限らないけど self を意識せざるを得ない
695デフォルトの名無しさん:2012/06/18(月) 22:39:41.59
Pythonでオブジェクト指向はしない方がよい。
selfの件もあるが、隠蔽ができないという
致命的な欠陥がある。
696デフォルトの名無しさん:2012/06/18(月) 22:46:09.53
pass
697デフォルトの名無しさん:2012/06/18(月) 22:53:43.29
そもそもselfが何の働きをしてるのか知らん
なかったら困るの?
698デフォルトの名無しさん:2012/06/18(月) 23:26:46.88
>>697
それくらいは努力して勉強してきてくれ。
掲示板でそもそもの話から教えるのは面倒だ。
699デフォルトの名無しさん:2012/06/18(月) 23:26:47.38
Why explicit self has to stay - Guido van Rossum
http://neopythonic.blogspot.jp/2008/10/why-explicit-self-has-to-stay.html
700デフォルトの名無しさん:2012/06/18(月) 23:45:58.63
関数はもちろん、クラスが持ってるメソッドもファーストクラスオブジェクト。

>>> def foo(instance, args): <- self があるからファーストクラスオブジェクトを置き換えれる
... print(instance.__dict__)

>>> class Bar(object):
… __init__ = foo <- ファーストクラスオブジェクトだから定義済みの関数を代入可能

>>> class Bar(object): <- ね
... pass
>>> Bar.__init__ = foo

self が第一引数にないと完全なファーストクラスオブジェクトと言えないでしょ?
701700:2012/06/19(火) 00:04:34.97
説明ベタで申し訳ない
すべてがファーストクラスオブジェクトってのは Python の強み
俺はこれがあるから Python が好き
702デフォルトの名無しさん:2012/06/19(火) 00:23:58.77
>701
703デフォルトの名無しさん:2012/06/19(火) 01:51:09.93
704デフォルトの名無しさん:2012/06/19(火) 03:05:00.93
>>697
(Pythonでは) なかったら困る。
ローカル変数宣言がないので、インスタンス変数との区別がつかなくなる。


Python FAQ (よくある質問) より

プログラミング FAQ: self とは何ですか?
http://www.python.jp/doc/release/faq/programming.html#self

デザインと歴史 FAQ: なぜメソッドの定義や呼び出しにおいて ‘self’ を明示しなければならないのですか?
http://www.python.jp/doc/release/faq/design.html#why-self
705デフォルトの名無しさん:2012/06/19(火) 04:35:53.08
>>701
そうそう、完全同意。
凄くシンプルに感じるんだよね。

>>695
お前の脳に欠陥がある。
706デフォルトの名無しさん:2012/06/19(火) 05:42:47.95
馬鹿には無理
707デフォルトの名無しさん:2012/06/19(火) 08:56:56.93
>>700
>self が第一引数にないと完全なファーストクラスオブジェクトと言えないでしょ?

JavaScriptのthisみたいに、関数宣言ではselfは明示的な引数にしなくてもOK、みたいな
言語仕様にする余地は、Pythonにもあったとは思う。
そのかわり、通常の関数として呼び出して、かつselfに任意の値を入れようとすると、
JavaScriptで言うところのapplyみたいな仕組みが必要になるけど。

どちらがシンプル化といえば、いい勝負だと思う。
708デフォルトの名無しさん:2012/06/19(火) 09:13:09.86
>>707
self がないとインスタンスメソッドがファーストクラスオブジェクトにならないと言ってるのでは
709デフォルトの名無しさん:2012/06/19(火) 12:50:48.57
そんなことない。まさにJavaScriptがよい反例。
710デフォルトの名無しさん:2012/06/19(火) 12:58:22.68
>>707
判ってなければ黙ってれば良いのに
711デフォルトの名無しさん:2012/06/19(火) 13:35:38.49
>>704
ここで出てくるローカル変数って、クラスのローカルって意味かな?
クラスローカル変数・メソッドなんて滅多に使うもんじゃないのに
そのためにself強制ってのはずいぶん乱暴な話だな。
712デフォルトの名無しさん:2012/06/19(火) 14:00:48.24
いやメソッドのローカルだろ
713デフォルトの名無しさん:2012/06/19(火) 14:09:31.66
ああようやく理解した。
つまりselfが付いているとインスタンス変数で
付いていないとメソッドローカル変数なのか。
変数宣言のない言語ゆえの苦肉の策なのだな。
714デフォルトの名無しさん:2012/06/19(火) 14:19:10.91
自由度としてはこのpython方式の方が高いだろう
715デフォルトの名無しさん:2012/06/19(火) 14:46:37.33
RubyやPerlみたいに$とか@が付いてソースが汚くなるよりまし
716デフォルトの名無しさん:2012/06/19(火) 16:40:10.38
simple is best
717デフォルトの名無しさん:2012/06/19(火) 20:08:53.59
theがぬk
718デフォルトの名無しさん:2012/06/19(火) 20:43:29.46
the ぬこ
719デフォルトの名無しさん:2012/06/19(火) 21:24:07.16
>>717
この文章にtheはあってもなくてもいいって
ネイティブの人から聞いたことがある。
720デフォルトの名無しさん:2012/06/19(火) 21:28:17.98
まどかまじか
721デフォルトの名無しさん:2012/06/19(火) 21:29:29.08
pass
722デフォルトの名無しさん:2012/06/19(火) 21:30:44.18
@classmethod
723デフォルトの名無しさん:2012/06/19(火) 21:40:59.28
形容詞として使う最上級は本来ひとつに特定可能なのでtheを付けるのが正しいが、
最近ではあくまで形容詞との考えからtheを付けない人が多い
まあ、ら抜き言葉みたいなものよね
724デフォルトの名無しさん:2012/06/20(水) 01:24:05.91
ザとダの中間
725デフォルトの名無しさん:2012/06/20(水) 22:00:03.49
はい舌を噛んで・・・
726デフォルトの名無しさん:2012/06/20(水) 22:08:37.69
イギッ
727デフォルトの名無しさん:2012/06/20(水) 23:53:57.14
>>715
Rubyのそれは確かに
「グローバル変数の頭にgとかフィールドの頭にfとか付けるくらいなら言語側で決めてしまえ」
という発想のスコープを指示する記号だが
Perlのそれは随分と意味が違うぞ
728デフォルトの名無しさん:2012/06/21(木) 17:02:02.78
ぱいぱい
729デフォルトの名無しさん:2012/06/21(木) 22:09:30.82
無茶な使い方しても何とか動く言語が必要ね
これは
730デフォルトの名無しさん:2012/06/21(木) 22:32:03.91
ルビーとパイソンどっちがいい?
まわりはみんなルビー使ってます
731デフォルトの名無しさん:2012/06/21(木) 22:36:15.98
日本ならルビーじゃね
732デフォルトの名無しさん:2012/06/21(木) 23:05:02.34
まわりにPHPerしかいない

なんて環境じゃないだけで恵まれている
733デフォルトの名無しさん:2012/06/21(木) 23:18:46.93
>>730
馴れ合いたいならルビー
一匹狼ならパイソン
734デフォルトの名無しさん:2012/06/22(金) 00:11:08.17
ルビーってカタカナで書くとルーピー見たいでひくな
735デフォルトの名無しさん:2012/06/22(金) 01:45:05.11
ルビーはジワジワと衰退傾向にあるように感じる。
日本と歩調を合わせるように。
736デフォルトの名無しさん:2012/06/22(金) 05:41:09.78
>>730
良識があるならパイソン
パイソンはどこにでも使われてるけど、ルビーはウンk
737デフォルトの名無しさん:2012/06/22(金) 06:05:14.68
Rubyは日本のヲタク数人で開発している、いわば同人プロジェクト。
趣味に走ったり、やる気をなくしたり、内部抗争・分裂をして瓦解したり
という体制面の不安が常にあり、今のままでは恐くてビジネスには使えない。
738デフォルトの名無しさん:2012/06/22(金) 06:33:45.11
そういう幸せな時代はとっくに終わっております
739デフォルトの名無しさん:2012/06/22(金) 07:07:34.88
国から金もらい始めてからだな
おかしくなtったのは
さっさと仕訳汁
740デフォルトの名無しさん:2012/06/22(金) 07:29:00.66
言語仕様の一貫性からいってRubyの方がよいね
世界での普及度ではPython

英語ができるならPythonも選べるけど、できないならRubyが無難
741デフォルトの名無しさん:2012/06/22(金) 08:09:25.43
人は、有能/無能と勤勉/怠惰の組み合わせで4タイプに分けられる
それぞれのタイプ別に

有能で勤勉: Lisp, Python
有能で怠惰: Haskell, OCaml
無能で勤勉: Ruby, PHP
無能で怠惰: Java, C#

に代表される言語を使うのが向いている
742デフォルトの名無しさん:2012/06/22(金) 10:18:40.73
JAVAとPythonがメインなんだけどそれは
743デフォルトの名無しさん:2012/06/22(金) 10:43:46.97
(無能で怠惰 + 有能で勤勉) / 2 = 中途半端: Jython

オフレコでひとつ
744デフォルトの名無しさん:2012/06/22(金) 11:01:36.08
=有能で怠惰
745デフォルトの名無しさん:2012/06/22(金) 11:33:41.28
>>735
あ、なんかわかるわ。
746デフォルトの名無しさん:2012/06/22(金) 11:43:28.54
やっぱ経産省が関わるとろくなことにならんな
747デフォルトの名無しさん:2012/06/22(金) 13:21:41.21
>>741
ルビイストとペチパーはゼークトに射殺されるんですね。
748デフォルトの名無しさん :2012/06/22(金) 13:53:20.13
256倍使うシリーズが山ほど出版されたのが今では夢のようだ>Ruby
749デフォルトの名無しさん:2012/06/22(金) 15:56:22.24
国産ってのが嫌なんだよな
750デフォルトの名無しさん:2012/06/22(金) 16:10:48.13
大体、国産なんてこと売りにしている辺りで終わってる。
そんなのありがたがる奴は、超漢字でも使ってればいい。
751デフォルトの名無しさん:2012/06/22(金) 17:58:22.24
MOEの悪口はやめろ
752デフォルトの名無しさん:2012/06/22(金) 18:22:21.13
pass
753デフォルトの名無しさん:2012/06/22(金) 19:05:02.10
色んな意味でRubyは正当な評価を受けていない
754デフォルトの名無しさん:2012/06/22(金) 19:31:49.20
真っ先に教育コストの低さ(VBとPHPw)が評価される国だからなあ
755デフォルトの名無しさん:2012/06/22(金) 19:41:49.58
くだらない議論だな
こんなのが同じpython使いだと思うと恥ずかしくなる
756デフォルトの名無しさん:2012/06/22(金) 19:42:50.18
明らかに俺とお前は違うPython使いだから一緒にしないでくれ
757デフォルトの名無しさん:2012/06/22(金) 19:43:21.49
くだすれじゃなかったのか
758デフォルトの名無しさん:2012/06/22(金) 19:45:06.84
勝手に同一視して勝手に嫌悪するとか当たり屋かよ。
759デフォルトの名無しさん:2012/06/22(金) 19:46:33.80
そりゃそうだしょ。
利益に直結しない社内教育なんかやっている余裕は
今の企業にはない。
素人にVBやPHPを三日で叩き込んで次々現場に送り出さないと
利益が出ないんだよ。
760デフォルトの名無しさん:2012/06/22(金) 21:25:27.15
Rubyが存在しなかったらPythonの日本語資料が充実していたということですね。
761デフォルトの名無しさん:2012/06/22(金) 21:31:16.47
pythonは変態って聞いたからpythonを選択した。
深い理由はない
762デフォルトの名無しさん:2012/06/22(金) 22:11:28.05
すくなくとも公式ドキュメントの充実度は
Python英語>Python日本語>>>Ruby英語>Ruby日本語
763デフォルトの名無しさん:2012/06/22(金) 22:39:54.05
ファーストサーバー

どんな言語を使っていたのか
764デフォルトの名無しさん:2012/06/22(金) 23:09:24.64
でも、日本語情報を「公式」に限定しなければ、Ruby>Pythonだと思う。
765デフォルトの名無しさん:2012/06/22(金) 23:32:43.82
使ってる言語なんか関係ねえ
人任せにするってのはこういうことだ
766デフォルトの名無しさん:2012/06/23(土) 01:31:32.49
ホントくだらない流れだな
>>741書いた奴なんて救えない人生送ってそう
年収300万人生楽しいですか?
767デフォルトの名無しさん:2012/06/23(土) 01:43:48.87
Pythonianはモンティパイソン精神がないと(使うのは)難しい
768デフォルトの名無しさん:2012/06/23(土) 01:48:40.96
消えろじじい
769デフォルトの名無しさん:2012/06/23(土) 02:18:28.63
pass
770デフォルトの名無しさん:2012/06/23(土) 02:55:18.83
くだすれの回答もレベル下がりすぎて質問者よりもわかってない奴が偉そうに検討外れな講釈垂れてるからな
この板全体に言える事だけどもうダメ ダメすぎる
771デフォルトの名無しさん:2012/06/23(土) 04:52:11.65
こぴぺ
772デフォルトの名無しさん:2012/06/23(土) 13:04:01.77
pass
773デフォルトの名無しさん:2012/06/23(土) 15:32:30.80
殺伐しすぎ
774デフォルトの名無しさん:2012/06/23(土) 19:51:29.68
P = A xor B のとき

C(out) = A・B + (A + B)・C(in)

C(out) = ~P・A・B + P・C(in)

になるそうですが
C(out) = A・B + P・C(in)
じゃだめなんですか?
775デフォルトの名無しさん:2012/06/23(土) 20:02:21.19
>>774は何マルチしてんの?馬鹿なの?死ぬの?
776デフォルトの名無しさん:2012/06/23(土) 20:21:15.69
pass
777デフォルトの名無しさん:2012/06/25(月) 18:41:24.09
かそ
778デフォルトの名無しさん:2012/06/25(月) 18:50:23.80
Windows7でwxPythonを使うとコントロールのスタイルが
XP風にならず2000風になってしまいます
python.exe.manifest
とか
pythonw.exe.manifest
とかを
ttp://wiki.python.org/moin/PythonQuestions#Windows_XP_look-and-feel
の指示通り書いてもやっぱりだめです
(WindowsXP上で同じ事をするとうまくいきました)
あとpy2exeを使ったときもなぜかWindows7でもうまくいきました
ただpy2exeで毎回buildしないといけないのが面倒なので
そのままWindowsXP上で実行したときと同じようになりませんかね
779デフォルトの名無しさん:2012/06/25(月) 20:58:44.18
馬鹿には無理
780デフォルトの名無しさん:2012/06/25(月) 21:05:21.01
>>778 pythonは64bit版?
781デフォルトの名無しさん:2012/06/25(月) 21:14:28.44
>>778
Vista/7はmanifestなしで実行してしまうとそれが記憶されてしまう。
782デフォルトの名無しさん:2012/06/25(月) 22:40:14.51
解除方法は1回XP互換モードにするか、実行ファイルのタイムスタンプを書き換えるか
783デフォルトの名無しさん:2012/06/25(月) 23:01:33.55
ぱいそん
784デフォルトの名無しさん:2012/06/25(月) 23:52:34.29
ぱいてょん
785デフォルトの名無しさん:2012/06/26(火) 02:31:01.61
>>780
ああそれが原因なのかな?
関係あるのかどうかは判らないけど
確かにOSが64でPythonが32です
あとで64bit版も試してみます
786デフォルトの名無しさん:2012/06/26(火) 02:31:49.09
>>781-782
マジですか!!
やってみます!
787デフォルトの名無しさん:2012/06/26(火) 02:41:11.66
治りました!
ありがとうございます!!
788デフォルトの名無しさん:2012/06/26(火) 03:01:23.82
このサイトに
ttp://togarasi.wordpress.com/2009/06/06/win72008r2-%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3-%E3%83%9E%E3%83%8B%E3%83%95%E3%82%A7%E3%82%B9%E3%83%88/

Compatibility セクションのないマニフェストをもつアプリケーションは Windows Vista モードで動作することになります。
と書かれているので

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>
      <!--Windows 7-->
      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
      <!--Windows Vista-->
      <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />
    </application>
  </compatibility>
</assembly>

これもpython(w).exe.manifestに書いておいた方が良いのかな
789デフォルトの名無しさん:2012/06/26(火) 05:05:47.71
おっ
Windows Vista モードで動いてたのか。
知らなかった。
考えなしに Windows 7 モードにして互換性大丈夫か?
790デフォルトの名無しさん:2012/06/26(火) 08:40:26.20
ばいそん
791デフォルトの名無しさん:2012/06/26(火) 08:43:16.85
ぴーそん
792デフォルトの名無しさん:2012/06/26(火) 08:46:11.18
俺の弟は大学で情報工学専攻してるんだが、
この間、新大阪の本屋さんでバイトしてるとき
山崎邦正さんがニシキヘビの専門書をドサっと
買っていってびっくりしたとかいってた。
カラテカのちっこい人といっしょだったらしいw
793デフォルトの名無しさん:2012/06/26(火) 08:56:05.43
Rubyは池澤あやかでPythonは山崎邦正かあ・・・
いえ、文句なんてありませんっ!
794デフォルトの名無しさん:2012/06/26(火) 09:37:46.30
るびまにグラビアが載る前にpython.jpに5万字インタビューおなしゃす
795デフォルトの名無しさん:2012/06/26(火) 10:10:40.08
山崎はC,C++、javaあたりで書く
ある意味、主流派じゃなかったっけ?
796デフォルトの名無しさん:2012/06/26(火) 11:14:13.01
最初Phytonに空目したから今でもフィトンと読む
797デフォルトの名無しさん:2012/06/26(火) 20:21:12.39
>>792
そういう客のプライベートを
ペラペラしゃべるなと弟に言っておけ。
例え家族にでもだ。
798デフォルトの名無しさん:2012/06/26(火) 21:34:48.16
調子に乗って先々で痛い目にあってくれた方が楽しいから黙っといて
799デフォルトの名無しさん:2012/06/26(火) 22:14:07.89
pass
800デフォルトの名無しさん:2012/06/26(火) 22:40:58.98
じぇいそん
801デフォルトの名無しさん:2012/06/26(火) 22:41:27.78
pass
802デフォルトの名無しさん:2012/06/27(水) 02:22:32.71
俺はピチョンって読む
803デフォルトの名無しさん:2012/06/27(水) 03:03:47.37
pass
804デフォルトの名無しさん:2012/06/27(水) 15:13:58.16
趣味でプログラミング始めたいんですけど
書籍で読む順番としては
python スタートブック→python 入門 でおkでしょうか?
805デフォルトの名無しさん:2012/06/27(水) 17:01:06.85
まず公式チュートリアル
806デフォルトの名無しさん:2012/06/27(水) 23:04:22.53
ぱいそんでびーそんって使えます?
807デフォルトの名無しさん:2012/06/27(水) 23:14:42.26
pass
808デフォルトの名無しさん:2012/06/28(木) 00:52:46.29
>>806
bsonなら使える
809デフォルトの名無しさん:2012/06/28(木) 01:42:02.28
>>804
プログラミング自体が初めてならばそれでいいと思います
もし他の言語を経験済みなら公式のチュートリアルで充分かと
810デフォルトの名無しさん:2012/06/28(木) 02:09:17.89
初めてのPythonじゃなくてPython入門?
811デフォルトの名無しさん:2012/06/28(木) 08:40:41.96
812デフォルトの名無しさん:2012/06/28(木) 12:28:15.71
>>809
ありがとうございます参考にさせていもらいます
813デフォルトの名無しさん:2012/06/28(木) 14:03:41.59
>>806, 808
mongo ですね
814デフォルトの名無しさん:2012/06/28(木) 18:34:48.23
socketでチャットを作ってる
サーバーとクライアントを分けてるんだけど
クライアント→複数のサバへのメッセージの送信ができない
というかthreading.Threadの使い方がわからない
誰かアドバイスください
ド素人でですみません
815デフォルトの名無しさん:2012/06/28(木) 18:54:02.74
スレッドとかそんな危ない機能は
C++などの担当領域だろ。
LL言語はテキスト処理だけしてるのが
身の丈に合った使い方だと思うよ。
816デフォルトの名無しさん:2012/06/28(木) 19:23:03.73
pass
817デフォルトの名無しさん:2012/06/28(木) 19:25:13.04
ファーストサーバの件、仕事柄いろいろ調べていくと「サイボウズASP提供の場合、
標準で付いているデータエクスポートがkillされ、
ファーストサーバのバックアップサービスのみ使える」ということを知ってすんげえ頭抱えている。
ユーザはどうしようもなかったってことじゃないか…
818デフォルトの名無しさん:2012/06/28(木) 20:06:39.50
それを何でここに書こうと思ったの?
819デフォルトの名無しさん:2012/06/28(木) 20:21:17.54
方々のスレにコピペして回ってるだけでここだけじゃないよ
自意識過剰な
820デフォルトの名無しさん:2012/06/28(木) 20:27:59.35
3.3 β版リリース祈念パピコ。
てかパピコって死語だな。
821デフォルトの名無しさん:2012/06/28(木) 20:47:49.90
振り切ってパピポにしちゃおうぜ
822デフォルトの名無しさん:2012/06/28(木) 20:54:52.03
>>820
グリコに謝れ
823デフォルトの名無しさん:2012/06/28(木) 21:00:24.78
>>817
ここじゃないけどそれと同じもの
漏れもコピペしたことあるけど
ほかにもやってる香具師いたんだ
824デフォルトの名無しさん:2012/06/28(木) 21:07:56.04
825デフォルトの名無しさん:2012/06/28(木) 21:14:05.05
ttp://support.fsv.jp/manual/groupware/office/new_asp/backup.html
お客様がご利用いただいているサーバー内にデータが保存されます。
(略)
FTPによるデータのバックアップ
自動バックアップを使用せずに、FTPソフトによるバックアップも可能です。
以下のディレクトリ内のデータを「バイナリモード」でダウンロードしてください。
http から始まるURL(www領域)でご利用の場合 /www/cb9/cb5/data /www/cb9/cb5/file
https から始まるURL(ssl領域)でご利用の場合 /ssl/cb9/cb5/data /ssl/cb9/cb5/file

サイボウズ Office 9のディレクトリ構成については、以下をご参照ください。
(略)


FTP(セキュリティはともかくとして)でバックアップ出来るじゃん。
ガセネタかよ。
826デフォルトの名無しさん:2012/06/28(木) 21:23:28.01
DCからみたら重過失でもない限り
バックアップまで紛失することはないのが当たり前

約款なんて普通のDCは客が消した場合とかの責任回避のため
だから、今回のは当然、FSは約款以上に責任負わなければいけない。

第一、鯖管理してればわかるだろうけど
サーバにたまってるG単位のデータを、全顧客毎日フルバックアップされてみ
たまったもんじゃない。

顧客バックアップ義務なんて、鯖屋が自分で自分の首絞めるみたいなもんだ

これから約款変更余儀なくされる鯖屋が増えそうだ
827デフォルトの名無しさん:2012/06/28(木) 21:26:18.01
スレタイ読め
828デフォルトの名無しさん:2012/06/28(木) 21:49:18.89
板違い
829デフォルトの名無しさん:2012/06/28(木) 22:31:08.05
そいや自分が入社する前、ウチの会社はサイボウズ導入してたらしい。
ファーストサーバの一件があったし、未だに社内で運用してたらと思うとゾッとするww
830デフォルトの名無しさん:2012/06/29(金) 08:32:46.88
そこは辞めたの?
831デフォルトの名無しさん:2012/06/29(金) 11:04:15.06
やあぁ…
832デフォルトの名無しさん:2012/06/29(金) 12:24:37.70
良心的な会社
 一応DCでもバックアップはしてますが万一消えたらごめんなさい

ややブラックな会社
 DCでバックアップはしませんのでお客様各自でバックアップしてください

完全ブラックな会社
 弊社のバックアップは一般に言われるバックアップとは異なりますが
 営業集客の際にはお客様側でバックアップ不要を謳っております
833デフォルトの名無しさん:2012/06/29(金) 12:30:39.13
死ね
834デフォルトの名無しさん:2012/06/29(金) 13:07:53.95
Pythonはguidoが死んでも大丈夫だって話思い出した
835デフォルトの名無しさん:2012/06/29(金) 15:23:06.62
ちょうど18年前の出来事だな。
http://www.python.org/search/hypermail/python-1994q2/1040.html
よく見ると事故じゃなくてTclユーザーに殺られたことになってるな。
836デフォルトの名無しさん:2012/06/29(金) 17:11:18.05
>>814
一般的なチャットだと、クライアント側はサーバと1対1接続だけど、複数のサーバへ送信とはどういう状況?
メッセージの送信ができないとは 何らかのエラー?それとも送ってるはずがデータが届いてない?


サーバ側なら標準ライブラリに SocketServer があるので、そこから始めるといいよ。
クライアント側は、文面からは何で躓いてるのか全然わからないのだけど、
まず単一のサーバに送るところからはじめてみては。

threadingの使い方
ttp://www.doughellmann.com/PyMOTW-ja/threading/index.html
837デフォルトの名無しさん:2012/06/30(土) 18:27:19.60
あるリストを偶数番目のデーター列と奇数番目のデーター列の二つのリストに分割する関数はありますか?
例:
>>>data = [4, 3, 5, 8, 2, 9, 1, 5, 2, 7, 3, 4]
>>>get_even(data)
[4, 5, 2, 1, 2, 3]
>>>get_odd(data)
[3, 8, 9, 5, 7, 4]
838デフォルトの名無しさん:2012/06/30(土) 18:53:28.50
>>> i = iter(data)
>>> zip(*[(i.next(),i.next()) for _ in xrange(len(data)/2)])
[(4, 5, 2, 1, 2, 3), (3, 8, 9, 5, 7, 4)]
839デフォルトの名無しさん:2012/06/30(土) 18:53:39.44
>>> data = [4, 3, 5, 8, 2, 9, 1, 5, 2, 7, 3, 4]
>>> data[::2]
[4, 5, 2, 1, 2, 3]
>>> data[1::2]
[3, 8, 9, 5, 7, 4]
840デフォルトの名無しさん:2012/06/30(土) 21:48:35.60
>>> data = [4, 3, 5, 8, 2, 9, 1, 5, 2, 7, 3, 4]
>>> a, b = zip(*zip(*[iter(data)]*2))
>>> a
(4, 5, 2, 1, 2, 3)
>>> b
(3, 8, 9, 5, 7, 4)
841デフォルトの名無しさん:2012/07/01(日) 00:13:41.60
png画像ファイルが2枚あります
キャンパスサイズは縦横とも同じです
この2枚を交互に表示するアニメーション動画を
pngで作りたい(アニメーションpng)のですが
Pythonではどうやればよいでしょうか?
842デフォルトの名無しさん:2012/07/01(日) 00:21:54.54
843デフォルトの名無しさん:2012/07/01(日) 06:59:52.62
IE って 9 になっても AnimationPNG 対応してないのか
844デフォルトの名無しさん:2012/07/01(日) 09:32:27.39
>>842
ありがとうございます
取りあえずそれでアニメーションpng動画は作れました
あとはPythonでやる方法が知りたいです
845デフォルトの名無しさん:2012/07/01(日) 09:42:26.11
PNGフォーマットの仕様書を呼んでその通りに書き出せば言語問わず作れるよ
846デフォルトの名無しさん:2012/07/01(日) 09:58:08.06
847デフォルトの名無しさん:2012/07/01(日) 10:17:18.50
>>841
Python での実装は直ぐに見つかる場所にはなさそうだ。
ttp://blog.livedoor.jp/odaxsen/archives/1595046.html
848デフォルトの名無しさん:2012/07/01(日) 10:18:52.45
と思ったらあったっぽい
ttp://wtnb.mydns.jp/wordpress/archives/4279
849デフォルトの名無しさん:2012/07/01(日) 11:12:44.10
850デフォルトの名無しさん:2012/07/01(日) 11:24:50.26
日記はチラ裏で
851デフォルトの名無しさん:2012/07/01(日) 12:15:35.62
なんで馬鹿は車輪の再発明をしたがるのだろうか?
852デフォルトの名無しさん:2012/07/01(日) 12:19:32.25
再発明したことのない人にはわかんないさ
853デフォルトの名無しさん:2012/07/01(日) 12:36:17.03
パブリックドメインのがあるならともかく、ライセンスついてるものは再発明とかそういう問題じゃない。
854デフォルトの名無しさん:2012/07/01(日) 12:53:09.55
リンク厨うぜー
855デフォルトの名無しさん:2012/07/01(日) 14:15:29.83
ゼルダの伝説なのにリンクの大冒険って名前で覚えてる奴いるよなー
856デフォルトの名無しさん:2012/07/01(日) 14:20:59.45
いないだろう
857デフォルトの名無しさん:2012/07/01(日) 14:23:17.34
ナンカコウテクレヤ
858デフォルトの名無しさん:2012/07/01(日) 15:21:53.80
pass
859デフォルトの名無しさん:2012/07/01(日) 15:39:13.19
Print"Hello"
ぐらいしか出来ませんがこれからこのスレにお世話になります
860デフォルトの名無しさん:2012/07/01(日) 15:52:25.30
>>859
超初心者用のスレがあるのでそっちでどうぞ

くだすれPython(超初心者用) その13
http://toro.2ch.net/test/read.cgi/tech/1332304873/

あとPrintじゃなくてprint
861デフォルトの名無しさん:2012/07/01(日) 17:26:48.88
>>860
ありがとうございます
862デフォルトの名無しさん:2012/07/01(日) 20:47:14.61
>>860
あのスレッド、printレベルじゃ質問出来ないような話してません?
863デフォルトの名無しさん:2012/07/01(日) 22:03:56.46
そもそも大抵の人は両方見てる。
何かあるときは荒れてないほうに書き込む。
864デフォルトの名無しさん:2012/07/01(日) 22:19:59.21
俺も両方チェックしてる
865デフォルトの名無しさん:2012/07/01(日) 22:29:25.86
そんなに居る人の知識レベルというか敷居が低くないんだよな
罠っつーか、あっちはスレタイにあるまじw
866デフォルトの名無しさん:2012/07/02(月) 00:28:06.53
おまい2ちゃん初めてか?
力抜けよ
867デフォルトの名無しさん:2012/07/02(月) 02:23:30.05
>>862
プログラミングで自分を「初心者ではない」と自信もって言える人はあまりいないってことさ
868デフォルトの名無しさん:2012/07/02(月) 03:14:09.53
同じプログラミングでも分野が違えば誰もが初心者
人生長生きすればするほど新たな発見がある
死ぬまで発展途上だぜ
謙虚だろう?
869デフォルトの名無しさん:2012/07/02(月) 10:44:36.02
死ね
870デフォルトの名無しさん:2012/07/02(月) 23:47:08.58
test
871デフォルトの名無しさん:2012/07/02(月) 23:54:17.25
少女A
872デフォルトの名無しさん:2012/07/03(火) 21:34:24.98
コマンドライン(bash)で

read -n 1 var

と打つと標準入力から1文字読み込む。
この際、改行はいらない。
また、シェル変数varに入力した文字が格納される。

これと同じ機能ってpythonでできる?

sys.stdin.read(1)

で1文字読み込むことができるけど、改行が必要なんだよね。
改行なしに即座に読み込みを終了したい。
873デフォルトの名無しさん:2012/07/03(火) 22:03:16.51
raw_input, input は?
入力させた後に加工しないといけないけど
874デフォルトの名無しさん:2012/07/03(火) 22:20:02.26
>>873
「read -n 1 var」を実際に打ってみて確認してほしいんだが、これは改行を打たなくても処理を終了できるのよ。
一方で、raw_inputとかinputは改行を打って初めて処理が終了するでしょ、これは望んでる振る舞いじゃない。

この機能があると例えば、
ある単語を表示させて、標準入力から打たれた文字だけ消去して単語を左シフトさせるような
タイピングソフトができたりする。
875デフォルトの名無しさん:2012/07/03(火) 22:21:57.99
もっとお手軽な方法があったかもだけど
http://code.activestate.com/recipes/134892/

あとはcursesがCUIのタイピングソフト向き
876デフォルトの名無しさん:2012/07/03(火) 22:24:24.44
877デフォルトの名無しさん:2012/07/03(火) 22:24:53.53
ぐふう
878デフォルトの名無しさん:2012/07/03(火) 23:25:29.50
無駄にオブジェクト指向してる悪い例
879デフォルトの名無しさん:2012/07/03(火) 23:42:40.44
「無駄にオブジェクト指向してる」っていうのはおもしろいな
880デフォルトの名無しさん:2012/07/03(火) 23:44:59.22
むしろそこは悪い例じゃなくて良い例なのでは
例としては良いんでしょ?悪いの?

とか言ってみる
881デフォルトの名無しさん:2012/07/03(火) 23:55:36.63
×オブジェクト指向
○オブジェクト
882デフォルトの名無しさん:2012/07/04(水) 08:47:38.99
>>880
無駄にオブジェクト指向してる悪い例の良い例
でどうでしょうか?
883デフォルトの名無しさん:2012/07/04(水) 08:49:21.34
良いか悪いかはともかく、
class _Getch を継承して再利用することが実際にあるかどうかだな。
884デフォルトの名無しさん:2012/07/04(水) 10:17:43.38
>>883
再利用性は重要だけど、”継承して”は必ずしも必要というわけではないよ。

一般的には、継承する必要がなければ委譲が良いとされてる。(理由:不必要な名前空間の汚染を避ける為、他いろいろ)

_GetchWindows, _GetchUnix 等は、共通のベースクラスを持った方がいいと思われるかもしれないが、
ダックタイピングが可能なPythonでは、不要とまでは言わないけど省略可。(この辺は、Java等をやってる人と感覚が違うかもしれない)

----
取り分け悪い例だとは思わないけど、改善可能なところは幾つもあるね

コンストラクタでプラットフォーム依存のモジュールをimportしてる為、
インスタンスを生成する迄、利用可能かどうかがわからない。=>コンパイル時に判断可能なはず。

対応OSが増えると、ネストが深くなる。<= try/except ImportErrorの所

実行コスト的に冗長な点。=> impl.__call__を直接 _GetChインスタンスの__call__に代入可


尚、無駄にオブジェクト指向してる => 関数でいいんじゃないか って類の議論は、自分はpass
885デフォルトの名無しさん:2012/07/04(水) 11:09:25.81
この程度ならswitch-caseで充分じゃないの?
886デフォルトの名無しさん:2012/07/04(水) 11:15:35.86
Vistaで動くけど7では動きませんみたいなプログラムは何が原因でそういう状況になってるの?
887デフォルトの名無しさん:2012/07/04(水) 11:16:06.54
>>884
>実行コスト的に冗長な点。=> impl.__call__を直接 _GetChインスタンスの__call__に代入可

def __call__(self): return self.impl()

__init__(self) の中で
self.__call__ = self.impl
するということでしょうか?
試したら動かなかった
バージョンによって違うのかな?
888デフォルトの名無しさん:2012/07/04(水) 11:32:20.67
>>887
試してないけど、こうかな

assert callable(impl)
self.__call__ = impl.__call__


あと、特に理由がなければ、
この例のケースでは implをself.implとして保持しなくてもok
889デフォルトの名無しさん:2012/07/04(水) 11:39:10.99
関数でよくね?
890デフォルトの名無しさん:2012/07/04(水) 11:40:18.67
>>888
それでも駄目でした orz
TypeError: '_Getch' object is not callable
891デフォルトの名無しさん:2012/07/04(水) 11:54:07.33
そんなクソコードはほっとけよ
892デフォルトの名無しさん:2012/07/04(水) 12:15:02.16
>>890

http://pastebin.com/Vj5ThArC

これでどう? 2.7で動作確認
893デフォルトの名無しさん:2012/07/04(水) 12:44:49.32
それでもだめなんです orz 2.5で確認
894デフォルトの名無しさん:2012/07/04(水) 17:11:24.80
>>872,>>874だが>>875-876ありがとう。
おとといから勉強始めたんだがCUIに強いといわれているpythonなのに
こんなことも組み込みで用意してないなんて意外。
勉強する言語rubyと迷ったんだが、rubyだと組み込みで用意してたりするのかな・・・?

とりあえずpythonでの初プログラムが完成しました。
>>874に書いたスクロール型タイピングソフトです。

http://ichigo-up.com/Sn2/download/1341380497/attach/typing.py
pass: python

コーディング中の雑感

・str.len()じゃなくてlen(str)なのね
・getchがKeyboardInterruptを投げない、なぜだ〜・・・
 →ASCII以外の文字(例えばEsc)で終了するようにした
・インクリメント演算子ねぇのかよ!なんでだ!

./typing.py typing.py
を実行してみたところ

・俺のタイピングスピードは4文字毎秒程度
・「./typing.py typing.py < typing.py」により驚異的なスピードを叩きだそうと思ったが何故かうまくいかない
・マウスボタンの真ん中はいける。15文字毎秒程度
895デフォルトの名無しさん:2012/07/04(水) 17:20:13.32
pastebinとか使えよ厨房が。
896デフォルトの名無しさん:2012/07/04(水) 18:48:28.16
>>894
* そのうち慣れる
* 端末(ドライバ)をrawモードに設定してあるので
Ctrl+CとかしてもSIGINTは発生せずそのままプログラムに渡る
man termios(VINTR, ISIG, raw mode)するかUNIXプログラミングの本を読むかぐぐる
* a += 1で我慢する
* 標準入力が端末であること前提なのにファイルとつなげばおかしくなる
* strは変数名に使わない。ろだも落とすの面倒だから特別な事情がなければ使わない
* Rubyもやっといて気にいったほうをどうぞ
897デフォルトの名無しさん:2012/07/04(水) 18:55:58.34
>・str.len()じゃなくてlen(str)なのね

漏れもRubyからPythonに乗り換えたけど
最初に躓いたのがそこ
898デフォルトの名無しさん:2012/07/04(水) 19:23:28.80
次に躓くのは ''.join 辺りと予想

FAQに載ってなかったかな
899デフォルトの名無しさん:2012/07/04(水) 19:40:23.98
RubyとPythonは目指すところが同じなんだから
合併してしまえばいいのにね。
優秀な技術者が、同じような言語を作るために二つに
分かれてるのって、NTTが東と西に分かれてるのと
同じくらいもったいない。
900デフォルトの名無しさん:2012/07/04(水) 19:42:00.67
R





???
901デフォルトの名無しさん:2012/07/04(水) 19:51:47.35
目指すところが同じなら合併などと言わず片方が消えればいい
もちろんお前がAWOLに消えてくれ
902デフォルトの名無しさん:2012/07/04(水) 19:54:19.24
ん?ネガティブなレス付いてんね。
人的資源は集中して使おうという話なんだが。
言語を開発できる優秀なプログラマは少ないのだから。
903デフォルトの名無しさん:2012/07/04(水) 19:58:59.29
効率化を主張するなら、自分の主張が無駄にならないようなところで主張すべきではないか。
904デフォルトの名無しさん:2012/07/04(水) 20:17:19.97
あなたのまちをいろどるほっとステーション
905デフォルトの名無しさん:2012/07/04(水) 20:17:52.48
それはファミリーマート
906デフォルトの名無しさん:2012/07/04(水) 20:18:16.73
おまえもスカイブルーに染め上げてやる
907デフォルトの名無しさん:2012/07/04(水) 20:21:13.47
お前が優秀になればいいんだよマヌケ
908デフォルトの名無しさん:2012/07/04(水) 20:56:17.23
>>894
端末、標準入力に関しては、Pythonっていうか
UNIXプログラミングの知識の問題だよ。
909デフォルトの名無しさん:2012/07/04(水) 22:39:20.93
>言語を開発できる優秀なプログラマは少ないのだから。

少ない訳じゃない
言語を作る需要がそんなにない
みんながみんなオレオレ言語作ったらそれこそバベルII世
910デフォルトの名無しさん:2012/07/04(水) 22:46:45.41
連日山ほど新しい言語が出てきては消えていってるよ
911デフォルトの名無しさん:2012/07/04(水) 22:50:13.81
もうアルファベット一覧作れるんじゃないか?
912デフォルトの名無しさん:2012/07/04(水) 22:55:51.11
Googleの悪口はやめろ
913デフォルトの名無しさん:2012/07/04(水) 22:55:59.66
914デフォルトの名無しさん:2012/07/04(水) 23:07:09.93
QWYZあたりを拡充したら良いかも
915デフォルトの名無しさん:2012/07/04(水) 23:18:06.23
http://en.wikipedia.org/wiki/Cobra_(programming_language)
似てる
916デフォルトの名無しさん:2012/07/04(水) 23:19:50.72
コブラ(それはまぎれもなくヤツさ)
917デフォルトの名無しさん:2012/07/04(水) 23:21:33.99
ニシキヘビ vs コブラ
918デフォルトの名無しさん:2012/07/05(木) 03:07:36.15
ニシキヘビ「オンリーメモリー・アフターユー・・・!(膝から崩れ落ちる)」
919892:2012/07/05(木) 09:29:13.11
>>893
CPython-2.5.1/Linux/zsh端末上で動作確認出来たよ。バージョンは問題ないみたい
原因究明は、流石にこれ以上は、環境/コード/どのように実行したか等の情報がないと解からないです。
920デフォルトの名無しさん:2012/07/05(木) 09:45:46.38
環境
  CPython-2.5.1/Windows7
コード
  あなたのアップしたもの
どのように実行
  cmd.exe から getch.py
921デフォルトの名無しさん:2012/07/05(木) 09:56:29.51
エラーメッセージも書け
922デフォルトの名無しさん:2012/07/05(木) 10:25:04.67
923デフォルトの名無しさん:2012/07/05(木) 10:43:19.09
tracebackを全部貼れ
924デフォルトの名無しさん:2012/07/05(木) 10:51:20.84
>>915
Booにも似てるね

自分はこの手のマイナー(?)言語に手を出して、
ことごとく開発終了になってるので、眺めるだけにしておこう。。
925デフォルトの名無しさん:2012/07/05(木) 11:08:52.46
>>920

>892 のコードは _Getch クラスのみなので、これだけを実行しても意味ないよ、
>875 のリンク先の例のコードにマージして実行するのが前提なので、
自分で実行した 完全なコード をpastebin等に貼り付けてみて。

そもそも元のコード自体はエラー無く実行できてる?
926デフォルトの名無しさん:2012/07/05(木) 11:15:37.46
>>> class Hoge(object):
... def __init__(self):
... pass
... def __call__(self):
... print 'hoge'
...
>>> h = Hoge()
>>> h()
hoge
>>> class Fuga(object):
... def __init__(self):
... self.__call__ = Hoge().__call__
...
>>> f = Fuga()
>>> f()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'Fuga' object is not callable
927デフォルトの名無しさん:2012/07/05(木) 11:16:50.23
>>> class Hoge():
... def __init__(self):
... pass
... def __call__(self):
... print 'hoge2'
...
>>> h = Hoge()
>>> h()
hoge2
>>> class Fuga():
... def __init__(self):
... self.__call__ = Hoge().__call__
...
>>> f = Fuga()
>>> f()
hoge2

事故解決しました。スマソてへぺろ
928デフォルトの名無しさん:2012/07/05(木) 11:20:19.74
>>> class Hoge(object):
... def __init__(self):
... pass
... def __call__(self):
... print 'hoge3'
...
>>> h = Hoge()
>>> h()
hoge3
>>> class Fuga(object):
... def __init__(self):
... pass
... def __call__(self):
... return Hoge()()
...
>>> f = Fuga()
>>> f()
hoge3

このとき問題無かったので object 継承してたの忘れてた。てへぺろ
929デフォルトの名無しさん:2012/07/05(木) 13:36:39.52
みんなのぱいちんくん、みんなの
930デフォルトの名無しさん:2012/07/05(木) 13:46:28.09
object書いたのと書いてないのって何が違うの?
今はobject推奨だよね?
931デフォルトの名無しさん:2012/07/05(木) 13:52:56.89
Python3 だと object 書かなくても object 継承したことになるね
932デフォルトの名無しさん:2012/07/05(木) 17:07:15.22
__call__ に関しては、objectを継承したインスタンスの呼び出しは
クラスの__call__属性が使われる。インスタンスの__call__への代入は避けたほうがいいみたい。

>>> class A(object):
...   __call__ = lambda self: 10
...
>>> a = A()
>>> a()
10
>>> a.__call__ = lambda: 20
>>> a() # 旧スタイルの場合とは異なる挙動
10
>>> A.__call__ = lambda self: 20
>>> a()
20
933デフォルトの名無しさん:2012/07/05(木) 17:29:03.56
934デフォルトの名無しさん:2012/07/06(金) 09:30:49.97
>>932
出来ました。
ありがとう。
935デフォルトの名無しさん:2012/07/06(金) 18:16:56.79
>>894だけどgetch使わなくても実現できた。
ただ、色々試してみたんだけど今までみたいにインラインでは無理っぽい。

http://pastebin.com/JYTqD4f0

こっちのバージョンは「./typing2.py typing2.py < typing2.py」ができた。
300文字毎秒wコピペの比じゃないw

暇な人、みなさんのタイピングスピードはどれくらいですか?
俺はやはりどんなにがんばっても4文字毎秒程度です(./typing2.py typing2.py)。
936デフォルトの名無しさん:2012/07/06(金) 18:18:45.27
どうでもいいです…
937デフォルトの名無しさん:2012/07/06(金) 18:20:57.59
記号なしにすると速いんだけどな
938デフォルトの名無しさん:2012/07/06(金) 21:43:20.92
ぼくはいりましぇんぇん
939デフォルトの名無しさん:2012/07/07(土) 12:12:59.65
平均3文字程度

win用(msvcrt.getch利用。中断時にも結果表示するようにしてみた)
ttp://pastebin.com/BVC1KeR6


自分も記号が苦手。日本語のキーボード配列使ってるときはダブル・クォートでラグ
フォーム見直して、右シフト・キーを全然使ってないことに気がついた。

普段、doc-string以外の文字列リテラルは、
なるべく一箇所にまとめるか外部リソースに追い出すようなコーディング・スタイルを取ってるんだけど、
ここにきてタイピング・フォームの影響が懸念。
940デフォルトの名無しさん:2012/07/07(土) 13:50:59.56
941デフォルトの名無しさん:2012/07/07(土) 13:55:44.91
TERMINATE = frozenset("\x1b\x03\x04")
でいいよ。
942 忍法帖【Lv=2,xxxP】 :2012/07/07(土) 21:19:38.31
エスケープ?
\が出るととにかく目が滑るのを直したい…
943デフォルトの名無しさん:2012/07/08(日) 03:34:37.42
locale を US にしてフォント換えるんだ
944デフォルトの名無しさん:2012/07/08(日) 21:01:55.17
simplejsonでJSON形式のデータ読み込もうとするとエラーはく…

Traceback (most recent call last):
File "test.py", line 23, in <module>
simplejson.loads(result)
File "C:\Python27\lib\site-packages\simplejson-2.6.0-py2.7.egg\simplejson\__init__.py", line 451, in loads
return _default_decoder.decode(s)
File "C:\Python27\lib\site-packages\simplejson-2.6.0-py2.7.egg\simplejson\decoder.py", line 406, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Python27\lib\site-packages\simplejson-2.6.0-py2.7.egg\simplejson\decoder.py", line 424, in raw_decode
raise JSONDecodeError("No JSON object could be decoded", s, idx)
simplejson.decoder.JSONDecodeError: No JSON object could be decoded: line 1 column 0 (char 0)

こんなエラーでるんですが原因分かる方いたら教えていただけませんか
945デフォルトの名無しさん:2012/07/08(日) 21:14:02.16
resultの一文字目は?
946デフォルトの名無しさん:2012/07/08(日) 21:22:33.57
resultの一文字目はjです
947デフォルトの名無しさん:2012/07/08(日) 21:44:48.95
まずはデータが正しいJSONかどうかをチェックしよう http://jsonlint.com/

それから、2.7 だったら標準に json モジュール入ってるよ
948デフォルトの名無しさん:2012/07/08(日) 21:52:21.13
こんな便利なものがあるんですね…ありがとうございます!
データの方に問題がありそうでした
FiickrAPIで取得したのでデータには問題がないものと思って油断していました

標準でもあるんですね
2.7入れてるんで使ってみます!
949デフォルトの名無しさん:2012/07/08(日) 21:58:22.62
>>948です
問題解決しました
データの取得時のステータス指定が一つ足りていなかったのが原因で取得したデータが正しい形式にならなかったようです
しょうもない原因ですみません…
>>947さんありがとうございました
950デフォルトの名無しさん:2012/07/09(月) 16:29:54.04
   ┌─┐
   │●│
   └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘
951デフォルトの名無しさん:2012/07/09(月) 16:32:12.89
952デフォルトの名無しさん:2012/07/09(月) 21:23:14.56
キタワァ
953デフォルトの名無しさん:2012/07/10(火) 10:30:43.45
うめようず
954デフォルトの名無しさん:2012/07/10(火) 12:28:47.23
嫌ズら
955デフォルトの名無しさん:2012/07/10(火) 21:53:01.90
おっぱい好きの集まりと聞いて
956デフォルトの名無しさん:2012/07/11(水) 20:39:48.89
残りをおっぱいについて語れ
957デフォルトの名無しさん:2012/07/11(水) 20:51:31.34
for i in range(0,9999,1): print u'おっ' if i % 1 else u'ぱい'
958デフォルトの名無しさん:2012/07/11(水) 22:05:14.03
エロライブラリ、おっpy。
959デフォルトの名無しさん:2012/07/11(水) 22:44:19.00
OcamlでPython処理系を実装…!!!
960デフォルトの名無しさん:2012/07/11(水) 22:46:01.05
我々にはPyPiがある
961デフォルトの名無しさん:2012/07/12(木) 06:23:23.54
ここからでも埋める
962デフォルトの名無しさん:2012/07/12(木) 07:24:09.61
おっぱいに埋める
963デフォルトの名無しさん:2012/07/12(木) 09:44:55.29
OPy - Oklahoma Python User Group
964デフォルトの名無しさん:2012/07/12(木) 11:30:56.97
b = '''
44CA44CAIOKUjOKUgOKUkArjgIDjgIAg4pSC4peP
4pSCCuOAgOOAgCDilJTilIDilKQK44CA44CA44CA
XyDjgIAg4oipCuOAgOOAgCgg776f4oiA776fKeW9
oQrilIzilIDilKziioLlvaEK4pSC4peP4pSC44CA
44GK44Gj44Gx44GE77yB44GK44Gj44Gx44GE77yB
CuKUlOKUgOKUmA==
'''

print base64.b64decode(b).decode('utf-8')
965デフォルトの名無しさん:2012/07/12(木) 11:43:41.00
ツマンネ
966デフォルトの名無しさん:2012/07/12(木) 12:06:09.84
int('11000000101010000000000100000001', 2)
のような32bitの整数を、
'\xc0\xa8\x01\x01'
のようなバイト列に置き換えてくれる関数はありますか?
Python 2 でおながいします。
967デフォルトの名無しさん:2012/07/12(木) 12:09:38.30
>>> struct.pack('>I', int('11000000101010000000000100000001', 2))
'\xc0\xa8\x01\x01'
968デフォルトの名無しさん:2012/07/12(木) 14:34:24.34
sympyでnewton法を試してみたのですが、初期値の選定が悪いと収束しないケースがあります。
与えられた関数から適切な初期値を自動選択する方法を教えて下さい。

import sympy

def newton(f, s, r=1.0e-12):
  print 'f(x) = %s' % f
  try:
    sympy.pprint('solved: %s' % sympy.solve(f))
  except NotImplementedError, e:
    print '''can't sove.'''
  f1 = sympy.diff(f, x)
  print '''f'(x) = %s''' % f1
  while True:
    d = {'x': s}
    q, y, a = s, f(d).evalf(), f1(d).evalf()
    print d, y, a
    if sympy.abs(y) <= r: break
    s -= y / a
    if sympy.abs(s - q) <= r: break

if __name__ == '__main__':
  x = sympy.symbols('x')
  newton(x**2 + 3*x - 4, 0.1)
  newton(x**2 + 3*x - 4, -3.0)
  print '-' * 32
  newton(x**3 - 1, 10.0, 1.0e-14)
  newton(x**3 - 1, -10.0, 1.0e-14)
  print '-' * 32
  newton(3*sympy.atan(x-1)+(x/4), 2.5, 1.0e-13) # 収束する
  newton(3*sympy.atan(x-1)+(x/4), 3.0, 1.0e-13) # 収束しない
969デフォルトの名無しさん:2012/07/12(木) 15:49:49.71
>>967
出来ました。
ありがとうございました。
970デフォルトの名無しさん:2012/07/12(木) 17:58:27.19
馬鹿には無理
971デフォルトの名無しさん:2012/07/12(木) 20:21:12.12
>>970
自己紹介乙

>>968
無理
972デフォルトの名無しさん:2012/07/12(木) 20:28:07.67
なんだよ。
結局無理なのかよ。
973デフォルトの名無しさん:2012/07/12(木) 21:06:11.83
974デフォルトの名無しさん:2012/07/13(金) 01:48:04.31
うめようず
975デフォルトの名無しさん:2012/07/13(金) 01:56:04.23
   ┌─┐
   │●│
   └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘
976デフォルトの名無しさん:2012/07/13(金) 03:13:37.26
>>968
このスレには馬鹿しかいません
977デフォルトの名無しさん:2012/07/13(金) 05:05:40.55
ubuntuでzipを解凍するときにfile-roller使うと、
日本語を含んだfileを解凍するときに失敗するので以下のようなscriptを作ったんだけど、
file名に日本語があると、やっぱり文字化けしてしまう。
sjisのfile名をutf-8に変換する方法をご存じのunicode hackerの方はいらっしゃいますか?

#!/usr/bin/env python3
import zipfile
import sys
import os

if __name__ == '__main__':
zipname = sys.argv[1]
if len(sys.argv) >= 3:
pwd = sys.argv[2].encode('utf-8')
else:
pwd = None
print(zipname)

with zipfile.ZipFile(zipname, 'r') as myzip:
for name in myzip.namelist():
name_utf8 = name.encode('utf-8')

dirname = os.path.dirname(name)
basename = os.path.basename(name)
d = os.path.join('/tmp', dirname)
os.makedirs(d, exist_ok=True)

with myzip.open(name, pwd=pwd) as f:
data = f.read()
path = os.path.join('/tmp/', name)
with open(path, 'wb') as binary:
binary.write(data)
978デフォルトの名無しさん:2012/07/13(金) 06:43:39.86
なんか面倒そうだね
http://bugs.python.org/issue10614
979デフォルトの名無しさん:2012/07/13(金) 09:47:09.43
>>977
unzip-iconvパッチとか使えばいいじゃん。
つうかUbuntuのunzipってiconvパッチあたってんじゃん。
980デフォルトの名無しさん:2012/07/13(金) 10:41:33.81
windows使ってる漏れは勝ち組
981デフォルトの名無しさん:2012/07/13(金) 11:00:36.51
>>980
a.tar.gz
解凍してみろよ
982デフォルトの名無しさん:2012/07/13(金) 11:43:25.33
Python2使ってる漏れは勝ち組

with zipfile.ZipFile(sys.argv[1], "r") as zipf:
    for name in zipf.namelist():
        print name.decode('cp932').encode('utf8')
983デフォルトの名無しさん:2012/07/13(金) 12:50:16.60
なんか新刊っぽいんですが読んだ人いますか?

PythonでかんたんAndroidプログラミング
ttp://www.amazon.co.jp/dp/4877832912/
984デフォルトの名無しさん:2012/07/13(金) 12:51:14.69
>981
どういう意味ですか?
985デフォルトの名無しさん:2012/07/13(金) 13:20:38.74
>>984
windowsじゃ拡張子tar.gzを解凍できないでしょ?ってこと。

>>978にpatch送った。
なんだかんだで半日もかかってしまった。。。
986デフォルトの名無しさん:2012/07/13(金) 13:32:51.46
>>985
>>>984
>windowsじゃ拡張子tar.gzを解凍できないでしょ?ってこと。

へ?
987デフォルトの名無しさん:2012/07/13(金) 14:47:32.88
7zでふつうに解凍できるよ。

>>983
Pythonで作れるんだ。
988デフォルトの名無しさん:2012/07/13(金) 15:05:27.97
>>985
なに言ってんだこいつ・・・
989デフォルトの名無しさん:2012/07/13(金) 15:07:21.81
>>983
本屋で立ち読みしたけど、SL4A と Python for Android のインストールの仕方を書いた本だったよ。
990デフォルトの名無しさん:2012/07/13(金) 16:43:09.50
糞本確定
991デフォルトの名無しさん:2012/07/13(金) 16:45:31.89
うめようず
992デフォルトの名無しさん:2012/07/13(金) 16:53:30.04
嫌ズら
993デフォルトの名無しさん:2012/07/13(金) 16:55:35.24
>>983>>989
その本の著者、前科があるからな・・・
詳しくは尼レビューを。
994デフォルトの名無しさん:2012/07/13(金) 17:37:34.49
http://www.amazon.co.jp/WSGI%E3%82%A6%E3%82%A7%E3%83%96%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E6%A1%91%E4%BA%95-%E5%8D%9A%E4%B9%8B/dp/4877832882/ref=ntt_at_ep_dpt_2
薄い内容です 2012/2/12
By 烏龍茶
形式:単行本
CDが付属しているにも関わらずソースを全部掲載し、
ほんの少し変更しただけで、変更した部分だけではなく、
また全部掲載なんてのはページの水増しとしか思えません。

WSGIと関係のないテンプレートエンジンの説明に
まるまる1章費やしてますし。

また、掲載されているコードも20個以上もの属性を持ち、
__init__しか定義されていないデータ保持クラスを作成するなど酷いです。

肝心のWSGIに関する情報はIT系情報サイトの連載講座か、
それに及ばない程度の情報しか載ってませんでした。
995デフォルトの名無しさん:2012/07/13(金) 17:39:19.33
WSGIウェブプログラミング [単行本]
桑井 博之 (著)

WSGIの本として買うと失望しそう 2012/6/18
By オタコン
形式:単行本
はっきり言うと、どのレイヤーに向けた本なのかわからないです。

肝心のWSGIの説明もWEB上で収集できる情報以下です。
gihyo.jpの特集に完全に負けています。
この本を読んでwsgi使ったWEBアプリケーションを作ろうと思うと確実にお金の無駄です。

あと、wsgiの説明なのでWEBアプリケーション作るためにテンプレートエンジン
を使うのはわかりますが
なぜCheetahとかいう落ち目のモジュールを選んだのでしょう?
もっと使いやすいJinja2などで良かったのではないでしょうか?

もう一つ、SQLiteは無いと思う。せめて、MySQLかPostgreSQL使ってアプリケー
ション構築するサンプルコードにして欲しかったです。
996デフォルトの名無しさん:2012/07/13(金) 17:43:34.21
カットシステムの本を買うなということだ。
こういうのって編集者に依るの?
オライリーの動物本とかさ、編集者が手直ししているの?

PythonでかんたんAndroidプログラミング (-) [単行本]
桑井 博之 (著)
この商品の最初のレビューを書き込んでください。 Like (0)

単行本: 237ページ
出版社: カットシステム (2012/07)
ISBN-10: 4877832912
ISBN-13: 978-4877832919
発売日: 2012/07

WSGIウェブプログラミング [単行本]
桑井 博之 (著)
5つ星のうち 1.0 レビューをすべて見る (2件のカスタマーレビュー) Like (0)
価格: ¥ 2,940 通常配送無料 詳細

登録情報

単行本: 233ページ
出版社: カットシステム (2012/01)
ISBN-10: 4877832882
ISBN-13: 978-4877832889
997デフォルトの名無しさん:2012/07/13(金) 17:52:24.72
1000取り合戦開始!
998デフォルトの名無しさん:2012/07/13(金) 17:53:18.57
998!
999デフォルトの名無しさん:2012/07/13(金) 17:53:59.87
999
1000デフォルトの名無しさん:2012/07/13(金) 17:54:36.11
1000
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。