以上
いちおつ
┌─┐ │●│ └─┤ _ ∩ ( ゚∀゚)彡 ┌─┬⊂彡 │●│ おっぱい!おっぱい! └─┘
|....,,__ |_::;; ~"'ヽ | //^''ヽ,,) | i⌒" | ∀`) < 誰もいない きのこるならいまのうち |⊂ | ノ _,,,......,,__ /_~ ,,...:::_::;; ~"'ヽ (,, '"ヾヽ i|i //^''ヽ,,) ^ :'⌒i i⌒" |( ´∀`) < きのこ のこーのこ げんきのこ ♪ |(ノ |つ | | ⊂ _ ノ ""U _,,,......,,__ /_~ ,,...:::_::;; ~"'ヽ (,, '"ヾヽ i|i //^''ヽ,,) ^ :'⌒i i⌒" (´∀` )| < エリンギ まいたけ ブナシメジ ♪ ⊂| (ノ | | | ヽ _ ⊃ .U"" | | ミ | ミ サッ! | ミ |
8 :
デフォルトの名無しさん :2012/02/09(木) 19:55:23.94
GAE上でC2DMサーバへPOSTしようとするのですが <class 'google.appengine.api.urlfetch_errors.SSLCertificateError'> と出るのですがどういうエラーなんでしょうか?
ググレカス、証明書がおかしいよ って書いてある。 google.appengine.api.urlfetch.errorsの部分がググレカス SSLCertificateErrorが証明書がおかしいよって部分
仕事でPython使ってる人に質問。 Pythonのバージョンってどれ使ってる? 理由とともに教えてくれ。 あと他の会社での事例もしっていたら教えて下さい。 期待する回答例: ・2.7。理由はDjangoが3に対応しないから。 ・3.2。理由はすべてスクラッチで開発してるので既存のライブラリを気にしなくていい状況だったから。
2.7。理由はDjangoが3に対応しないから。
3.2。理由はすべてスクラッチで開発してるので既存のライブラリを気にしなくていい状況だったから。
期待通りのレスをもらったのに愚痴るひとのレス ↓
↓ ↑ →→↑ あらよっと
Python3.2の継承の実装について知りたいのですが、 どのsourceを読めばいいのかご存知の方おられませんか? もしご存知でしたら教えて頂きたいのですが。 Python/pythonrun.c, Python/ast.c, Objects/typeobject.c 辺りを grep ^[a-z_]+( して当たりを付けたいのですが、 今だ見つけれておりません。
>>15 継承の実装と言うのが、
・継承されたクラスがどんな風にコンパイルされるのか
・コンパイルされた結果がどんな風に実行されるのか
の、どっちを知りたいかはわからんけど、とりあえず、inherit あたりで
grep かけてみればいいかと。
> grep ^[a-z_]+( して当たりを付けたい
python のソースは、PyType_ClearCache( ) のように大文字使ってる
奴多いから、grep ^[A-Za-z0-9_]+( の方がいいんじゃないかな。
>>15 継承の実装と言うのが、
・継承されたクラスがどんな風にコンパイルされるのか
・コンパイルされた結果がどんな風に実行されるのか
の、どっちを知りたいかはわからんけど、とりあえず、inherit あたりで
grep かけてみればいいかと。
> grep ^[a-z_]+( して当たりを付けたい
python のソースは、PyType_ClearCache( ) のように大文字使ってる
奴多いから、grep ^[A-Za-z0-9_]+( の方がいいんじゃないかな。
18 :
16-17 :2012/02/10(金) 07:14:31.92
スマン、エラーになったから書き込み直したら、二回書いてた。
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を手伝って頂けないでしょうか?
>>11 ,12
まじめに答えてよ!上司を説得するための材料を集めてるところなんだから!
>>11-12 は期待通りの結果となったんだから、
技術者冥利に尽きるじゃん。
ってのはおいとおいて。
どういう分野で使おうとしているかくらい情報提供してよ
ついでに
>>19 も助けてよ
私個人は3.2を使ってて、server系は2.7を使ってる。
安定稼働の信用性が求められるから、serverは実績の多い2.7にしてる。
3.2とかC拡張を見つけにくいのが困るよね。
>>21 >どういう分野で使おうとしているかくらい情報提供してよ
Webアプリ(業務用)。
文字列周りが改善されたから3系(3.2)を使おうと思ったら、
Djangoが3系に対応してなくてびっくりしているところ。
>私個人は3.2を使ってて、server系は2.7を使ってる。
なるほど。個人では最新版を使うけど、仕事ではかれたバージョンを使うってことですね。
ありがとうございます。
枯れてねーよ。アホか
日本ではPythonを仕事で使ってるユーザが少ないから、事例を聞いても答えられる人はほとんどいないんじゃね?
少し前にMLで似たような話があったな
Pythonを仕事で使ってるけど、事例については守秘義務のため答えられない
日本の仕事で多いのは PHPとJava、VBから乗り換えのC# あたりかな
大学で使ってる
学生のプログラミング演習で使っているのと
大学の受講履歴管理システムで使っているのとでは
だいぶ意味が違ってくるな。
学生の演習で使ってる、なんてタレコミははいらんだろ、
>>10 てきに。
と 大学も言ったことない厨が申しており
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. */
PyUnicodeObject との互換性のための様な気がしてきました。 そうであれば、'\0'終端を意識せずにPyBytesObjectを使っていこうかな。 と思いますがよいのでしょうか?
34 :
Matplot :2012/02/15(水) 23:35:04.60
>>33 500 internal server error だから
待ってればそのうち復活するんじゃない
37 :
31 :2012/02/16(木) 00:27:57.40
こういう内部実装に関する話は2chは不適なんでしょうか? python-list or python-dev で質問した方が良さそうですね。 Pythonの使い方でなく内部実装の話なので、 python-devの方が詳しい方が多いかと思いますが、 python-devの話題として受け入れられるでしょうか?
高度に発達したスパムはステマと見分けがつかないって昔のエライ人が言ってたしな
41 :
デフォルトの名無しさん :2012/02/16(木) 18:16:49.63
みんなのぱいちんくん
>>42 悪すぎっつっても書いてるの1人だけじゃん。
とは言いつつ、カットシステムの時点で質は推して知るべし。
あるパッケージを、easy_install でインストールしたあとに、 新しいバージョンを pip でインストールしても問題ないでしょうか。
ok
>>42 立ち読みだけど作者がPython好きで
WSGIを広めたいってのは感じた。
WSGIが生まれた背景とか読めばいい。
コードを見て勉強するための本じゃない。
自分で作ったクラスのメンバを入力補完してくれるエディタってありますか?
eric4
任意の長さのランダムな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)])
g = lambda x: ''.join(chr(random.randint(0x20, 0x7e)) for _ in xrange(x)) joinの引数は、リスト内包じゃなくてジェネレータ式で十分。
52 :
48 :2012/02/28(火) 14:20:48.65
>>49 ありがとうございます。ericよさそうですね。
セットアップがややこしそうですがインストールしてみようと思います。
53 :
48 :2012/02/28(火) 14:21:09.63
>>49 ありがとうございます。ericよさそうですね。
セットアップがややこしそうですがインストールしてみようと思います。
おちけつ
あんまり自信ないけど新版明日出るし洋書でCookbookとついでにLearninig Pythonも買おうかな
56 :
48 :2012/02/28(火) 23:00:47.00
>>49 ありがとうございます。ericよさそうですね。
セットアップがややこしそうですがインストールしてみようと思います。
57 :
48 :2012/02/28(火) 23:01:12.67
>>49 ありがとうございます。ericよさそうですね。
セットアップがややこしそうですがインストールしてみようと思います。
お風呂入ってきますれす(^q^)
誤爆しました。ごめんなさい(^q^)
お前はさっきから何をやっているんだ
pass
62 :
48 :2012/02/29(水) 03:59:16.59
>>49 ありがとうございます。ericよさそうですね。
セットアップがややこしそうですがインストールしてみようと思います。
63 :
48 :2012/02/29(水) 03:59:51.21
>>49 ありがとうございます。ericよさそうですね。
セットアップがややこしそうですがインストールしてみようと思います。
大事なことなので(ry
さっきからなんなの? まるで成長していない
>>> u'%10s' % (u'abc') u' abc' だとスペース7個のあとに「abc」が表示されますが >>> u'%10s' % (u'日本語') u' \u65e5\u672c\u8a9e' だとやっぱりスペース7個のあとに「日本語」が表示されます >>> u'%7s' % (u'日本語') u' \u65e5\u672c\u8a9e' 結果としてはこちらを期待している訳ですが 「%7s」(日本語の方の文字列長に依存するので)にしないといけない のが納得逝きません これはバグでしょうか仕様でしょうか
モルモン教徒の工作だから気にしないでいい
>66 それが当たり前じゃないの エスパーすると半角はスペース一つで全角はスペース二つ消費したいと
知らんけど仕様じゃないの? しかもPythonに非はないと思うよ。 文字一つを表示した時に二文字分か一文字分かなんて、 fontによりけりになるんじゃないの? unicodeではそこらへん規定してるのかなー?
コンソールアプリを書いてて 右揃えで綺麗にテーブル表示したかったんです
asciiの時は空白分を加算して、 13s にするとかじゃないと対処できないと思うよ。 Pythonで対処するのは無理だと思う。 専用の関数を自作するしかないんじゃないの? unicodeは何byteで一文字を表現するかを規定するだけで、 一文字を何文字分の幅で表示するかはfontの仕事。 それか、asciiを全角表示するように変換するとかかな? 'a': 'a' みたいなのをずらずら作っていくのが、 作業量的にも技術的にも、一番簡単かつ現実的な解決方法だと思います。
やっぱり完璧な解決方法じゃないな。 ハンカク文字ってのがいたよ。 でもま、ちょろちょろっと作るscriptなら、 変換table用意するのが楽だと思うよ。
てきとうに作ったらキモくなった 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' ちょっと後悔している
大事過ぎるやろ…
すまん誤爆
教えてほしいんですが、文字が全角幅か半角幅かはどうやって判断するのがいいのでしょうか。 フォントに依存するというのはなしで。
フォントに依存する。
2byteのaもあったな
u = u'アあa' u'%*s' % (10 - len(filter(lambda x: ord(x) > 127, u)), u)
>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) みたいなテーブル表示をしてて 名前に日本語が混ざってるとずれてくるので 変だなーと思った次第です 日本語使わなければ済む問題なんですが
east asian widthがambiguousなケースは要注意(キリル文字とか) そのような文字をどう表示するかは本当に環境やソフト次第なので… 「それらの文字を日本語フォントで表示するような環境なら」 全角扱いにすべきだが、例えば端末上で動作するようなソフトウェアは 端末がどのような文字をどのようなフォントでレンダリングするつもりなのか 知りようがない なので、例えばvimのようなソフトウェアは、そうした文字を全角扱い するかどうかをユーザが設定で指定できるようになっている
できました ありがとうございました
>>49 ありがとうございます。ericよさそうですね。
セットアップがややこしそうですがインストールしてみようと思います。
きっと秋山さんが何とかしてくれる
windowsの3.2の話 virtualenv環境でpysideのexeインストーラをeasy_installしようとしたらコケた easy_installはインストーラのメタデータを読み込んでdecodeするんだがascii決め打ち pysideのインストーラには0x92が入っててこいつのせいらしいerrors='replace'つけて回避したけどこれってどっちが悪いんだろう
おまえ
Python 3.3.0 α版記念age
alphaから正式版になるまでどれくらいかかりますの?
3.3の特徴をおしえろ 時間がない今すぐにだ
お箸の国の人でもわかる言語で頼む 急いでくれよ・・・妹の命にかかわるんだ
.∧__,,∧ (´・ω・`) (つ妹と) `u―u´ あなたの帰りを待ち構えているこれを、 ∧__,,∧ ∧__,,∧ (`・ω・)^) ミ (`・ω・´) ( つ ⌒ヽ と ,u、つ `u―u' 妹 `u´妹 YY⌒Y こうして、 こうして、 ∧__,,∧ _ (ω・´ ) 妹 三ニ ☆ __,( )つ  ̄ `ー―‐u' こうだ !
「待ち構えている」親兄弟ってちょっとイヤだな。
んじゃ .∧__,,∧ (´・ω・`) (つ命と) `u―u´ あなたの帰りを待ち構えている妹の命を、 ∧__,,∧ ∧__,,∧ (`・ω・)^) ミ (`・ω・´) ( つ ⌒ヽ と ,u、つ `u―u' 命 `u´命 YY⌒Y こうして、 こうして、 ∧__,,∧ _ (ω・´ ) 命 三ニ ☆ __,( )つ  ̄ `ー―‐u' こうだ !
妹の最期の言葉を伝えたい 「お兄ちゃん3.3で何が新しくなったの、日本語で説明して・・・(ガクッ)」
イケメンの定義がより厳しくなったよ イケメンはフツメンの女の子に告白しないといけなくなったよ 100行プログラムするとスイーツ一つを選べるようになったよ
def mygenerator(): yield from range(10) こんなのが書けるようになるのか。 イテレータの展開と言う意味では、yield *range(10)みたいな構文が 検討されてもいいのでは、と以前考えてたけど、fromの方が明示的で宜しい、だそうで。
mygenerator = (_ for _ in range(10))
ちょっと質問させてください。 初めてプログラミングを学んでいる者です。 教本の練習問題でスクリプトを作ったのですが、保存した.pyファイルをダブルクリックで実行するとCUIの画面が一瞬現れてすぐ消えてしまいます。 どうしてでしょう? 残らせる方法はありますか? ちなみにCUIの画面でそのスクリプトを一行一行書いていくとちゃんと実行されるので、スクリプト自体に問題はないと思います。 …たぶん恥ずかしい質問なのでしょうが、どうぞよろしくお願いします。
>>104 ありがとうございます。
そうします。
スレもそちらに行くことにします。
>>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
どうせなら、fromを複数書ければおもしろいと思ってみたり。 例えば、itertools.chainと等価な関数を、 def chain(*a): yield from from a だけで書けるとか・・・ ・・・ちょっとウザイか・・・
おしえてくださいえらいひと ソートされていない長さnの配列から、ソートした状態でi番目の要素をO(n)で取ってくる 関数って、標準ライブラリにありますか。 C++STLでいうところのpartial_sort()。
ちがった、nth_element()だった。
>>> l = [3, 2, 7, 5, 1, 8] >>> sorted(l)[0] 1 >>> sorted(l)[3] 5 >>> sorted(l)[5] 8
>>110 sortedが必要な部分だけソートするような機能があるかと期待してベンチマーク取っちまったよ、
全然O(n*log(n))じゃねーかよ!!
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);
}
ものすごいC++のパフォーマンスへのこだわり LLでは富豪的に 全部ソートしてしまえという方針 全部ソートしなくていいから、途中で打ち切って最短時間で頼む って場合はLL使ってる時点で何か間違ってる
線形時間ってことはmin()やmax()と同じということ min(L)の代わりにsorted(L)[0]と書く人はいないと思う # 前者のほうがずっと簡潔で分かりやすい、という面ももちろん大きいけど
LLで考えるよりCで書いたほうが万倍速い
>>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];
}
LLで富豪的だからといってオーダーが違うアルゴリズムの採用が許されるなんて、 ゆとり世代は怖いな。
>>117 >ソートされていない長さnの配列から、ソートした状態でi番目の要素をO(n)で取ってくる
どう見ても「tuple(), list()からi番目の要素を取ってくる」とは解釈できない。
ゆとり怖すぎ。
死ねキチガイ
自演うぜぇ
きもっ
pass
>>126 お前を忘れてよく怒られる
やっぱり大事だよなスルーカ
変な荒らしがいるね
まるで変じゃない荒らしがいるかのような言い回しだな。
で、結局PythonではO(n)は内のnth_element()は無いの?
個人的には、
>>110 の構文で、sortedオブジェクトが遅延評価でソートする
オブジェクトを生成して、途中の要素を参照しても、範囲を参照しても、
イテレーションしても、最小コストの計算量で済ます、みたいな実装がセクシーで
良いかな、と思ったり。
nth_element()相当のものを提供してる言語ってC++意外みたことないな 少なくともJavaや.NETにもない
そもそもi番目に大きい要素を取ってくるのがO(n)なこともあんまり知られてなさそうだしね。 中央値とか計算するのに全ソートしてるコードとか、世の中たくさんありそうだ・・・ 皆もっとアルゴリズム勉強しようぜ!
じゃ、暇があれば
>>130 アイディアをネイティブ実装したモジュール作ってみるかな。
ただ、Python標準は安定なTimSortだから、これと折り合いをどう付けるか・・・
もっとも、9月まで暇ができそうにないが(´・ω・`)
期待してます
135 :
133 :2012/03/08(木) 20:15:33.22
ネイティブじゃなくてPythonでだけど、ささっと作ってみた。 結構行けそうだ。 内部的に元位置(安定ソートのため)と、ソート済みか否かを示すフラグをのリスト持っておいて、 __getitem__()や__next__()が呼ばれたときに、クイックソートのうち必要な部分だけを繰り返す感じ。 getitemにスライスオブジェクト渡された処理とか、reversed()された処理とかは未実装・・・ いや、本当はやるべきことがたくさんあるんですが・・・
ありがとう
>>112 >sort()の有無によらず、tuple object , list object, sequence objectとも
>i番目の要素をとってくるcostはO(1)のようです。
>2系も同じようなもんでしょ。
これは恥ずかしい勘違いダネ!
うるせー 人様のそっとしておきたい過去に触れんじゃねー
easy_install paste したけど pasterコマンドがインストールされない。 paster コマンドって、どうやったらインストールされるの?
俺たちの面白度に挑戦してきてるな、いいぞ、受けて立ってくれるわっ!!!
ゆけっ
>>141 、わしらを舐めた
>>139 を懲らしめてやりなさいっ!!!
>ドキュメントが間違ってるんだろう
OSくらい書け
SOS
OSI
CHAOS
kusOSure
重い処理をcで書いて外出ししたいんですが、 ctypesで呼び出すのとimportで読み込めるmodule(.pydとか)を作るのと どっちがいいんでしょ?
外出し厳禁〜 /// 生中でお・ね・が・い ///
自分でpythonのソースに手を加えろとな
pythonのソースなんか変更する必要ないがな 対象のコードパターンが来たら挙動変える様にOSのソース変更すればよし
153 :
デフォルトの名無しさん :2012/03/15(木) 22:32:35.25
なにこの過疎っぷり
Mac OS 10.7.3 Python 2.7.1 …で、リッチテキストの文字列のみを取り出す 方法はありませんか? もしモジュールのインストールが必要であれば、 macportsでインストールできると助かります。
pythonにocamlのパターンマッチングみたいなことをする方法ってありませんか?
ぴよぴよ
響子さん、好きじゃー!
ocaml みたいなパターンマッチングといわれてもしらん 文字列の正規表現マッチングなら re モジュール
本を読む習慣が無いひとには おおまかに次の3つのタイプがあります 1.目が悪いひと 2.頭が悪いひと 3.文盲(識字出来ない) 頭が悪いひとより文盲の方が深刻です 普通は漢字が読めないレベルとかを想像しますが アルファベットですら読めないひとが日本には多くいます
うるせーなー
キモデブヒキオタニート
それは違うからいいや
マルチに反応すんな糞ボケ死ね
pass
はわわ
pass
>>166 まさかこんな特定スレに特化した内容で釣りに来るとは…orz
170 :
デフォルトの名無しさん :2012/03/27(火) 00:09:51.28
すみません。 pythonで記述されたソースコードで勉強になるコードを教えていただけないでしょうか? 出来るだけ短いものだと助かります。 自分はC#勉強して、その次にpythonの勉強をしていますが、いまいちpythonの良さが理解できていないので、実践的なソースコードで勉強したいです。 よろしくお願いいたします。
そんなんで人のコード見てなんか役に立つのかな ああ、コピペできるコード探してるだけだからそんな事はどうでもいいのか
Pythonの良さは、言葉で説明された方が分かりやすい気もしなくもないなぁ 仕様に無駄が少なくてシンプルな点は日本人好みなんじゃないかと思ってるんだけど、文字コードの 扱いがいまいちだったのがなぁ…
日本語はこうすれ!ってコードになかなか当たらないよね。 それこそバカチョンでコピペできるような、標準手法というか、そんなの。 この間、2.6版で作ったものを2.4版で実行させたら日本語でエラーになり、解決法は様々あれどコレというものが見つからず。
175 :
デフォルトの名無しさん :2012/03/27(火) 07:29:22.00
Python3とかライブラリがあれもつかえないこれもつかえないで罠だぞPython2.7にしとけ 日本語の処理はエンコードとか文字セットとかを理解するのが先 ちゃんと理解できていれば全く問題は生じない
xrangeとかださすぎ。なに?xって? python3だろJK
レスありがとうございます
ちなみに、自分はpython3を勉強しています
>>171 サンクスです!
早速、調べてみます!!
他にも有益なコードがあれば教えてください
PEP 嫁 とは誰も言わないんだな・・・
そりゃ言わないだろう
PEP249が好きです。でもPEP8の方がもーっと好きです。
コードがpythonで書かれてる良いテスト技法の本ないですか?
マルチポスト無視推奨
>>183 Python Testing: Beginner's Guide
読んだことないけど
感想教えてくれ
お探しの記事はみつかりませんでした。 URLが誤っているか、公開期間を終了した可能性があります。 5秒後に、朝日新聞デジタルのトップに移動します。 【ニュースを読むなら】 最新ニュースは朝日新聞デジタルトップへ 有料記事検索のご案内 このページのトップに戻る 朝日新聞デジタルに掲載の記事・写真の無断転載を禁じます。すべての内容は日本の著作権法並びに国際条約により保護されています。 サイトポリシー 個人情報 著作権 リンク 広告掲載 お問い合わせ・ヘルプ Copyright The Asahi Shimbun Company. All rights reserved. No reproduction or republication without written permission.
Google独自^^^^^;;;;
俺が読んだときは「パイソン」って書いてあったから python とは別の言語かもしれん なんつって
Pythonでifを使わずif関数を実装する強者はおらんかね
つラムダ計算
if関数って何だ 関数型言語の機能か
evalとlambdaでなんとかなるまいか
ひょっとしてFortranの3分岐if(算術if)みたいなもん? それなら飛び先の参照を渡せば簡単そうだけど
GAEはオワコン
モンティパイソン、ミスタービーン、シャーロック・ホームズ、名探偵モンクとか買ってきて放送して 他人のふんどしで相撲取ってるけど自分たちで作る番組は無責任な作り方してるよNHK
人いないなぁ とりあえず、Python 2.6.8, 2.7.3, 3.1.5, 3.2.3 と大量リリースされたんでなんでage
大きく2と3の違いくらいはさすがにわかるけど… どういう立ち位置で4ラインも並存なんだか、くやしい人たのむ
3個目の数字が上がっただけのアップデートはバグフィックスかセキュリティアップデートで、 新機能は含まれない。 次の新バージョンは8月の3.3.0 くやしいのう。
3.3がでたら本気出す
悔しくないが頭からPureな2.x系、3.x系を先取りできる2.x系に加えて、 互換性のために生かしている直近2つの3.x系マイナーバージョンって感じか
206 :
デフォルトの名無しさん :2012/04/13(金) 00:18:29.80
プログラミング中級者が上級Python使いになるには何読んだらいいの?
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 で 教えていただけると助かります。 よろしくお願いします。
>>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を貼り付けてよ。
forの左のxで何らかの演算しないとリスト内包表記の使い方がイマイチ分からんだろうな
212 :
208 :2012/04/13(金) 19:20:50.70
>>> vec = [2, 4, 6] >>> [3*x for x in vec] でわかりました。 ありがとうございました。
PyScripterとEclipse+PyDevはどっちが使えますか?
idle一択
EclipseたちあげるのだるいのでPyScripterが軽くてよい
print デフォルトで改行、半角空白がつくのは なぜ? デフォルトで何もつかないようにしたいんだが
え?
>>216 理由はしらんが、妥当なデフォルトだと思うぞ。
デフォルトの動作変えるのは厳しいが、printのキーワード引数を好きなものに固定したpartialでも作れば?
>>218 ?
それ空白がつくんだが?
>>219 print>>
とか使えなくなるじゃん
回避方法が2系では組み込みでないって
どうにかしてよ・・・
意味わからん。 出力にスペースや改行が付いたくらいで何が困るんだ。 タダで使わせてもらう立場の者が どうにかしてよなんて、おこがましい態度を取ったらダメ。 オープンソースソフトなんだから自分で改造しろ。
from __future__ import print_function でいいだろ
printはお気楽テキトーに出力する用(大抵の用途に都合が良いようにデフォルト設定されてる) 細かく制御したいならwrite等を使え、という話では
Pythonってどう書くのが正しいかってのを重んじる言語だろ。 デフォルトの動作から大きく変えなきゃできないような場合は根本からやり方を見直すべき。
馬鹿には無理
>>220 そもそも組み込みに出力機能があること自体、Python的には例外なのよ
要件として入出力が必要なプログラムであればちゃんとimportすべき
本来、入出力をしなくてもいいプログラムでもデバッグ用の出力くらいはしたい
かと言って、そのためだけに入出力機能をimportするのはどうなのさ、って感じであるのがprintだと思って
228 :
デフォルトの名無しさん :2012/04/14(土) 12:49:24.89
printがうざいのは勝手にエンコード変換することだな
だからそういう用途ってことじゃ。
python3なら print("abc","def",sep='') sepで繋ぎの文字を指定できるから、sepに空文字を指定すればいい。
いや、そういう意味じゃないと思う
Pythonの前に日本語を学ぼう
unicode と str の encode / decode 絡みでエラーが出てるときに print でデバッグするとはまる 百害あって一利なし
馬鹿には無理
repr!
uyに居場所なんかねーよ
>>233 お手軽に使えて普段みな世話になっているのに
うまくいかない特定のケースだけ持ち出して
一利なしとか、頭おかしいわ
馬鹿には無理
馬鹿が言うと説得力が有るなw
やさしくしてね
いい加減にPython3に来いよ。 2に文句垂れるな。 3に文句あるなら、Ideas-MLに書けばいい。
うにこーどがたwww
Djangoが全然3.0対応しないから嫌だ
3系に移行できる日は来るんだろうか…
ジャンゴ1.6が出た頃かな
「Pythonプロフェッショナルプログラミング」ってどうなんですかね、最近出た黒い本。 なんか、出版社と訳本じゃないあたりに地雷臭がしなくもないんですけど。 だれかレビューよろしくお願いします。
ググればいくつかレビューっぽいのヒットするじゃん。
はいはい ステマステマ
とりあえずLinuxはド素人のくせにLinux使っちゃってバカなことしでかしてるらしいってのは くだすれて露呈してる。
誰が?
252 :
249 :2012/04/16(月) 19:15:14.63
ステマ(笑)
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だからずいぶん大胆に思えるけど
秀○○○○厶はハズレが多い 表紙が黒い本ハズレが多い(サイケデリックなイラストの本は更にハズレが多い) 著者が個人じゃなかったり、イカニモなペンネームの本はハズレが多い 著者が日本人だとハズレが多い (訳本は内容はハズレは少ないが、翻訳がハズレのことがある) いや、けっこうこの本、ハズレパターンの王道を行っているんで・・・
$ sudo rm -Rf /
はいはい ステマステマ
>>254 書いてあったw
この本 visudo で sudo 時のパスワード無くしちゃいましょうみたいなことも書いてなかったっけ。
グラフ構造を扱うライブラリはたくさんあるようですが、決定版というか最有力的な存在はありますでしょうか? ちょっと調べてみた程度ですがaltgraphとかnetworkxあたりの名前が出てきました
networkxで
ありがとうございます試してみます Pythonは計算科学系のライブラリの選択肢が多くていいですね 自分はメインがRubyなのでうらやましいです
PythonでSJISを扱う時は、encoding名は 'shift_jis' と 'windows-31j' のどちらがいいですか。
cp932 です
頼むからこれ以上世の中にUTF-8以外のデータを作らないでくれよ・・・
忌まわしきコマンドプロンプトの文字コードがUTF-8に統一されないと始まらないな
中国が漢字を作ったせいだ!
>>266 Windowsが合わせればいいだけの話じゃないか。
プロンプトの文字コードは一応変えれるよ
プロンプトの文字コードだけ変わってもな あらゆる標準出力に日本語が混じるたびにcant write cant write言われるばかり
日本はシフトJISで何の問題もなかったのに 変な黒船が来ちゃって大迷惑だよな
たとえshift_jisを倒しても第2、第3のshift_jisが… 戦えUTF-8、負けるなUTF-8!
UTF-16「フォッフォッフォ」
馬鹿には無理
[sage] ふーん
233 名前:デフォルトの名無しさん[sage] 投稿日:2012/04/14(土) 14:33:21.53 unicode と str の encode / decode 絡みでエラーが出てるときに print でデバッグするとはまる 百害あって一利なし
うちはまだeuc-jpです。ごめんなさい。
pythonには def find(func, xs): for x in xs: if func(x): return x return None みたいなのは標準では用意されてないのでしょうか。
groupbyのこの仕様はどうかと思う
>>279 next(itertools.ifilter(func, xs), None)
>>282 それ無限ループじゃないの?
その上FalseでNone返さないし
>>281 あらかじめソートされてることが分かってるイテレータなら有限と考えても差し支えないような気はするよな
>>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)
next(filter(func, xs), None) Python3ならこれだけ
与太話として聞いて欲しいんだけど
ttp://ideone.com/IMge4 上のコードみたいに引数(もしくはオペランド)がmutableかimmutableかで
破壊的か新しいimmutable返すか変わる関数/演算ってある?
なんか結構ハマりそうだから、よくある間違いとかあったら知りたい。
そのケースも、mutable, immutable で区別されている訳じゃなく、 単にlist.__iadd__()は定義されているけど、tuple. __iadd__()は無い、って 所に起因している訳で。 +=みたいな演算子は、定義の有無や継承関係、NotImpremented返すか によって__iadd__, __add__, __radd__のうちどれが呼び出されるか動的に 決まるので、まぁ不確実性はありますよ、と。
>>288 そっか、特殊メソッドの定義次第か。
ってことはまず演算子が呼び出す特殊メソッドを把握しておけばいいと。
さらに破壊的云々は特殊メソッドがどう定義されてるかっていう別問題なわけか。
> __iadd__, __add__, __radd__のうちどれが呼び出されるか動的に
> 決まるので、まぁ不確実性はありますよ、と。
話それるけど、静的言語ユーザーから見たらこういうところをネタにdisってくるから困っちゃうね。
対応するメソッドがあれば同じ操作ができることで書き方が統一されるってすごいメリットなんだけどね。
いや別に…
変数aaaが未定義な場合、 ・Ruby if aaa => False ・Python if aaa: => エラーで落ちる RubyのようにFalseを返して欲しいのですが、この場合はどのようにifを使えばいいでしょうか?
変数ちゃんと定義して、False で初期化しときゃいいんじゃないかな。
try - exceptを使う try if aaaがどうしたこうした : なんかの処理 except pass
RubyでもNameErrorじゃないか?
NameErrorになるよね。
馬鹿には無理
sage ふーん
全角使う奴が頭悪いと言うことは良くわかった
全角使ってるからアホそうなんじゃなくて アホそうな奴が全角使ってるから見分けやすくていいねってこと
馬鹿を釣るためにわざと全角にすることがあるよw
俺は自分で打つときは半角にするが、別に全角だからと言って、どうでもいいじゃん、とは思うがな。 漢字の変換ミスとか逐一言う奴とか、慣用句の言い間違いを指摘するとか どーでもいい事気にする奴多いよな・・気になるくらいならいいんだけど いちいち勝ち誇ってるやつはイタイ。
コマンドやらソースコードやらURLとかの 半角であることに意味があるものを 全角で書かれるとさすがに指摘したくなる
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 馬鹿には無理 ふ〜ん
ここまでどうでもいい話ですね ここからもきっとどうでもいい話が続くのでしょう
そうだけど何か文句ある?
いや全く平和で結構
このスレがPythonの本スレにあたるのでしょうか?
こちらが隔離スレです
えっ////
照れてんなよブース
アセンブラとBASICとCOBOLしかわからないオッサンだけど Pythonってすげーわかりやすいわ。 C、Delphi、Java、C++、D、Ruby、VB、C#、Haskell、Lua、PHP、JavaScript… これらに次々と挫折してきた俺が、Pythonは挫折せずに学習が続いている。
恋多きおっさんやの
うん。入門書をちょっと開いては、あ、こりゃダメだって 拒絶反応が出て、それを繰り返してきた。 Pythonは何かこれらと違う。 どこがどうとは言えないが、BASICやCOBOLに 雰囲気が似ている気がするんだよ。
といわれても触ったこと無いから分からんな
アセンブラわかってCわからんってめずらしいね
>>313 参考にしたいので、どんな学習方法をしているのか、なんという入門書を
読んでいるのか、ぜひ、教えていただきたいのですが・・・。
>>313 どんな理由だろう
ALGOL系列が合わない?: C(++)、Delphi、Java、D、C#、JavaScript
メソッド(プロパティ)チェーンが苦手?: VB、Ruby
関数型が理解不能?: Haskell
用途が合わない?: PHP、Lua、JavaScript
頭が固い
がっつり文と式を分離するのが好みとかじゃないか PythonがいまどきのBASICと呼ばれる所以
>>318 参考までに。
ただし、オブジェクト指向とかWEB関連はこれでは学べんので
本当に初心者向け。この先に行きたい人には参考にならない。
(学習方法)
テキストエディタとコマンドプロンプトを開きっぱなしにして
100行以内に収まる簡単なプログラムを組み、動かす。
完成したら一人で祝杯を挙げたあと、改造して楽しむ。
親切なメッセージをあちこち散りばめたり、計算に使う数値を
キーボードから入力できるようにしたり。
動くモノが1本できると自信になるし、数十行も書けば
Pythonの基本的なコーディング要素がけっこう学べる。
題材は、プログラムをシンプルにするため、計算とその結果の
表示だけで済むもの。
基本情報処理試験のテキストにフローチャートで示されている
ソートや探索のアルゴリズム、その他挫折して放り投げてある
CやJavaのアルゴリズムの本から興味のある項目。
(読んでいるもの)
・オライリージャパン「初めてのPython」
・日本Pythonユーザ会のサイトにある2.7のチュートリアルドキュメント和訳
普通すぎてこれまたコメントしにくいよ
初心者なら誰でもやってるな確かに
>>320 頭が固いで合っていると思う。
自分の脳内スタックが一段しかないのをはっきり自覚している。
Cのポインタ、C++やJavaのクラス、Rubyのメソッドチェーン
これらみんな、脳内スタックが複数段ない人には使えない機能。
だからおそらく、Pythonのオブジェクト指向機能は自分には
身につけられない。
まあ使えるものを使えるように使っておけばいいんじゃないかしら
馬鹿には無理
>>313-321 Delphi(というかPascal)とPythonって、漂っている臭いが似ていると思うが。
なんというか、ヨーロピアンな薫りが(Pascal->スイス、Python->オランダ)
それぞれCとPerlのアメリカ臭さを脱臭して、エレガントにしてみましたが何か?って雰囲気が。
C++がデンマークの薫りなのかは知らない。
Delphiかかなり厳密に書かせるから、そこら辺が合わん人には合わんと思う
Scalaもスイスだね
>>328 >それぞれCとPerlのアメリカ臭さを脱臭して、エレガントにしてみましたが何か?って雰囲気が。
Pascal をバタ臭くしたのが C だと思うが…
delphiからpythonに来ました
Pythonをバタ臭くするとRuby? PHPは腐臭、Perlは死臭がする。
Rubyは国産ですよ^^;
国産のくせに、日本語ドキュメントすらPythonに完全敗北のRubyって存在意義あんの?
論点が見えない
他の言語との比較はいいから
Ruby は馬鹿に最適
「自分は頭が良くて詳しいです」的な自己満足レスの典型だぞ。 相手は超初心者なんだからもう少し優しく教えてあげないと。 さもなくばスルーでOK
馬鹿には無理
今日Nose知って楽ちんさに感動したんですが もしかしてもっといいのあったりするんですか?
doctest
テストは他所でやれよ、じゃないんだろうな
馬鹿には無理
pass
wx, Gtk, Qt, TkとかのGUIで、一番動作が速いのってどれかな?
wx
348 :
デフォルトの名無しさん :2012/04/29(日) 02:46:46.48
φ(.. )メモメモ
馬鹿には最適
thnx
pass
Python3が多数派になるのはいつの日なのか‥‥
3000年を目途にしてるらしいから。。。
皇紀でもきついな
pass
exit(0)
馬鹿には無理
flaskrの質問です。
sshで接続して
#python flaskr.py
を実行したまま
ttp://www.hoge.com:5000 で画面が表示出来るようになったのですが、
常駐させる方法と
ポート番号を付けずに表示する方法がわかりません。
どうかよろしくお願いします。
それが何だか知らないし調べるつもりもない、で言っているけど python flaskr.py& じゃ駄目?
python flaskr.py -p 80 & でいけました ほんとうにありがとうございました
361 :
358です :2012/05/02(水) 18:57:58.20
>>361 flaskr.pyの最終行を
#app.run()
app.run(host="localhost", port=80)
に変更
おススメはしない
非ローカルなら #startup.script SERVER_NAME="hoge.com:80" $FLASKR_SETTINGS=./startup.script python flaskr.py でもいいかもしれない
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 となるようにしたい。 どういう特殊メソッドをていぎすればいいの?
>>365 def __getitem__(self, n):
return self.values[n]
もしくは list を継承する。
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)
馬鹿は死ね
はい
>>367 特殊メソッドって書いてあるのが読めなかったのかな
小学校からやりなおそうか
>>366 ありがと。それってマニュアルのどこに書いてあるの?ぐぐっでも見つからないんだけど。
PackerとUnpackerを調べてみることを勧める
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
私も常々感じていたのだけど、ここまで大きな勢力になっているとは思わなかった。
:q!
おはようvim
>>374 訳が欲しいなあ。
英和辞書を片手に訳してみたが意味がわからん。
「Vimスクリプトを発明する代わりにPythonとの統合を加える」
…エディタのマクロとしてPythonを採用しろってことか?
金払ってvim使っている方々が望んでいること第一位
>>377 :help python
した方が解るんじゃ?
>>373 そのURL読んで見ようと思ったけど、どっちも難しすぎる。Pythonではこんなの読まないといけないの?
イテレート可能なオブジェクトが何かを知るためにはCのAPIドキュメントを読まないといけないとは、敷居が高過ぎる。
全部読まなくても
>>373 がレスに書いてることだけで十分
広辞苑買ったからって読破しようとは思わん
>>282 >next(itertools.ifilter(func, xs), None)
あのさ、Pythonってこういうのよく使うわけ?
関数型言語ならこういうの大好きなのは分かるけど、Pythonってもっと分かりやすさを好む文化だと思ってた。
こんなパズルみたいなコードが許されるならPython使うのやめたくなる。
>>382 ROMってればわかることだけど、コーディングについての質問があると無駄にややこしい例をみんなで挙げあう
のが伝統。
>>382 PythonはHaskellの影響を強く受けていて
随所に関数型言語の香りがあるんよ。
Pythonのクラスの特徴である、メソッドの第一引数に
インスタンスの指定を強要するという仕様も
その絡みから来るものなんだそうだ。
結論:嫌なら使うな
Haskellでの$や.的なものってあります?
Pythonは別にそれほどfunctionalな言語ではないと思う
逆にそういうつもりで書くと色々窮屈かと
ただ
>>382 ぐらいはぶっちゃけ今時のLLではありふれてるよ
Rubyあたりだともっとメソッドチェーンとブロック使ってダラダラつなげるイメージ
Rubyはダラダラどころか最初から
>>382 がある
>>387 いやRubyが冗長とかそういう意味で書いたのではなく、
Rubyでは高階関数やメソッドチェーンがごく普通に多用されてるってつもりで書いた
ごめん
PythonはRubyほど色々チェーンする文化は無い(と思う)けど
>>282 はPythonのコードとして特に複雑なわけでもない
っていうか実際こういうコードを書かないのなら、itertoolsモジュールの
存在意義がない
>>388 >
>>282 はPythonのコードとして特に複雑なわけでもない
>っていうか実際こういうコードを書かないのなら、itertoolsモジュールの
>存在意義がない
あのー、
>>279 ですでにたいへん分かりやすいコードが書かれてるんですけど。
そのコードよりも
>next(itertools.ifilter(func, xs), None)
みたいなコードのほうが、Pythonらしいわけ?
itertoolsのほうがうまく書けるコードならitertools使えばいいけど、
そんなの使わなくても
>>279 のようにわかりやすく書けるのなら、
わかりやすいほうを選ぶのがPythonの文化だと思ってた。
Python3でreduce()がビルトインから外されたのもそういう文化だからと
思ってたのに、実はそうではなくて、itertoolsがあるんだからという理由で
わざわざ難しい方法を使って自己満足にひたるのが今のPythonなんだな。
残念だ。
何を勝手に決めつけて何を勝手に残念がっているのか知らないが、 誰もお前に何かを強要はしないし、していない 自分の好きに書けばいい話だろう
2chの書き込みだけで言語の特性やら空気を断定しちゃう貴方の脳みそが残念だと思わなくもない
たまには内包表記さんとジェネレータ式さんのことも思い出してあげてください。
>>391 Pythonは〜文は〜って言ってる人はむしろZenに影響されすぎなんだと思うで
思想が変なところにクリティカルヒットして「もうこれしかねえな!」見たいな感じになってるんだろうけど
現実はもっとファジー
そして一般的には馬鹿の一つ覚えという
馬鹿には無理
botにも無理
↑バーカバーカ ↓バーカバーカ
呼ばれた気がした
pass
>>397 そこは「バカじゃないもん!」じゃないのか?
Pythonの高速化テクニックについて参考になるページを教えて下さい。 とくにGCまわりでの注意点や落とし穴について紹介しているページは大歓迎します。 よろしくお願いします。
Pythonのエンコーディング名として、「utf-8」と「utf8」のどちらも使えるようですが、 どちらがお勧めですか。
>>402 個人的にUTF-8が好みだけど、utf-8がいいと思うよ
一般的に多く使われてるし
tokenizer.cを見る限り速度的にも一番速い(認識不能レベルだけど)
>>403 引用
> 大文字と小文字、またはアンダースコアの代りにハイフンにしただけの綴りも有効な別名です; そのため例として 'utf-8' は 'utf_8' codec の正当な別名です。
へーそうなんですか。utf_8が正式な名前で、utf8もutf-8も別名なんですね。勉強になりました。
>>404 じゃあutf-8を使います。ありがとうございました。
またDjangoかよ 足引っ張ってるなDjango
djangoとGAEが3に以降すればみんなついてくのに
metaplotlibもそうだ あれがPython3にないのは痛い
numpyが一番大きいだろ
リストの日本語をprintするとひどいことになるので3を使ってみようと思ったら wxpythonが2.7止まりであきらめかけてる pygtkが使い物になるレべルならいいけど
>>> print [u'日本語'] [u'\u65e5\u672c\u8a9e'] >>> print repr([u'日本語']).decode('unicode-escape') [u'日本語']
numpyはPython3で使える scipyも使える
matplotlibも非公式だけどPy3k対応版はすでにある。
え..それ本当ですか 帰ったら調べてみよう 2はstr型とunicode型を常に意識して区別しないといけないのが嫌だったんだよね
>>> from datetime import date >>> str(date.today()) '2012-05-10' となるんですけど、dateオブジェクトをstr()したときのフォーマットってこれで固定ですか? 今はdate.today().strftime('%Y-%m-%d')を使ってるんですけど、面倒なので、 str(date)で済むならそっちにしたいです。
>>416 おお、固定なんですね。これはありがたい。さんくすです。
パイパイって電車の中じゃ言えないよね こういう時どうすんの?
言っても構わんでしょ。 中国人はよくチンチンって言ってるし。
warota
人魚さんがどーたら
タオだろjk
pass
パイ・トゥーとかパイ・バイ・トゥーとかw
pass
そう考えると、Pythonで仕事して、帰り際にはどういえばいいんだろ おつ...
おっとだれかきたようだ
ふと、今になって重要なことに気付いた パイレーツのパイってパイ乙のパイだったのか!!!
pass
Pypy速いらしいけどlxmlみたいにCを呼び出すようなものまで高速化は望めないのかな
原理的にそりゃそうだろ
よくCで実装されたモジュールがあればそっちをimportする様になってるコード見るけど、 pypyだと逆効果になるのか。
効果は及ばないだろうが逆効果はまた話が違うだろ
あと、インタプリタは原理的にCPUが実行する分岐命令が増えるので、パイプラインの恩恵を受けにくい JIT入れただけで飛躍的に加速するのはこのあたりが原因
>>435 例えばcPickleが使えればcPickleをimportする様になってるコードで、
CPythonなら当然cPickleの方が望ましいからいいのだけど、
pypyはcPickleよりもPickleの方が早いのにcPickleがimportされちゃって逆効果、ってつもりで書いた。
なんか間違ってる?
pypyだと普通のpickleの方が早くなるの? なんか凄いね numpypyの開発もかなり活発らしいしありがたい話だ
なんとなくわかるけど、要件をもうちょっと正確に。
馬鹿には無理
この serial モジュールの API は糞だな
馬鹿には無理
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')
でかく描いて縮小
>>> img.save('hoge.png', 'PNG')
へ〜 png使うとジャギらないんだ
いやジャギーじゃないだろそれは モスキートノイズくせぇ
質問です。
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 できるのでしょうか?
ありがとうございます。読んでみます。
馬鹿には無理
そういう仕様的な込み入った話じゃなくなると、アルゴ的な最適化が主になるわけよ アルゴリズムってのは言語によって差がない(意味論的な話で実装難度は違う)から 「この言語で」って言われるとあまり存在しないんだよ
具体的に何を高速化したいのだろう Pypyは試してみた? ベタだけど数値計算だったら適切にnumpy使うとか
同じやりたいことを、こう書くと高速(または低速)、 というのはPythonらしからぬと思うな。
psycoたんハァハァ
馬鹿には無理
* 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): ... # 毎回実行する処理
fnmatch.fnmatchの中でローカルにimportしてるけどあれどうなの
違った fnmatch.filterだった
>>458 >アルゴリズムってのは言語によって差がない(意味論的な話で実装難度は違う)から
>「この言語で」って言われるとあまり存在しないんだよ
そんなばかな。
チューリング完全なら最終的にできるものは同じです
それなんてニヒリズム?
>>467 アルゴリズムで計算量オーダは決まるだろ。
汎用的なアルゴ本はCか疑似言語が多いだろ こういうのは一通り読んだらもう買わないわけ そうなると人口の多い言語に向けて出した方が安定する クックブック的な本は言語の依存性が大きいから別々に書いても売れるけどね
>>464 この「例外(try except)を利用してロジックを書く」ってのはどうなんだろう
if inはないと直感でわかってhas_keyだろと思ったがtryであったでござる
オーダー見てるだけじゃ最適化は終わらんわ。ボトルネックを削る効果は普通にでかい。 Cくらいの低水準寄りな言語なら罠も少ないが、ある程度複雑な言語だとちょっとしたことで大差が出る 場合もあるのだし。 最善を尽くさなければならないなら、他言語の併用や乗り換えも検討すべきだが。
475 :
デフォルトの名無しさん :2012/05/20(日) 08:49:06.50
馬鹿には無理
>>472 エラーハンドリングのためのロジックだからいいのでは。
>>472 tryの中に何か処理を書き足したとき、その処理が偶然KeyError例外を出すようなことがあると、
エラーとならずに静かに誤動作を続ける、愉快なバグができ上がる訳ですね。
というか、CollectionsのCounterとか、defaultdict(int)とか、代替案はいろいろあるのに、
try..except..は無いと思う。
そういうアイディアもあるんだなと勉強にはなった ただ実際に書くかといえば... もし自分以外の人が見た時に意思が共有されてないとマズイことになりそう
普段は使わない方がいいコードだな どうしてもそこをPythonのまま高速化したい場合なら、まぁ、ありかな tryの中に漫然と処理を書き足すのもそれはそれでおかしいんだし
>>477 >tryの中に何か処理を書き足したとき、その処理が偶然KeyError例外を出すようなことがあると、
>エラーとならずに静かに誤動作を続ける、愉快なバグができ上がる訳ですね。
464のコードのことをいっているなら、except節のあとに書けばいいだけ。
tryの中に処理を書き足す方がバカ。
> というか、CollectionsのCounterとか、defaultdict(int)とか、代替案はいろいろあるのに、
> try..except..は無いと思う。
そう思うなら、wikiなんだから自分で編集しろ。
python公式サイトのwiki (
http://wiki.python.org/moin/PythonSpeed/PerformanceTips ) なんだから
より正確な情報を載せるほうが望ましい。
つうか公式サイトの内容にケチをつけるとは、日本人Pythonistaのレベルも高くなったのう。いいことじゃないか。
ないよ。 del j することはできるけど見たことない 関数を分けるか関数内関数を使うかすればいいと思う
使わなくなったところで、適当になんか代入しておけばいいんじゃね?
公式サイトだとか関係無い 例外の本来の使い方とはかけ離れているんじゃないかと指摘してるだけで むしろpythonってそういうのを排除しようって傾向に無いかな
結局、例外自体が設計の間違いって流れなのか? プログラム言語の流れとして
>>482 , 483
ありがとうございます
c++でそういう書き方に慣れてしまったのでつい書きたくなったのですが
俺の頭のほうをなんとかすることにします
wdict.setdefault(word,[0])[0]+=1 って書けばok
例外なんか最近の言語にも普通に搭載されてるだろ Googleが低水準系の言語で例外を使わないようにしてるくらいじゃね?
適切に使用されているかの問題やねん 例外的な状況に使え フロー制御に使うな ってのはよく言われていること
こんな、こんなの普通は気づかないわよ。 a = (int('10')), 知らないよー。
>>489 と主張する一派がいるって程度でしょ
アンチパターンというほどの共通認識にはなってない
489はJavaとかC#の話だったような あれらはコンパイラが最適化に掛ける気合いがPythonとは違うので、例外一回起こしただけで万倍以上のコスト払わされるから、発生を予見できるならなるべく避けましょうと言う話 これは一派というか当たり前の話 OracleにもMSDNにもガイドとして書いてある Pythonの例外はそうでもないので、こんな物に倣う必要はなし
>>462 ありがとうございます。まさにそういうのが知りたかったです。
Pythonではどう書くのがよくて、またダメなのかがしりたかったので、まさにドンピシャな内容でした。
そこに書かれているビデオも面白かったです。書き方を工夫することでどんどん速くなるのが面白かったです。
あと、こういうチューニングをしてもコードが読みやすいままというのはPythonのいいところだと思いました。
細かいようだが、どう書くのが良いか、ってのを求めてるなら違う これは良いんじゃなく、速い
例外を通常系の条件分岐に使うべきじゃないのって、別に最適化のコストの問題だけじゃ 無いと思うけどな・・・ 別に数万倍程度の実行速度の差なんて気にならないようなケースだって多々あるわけだし。 1日に1回しか実行されない処理で、数%くらいの確率でしか実行されない条件とか。
それは一貫性の問題でしよ ここはこのイディオム こっちはこのイディオムって やること同じなのに違う記述をパイソニアは好むんですか?
今北産業
pythonistaの女の子 パンツうp 大興奮
>>496 一貫性とれてると思うけど?
Pythonでは、はためから見たら条件分岐でかけばいいようなところにもしょっちょうtry-exceptを使う。
たとえば他の言語なら
if value.isdigit(): n = int(value)
else: n = 0
と書くところでも、Pythonでは
try: n = int(value)
except: n = 0
と書くのはよくあるし、とがめられるようなことはない。
あるところでは例外処理はなるべく使うなと言い、別のところでは(464のように)例外処理を使え、というのなら一貫性がないと言われても仕方ないけど、
Pythonでは例外処理は積極的に使われているのだから、もとから一貫している。
積極的に使われてるのか 全然見た事が無いんだが俺の勉強不足なのだろうか
つーか、例外って使いたくなくても、ライブラリが例外出すからそういう書き方に強制されるもんの気はする。 使い捨てスクリプトなら、細かいことは気にしない。ちゃんとしたモジュール作るなら、色んな面を考慮して決める。
>>499 で、いつもnが0になるんですけど、って苦情を受けて、
初めてvalueのスペルが間違ってたことに気づくんですね。
わかります。
>>502 from perl import strict
できればいいのに。
>>502 例外クラスをきちんと指定しておけばいいだけの話と思うけどね。
>>502 except ValueError, TypeError
すればいいだけだね。
あと、いつも発生するわかりやすいバグはすぐに気づくから、502のような状況にはまずならない。
>>505 > except ValueError, TypeError
> すればいいだけだね。
いやそれいっしょくたにしちゃダメでしょ。
>>500 多分そう。if文の上位互換と考えても良いくらい使われている。
>>499 むしろ、intに変換できなければ0として扱う、という点に仕様バグ臭がする。
ユーザーが間違って全角で「123」と入力しても、0として扱われるんですね?
仮に0が無効値を表しているとしたら、マジックナンバー使うな問題になるし。
>>500 >>507 自分も見たことない。
具体的にifの代わりに例外処理が多用されている実例を教えて。
Java の parseInt とかには疑問持ってないのかな
>>> '10'.isdigit()
True
>>> '-10'.isdigit()
False
こんな具合にisdigitが糞仕様だから
いきなり
>>499 するひとは多い
何で標準ライブラリのソースも読んでない奴が偉そうにしてんの
C#使いだったがPythonのイテレータの終端(だったかな?)で毎度例外が発生してしまうのには 「なんじゃそりゃ!」と驚いた記憶がある(そうさせない方法もあるけど) 他の言語で慣れている人には違和感すごくあるだろうし、try...exceptを数行に渡ってインデントしながら 書かないといけないのはどうなんだろうと今でも思ってしまう
>>498 Pythonを使ってる女の子なんているんですか?
お洒落な感じはしない…
馬鹿には無理
>>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
>>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 がハイレベルな書き込みをすると聞いて
ああ、
>>519 にはぜひレベルの高い講義をお願いしたいものだな
自分の好みに合わなくても、むしろ合わない方が、その界隈のやり方に合わせるのは面白いよ 例えばCで、ぶら下がりif文はどうも好まない俺だけど、そう書かないと許されない界隈はある訳だし、 慣れればそういう考え方も分かる気はしてくるし
「馬鹿は死なねば治らないのであり、だからこそアナトール・フランスは 『愚かな者は、邪悪な者よりも忌まわしい』と言ったのだ。 邪悪な者は休むときがあるが、愚かな者はけっして休まないからである。」 (ホセ・オルテガ・イ・ガセット 1883〜1955)
524 :
デフォルトの名無しさん :2012/05/26(土) 08:44:20.25
udpのmpegストリームをrtmpに変換するライブラリとかありませんか
ffmpegぐらいしかないんじゃね
Where is the sponge I asked you to buy? I couldn't see a good one. They all had holes in them.
Would you go to DAISO?
year year
>>508 そんな短いコード片だけで、仕様がまずいかどうかなんて分かるのか。すげーなw
俺には、その文字列がユーザが入力したものだということすら見抜けなかったわ。
Python-listを受信していますが、メールがいくつかまとめられてきますので、 毎回メールを開いてタイトルを確認してってやって読んでいますが面倒です。 メールを一通一通受信するには何かの設定が必要でしょうか? それともメーラーの方で設定するのが賢いでしょうか?
>>532 あ(・∀・)り(・∀・)が(・∀・)と(・∀・)う!
|....,,__ |_::;; ~"'ヽ | //^''ヽ,,) | i⌒" | ∀`) < 誰もいない きのこるならいまのうち |⊂ | ノ _,,,......,,__ /_~ ,,...:::_::;; ~"'ヽ (,, '"ヾヽ i|i //^''ヽ,,) ^ :'⌒i i⌒" |( ´∀`) < きのこ のこーのこ げんきのこ ♪ |(ノ |つ | | ⊂ _ ノ ""U _,,,......,,__ /_~ ,,...:::_::;; ~"'ヽ (,, '"ヾヽ i|i //^''ヽ,,) ^ :'⌒i i⌒" (´∀` )| < エリンギ まいたけ ブナシメジ ♪ ⊂| (ノ | | | ヽ _ ⊃ .U"" | | ミ | ミ サッ! | ミ |
Pythonで Map Reduce するモジュールが欲しい。
遅くて使いものにならんぞ
_,,,......,,__ /_~ ,,...:::_::;; ~"'ヽ (,, '"ヾヽ i|i //^''ヽ,,) ^ :'⌒i i⌒" (´∀` )| ⊂| (ノ | | | ヽ _ ⊃ .U""
(゚д゚)シメジ
pass
piss
pussy
>>539 ああ、map関数よりマージソートのほうがボトルネックになるから、
そこをCで実装する意義はあるかもね
Hadoopy
|....,,__ |_::;; ~"'ヽ | //^''ヽ,,) | i⌒" | ∀`) < 誰もいない きのこるならいまのうち |⊂ | ノ _,,,......,,__ /_~ ,,...:::_::;; ~"'ヽ (,, '"ヾヽ i|i //^''ヽ,,) ^ :'⌒i i⌒" |( ´∀`) < きのこ のこーのこ げんきのこ ♪ |(ノ |つ | | ⊂ _ ノ ""U _,,,......,,__ /_~ ,,...:::_::;; ~"'ヽ (,, '"ヾヽ i|i //^''ヽ,,) ^ :'⌒i i⌒" (´∀` )| < エリンギ まいたけ ブナシメジ ♪ ⊂| (ノ | | | ヽ _ ⊃ .U"" | | ミ | ミ サッ! | ミ |
|(´∀` )| < エリンギ まいたけ
(´∀`)))))))))))))))))))))))))>>>>>>>>>>=========------- Python
ウサギのこうげき XXXに1のダメージ XXXはくびをはねられた
pass
impotent
import me
insert
ass
He repeats himself because that is so much important.
Cute a night thread the nuh. Relax.
They does not see through the lies and the lie.
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 に移ろうと思ったのですが、 これは今から使い始めるのはアリなんでしょうか? サイトには、開発が止まってますと出ていますが…
WSGIでググれ
561 :
デフォルトの名無しさん :2012/06/03(日) 10:34:53.75
>>560 あーごめんなさい、Rackのようなウェブアプリ系でなくて、純粋にApacheガチガチで
Authハンドラを書いたり、リクエストされたHTMLに広告ヘッダを突っ込むような用途なんです
mod_wsgiで(ry
WSGI一拓だろ
x 一拓 o 一択
んー、できれば生のPerlFixupHandlerハンドラそのものが欲しかったのです ありがとうございました
mod_sedでも使ってろ
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 ありがとうございます
空白を消したかったので,''.join(〜 で目的の物を得ることができました.助かりました.
>>568-569 joinの引数をリスト内包にするのは無駄。
joinの引数の、いちばん外側の[ と ]を取り去って、ジェネレータ式にすべし。
>>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")
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の書き方を教えてください。
data.sort(key=lambda x:x.get('bk',{}).get('bkdata',{}).get('hykpint',-99999), reverse=True)
やっつけ仕事すぎだろ。
def keyfunc(d): try: return (True, d['bk']['bkdata']['hykpint']) except KeyError: return (False,) data.sort(key=keyfunc, reverse=True)
NLTKでFreqDistを使って,複数の英語テキストファイルの中から単語の頻度分布を出そうとしています. 今回は18MBぐらいしかなかったので全部読み込んでリストにする事で対処できたのですが,大量になった時にメモリオーバーが怖いです. FreqDistに初期化時だけでなく,後からデータを追加する方法はないのでしょうか?
マニュアル嫁
HTTP通信でリクエストラインを指定したいのですがpythonだとどうやるんでしょうか?
質問です。 UTF-8で日本語・英数字・空白などが混在する 長さ不定の文字列がいくつか入ったリストがあるとします。 それぞれの文字列において、先頭から決まった文字数を ループ処理で抽出して書き出すという処理をしようとしたとき、 たとえば for val in mylist: str_1 = val[:12] #ここのvalは 'あいうえお' str_2 = val[:12] #ここのvalは 'あいuえお' ・ ・ str_n = val[:12] という抽出の仕方をすると、str_2の方は当然ながらうまくいきません。 何か良い解決方法はないでしょうか。 全ての抽出対象文字列を一度日本語全角に変換しようかとも考えたのですが、 スッキリしたやり方が思いつきませんでした。
583 :
582 :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
584 :
582 :2012/06/07(木) 02:45:19.61
i += 1の前のインデントが抜けていました。たびたび申し訳ありません。
val.decode('utf-8')[:5]
586 :
582 :2012/06/07(木) 03:09:09.19
>>585 どうもありがとうございます。
教えていただいた方法で解決しました。
夜分にすみませんでした。
587 :
デフォルトの名無しさん :2012/06/07(木) 09:26:22.76
588 :
デフォルトの名無しさん :2012/06/07(木) 09:29:00.31
djangoが対応するまでは絶対に嫌 1.5で実験的に対応とか言ってたから来年末くらいかな
3は標準ライブラリの枯れ具合がまだ十分じゃない
Pythonで現在の関数の名前を取得する方法とかありますか。 logger.debug("[%s] %s" % (__FUNC__, "message")) みたいにして、現在の関数名を簡単に取得したいです。
面倒くさい方法ならある
sys._getframe(0).f_code.co_name
>>590 むしろDjangoを捨てる・・・というのはきっと難しいんだろうな。
>>594 う、そういう方法しかないですか。
できれば __file__ と同じくらい簡単でかつ軽い方法がよかったんですが。
Rubyだと __METHOD__ で現在のメソッド名がわかるので、そういうのがPythonにもあるかなと期待しましたが、ないようですね。
おとなしく関数名を自分で書くことにします。
ありがとうございました。
そもそも関数名ってのが良くわからないけど、 定義したときのfとF=fにしたときで、別の名前取れるってことかな?
>>596 __FUNC__ = lambda: sys._getframe(1).f_code.co_name
ログ用途ならプレースホルダに%(funcName)sがあるからな 他の用途というと…
何言ってんの?
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
%() という表記法は何?
Pythonで使うWebアプリ用フォームライブラリで、おすすめのをおしえてください。 ついでにどういう点がお勧めかも教えてください。
あなたの嗜好が全く判らない以上 あなたにとって最適なものを お勧め出来ない可能性が高いが それでも良いか?
御託はいいからさっさと並べ奉れ
ジャンゴ
django使うと3.xにしばらく移行できなくなる罠
>>602 実行時に得られる情報にはクラス名がないから
関数(関数オブジェクト)自体はクラスに依存してないとも言えるかな。
その為、クラスAのメソッドとして定義した関数にクラスBのインスタンスを渡したりする事も出来る。
クラス名表示は、素の関数はそもそもクラスに属してないし、
名前空間を気にしだすとパッケージ・モジュール名、クラス内で定義したクラスの場合・・・となると
きちんと表示するのはかなりの手間。
この点 3.3 では ネストしたスコープで定義されたクラス・関数の名前をルートから階層付で表示する
__qualname__ って属性が導入されるみたいで、改善されるかなと期待してるんだけど、
但し、実行フレームやコード・オブジェクトからは参照できないみたいで(パッチは挙がってるけど採用されてない様子)、
loggingでのサポートまでには至ってない現状です。
>>130 あたりで nth_element について議論してるのを発見したので超亀レスしておく。
こういうpartial sortingってのは一般にheapを使って実装するのだ。
Pythonでは、標準モジュールのheapqモジュールの中にちゃんと実装されている。
heapじゃ、中央値がO(n)で取れないよ。 heapで効率がいいのは、上位n個とか、下位n個を取ってくる時だけ。
partial_sortは、ヒープによる実装とクイックソートの変形による実装が有名で、 ヒープだとストリーミングデータにも適用できる(データにランダムアクセスできなくてもいい) という利点がある。ランダムアクセスできるならクイックソート版のほうが速い。たぶん。 nth_elementの場合は、クイックソート変形版じゃないとだめ。 と理解している。
うそです。
初心者スレで話題になってたが一つのobjectが持てる最大メモリ量って resource.RLIMIT_DATA だよね?自信無いから答えるのに躊躇してるんだが
>>615 objectじゃなくてOSのプロセスの制限値。 resource はUnix 固有のサービス。
CPythonのobjectだったら、最大メモリ量による制限はないよ。
メモリサイズを管理してる変数のoverflowチェックが実質的な制限。
(intだったら桁数、リストだったら最大要素数の様な制限等はある)
617 :
デフォルトの名無しさん :2012/06/13(水) 09:26:51.91
ぱいぱいとぱいそん3どっち使うのがいいの?
pass
>>606 それでもいいので教えてほしい。
Djangoはフォームライブラリも備えた統合フレームワークなので、独立して使えるならまだしも、
単体のライブラリとしては使えない。
>>621 フォームライブラリっていうとWTFormsとかになるけど…
馬鹿には無理
624 :
デフォルトの名無しさん :2012/06/13(水) 17:59:56.96
625 :
デフォルトの名無しさん :2012/06/13(水) 21:33:55.58
>>619 pypyとpython3どっち使うのがいいの?
626 :
sage :2012/06/13(水) 23:07:21.73
積極的に自身の努力の成果を公開してる人を叩く形になるのは気が引けるけど、 某所のGoogle Python Style Guideの日本語訳はひどすぎる気がする。 最初はissueに少しずつフィードバックしようかと思ってたけどやる気失せたわ 翻訳機ばりの直訳多くてわかりにくいし、コードが原文と変わっておかしくなってるところあるし、 原文の意味と逆の意味になってる誤訳まである。 自分も英語そんなに得意じゃないけど、原文そんなに難しい英語じゃないから 直接原文読んだほうがわかりやすい。公開するためのクオリティに達していない。 翻訳者はあんなんで日本語情報少ないライブラリとかちゃんと使えてんのかな… そのわりには検索では上位に来るから質が悪い。 結果的に間違った知識を世の中に拡散してる気がする。
あげちゃった。すいません。
>>626 どうせgoogleに著作権あるんだろうから
そいつのサイト無視して
同名の別サイト作っちゃえば?
630 :
デフォルトの名無しさん :2012/06/14(木) 00:51:57.19
オライリーの訳書も初めてのPythonと入門自然言語処理以外は翻訳クソじゃん 特にクックブックとか
ふーん、そう よかったね
そんなことよりDjangoの今後について語ろうぜ!
3.xに移行できない人間が生まれるくらいFramework Lockinしてて安泰も安泰だろ 早く1.5出ないかな
>>632 Pyramidとweb2pyのどっちがいいか語ってくれ。
635 :
デフォルトの名無しさん :2012/06/14(木) 06:00:17.41
Crystal HDみたいなの追加できないの?
636 :
デフォルトの名無しさん :2012/06/14(木) 09:39:07.41
フレームワークはトルネードつかえればいいや
プログラマなら、フレームワークに頼らずに 一から自分で組めと言いたい
?
まず TCP/IP から実装します。
640 :
デフォルトの名無しさん :2012/06/14(木) 22:54:46.02
まずパイソンを実装します
641 :
デフォルトの名無しさん :2012/06/14(木) 22:55:12.79
オレオレパイソン
pass
正規表現についての質問です。 文字列の中で2つ以上連続した全角スペースがあった場合に全角スペース1つに置き換えるという処理をしていて、 (' {2, }', ' ', 対象文字列) と書いたときはうまくいかず、 ('( ){2, }', ' ', 対象文字列) のようにパターンのところの全角スペースを丸括弧でくくったら意図通りになりました。 これはなぜでしょうか。
全角スペースの最後のバイトに対して{2,}を指定しているんじゃない? 対処としてはUNICODE文字列にしてからマッチさせるとか
645 :
643 :2012/06/15(金) 06:41:54.17
>>644 UNICODE文字列に変換した上で試してみましたが、うまくいかないようです。
マニュアルなどを読んでもう少し試行錯誤してみます。アドバイスありがとうございました。
646 :
デフォルトの名無しさん :2012/06/15(金) 08:04:13.84
>UNICODE文字列に変換した上で 対象文字列と検索文字列両方UNICODEにするんだよ
3に来い。
648 :
643 :2012/06/15(金) 10:08:50.88
>>646 どうもありがとうございます。
おかげ様で解決しました。助かりました。
2使っている人も、3に備えて、 from __future__ import division, print_function, unicode_literals, with_statement を常に書いといて、その環境に慣れておくべき。
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 へ移植から
rangeは使わず、常にxrangeを使用 dict.keys, dict.values, dict.itemsは使わず、常にdict.iterkeys等を使用 他に、3に移行するために、今から心がけておくことあったら補足よろしくです。
>>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で使える?
対応してるの2.6じゃなかったか
>>651 os.getcwdは使わない。os.getcwduを使う。
open(fname)は使わない。io.TextIOWrapper(io.BufferedReader(io.FileIO(fname)))を使う。
というか、2.7ライブラリのどこかに、3互換のopen関数は無いの?
ただのopenで良くね?
io.open?
普通に使うけどそんなに変か?
py2exeってランタイムをインストールしなくても単体で動かせるの?
ファイル1個になるかって意味ならならない
> ファイル1個になる って、気持ちは判るが理解不能だ。
selfが意味わからん
C++やC#やJavaやってたことがあるならthisの代わりで通じるんだけどなー 難しいね
selfはインスタンスへの参照 class Foo(): def meth(self, arg): print(arg) f = Foo() f.meth(arg) # このfがmethの仮引数selfに渡る Foo.meth(f, arg) # なのでこうしても同じ
selfは難しいというか面倒だよね。 下手をするとメソッドの中がselfだらけになってしまい LL言語の利点である簡潔な記述・短い記述が損なわれてしまう。 これはおそらく、Pythonではオブジェクト指向をあまり使わないで 簡潔な手続き型言語として使って欲しいという 開発側のメッセージだと自分は解釈している。
>>664 > class Foo():
> def meth(self, arg):
> print(arg)
> f = Foo()
> f.meth(arg) # このfがmethの仮引数selfに渡る
> Foo.meth(f, arg) # なのでこうしても同じ
Foo.meth(arg)だといかんの?
この引数に関してはさんざん議論したハズ
class Foo(): def meth(arg): print(arg) selfなんて要らんかったんや
言語によっては自身のインスタンスを省略できるからややこしい
>>669 それ self が予約語じゃないだけだから
self の代りに s でも _ でも何でも良い
selfの使い時が分からん
>>665 すげー独自解釈だなw
糖質の気があるのでは。
単なる下衆の勘ぐりでは? 何かあるとすぐ統失だのアスペだのと騒ぐ最近の風潮は嘆かわしい。
風潮じゃない、子供増えただけ
いちいち嘆くとかセンシティブな神経ね
>>672 他所の関数に引数として自分自身を渡したいときとか
>>677 NOOBで申し訳ないんだけど「自分自身を渡す」の意味が分からんので教えてくれ・・・
ありがとうほんとに
>>678 たとえば、インスタンスの集まりに自分を追加するような処理。
f.add(S)
でSに中から自分を追加できる。
つーか、この問題は単に引数に自分自身が出てくるかどうかって話で、予約語にして自動的に使えるようにしても同じこと。
文法や書き方や分かりやすさの問題。
>>679 そうなのか・・・
個人的にselfがあったほうが分かりやすいと思う?
upxで遅くなるなんてどんな環境だよ
突然のCeleron
>>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/ を参考にしてとりえずこんなふうにしてみました。
これで大丈夫でしょうか?
はい
689 :
デフォルトの名無しさん :2012/06/18(月) 12:36:20.90
ありがとう
690 :
デフォルトの名無しさん :2012/06/18(月) 14:17:01.16
はいじゃないが!
山田
>>680 俺はその人とは別人だが、オブジェクト指向的に書こうとすればするほどselfが要る感じがする
classmethod とか decorator とか書いてると 第一引数が self とは限らないけど self を意識せざるを得ない
Pythonでオブジェクト指向はしない方がよい。 selfの件もあるが、隠蔽ができないという 致命的な欠陥がある。
pass
そもそもselfが何の働きをしてるのか知らん なかったら困るの?
>>697 それくらいは努力して勉強してきてくれ。
掲示板でそもそもの話から教えるのは面倒だ。
関数はもちろん、クラスが持ってるメソッドもファーストクラスオブジェクト。 >>> def foo(instance, args): <- self があるからファーストクラスオブジェクトを置き換えれる ... print(instance.__dict__) >>> class Bar(object): … __init__ = foo <- ファーストクラスオブジェクトだから定義済みの関数を代入可能 >>> class Bar(object): <- ね ... pass >>> Bar.__init__ = foo self が第一引数にないと完全なファーストクラスオブジェクトと言えないでしょ?
701 :
700 :2012/06/19(火) 00:04:34.97
説明ベタで申し訳ない すべてがファーストクラスオブジェクトってのは Python の強み 俺はこれがあるから Python が好き
>701
>>701 そうそう、完全同意。
凄くシンプルに感じるんだよね。
>>695 お前の脳に欠陥がある。
馬鹿には無理
>>700 >self が第一引数にないと完全なファーストクラスオブジェクトと言えないでしょ?
JavaScriptのthisみたいに、関数宣言ではselfは明示的な引数にしなくてもOK、みたいな
言語仕様にする余地は、Pythonにもあったとは思う。
そのかわり、通常の関数として呼び出して、かつselfに任意の値を入れようとすると、
JavaScriptで言うところのapplyみたいな仕組みが必要になるけど。
どちらがシンプル化といえば、いい勝負だと思う。
>>707 self がないとインスタンスメソッドがファーストクラスオブジェクトにならないと言ってるのでは
そんなことない。まさにJavaScriptがよい反例。
>>704 ここで出てくるローカル変数って、クラスのローカルって意味かな?
クラスローカル変数・メソッドなんて滅多に使うもんじゃないのに
そのためにself強制ってのはずいぶん乱暴な話だな。
いやメソッドのローカルだろ
ああようやく理解した。 つまりselfが付いているとインスタンス変数で 付いていないとメソッドローカル変数なのか。 変数宣言のない言語ゆえの苦肉の策なのだな。
自由度としてはこのpython方式の方が高いだろう
RubyやPerlみたいに$とか@が付いてソースが汚くなるよりまし
simple is best
theがぬk
the ぬこ
>>717 この文章にtheはあってもなくてもいいって
ネイティブの人から聞いたことがある。
まどかまじか
pass
@classmethod
形容詞として使う最上級は本来ひとつに特定可能なのでtheを付けるのが正しいが、 最近ではあくまで形容詞との考えからtheを付けない人が多い まあ、ら抜き言葉みたいなものよね
ザとダの中間
はい舌を噛んで・・・
イギッ
>>715 Rubyのそれは確かに
「グローバル変数の頭にgとかフィールドの頭にfとか付けるくらいなら言語側で決めてしまえ」
という発想のスコープを指示する記号だが
Perlのそれは随分と意味が違うぞ
728 :
デフォルトの名無しさん :2012/06/21(木) 17:02:02.78
ぱいぱい
無茶な使い方しても何とか動く言語が必要ね これは
730 :
デフォルトの名無しさん :2012/06/21(木) 22:32:03.91
ルビーとパイソンどっちがいい? まわりはみんなルビー使ってます
日本ならルビーじゃね
まわりにPHPerしかいない なんて環境じゃないだけで恵まれている
>>730 馴れ合いたいならルビー
一匹狼ならパイソン
ルビーってカタカナで書くとルーピー見たいでひくな
ルビーはジワジワと衰退傾向にあるように感じる。 日本と歩調を合わせるように。
>>730 良識があるならパイソン
パイソンはどこにでも使われてるけど、ルビーはウンk
Rubyは日本のヲタク数人で開発している、いわば同人プロジェクト。 趣味に走ったり、やる気をなくしたり、内部抗争・分裂をして瓦解したり という体制面の不安が常にあり、今のままでは恐くてビジネスには使えない。
そういう幸せな時代はとっくに終わっております
国から金もらい始めてからだな おかしくなtったのは さっさと仕訳汁
言語仕様の一貫性からいってRubyの方がよいね 世界での普及度ではPython 英語ができるならPythonも選べるけど、できないならRubyが無難
人は、有能/無能と勤勉/怠惰の組み合わせで4タイプに分けられる それぞれのタイプ別に 有能で勤勉: Lisp, Python 有能で怠惰: Haskell, OCaml 無能で勤勉: Ruby, PHP 無能で怠惰: Java, C# に代表される言語を使うのが向いている
JAVAとPythonがメインなんだけどそれは
(無能で怠惰 + 有能で勤勉) / 2 = 中途半端: Jython オフレコでひとつ
=有能で怠惰
やっぱ経産省が関わるとろくなことにならんな
>>741 ルビイストとペチパーはゼークトに射殺されるんですね。
256倍使うシリーズが山ほど出版されたのが今では夢のようだ>Ruby
国産ってのが嫌なんだよな
大体、国産なんてこと売りにしている辺りで終わってる。 そんなのありがたがる奴は、超漢字でも使ってればいい。
MOEの悪口はやめろ
pass
色んな意味でRubyは正当な評価を受けていない
真っ先に教育コストの低さ(VBとPHPw)が評価される国だからなあ
くだらない議論だな こんなのが同じpython使いだと思うと恥ずかしくなる
明らかに俺とお前は違うPython使いだから一緒にしないでくれ
くだすれじゃなかったのか
勝手に同一視して勝手に嫌悪するとか当たり屋かよ。
そりゃそうだしょ。 利益に直結しない社内教育なんかやっている余裕は 今の企業にはない。 素人にVBやPHPを三日で叩き込んで次々現場に送り出さないと 利益が出ないんだよ。
Rubyが存在しなかったらPythonの日本語資料が充実していたということですね。
pythonは変態って聞いたからpythonを選択した。 深い理由はない
すくなくとも公式ドキュメントの充実度は Python英語>Python日本語>>>Ruby英語>Ruby日本語
ファーストサーバー どんな言語を使っていたのか
でも、日本語情報を「公式」に限定しなければ、Ruby>Pythonだと思う。
使ってる言語なんか関係ねえ 人任せにするってのはこういうことだ
ホントくだらない流れだな
>>741 書いた奴なんて救えない人生送ってそう
年収300万人生楽しいですか?
Pythonianはモンティパイソン精神がないと(使うのは)難しい
消えろじじい
pass
くだすれの回答もレベル下がりすぎて質問者よりもわかってない奴が偉そうに検討外れな講釈垂れてるからな この板全体に言える事だけどもうダメ ダメすぎる
こぴぺ
pass
殺伐しすぎ
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) じゃだめなんですか?
pass
かそ
馬鹿には無理
>>778 Vista/7はmanifestなしで実行してしまうとそれが記憶されてしまう。
解除方法は1回XP互換モードにするか、実行ファイルのタイムスタンプを書き換えるか
783 :
デフォルトの名無しさん :2012/06/25(月) 23:01:33.55
ぱいそん
ぱいてょん
>>780 ああそれが原因なのかな?
関係あるのかどうかは判らないけど
確かにOSが64でPythonが32です
あとで64bit版も試してみます
治りました! ありがとうございます!!
おっ Windows Vista モードで動いてたのか。 知らなかった。 考えなしに Windows 7 モードにして互換性大丈夫か?
790 :
デフォルトの名無しさん :2012/06/26(火) 08:40:26.20
ばいそん
ぴーそん
792 :
デフォルトの名無しさん :2012/06/26(火) 08:46:11.18
俺の弟は大学で情報工学専攻してるんだが、 この間、新大阪の本屋さんでバイトしてるとき 山崎邦正さんがニシキヘビの専門書をドサっと 買っていってびっくりしたとかいってた。 カラテカのちっこい人といっしょだったらしいw
Rubyは池澤あやかでPythonは山崎邦正かあ・・・ いえ、文句なんてありませんっ!
るびまにグラビアが載る前にpython.jpに5万字インタビューおなしゃす
山崎はC,C++、javaあたりで書く ある意味、主流派じゃなかったっけ?
最初Phytonに空目したから今でもフィトンと読む
>>792 そういう客のプライベートを
ペラペラしゃべるなと弟に言っておけ。
例え家族にでもだ。
調子に乗って先々で痛い目にあってくれた方が楽しいから黙っといて
pass
800 :
デフォルトの名無しさん :2012/06/26(火) 22:40:58.98
じぇいそん
pass
俺はピチョンって読む
pass
趣味でプログラミング始めたいんですけど 書籍で読む順番としては python スタートブック→python 入門 でおkでしょうか?
まず公式チュートリアル
806 :
デフォルトの名無しさん :2012/06/27(水) 23:04:22.53
ぱいそんでびーそんって使えます?
pass
>>804 プログラミング自体が初めてならばそれでいいと思います
もし他の言語を経験済みなら公式のチュートリアルで充分かと
初めてのPythonじゃなくてPython入門?
>>809 ありがとうございます参考にさせていもらいます
814 :
デフォルトの名無しさん :2012/06/28(木) 18:34:48.23
socketでチャットを作ってる サーバーとクライアントを分けてるんだけど クライアント→複数のサバへのメッセージの送信ができない というかthreading.Threadの使い方がわからない 誰かアドバイスください ド素人でですみません
スレッドとかそんな危ない機能は C++などの担当領域だろ。 LL言語はテキスト処理だけしてるのが 身の丈に合った使い方だと思うよ。
pass
ファーストサーバの件、仕事柄いろいろ調べていくと「サイボウズASP提供の場合、 標準で付いているデータエクスポートがkillされ、 ファーストサーバのバックアップサービスのみ使える」ということを知ってすんげえ頭抱えている。 ユーザはどうしようもなかったってことじゃないか…
それを何でここに書こうと思ったの?
方々のスレにコピペして回ってるだけでここだけじゃないよ 自意識過剰な
3.3 β版リリース祈念パピコ。 てかパピコって死語だな。
振り切ってパピポにしちゃおうぜ
>>817 ここじゃないけどそれと同じもの
漏れもコピペしたことあるけど
ほかにもやってる香具師いたんだ
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(セキュリティはともかくとして)でバックアップ出来るじゃん。
ガセネタかよ。
DCからみたら重過失でもない限り バックアップまで紛失することはないのが当たり前 約款なんて普通のDCは客が消した場合とかの責任回避のため だから、今回のは当然、FSは約款以上に責任負わなければいけない。 第一、鯖管理してればわかるだろうけど サーバにたまってるG単位のデータを、全顧客毎日フルバックアップされてみ たまったもんじゃない。 顧客バックアップ義務なんて、鯖屋が自分で自分の首絞めるみたいなもんだ これから約款変更余儀なくされる鯖屋が増えそうだ
スレタイ読め
板違い
そいや自分が入社する前、ウチの会社はサイボウズ導入してたらしい。 ファーストサーバの一件があったし、未だに社内で運用してたらと思うとゾッとするww
そこは辞めたの?
やあぁ…
良心的な会社 一応DCでもバックアップはしてますが万一消えたらごめんなさい ややブラックな会社 DCでバックアップはしませんのでお客様各自でバックアップしてください 完全ブラックな会社 弊社のバックアップは一般に言われるバックアップとは異なりますが 営業集客の際にはお客様側でバックアップ不要を謳っております
死ね
Pythonはguidoが死んでも大丈夫だって話思い出した
あるリストを偶数番目のデーター列と奇数番目のデーター列の二つのリストに分割する関数はありますか? 例: >>>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]
>>> 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)]
>>> 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)
png画像ファイルが2枚あります キャンパスサイズは縦横とも同じです この2枚を交互に表示するアニメーション動画を pngで作りたい(アニメーションpng)のですが Pythonではどうやればよいでしょうか?
IE って 9 になっても AnimationPNG 対応してないのか
>>842 ありがとうございます
取りあえずそれでアニメーションpng動画は作れました
あとはPythonでやる方法が知りたいです
PNGフォーマットの仕様書を呼んでその通りに書き出せば言語問わず作れるよ
日記はチラ裏で
なんで馬鹿は車輪の再発明をしたがるのだろうか?
再発明したことのない人にはわかんないさ
パブリックドメインのがあるならともかく、ライセンスついてるものは再発明とかそういう問題じゃない。
リンク厨うぜー
ゼルダの伝説なのにリンクの大冒険って名前で覚えてる奴いるよなー
いないだろう
ナンカコウテクレヤ
pass
Print"Hello" ぐらいしか出来ませんがこれからこのスレにお世話になります
>>860 あのスレッド、printレベルじゃ質問出来ないような話してません?
そもそも大抵の人は両方見てる。 何かあるときは荒れてないほうに書き込む。
俺も両方チェックしてる
そんなに居る人の知識レベルというか敷居が低くないんだよな 罠っつーか、あっちはスレタイにあるまじw
おまい2ちゃん初めてか? 力抜けよ
>>862 プログラミングで自分を「初心者ではない」と自信もって言える人はあまりいないってことさ
同じプログラミングでも分野が違えば誰もが初心者 人生長生きすればするほど新たな発見がある 死ぬまで発展途上だぜ 謙虚だろう?
死ね
test
少女A
872 :
デフォルトの名無しさん :2012/07/03(火) 21:34:24.98
コマンドライン(bash)で read -n 1 var と打つと標準入力から1文字読み込む。 この際、改行はいらない。 また、シェル変数varに入力した文字が格納される。 これと同じ機能ってpythonでできる? sys.stdin.read(1) で1文字読み込むことができるけど、改行が必要なんだよね。 改行なしに即座に読み込みを終了したい。
raw_input, input は? 入力させた後に加工しないといけないけど
874 :
デフォルトの名無しさん :2012/07/03(火) 22:20:02.26
>>873 「read -n 1 var」を実際に打ってみて確認してほしいんだが、これは改行を打たなくても処理を終了できるのよ。
一方で、raw_inputとかinputは改行を打って初めて処理が終了するでしょ、これは望んでる振る舞いじゃない。
この機能があると例えば、
ある単語を表示させて、標準入力から打たれた文字だけ消去して単語を左シフトさせるような
タイピングソフトができたりする。
ぐふう
無駄にオブジェクト指向してる悪い例
「無駄にオブジェクト指向してる」っていうのはおもしろいな
むしろそこは悪い例じゃなくて良い例なのでは 例としては良いんでしょ?悪いの? とか言ってみる
×オブジェクト指向 ○オブジェクト
>>880 無駄にオブジェクト指向してる悪い例の良い例
でどうでしょうか?
良いか悪いかはともかく、 class _Getch を継承して再利用することが実際にあるかどうかだな。
>>883 再利用性は重要だけど、”継承して”は必ずしも必要というわけではないよ。
一般的には、継承する必要がなければ委譲が良いとされてる。(理由:不必要な名前空間の汚染を避ける為、他いろいろ)
_GetchWindows, _GetchUnix 等は、共通のベースクラスを持った方がいいと思われるかもしれないが、
ダックタイピングが可能なPythonでは、不要とまでは言わないけど省略可。(この辺は、Java等をやってる人と感覚が違うかもしれない)
----
取り分け悪い例だとは思わないけど、改善可能なところは幾つもあるね
コンストラクタでプラットフォーム依存のモジュールをimportしてる為、
インスタンスを生成する迄、利用可能かどうかがわからない。=>コンパイル時に判断可能なはず。
対応OSが増えると、ネストが深くなる。<= try/except ImportErrorの所
実行コスト的に冗長な点。=> impl.__call__を直接 _GetChインスタンスの__call__に代入可
尚、無駄にオブジェクト指向してる => 関数でいいんじゃないか って類の議論は、自分はpass
この程度ならswitch-caseで充分じゃないの?
Vistaで動くけど7では動きませんみたいなプログラムは何が原因でそういう状況になってるの?
>>884 >実行コスト的に冗長な点。=> impl.__call__を直接 _GetChインスタンスの__call__に代入可
def __call__(self): return self.impl()
を
__init__(self) の中で
self.__call__ = self.impl
するということでしょうか?
試したら動かなかった
バージョンによって違うのかな?
>>887 試してないけど、こうかな
assert callable(impl)
self.__call__ = impl.__call__
あと、特に理由がなければ、
この例のケースでは implをself.implとして保持しなくてもok
関数でよくね?
>>888 それでも駄目でした orz
TypeError: '_Getch' object is not callable
そんなクソコードはほっとけよ
それでもだめなんです 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文字毎秒程度
pastebinとか使えよ厨房が。
>>894 * そのうち慣れる
* 端末(ドライバ)をrawモードに設定してあるので
Ctrl+CとかしてもSIGINTは発生せずそのままプログラムに渡る
man termios(VINTR, ISIG, raw mode)するかUNIXプログラミングの本を読むかぐぐる
* a += 1で我慢する
* 標準入力が端末であること前提なのにファイルとつなげばおかしくなる
* strは変数名に使わない。ろだも落とすの面倒だから特別な事情がなければ使わない
* Rubyもやっといて気にいったほうをどうぞ
>・str.len()じゃなくてlen(str)なのね 漏れもRubyからPythonに乗り換えたけど 最初に躓いたのがそこ
次に躓くのは ''.join 辺りと予想 FAQに載ってなかったかな
RubyとPythonは目指すところが同じなんだから 合併してしまえばいいのにね。 優秀な技術者が、同じような言語を作るために二つに 分かれてるのって、NTTが東と西に分かれてるのと 同じくらいもったいない。
R 合 優 分 同 ???
目指すところが同じなら合併などと言わず片方が消えればいい もちろんお前がAWOLに消えてくれ
ん?ネガティブなレス付いてんね。 人的資源は集中して使おうという話なんだが。 言語を開発できる優秀なプログラマは少ないのだから。
効率化を主張するなら、自分の主張が無駄にならないようなところで主張すべきではないか。
あなたのまちをいろどるほっとステーション
それはファミリーマート
おまえもスカイブルーに染め上げてやる
お前が優秀になればいいんだよマヌケ
>>894 端末、標準入力に関しては、Pythonっていうか
UNIXプログラミングの知識の問題だよ。
>言語を開発できる優秀なプログラマは少ないのだから。 少ない訳じゃない 言語を作る需要がそんなにない みんながみんなオレオレ言語作ったらそれこそバベルII世
連日山ほど新しい言語が出てきては消えていってるよ
もうアルファベット一覧作れるんじゃないか?
Googleの悪口はやめろ
QWYZあたりを拡充したら良いかも
コブラ(それはまぎれもなくヤツさ)
ニシキヘビ vs コブラ
ニシキヘビ「オンリーメモリー・アフターユー・・・!(膝から崩れ落ちる)」
919 :
892 :2012/07/05(木) 09:29:13.11
>>893 CPython-2.5.1/Linux/zsh端末上で動作確認出来たよ。バージョンは問題ないみたい
原因究明は、流石にこれ以上は、環境/コード/どのように実行したか等の情報がないと解からないです。
環境 CPython-2.5.1/Windows7 コード あなたのアップしたもの どのように実行 cmd.exe から getch.py
エラーメッセージも書け
tracebackを全部貼れ
>>915 Booにも似てるね
自分はこの手のマイナー(?)言語に手を出して、
ことごとく開発終了になってるので、眺めるだけにしておこう。。
>>920 >892 のコードは _Getch クラスのみなので、これだけを実行しても意味ないよ、
>875 のリンク先の例のコードにマージして実行するのが前提なので、
自分で実行した 完全なコード をpastebin等に貼り付けてみて。
そもそも元のコード自体はエラー無く実行できてる?
>>> 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
>>> 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 事故解決しました。スマソてへぺろ
>>> 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 継承してたの忘れてた。てへぺろ
みんなのぱいちんくん、みんなの
object書いたのと書いてないのって何が違うの? 今はobject推奨だよね?
Python3 だと object 書かなくても object 継承したことになるね
__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
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)。
どうでもいいです…
記号なしにすると速いんだけどな
ぼくはいりましぇんぇん
平均3文字程度
win用(msvcrt.getch利用。中断時にも結果表示するようにしてみた)
ttp://pastebin.com/BVC1KeR6 自分も記号が苦手。日本語のキーボード配列使ってるときはダブル・クォートでラグ
フォーム見直して、右シフト・キーを全然使ってないことに気がついた。
普段、doc-string以外の文字列リテラルは、
なるべく一箇所にまとめるか外部リソースに追い出すようなコーディング・スタイルを取ってるんだけど、
ここにきてタイピング・フォームの影響が懸念。
TERMINATE = frozenset("\x1b\x03\x04") でいいよ。
エスケープ? \が出るととにかく目が滑るのを直したい…
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) こんなエラーでるんですが原因分かる方いたら教えていただけませんか
resultの一文字目は?
946 :
デフォルトの名無しさん :2012/07/08(日) 21:22:33.57
resultの一文字目はjです
948 :
デフォルトの名無しさん :2012/07/08(日) 21:52:21.13
こんな便利なものがあるんですね…ありがとうございます! データの方に問題がありそうでした FiickrAPIで取得したのでデータには問題がないものと思って油断していました 標準でもあるんですね 2.7入れてるんで使ってみます!
949 :
デフォルトの名無しさん :2012/07/08(日) 21:58:22.62
>>948 です
問題解決しました
データの取得時のステータス指定が一つ足りていなかったのが原因で取得したデータが正しい形式にならなかったようです
しょうもない原因ですみません…
>>947 さんありがとうございました
┌─┐ │●│ └─┤ _ ∩ ( ゚∀゚)彡 ┌─┬⊂彡 │●│ おっぱい!おっぱい! └─┘
キタワァ
953 :
デフォルトの名無しさん :2012/07/10(火) 10:30:43.45
うめようず
嫌ズら
おっぱい好きの集まりと聞いて
残りをおっぱいについて語れ
for i in range(0,9999,1): print u'おっ' if i % 1 else u'ぱい'
エロライブラリ、おっpy。
OcamlでPython処理系を実装…!!!
我々にはPyPiがある
ここからでも埋める
おっぱいに埋める
OPy - Oklahoma Python User Group
b = ''' 44CA44CAIOKUjOKUgOKUkArjgIDjgIAg4pSC4peP 4pSCCuOAgOOAgCDilJTilIDilKQK44CA44CA44CA XyDjgIAg4oipCuOAgOOAgCgg776f4oiA776fKeW9 oQrilIzilIDilKziioLlvaEK4pSC4peP4pSC44CA 44GK44Gj44Gx44GE77yB44GK44Gj44Gx44GE77yB CuKUlOKUgOKUmA== ''' print base64.b64decode(b).decode('utf-8')
ツマンネ
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'
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) # 収束しない
>>967 出来ました。
ありがとうございました。
馬鹿には無理
971 :
デフォルトの名無しさん :2012/07/12(木) 20:21:12.12
なんだよ。 結局無理なのかよ。
うめようず
┌─┐ │●│ └─┤ _ ∩ ( ゚∀゚)彡 ┌─┬⊂彡 │●│ おっぱい!おっぱい! └─┘
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)
>>977 unzip-iconvパッチとか使えばいいじゃん。
つうかUbuntuのunzipってiconvパッチあたってんじゃん。
windows使ってる漏れは勝ち組
Python2使ってる漏れは勝ち組 with zipfile.ZipFile(sys.argv[1], "r") as zipf: for name in zipf.namelist(): print name.decode('cp932').encode('utf8')
>981 どういう意味ですか?
>>984 windowsじゃ拡張子tar.gzを解凍できないでしょ?ってこと。
>>978 にpatch送った。
なんだかんだで半日もかかってしまった。。。
>>985 >
>>984 >windowsじゃ拡張子tar.gzを解凍できないでしょ?ってこと。
へ?
7zでふつうに解凍できるよ。
>>983 Pythonで作れるんだ。
>>983 本屋で立ち読みしたけど、SL4A と Python for Android のインストールの仕方を書いた本だったよ。
糞本確定
うめようず
嫌ズら
WSGIウェブプログラミング [単行本] 桑井 博之 (著) WSGIの本として買うと失望しそう 2012/6/18 By オタコン 形式:単行本 はっきり言うと、どのレイヤーに向けた本なのかわからないです。 肝心のWSGIの説明もWEB上で収集できる情報以下です。 gihyo.jpの特集に完全に負けています。 この本を読んでwsgi使ったWEBアプリケーションを作ろうと思うと確実にお金の無駄です。 あと、wsgiの説明なのでWEBアプリケーション作るためにテンプレートエンジン を使うのはわかりますが なぜCheetahとかいう落ち目のモジュールを選んだのでしょう? もっと使いやすいJinja2などで良かったのではないでしょうか? もう一つ、SQLiteは無いと思う。せめて、MySQLかPostgreSQL使ってアプリケー ション構築するサンプルコードにして欲しかったです。
カットシステムの本を買うなということだ。 こういうのって編集者に依るの? オライリーの動物本とかさ、編集者が手直ししているの? 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
1000取り合戦開始!
998!
999
1000
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。