5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Pythonのお勉強 Part11

1 :デフォルトの名無しさん:2006/08/10(木) 23:20:00
日本Pythonユーザ会
http://www.python.jp/Zope/
Python オフィシャルサイト
http://www.python.org/
まとめwiki
http://www7a.biglobe.ne.jp/~yasozumi/python/wiki/
問題集
http://www.pythonchallenge.com/

(前スレ) Pythonのお勉強 Part10
http://pc8.2ch.net/test/read.cgi/tech/1151508809/

2 :デフォルトの名無しさん:2006/08/10(木) 23:24:14
Python2.5のリリース予定。

alpha 1   2006年4月5日    済
alpha 2   2006年4月27日  済
beta 1   2006年6月20日  済
beta 2   2006年7月11日  済
beta 3   2006年8月3日  ←今ここ
rc 1     2006年8月18日  予定
final     2006年9月12日  予定
release   2006年?月??日   予定


3 :デフォルトの名無しさん:2006/08/10(木) 23:31:44
このスレは3ヶ月持つ。

4 :デフォルトの名無しさん:2006/08/11(金) 00:03:25
人生の敗北者でも使えるPYTHONのお勉強PART9
http://makimo.to/2ch/pc8_tech/1141/1141964987.html
PYTHONのお勉強PART8
http://makimo.to/2ch/pc8_tech/1132/1132805629.html
PYTHONについて0から教えてください
http://makimo.to/2ch/pc8_tech/1126/1126073956.html
PYTHONのお勉強PART7
http://makimo.to/2ch/pc8_tech/1125/1125159015.html
PYTHONのお勉強PART6
http://makimo.to/2ch/pc8_tech/1104/1104183124.html
人生の敗北者でも使えるPYTHONのお勉強PART7
http://makimo.to/2ch/pc8_tech/1104/1104156256.html
PYTHONのお勉強PART5
http://makimo.to/2ch/pc5_tech/1081/1081312810.html
【たぷるタソ】PYTHONのお勉強5【ハァハァ】
http://makimo.to/2ch/pc5_tech/1081/1081264387.html
PYTHONのお勉強PART4
http://makimo.to/2ch/pc5_tech/1068/1068824510.html
1からPYTHONを学ぶスレ
http://makimo.to/2ch/pc5_tech/1061/1061640768.html
人生の敗北者でも使えるPYTHONのお勉強PART3
http://makimo.to/2ch/pc5_tech/1053/1053955472.html
PYTHONお勉強スレッド__PART3__
http://makimo.to/2ch/pc5_tech/1036/1036892546.html
PYTHONお勉強スレッドPART2
http://makimo.to/2ch/pc3_tech/1020/1020718991.html
人生の敗北者でも使えるPYTHONのお勉強PART2
http://makimo.to/2ch/pc5_tech/1020/1020682294.html
PYTHONお勉強スレッド
http://makimo.to/2ch/pc_tech/965/965815778.html


5 :デフォルトの名無しさん:2006/08/11(金) 00:22:21
おっ、Pythonスレだ。

6 :デフォルトの名無しさん:2006/08/11(金) 01:25:05
オフ会から生還しますた!!

7 :デフォルトの名無しさん:2006/08/11(金) 01:27:32
差し支えない範囲でレポよろ

8 :デフォルトの名無しさん:2006/08/11(金) 01:42:21
なんつーかメアドの向こうに人間がいるっつー当たり前のことを再認識した。
俺もがんばろーとオモタ。

9 :デフォルトの名無しさん:2006/08/11(金) 04:10:33
>>1

PythonとRubyの比較がしたい方はこちらへ。

Python厨とRuby厨が仲直りするスレッド
http://pc8.2ch.net/test/read.cgi/tech/1099804004/

10 :デフォルトの名無しさん:2006/08/11(金) 09:07:15
>>8
含蓄のある書き込みだな。
これからもよろしく。

11 :デフォルトの名無しさん:2006/08/11(金) 14:08:32
2chにソース貼る時にズレやすいので、
クリップボード内の半角スペースを に置換するwindows用スクリプトを
書ける人お願いします。
win32allの解説を読んだりしたんですが全然わかりませんでした。

12 :デフォルトの名無しさん:2006/08/11(金) 14:10:28
変換してから貼り付けじゃダメなん?
そのほうが楽だし。

13 :デフォルトの名無しさん:2006/08/11(金) 15:17:59
>>11
cygwin いれて sedつかえばいいじゃん。

14 :デフォルトの名無しさん:2006/08/11(金) 15:22:51
私はEmacsで書いて、replace-stringをかけてる。


15 :デフォルトの名無しさん:2006/08/11(金) 15:26:51
私はviで(ry

16 :デフォルトの名無しさん:2006/08/11(金) 15:29:12
ところで、Pythonプログラマのレベル10というのは作れないだろうか。
こういうものがあると、自分が次に何をすれば良いかの指針になって、
とてもいいと思うのだけど。

(参考)
「 Perlプログラマのレベル10」
http://d.hatena.ne.jp/naoya/20050809/1123563794

「Schemeプログラマのレベル10」
http://practical-scheme.net/wiliki/wiliki.cgi?Scheme%3aScheme%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9e%e3%81%ae%e3%83%ac%e3%83%99%e3%83%ab10

「Rubyプログラマの〜」(イマイチ?)
http://www.namikilab.tuat.ac.jp/~sasada/diary/200508.html#d15

「堕落したCプログラマのレベル10」(ネタ)
http://d.hatena.ne.jp/w_o/20060808#p3


17 :デフォルトの名無しさん:2006/08/11(金) 15:34:52
細かすぎるなぁ。無理やり10段階にしたって感じ。
5段階くらいでいいんじゃね?

18 :デフォルトの名無しさん:2006/08/11(金) 15:38:24
べつにどうでもいいじゃん、
言語オタ向け?

19 :デフォルトの名無しさん:2006/08/11(金) 15:51:18
>>11
# -*- coding: sjis -*-
from Tkinter import *
import os, sys, re; re_leading_spaces = re.compile(" [ ]+")
def to_nbsp(match):
    return " " * len(match.group())
def translate():
    try:
        src = root.selection_get(selection="CLIPBOARD")
    except TclError, e:
        return # simply igonre the error
    text, n = re_leading_spaces.subn(to_nbsp, src)
    root.clipboard_clear()
    root.clipboard_append(text)
root = Tk(className=os.path.basename(sys.argv[0]))
Button(root, text=u"スペース→ 変換", command=translate, font="System").pack(side=LEFT)
Button(root, text=u"終了", font="System", command=root.quit).pack(side=RIGHT)
root.mainloop()

20 :デフォルトの名無しさん:2006/08/11(金) 15:54:50
あ、ボタンの一部が消えてるw
正しくは「スペース→ 変換」です。
そーか、& をエスケープしないといけないのだな。
じゃあこれは>>11への課題ってことで。

21 :デフォルトの名無しさん:2006/08/11(金) 15:58:58
レベル-1 :
Pythonを知らない。
レベル0 :
スクリプティング言語だということは知っている。Perlよりいい、オブジェク
ト指向、科学計算に強いなどの長所を聞いて興味を持つが、導入には至らない。
yumなどのアプリケーションで間接的に利用しているが、それは知らない。
レベル1 :
インストールした(またはインストールされていた)。少し使ってみる。イン
デントが意味を持つことを知って戸惑う。
インスタント・パイソンを通読、実行してみるが、ありがたみは分からない。
http://www.python.jp/Zope/intro/instant_python_jp
タプルの存在する意義が分からない。



レベル10 : Guido本人。


22 :デフォルトの名無しさん:2006/08/11(金) 16:17:51
>>21
何気にPerlより優れてるということを織り込まずにいられないところが、ユーザの性なんでしょうか。

23 :デフォルトの名無しさん:2006/08/11(金) 16:18:17
俺レベル1以上2未満だわ。てか、10がそれだから-1と0増やして丁度いいのねw

24 :デフォルトの名無しさん:2006/08/11(金) 16:26:51
レベル2 :
チュートリアルとライブラリリファレンスを拾い読みして、雑用スクリプトは、
大体Pythonで書けるようになる。書き捨てのコードもあとで読みやすいことに
満足。しかし日本語の資料やblogの少なさに愕然。Rubyにしとけば良かったか
と少し後悔。
インデントに慣れる。と言うか、常用エディタのPythonモードに慣れる。
組み込みオブジェクトは大体使えるようになる。不変オブジェクトは安全で良
いなあ、タプルもあって良いかな、と思う。
スライスは便利だと思うが、まだ慣れない。


25 :デフォルトの名無しさん:2006/08/11(金) 16:53:01
はじパイだけで、PerlでいうところのLv7.5か。
あと2ステップで、Guidoになれるw

26 :デフォルトの名無しさん:2006/08/11(金) 16:57:42
レベル3 :
『初めてのPython第2版』を通読。
http://www.amazon.co.jp/gp/product/4873112109
言語仕様が思ったより単純ではないことを知る。クラスを書くようになるが、
selfが嫌だ、privateが結局無いことはどうなのよ、とか思っている。新形式
のクラスは使わない。

関数の引数にさまざまな形式を用いるようになる。アンパック代入、関数の戻
り値などにタプルを多用する。リスト内包表記を使うようになる。イテレータ
やジェネレータはまだ良く分からない。

import文の無いコードはまず書かなくなる。必要に迫られてDB接続やnumpy,
scipy、matplotlib などを導入。導入の容易さと使いやすさ、高機能に大満足。
MATLABよさようなら。しかし日本語のドキュメントはほぼ皆無。諦めて英語を
読むようになる。

複合キーのDBの戻り値をdictに納めようとして、タプルをキーにすればよいこ
とに気づく。タプルのありがたみを思い知る。


27 :デフォルトの名無しさん:2006/08/11(金) 17:02:28
自分史はチラシの裏に

28 :デフォルトの名無しさん:2006/08/11(金) 17:16:06
初めてのPythonを通読する奴なんかそんなにいる?
チュートリアルに目を通した後はライブラリリファレンスと
標準ライブラリのソースを参考に試行錯誤するというのが普通だろ?


29 :デフォルトの名無しさん:2006/08/11(金) 17:22:06
>>26
最後の段落は要らないな。個人的過ぎ。

レベル4 :
C(++)で拡張を書き始める。イテレータ、ジェネレータを自分で書くようになる。
デコレータやジェネレータ式を使いたいが、インストールされたPythonのバージョンに
よって動かないことの方がが多いので諦める。

Pythonは今後、あまり構文は変わらないが、データの基本形式がシーケンスから
イテレータに移行しつつあることに気づき、今後の互換性が気になる。Python3000の
議論を追いかけるようになる。海外のMLを読むようになる。

ライブラリのソースを読んでまわる。

あとはどんなもんだろう。


30 :デフォルトの名無しさん:2006/08/11(金) 17:30:23
そのペースでlv.10まで続くかな。

31 :デフォルトの名無しさん:2006/08/11(金) 17:32:59
>>29
4:に
今後の互換性を考えて、新形式のクラスしか使わない。

を加えてほしいが、過去互換性のために新形式のクラスを使わない人もいるん
だろうなあ。


32 :デフォルトの名無しさん:2006/08/11(金) 17:35:20
プログラマならもっと計画的に考えろよ。
0から次々順番に考えるんじゃなくて、最初から0〜10のレベルの内容を考えて割りふれ。

33 :デフォルトの名無しさん:2006/08/11(金) 17:37:47
>>32
その作業はレベル10の人でないと難しいな

34 :デフォルトの名無しさん:2006/08/11(金) 17:45:39
なんだ、賑やかだと思ったら
みんなで夏休みの計画作ってるのか


35 :デフォルトの名無しさん:2006/08/11(金) 17:54:39
>>32
すまん、自分自身がレベル4なんで、そこから先は想像しか出来んのだ。
一応、こんな感じに考えたりして。

5: Pythonで食える。雑用コードではなくPythonをメインのコードとして使っ
ている。

6: 日本でPythonを普及させるためにエヴァンジェリストを買って出る。
or
Python生活の基盤を海外コミュニティに完全移行。日本でPythonが盛り上がら
ないのはもう気にならない。

7: Pythonで小さなOSSプロジェクトを始める。Guidoとオンラインで知り合いに
なる。

8: Pythonの著名な拡張モジュールの開発に参加。Guidoとオフラインで知り
合いになる。

9. Pythonの主要開発メンバに。Googleに就職。


我ながら厨房臭くてかなわん。誰かもっとマシな項目にしてくれるのを希望。


36 :デフォルトの名無しさん:2006/08/11(金) 18:00:59
個人的に一番知りたいのは lv.5 だな(笑)。
このスレにそれを達成した人は何割いるんだろうか。


37 :デフォルトの名無しさん:2006/08/11(金) 18:02:05
まるで難易度曲線が揃ってなくて面白い。PerlがB型だとするならPythonがO型だな。
何の話かというと、ワルキューレの冒険におけるレベルアップに例えてだが。

38 :デフォルトの名無しさん:2006/08/11(金) 18:04:30
>>35
Lv.8くらいにいってもPythonで食えるかどうか・・

39 :デフォルトの名無しさん:2006/08/11(金) 18:10:52
>>37
誰も知らないよそんなゲーム。
http://heroes.dip.jp/blog/2006/05/post_45.html

Pythonが晩成かなあ。Perlのレベル7がPythonのレベル4ぐらいと思うが。
つうか、5より上の区分が無理やり過ぎないか?


40 :デフォルトの名無しさん:2006/08/11(金) 18:14:47
どうでもいいから夏休みの宿題やれよ

41 :デフォルトの名無しさん:2006/08/11(金) 18:23:46
5: と 7:の前半は入れ替えるべきじゃないだろうか。


    5: Pythonで小さなOSSプロジェクトを始める。

    …

    7: Pythonで食える。雑用コードではなくPythonをメインのコードとして使っ
    ている。
    Guidoとオンラインで知り合いになる。


42 :デフォルトの名無しさん:2006/08/11(金) 18:33:39
レベル7: まで行かないと食えないのね(笑)。
Perlだったらレベル3: で食えるぞ。いや、2か?


43 :デフォルトの名無しさん:2006/08/11(金) 18:35:04
ひとに認められるためにPythonやるわけじゃないしなぁ…

44 :デフォルトの名無しさん:2006/08/11(金) 18:44:04
ちょっとレベル5:に加えて欲しいのがある。

・IBMのサイトの David Mertz の変態的Python使用法にのめり込んで、いろいろ
試してみる。
http://www.google.com/search?hl=ja&hs=agn&lr=&client=opera&rls=ja&q=+site:www-06.ibm.com+%E9%AD%85%E5%8A%9B%E7%9A%84%E3%81%AApython

俺は多分レベル4だと思うんだけど、何が書いてあるか良く分かんないんだよな。
訳が悪いのかな。いや、俺の頭か。


45 :デフォルトの名無しさん:2006/08/11(金) 18:49:40
David Mertz 変態 David Mertz 変態 David Mertz 変態 David Mertz 変態

好き


46 :デフォルトの名無しさん:2006/08/11(金) 18:58:16
>>44
そのサイトの訳、けっこうひどいんだよ。

第2回 機能プログラミングとデータ操作
http://www-06.ibm.com/jp/developerworks/linux/041029/j_l-r2.html

この「機能プログラミング」って、「関数プログラミング」の誤訳。
こりゃあんまりだよ。
文中だと「関数」じゃなくて「ファンクション」って訳してる。もう訳になっ
てないよな。


ちなみに私のレベルは3.5ぐらいか?Cで拡張はやったこと無い。


47 :デフォルトの名無しさん:2006/08/11(金) 19:11:17
zopeやDjango方面が全然載ってないので、どなたか追加を希望。


48 :デフォルトの名無しさん:2006/08/11(金) 19:59:07
>>47
そっちはPythonのスキルとは独立した話だろ

49 :デフォルトの名無しさん:2006/08/11(金) 20:16:35
誰かレベル5以上の人、技術スキルの話を追加してよ。


50 :デフォルトの名無しさん:2006/08/11(金) 20:32:28
ルバーですが、興味を持ちます田。

51 :デフォルトの名無しさん:2006/08/11(金) 20:56:29
>>50
まずはレベル1を目指すのだ。

52 :デフォルトの名無しさん:2006/08/11(金) 21:49:37
Java厨ですが初めてのPython通読しました。
いきなりレベル3でいいのですか?

Python面白いね、
ちょっと思いついた事をすぐにプログラムにできるところがいい。

53 :デフォルトの名無しさん:2006/08/11(金) 22:28:59
Pythonは楽でいいよね。

個人的には、通読だけなら2.5ってところかと思う。
いろんな外部ライブラリを導入するようになったら3なのかな。

54 :デフォルトの名無しさん:2006/08/11(金) 23:02:47
今の定義だとみんな4になっちゃわないか?
レベル5 をこんな感じにしたらいいんじゃないかと思う。

以下の条件のどれかが当てはまる人
・Pythonで1000行以上のコードを日常的に書いたり、扱ったりしている。
・Python-ml-jp の常連回答者である。
・小さなOSSプロジェクトをPythonで始めている。

この定義でも自分は4なわけだが。


55 :デフォルトの名無しさん:2006/08/11(金) 23:06:58
>>51
タプルの存在する意義が分からない。
というのはあたってます。
恥パイも買います田。どうなることやら

56 :デフォルトの名無しさん:2006/08/11(金) 23:44:11
つーかハスケルはタプルとリストの違いがはっきりしてて、
タプルが確かに必要って言うのが誰にでも分かるけど、
pythonの場合、使いづらいリストという感じしかしない。
ので俺もレベル1、(多分ずっとw

57 :デフォルトの名無しさん:2006/08/12(土) 00:59:23
>>56
伝わりにくい質問だなあ。
このスレではみんながHaskellを知ってるわけじゃないしね。
だけど言ってることは正しいと思う。Pythonはタプルもリストも自由度高杉。
タプルがシーケンスの一種になってるから、違いが分かりにくい。

Pythonでも、コーディング規約として、Haskellのように
・タプルは使い捨ての構造体として扱う
・リストには型の同じ要素だけを納めるようにする

こう扱うのがいいんじゃないかな。


58 :spam@Lv3:2006/08/12(土) 01:15:57
どうでもいいんだけど、
PyPlaggerをやろうと思って、Plaggerのソース見たらげんなりしたんで、口直しにDjangoのソース見てる。
たぶん、Perlは一生解らない。

59 :57:2006/08/12(土) 01:23:23
あ、別に質問じゃあないか。失礼。

だけどやっぱりタプルはありがたいよ。Pythonは不変オブジェクトで安全に組
むのが基本だから、要素集合の不変の組み合わせは、不変が保証されるように
コーディングしたいもの。リストや辞書しかないなら、不変性が保証されない。

例えば、こんな例はどうだろうか。要素集合をキーにすると、簡単に複数キー
に対応する辞書が作れて便利。だけどPythonではタプルは辞書のキーになれる
が、リストはなれない。リストをキーにできる言語だと、たまにこんなことに
なる。

irb(main):001:0> a = [0, 1]
=> [0, 1]
irb(main):002:0> d = {}
=> {}
irb(main):003:0> d[a] = "hoge"
=> "hoge"
irb(main):004:0> a.push(2)
=> [0, 1, 2]
irb(main):005:0> d[a]
=> nil


60 :デフォルトの名無しさん:2006/08/12(土) 01:30:36
Schemerはレベル高い

61 :デフォルトの名無しさん:2006/08/12(土) 01:43:25
Rubyのはなしは
もうあきた。


62 :デフォルトの名無しさん:2006/08/12(土) 01:46:15
もう、Ruby禁止で。

63 :デフォルトの名無しさん:2006/08/12(土) 01:47:33
要するに、Pythonのタプルは不変リストだよ。
それでいいんじゃないか?
構造体としてだけ扱うというのも、個人の自由だからそれもいいけど。

64 :デフォルトの名無しさん:2006/08/12(土) 02:11:16
Nokia S60でpython scriptを動かすには、どうすればいいですか?

65 :デフォルトの名無しさん:2006/08/12(土) 04:08:00
pythonチャレンジやってたらいきなり繋がらなくなった・・・鯖落ちか・・・?

66 :デフォルトの名無しさん:2006/08/12(土) 06:11:46
つーか、タプルとかリストをキーにする意味って何?
その技法にまったく必要性を感じない。
59の例は別にそれでかまわないと思う。
59の例が問題だと感じる奴の方がおかしい

67 :デフォルトの名無しさん:2006/08/12(土) 06:15:24
問題になる場面は容易に想像つくけどな。

68 :デフォルトの名無しさん:2006/08/12(土) 08:01:18
むしろ辞書のキーをstr以外のシーケンス型にしてる時点で「ぱっと見て下手なコード」

69 :デフォルトの名無しさん:2006/08/12(土) 08:06:55
>>66
例えば科学技術計算では解きたい連立一次方程式の係数行列が
大規模(100万元とか)かつ疎な(要素の大半が0)行列になることがしばしばある。
しかも非零要素が現れる位置が不規則で、反復毎に非零要素数が変わったりする。
こういう問題の係数行列を作る場合、行列を辞書で表すと具合がいい。
i行j列に要素 v を追加するには A[(i, j)] = v というようにタプルをキーにするわけだ。
値を次々に足し込むには A[(i, j)] = A.get((i, j), 0.0) + v のように書けばいい。
辞書は要素の追加と参照が効率的なので疎行列を表すのにうってつけのデータ構造だと言える。
ちなみに次数が大きいので
A = [[0.0 for j in range(1000000)] for i in range(1000000)]
みたいな二次元配列は事実上使えない(理由は試すまでもなく分かるよねw)
一次元のリストだと要素の追加と参照が非効率的なのでNG。
要素を追加し終わったら線形ソルバに投げるためのデータ構造に変換するわけだけど
リストだと行や列でソートする必要が生じる。
結論:辞書+タプルたん最高。

70 :デフォルトの名無しさん:2006/08/12(土) 08:15:41
>>59
>>9

71 :デフォルトの名無しさん:2006/08/12(土) 08:26:47
>>66
69のような用途じゃなくても、2次元配列と同じ感覚で、複合キーをつかった辞書というのはよく使うけどな。
複合キーをjoin()で結合させて単一キーにしてもいいけど、複合キーがそのまま使えるならそれにこしたことはない。

72 :デフォルトの名無しさん:2006/08/12(土) 09:20:38
>>64
http://www.forum.nokia.com/info/sw.nokia.com/id/ee447e84-2851-471a-8387-3434345f2eb0/Python_for_S60.html
このサイトに行って、中央の「Download now」をクリック。
PythonForSeries60_for_2ndEd_SIS.zip を取得。
展開して Getting_Started_with_Python.pdf を読む。
あとは知らん。


73 :デフォルトの名無しさん:2006/08/12(土) 09:40:32
実はこのスレでも、タプルのありがたみを実感していない人がけっこういたと
いうことで良いだろうか。


74 :デフォルトの名無しさん:2006/08/12(土) 09:50:27
>>69
なるほどねぇ・・・
しかし、大規模かつ疎で非零要素が現れる位置が不規則な行列
計算をしなきゃならん状況は一般人は出会わないだろうね。
しかもその場合でも、絶対なきゃいけないわけじゃなくて、
あると多少効率がよく、多少気分がいい程度だし・・・
まあ、でもそんな状況にまで配慮してる(のか?)Guidoタンはなかなかやるね・・

75 :デフォルトの名無しさん:2006/08/12(土) 09:52:08
いや、>>71のほうが良くあるパターンだろ

76 :デフォルトの名無しさん:2006/08/12(土) 09:57:45
そういう場合は、自分でクラスと定義するか
Numerical Pythonに定義してあるクラスをつかえばいいんでない。。


77 :デフォルトの名無しさん:2006/08/12(土) 10:02:29
何で最も簡単でシンプルな方法を否定するんだよ

78 :デフォルトの名無しさん:2006/08/12(土) 10:45:55
ちょっと見ない間にスレが繁盛してるな。

>>11
お勉強wikiに空白変換用のフォームができてたよ。
いまさらかな…。

79 :デフォルトの名無しさん:2006/08/12(土) 10:50:38
>>26のLv.3の最後の段落、やっぱり必要なんじゃない?
タプルが辞書の複合キーとして使えることに気づいてない人、けっこういるみたいだ。
これに慣れたら、無しではやっていけないくらい便利なんだが。

ちなみに新顔のfrozensetをキーに使うのも、ものすごく便利。
使えるのは2.4以降だが。
http://www.python.jp/doc/release/lib/types-set.html

2.3だと、sets.ImmutableSetが使える。
http://www.python.jp/doc/release/lib/module-sets.html

80 :デフォルトの名無しさん:2006/08/12(土) 10:54:32
>>74
そんなことないよ
オマエの経験が浅いだけ

81 :デフォルトの名無しさん:2006/08/12(土) 11:24:25
>>79
タプルを辞書のキーにするというのはよくやるけど
frozensetは知らなかった。サンキュ

82 :デフォルトの名無しさん:2006/08/12(土) 12:46:55
>>80
また出たな、否定だけして、内容を何も言わないヤシ
しかもどこを否定してるのかも不明

83 :デフォルトの名無しさん:2006/08/12(土) 12:58:57
複数要素をキーにした辞書なんて普通に使うだろ
言い方はともかく>>80の論旨は正しい

84 :デフォルトの名無しさん:2006/08/12(土) 12:59:34
またRuby厨か!
おまえがタプルを理解できないのは仕方ないよ
自分には無理なんだとあきらめて
さっさと宿題しなさい!

85 :デフォルトの名無しさん:2006/08/12(土) 13:26:55
今流行の仮想的有能感か

86 :デフォルトの名無しさん:2006/08/12(土) 13:28:00
なんで突然Rubyが出てきたの?

87 :デフォルトの名無しさん:2006/08/12(土) 13:29:34
俺には>>84が、PythonistaでもRubyistでもない、ただの荒らしにしか
見えない。まともなPythonisaならRubyに過剰反応したりしない。
火をつけてそれを拡大したい人なのだろう。お引き取り願いたい。


88 :デフォルトの名無しさん:2006/08/12(土) 13:36:58
>>87
そこまでわかってるならスルーしろよw

89 :デフォルトの名無しさん:2006/08/12(土) 13:40:28
煽る人
スルーできない人
両方退場で。

90 :デフォルトの名無しさん:2006/08/12(土) 13:44:55
そして誰もいなくなった

91 :デフォルトの名無しさん:2006/08/12(土) 13:47:11
実は3人くらいしかない予感。

92 :デフォルトの名無しさん:2006/08/12(土) 13:51:18
>>86
50 -> 55
ルバーってのはRubyユーザってことじゃない?つか、

>というのはあたってます。
>(略)。どうなることやら

って口調、Ruby開発者の口調にそっくり。まさか本人?

93 :デフォルトの名無しさん:2006/08/12(土) 14:05:32
ばれましたか

94 :デフォルトの名無しさん:2006/08/12(土) 14:05:58
>>92
……。
…ちょっと参考のために教えていただきたいんだけど、あなたの
Pythonプログラマレベルはいくつ?
あと、タプルについて少し語ってくださらない?

いやね、疑ったりするわけじゃないけど、最近は物騒でしょ?Pythonと
ぜんぜん関係ない人が迷惑なことしたりすることもあったりするそうだから、
念のためにね。

95 :デフォルトの名無しさん:2006/08/12(土) 14:08:58
物騒だとおもっている人は
こんなIDも表示されないような所にきちゃだめ。

96 :デフォルトの名無しさん:2006/08/12(土) 14:25:26

       タップル!! タップル!!
    タップル!! タップル!! タップル!!
  タップル!! ∩   ∩ ノ)   タップル!!
 タップル!!  川 ∩ 川彡'三つ  タップル!!
タップル!! ⊂ミ∩、⊂ミ∩彡⊃    タップル!!
タップル!!⊂三ミ( ゚∀゚)彡三彡三⊃ タップル!!
タップル!! ⊂彡川⊂彡川ミ⊃    タップル!!
タップル!!⊂彡川∪⊃ U川彡⊃   タップル!!
 タップル!! (ノ ∪  川 ∪ミ)  タップル!!
  タップル!!      ∪     タップル!!
    タップル!! タップル!! タップル!!
        タップル!! タップル!!
            タップル!!


97 :デフォルトの名無しさん:2006/08/12(土) 14:51:21
結論
「タップル!」と唱えて「ギクッ!」としたら
そいつはRuby厨ということでいいてつか?

98 :デフォルトの名無しさん:2006/08/12(土) 15:33:01
74ですが、
よく考えたけど、タプルキーのdictは全然Py然としていない。
>>69の例なんかは既に相当込み入った事をしようとしてるので、
それ用のクラスを立てて、その中で処理すべき。
dictのマニアックな使い方で処理すべき状況ではない。
>>71のような気軽な使い方は、arrayのレンジ外に代入しようとしたら
エラーが起こるというpythonの特徴に、180度逆行する行為。
便利な用法と言うよりは、むしろタプルの悪用。
連想配列っていうのがそもそも、文字列で値呼び出せたら便利だね
っていう所から始まってる(awkを見よ)ので、それ以上の事をする
のはそれなりの理由が無いかぎり、可読性が下がる。つまりpythonicでない。
結論:辞書のキーにタプル使うぐらいなら、分かりやすいクラスを作るのがpythonic

99 :デフォルトの名無しさん:2006/08/12(土) 15:37:56
それは連想配列とリストの制約の方ばっかりを見て、自分の望む結論へ誘導しているようにしか見えない。

100 :デフォルトの名無しさん:2006/08/12(土) 15:40:36
データベースで複合のプライマリーキーを持つ
テーブルを操作するとき便利だよ。

101 :デフォルトの名無しさん:2006/08/12(土) 15:41:22
http://hkn.eecs.berkeley.edu/~dyoo/python/suffix_trees/

102 :デフォルトの名無しさん:2006/08/12(土) 15:41:24
最近のRuby厨はPythonicなんて言葉を知ってるのか。

103 :デフォルトの名無しさん:2006/08/12(土) 15:43:53
>連想配列っていうのがそもそも、文字列で値呼び出せたら便利だね
>っていう所から始まってる(awkを見よ)ので、それ以上の事をする
>のはそれなりの理由が無いかぎり、可読性が下がる。つまりpythonicでない。

この辺がかなり身勝手。

104 :デフォルトの名無しさん:2006/08/12(土) 15:47:07
連想配列のキーは文字列が起源ニダ

105 :デフォルトの名無しさん:2006/08/12(土) 15:47:56
>>98
そんなにきちんきちん作り込むならJavaでも使ったほうがマシ
ある程度ad-hocに作れるのがライトウェイト言語の利点だ
それに連想配列は文字列から始まったわけではない
結論とか偉そうに書いている割に知識が生半可すぎるよ

106 :デフォルトの名無しさん:2006/08/12(土) 15:48:36
まあ、Pythonを使っているだけで
プログラミングが上達するわけじゃないし
Pythonでも可読性が良い、悪いは生まれるわけだし。
Python的じゃない!とまでは言いすぎでは。
「まあ、そういう使いかたする人もいるよね。」
くらいに思っておけばいいんじゃないか。。
ま、そんなことは、どうでもいいんだが
>>98 のメールアドレスをみて好感度アップ


107 :デフォルトの名無しさん:2006/08/12(土) 15:49:59


108 :デフォルトの名無しさん:2006/08/12(土) 15:50:14
>>98
>>> d = {}
>>> d.get((1,2), 'Spam')
'Spam'
>>> d[1,2] = 'Spam'
>>> d.setdefault((1, 2) ,'Egg')
'Spam'
>>> d.setdefault((1, 3) ,'Egg')
'Egg'


109 :デフォルトの名無しさん:2006/08/12(土) 15:51:12
>>98
Pythonらしいとかはお前が決めることじゃねーよ。

>>>71のような気軽な使い方は、arrayのレンジ外に代入しようとしたら
>エラーが起こるというpythonの特徴に、180度逆行する行為。

180逆行すると本当に開発者が思ったのなら、
ディクショナリに文字列以外のキー入れたらエラーが起こるようにするだろ。

結論:タプルが理解出来ない、したくない馬鹿が、
自分の論理をムリヤリ通すためにPythonicという言葉を持ち出す奴はPythonicでは無い。

110 :デフォルトの名無しさん:2006/08/12(土) 15:51:55
せいぜいPanasonicだな。

111 :デフォルトの名無しさん:2006/08/12(土) 15:54:37
夏休みなんだから

みんな外で遊べよ

112 :デフォルトの名無しさん:2006/08/12(土) 15:59:34
なかよくしようぜ。
>>> d={}
>>> d[1,2]=2
>>> d[(1,1)]=1
>>> print d
{(1, 1): 1, (1, 2): 2}


113 :デフォルトの名無しさん:2006/08/12(土) 16:00:59
>>110
あっかっるーいなっしょなーる♪

114 :デフォルトの名無しさん:2006/08/12(土) 16:20:52
少し旧いところにツッコむと
>57
>・リストには型の同じ要素だけを納めるようにする

これはあり得ないだろ。
何かのエラー防止にそういう型が欲しいという要望はあり得なくはないが
"ナンデモリスト" の便利さはこのスレの人間なら誰もが
感じたことあるだろ。

115 :デフォルトの名無しさん:2006/08/12(土) 16:27:47
ここまでのあらすじ:

最初は全く活用例を思いつかず、「一体何に使うのか」と書き込んだら、
思いもよらぬ活用例が出てきて、つい、「そんなのは普通クラスにする」と
言ってしまったがために、いつまでも自己正当化している人がいるスレ。

116 :デフォルトの名無しさん:2006/08/12(土) 16:28:00
ヒント
便利さ > 美しさ


117 :デフォルトの名無しさん:2006/08/12(土) 16:29:12
タプルの使い道を考えてみた

userinfo_list[(username,password)] = "敗北者"

……

user = (username, password)
if user in userinfo_list:
    print "ようこそ"+userinfo_list[user]
else:
    print "かえれ"


118 :デフォルトの名無しさん:2006/08/12(土) 16:37:14
>>94
> …ちょっと参考のために教えていただきたいんだけど、あなたの
> Pythonプログラマレベルはいくつ?

お前のレベルはいくつなんだ?と聞いたら、自慢話が止まらなそうな奴だな。

119 :デフォルトの名無しさん:2006/08/12(土) 16:43:26
基本オブジェクトの組み合わせでたいていのデータ構造をこしらえてしまうのは
とてもPythonicだと思います。「初めてのPython」の始めの方にも、そう書いて
ありますね。

>>69 のやり方は、下のページにも書いてありました。
「1時間で覚える?Python」
http://kanaya.naist.jp/Zope/member/nishio/japanese/memo/LearnPythonInAnHour/
(リストは変更可能(mutable)なのでキーに出来ません。タプルの存在意義は
ここにあります。) タプルをキーにするだけで、疎な行列のメモリ節約なんか
も簡単に出来てしまいます。

だけど、他の言語ではあまり見ない使い方だから、わかりにくいと感じる人が
いるかもしれませんね。

120 :デフォルトの名無しさん:2006/08/12(土) 16:52:44
frozensetとかしらなくて

x = frozenset(['a', 'b', 'c'])
y = frozenset(['a', 'c', 'd'])
print x & y
print x | y
print x ^ y

とやってみて便利〜♪と思ったけどここで疑問が。
タプルもリストもいらないw
知らない間にlistがfrozensetに置き換わっていそうな予感。

121 :デフォルトの名無しさん:2006/08/12(土) 16:54:13
「XXXにも、そう書いてありますね」で納得するようなやつは
RubyでRailに乗ってればいい。

122 :デフォルトの名無しさん:2006/08/12(土) 17:06:22
>>121
このスレで最も意味不明なレス

123 :デフォルトの名無しさん:2006/08/12(土) 17:10:08
>>98はawk->Perl->Pythonという変遷をたどってきた。間違いない。

124 :デフォルトの名無しさん:2006/08/12(土) 17:11:03
Pythonicとかいう言葉を使うなら
どういうものがPythonicなのか
合意が取れてからにしような

125 :120:2006/08/12(土) 17:15:27
あーやっぱりlistはいるかも。
マニュアルの表しか見てなかったからてっきりadd()があるのかとおもた。

126 :デフォルトの名無しさん:2006/08/12(土) 17:15:27
>>123
なんでも文字列派だよなw
こういう奴にWeb作らせるとSQL Injectionとか簡単にされちゃいそうだ

127 :デフォルトの名無しさん:2006/08/12(土) 17:15:36
>122
同意。けど、ちょっと流行しそうなフレーズ。

128 :デフォルトの名無しさん:2006/08/12(土) 17:16:34
>>125
addできたらfrozenじゃねーしw

129 :デフォルトの名無しさん:2006/08/12(土) 17:22:18
会話が理解できない俺レベル-∞

130 :デフォルトの名無しさん:2006/08/12(土) 17:33:38
69です。むし返すようで恐縮だけど>>76さんと>>98さんに質問。
>>76
> そういう場合は、自分でクラスと定義するか
> Numerical Pythonに定義してあるクラスをつかえばいいんでない。。
>>98
> >>69の例なんかは既に相当込み入った事をしようとしてるので、
> それ用のクラスを立てて、その中で処理すべき。
> dictのマニアックな使い方で処理すべき状況ではない。

辞書以外のPythonの基本データ型で、整数値の組 (i, j) と実数値 v を
関連付けて保存・参照する効率のいい方法があったら教えて。

俺の知る限り、辞書以外に無い。
つまり、定義したクラスの中でやっぱり辞書を使うことになると思うんだよね。
辞書にまさる方法がなければ「クラスを定義」云々はナンセンス。

131 :デフォルトの名無しさん:2006/08/12(土) 17:36:00
>>130 2次元配列

132 :デフォルトの名無しさん:2006/08/12(土) 17:39:17
>>131
少しは脳を使ってからレスしろ

133 :デフォルトの名無しさん:2006/08/12(土) 17:44:38
131みたいのは、Pythonにはスタティックな配列がない
という事実が認識できていないのでは?

134 :デフォルトの名無しさん:2006/08/12(土) 17:51:41
>>130
"貴方の場合は"辞書で間に合ってるのなら
"貴方の場合は"それでいいんじゃない?

こんなのもあるけどね。
http://ymasuda.jp/python/numarray/index.html

135 :デフォルトの名無しさん:2006/08/12(土) 17:57:54
タプルの存在価値がいまいちわからなかったけど
書き換え不可=ハッシュ化可能=辞書のキーに利用可能
てことか〜♪
ここでまたまた疑問が。
なぜfrozendictがないのか。
中の人はもっとよく考えてから実装しるw

136 :デフォルトの名無しさん:2006/08/12(土) 17:58:24
>>134
"質問に答えた貴方"は>>76>>98なのか?

137 :デフォルトの名無しさん:2006/08/12(土) 18:10:21
>>120=125=135
お前はもうちょっと考えてからレスしろ。
お前の言ってることは全体的に意味不明なんだよ。


>タプルもリストもいらないw
>知らない間にlistがfrozensetに置き換わっていそうな予感。

>あーやっぱりlistはいるかも。
>マニュアルの表しか見てなかったからてっきりadd()があるのかとおもた。

add()があってもlistをfrozensetに置き換えられる場面なんかすくねーよ

138 :デフォルトの名無しさん:2006/08/12(土) 18:15:28
>>137
120,125については同意
135に書かれたfrozoendictに相当するものはあっても良い気がする。
何に使うのかと言われてすぐに思い付かないが。

139 :デフォルトの名無しさん:2006/08/12(土) 18:15:45
PythonWay

1. Beautiful is better than ugly.
2. Explicit is better than implicit.
3. Simple is better than complex.
4. Complex is better than complicated.
5. Flat is better than nested.
6. Sparse is better than dense.
7. Readability counts.
8. Special cases aren’t special enough to break the rules.
9. Although practicality beats purity.
10. Errors should never pass silently.
11. Unless explicitly silenced.
12. In the face of ambiguity, refuse the temptation to guess.
13. There should be one? and preferably only one ?obvious way to do it.
14. Although that way may not be obvious at first unless you’re Dutch.
15. Now is better than never.
16. Although never is often better than *right* now.
17. If the implementation is hard to explain, it’s a bad idea.
18. If the implementation is easy to explain, it may be a good idea.
19. Namespaces are one honking great idea ? let’s do more of those!



140 :デフォルトの名無しさん:2006/08/12(土) 18:17:45

自分には価値のないものが他人にとってもそうであるとは限らない。

                           ――デフォルトの名無しさん

141 :デフォルトの名無しさん:2006/08/12(土) 18:19:06
同じような議論。

http://www.codecomments.com/archive278-2006-1-762930.html


142 :デフォルトの名無しさん:2006/08/12(土) 18:20:54
69ですが・・・

> 6. Sparse is better than dense.

ワロタガナ

143 :デフォルトの名無しさん:2006/08/12(土) 18:27:22
PEP351

144 :デフォルトの名無しさん:2006/08/12(土) 18:34:48
良スレの予感


145 :デフォルトの名無しさん:2006/08/12(土) 21:10:23
更なる疑問が湧いてきて試してみたら辞書のキーって結構何でも使えるんですね。
なんとなく使っちゃいけない黒魔術っぽい雰囲気なので普段は使いませんがw
class MyClass:
 def read(self):
  return 'OK'
d = {MyClass(): None, file(__file__): None}
for k in d:
 d[k] = k.read()
print d

146 :デフォルトの名無しさん:2006/08/12(土) 21:24:03
けっきょく、アドレスをキーにしてんのかな。


147 :デフォルトの名無しさん:2006/08/12(土) 22:04:44
__eq__ で判定してんだろ。

148 :デフォルトの名無しさん:2006/08/12(土) 22:04:57
__hash__() なのだが……


149 :デフォルトの名無しさん:2006/08/12(土) 22:11:04
構造文書操作のお奨めモジュールあるかな?

150 :デフォルトの名無しさん:2006/08/12(土) 22:12:27
__hash__と__eq__両方使われるに決まってんだろ

151 :デフォルトの名無しさん:2006/08/12(土) 22:13:37
ハッシュテーブルというものが
どういう仕組みのものなのか理解していない人たちが
集まるスレはここですか?

152 :デフォルトの名無しさん:2006/08/12(土) 22:25:04
>>145
クラスの場合は
結局のところインスタンスのアドレスがキーになってるね。


153 :デフォルトの名無しさん:2006/08/12(土) 22:27:52
ReSTならdocutils
XMLならElementTree
XDRならxdrlib

154 :デフォルトの名無しさん:2006/08/12(土) 22:45:45
>>145
辞書のキーにするクラスは>>150の言うように注意して作らなきゃいけない
不変性についても自分で考慮する必要がある
そういう手間を省いてくれるタプルはやっぱし便利ってことだ

155 :デフォルトの名無しさん:2006/08/12(土) 22:49:10
tupleの__hash__()はアドレスじゃなくて中身のハッシュ値(の合計?)を返すってことでいいのかな

156 :デフォルトの名無しさん:2006/08/12(土) 22:52:37
どんなもんでも、__hash__ __cmp__ がうごけば
dictに突っ込めるなんて、便利だな。

157 :デフォルトの名無しさん:2006/08/12(土) 22:54:45
>>155
そうなってるはず

158 :デフォルトの名無しさん:2006/08/12(土) 22:56:18
a=(1,2,3)
a.__hash__()
-821448277



159 :デフォルトの名無しさん:2006/08/12(土) 23:27:28
>>153
thx
ざっと見た感じ docutils の方は ReST 以外もいろいろ扱えて、
汎用性に優れているようなのでこっちでいかせて貰うよ



……でかいモジュールは読むのがつらいorz


160 :デフォルトの名無しさん:2006/08/12(土) 23:36:06
何か激しく勘違いされた気がする。

161 :デフォルトの名無しさん:2006/08/13(日) 00:28:17
>133
どゆこと?
array とはまた別の話?

162 :デフォルトの名無しさん:2006/08/13(日) 01:00:05
クラスの定義とかを分割して記述することって出来る?

オリジナルのソースに手を加えないようにして、既存のクラスに
メソッド追加したいんですけど。

163 :デフォルトの名無しさん:2006/08/13(日) 01:05:19
メソッドの追加なら継承すればいいだけの話では。


164 :162:2006/08/13(日) 01:30:53
>>163
ありがとう。
継承かぁ。でも、大方の場合だとそれで十分そうだね。

listやstringとかの組み込みの型にメソッドの追加を考えてたんだけど、
listってクラスじゃないようだし無理かな。stringもなのかな。
出来たとしても、組み込み型のいくつかはリテラル表現があるから
継承するだけだとちょっと不便になりそうな気もする。

165 :デフォルトの名無しさん:2006/08/13(日) 02:04:04
何がしたいのか知らんけど試しに継承してみりゃ分かるんじゃね?

166 :デフォルトの名無しさん:2006/08/13(日) 02:24:56
コレクションにどんなメソッド追加するつもりなんだろうな。
なんか無駄なことやってそう。

167 :デフォルトの名無しさん:2006/08/13(日) 02:30:23
わかった、joinだな!
ガンバレ。

168 :デフォルトの名無しさん:2006/08/13(日) 02:55:00
>>167
ww

169 :デフォルトの名無しさん:2006/08/13(日) 05:20:01
この板は何で ID が出ないのだろう…

170 :デフォルトの名無しさん:2006/08/13(日) 06:31:34
objective-cのカテゴリみたいな機能が欲しいのだろうか。

171 :デフォルトの名無しさん:2006/08/13(日) 12:45:31
162みたいに、基本がまったくできていないくせに
やたら小手先の技ばかり追いかける奴が職場にいます。
本質と関係ないところに時間をかけて予定を遅らしたり、
却ってコードを読みにくくしてばかりで、まわりが大変迷惑しています。
こういう奴にはどう対応したら良いでしょう?

172 :デフォルトの名無しさん:2006/08/13(日) 14:21:39
発狂するまでデバッグ要員にしておくとよいよ

173 :デフォルトの名無しさん:2006/08/13(日) 14:25:59
マ板に行くといいよ
http://pc8.2ch.net/prog/



174 :デフォルトの名無しさん:2006/08/13(日) 21:04:41
出力を端末以外にリダイレクトしていると、
Unicode文字列をprintで出力できないようなのですが、
出力をファイルに保存する方法はあるのでしょうか?
ご教授ください。

$ cat test.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-

if __name__ == '__main__':
print u'日本語'

$ ./test.py > test
Traceback (most recent call last):
File "./test.py", line 5, in ?
print u'日本語'
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)


175 :デフォルトの名無しさん:2006/08/13(日) 21:12:48
>>162
RubyやObjective-Cみたいなふうにはできないみたいだけど、こんなのはどう?前スレから。
class Foo:
def f1(self):
print "** f1()"

def f2(self):
print "** f2()"

foo = Foo()
foo.__class__.f2 = f2
foo.f2()


171みたいなカスはほっといて。

176 :デフォルトの名無しさん:2006/08/13(日) 21:30:55
>>174
site.py:
def setencoding():
    encoding = "ascii" # "euc-jp" or "utf-8" or "shift_jis"
好きな物に書き換えろ


177 :デフォルトの名無しさん:2006/08/13(日) 21:35:07
>>174
ttp://osksn2.hep.sci.osaka-u.ac.jp/~taku/osx/python/encoding.html

codecs.getwriter を使ってみれば?

178 :174:2006/08/13(日) 21:49:14
>>176, >>177 レスありがとうございます。

177さんの方法でうまくいきました。

$ cat test.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys, codecs

if __name__ == '__main__':
sys.stdout = codecs.getwriter('utf_8')(sys.stdout)
print u'日本語'


179 :デフォルトの名無しさん:2006/08/14(月) 01:42:39
>>175
こういうまともなレスを見ると、ほっとさせられるな。

そのやり方で拡張できるのは、ユーザ定義クラスだけなんだよ。
文字列のようなビルトインクラスは、拡張できない。

>>> "hogehoge".__class__.f2 = f2
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: can't set attributes of built-in/extension type 'str'

それはまさに、>>164の言うとおり、str や list は、もともとは単なる型で
あって、クラスではなかったからだろう。
2.2以降でビルトインクラスとなったのだが、ユーザ定義クラスとの非互換性が
残っているようで、これもそのひとつだ。まあ過渡的なものだろう。何か別の
やり方でなら出来るのかもしれないが、俺にはわからない。

他の言語にはビルトインクラスも動的に拡張できるものが多い。Ajaxライブラリの
prototype.jsが有名で、リテラル表現もちゃんと拡張される。

"hogehoge".f2()
が実行できるという、継承では絶対に実現できない世界だ。
Pythonもおそらくそうなるだろう。

ちなみに、ユーザ定義クラスだったら、インスタンスの__class__にあたるより、
クラスに直接こう書いたほうが早い。
Foo.f2 = f2


180 :デフォルトの名無しさん:2006/08/14(月) 01:44:25
それにしても171とその周辺は、恥ずかしい奴らだ。
この種の動的なクラスの拡張は、メタクラス・プログラミングと呼ばれる技法の
ひとつで、Pythonの世界では10年も前から知られている。
http://yimado.s-lines.net/doc/why_python.html

かつてはそれこそ奥義だったが、Ruby on Rails やAjaxのおかげで、いまや一般
プログラマにも知れ渡った技法だ。171はいったいどこの山奥で暮らしているのか。

知らないならば、黙っていればいいのに。


181 :デフォルトの名無しさん:2006/08/14(月) 01:48:53
ビルトインクラスの改変はソースの可読性と安全性に致命的なダメージを与えるので
基本的には反対する。糞言語の真似をする必要はない。

182 :デフォルトの名無しさん:2006/08/14(月) 01:55:33
>>181
その理屈ならユーザ定義クラスの動的改変も同様に禁止されるべきだな。
他の言語を条件反射で糞言語呼ばわりする貴様は糞プログラマ。

183 :デフォルトの名無しさん:2006/08/14(月) 01:57:57
>>180
俺には、お前の方が恥ずかしい奴に見えるがな。

184 :デフォルトの名無しさん:2006/08/14(月) 01:59:30
>>183
171乙。

185 :デフォルトの名無しさん:2006/08/14(月) 02:03:48
Javascriptの方がよっぽどスマートだな

186 :デフォルトの名無しさん:2006/08/14(月) 02:08:06
>>185
だったらJavaScriptを使えばいいのにww

187 :デフォルトの名無しさん:2006/08/14(月) 02:08:44
>>185
まあそう言うな。言語にどれも一長一短だ。JavaScriptにも悪い点は
いくらでもある。
それにな、このスレではRubyがPythonのパクリとよく言われるが、
実際にはJavaScriptのほうがよっぽどたくさんPythonからパクってるんだよ。

188 :デフォルトの名無しさん:2006/08/14(月) 02:09:11
>>182
条件反射乙

189 :!= 185:2006/08/14(月) 02:09:41
JavaScript のライブラリが Python 並に揃ってたら乗り換えるかもと思うときはある

190 :デフォルトの名無しさん:2006/08/14(月) 02:09:55
>>187
何が何をパクってようと興味はないし、それが何か問題があるとも思わない
基本的には一番マシな言語を使いたいだけだよ

191 :デフォルトの名無しさん:2006/08/14(月) 02:11:18
>>189
それは全く思わないな
Pythonがブラウザで動いたらと思うことはある

192 :デフォルトの名無しさん:2006/08/14(月) 02:13:16
>>182
新スタイルクラスならある程度の保護はできるんじゃないかな
基本的にはちゃんと保護できるほうがPython的だと思うよ

193 :デフォルトの名無しさん:2006/08/14(月) 02:14:15
>>190
すばらしい!心の底から同意だ。

>>191
JavaScriptの1.7にはジェネレータが取り入れられたよ。
http://d.hatena.ne.jp/amachang/20060805
yieldを見て嬉しくなるのは俺だけではあるまい。

194 :デフォルトの名無しさん:2006/08/14(月) 02:19:08
>>192
それについては基本的に同意だ。俺も__slots__はありがたく思っている。
しかしメタプログラミングは、濫用すれば危険だが、適切な場面に限定して
使えば猛烈に便利なものだ。知っておく価値はある。


195 :デフォルトの名無しさん:2006/08/14(月) 02:30:30
>>193
JavaScriptはだんだん良くなるね。互換性がぐちゃぐちゃになってしまった(?)
のが逆に幸いして大胆な提案がしやすいのかもね。w

196 :デフォルトの名無しさん:2006/08/14(月) 02:37:41
基本的にはビルトインも含めてどんなクラスも動的に拡張可能にして、
それを明確に禁止したいときは、あとから__slots__で禁止できるように
すればいいんジャマイカ?

>>195
同意。

197 :デフォルトの名無しさん:2006/08/14(月) 02:38:02
>>191
ttp://firefox.geckodev.org/index.php?Python
ttp://weblogs.mozillazine.org/roadmap/archives/008865.html

198 :デフォルトの名無しさん:2006/08/14(月) 08:34:28
>>181
>ビルトインクラスの改変はソースの可読性と安全性に致命的なダメージを与えるので
>基本的には反対する。糞言語の真似をする必要はない。
改変とやらが「変更」を指しているのか「追加」を指しているのかわからんが、
メソッドの追加はできてほしいなあ。これができるとオブジェクト指向的にはすごくやりやすい。
逆に、既存クラスのメソッドの変更はできなくてもいいや。わかってて上書きするならいいけど、
たいがいはそんなメソッドがあるのをしらずに上書きしてしまって、見つかりにくいバグに
なるだけだから。

>>180
>知らないならば、黙っていればいいのに。
ちょー同意。なんでこういうやつって出しゃばるのかね。
職場にいるんだよ、自分が知らないことを聞かれると、質問したやつを攻撃するバカ先輩。
知らないなら知らないって言えばいいのに、それを言うことをプライドが許さないのかなー。
まじでまわりが大変迷惑しています。
こういうやつにはどう対処したらいいでしょう?

199 :デフォルトの名無しさん:2006/08/14(月) 09:13:20
でも>>162が言ってる内容はクラスの承継がわかりませんってことだろ?
>>171が出てきて当然だと思う。

200 :デフォルトの名無しさん:2006/08/14(月) 09:50:31
>>198
こんなところで愚痴をたれてないで、直接その先輩に言え

201 :デフォルトの名無しさん:2006/08/14(月) 10:16:21
>>171
そういう勇み足は誰しも通るもの。
うまく吸収してやるのが熟練者のつとめでせうが。
向上心の無いバカよりよほどいい。


202 :デフォルトの名無しさん:2006/08/14(月) 10:32:29
なんかおかしな流れになってるが、誰しも自分の知識内でしか物を言えない。
「知らない奴は物を言うな」と言ってる人間は、自分より知識がある人間の存在を
考えたことは無いのだろうか?

それからいちいち罵倒せずには発言できない奴、ウザいぞ。
罵倒抜きで発言してくれ。

203 :デフォルトの名無しさん:2006/08/14(月) 10:46:05
それからいちいち罵倒せずには発言できない奴、「ウザいぞ。」
罵倒抜きで発言してくれ。

ウザイぞ、は罵倒に入らないそうです。


204 :デフォルトの名無しさん:2006/08/14(月) 10:46:45
>>202
ウザイぞ

205 :デフォルトの名無しさん:2006/08/14(月) 10:53:33
それからいちいち罵倒に反応して、さらに場を荒らす奴、「ウザいぞ。」
罵倒抜きで発言してくれ。

ウザイぞ、も罵倒に入ると思うが俺は偉いので許される。

206 :デフォルトの名無しさん:2006/08/14(月) 10:56:06
いちいち反応するな。

ウザいぞ。

207 :デフォルトの名無しさん:2006/08/14(月) 10:57:30
>>202-206
死ね

208 :デフォルトの名無しさん:2006/08/14(月) 10:57:38
Uzaython

209 :デフォルトの名無しさん:2006/08/14(月) 11:03:19
そういう議論はマ版へどうぞ

210 :デフォルトの名無しさん:2006/08/14(月) 11:07:04
>>202は腕の良い釣り師。

つか、この時間、こんなに馬鹿が巡回してるとはw

211 :デフォルトの名無しさん:2006/08/14(月) 11:11:23
お前ら釣られすぎw

212 :デフォルトの名無しさん:2006/08/14(月) 11:13:27
もう、みんなで>>171を埋めて終わりにしないか?

213 :デフォルトの名無しさん:2006/08/14(月) 11:17:12
余程>>171にカチンと来たんだなw
何がそんなに引っかかるんだ?読み流せよw

214 :デフォルトの名無しさん:2006/08/14(月) 11:36:40
Python使いには、お子様が多いようですね。

215 :デフォルトの名無しさん:2006/08/14(月) 11:39:08
>>210-211
いつもの後釣り宣言乙。後釣り宣言は厨の証明ってのは本当ですな。


216 :デフォルトの名無しさん:2006/08/14(月) 12:13:47
さて。
Pythonの話をどうぞ。

217 :デフォルトの名無しさん:2006/08/14(月) 12:43:47
夏休み警報発令中

* * * 今は、夏休みです。 * * *


218 :デフォルトの名無しさん:2006/08/14(月) 13:54:06
外部からメソッドを追加したり変更したりできるとなにが便利なの?

219 :デフォルトの名無しさん:2006/08/14(月) 14:01:39
>>218
- 動的に追加したいとき
- 何かの理由で継承を使いたくない、または使えないとき

220 :デフォルトの名無しさん:2006/08/14(月) 14:09:20
サルには聞いてません

221 :デフォルトの名無しさん:2006/08/14(月) 14:16:55
>>218
Pythonでは不要。
必要なものだったらGuidoパパがとっくの昔に採用しているはず。

222 :デフォルトの名無しさん:2006/08/14(月) 14:45:40
>>221
>Pythonでは不要。

ニヤニヤ。

223 :デフォルトの名無しさん:2006/08/14(月) 14:46:37
>>218
ユーザ定義クラスについては、実行時に動的にクラス定義を変えたいとき。
http://www-06.ibm.com/jp/developerworks/linux/030425/j_l-pymeta.html

組み込みクラスについては、from __future__ import *** みたいなことを、
ユーザレベルで実装したいとき。
まあ今のPythonではできないんだけど。

>>221
ユーザ定義クラスだと、Pythonでもはるか昔からできるんだけどね。

224 :デフォルトの名無しさん:2006/08/14(月) 14:51:57
221 = 171

225 :デフォルトの名無しさん:2006/08/14(月) 15:00:13
http://www-06.ibm.com/jp/developerworks/linux/030425/j_l-pymeta.html
から引用
 メタクラスは、ユーザーの99%の人が考える以上に奥の深い仕掛けです。必要かどうかを思案しているようなものは、必要ないのです
(本当にそれを必要としている人は、それが必要であることを確信しており、なぜ必要なのかなど説明の必要はありません)。
-- Pythonの権威Tim Peters



226 :デフォルトの名無しさん:2006/08/14(月) 15:03:15
>>221
だから、知らないなら黙ってればよかったのに。
そうすれば恥書かずに済んだんだよ。わかる?

227 :デフォルトの名無しさん:2006/08/14(月) 15:06:20
メタクラスはよく理解して使わないとメタメタになります。

228 :デフォルトの名無しさん:2006/08/14(月) 15:18:01
>>225
そりゃ、ちょっと大げさだよ。確かに昔は、メタクラスは神秘の奥義だった。
だけど今では、そこまで警戒すべきものじゃない。試してみるぐらいは、誰でも
していいと思うよ。

>>226
まあ、その辺にしといてよ。>>221は普通の言い方をしている。
人を叩いていない相手を叩くのは、あんまり趣味じゃない。

229 :デフォルトの名無しさん:2006/08/14(月) 16:38:46
Pythonは手段であって、目的ではないはず。


230 :デフォルトの名無しさん:2006/08/14(月) 16:58:07
>>229


231 :デフォルトの名無しさん:2006/08/14(月) 17:01:53
>>229
そりゃ、確かにそのとおりだよ。
だけど、手段を知って理解してからでないと、目的に適うかどうかは
わからないんだよ。

232 :デフォルトの名無しさん:2006/08/14(月) 17:54:52
程度問題だけど。
使う前に、究めるまで知らなければ
使えないと言うこともない。

色んなレベルのひとがいるんだから
知らない奴は喋るな見たいな事を言ってる人もいるけど。
スレタイよくみたほうがいいしそんな詳しい人は
こんなレベルの低いスレで粘着しなくてもいいんじゃないかな。

233 :デフォルトの名無しさん:2006/08/14(月) 17:55:55
議論が抽象的で噛み合っていない

234 :デフォルトの名無しさん:2006/08/14(月) 18:01:56
はいはい。

235 :デフォルトの名無しさん:2006/08/14(月) 18:16:34
ガキンチョばっか

236 :デフォルトの名無しさん:2006/08/14(月) 18:25:01
>>232
何を言っているのかよく分からんけど、
知らないこと自体はまったく問題ない。
知らない人が間違ったことを話すのも、まったく問題ない。
誰かが普通にフォローすればいいだけだ。

Pythonはもともと素人向け言語でもあるし、間違うことに目くじらを立てるの
はおかしいと俺も思う。

しかし、自分も知らないくせに、人を叩いているような奴がいたら、俺はそいつを
叩きたくなる。理由は、単に俺の趣味だ。

237 :デフォルトの名無しさん:2006/08/14(月) 18:26:25
はいはい、お前ウザイぞ

238 :デフォルトの名無しさん:2006/08/14(月) 18:29:45
>>237 ならこのスレに来るな。

239 :デフォルトの名無しさん:2006/08/14(月) 18:32:14
ウザイぞは罵倒に入らないので叩いてないよ。

俺はこのスレに来る。
理由は、単に俺の趣味だ。

趣味ならなんでも許されるルールも出来た。

240 :デフォルトの名無しさん:2006/08/14(月) 18:36:34
>>236
趣味でスレを荒らされても困るんですが。

241 :デフォルトの名無しさん:2006/08/14(月) 18:38:55
スルーできないひとは、2chでどの板でも
大変だとおもいますよ。

242 :デフォルトの名無しさん:2006/08/14(月) 18:40:17
IDでも出れば、あぼーんで消せるんだけどなあ。
しばらくは脳内スルーするか。

243 :デフォルトの名無しさん:2006/08/14(月) 18:46:01
>>239-242
君らは236の内容の想定範囲外。
あれは>>221みたいな、理性的な人間を対象にしている。

君らにはここよりもっとふさわしいスレがある。
「2ちゃんねるジェネレータ」
http://web.archive.org/web/20050210023402/http://aglaia.c.u-tokyo.ac.jp/~yamamoto/diary/my_cgi/make2ch.html

昔はリロードしたら毎回内容が変わったんだが、まあ贅沢言うな。
スクリプトほどの知能もないだろう?

244 :デフォルトの名無しさん:2006/08/14(月) 18:48:39
レベル2くらい?

245 :デフォルトの名無しさん:2006/08/14(月) 18:48:48
>>221を理性的と形容する時点で、完全な釣りと分かる恥ずかしいレスだなw

246 :デフォルトの名無しさん:2006/08/14(月) 18:51:19
>>199
>でも>>162が言ってる内容はクラスの承継がわかりませんってことだろ?
えぇっー  162で書いてるのは
>クラスの定義とかを分割して記述することって出来る?
ってだけじゃん。どこをどう読んだら継承の話になるのやら。

あ、そうか、「継承」じゃなくて「承継」か。ごめん、それはおれもわからんや。

>>171が出てきて当然だと思う。
本人乙。

>>202
>「知らない奴は物を言うな」と言ってる人間は、自分より知識がある人間の存在を
>考えたことは無いのだろうか?
171乙。「知らないやつはものをいうな」じゃなくて「知らないくせに他人を罵倒してるだけのおまえはものをいうな」だよ。


247 :デフォルトの名無しさん:2006/08/14(月) 18:51:22
なんだか変なのに居つかれちゃったね

248 :デフォルトの名無しさん:2006/08/14(月) 18:51:34
そろそろPythonの話題にもどろうか。

249 :デフォルトの名無しさん:2006/08/14(月) 18:52:08
釣ってるつもりが釣られてる、それがPythonヌレッド。
さあPythonの話しようぜ。

250 :デフォルトの名無しさん:2006/08/14(月) 18:52:29
>>162が必死で他人を叩いているスレはここですか?

251 :デフォルトの名無しさん:2006/08/14(月) 18:53:16
>>247
だから嫌なら>>243のスレに行けばいいのに。

252 :デフォルトの名無しさん:2006/08/14(月) 18:53:35
叩いているのは171だろ…。

253 :デフォルトの名無しさん:2006/08/14(月) 18:55:27
俺は荒らすけど、イヤなら出てけ、ですか

254 :デフォルトの名無しさん:2006/08/14(月) 18:56:18
>>252
じっくり読んでないけど、>>171をたたきたい奴が多そうだぞ

255 :デフォルトの名無しさん:2006/08/14(月) 18:56:20
俺は荒らしをスルーしないで絡むけど、いやなら出てけ、だろ。

256 :デフォルトの名無しさん:2006/08/14(月) 18:56:40
他人は罵倒するのを禁止するけど、俺は罵倒する、というキチガイですから

257 :デフォルトの名無しさん:2006/08/14(月) 18:56:54
荒らしに対応する奴も、荒らしなんですが。

258 :デフォルトの名無しさん:2006/08/14(月) 18:57:13
>>253
まあ、仲良くやろうぜ。


259 :デフォルトの名無しさん:2006/08/14(月) 18:57:33
なんか、よっぽど悔しかったんだね、>>162

260 :デフォルトの名無しさん:2006/08/14(月) 18:58:28
その調子その調子。
お盆休み中にこのヌレッドも消費しようぜ!!

261 :デフォルトの名無しさん:2006/08/14(月) 18:59:03
171と162が、なんか喧嘩してるようだけど
171見たいな奴は、ずっといるから。
もうやめにしてPythonの話題にもどろうよ。


262 :デフォルトの名無しさん:2006/08/14(月) 19:01:47
>>171を叩いてるやつの方が必死に見えるけど。
>>246とか。

263 :デフォルトの名無しさん:2006/08/14(月) 19:02:03
>もうやめにしてPythonの話題にもどろうよ。

じゃあお前が率先してPythonの話題振るなどしろよ。

264 :デフォルトの名無しさん:2006/08/14(月) 19:03:26
171はアホなので叩かれて当然だろ。

265 :デフォルトの名無しさん:2006/08/14(月) 19:03:36
>>263
煽ることしかできないキチガイ

266 :デフォルトの名無しさん:2006/08/14(月) 19:04:21
まあどうせ3人くらいしかいないんだ,気にするな

267 :デフォルトの名無しさん:2006/08/14(月) 19:04:26
265 名前:デフォルトの名無しさん[sage] 投稿日:2006/08/14(月) 19:03:36
>>263
煽ることしかできないキチガイ

268 :デフォルトの名無しさん:2006/08/14(月) 19:05:53
>>264=>>162

いいかげんにしろ

269 :デフォルトの名無しさん:2006/08/14(月) 19:06:27
>>267
煽ることしかできないキチガイ

270 :デフォルトの名無しさん:2006/08/14(月) 19:07:07
>>268=171

いいかげんにしろ


271 :デフォルトの名無しさん:2006/08/14(月) 19:09:00
なんか、自作自演に見えてきた…。


272 :デフォルトの名無しさん:2006/08/14(月) 19:09:01
ガキンチョばっか

273 :デフォルトの名無しさん:2006/08/14(月) 19:09:31
ガキンチョばっか、それがPythonic

274 :デフォルトの名無しさん:2006/08/14(月) 19:10:23
まぁお前らがどうなろうと知ったこっちゃ無いけどさ、
2chの雰囲気に流されて「馬鹿」とか「キチガイ」などの言葉で
平気で人を煽れるようになったら、それはお前の人格がそういう風になったということだからな。

275 :デフォルトの名無しさん:2006/08/14(月) 19:11:30
誰かが言った
スレが延びている日は読み飛ばせ
なるほど、至言だな

276 :デフォルトの名無しさん:2006/08/14(月) 19:12:00
二重人格?

277 :デフォルトの名無しさん:2006/08/14(月) 19:12:34
>>275 それはお前みたいのが書き込んでるからだな。

278 :デフォルトの名無しさん:2006/08/14(月) 19:13:17
Python-MLの大人な対応。

スパムがMLにくる。
Make $1000's Monthly!
Over 600 work at home firms are in need of survey takers, product
blah,blah...

返信:
Just to bring this thread back on topic, you could also make thousands of
dollars monthly by becoming a professional Python coder or consultant. ;-)

返信:
Yes, easily -- according to SD Magazine's yearly surveys, Python
programmers have been the best-paid ones for years in a row now (I
believe the worst-paid ones are Visual Basic programmers, as a group).

わろた。

279 :デフォルトの名無しさん:2006/08/14(月) 19:18:04
>>274
いえいえ、元々品性下劣な人間が煽るのですよ。

280 :デフォルトの名無しさん:2006/08/14(月) 19:20:02
>>278
Pythonのコーダで月に数千ドルか…。
ジョークなんだろうけど、本気で英語を身につけようかと思ったよ。

281 :デフォルトの名無しさん:2006/08/14(月) 19:21:44
面白い投稿があった。

質問
hi
can we hide a python code ?
if i want to write a commercial software can i hide my source code from
省略。
---------------------------------------
First Iranian Open Source Community : www.python.ir

返信
Bayazee wrote:
> hi
> can we hide a python code ?
> if i want to write a commercial software can i hide my source code from
^^^^^^^^^^^^^^^^^^^^^^^^[1]
> users access ?
> we can conver it to pyc but this file can decompiled ... so ...!!
> do you have any idea about this ...?
>
> ---------------------------------------
> First Iranian Open Source Community : www.python.ir
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^[2]


[1] and [2] don't seem to be compatible.

Really the only way to keep your code secret is not to distribute it --
provide the functionality from a web server.

イラン人わろた。

282 :デフォルトの名無しさん:2006/08/14(月) 19:34:04
無理に話を戻そうとして、どうでもいいメール貼らないでくれるかな

283 :デフォルトの名無しさん:2006/08/14(月) 19:35:12
>>282
英語読めない奴キターーーー

284 :デフォルトの名無しさん:2006/08/14(月) 19:36:38
>>283
かなり恥ずかしいよ、お前

285 :デフォルトの名無しさん:2006/08/14(月) 19:37:32
>>281
オープンソースの皆さんに対しては、ちょっと肩身が狭いけど、俺は笑えないな。
Pythonで書く部分って、数値計算が多くて、そこはできるだけアルゴリズムを
社外秘にしたい部分なので。

クラスファイルだけにしたら、日本ではバレずにすむかな。
やっぱり難読化ツールとか使ったほうがよいだろうか。
http://freshmeat.net/projects/pyobfuscate/

286 :デフォルトの名無しさん:2006/08/14(月) 19:41:11
>>285
それ、リリースするようなブツ?

287 :デフォルトの名無しさん:2006/08/14(月) 19:43:25
>>281
何が面白いのかさっぱりわからない

288 :デフォルトの名無しさん:2006/08/14(月) 20:13:36
>>285
たしかに、仕事で使ってるとそういうこともあるね。


289 :デフォルトの名無しさん:2006/08/14(月) 20:21:28
>>286
うん、リリースするんだ。お客様に、サーバごとお渡しする。
秘匿化のためにC++で書き直すというのは、ちょっとつらすぎる。
C++得意じゃないしね。

>>288
そちらはどうしてる?

290 :デフォルトの名無しさん:2006/08/14(月) 20:22:26
>>289
著作権は渡さないの?

291 :デフォルトの名無しさん:2006/08/14(月) 20:23:06
そこでメタクラスですよ!

292 :デフォルトの名無しさん:2006/08/14(月) 20:24:06
うちの会社では、受託開発物は言語を問わずコードごと、著作権ごと渡すよ。
自社開発するライブラリは、C++でやるな。

293 :デフォルトの名無しさん:2006/08/14(月) 20:30:52
>>290, >>292
渡さないことになってる。サーバ込みのパッケージ商品として、ほかの
お客様にも買っていただく予定なんだ。
今まではJavaとC++でやってたんだけど、Pythonを使ってみたら、MATLABみたいに
使えるし、便利なんで…。楽を覚えたら元に戻れないなあ。

>>291 いや、関係ないから。

294 :デフォルトの名無しさん:2006/08/14(月) 20:43:13
>>293
pyrexではだめ?


295 :デフォルトの名無しさん:2006/08/14(月) 20:46:13
>>293
へぇー、今でもそういう形態でやってるとこあるんだね。
うちでも以前は似たようなことやってたけど、今ではもうないなぁ。

296 :デフォルトの名無しさん:2006/08/14(月) 20:49:23
>>294
http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/
これかー。そういえば聞いたことある。
ScipyとかDB接続とかいろいろ呼び出しているコードでもCに変換できるの
だろうか。できたら最高だな。
試してみます。ありがとう。

297 :デフォルトの名無しさん:2006/08/14(月) 20:50:50
もっとスマートな方法を考えようぜ。
インタープリタの名前をjavaにするとか。
いっそjythonにするとか。
相手方にPython使いがいないことを祈るとか。

298 :デフォルトの名無しさん:2006/08/14(月) 20:53:28
機械ごと渡しちゃうと
どうしようもないよねえ。
Python-mlにも定期的にそういう話題が投稿されるけど
ウェブサービスにしたら?という意見が多い。
xmlrpcとか。。

299 :デフォルトの名無しさん:2006/08/14(月) 21:07:48
>>297
ワロタ。JythonだとSciPyが使えなくてね。
あと、相手方にPython使いがいないことを祈るのは、もうやってる。
Pythonが日本で普及しないのは、0.001%ぐらいは、自分のせいかも。

>>298
http://www.xmlrpc.com/
こんなものがあるんだ。知りませんでした。ありがとうございます。
しかし、これを使うのなら、お客様にサーバはお渡ししない契約に
変える方が早いかも。まあそんな契約変更ができるのか、自分には
分からないんですけどね。

300 :デフォルトの名無しさん:2006/08/14(月) 21:16:01
>>297
最後の方法が一番簡単でお勧めだねw

301 :デフォルトの名無しさん:2006/08/14(月) 21:17:24
単に .pyc だけ渡すんじゃ駄目?
簡単に戻せるんだっけか

302 :デフォルトの名無しさん:2006/08/14(月) 21:37:40
目で見えなくするだけなら、pycかzipからimportするとか。
http://www.python.org/doc/2.3.4/whatsnew/node5.html



303 :デフォルトの名無しさん:2006/08/14(月) 21:43:07
pyoならもっとリバースエンジニアリングできづらくなるんじゃね?

304 :デフォルトの名無しさん:2006/08/14(月) 21:49:33
__import__ をフックして
秘密にしたいモジュールを読むときだけ
別の処理をさせてdecodeさせることも出来るけど
結局この処理をおこなうソースは見えてしまうわけだ。


305 :デフォルトの名無しさん:2006/08/14(月) 21:55:29
(`・ω・´)バイトコードだってがんばればリバエンできるお

306 :デフォルトの名無しさん:2006/08/14(月) 22:00:27
相手方に>>305がいないことを祈るw

307 :デフォルトの名無しさん:2006/08/14(月) 22:23:05
pyhonでメタプログラミングってどういうのがあるんですか?

308 :デフォルトの名無しさん:2006/08/14(月) 23:04:07
urlopenで取って来たyahooのhtmlソースをutf-8に変換出来ません...orz
※元の文字コードはeuc-jp

encode("UTF-8")を使っているんですが、文字化けします。
site.pyの設定は「encoding = "mbcs"」と「encoding = "UTF-8"」を試しました。

pythonを使っているといつも日本語処理で苦労するんですが、
皆さん何かテクニックをお持ちですか?
また上記に対する解決方などありますか?

環境はWinXP、Python2.4

309 :デフォルトの名無しさん:2006/08/14(月) 23:08:33
まずはソースを晒しな。
話はそれからだよ。

310 :デフォルトの名無しさん:2006/08/14(月) 23:09:57
encode(), decode() の使い方をまちがえたんだろうね。

311 :デフォルトの名無しさん:2006/08/14(月) 23:10:18
>>308
> 皆さん何かテクニックをお持ちですか?

自分がPythonの中の人になったつもりで考える
Pythonの中の人は超能力者ではないことを忘れない

312 :デフォルトの名無しさん:2006/08/14(月) 23:13:48
chardet ってのがあるので
こいつでエンコーディングを調べる。

で、その戻値で、unicodeにもどせばいいです。
決め打ちだと、たまに思っても見ない文字コードになってたりするので。


313 :デフォルトの名無しさん:2006/08/14(月) 23:16:07
>>307
メタクラスは、ユーザーの99%の人が考える以上に奥の深い仕掛けです。
必要かどうかを思案しているようなものは、必要ないのです
(本当にそれを必要としている人は、それが必要であることを確信しており、
なぜ必要なのかなど説明の必要はありません)。

314 :デフォルトの名無しさん:2006/08/14(月) 23:16:38
decompyleで、pyc -> py にしたら
読みやすいコードがでてくるね!
おどろき。

315 :デフォルトの名無しさん:2006/08/14(月) 23:17:10
ttp://www-06.ibm.com/jp/developerworks/linux/030425/j_l-pymeta.html

316 :デフォルトの名無しさん:2006/08/14(月) 23:26:46
受験勉強一筋、わき目もふらずまじめにやってきたのに
みんなしてJavaだRubyだPythonだHaskellだ
オブジェクト指向だ関数言語だメタクラスだって煽るもんだから
こんな子になってしまいました。
ttp://d.hatena.ne.jp/rintaromasuda/20060722/1153552896
ここの人たちに責任取ってもらいますからね!!

317 :デフォルトの名無しさん:2006/08/14(月) 23:29:00
>>315
クラスを返す関数とかを作ることがメタプログラミングっていうことでしょうか?
パッとは何に使うのかが分かりませんけど・・・

318 :308:2006/08/14(月) 23:29:10
>>312

unicode(line, "EUC-JP", "ignore").encode("UTF-8")
のような形でできました。
ありがとうございます。

319 :デフォルトの名無しさん:2006/08/14(月) 23:29:34
http://en.wikipedia.org/wiki/Metaprogramming_(programming)
こっちの意味だとおもってました。


320 :デフォルトの名無しさん:2006/08/14(月) 23:31:46
メタクラスと言えば、このコードが動く理由がいまだにわかりません・・・
ttp://http://www.bigbold.com/snippets/posts/show/779

321 :デフォルトの名無しさん:2006/08/14(月) 23:51:13
http://gnosis.cx/publish/programming/metaclass_1.html
http://gnosis.cx/publish/programming/metaclass_2.html

わかりやすいと思われ。

322 :デフォルトの名無しさん:2006/08/14(月) 23:53:27
http://www.vrplumber.com/programming/metaclasses.pdf

323 :デフォルトの名無しさん:2006/08/14(月) 23:56:37
>>320
黒魔術だかね。
わからないままの方が幸せだと思うよ。

324 :デフォルトの名無しさん:2006/08/15(火) 00:05:04
これが黒魔術w?

自分が理解出来ないからって、他人まで引きずり込もうとするなよ…

325 :デフォルトの名無しさん:2006/08/15(火) 00:06:10
せいぜい青魔術くらいだろ

326 :デフォルトの名無しさん:2006/08/15(火) 00:08:07
>>324
オマエも、わからないままの方が幸せだと思うよ。

327 :デフォルトの名無しさん:2006/08/15(火) 00:10:57
>>326
無知が幸せだと思うのは単細胞の能天気馬鹿だ。
プログラマー向きではない。

328 :デフォルトの名無しさん:2006/08/15(火) 00:11:38
使い方は簡単
使いどころを見つけるのは確かに難しそうだ

329 :デフォルトの名無しさん:2006/08/15(火) 00:14:46
With a metaclass you can trigger some code to be run everytime a class with that metaclass is created (and subclasses inherit the superclass's metaclass).
だってさ。

330 :デフォルトの名無しさん:2006/08/15(火) 00:15:17
メタクラスは、ユーザーの99%の人が考える以上に奥の深い仕掛けです。
必要かどうかを思案しているようなものは、必要ないのです
(本当にそれを必要としている人は、それが必要であることを確信しており、
なぜ必要なのかなど説明の必要はありません)。 - Tim Peters

331 :デフォルトの名無しさん:2006/08/15(火) 00:15:46
いや。
使うのも苦労するよ。
設計者が想定しない状況で不具合が現れたときに
自分で修正するのとか大変。

332 :デフォルトの名無しさん:2006/08/15(火) 00:17:15
327は、自分は残りの1%だと信じて疑わない単細胞の能天気馬鹿。

333 :デフォルトの名無しさん:2006/08/15(火) 00:18:40
>>332
オウム返しのような頭の悪い煽りは止めろよ。
それじゃ理解出来ないわけだ

334 :デフォルトの名無しさん:2006/08/15(火) 00:19:00
まあ、普段から使わないよな。
むしろ、ちょこっとしたスクリプトで
こんなの使ってたら下手な見本だな。

335 :デフォルトの名無しさん:2006/08/15(火) 00:23:25
Guidoタンの書いた分かりやすいドキュメントみたいのは無いですか?<メタクラス
>>321
gnosis softwareって名前からしてめちゃ怪しい・・・w

336 :デフォルトの名無しさん:2006/08/15(火) 00:25:39
フレームワークとかを設計しようというレベルになって
はじめて必要になるもんじゃないの?

337 :デフォルトの名無しさん:2006/08/15(火) 00:25:59
x 使い方は簡単
o 仕組は簡単
ってことね
ライブラリがヘボいと大変なのは共通でしょう
それともメタクラス特有の苦労があんのかな

338 :デフォルトの名無しさん:2006/08/15(火) 00:30:22
ここ数日ずいぶん賑やかだな。
どうして突然こんなに厨がわいてきたの?

339 :デフォルトの名無しさん:2006/08/15(火) 00:34:14
では本人に聞いてみましょう
>>338 どうしてですか?

340 :デフォルトの名無しさん:2006/08/15(火) 00:34:46
Python1.5のときmetaclassをどう扱っていたのか
http://www.python.org/doc/essays/metaclasses/
を見てから、
http://www.python.org/download/releases/2.2.3/descrintro/
をよんでみたらどーですかね。

でも、知識欲をみたす意外に、使い道がないよね。
/usr/lib/python2.x/ で grep -R "__metaclass__" ./
とかやって、どれだけ利用されているか見ればわかる。


341 :デフォルトの名無しさん:2006/08/15(火) 00:39:58
a.k.a the killer jokeて・・・

342 :320:2006/08/15(火) 00:42:35
321を読んだ後、問題のコードを眺めていたら、いきなり腑に落ちました。感謝。

ちなみに、使いどころ、というか使われどころはSQLObjectのSQLObjectクラスです。

343 :デフォルトの名無しさん:2006/08/15(火) 02:20:04
「メタクラス」を見た瞬間に
「え?だってメタクラス無かったら誰がクラス名の名前空間を提供するん?」
と思ってしまった。
今は少し反省している。

344 :デフォルトの名無しさん:2006/08/15(火) 02:44:41
そう。
彼はちょっと背伸びしたい年頃の男の子なのです。

345 :デフォルトの名無しさん:2006/08/15(火) 06:42:11
メタクラスおもろいな。できることをまとめると↓こんな感じ?

クラス A のメタクラスを M とする。

1) A を定義する直前に所定のコードを実行できる。

この目的には M.__new__() をオーバーライドすればよい。

クラス名を変えたり基底クラスを増やしたりメソッドを置換(ラップ)したりできる。

比較:
A.__new__ においてインスタンスの生成方法を変更できるのと同様に、
M.__new__ において A の生成方法(すなわち A の定義)を変更できる。

2) A を定義した直後に所定のコードを実行できる。

この目的には M.__init__() をオーバーライドすればよい。

比較:
A.__init__ において A (および A の下位クラス) のインスタンスをいじれるのと同様に、
M.__init__ において A (および A の下位クラス) をいじれる。

3) クラスメソッド(第1引数がインスタンスではなくクラスであるメソッド)を定義できる。

この目的には M に適当な名前のメソッド(例えば foo)を定義すればよい。
A.foo() として呼び出すと M.foo(A) が実行される。

比較:A のインスタンスを a とすると a.bar() と A.bar(a) は同義。

*** 要約 ***
クラスがインスタンスの生成方法や振舞いを規定するのと同様に、
メタクラスはクラスの生成方法や振舞いを規定する。

346 :デフォルトの名無しさん:2006/08/15(火) 06:47:15
てか、クラスはクラスメタクラスのインスタンスって所が出発点なわけで

347 :デフォルトの名無しさん:2006/08/15(火) 10:06:04
便利だね。(まとめありがとう)
言語を拡張したり、ライブラリを提供する場合には
場合によっては実装の選択しになるかもしれない。

アプリケーションを作る場合には、
なかなか必要な場面には出会わない気がします。
いろいろライブラリを突っ込んでいるんだけど、全部grepしてみても
python2.3 では、
python2.3/unittest.py

python2.4 では、
python2.4/site-packages/dbus/service.py
python2.4/unittest.py

python2.5/string.py
python2.5/unittest.py
python2.5/ctypes/_endian.py

だけでした。

348 :デフォルトの名無しさん:2006/08/15(火) 11:15:47
メタクラスって,Factory Patternのことだろ。

349 :デフォルトの名無しさん:2006/08/15(火) 11:26:37
したり顔でデザインパターンを持ち出すのはやめて貰おうか

350 :デフォルトの名無しさん:2006/08/15(火) 15:55:17
デザパタと口にしただけで条件反射で怒るのもやめて欲しいな。

351 :デフォルトの名無しさん:2006/08/15(火) 16:11:58
いや、クラスインスタンスの作成を以上するから Proxy Pattern だ。

352 :デフォルトの名無しさん:2006/08/15(火) 16:21:13
デザパタ厨に汚染された。もはやPythonもこれまで。

353 :デフォルトの名無しさん:2006/08/15(火) 16:29:14
>>352
どんだけ影響力のある房だ(w

354 :デフォルトの名無しさん:2006/08/15(火) 16:30:06
パターンを分類して名前を付けることは他人とのコミュニケーションや理解の系統化に
役立つが、分類した時点で安心してしまって細部を無視しがちになることは弊害のひとつ
であろう。また分類は絶対的なものではなく>>348 >>351のように見方次第で相対性を
持つことも忘れてはならない。

355 :デフォルトの名無しさん:2006/08/15(火) 16:35:12
その「もののいろいろな見方」そのものに名前を付けたのが
デザインパターンのありがたみだと思う。
ごちゃごちゃ抽象的な議論を毎回する代わりに、名前を言えば済むから楽だよね。

356 :デフォルトの名無しさん:2006/08/15(火) 16:42:42
と、抽象的な議論を振りかざすばかりで、
いつまでたっても具体的なコードを出せない厨が申しております。

357 :デフォルトの名無しさん:2006/08/15(火) 16:52:08
あなたは現代のプログラミングに向いていないと思うよ。

358 :デフォルトの名無しさん:2006/08/15(火) 16:53:05
んじゃ、昔からある用語を使わないのはなぜ?
言葉の言い替えで、御満悦?


359 :デフォルトの名無しさん:2006/08/15(火) 16:54:58
またまた、どうでもいい議論もどきでスレを消費している件について。

360 :デフォルトの名無しさん:2006/08/15(火) 16:58:44
>>358
ごめん、自分はデザパタしか知らないから、デザパタと同じものが昔からあるとは
思わなかった。
昔からある用語だと、メタクラスって何になるの?
煽りじゃなくて、真剣に知りたい。

361 :デフォルトの名無しさん:2006/08/15(火) 17:01:44
>>348
> 348 名前:デフォルトの名無しさん :2006/08/15(火) 11:15:47
> メタクラスって,Factory Patternのことだろ。


362 :デフォルトの名無しさん:2006/08/15(火) 17:05:26
>>360
ごめん、まさか真正だとは思わなかった。

363 :デフォルトの名無しさん:2006/08/15(火) 17:19:50
Metaclass は Factory Pattern でもあるし Proxy Pattern でもあるのだけど
それ以上に Python の プロトタイプ指向然とした
柔軟なオブジェクト指向機能実装を活用している希ガス

364 :デフォルトの名無しさん:2006/08/15(火) 17:33:31
最近何にでも真っ先に食い付いて齧った後は知らんぷりしてるのは俺です

365 :デフォルトの名無しさん:2006/08/15(火) 17:34:02
ところで、荒らし対策にもデザインパターンがあったら、初心者も
荒らしに対応しやすいんじゃないかと思うんだが。
正確にはアンチパターンかな。

今回のは、Pythonスレに多いパターンだけど、仮に名づけて
「厨呼ばわりパターン」

現象
・根拠を示さず人を厨呼ばわり
・じゃあ何が正しいの?と聞き返しても、馬鹿にするだけで何も答えない
原因
・単に議論が理解できてない
・自己正当化のために、そういう議論を無価値だと決め付けたい
対策
・煽ってくる相手は、たとえもっともらしい口ぶりでも、相手にしない。
・そもそもまともに説明する能力があれば、煽ってきたりはしない

参考:デバッグパターン
http://monoki.fc2web.com/diary/txt/computer/debugpatern.html


366 :デフォルトの名無しさん:2006/08/15(火) 17:42:49
>>365
既にまとめられています
ttp://www.shos.info/develop/oo/dscsnptn.html

367 :デフォルトの名無しさん:2006/08/15(火) 17:52:11
メタクラス、使うときちょっと不安になる
ガベコレとかスレッドの絡みってクリアなのかな?

368 :デフォルトの名無しさん:2006/08/15(火) 17:59:42
>>366
ありがとう。実はそのページは、かなり昔に読んだことがある。
読み直したけど、ちょっと目的が違う。

議論パターンは、議論をしたい人が、議論を建設的な方向に向けるためのものだが、
荒らしパターンは、まともな議論と荒らしを見分けて、やりとりを打ち切るためのもの。

369 :デフォルトの名無しさん:2006/08/15(火) 18:00:36
>>366
GJ

370 :デフォルトの名無しさん:2006/08/15(火) 18:24:18
手始めに
「まとめ厨パターン」と「レッテル貼りパターン」と
「なんでもデザパタパターン」と「分類厨パターン」
あたりのパターンをまとめてレッテル貼りして分類してくれ。

371 :デフォルトの名無しさん:2006/08/15(火) 18:30:24
>>370
項目の内容が全部同じですよ。必死ですね。
自分にレッテルが貼られることが予想できたのなら、まともに話をすればいいのに。

372 :デフォルトの名無しさん:2006/08/15(火) 18:33:50
ちょっと違うな。
こういう人は、「議論は出来るけどやらない」と思っているのだ。
出来ないだけなんだけどね。

373 :デフォルトの名無しさん:2006/08/15(火) 18:47:58
>>371 おまえはいったい誰と戦ってるだ?

374 :デフォルトの名無しさん:2006/08/15(火) 19:07:58
このスレは一体なんだぁ?

誰かがメタクラスに触れたら噛み付き、
デザパタに触れたら噛み付き。

自分が知らない高度な話題が出たら即噛み付き虫が常駐してるようだな。

375 :デフォルトの名無しさん:2006/08/15(火) 19:08:18
方言ブームって、なんだったんだろう。あれまだ続いてるのかな。

376 :デフォルトの名無しさん:2006/08/15(火) 19:40:30
ひまじんのこまったちゃんがひとりいるのかね。
たぶんみんなそいつのせい。

377 :デフォルトの名無しさん:2006/08/15(火) 19:50:50
>>375
そんなのあったの?

378 :デフォルトの名無しさん:2006/08/15(火) 19:55:49
ここは、ドンキホーテさんが沢山いるスレです。


379 :デフォルトの名無しさん:2006/08/15(火) 19:56:42
デザインパターンの話をしたい人がいるようなので
ありがたい話をしてくださいよ。聞いてるからさ。
はいどうぞ。


380 :デフォルトの名無しさん:2006/08/15(火) 20:00:14
俺達にはメタクラス以前にマターリが必要だ

381 :デフォルトの名無しさん:2006/08/15(火) 20:03:42
>>380 激しく同意。

382 :デフォルトの名無しさん:2006/08/15(火) 20:06:32
安売り王がいると聞いて飛んできますた

383 :デフォルトの名無しさん:2006/08/15(火) 20:07:04
>>379
故郷に帰るニダ<`∀´>

384 :デフォルトの名無しさん:2006/08/15(火) 20:43:03
>>380
class mataari:

385 :デフォルトの名無しさん:2006/08/15(火) 20:48:22
>>384
クラス名の最初の文字は大文字にしろ。
class Mataari:

386 :デフォルトの名無しさん:2006/08/15(火) 20:59:17
そんなことにまで噛み付くのか。ここの噛み付き虫は。

387 :デフォルトの名無しさん:2006/08/15(火) 21:00:02
Javaの人たちなら、デザパタの話に嬉々として応じてくれるのに
Pythonの人たちはどうしてデザパタの話をしたがらないんですか?
何かデザパタに恨みでもあるんですか?

388 :デフォルトの名無しさん:2006/08/15(火) 21:00:04
噛み付いてない噛み付いてない。

389 :デフォルトの名無しさん:2006/08/15(火) 21:01:48
>>387
そんなことないんじゃない?

あ,噛み付いてないからね(ww

390 :デフォルトの名無しさん:2006/08/15(火) 21:22:09
>>387
デザパタに恨みはないが、おまえみたいなアホには恨みがあるのだよ

391 :デフォルトの名無しさん:2006/08/15(火) 21:27:47
↑ガブッ

392 :デフォルトの名無しさん:2006/08/15(火) 21:30:51
さぁ、聞いてあげるからデザインパターンとPythonの話題で
なにか、いってみな?さぁ。


393 :デフォルトの名無しさん:2006/08/15(火) 21:32:14
>>392
煽り屋うざい

394 :デフォルトの名無しさん:2006/08/15(火) 21:33:30
>>393
さぁ

395 :デフォルトの名無しさん:2006/08/15(火) 22:04:29
>>394
Rubyスレの方がつれますよ

396 :デフォルトの名無しさん:2006/08/15(火) 22:42:56
とりあえず >>360
俺も微妙に知りたい

397 :デフォルトの名無しさん:2006/08/15(火) 23:00:26
>>360
>昔からある用語だと、メタクラスって何になるの?

昔からある用語で解説ヨロ。

398 :デフォルトの名無しさん:2006/08/15(火) 23:08:36
「昔からある用語」ってどのくらいを指すか知らんが、20年前Smalltalkを勉強したときには
既にメタクラスがあったぞ

399 :デフォルトの名無しさん:2006/08/15(火) 23:17:10
A Pattern Language は、Christoper Alexanderの1997年の著作
……などとずれたレスを付けてみる。

400 :デフォルトの名無しさん:2006/08/15(火) 23:18:41
記憶すらもうろうとしている窓際オヤジが
スレに粘着して荒らしてるのね

401 :デフォルトの名無しさん:2006/08/15(火) 23:34:26
>>399
1977年でそ?
http://en.wikipedia.org/wiki/A_Pattern_Language
あと、細かいけど、Christopher のpのあとのhが抜けてる。

それはそれとして、デザインパターンも、概念自体は30年前からあるということだね。

402 :デフォルトの名無しさん:2006/08/15(火) 23:46:27
昔からある用語で言うと、メタクラスは「オブジェクトとしての“クラス”の属するクラス」。
より厳密には、注目するクラスをソロインスタンス(シングルトン)として持つクラス…かな。

403 :デフォルトの名無しさん:2006/08/15(火) 23:59:31
えー?
英語でもメタクラスといわないで、そんな回りくどい言い方されてたっての?
んなアホな。

404 :デフォルトの名無しさん:2006/08/16(水) 00:04:35
つうか、そもそも>402は「用語」じゃないような。あれじゃ説明。

405 :デフォルトの名無しさん:2006/08/16(水) 00:06:06
>>403
英語なら、the class of a class 。

406 :デフォルトの名無しさん:2006/08/16(水) 00:17:21
バイブルは15年も前に出版されている
http://www.amazon.co.jp/gp/product/0262610744

407 :デフォルトの名無しさん:2006/08/16(水) 00:26:57
メタオブジェクトとメタクラスの区別もつかん406がしゃしゃり出てきている件について…。

408 :デフォルトの名無しさん:2006/08/16(水) 00:36:18
A Metaclass is a class' class. If a class is an object, then that object must have
a class (in classical OO anyway). Compilers provide an easy way to picture Metaclasses.
Classes must be implemented in some way; perhaps with dictionaries for methods,
instances, and parents and methods to perform all the work of being a class.
This can be declared in a class named "MetaClass", or class Class in Java.
The Class class can also provide services to application programs, such as
returning a set of all methods, instances or parents for review (or even modification),
as found in Java. Java's metaclass Class provides some degree of reflection,
including retrieving methods, fields, nested classes, loader, and also the ability
to generically create new instances of a class and generically invoke methods on an object.

409 :デフォルトの名無しさん:2006/08/16(水) 00:41:17
[Booch 94, p 119] provides another example in Smalltalk with timers.
In Smalltalk, the situation is more complex. To make this easy,
refer to the following listing, which is based on the number of levels
of distinct instantiations:

1 Level System
All objects can be viewed as classes and all classes can be viewed
as objects (as in Self). There is no need for Meta-Classes because
objects describe themselves. Also called "single-hierarchy" systems.
There is only 1 kind of object.

2 Level System (C++)
All Objects are instances of a Class but Classes are not accessible
to programs (no Meta-Class except for in the compiler and perhaps
for type-safe linkage, as in C++). There are 2 kinds of distinct
objects: objects and classes.



410 :デフォルトの名無しさん:2006/08/16(水) 00:41:57
3 Level System (Java)
All objects are instances of a class and all classes are instances
of Meta-Class. The Meta-Class is a class and is therefore an instance
of itself (really making this a 3 1/2 Level System). This allows
classes to be first class objects and therefore classes are available
to programs. There are 2 kinds of distinct objects (objects and classes),
with a distinguished class, the metaclass.

5 Level System (Smalltalk)
Like a 3 Level System, but there is an extra level of specialized
Meta-Classes for classes. There is still a Meta-Class as in a 3 Level System,
but as a class it also has a specialized Meta-Class, the "Meta-Class class"
and this results in a 5 Level System:
object
class
class class (Smalltalk's Meta-Classes)
Meta-Class
Meta-Class class

The "class class"es handle messages to classes, such as constructors and "new",
and also "class variables" (a term from Smalltalk), which are variables
shared between all instances of a class (static member data in C++).
There are 3 distinct kinds of objects (objects, classes, and metaclasses).

(end)

411 :デフォルトの名無しさん:2006/08/16(水) 00:42:32
>>407
>>406の本の中身を知らないのなら生半可なことを書かないほうがいい

412 :デフォルトの名無しさん:2006/08/16(水) 00:44:19
メタクラスは30年くらい前からある用語ということでこの件は終了だな

413 :デフォルトの名無しさん:2006/08/16(水) 00:47:26
メタクラスは
源氏物語にも登場する
由緒ある用語です

414 :デフォルトの名無しさん:2006/08/16(水) 01:31:09
>>411
メタクラスは MOP の応用例として出てきてるだけだろ?

415 :デフォルトの名無しさん:2006/08/16(水) 01:36:00
>>414
えっと、本を読んで言ってる?

416 :デフォルトの名無しさん:2006/08/16(水) 01:43:04
つか、なんでメタクラスプログラミングをもってメタプログラミングなのかが分からん。
たしかにメタクラスを使ってメタプログラミングはできるが、メタクラスプログラミングが
必ずしもメタプログラミングに属するものではないし、逆に、メタプログラミングに
メタクラスを使うとも限らない。メタプログラミングについて知りたいだけなら、メタクラスが
いつから使われていたかなんて話はそもそも関係ない。

417 :デフォルトの名無しさん:2006/08/16(水) 01:46:25
>>416
その通りだ。歴史の話はこのくらいにしてPythonの話に戻ろう。

418 :デフォルトの名無しさん:2006/08/16(水) 01:47:15
まったくだ。
過去しか振り返らない敗北者は逝ってよしだ。

419 :デフォルトの名無しさん:2006/08/16(水) 02:08:39
しかし歴史を知らない者は未来を予想できない事もまたしかり。
歴史を踏まえたうえでモトの話に戻ってほしいなり。

420 :デフォルトの名無しさん:2006/08/16(水) 02:19:17
歴史認識の問題は荒れやすいな

421 :デフォルトの名無しさん:2006/08/16(水) 03:25:35
話の流れとぜんぜん関係ないけど>>178のテクニックに関して。
俺も同じテクニックを使うことがあったんだけど、この方法に違和感を感じていた。
とゆーのは、sys.stdout を大域的に書き換えて print 文の挙動を変えるという
やり方が乱暴というかトリッキーであまり好きになれないんだよね。

で、こういう目的のために「print >>ファイル, ...」の形式の print 文は
とても便利なんジャマイカということに今さら気づいた。

import codecs
from sys import stdout, stderr
Writer = codecs.getwriter("utf-8")
stdout = Writer(stdout)
stderr = Writer(stderr)

u = u"日本語"
print >>stdout, "u =", repr(u), u"('%s')" % u
print >>stderr, "Error:", u

この方法の利点:
1) print 文の便利さはそのまま。
2) 出力先が端末でもファイルでも同じように動作する。
3) Writer でラップした stdout や stderr を局所的に使える。
4) 俺は今ラップした標準出力と標準エラーを使ってるんだぞーという注意事項を
陽に記述できて気持ちがいい。

きっとこの用途はこの形式の print 文が導入されたときに想定されていたんだろうな。
なんつーか、先見の明ってのはこういうことを言うのだろーとオモタ。

422 :デフォルトの名無しさん:2006/08/16(水) 03:33:12
>>421
俺的には、そのやり方はスゲー気持ち悪いけどな

423 :デフォルトの名無しさん:2006/08/16(水) 03:47:56
>>421
異論もあるようだけど、私もそのやり方が大好きな一人。
Python 3000 でprint文が廃止になると知って、どうしようと思ってる。

424 :デフォルトの名無しさん:2006/08/16(水) 09:46:43
>>348
> 348 名前:デフォルトの名無しさん :2006/08/15(火) 11:15:47
> メタクラスって,Factory Patternのことだろ。


425 :デフォルトの名無しさん:2006/08/16(水) 11:21:51
>>423

文でなくて関数になるのかな。

426 :デフォルトの名無しさん:2006/08/16(水) 13:21:04
os.print() とか?

427 :デフォルトの名無しさん:2006/08/16(水) 13:30:56
ちょっと古いけど、

http://ymasuda.jp/python/news_2004_10.html
> print 文を,関数 write(x, y, z), writeln(x, y, z) で置き換えます.

とあるから、ビルトイン関数になるみたい。

2006年の今はどうなってるのかと思ってググってるんだけど、うまく見つけられない。
ごめん。

428 :デフォルトの名無しさん:2006/08/16(水) 13:50:04
>>427
ありがとう。自分でもさがしてみた。
http://mail.python.org/pipermail/python-dev/2005-September/056154.html


429 :デフォルトの名無しさん:2006/08/16(水) 13:58:56
http://www.python.org/dev/summary/2005-09-01_2005-09-15/#converting-print-to-a-function-in-python-3-0

430 :デフォルトの名無しさん:2006/08/16(水) 14:11:13
>>429
おお!これは分かりやすい!ありがとう!

431 :デフォルトの名無しさん:2006/08/16(水) 18:09:24
>>421
=+ や >> は導入するときかなりモメた。
真にPythonicなPythonは1.5.2まで、それ以降はPythonと認めないという
Python原理主義者も密かに存在する。

432 :デフォルトの名無しさん:2006/08/16(水) 18:15:20
私はPython3000しか認めません

433 :デフォルトの名無しさん:2006/08/16(水) 18:36:00
1.5には戻れないなあ。
がんばって2.2,涙をのんで2.1になら戻れる。

434 :デフォルトの名無しさん:2006/08/16(水) 21:11:03
>>432
(・∀・)人(・∀・)
すべての文字列が真のUnicode文字列になる
Python3000しか認められない。


435 :デフォルトの名無しさん:2006/08/16(水) 21:36:46
=+ と >> ってなに? そんな演算子あったっけ、というよりチュートリアルに
演算子をまとめた項目ないのね…。一節割いてる書籍買わにゃダメかい。

436 :デフォルトの名無しさん:2006/08/16(水) 21:58:40
>>435
Python.orgに載っていないことが
一般書籍にかいてあるとはおもえないけど。


437 :デフォルトの名無しさん:2006/08/16(水) 22:10:30
Python Quick Reference
http://rgruet.free.fr/


438 :デフォルトの名無しさん:2006/08/16(水) 22:10:54
http://www.python.jp/doc/release/ref/operators.html

はいよ。

439 :デフォルトの名無しさん:2006/08/16(水) 22:23:06
+=
http://www.python.jp/doc/release/ref/augassign.html
>>
http://www.python.jp/doc/release/ref/shifting.html

=+というのは存在しないと思うのだが。

440 :デフォルトの名無しさん:2006/08/16(水) 22:27:10
435が聞きたいのはprintに使える>>とかのことだろ

441 :デフォルトの名無しさん:2006/08/16(水) 22:31:07
ああ、そっちはprint文でしか使えない表記。
演算子じゃなくて、print文の一部だと思う。
http://www.python.jp/doc/release/ref/print.html

442 :デフォルトの名無しさん:2006/08/16(水) 23:34:36
>>439
原理主義者にとってはどうでもいいことだ。

443 :デフォルトの名無しさん:2006/08/16(水) 23:39:17
その「原理主義」って、興味あるな。
1.5.2までのPythonって、どういう点において「純粋」で、
それ以降はどういう点で「世俗化」したとされているの?

444 :デフォルトの名無しさん:2006/08/16(水) 23:47:15
あたらしいPythonロゴをつかったTシャツがでました。
http://www.cafepress.com/pydotorg

Python Software Foundation の公式ストアらしい。
売り上げの25%はPSFに寄付されるんだって。

残り75%がどうなるかは気にするな :)

445 :デフォルトの名無しさん:2006/08/17(木) 02:09:46
みんな、済まんこってす。

446 :デフォルトの名無しさん:2006/08/17(木) 04:00:08
石本さん。。。?

447 :デフォルトの名無しさん:2006/08/17(木) 05:45:23
PyConロゴのほうがいいな。

448 :デフォルトの名無しさん:2006/08/17(木) 06:43:29
もっとアグレッシブなデザインキボン(´・ω・`)

449 :デフォルトの名無しさん:2006/08/17(木) 10:44:35
えー、新アイコン、すっごくいいと思うけどなあ。
テュポーンというより、2匹のウロボロスだけれど。
http://www.groseducationalmedia.ca/greekm/mythpyth.html
http://ja.wikipedia.org/wiki/%E3%82%A6%E3%83%AD%E3%83%9C%E3%83%AD%E3%82%B9


450 :デフォルトの名無しさん:2006/08/17(木) 10:51:41
新アイコンはこれでいいけど、旧アイコンがどうにも苦手だ。
python.orgのfavicon(ショートカット・アイコン)は新アイコンに変わった
けれど、
http://www.python.org/favicon.ico

多くのページが、旧アイコンのままになっている。ページに直接埋め込まれて
いるから。
http://www.python.org/pics/pyfav.gif
<link rel="SHORTCUT ICON" href="/pics/pyfav.gif" >

http://docs.python.org/icons/pyfav.png
<link rel="SHORTCUT ICON" href="../icons/pyfav.png" type="image/png" />

早めに直してほしいなあ。

451 :デフォルトの名無しさん:2006/08/17(木) 11:03:24
>>449
×テュポーン → ○ピュトーン
まあ、紛らわしいよな。

452 :デフォルトの名無しさん:2006/08/17(木) 11:08:21
ピュトーンピュトーンピュトーン

453 :デフォルトの名無しさん:2006/08/17(木) 12:33:04
ピュトン
http://ja.wikipedia.org/wiki/%E3%83%94%E3%83%A5%E3%83%88%E3%83%B3

中々面白い来歴だな。

454 :デフォルトの名無しさん:2006/08/17(木) 13:01:32
おお、ただのヘビから神話の魔神に昇格ですか。
しかし、死んでるやんw

455 :デフォルトの名無しさん:2006/08/17(木) 13:03:03
Πυθων

456 :デフォルトの名無しさん:2006/08/17(木) 14:11:22
このロゴいいね
でも作者自ら、気持ち悪いヘビのことではありません
って言ってるのに、あくまでヘビで通すのか

457 :デフォルトの名無しさん:2006/08/17(木) 16:29:07
我々にとっては蛇って単に気持ち悪い動物だけど、キリスト教な人たちにとってはもっと
宗教的な嫌悪感があるって聞いたことがあるんだけど、そういう抵抗感は無いのかねぇ

458 :デフォルトの名無しさん:2006/08/17(木) 16:36:31
ないんじゃない?

459 :デフォルトの名無しさん:2006/08/17(木) 16:40:44
我々は蛇好きよ

460 :デフォルトの名無しさん:2006/08/17(木) 16:46:15
>>457
そんなのあったらパイソン柄が流行ったりしない

461 :デフォルトの名無しさん:2006/08/17(木) 20:02:05
Pyphan

462 :デフォルトの名無しさん:2006/08/17(木) 20:04:14
>>457
それ、アダムとイブの話にひっかけたガセ

463 :デフォルトの名無しさん:2006/08/17(木) 20:35:36
ジェネレータの使い方をおぼえてから
なんでもかんでもyieldするようになってしまったんですが
他の言語を使えないカラダになってしまいそうで不安です
大丈夫でしょうか?

464 :デフォルトの名無しさん:2006/08/17(木) 20:45:29
>>463
つチラシの裏

465 :デフォルトの名無しさん:2006/08/17(木) 22:44:57
>>463
駄目です

466 :デフォルトの名無しさん:2006/08/17(木) 22:47:44
>>463
yieldの便利さを実感したら、その応用として
http://www-06.ibm.com/jp/developerworks/linux/020809/j_l-pythrd.html
このあたりを読むといい。

yieldは結局、継続(continuation)の特殊形なのだ。継続を持っている言語は
ほかには
・Scheme
・Stackless Python
・Ruby
・Perl6
などがある。これらの言語に行っても、応用が利くよ。

なお、JavaScript1.7にyieldが実装された話が>>193に出てくる。


>>464
ネタが振られたら、潰すんじゃなくて、なるべく膨らまそうぜ。


467 :デフォルトの名無しさん:2006/08/17(木) 22:57:29
Common Lispについては、『On Lisp』に継続マクロが載っていたな。
Haskellには継続モナドがある。

継続とは結局、
・現在実行中の環境を凍結、保存
・保存した環境を呼び出して復活
する機能のことで、その応用範囲は大変広い。


468 :デフォルトの名無しさん:2006/08/18(金) 00:07:40
言語オタの自分自慢大会にようこそ。

469 :デフォルトの名無しさん:2006/08/18(金) 00:14:20
アセンブラで yield を実装したよ!!

470 :デフォルトの名無しさん:2006/08/18(金) 00:17:43
>>469
ある意味一番容易だからなw

471 :デフォルトの名無しさん:2006/08/18(金) 00:20:30
微妙に>>466がウザイ件について

472 :デフォルトの名無しさん:2006/08/18(金) 00:56:52
やれやれ、また噛み付き虫が出たか。
自分に分からないことは、黙ってていいんだよ。

473 :デフォルトの名無しさん:2006/08/18(金) 01:02:26
ぼくは まったく きにしていない

474 :463:2006/08/18(金) 01:06:32
>>466
でも以前ムネオたんが、Pythonのyieldはコルーチンを作る正統派なんだから
Rubyみたいにダサいのとは一緒にするな!って言ってたよ

475 :デフォルトの名無しさん:2006/08/18(金) 01:15:35
>>474
おお、そんな見識を持っているとは、ムネオは立派だ。

確かに継続は、goto以上に危険だから、これを剥き出しでプログラマがいじれる言語は
安全性もへったくれも無くなってしまう。この点についてはSchemeやRubyへの批判も多い。
yieldという扱いやすい形に閉じ込めておくほうがPythonicだとは思う。

もちろんその代わり、応用は狭まるのだけど。

476 :デフォルトの名無しさん:2006/08/18(金) 01:17:02
そもそもRubyのマニュアルに継続なんて言葉は無い

477 :デフォルトの名無しさん:2006/08/18(金) 01:21:55
>>476
http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=Continuation


478 :デフォルトの名無しさん:2006/08/18(金) 01:27:51
みんなRubyが大好きなんだなw
俺も勉強してみようかな

479 :デフォルトの名無しさん:2006/08/18(金) 01:28:08
>>477
書き換えて消しておいたから

480 :デフォルトの名無しさん:2006/08/18(金) 01:36:52
Pythonに継続がサポートされない最大の理由は、実はJythonなのだという。
http://slashdot.jp/developers/04/07/24/1020202.shtml
JVMはスタッキングマシンで、継続の実装が大変やりにくいらしい。
で、Guidoは、cPythonとJythonの機能に差を作りたくないのだ。

ちなみにStackless Pythonは、要するに継続をサポートしたcPythonである。

481 :デフォルトの名無しさん:2006/08/18(金) 02:02:27
しかしなあ、Jythonはもう1年以上放置されてるじゃないかよ。
http://www.jython.org/Project/news.html
いつになったら、2.2alphaは正式リリースされるんだよ。
俺の使ってるJython2.1は、yieldが使えないんだよ。
こんなことになるなら、Jythonは切り捨てて、Stackless とcPythonを統合すれば
良かったじゃないか。

482 :デフォルトの名無しさん:2006/08/18(金) 02:17:38
継続 (continuation) こそが web プログラミングには必要だという話
http://tabesugi.net/memo/2003/b1.html#101129

境界を越える: 継続とWeb開発、そしてJavaプログラミング
https://www-06.ibm.com/jp/developerworks/java/060412/j_j-cb03216.shtml

483 :デフォルトの名無しさん:2006/08/18(金) 02:40:52
>>481
作者が.NETのIronPythonに行っちゃったから、Jythonは当分休眠状態だろうね。
IronPythonは継続をサポートできるのかしら?

いずれにせよ、JVMというきわめてメジャーなプラットフォームで継続をサポートできない
ならば、Guidoが本家のcPythonに継続を組み込むことは無いと思うよ。

484 :デフォルトの名無しさん:2006/08/18(金) 03:18:27
>>472
何でそういうこと言うかなぁ・・・

485 :デフォルトの名無しさん:2006/08/18(金) 08:49:45
そろそろIDが必要なお年ごろだな。

486 :デフォルトの名無しさん:2006/08/18(金) 10:14:07
>>483
Jython は Frank Wierzbicki という人がメンテを引き継いだそうだ。

487 :デフォルトの名無しさん:2006/08/18(金) 10:33:32
私は、たとえJythonが継続をサポートできたとしても、Guidoは継続を採用し
たがらないと思うよ。危険すぎるし、知られてないし(継続を知っている人は
ほぼ100%Schemerだろう)、使いこなせるようになるのも大変だし。

yieldを介してだけ継続を扱うのがPythonicということで。
どうしても継続を使いたい人は、Stacklessという立派なものが別にあるのだ
しね。


488 :デフォルトの名無しさん:2006/08/18(金) 10:45:34
すみません、Pythonのloggingモジュールを使っているのですが、
http://www.python.jp/doc/release/lib/module-logging.html
SMPTHandler で日本語メールを送信しようとするとエラーになります。
どうするのが一番良いと思われますか?
とりあえず、ロギングメッセージをすべて英語にすることで回避していますが…。

2006-08-17 14:50:07,069 WARNING  日本語、大丈夫?
Traceback (most recent call last):
  File "/usr/lib/python2.3/logging/handlers.py", line 482, in emit
    smtp.sendmail(self.fromaddr, self.toaddrs, msg)
  File "/usr/lib/python2.3/smtplib.py", line 688, in sendmail
    (code,resp) = self.data(msg)
  File "/usr/lib/python2.3/smtplib.py", line 485, in data
    self.send(q)
  File "/usr/lib/python2.3/smtplib.py", line 312, in send
    self.sock.sendall(str)
  File "<string>", line 1, in sendall
UnicodeEncodeError: 'ascii' codec can't encode characters in position 189-196: ordinal not in range(128)


489 :デフォルトの名無しさん:2006/08/18(金) 11:18:33
>>488
検証用の短いソースがあったほうが
いいよね。

490 :488:2006/08/18(金) 11:27:53
設定ファイル test.cnf
------------------------------------------
[loggers]
keys=root

[logger_root]
level=NOTSET
handlers=mail

[handlers]
keys=mail

[handler_mail]
class=handlers.SMTPHandler
level=WARN
formatter=form01
args=('localhost', '送信元@hoge.com', ['送信先@hoge.com'], 'Logger Subject')

[formatters]
keys=form01

[formatter_form01]
format=%(asctime)s %(levelname)-8s %(message)s
datefmt=


491 :デフォルトの名無しさん:2006/08/18(金) 11:30:25
テストモジュール test.py
---------------------------------------
#!/bin/env python
# -*- coding: utf-8 -*-

import logging
import logging.config

logging.config.fileConfig("test.cnf")

logging.warning(u'日本語、大丈夫?')


492 :488:2006/08/18(金) 11:31:12
以上です。
よろしければ、アドバイスをお願いいたします。

493 :デフォルトの名無しさん:2006/08/18(金) 12:02:29
>>491
>logging.warning(u'日本語、大丈夫?')

logging.warning(u'日本語、大丈夫?').encode('utf-8')

してみれ


494 :デフォルトの名無しさん:2006/08/18(金) 12:06:21
あ、カッコの位置がずれた
それくらい脳内補完すれ

495 :デフォルトの名無しさん:2006/08/18(金) 12:25:19
>>488
ちょろっとhandlers.pyのソースを覗いてみた.
handlers.py の中でメールのヘッダと本文を生成してるけど
MIMEヘッダーとかは付いてない.From:, To:, Subject:, Date:, 本文.

なので >>493 のようにencode()使えばUnicodeErrorは出なくて
メールは送信できるかもしれんが,メーラによっては文字化けすると思うよ.

SMTPHandlerを継承して,MIMEヘッダ付きメッセージを生成するemit()を
実装したハンドらを作るしかないかな.


496 :デフォルトの名無しさん:2006/08/18(金) 12:42:20
ありがとうございます。
logging.warning(u'日本語、大丈夫?'.encode('iso-2022-jp'))
これで確かにメールには日本語が送れるようになりました。
しかし、当然ですが、コンソールやログファイルへの書き込みは化けます。
そちらはutf-8ですから。

ちょっと独自のHandlerを作っている余裕はありませんので、
やはり、ロギングにはasciiしか使わないことにします。

いろいろお世話になりました。


497 :デフォルトの名無しさん:2006/08/18(金) 13:03:04
>496
sitecutomize.py
をつくってそのなかに
sys.setdefaultencoding('utf-8')
で解決しない?
詳しくはsite.pyの中を参照。

498 :デフォルトの名無しさん:2006/08/18(金) 13:05:59
..typo
sitecutomize.py -> sitecustomize.py

499 :デフォルトの名無しさん:2006/08/18(金) 13:07:35
497より497=488の方がよく分かっていそうな件

500 :デフォルトの名無しさん:2006/08/18(金) 14:40:56
>>497-498
ありがとうございます。ご返事遅れました。
その方法はデフォルトのエンコーディングを指定するためのもので、
対話環境でのを実行には不可欠ですが、
>>491のように、モジュールファイルの2行目でエンコーディングを明示して
ある場合、動作に影響はしないと思います。


501 :デフォルトの名無しさん:2006/08/18(金) 15:25:37
import logging.handlers
def emit(self, record):
try:
import string
import smtplib
port = self.mailport
if not port:
port = smtplib.SMTP_PORT
smtp = smtplib.SMTP(self.mailhost, port)
msg = self.format(record)

jmsg = "Content-Type: text/plain;charset=\"iso-2022-jp\"\r\n"
jmsg += "Content-Transfer-Encoding: 7bit\r\n"

msg = "From: %s\r\nTo: %s\r\nSubject: %s\r\nDate: %s\r\n%s\r\n%s" % (
self.fromaddr,
string.join(self.toaddrs, ","),
self.getSubject(record),
self.date_time(), jmsg, unicode(msg).encode('iso-2022-jp') )

smtp.sendmail(self.fromaddr, self.toaddrs, msg)
smtp.quit()
except:
self.handleError(record)

logging.handlers.SMTPHandler.emit=emit
logging.config.fileConfig("test.conf")


502 :デフォルトの名無しさん:2006/08/18(金) 15:27:27
みすた。これで動くんでないか。

def emit(self, record):
  try:
    import string
    import smtplib
    port = self.mailport
    if not port:
      port = smtplib.SMTP_PORT
    smtp = smtplib.SMTP(self.mailhost, port)
    msg = self.format(record)

    jmsg = "Content-Type: text/plain;charset=\"iso-2022-jp\"\r\n"
    jmsg += "Content-Transfer-Encoding: 7bit\r\n"

    msg = "From: %s\r\nTo: %s\r\nSubject: %s\r\nDate: %s\r\n%s\r\n%s" % (
      self.fromaddr,
      string.join(self.toaddrs, ","),
      self.getSubject(record),
      self.date_time(), jmsg, unicode(msg).encode('iso-2022-jp') )
 
    smtp.sendmail(self.fromaddr, self.toaddrs, msg)
    smtp.quit()
  except:
    self.handleError(record)

logging.handlers.SMTPHandler.emit=emit
logging.config.fileConfig("test.conf")


503 :488:2006/08/18(金) 16:08:17
今試してみました。バッチリです!ありがとうございました。

なお、設定ファイルには書いてありませんが、同時にRotatingFileHandlerも
使っていて、こちらも文字化けしています。
こちらのほうも、SMPTHandlerと同じ要領で自分で修正してみようかと思います。


504 :デフォルトの名無しさん:2006/08/18(金) 16:13:04
どういたしまして。
loggingって使ったこと無かったので
丁度良い勉強になりました。

505 :488:2006/08/18(金) 16:48:10
すみません、一つ訂正です。
RollingFileHandlerは、出力は文字化けしていませんでした。
文字化けしていたのはEmacsの方でした。

何度か試行錯誤したときに、iso-2022-jpで出力したことがあって、
そのせいでEmacsが文字コードを誤判定してしまっていただけでした。


506 :デフォルトの名無しさん:2006/08/18(金) 17:43:19
SMTPHandler.emit()は、2行追加して1行修正するだけなのに、メソッド全体を
書き直すのはもったいないなあ、継承で何とかできないかな、と思ったんだけど、
試行錯誤したところ、やっぱりダメでした。全体を書き直すしかないみたい。


507 :デフォルトの名無しさん:2006/08/18(金) 19:21:54
>>506
configにかかないで、loggingインスタンスを
ソースの中でつくって、handlerをセットすれば
SMTPHandlerの継承でいいんでないかい。
とおもいますけど。configfileは、docにあるように
名前空間のなかでevalするらしいです。

508 :デフォルトの名無しさん:2006/08/18(金) 19:22:56
>>467
>継続とは結局、
>・現在実行中の環境を凍結、保存
>・保存した環境を呼び出して復活
>する機能のことで、その応用範囲は大変広い。

すみません、よくわかってないんですけど、ここでいう「環境」って具体的に何ですか。
Schemeででてくるんですけど、「環境」という抽象的であいまいな言葉で説明されるから
なんのことやらさっぱりわかりません。
ローカル変数は「環境」とやらに含まれる?

スレ違いですけどもし興味のある人いたら教えてください!

509 :デフォルトの名無しさん:2006/08/18(金) 19:33:23
schemeの話で、しかもまだ下書きのようだがこれ読め
ttp://www.shiro.dreamhost.com/scheme/docs/cont-j.html

510 :デフォルトの名無しさん:2006/08/18(金) 19:57:35
Shiroさんのサイトは移転したよ。
http://practical-scheme.net/docs/cont-j.html

こちらもおすすめ
「なぜSchemeにはreturnが無いのか」
http://practical-scheme.net/wiliki/wiliki.cgi?Scheme%3a%e3%81%aa%e3%81%9cScheme%e3%81%ab%e3%81%afreturn%e3%81%8c%e7%84%a1%e3%81%84%e3%81%ae%e3%81%8b

あとはLisp Schemeスレへ。
http://pc8.2ch.net/test/read.cgi/tech/1151025773/l20


511 :デフォルトの名無しさん:2006/08/18(金) 20:10:55
>>507
いや、継承で行けることは分かっているんです。
ロギングの環境設定ファイルは、名前空間loggingの中でevalされますから、
SMTPHandlerを継承した新Handlerクラス 例えばHogeHandler をどこかで作っ
た後、
logging.HogeHandler = HogeHandler
を実行してやればいい。
こう書けば、環境設定ファイルの中ではHogeHandlerとだけ書けばこれが指定
されます。

自分が考えていたのは、このHogeHandler の emit()メソッドを実装するに当
たって、その内部でSMTPHandler.emit()を呼び出すことで、書くべき行数を減
らせないか、ということでした。

で、結論は「無理」と。SMTPHandler.emit() をHogeHandlerに全部コピペして、
それを修正する以外にない、ということでした。
だったら、>>502のやり方でもおんなじだし、むしろ502の方がいいかな、と。


512 :デフォルトの名無しさん:2006/08/18(金) 20:45:33
>>508
> ローカル変数は「環境」とやらに含まれる?
含まれるよ。
そうでないと、Pythonでyield文が実行されたあと、次に呼ばれたときに、続
きの行から実行を再開することができないだろう?
ローカル変数の値が保持されてなかったら、続きじゃないよ。


513 :デフォルトの名無しさん:2006/08/18(金) 21:21:38
どうもです。

>>509
そのページは読んだことあるけど、さっぱり理解できませんでした。
みなさん頭いいんですね。
アセンブラわからないと継続は理解できないってこと?

>>512
「継続」には、ローカル変数以外には何が必要でしょうか。

514 :デフォルトの名無しさん:2006/08/18(金) 21:42:07
> アセンブラわからないと継続は理解できないってこと?
わかんなくてもいい。私も知らない。だけどスタックとレジスタは知っておか
ないと分かりづらい。
継続って要するに、復帰の順序が固定されてない(LIFOじゃない)、ランダムに
何度も呼び出せるスタックだから。

> 「継続」には、ローカル変数以外には何が必要でしょうか。
基本的には全部。
要するに、ある箇所で停止したプログラムを再開させるのに必要な情報すべて。
・実行箇所
・ローカル変数
・ネストしたスコープと、その各々に存在する変数と値。

Schemeの場合、グローバル変数の値は保持されない。すまんがPythonは知らない。
多分大きく違わないと思うけど。


515 :デフォルトの名無しさん:2006/08/18(金) 21:47:35
>>513
ここ最近紹介されたURL全部読んでるか?

516 :デフォルトの名無しさん:2006/08/18(金) 21:49:37
>>514
いやいや、スタックもレジスタも知らなくていいでしょ。
高水準言語レベルで説明できるし。

517 :デフォルトの名無しさん:2006/08/18(金) 21:53:04
>>516
そんなもんかな。うん、私が古いのかも。
スタックとレジスタの説明で、分かる人にはすぐ分かるんだけど、知らないと
つらいかな。


518 :デフォルトの名無しさん:2006/08/18(金) 22:06:27
そのレベルで話をするなら、それこそ処理系依存ということになるのでは?

519 :デフォルトの名無しさん:2006/08/18(金) 22:10:24
そうかもしれない。あくまで例えで出したつもりだったが、もうスタックには
こだわらないことにするよ。


520 :デフォルトの名無しさん:2006/08/18(金) 22:26:28
あと、アドバイスをするとしたら、

・継続の理解には時間がかかることを覚悟しよう
恥ずかしながら、私の場合は納得するまで、断続的に1ヶ月ぐらい考えたと思
う。最初は>>509のリンク先も全然分からなかった。
他の人はこんなにかからないだろうけど、リンク先の著者のShiroさんも、けっ
こう理解に苦労したと言っていた。まあ気長に行くのがいいんじゃないかな。
試験対策ならご愁傷様だけど。

・Pythonのジェネレータの仕組みを考えてみる
せっかくPythonを知っているのだから、なぜyieldの続きから実行を再開でき
るのか考えてみよう。結局、「その箇所で保存された継続を呼び出している」
ことに思い当たるんじゃないだろうか。


521 :デフォルトの名無しさん:2006/08/18(金) 22:31:03
一瞬で理解できた俺は天才なのか

522 :デフォルトの名無しさん:2006/08/18(金) 22:34:39
そうかも知れんね。いや真剣にうらやましい。

523 :521:2006/08/18(金) 22:49:56
>>467読んで、IBMのdW読んだら、何の疑問も無く理解できたんだけど、
俺ひょっとして何もわかってなかったりするのか?

524 :デフォルトの名無しさん:2006/08/18(金) 22:51:07
PythonにRuby gemsみたいなのはありますか?

525 :デフォルトの名無しさん:2006/08/18(金) 22:54:18
Ruby gemsってなーに?

526 :デフォルトの名無しさん:2006/08/18(金) 23:01:20
PerlでいうPPMだな<RubyGems

527 :デフォルトの名無しさん:2006/08/18(金) 23:04:09
>>523
いや、分かってると思うよ、十分。
私はSchemeで学んだから、継続そのものの概念と、それのScheme内部での位置
づけ(要するに、継続がラムダ関数の一種となっていること)とを同時に理解
しなければならなかった。そのせいで敷居が高かったんだな。


528 :デフォルトの名無しさん:2006/08/18(金) 23:07:48
RubyGemsってこれか。要するにCPAN?
http://jp.rubyist.net/magazine/?0006-PackageManagement


529 :デフォルトの名無しさん:2006/08/18(金) 23:08:42
>>526
ん、RubyGemは、Perlで言えばCPANかな。
パッケージマネージャで、ネット経由でパッケージのインストールや更新が出来る。
Python初心者なので、似たようなものがあるかどうかは知らない。

530 :デフォルトの名無しさん:2006/08/18(金) 23:09:36
かぶった orz

531 :デフォルトの名無しさん:2006/08/18(金) 23:12:12
だったらこれかな。

Python Cheeze Shop
http://cheeseshop.python.org/pypi
http://www7a.biglobe.ne.jp/~yasozumi/python/wiki/#p6


532 :デフォルトの名無しさん:2006/08/18(金) 23:19:42
yieldは本当に必要なんだろうか。
クロージャとどう違うのかいまいちわかんないなぁ。
ま、動くからいいか^^

533 :デフォルトの名無しさん:2006/08/18(金) 23:26:03
>>531
そっちじゃなくて Python EGGs じゃないか?

534 :デフォルトの名無しさん:2006/08/18(金) 23:27:47
http://peak.telecommunity.com/DevCenter/EasyInstall

535 :デフォルトの名無しさん:2006/08/18(金) 23:32:52
>>532
すまんが何を言っているのか全然分からん。
Pythonのすべての関数は基本的にクロージャだし、
その関数の中で、yield文を持つものがジェネレータだよね?


536 :デフォルトの名無しさん:2006/08/18(金) 23:53:37
Rubyスレより盛り上がってね?
いよいよPython来たか

537 :デフォルトの名無しさん:2006/08/19(土) 00:30:40
いきなりレベルを下げてみるテスト。1/3と1.0/3と1.0//3はすべて違うのに
確か次のバージョンで、どれかが無くなるんだよね。いいのかなー。

538 :デフォルトの名無しさん:2006/08/19(土) 00:54:27
>>537
今のうちから、from __future__ import division をして、既存のコードの動
作を確認するのだ。
しかし、ユニットテストでも組んでおかないと、やっぱり大変だよね。

ちなみに 1 / 2 => 0 だったのが、0.5になるように。
これがデフォルトになるのはPython3から。

>>> from __future__ import division
>>> division
_Feature((2, 2, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0), 8192)


539 :デフォルトの名無しさん:2006/08/19(土) 01:54:06
Python3っていつ頃出そうな感じですか?

540 :デフォルトの名無しさん:2006/08/19(土) 02:09:45
>>539
最初のαが、早くて2007年中

541 :デフォルトの名無しさん:2006/08/19(土) 02:42:43
Python 2.5 rc1

542 :デフォルトの名無しさん:2006/08/19(土) 07:36:04
>>540
え、そんな現実的な話なの?

543 :デフォルトの名無しさん:2006/08/19(土) 10:25:28


544 :デフォルトの名無しさん:2006/08/19(土) 11:10:21
PythonのCPANみたいなもんか、
パイパンと呼ばれないことを希望したい。

545 :デフォルトの名無しさん:2006/08/19(土) 11:16:41
>>542
ttp://www.python.org/dev/peps/pep-3000/

Timeline
We need a meta-PEP for the Python 3000 timeline. At this moment, I hope to have a first alpha release out sometime in 2007; it may take another year after that (or more) before the first proper release, named Python 3.0.

PEP位嫁

546 :デフォルトの名無しさん:2006/08/19(土) 23:50:50
Python3000ってことは94年後にリーリスされるってことか?w

3000とかってFortran 3000水準を思い浮かべてしまう

547 :デフォルトの名無しさん:2006/08/20(日) 00:12:33
2100?

548 :デフォルトの名無しさん:2006/08/20(日) 00:39:39
*args、**argsの仕様ってなんぞや。
sys.argv[1:]の別名らしいんだけど、リストの頭に\*なんて付けていいもんか。

549 :デフォルトの名無しさん:2006/08/20(日) 00:56:56
>>> def to548(a, b, *args, **kwargs):
...   print a, b, args, kwargs

>>> to548(1, 2)
1 2 () {}
>>> to548(1, 2, 3)
1 2 (3,) {}
>>> to548(a=1, b=2, c=3)
1 2 () {'c': 3}
>>> to548(1, 2, 3, d=4)
1 2 (3,) {'d': 4}
>>> to548(1, 2, *(3, 4))
1 2 (3, 4) {}
>>> to548(1, 2, **{'d': 3, 'e': 4})
1 2 () {'e': 4, 'd': 3}
>>> to548(1, 2, *(3, 4, 5), **{'f': 6, 'g': 7})
1 2 (3, 4, 5) {'g': 7, 'f': 6}


550 :デフォルトの名無しさん:2006/08/20(日) 15:36:08
良く分かんないけど、面白そうなんで置いていきますね。

Python で作る Prolog 処理系
http://www.okisoft.co.jp/esc/prolog/in-python.html

551 :デフォルトの名無しさん:2006/08/20(日) 16:46:45
みんPyが書泉でフライングしてたから買ってきた.

552 :デフォルトの名無しさん:2006/08/20(日) 16:48:58
内容の方はどんな感じですか

553 :デフォルトの名無しさん:2006/08/20(日) 21:18:07
>549
自動的に欲しい形(タプル、辞書)を探して、合致したものがあれば格納するのね。
便利な使いどころと厳密な仕組みはまだ分からないけど、*と**付き書式が
正当なものだってことを知れた。ありがとう、これ難しいねえ。

554 :デフォルトの名無しさん:2006/08/20(日) 22:14:54
>>550
prologのインタープリターな処理系探してたので、参考になりました。
というかGETしました。
先生と生徒の自演形式がキモイですね(

555 :デフォルトの名無しさん:2006/08/21(月) 00:27:10
>>554

こういう感じでアイコン付きで対話形式ならいいのになぁw
ttp://furusityofu.gozaru.jp/index.html/sinjyuwan/hajimeni.html


556 :デフォルトの名無しさん:2006/08/21(月) 09:19:41
Dr.Dとつぐ美でいいだろ

557 :デフォルトの名無しさん:2006/08/21(月) 13:46:55
影と編さんはどうしたw

558 :デフォルトの名無しさん:2006/08/21(月) 14:14:08
>>555
そっちのほうがキモいわ!

559 :デフォルトの名無しさん:2006/08/21(月) 14:33:39
なにこの展開

560 :デフォルトの名無しさん:2006/08/21(月) 18:10:58
eazy_installしたモデュールだと、
help(mechanize)ってな感じでできないんですかね
WindowsError: [Errno 3] 指定されたパスが見つかりません。:
u'X:\\path_to_packages\\mechanize-0.1.2b-py2.4.egg\\mechanize/*.*'
と言われるのだけども。非winだと素直にみれる?
まあ、egg展開すりゃいいんだろけど……

561 :デフォルトの名無しさん:2006/08/22(火) 01:42:13
ふつーにみれますよ

562 :デフォルトの名無しさん:2006/08/22(火) 05:03:51
ふつうにみれなかった

563 :デフォルトの名無しさん:2006/08/23(水) 00:03:06
スクリプト内で下のような関数を何度も呼び出して
追加ダウンロードをしているのですが
netstat で見ると CLOSE_WAIT が大量に残ってしまいます。
スクリプトを終了するとすべて消えてくれるのですが
どう直せばよいのでしょうか?

def urlget(url, file):
  if os.path.exists(file):
    dst = open(file, "ab")
    size = os.path.getsize(file)
  else:
    dst = open(file, "wb")
    size = 0

  req = urllib2.Request(url)
  req.add_header("Range", "bytes=%d-" % size)
  try:
    src = urllib2.urlopen(req)
    dst.write(src.read())
    src.close()
  except:
    pass
  dst.close()

  return os.path.getsize(file) - size


564 :デフォルトの名無しさん:2006/08/23(水) 00:25:57
>>563
あてずっぽうだけど、dst.close()のあとにdst=Noneをいれるとか


565 :デフォルトの名無しさん:2006/08/23(水) 00:35:52
>>564
dstは明らかにローカルファイルだから関係無いだろ。

>>563
    dst.write(src.read())
の行で例外が起きたら、src.close()が呼ばれないぐらいしか思いつかん

566 :デフォルトの名無しさん:2006/08/23(水) 00:56:42
>>564>>565
下のようにしてみましたが状況は変わりませんでした。
dst=Noneを入れても同じでした。

def urlget(url, file):
  if os.path.exists(file):
    mode = "ab"
    size = os.path.getsize(file)
  else:
    mode = "wb"
    size = 0
  req = urllib2.Request(url)
  req.add_header("Range", "bytes=%d-" % size)
  try:
    src = urllib2.urlopen(req)
  except:
    src.close()
    return 0
  try:
    tmp = src.read()
    src.close()
  except:
    src.close()
    return 0
  dst = open(file, mode)
  dst.write(tmp)
  dst.close()
  return os.path.getsize(file) - size

567 :デフォルトの名無しさん:2006/08/23(水) 01:21:28
まずは OS を晒せLinux 2.4 系だったら無害だからほっとけ

568 :デフォルトの名無しさん:2006/08/23(水) 01:32:20
WinXP SP2 の Cygwin 版 Python 2.4.1 です。
無害か有害かはわからないのですが
気持ち悪いのでできれば解消したいなと思いまして。

569 :デフォルトの名無しさん:2006/08/23(水) 01:35:05
Windows2000 で >>566 やってみた。

urlget を呼んだ直後は CLOSE_WAIT
Python 終了させずに少し待つと CLOSE_WAIT が消える。

570 :デフォルトの名無しさん:2006/08/23(水) 01:36:21
あれ、おかしいな。
俺のWin2kだとなぜかFIN_ACKが溜まるぞ。

GETリクエストに Connection: close 入ってるから
鯖側から切られるんだよな?
TCPの詳細を見ると、
データの転送が終わったら、いきなり FIN+ACK が飛んで来て
それにACKを返して終了。
なんじゃこりゃ?

571 :569:2006/08/23(水) 01:36:37
(補足)Windows2000 の Python 2.4.2
cygwinのではない

572 :デフォルトの名無しさん:2006/08/23(水) 01:45:04
socket.setdefaulttimeout()
でも、あらかじめセットしておけば
消えてくれるんじゃないでしょうか。

573 :デフォルトの名無しさん:2006/08/23(水) 12:51:19
urllib2.Request の前に
socket.setdefaulttimeout(10)
を入れてみましたが変化ありませんでした.

Linux 2.6.12.6/Python 2.4.3 でも試しましたが
同じように CLOSE_WAIT だらけになりました.


574 :デフォルトの名無しさん:2006/08/23(水) 14:06:17
元質問者じゃなくて通りすがりで気になったんですが
CLOSE_WAIT が溜まるとどんな問題が起きるんでしたっけ?

っていうか放置すると悪いの?

>567
Linux 2.4系の known bug ってことでしょうか?

575 :デフォルトの名無しさん:2006/08/23(水) 14:44:58
>>573
勘違い鴨だけど urllib2 は HTTP の接続をちゃんと閉じてない希ガス。
試しに以下のようなコードを入れてみたらどーでしょ。

class HTTPHandler(urllib2.HTTPHandler):
  def http_open(self, req):
    return self.do_open(self.http_class, req)
  def http_class(self, host):
    self._conn = httplib.HTTPConnection(host)
    return self._conn
  def close(self):
    self._conn.close()
    #print "closed"

handler = HTTPHandler()

urllib2.install_opener(urllib2.build_opener(handler))

def urlget(url, file):
   :
  handler.close() # XXX
  return os.path.getsize(file) - size

576 :デフォルトの名無しさん:2006/08/23(水) 15:09:03
Windows XP で試してみた。
urllib2.AbstractHTTPHandler.do_open の下の方の r.recv = r.read が原因らしい。
循環参照問題が起こっているらしいので f.fp._sock.recv = None を入れるか
gc を使えば CLOSE_WAIT は残らなくなった。

(urllib.urlopen の戻り値 == urllib.addurlinfo,
urllib.addurlinfo.fp == socket._fileobject,
socket._fileobject._sock == httplib.HTTPRequest)

from urllib2 import urlopen
import gc
url = "http://www.yahoo.co.jp/"
for i in range(3):
  f = urlopen(url)
  #f.fp._sock.recv = None
  f.close()
gc.collect()
raw_input("...")

577 :576:2006/08/23(水) 15:22:20
socket._fileobject._sock == httplib.HTTPRequest
=>
socket._fileobject._sock == httplib.HTTPResponse


578 :デフォルトの名無しさん:2006/08/23(水) 16:08:09
class X:
def __del__(self):
print "deleted"

def recv(self):
pass

x = X()
x.read = x.recv
del x

raw_input("...")

でも確かに削除されないね。なぜこれで循環参照になるのか誰か教えて。

579 :デフォルトの名無しさん:2006/08/23(水) 17:01:45
x.recv が返すのはバウンド(束縛)メソッドだから im_self で x の参照を持っている。
>>> x.read = x.recv
>>> x.read.im_self is x
True

だから参照カウンタは 0 にならない。

# x の参照カウンタ +1 => 1
x = X()
# x の参照カウンタ +1 => 2
x.read = x.recv
# x の参照カウンタ -1 => 1
del x

580 :578:2006/08/23(水) 17:48:02
>>579
なるほど、よくわかりました。サンクス。

http://python.org/sf/1208304 で一年前に報告されてるけど、
まだ直ってないっぽいですね。なんか根が深いのかな。


581 :デフォルトの名無しさん:2006/08/23(水) 19:33:45
みんなのPythonを買ってみたけど・・・
ぐぐってみつかるようなHPと大して変わらないんじゃないこれ?

582 :デフォルトの名無しさん:2006/08/23(水) 20:00:36
>>575
これやってみようと思いましたがうまく動きませんでした。
たぶん urllib2.urlopen() で例外が発生しているようなのですが
>>576 で解決したのでそれ以上追求してません。

>>576
urlget の中で return の直前に gc.collect() を入れることで
CLOSE_WAIT が残らないことを確認しました。
これでスッキリしました。ありがとうございました。

583 :デフォルトの名無しさん:2006/08/23(水) 22:02:43
>>581
はじパイに比べるとどんな感じ?
あの冗長さが少しでも軽減されるのであれば、存在価値はあるかなって感じ。

つか、ググって見つかるようなHPは内容が網羅的じゃないでそ。

584 :デフォルトの名無しさん:2006/08/23(水) 22:10:46
>>581
俺もそう思った。

金損した。

585 :デフォルトの名無しさん:2006/08/23(水) 22:22:36
損したと思った奴は、周りに布教する時に渡してみるといいんじゃね?

586 :デフォルトの名無しさん:2006/08/23(水) 22:31:43
俺の近所のBookoffに売ってくれw

587 :デフォルトの名無しさん:2006/08/23(水) 22:49:50
そもそもココにいるレベルのやつは主対象ではないでしょ。
著者も比較的近くにいると思うし、良い点、改善すべき点を挙げていったほうが建設的なんじゃまいか。


588 :デフォルトの名無しさん:2006/08/23(水) 22:54:59
でもさ、Pythonの本書くのって難しいそうじゃね?
初心者向きの言語ではあるけど、まったくのプログラム初心者が
いきなりPythonからプログラミング言語を学び始めるとは思えないし、
かといってPerlなんかから流れてきたある程度プログラム書ける
人もいるわけだし、誰を基準にして書いていいかわからんじゃないか。
はじPyはどういう人でも参考になるって意味じゃ、いい本の部類に
入るんじゃないか。確かに冗長すぎるとは思うけど。というか、初めから
読み進めると挫折しそうだ。。。

589 :デフォルトの名無しさん:2006/08/23(水) 23:01:18
>>588
はじパイは進め方がまるっきり「講義」だよね。
出席することを前提として、カリキュラムの中に復習を盛り込んでる。

590 :デフォルトの名無しさん:2006/08/23(水) 23:43:30
>初心者向きの言語ではあるけど、まったくのプログラム初心者が
>いきなりPythonからプログラミング言語を学び始めるとは思えないし、

もう、そういう時代になったっていいじゃないか

大学のプログラミング入門的コースで python 使ってるところは
あるって話だし

591 :デフォルトの名無しさん:2006/08/24(木) 00:25:37
>>590
Using Python in a High School Computer Science Program - Year 2

ttp://www.elkner.net/jeff/pyYHS/year02/pyYHS2.html

592 :デフォルトの名無しさん:2006/08/24(木) 00:48:47
184ページのPyKfがURLの囲みじゃなくてコードの囲みになってるよ。

593 :デフォルトの名無しさん:2006/08/24(木) 01:13:45
今年の四月からプログラミングの勉強始めた身だけど
学校でやってる言語とは別に独学でPython勉強してるんだ
まだまだ全然だけど勉強するのは楽しいよ

はじパイ持ってるけどもあの本はプログラミング初心者にもいいと思う
かなり内容が詰まってて、読み進めるだけでも時間かかっちゃうけどそれがいい

何より数ある言語の中からPythonを選んだ理由は
可読性の高さを重視するって辺りに惹かれた
書けば書くほど自分の手札が増える言語なんて素晴らしいじゃない
まあ、偉そうな事は言えないけども、はやく住人達と肩を並べられるくらいになりたいな

594 :デフォルトの名無しさん:2006/08/24(木) 02:01:07
基本的に薄い本は「プログラミングの初心者」には勧めたくないな。
そういうのを選ぶ人の気持ちはわからないこともないが、良くてわかった気になるだけだろう。
恥パイくらいのボリュームをきちんと読めない奴はどうせプログラムを書けるようにはならない
と思うよ。

595 :デフォルトの名無しさん:2006/08/24(木) 02:15:43
つーか、本自体必要ないし

596 :デフォルトの名無しさん:2006/08/24(木) 07:12:00
スクリプト言語なんだから、素早く書ければそれでいい。
だからリファレンスで十分。

597 :デフォルトの名無しさん:2006/08/24(木) 08:06:25
みなさんモテなそうですね

598 :デフォルトの名無しさん:2006/08/24(木) 08:07:49
Pythonのリファレンスって調べづらい、と思ったことない?

599 :デフォルトの名無しさん:2006/08/24(木) 08:24:49
燕雀安知鴻鵠之志哉。

600 :デフォルトの名無しさん:2006/08/24(木) 08:30:51
>>599
よしよし
誰もキミのことを分かってくれないんだね

601 :デフォルトの名無しさん:2006/08/24(木) 08:35:00
おれ北冥の魚

602 :デフォルトの名無しさん:2006/08/24(木) 09:09:16
もてなそうですね

603 :デフォルトの名無しさん:2006/08/24(木) 09:11:36
>>601
有朋自遠方来、不亦楽乎

604 :デフォルトの名無しさん:2006/08/24(木) 09:46:11
おれ大村鯤

605 :デフォルトの名無しさん:2006/08/24(木) 09:55:56
焚書愛好会のHPへようこそ
 
 
 
 
 
 
 
はじめてのPythonだけは別格ですのでご注意ください。

606 :デフォルトの名無しさん:2006/08/24(木) 09:57:22
文字列の先頭と、'_'の直後の文字のみ大文字化
(例: 'foo_bar' => 'Foo_Bar')
って、Python でどう書くの?


607 :デフォルトの名無しさん:2006/08/24(木) 10:13:32
自己解決しました

608 :デフォルトの名無しさん:2006/08/24(木) 10:17:11
どうせならソースを貼っていってください。

609 :デフォルトの名無しさん:2006/08/24(木) 10:27:46
ruby なら gsub(pattern) {|matched| ... }  つかえば
簡単な話なんだけどねぇ。
python では難しいね。

610 :デフォルトの名無しさん:2006/08/24(木) 10:40:35
Pythonチュートリアルの日本語約で十分でないかい。

611 :デフォルトの名無しさん:2006/08/24(木) 10:41:10
難しいか?

612 :606:2006/08/24(木) 10:46:05
>>607 は私ではないので、
やりかたご存じの方がいらしたら教えてください。

チュートリアルってヘルプに付属のは見ましたが、
今回のパターンに外とするのはなかったようです。


613 :デフォルトの名無しさん:2006/08/24(木) 10:46:23
string.join( map( string.capitalize , s.split("_") ),"_" )

614 :606:2006/08/24(木) 10:52:07
なるほど。
助かりました。

615 :デフォルトの名無しさん:2006/08/24(木) 10:56:57
これでも出来る

>>> import string
>>> string.capwords("foo_bar", "_")
'Foo_Bar'


616 :デフォルトの名無しさん:2006/08/24(木) 10:58:34
キーと値の配列の配列があったとき、
最長のキーの長さを求めるにはどうしたらいいでしょうか?

データはこんな感じです↓
data=[ [ 'key1', 'value1], ['key2','value2'], ....]

617 :デフォルトの名無しさん:2006/08/24(木) 11:01:46
>>616
dictじゃなくってなんで配列なんだろう?


618 :デフォルトの名無しさん:2006/08/24(木) 11:02:37
max([len(p[0]) for p in data])

619 :デフォルトの名無しさん:2006/08/24(木) 11:05:48
チュートリアルは悪くないが、フツケルみたいに本屋に平積みされて予備軍の目を引いたりはしない。

620 :デフォルトの名無しさん:2006/08/24(木) 11:09:58
>>606
これでもOK

import re

s = "foo_bar"

print re.sub("[^_]+", lambda m: m.group(0).capitalize(), s)

621 :デフォルトの名無しさん:2006/08/24(木) 11:45:54
>>610
あれは翻訳がひどい。
英語で読んだ方がマシ。

622 :デフォルトの名無しさん:2006/08/24(木) 11:49:58
みなさんモテないでしょう?

623 :デフォルトの名無しさん:2006/08/24(木) 11:56:51
data.sort( reverse=True , cmp=lambda x,y: cmp( len(x[0]), len(y[0])))
print data[0] <- 一番長い奴。


624 :デフォルトの名無しさん:2006/08/24(木) 11:59:02
>>621
kwsk

625 :デフォルトの名無しさん:2006/08/24(木) 12:45:02
鬱な奴とか
ダメ人間が
根拠もなく否定的な書き込みするだろ
するともっと鬱になって
さらに否定的な書き込みを繰り返すんだ

それが2chさ

626 :デフォルトの名無しさん:2006/08/24(木) 13:02:26
>> ttp://coreblog.org/ats/scbscriber-of-coreblogml
> 「インストール方法」みたいな低ーーーいところとか,「落ちている物を拾って使います」的な乞食みたいな思想から抜け出せないのでは危ないと思います。
> 趣味で使うならいいんだけどね。しかしまあ,趣味の延長ではおいしい物食べられないし,車とかプラズマテレビは買えない(笑)。

で、初心者騙しの本書いて印税搾取かよ。
こいつ、言ってることと、やってることとが乖離してるね。
いい趣味をお持ちのようですなw

627 :デフォルトの名無しさん:2006/08/24(木) 13:21:11
>>626
文脈を無視した引用をする君の趣味のほうがキチガイじみている

628 :デフォルトの名無しさん:2006/08/24(木) 13:22:08
ここはちいさなとかげのいっぱいいるすれですね

629 :デフォルトの名無しさん:2006/08/24(木) 13:23:33
>>625
はいはい、関係者乙


630 :デフォルトの名無しさん:2006/08/24(木) 13:26:40
>>626
基地外怖い

631 :デフォルトの名無しさん:2006/08/24(木) 13:32:27
>>626
>625

632 :デフォルトの名無しさん:2006/08/24(木) 13:33:42
すいませんが
出版関係者と作者の方へ。

荒すな。

633 :デフォルトの名無しさん:2006/08/24(木) 13:35:34
>>632
>625

634 :デフォルトの名無しさん:2006/08/24(木) 13:42:36
落ちている物→Plone
拾って使います→COREBlog2

635 :デフォルトの名無しさん:2006/08/24(木) 13:55:30
落ちてる物を <- Python
拾って本を書いて <- みPy
調子こいてるよね。 <- 「落ちている物を拾って使います」的な乞食みたいな思想

636 :デフォルトの名無しさん:2006/08/24(木) 13:55:39
ぼかーん

637 :デフォルトの名無しさん:2006/08/24(木) 14:02:20
母艦?

638 :デフォルトの名無しさん:2006/08/24(木) 14:07:21
わざわざ自分から、気狂いの多い所にやってきて
宣伝することないし
好意的じゃなかったからって
荒さなくてもいいよね。

Pythonの話にもどろうよ。

639 :デフォルトの名無しさん:2006/08/24(木) 14:18:44
そうだな。またデザパタの話でもしてなごもうぜ。

640 :デフォルトの名無しさん:2006/08/24(木) 14:54:14
はじパイは50日かかった。まだ宿題は終わってない。
PHPにもRubyにもPerlにも勝った気がする。
CPANが羨ましくはあるけれども、CもJavaもお友達に見えてきた。

夏休みに最適な「はじめてのPython」をどうぞ。

641 :デフォルトの名無しさん:2006/08/24(木) 16:47:51
>640
はじめてのPythonの宣伝はいいんだけど…

文章が小学生レベル
いい年した大人でそれなら頭おかしい

642 :デフォルトの名無しさん:2006/08/24(木) 17:11:11
で、みんなのPythonはいい本なのか?

643 :デフォルトの名無しさん:2006/08/24(木) 17:20:56
いい本。

http://rgruet.free.fr/

644 :デフォルトの名無しさん:2006/08/24(木) 17:42:34
>>638
>わざわざ自分から、気狂いの多い所にやってきて
>宣伝することないし

けだし至言。

645 :点取り占い:2006/08/24(木) 18:34:34
みんPyに<a href="http://pya.cc/pyaimg/pimg.php?imgid=22217">ワクテカ</a>している ●2点

+   +
  ∧_∧  +
 (0゚・∀・)   ワクワクテカテカ
 (0゚∪ ∪ +
 と__)__) +


646 :デフォルトの名無しさん:2006/08/24(木) 18:39:22
キチガイ観察は面白いな(WWWWW

647 :デフォルトの名無しさん:2006/08/24(木) 18:55:06
あの...
そろそろPythonの話題を...
  
 
 
 
頭のおかしい人は放っておいて...


648 :デフォルトの名無しさん:2006/08/24(木) 19:33:02
>>647
どうぞ遠慮なく話題を振ってください。

649 :デフォルトの名無しさん:2006/08/24(木) 20:10:52
デコレータって何が便利なのかピンとこないのですが、
具体的にどんな場面で使うと便利なんでしょう?

650 :デフォルトの名無しさん:2006/08/24(木) 20:14:34
Python に関するドキュメントは

レイモンドの駄文

公式ドキュメント(特にライブラリリファレンス)

Dive

ソース解読

で充分。はじPyとかは不要。読む時間の無駄。

651 :デフォルトの名無しさん:2006/08/24(木) 20:20:28
みんなのPython、amazonで表紙買いしたけど、超期待はずれ orz
やっぱり本屋に行って、中身を見て買わないと駄目だね。

652 :デフォルトの名無しさん:2006/08/24(木) 20:20:46
うは(www
すごい粘着(wwww

これはモノホンのガイキチだわ(wwwwww

653 :デフォルトの名無しさん:2006/08/24(木) 20:24:01
みんPy評判悪いなぁ。
良かったって奴はいないのか?

654 :デフォルトの名無しさん:2006/08/24(木) 20:32:12
読んでないから分かりません。
厳密に言うと、読むに値しない本だと判断したので、どうでもいいです。

655 :デフォルトの名無しさん:2006/08/24(木) 20:41:41
田舎だとまずPythonの本なんて置かないからなぁ。
はじPyだって通販で買ったしさ。。。

656 :デフォルトの名無しさん:2006/08/24(木) 20:52:33
>>649

ttp://www.python.jp/doc/release/lib/built-in-funcs.html

classmethod(), staticmethod()

657 :649:2006/08/24(木) 20:57:20
>>656
でもclassmethodやstaticmethodなんて、めったに使わないですよね。
事実、標準ライブラリをgrepしてもほんの2、3モジュールでしか使われてないし。

658 :デフォルトの名無しさん:2006/08/24(木) 21:02:48
>>657
>でもclassmethodやstaticmethodなんて、めったに使わないですよね。
そうだね(w

CherryPyとかTGのコントローラにつくっくexposeとか見てみれ
テンプレート指定とかパリデーションチェックにつかっとる

659 :581:2006/08/24(木) 21:03:31
この本が悪いっていうわけじゃなくてさ、この2つのHPを参考にして書いたんじゃないのかな?ってだけだよ。
http://www.geocities.jp/shido_takafumi/py/python2.html
http://www.f7.ems.okayama-u.ac.jp/~yan/python/
逆にこの2つのページを読んで必要に応じてリファレンスを見たなら、本を買ったのと同じ効果が得られると思う。

660 :デフォルトの名無しさん:2006/08/24(木) 21:10:48
誰も Python の解釈本なんて欲っしてないし。
適当に使っていたら自然と分かるようになっているし。

661 :デフォルトの名無しさん:2006/08/24(木) 21:12:26
またモテなそうなひとたちが…。

662 :デフォルトの名無しさん:2006/08/24(木) 21:16:15
>659
やっぱり本物だったみたいだね.
ありがとうございました.

663 :581:2006/08/24(木) 21:31:18
>>662
本売りたいのは分かるけどさ・・・

664 :デフォルトの名無しさん:2006/08/24(木) 21:31:19
>>653
みんPyはまだ手にとって見てないんだけど、
たぶん入門書の利用者層ってのはこのスレの住人とは違う層なんだと思うよ。
集団がほとんどオーバラップしてない希ガス。

俺は先に標準チュートリアルを読んで後から入門書も読んだ口だけど、
入門書が不可欠だったかと問われたら答えは No だ。
Python を使い始めた頃にはネット上の文書やソースコードから情報を得る
すべを心得ていたからね。

しかし、だからと言って入門書の存在意義を否定したりはしない。
入門書が必要な利用者層というのは絶対居る(さもなければ本は出版されない)し、
ネットやソースコードに分散した情報を探しまわる時間コストを考えたら
手っ取り早くまとまっている本を買った方が安上がりということも大いにあり得る。

俺にとって入門書は無価値だったかと問われたら、これも答えは No だ。
通読して下線を引きまくって付箋だらけにした入門書というのは
手になじんだ道具みたいなもんで、他のリソースとは別の次元で便利だった。

まあ、買った本がクソだったら悪し様にいいたくもなるだろうけど、
どうせなら具体的にダメなところを指摘しようよ(もちろんイイところも聞きたい)。

665 : ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄:2006/08/24(木) 21:31:51
  ∧_∧
 ( ・∀・)
 ( 建前 )
 | | |
__(__)_)______________
 ( _)_)
 | | |
 ( 本音 )
 ( 。A。)
  ∨ ̄∨
__∧________

他人が必要としているものを作って売るのがアントレプレナとゆー人種なわけで、
自分にとって不要なものに価値を見出すことを知らないどこぞの誰かさんは
いつまでたってもいいように搾取され続ける哀れなプロレタリアなんだろうなあ。

666 :デフォルトの名無しさん:2006/08/24(木) 21:42:38
>>665
>662

667 :デフォルトの名無しさん:2006/08/24(木) 21:44:53
なんだかんだいって、
買わせようと誘導か。

指摘してやるから、PDFでくばれよ。
でも、本の内容云々じゃなくって
関係者が2chのPythonスレを荒してるのが
まず買わない理由。


668 :デフォルトの名無しさん:2006/08/24(木) 21:45:09
>>665
>625

669 :デフォルトの名無しさん:2006/08/24(木) 21:47:13
>>667
>638


670 :デフォルトの名無しさん:2006/08/24(木) 21:49:01
ほとんど本が出てないからって誰でも本を出せば売れると思ってない?

671 :664:2006/08/24(木) 21:52:23
俺は関係者ではないよ。言っても無駄だと思うが(笑

672 :デフォルトの名無しさん:2006/08/24(木) 21:56:41
 ┌─────────┐
 │ 基地外警報!!!  |
 │   基地外警報!! |
 └―――──――――┘
      ヽ(´ー`)ノ
         (  へ)
          く

673 :デフォルトの名無しさん:2006/08/24(木) 21:56:44
つか、本のダイキンくらいで「搾取」とか言ってる貧乏人に驚くよ
おまえはマルクスかっつーのw

674 :デフォルトの名無しさん:2006/08/24(木) 21:57:55
>>673
×ダイキン
○代金
エアコンスレに出入りしてるな

675 :デフォルトの名無しさん:2006/08/24(木) 21:59:30
>>663
>指摘してやるから、PDFでくばれよ。
>でも、本の内容云々じゃなくって
>関係者が2chのPythonスレを荒してるのが
>まず買わない理由。

買ってないみたいだから(wwwww
オマエは蟹工船か。

676 :デフォルトの名無しさん:2006/08/24(木) 22:07:19
>>673
       ヽ|/
     / ̄ ̄ ̄`ヽ、
    /         ヽ
   /  \,, ,,/    |
   | (●) (●)|||  |
   |  / ̄⌒ ̄ヽ U.|   ・・・・・・・・ゴクリ。
   |  | .l~ ̄~ヽ |   |
   |U ヽ  ̄~ ̄ ノ   |
   |    ̄ ̄ ̄    |


677 :581:2006/08/24(木) 22:08:18
俺は他のページと変わらないって書いてるだけで、酷い本だといってるわけじゃないよ?
どんな感じの本かを伝えてるだけじゃないか。
まあ、他の人はかね払う価値が無いとか書いていて、それはそれでもっともだと思うけどさ。
被害妄想なんじゃないの?

678 :デフォルトの名無しさん:2006/08/24(木) 22:08:52
>658
>でもclassmethodやstaticmethodなんて、めったに使わないですよね。
そうだね(w

ちゃんと答えてやれば。
ところでclassmethodとstaticmethodの違いって何?

679 :デフォルトの名無しさん:2006/08/24(木) 22:09:42
>>677
  ,j;;;;;j,. ---一、 `  ?--‐、_ l;;;;;;
 {;;;;;;ゝ T辷iフ i    f'辷jァ  !i;;;;; 本の感想を伝えたい
  ヾ;;;ハ    ノ       .::!lリ;;r゙
   `Z;i   〈.,_..,.      ノ;;;;;;;;>
   ,;ぇハ、 、_,.ー-、_',.    ,f゙: Y;;f    そんなふうに考えていた時期が
   ~''戈ヽ   `二´    r'´:::. `!   俺にもありました


680 :デフォルトの名無しさん:2006/08/24(木) 22:10:23
676 = 677 = 678
乙。

681 :デフォルトの名無しさん:2006/08/24(木) 22:13:35
ちいさなとかげはひとりぼっち
とうとう切ってすてるしっぽもなくなってしまいました

682 :581:2006/08/24(木) 22:14:44
>>679
期待して間違って買っちゃったらかわいそうじゃない。

683 :デフォルトの名無しさん:2006/08/24(木) 22:25:55
>>678
classmethodは第一引数にクラスオブジェクトが渡される…だけかな。

684 :デフォルトの名無しさん:2006/08/24(木) 22:26:02
>>680

    /\___/ヽ
   /''''''   '''''':::::::\
  . |(●),   、(●)、.:|
  |   ,,ノ(、_, )ヽ、,, .::::|
.   |   `-=ニ=- ' .:::::::|
   \  `ニニ´  .:::::/
   /`ー‐--‐‐?´\


685 :デフォルトの名無しさん:2006/08/24(木) 22:36:53
みんPyごときでスレが伸びる原因は、作者が混じってるから。

686 :デフォルトの名無しさん:2006/08/24(木) 22:47:06
自分の本でもないのに、否定的意見を言う奴にキチガイ認定するなんて、
考えられない。つまり、著者降臨。

687 :デフォルトの名無しさん:2006/08/24(木) 22:48:55
>>686
おまえキチガイだろwww

688 :デフォルトの名無しさん:2006/08/24(木) 23:00:38
pythonの話しようぜ!

今日仕事中偶然pyISAPIeの存在を知って早速試してみた。
結構簡単にIIS+Djangoに成功!
いいねこれ!

クソ営業が今度Windowsサーバの案件持ってきやがったら次はコレだな!

689 :デフォルトの名無しさん:2006/08/24(木) 23:01:08
    /\___/\
   /''''''     ''''''::\
   |(●),    、(●)、.|  >>687さん
   |   ,,ノ(、_, )ヽ、,, .:|
   |   `-=ニ=- '  .:::::|
   \  `ニニ´  ._/
   (`ー‐--‐‐?/  ).|´
    |       |  ヽ|
    ゝ ノ     ヽ  ノ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

    /\___/\
   /''''''     ''''''::\
   |(へ),    、(へ)、.|  ふふ、呼んでみただけ♪
   |   ,,ノ(、_, )ヽ、,, .:|
   |   `-=ニ=- '  .:::::|
   \  `ニニ´  ._/
   (`ー‐--‐‐?/  ).|´
    |       |  ヽ|
    ゝ ノ     ヽ  ノ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄


690 :デフォルトの名無しさん:2006/08/24(木) 23:02:16
キチガイ粘着してるから真面目に書いても仕方ないのかもしれんけど

本屋でチラ見してきた

「とりあえず python の本」という向きには良さそうだし
文字コード関連とか日本で使う人が気にする点についても
(多くはないけど)記述はされているし、いいんじゃないですかね。

# 自分の思う通りの本(←あるのか?)以外は全て叩こうっていう人は
# 一体何をして生きているのやら…

691 :デフォルトの名無しさん:2006/08/24(木) 23:22:17
              \|/
本   〜〜〜〜    ー○ー
↑|     Python    / | \
↑|     ↑    |/ とりあえず
       ↑     ̄
       ◎
      \|/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
みんPy

692 :デフォルトの名無しさん:2006/08/24(木) 23:48:36
みんなのPython、まだ都内の図書館には無いなあ。
http://metro.tokyo.opac.jp/

最寄の館に購入を依頼してみました。


693 :デフォルトの名無しさん:2006/08/24(木) 23:57:23
>>690
金は多少掛かってもいいから手間をかけずにPythonをざっと理解したい、という他言語経験者向けには良い本じゃないかな
純粋な「プログラミング初心者」には薦められないけれども

694 :デフォルトの名無しさん:2006/08/24(木) 23:58:01
始めまして。

web系の開発ですが最近pythonを始めたものです。
質問があります。

-----------------------------------

<!--tagST-->文字列<!--tagED-->
<!--tagST-->文字列2<!--tagED-->



------------------------------------

上記のような文字列からタグに囲まれている文字列を抽
出し置換していきたいんですが、正規表現でやるにしてもpythonだと
perlみたいに$1(だっけ?)みたいにして値を取れないですよね?


何かよい方法はがあれば教えていただけませんでしょうか?

695 :デフォルトの名無しさん:2006/08/25(金) 00:03:59
>>964
自分で自分の質問に答えたりして(wwwwwwwwwwwwww

696 :デフォルトの名無しさん:2006/08/25(金) 00:43:40
>>694
import re

697 :694:2006/08/25(金) 00:58:22
今調べてたんですが、python.jpにそれっぽいのが載ってました。
正規表現で()が使えて.groupで抽出できるみたいですね。
全く間違ってたら恥ずかしいですがもうちょい見てみます。他によいやり方
があれば教えてください。

698 :デフォルトの名無しさん:2006/08/25(金) 01:17:54
>>697 いや、それで合ってますよ。

699 :デフォルトの名無しさん:2006/08/25(金) 01:19:07
from sgmllib import SGMLParser
import string

class Parser(SGMLParser):
  comment_tag = []
  temp_str = ""
  start = False
  def __init__(self):
    SGMLParser.__init__(self)

  def handle_data(self,data):
    if self.start:
      self.temp_str += data
 
  def handle_comment(self,comment):
    if comment == "tagST":
      self.start = True
      self.temp_str = ""
    elif comment == "tagED":
      self.start = False
      self.comment_tag.append( self.temp_str )
 
  def getlinks(self):
    return self.comment_tag

parser = Parser()
parser.feed(data)
parser.close()
tags = parser.getlinks()
for n,x in enumerate(tags):
  print n,x


700 :デフォルトの名無しさん:2006/08/25(金) 01:19:08
作者自らの宣伝必死だなw

701 :デフォルトの名無しさん:2006/08/25(金) 01:20:55
プラズマテレビが欲しいから
必死なんです。

702 :デフォルトの名無しさん:2006/08/25(金) 01:26:09
しかし
> 「落ちている物を拾って使います」的な乞食みたいな思想
と言い切ってしまってもいいのかね?

オープンソースの完全否定じゃないかw
君の存在意義も否定している。
廃業した方がいいんじゃないのか。

703 :デフォルトの名無しさん:2006/08/25(金) 01:30:57
高いレベルにフォーカスして活動。
         +
「落ちている物を拾って使います」的な乞食みたいな思想
         =
海外のチュートリアルの日本語での焼直し。

704 :デフォルトの名無しさん:2006/08/25(金) 01:34:35
高いレベルで活動とか言う前に、自分の低レベルさを認知するべきだね。

705 :デフォルトの名無しさん:2006/08/25(金) 01:37:08
自分の低レベルさ -> 宣伝活動が2ch



706 :デフォルトの名無しさん:2006/08/25(金) 01:41:37
お亡くなりになった方:禿げS井
もうすぐお亡くなりになる方:工作員S田

707 :デフォルトの名無しさん:2006/08/25(金) 01:42:48
はいはい、zope関係者は
すれ違いですよ。
帰って、帰って。

708 :694:2006/08/25(金) 01:49:26
>>699
ありがとうございます。

709 :デフォルトの名無しさん:2006/08/25(金) 01:56:17
>>708
どういたしまして。

710 :デフォルトの名無しさん:2006/08/25(金) 02:05:03
基地外って面白いな
もっとやってよ(WWWW

711 :デフォルトの名無しさん:2006/08/25(金) 02:07:21
類は友を呼ぶ。
既知害に既知害が群れる。

712 :デフォルトの名無しさん:2006/08/25(金) 02:09:59
>>710
  /\___/\
/ /    ヽ ::: \
| (●), 、(●)、 |    / ̄ ̄ ̄ ̄ ̄ ̄ ̄
|  ,,ノ(、_, )ヽ、,,   |  < ま〜た始まった
|   ,;‐=‐ヽ   .:::::|    \_______
\  `ニニ´  .:::/
/`ー‐--‐‐?´´\


713 :デフォルトの名無しさん:2006/08/25(金) 02:14:53
>>712
つまんない
10点

714 :デフォルトの名無しさん:2006/08/25(金) 03:01:17
つか、本なんて嫌なら買わなきゃいいだけだってことに気がつけよ

715 :デフォルトの名無しさん:2006/08/25(金) 03:06:37
著者、信者(?)ウザイな。
もういいだろ。

716 :デフォルトの名無しさん:2006/08/25(金) 03:11:33
アンチがあまりに頭悪いこと書くのでわか信者が急増中のようだ。
これが宣伝手法だったら凄いよな。w

717 :デフォルトの名無しさん:2006/08/25(金) 03:12:04
>>716
×わか信者
○にわか信者

718 :デフォルトの名無しさん:2006/08/25(金) 03:36:23
裾野が広がるとDQNも増えるっちゅーことかな。
そろそろ別のマイナー言語に移る潮時かも知れず。

719 :デフォルトの名無しさん:2006/08/25(金) 05:42:34
うわー、なんか気持ち悪い流れに・・・

720 :デフォルトの名無しさん:2006/08/25(金) 07:56:48
えー、みんなのPython昨日Amazonでポチってしまった。
このスレ読んでおけばよかった・・・orz

721 :デフォルトの名無しさん:2006/08/25(金) 08:01:51
急にAAが増えた件について。

722 :デフォルトの名無しさん:2006/08/25(金) 08:22:33
>720
いやべつに読んでも結論は変わらないだろ
(このスレを読まない方が良かったということならまあ同意だけどナ)

723 :デフォルトの名無しさん:2006/08/25(金) 09:46:59
あなたが誰だか分かっちゃった
世の中狭いからね
キチガイ呼ばわりの荒らしじゃかなうわけないよね
がんばってね

724 :デフォルトの名無しさん:2006/08/25(金) 12:10:55
今日はなんて、パンソン日和だこと。


725 :デフォルトの名無しさん:2006/08/25(金) 13:00:01
パイ○ン大好き。

726 :デフォルトの名無しさん:2006/08/25(金) 14:01:48
COREBlogの中の人は調子に乗ってるけど、この人、実績皆無なんだよね。
スクリプトキディーが喜んでるようにしかみえない。

727 :デフォルトの名無しさん:2006/08/25(金) 16:23:13
Pythonの入門書が出るのが気に入らない人たちがいるようですね。

728 :デフォルトの名無しさん:2006/08/25(金) 16:31:59
どんな内容なのか引きこもりの俺に教えろ

729 :デフォルトの名無しさん:2006/08/25(金) 16:41:03
ぼくは他人にすぐ噛みつき
私怨でスレを荒らしてキチガイ判定されるような性格の持ち主なんだけど
なぜだかともだちができません.

Pythonで友達をつくるスクリプトはどう書けばいいですか?


730 :デフォルトの名無しさん:2006/08/25(金) 16:55:07
print "Hello, >>729"

731 :デフォルトの名無しさん:2006/08/25(金) 17:55:29
>>729
import friend

732 :デフォルトの名無しさん:2006/08/25(金) 18:05:43
>>> >>729.make(friend)

Traceback (most recent call last):
File "<stdin>" line 1, in ?
SyntaxError:

733 :デフォルトの名無しさん:2006/08/25(金) 18:42:25
>>626
なんでみんPyの著者は、自分の写真としてアーティストの「柴田淳(女性)」を
のせてるんだろう?
頭おかしいのかな?

734 :デフォルトの名無しさん:2006/08/25(金) 18:56:01
>>722
読んでたら、買いませんでした。

735 :デフォルトの名無しさん:2006/08/25(金) 19:05:11
>>729
Pythonはself大好きの自己中用言語です。
おひきとりください。

736 :デフォルトの名無しさん:2006/08/25(金) 19:07:28
俺はthis派

737 :デフォルトの名無しさん:2006/08/25(金) 19:08:48
>>733
本当だw
頭おかしいとは言わないけど、ちょっとズレてるよねw

738 :デフォルトの名無しさん:2006/08/25(金) 19:09:50
>>729
import life
life.exit()

739 :デフォルトの名無しさん:2006/08/25(金) 19:23:37
self.pleasure()

740 :デフォルトの名無しさん:2006/08/25(金) 19:26:28
impo rt

741 :デフォルトの名無しさん:2006/08/25(金) 19:28:19
一時期のRubyスレのような様相ですな。
# Rubyスレは今は宗教ネタでひどいことになっとりますが。

742 :デフォルトの名無しさん:2006/08/25(金) 19:33:25
逆にノーマークだったみんPyの内容が気になるようになった。

743 :デフォルトの名無しさん:2006/08/25(金) 19:45:58
なんで2chでは「宿題スレ」と「お勉強スレ」の微妙なスレしかないのだろう?
いわゆる「本スレ」はなぜ存在しないのか?

744 :デフォルトの名無しさん:2006/08/25(金) 19:57:45
マイナー言語だから「勉強」と付けざるを得なかった。それだけのこと。
加えて、「分家」が存在するので本スレとして一本化することは現実的でない気もする。
特に Zope とか Zope とか Zope とか

745 :デフォルトの名無しさん:2006/08/25(金) 20:09:55
Zopeみたいになるから、
スレに商売っ気持ち込まないで欲しいね。


746 :デフォルトの名無しさん:2006/08/25(金) 20:44:24
何故にZopeが忌み嫌われているのか、理解不能。

747 :デフォルトの名無しさん:2006/08/25(金) 21:12:58
ダメだ、一番分かりやすく解説してくれていることだけは伝わるサイトでも、
なかなか理解して頭に入っていかない。
原始的だけどサンプルコード真似して、ひたすら手打ちするっきゃないんか。

748 :デフォルトの名無しさん:2006/08/25(金) 21:29:19
体動かさなきゃ覚わらないよ

749 :デフォルトの名無しさん:2006/08/25(金) 21:46:41
>>747
ひたすら手打ちして、「手に覚えさせる」をやらないと、先に進めないよ

750 :デフォルトの名無しさん:2006/08/25(金) 22:03:16
>>747
才能ないからあきらめれば?

751 :デフォルトの名無しさん:2006/08/25(金) 22:06:04
みんPyを枕にして寝ろ

752 :デフォルトの名無しさん:2006/08/25(金) 22:06:53
はじPyの方がいい夢がみれるかもしれん

753 :デフォルトの名無しさん:2006/08/25(金) 22:09:12
そうだな。
みんpy買え。

754 :デフォルトの名無しさん:2006/08/25(金) 22:13:14
他の言語経験済みなら、チュートリアル読んで数十分もあれば
とりあえず組めるようにはなると思うがなぁ。対話モードで実験もしやすいし。

755 :デフォルトの名無しさん:2006/08/25(金) 22:16:11
>>754
「思うがなぁ」って、本人が出来ないといってるのに。
馬鹿ですか?

756 :デフォルトの名無しさん:2006/08/25(金) 22:26:10
>>755
>>754の論旨は「対話モードで実験もしやすい」にあると思われ。

757 :デフォルトの名無しさん:2006/08/25(金) 22:27:44
>>756
なぜageる?

758 :デフォルトの名無しさん:2006/08/25(金) 22:31:23
自分が数十分でとりあえず組めるようになったのを報告したいんですよ。誰かに。

759 :デフォルトの名無しさん:2006/08/25(金) 23:05:41
普通に盛り上がってきた
キチガイありがとう(w

760 :デフォルトの名無しさん:2006/08/25(金) 23:42:59
>>756
対話モードで実験がしやすいことは、大抵のチュートリアルで説明されてるよ。

761 :デフォルトの名無しさん:2006/08/25(金) 23:58:23
みんPyについて。guidoの寄稿を貰っているところに日本人によくある劣等感をみた。
なんとしても箔を付けないといろんな意味での自信が無いという情けないメンタリティーのことね。
裏を返せばそのようなどうでもいいステイタス頼りの内容なんて形骸化著しいと言わざるを得ない。

762 :デフォルトの名無しさん:2006/08/26(土) 00:01:15
 ┌─────────┐
 │ 基地外警報!!!  |
 │   基地外警報!! |
 └―――──――――┘
      ヽ(´ー`)ノ
         (  へ)
          く

763 :デフォルトの名無しさん:2006/08/26(土) 00:04:28
まあインタプリタは逃げも隠れもしないから
気長にやれや

764 :デフォルトの名無しさん:2006/08/26(土) 00:05:11
>>761
  /\___/\
/ /    ヽ ::: \
| (●), 、(●)、 |    / ̄ ̄ ̄ ̄ ̄ ̄ ̄
|  ,,ノ(、_, )ヽ、,,   |  < ま〜た始まった
|   ,;‐=‐ヽ   .:::::|    \_______
\  `ニニ´  .:::/
/`ー‐--‐‐?´´\

765 :デフォルトの名無しさん:2006/08/26(土) 00:17:47
>>761
なんでも批判的なことを書くとかっこいいと思うお年頃の子ですか?

766 :デフォルトの名無しさん:2006/08/26(土) 00:57:39
才能が無い俺が余計なことを言ったから荒れたんだな。
すまんね。ひたすら手仕事に励むよ…。だからまったりしてくれ。

767 :デフォルトの名無しさん:2006/08/26(土) 01:03:29
∧_∧
( ´・ω・) みなさん、お茶が入りましたよ・・・・。
( つ旦O
と_)_) 旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦


768 :デフォルトの名無しさん:2006/08/26(土) 01:22:03
AAが増えた件について。

769 :デフォルトの名無しさん:2006/08/26(土) 01:23:36
グラフィカルです。

770 :デフォルトの名無しさん:2006/08/26(土) 01:24:40
ボクは他人にすぐ噛みつき
私怨でスレを荒らしてキチガイ判定されるような性格の持ち主なんだけど
文章力は小学生レベルです.

Pythonで書籍を書けるようになるスクリプトはどう書けばいいですか?

771 :デフォルトの名無しさん:2006/08/26(土) 01:58:15
>>770
出版は内容よりコネじゃね?

772 :デフォルトの名無しさん:2006/08/26(土) 02:02:57
>>771
そんなことありません。基本的に持ち込み原稿は大歓迎です。
皆様よろしくお願いします。

773 :デフォルトの名無しさん:2006/08/26(土) 02:51:45
出版するよりも自前サイトで公開する方が簡単だし禁則事項ないし。
銭なんていらんよ。誰かさんみたいに必死になってるのって見ていて哀しい。

774 :デフォルトの名無しさん:2006/08/26(土) 03:45:00
>>761
まわりをよく見てごらん。
Guidoパパに推薦文を書いてもらっているのは日本人ばかりじゃないよ。

775 :デフォルトの名無しさん:2006/08/26(土) 03:46:25
[Python-Dev] Removing anachronisms from logging module
> (*) I found an example of code testing "if string.find(s, t) != 0",
> thinking it was a bug attempting to write "if t in s", but which Vinay
> identified as a 1.5.2 idiom for "if not s.startswith(t)"...

それスゴイ

776 :デフォルトの名無しさん:2006/08/26(土) 12:11:01
印税なんかに嫉妬してる馬鹿がいるのか・・・ >>773とか恥ずかしいな

どんなに人気のプログラミングの本でも2万が精々って話だぜ?
それで印税計算してみろよ。行って数百万円ぐらいだ。

しかもPythonってマイナーな言語だ。30万円入るかも怪しいもんだ。

777 :デフォルトの名無しさん:2006/08/26(土) 12:18:10
印税が欲しければ自分で書けばいいのにね

778 :デフォルトの名無しさん:2006/08/26(土) 18:55:23
>>776
何万部売れて、いくら印税が入ろうが知ったこっちゃ無い。

数千円払って糞本つかまされる身になってみろ。

779 :デフォルトの名無しさん:2006/08/26(土) 19:08:31
>>778
数千円くらいでがたがた言うなら立ち読みでもして確かめてから買えよ
いいかげんうざいぞ

780 :デフォルトの名無しさん:2006/08/26(土) 19:13:03
ウザいから、荒すなよ > 駄本関係者


781 :デフォルトの名無しさん:2006/08/26(土) 19:23:34
>>779
おまえの方がうざい。黙れ。

782 :デフォルトの名無しさん:2006/08/26(土) 19:35:17
しばらくの間みんPyの話は避けてくれないかな、変なのが沸いてくるから。

783 :デフォルトの名無しさん:2006/08/26(土) 19:42:21
否定的意見を言う奴は、全員「変なの」ですか。

著者乙。

784 :デフォルトの名無しさん:2006/08/26(土) 19:48:23
>>783
>>778みたいな内容のないレスする奴は「変なの」に決まってるじゃないか
おまえの「著者乙」も根拠の無い馬鹿レス

785 :デフォルトの名無しさん:2006/08/26(土) 19:50:18
>>784
内容がないと決め付けるお前も馬鹿

786 :デフォルトの名無しさん:2006/08/26(土) 19:51:19
微妙に著者擁護なレスが多いのが気になる。
あんな糞本なのに。

787 :デフォルトの名無しさん:2006/08/26(土) 19:52:34
自分のことを「しばたじゅんと呼んでください」と言って、女性アーティストの
顔写真を載せる馬鹿なんだぞ。

788 :デフォルトの名無しさん:2006/08/26(土) 19:53:11
>>787
kwsk

789 :デフォルトの名無しさん:2006/08/26(土) 19:54:22
諮らずも "変なの" ばかり涌いて >782 を証明してしまった罠


790 :デフォルトの名無しさん:2006/08/26(土) 19:56:21
もう「みんPy」の話題は禁止で。

791 :デフォルトの名無しさん:2006/08/26(土) 19:58:28
   \          /._, 、--‐―‐--、 ,_ ',
     \    ,、‐'´::::_,.、--―‐--、.,_::::::::`'-、,      /
      \/:::::::::/         \:::::::::::\   /       ,.'
.\      \::::/   ! .,イ i!  i .i, i   ヽ;:::::::::::\/         ,.'
.  \,      Y  l. | l.l |.|  .li i.l |  | ヽ:::::::/        /
    `'‐-、 ヽ  } l l イ‐廾l. l  リナ十トリ.  レ'/        / _______
       |     { ヽト,{,ィ=,、 !Vレ/ィ=,、!ィ / / ./  ,r  _,/ /           \
      |     |Vヽゝ辷!   ,  .辷!_ノヘ// /      /,'  / まあまあ お前ら、  ヽ
       .|     ',ゝ_,ヘ""  r‐┐."",イ_ソ /      ! < これでも食って一息  |
      .|      ', ヽ!`, 、 ヽ_ノ, ィ'´レ  /       |   ヽ、   つこうぜ♪   /
      .|      ',_,,,,_ノ_ _(_,,,,_/       |    \_______/
        |        .'く `'_.,    ,._`' /         .|
       |        ヽ、      /          |
      |         ヽ -‐ ‐‐ /          |
      |         ト-‐―-イ          !
 ぶうっ!|           l , l;l , l           ,' ぶりぶり
        | .,、-‐ォ、   ノ i {l} ,.ヽ           ,'
       'y',//, '.)    '、 " ,'           / ぶりっ
        .{_ ィ,'//_  U  u_,,,_,  }l        /___
        ヽ_ .ィ,/ノ    'f´;;;;;`i'  u     ./  ニニ',
           `‐-へ,_ (:⌒ };;;;r‐;{ ⌒,ヽ  /ヽ. ト.二ニ'´
             `'ー--};;__;;;;;}---―.'´   `'
              (⌒ {;;;`、;;;'i ..::)

792 :デフォルトの名無しさん:2006/08/26(土) 20:00:05
多分Rubyで類似本が出ても叩かれないと思うけどなあ。
アンチ著者がいるのか、ただの馬鹿がPythonスレに常駐してるのか。

793 :デフォルトの名無しさん:2006/08/26(土) 20:12:29
もう「みんPy」の話題は禁止で。

794 :デフォルトの名無しさん:2006/08/26(土) 20:15:31
みんPy みんPy って言うと"変なの"を召喚できると聞いてやってきますた。

795 :デフォルトの名無しさん:2006/08/26(土) 20:22:23
まだ夏休みな奴がいるんだよ。きっと。

796 :デフォルトの名無しさん:2006/08/26(土) 20:25:40
夏休みかどうかなんて関係ないな

797 :デフォルトの名無しさん:2006/08/26(土) 20:26:48
だって毎日休みだからな

798 :デフォルトの名無しさん:2006/08/26(土) 20:41:12
>>792
http://www.amazon.co.jp/o/ASIN/4274066428/250-9230757-1540247?SubscriptionId=1CVA98NEF1G753PFESR2
http://www.amazon.co.jp/exec/obidos/ASIN/4274066436/qid=1156592259/sr=1-2/ref=sr_1_10_2/250-9230757-1540247
とか?
http://www.amazon.co.jp/gp/product/479733665X
を見るとなにげに「みんなのPython」のほうがAmazon.co.jpランキングが高いね。


799 :デフォルトの名無しさん:2006/08/26(土) 20:46:20
>>798
いや、こっちとかが、ぽいかな。
『たのしいRuby 第2版 Rubyではじめる気軽なプログラミング』
ttp://www.amazon.co.jp/gp/product/4797336617/

Rubyスレでは書籍が出ることに好意的だよ。

800 :デフォルトの名無しさん:2006/08/26(土) 21:03:12
Ruby は一時期256本出しすぎてイメージ悪くなったからな
まともな本ならそりゃ好意的になるわな

801 :デフォルトの名無しさん:2006/08/26(土) 21:05:29
>>800
なってませんが。

802 :デフォルトの名無しさん:2006/08/26(土) 21:10:13
みんPy売れてんの?
よかったじゃん

803 :デフォルトの名無しさん:2006/08/26(土) 21:10:22
というか、Rubyスレの住人がPythonの入門書を叩いている、という可能性はないのか?

804 :デフォルトの名無しさん:2006/08/26(土) 21:29:49
>>803
それだ!

805 :デフォルトの名無しさん:2006/08/26(土) 21:32:22
>>786
擁護っつーか、普通にPythonの本が増えるのは歓迎するだけ
それに嫌なら買わなきゃいいだけだし

806 :デフォルトの名無しさん:2006/08/26(土) 22:32:19
>803
すば洞 +1

807 :デフォルトの名無しさん:2006/08/26(土) 22:41:19
まあ
もうすこししたら夏休みもおわるし。
そしたら、昼間は静かになるだろう。


808 :デフォルトの名無しさん:2006/08/26(土) 22:55:51
9月で夏休み終わるのって高校生まででしょ?
高校生なんてそんないる?
まあ、それはいいとして・・・

809 :デフォルトの名無しさん:2006/08/26(土) 23:01:08
>>808
大学行ったこと無いの?

810 :デフォルトの名無しさん:2006/08/26(土) 23:02:02
>>809
それはお前だろ

811 :デフォルトの名無しさん:2006/08/26(土) 23:05:10
行ったことあるなら、>>808のようには思わないはずなんだけどなぁ

812 :デフォルトの名無しさん:2006/08/26(土) 23:06:15
きょう話題のみんPyを立ち読みしてきた
変数とは箱です、見たいな説明があって、「変数知らんやつが対象なのか!」
と思ってビビッた。
次に関数の説明があって、「関数も0から説明するのか!」と思ってビビッた。
パラパラめくってたら、モジュールとかクラスとかの話が出てて、
「え、あそこから始まって、こんなとこまで進むの?」と、思ってビビッた。
初心者が前から読むには粗過ぎる、上級者がリファレンス的に使うには冗長すぎるみたいな本なのかなーという印象(かなり適当

813 :デフォルトの名無しさん:2006/08/26(土) 23:06:39
あー、友人皆無だったなら、そう思っても仕方ないかもね

814 :デフォルトの名無しさん:2006/08/26(土) 23:07:20
>>812
みんPy禁止

815 :デフォルトの名無しさん:2006/08/26(土) 23:11:02
すません、適当に流してください。

816 :デフォルトの名無しさん:2006/08/26(土) 23:11:05
そうだな。またデザパタの話でもしてなごもうぜ。

817 :デフォルトの名無しさん:2006/08/26(土) 23:15:48
基本のRuby関係は当然として、メタクラス拡張だ継続だと来て
そしてみんPyか。いやー、可燃性高いな。実の無い話はうんざり

818 :デフォルトの名無しさん:2006/08/26(土) 23:21:29
>>817
といいつつ、何か書かずにはいられないようですね。

819 :デフォルトの名無しさん:2006/08/27(日) 01:15:36
作者にかなーり問題があるんじゃね?

820 :デフォルトの名無しさん:2006/08/27(日) 01:36:07
ウェブページ見ればいいとかいう人がいるけど、通勤電車で読むことを考えたら本だろ.
でも、初めての Python は重い.
みんなの Python もちょっと重いけど、全然許容範囲内.
ちまちま読み進めて、やっと半分くらい.

821 :デフォルトの名無しさん:2006/08/27(日) 02:06:51
>820
実物を見たけど、あの分厚い本を電車で読むのは無理があるんじゃ…。
前半の解説は、もっとはしょって薄くしてくれればよかったな。

822 :デフォルトの名無しさん:2006/08/27(日) 04:04:58
IDがPYだったのに
どうにも証明できないここム板

823 :デフォルトの名無しさん:2006/08/27(日) 10:34:33
はじPyが厚くて重いってんなら、1章単位で本を引き裂いて分割すればいいんだ!
ぐっどあいであ!

とおもったけど、破くのはもったいなくてできん。

824 :デフォルトの名無しさん:2006/08/27(日) 10:35:47
ボクは他人にすぐ噛みつき
私怨でスレを荒らしてキチガイ判定されるような性格の持ち主なんだけど
人間性にかなり問題があります.

Pythonで人間性を改善するスクリプトはどう書けばいいですか?

825 :デフォルトの名無しさん:2006/08/27(日) 10:42:19
import this


826 :デフォルトの名無しさん:2006/08/27(日) 10:44:36
>>823
自分は半年くらい迷ったが、こないだ2つに分割した。
とことん読んで身につけなきゃ意味がないと思ったので。

827 :デフォルトの名無しさん:2006/08/27(日) 10:45:40
手を動かさなきゃ駄目らしいですよ。

828 :デフォルトの名無しさん:2006/08/27(日) 10:47:00
>>824
import life
life.exit()

829 :デフォルトの名無しさん:2006/08/27(日) 16:05:16
LL Ring行った奴、レポ希望

830 :デフォルトの名無しさん:2006/08/27(日) 17:17:09
Webに載っているプログラム見て、あまり面白くなさそうだったので
今回は不参加な俺のためにも、参加者の人、感想などプリーズ。

831 :デフォルトの名無しさん:2006/08/28(月) 00:10:58
WindowsXP上で、python2.4のスクリプトをpy2exe(0.6.5)を使って
変換しようとしてるんですが、↓のようなエラーが出て止まってしまいます。

UnicodeDecodeError: 'ascii' codec can't decode byte 0x83 in position 30: ordinal
not in range(128)

文字コード関連のエラーのようですので、Shift-JISで書いたスクリプトを
Unicodeに変換してみたのですが、更に大量のエラーが出てしまいました。
変換はTeraPadでUnicode, utf-8, utf-8Nに変換してみました。

どうしたら良いんでしょうか???

832 :デフォルトの名無しさん:2006/08/28(月) 00:25:55
ファイルエンコーディング指定してる?

833 :831:2006/08/28(月) 00:29:24
>>832
レスどうもです。
shift-jisのときは↓

# -*- coding: shift-jis -*-

utf-8の時にはBOM_UTF8と1行目に書いています…。

834 :831:2006/08/28(月) 00:34:40
スクリプトはShift-JISで動作を確認していますので、
Shift-JISにしないと動作しない気がするのですが…
py2exeがShift-JISを扱えないということもあるのでしょうか?

835 :デフォルトの名無しさん:2006/08/28(月) 00:36:56
py2exeを使わないと、動作するの?


836 :デフォルトの名無しさん:2006/08/28(月) 00:49:22
不具合の再現性の有るソースでも
貼ってくれればな。

837 :デフォルトの名無しさん:2006/08/28(月) 00:58:37
# -*- coding: cp932 -*-
はダメか?

838 :831:2006/08/28(月) 01:03:51
>>835
ちゃんと動作してます。

>>836
ソースは150行くらいあるので…ちょっと短縮してみます。

>>837
試してみましたが、同じエラーが出ました。
py2exeを使わない場合は動作しています。

839 :デフォルトの名無しさん:2006/08/28(月) 01:25:29
PyInstaller を使ってみては?

840 :デフォルトの名無しさん:2006/08/28(月) 02:22:06
ElementTreeに関して2点質問があります。

1.
root = ElementTree.parse(strxml).getroot()
sname = [xxx for xxx in root if xxx.get("name") == 'ああああ']

上記の場合snameはlistオブジェクトになってしまいます。type=instance
にしたいんですがどうすればよいでしょうか。それともコーディングの仕方
がまずいのでしょうか。

2.
XML文字列を更新した後それを参照したいんですがどうすればいいで
しょうか?

DOMみたいに
print root.toxml() みたいなことはできないのでしょうか。
ようはXMLを更新して保存したいだけなんですが;

もしご存知の方がおられましたらご教授ください。

841 :デフォルトの名無しさん:2006/08/28(月) 02:24:40
>>838
>試してみましたが、同じエラーが出ました。
>py2exeを使わない場合は動作しています

Q1: py2exeでビルドして,実行した時に出るエラーですか?
Q2: sitecustomize.pyとかでデフォルトエンコーディングを書き換えていませんか?

if (Q1 is True) and (Q2 is True):
 """
 スクリプトの先頭に
 
 import sys
 if hasattr(sys,"setdefaultencoding"):
  sys.setdefaultencoding(あなたのすきな文字コード)
 
 などとして,デフォルトエンコーディングを指定するか,日本語文字列を入出力しているところを
 もう一度しっかり見直して,明示的にエンコーディングせずに出力している部分を直したらどうかな.

 参考: ttp://starship.python.net/crew/theller/moin.cgi/EvenMoreEncodings
 """



842 :デフォルトの名無しさん:2006/08/28(月) 02:28:19
自己解決しました

843 :デフォルトの名無しさん:2006/08/28(月) 02:30:09
>> 840
1 sname が内包表記で書かれているから,リストにならない方がおかしい.
2 tostring()

844 :840:2006/08/28(月) 02:33:06
1.でちょっと意味分からないこと書いてました。
snameで受け取るのは絶対一つのオブジェクトと決まっています。
sname[0]とすればよいですね。すみません解決です。
2.に関して分かる方がいたら教えてください。

845 :840:2006/08/28(月) 02:36:06
>>843

>1 sname が内包表記で書かれているから,リストにならない方がおかしい.

ですよね。夜中のため基地外になっていました。

2.に関してありがとうございます。

846 :デフォルトの名無しさん:2006/08/28(月) 02:41:17
>>843
全く本題には関係ないがアンカー貼るならスペースを空けないでほしい

847 :デフォルトの名無しさん:2006/08/28(月) 02:41:41
>>845
いまちょっとelementtreeのマニュアル読んでみたけど,root.find('ああああ') でいいんじゃないかな?

848 :831:2006/08/28(月) 09:26:21
皆さんおはようございます。

>>839
PyInstallerを使ったら、エラーも無くexeを作れました!

>>841
>Q1: py2exeでビルドして,実行した時に出るエラーですか?
ビルドの途中で出るエラーです。

>Q2: sitecustomize.pyとかでデフォルトエンコーディングを書き換えていませんか?
超初心者なので…そこまでのことはしていません。

エンコーディングは奥が深そうですね。
教えていただいたサイトを読みながら勉強させていただきます。

みなさん、どうもありがとうございました。

849 :デフォルトの名無しさん:2006/08/28(月) 10:20:04
超初心者なのにファイルエンコーディングのこと知ってるのね。
偉いね。

850 :デフォルトの名無しさん:2006/08/28(月) 11:50:44
以下のテストコードを動かしてリストボックスのアイテムをクリックしても、
2回クリックしないと正しい内容が表示されません。
というか、直前にクリックしたアイテムの内容が表示されているようです。
何がおかしいのか、アドバイスお願いします。

Windows98SE, Python2.4.3 です。

851 :850:2006/08/28(月) 11:51:18
import Tkinter as Tk

DIC = {'AAA': 'AAA text', 'BBB': 'BBB text', 'CCC': 'CCC text'}

class App(Tk.Frame):

  def __init__(self, master=None):
    Tk.Frame.__init__(self, master)
    self.pack()
    self.listbox = Tk.Listbox(self)
    self.listbox.pack(side=Tk.LEFT)
    self.listbox.bind('<1>', self.showtext)
    self.txt = Tk.Text(self, font=('Helvetica', '12'), width=20, height=5)
    self.txt.pack(side=Tk.LEFT)
    namelist = DIC.keys()
    self.listbox.insert(Tk.END, *namelist)

  def showtext(self, event):
    name = self.listbox.get(Tk.ACTIVE)
    txt = DIC[name]
    self.txt.delete('1.0', Tk.END)
    self.txt.insert(Tk.END, txt)

if __name__ == '__main__':
  app = App(); app.mainloop()

852 :デフォルトの名無しさん:2006/08/28(月) 11:55:11
フォー!

853 :デフォルトの名無しさん:2006/08/28(月) 12:02:46
>>845
>夜中のため基地外になっていました。

(wwwwwwwwww

854 :デフォルトの名無しさん:2006/08/28(月) 12:21:45
>>850
俺もよくわかってないけど、bind の部分を

self.listbox.bind('<ButtonRelease-1>', self.showtext)

Tk.ACTIVE の部分を

name = self.listbox.get(self.listbox.curselection()[0])

と書き換えるとそれなりに動いているようだ。ボタンを押したときでなく
離したときに表示されるようになるけども。

855 :850:2006/08/28(月) 12:31:03
>>854
素早いレスありがとうございます。
希望通りの動作になりました!

856 :デフォルトの名無しさん:2006/08/28(月) 12:34:14
pythonは基地外が使うプログラム言語です。

                \ │ /
                 / ̄\   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
               ─( ゚ ∀ ゚ )< 基地外基地外!
                 \_/   \_________
                / │ \
                    ∩ ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\∩ ∧ ∧ \( ゚∀゚)< 基地外基地外基地外!
 基地外〜〜〜!   >( ゚∀゚ )/ |    / \__________
________/ |    〈 |   |
              / /\_」 / /\」
               ̄     / /
                    ̄


857 :デフォルトの名無しさん:2006/08/28(月) 14:14:23
みんなのPython読んだら低能乞食になっちゃいますか?

858 :デフォルトの名無しさん:2006/08/28(月) 14:47:54
「みんなのPython」の感想がそろそろ出始めているね。
http://d.hatena.ne.jp/asin/479733665X

今回の本が、Pythonに手を出すきっかけになったという人はけっこういるよう
だ。初心者も、他言語の熟練者もいる。
やはり日本語の手ごろな入門書が出たことは良いことだと思う。


859 :デフォルトの名無しさん:2006/08/28(月) 17:00:26
オッス、オラ基地外

基地外だから
感覚が世間からずれてるんだけど
基地外故に
ずれていることに気づかねえんだ!

ドンドン修行して
世界一の基地外になっぞ!!

860 :デフォルトの名無しさん:2006/08/28(月) 20:07:57
>>858
宣伝乙

861 :デフォルトの名無しさん:2006/08/28(月) 20:12:52
スルスルッとスル〜

862 :デフォルトの名無しさん:2006/08/28(月) 20:29:52
extensionやらをコンパイルして
python2.5にアップデートしたんだけど
なんか遅くなったような気がする
rpyコンパイルするのめんどうだったなー

863 :デフォルトの名無しさん:2006/08/28(月) 21:25:21
ironPythonで使える標準ライブラリ
○ -- sys, time, math
× -- fileinput, urllib, os, random, StringIO, md5, sha
まあ、 .NET Framework を使えばいいんだろうけど


864 :デフォルトの名無しさん:2006/08/28(月) 21:38:52
IronPython使うんだったら、標準Pythonモジュールじゃなくて
積極的に .NET のライブラリを使うほうが良いとおもうけど。

865 :デフォルトの名無しさん:2006/08/28(月) 22:25:08
>>863
何そのライブラリ選択

866 :デフォルトの名無しさん:2006/08/28(月) 22:29:28
>>863
既存のPythonプログラムを動かせるような環境じゃなさそうだね
まぁIronPythonという別の言語(?)だと思えばいいのかな

867 :デフォルトの名無しさん:2006/08/28(月) 22:36:15
Python文法を使えるCLR上で動作する言語の1つでしかないわけだし。
個人的には sys 以外のモジュールは不要。

868 :デフォルトの名無しさん:2006/08/29(火) 00:04:27
>>858
ttp://d.hatena.ne.jp/asin/479733665X

言及日記数が「まるごとPerl」より多いね。
Python本格的に来たか。

869 :デフォルトの名無しさん:2006/08/29(火) 00:14:29
>>868
みんPy禁止

870 :デフォルトの名無しさん:2006/08/29(火) 00:18:53
>869

  ( ゚д゚)
_(__つ/ ̄ ̄ ̄/_
  \/    /
     ̄ ̄ ̄

  ( ゚д゚ )
_(__つ/ ̄ ̄ ̄/_
  \/    /

871 :デフォルトの名無しさん:2006/08/29(火) 00:20:57
>>869
>859

872 :デフォルトの名無しさん:2006/08/29(火) 00:25:03
まあキチガイはスルーしてまったりといこうや.

873 :デフォルトの名無しさん:2006/08/29(火) 00:25:19
みんPyなんで叩かれてるんだ?
買ったけど、かなりいい内容だったぞ?

874 :デフォルトの名無しさん:2006/08/29(火) 00:26:52
私のことは「しばたじゅん」と呼んで下さい♥ [女性アーティスト柴田淳の写真]

おかしいよね、こいつ。

875 :デフォルトの名無しさん:2006/08/29(火) 00:28:04
おっpy2.5

876 :デフォルトの名無しさん:2006/08/29(火) 00:29:00
おっPy 3000

877 :デフォルトの名無しさん:2006/08/29(火) 00:29:38
>>873
>859

878 :デフォルトの名無しさん:2006/08/29(火) 00:32:53
>>873
ヒント:作者がやばい

879 :デフォルトの名無しさん:2006/08/29(火) 00:34:54
スルスルッとスル〜


880 :デフォルトの名無しさん:2006/08/29(火) 00:37:15
「基地外叩きゲーム」の会場はここですね?

881 :デフォルトの名無しさん:2006/08/29(火) 00:41:27
すみません。初心者です。

文字列をパラメータで渡して整形した文字列を返却するような
メソッドを作ったんですが、返却文字列が、
カ ニ イ ヘ カ 韜 カ
みたいな文字になって返ってきます。これってもとに戻せないのでしょうか?
ネットで調べまわったんですが見つけれませんでした;

882 :デフォルトの名無しさん:2006/08/29(火) 00:42:15
>>868
http://d.hatena.ne.jp/asin/4844322893

まるごとPerlはこちら.
日記数同じになったけど,競ってるのはすごいな.

883 :デフォルトの名無しさん:2006/08/29(火) 00:43:24
>>881
そんなものもったいぶらずにウプしてみろよ。
さっさと解決すると思うぜ?

884 :881:2006/08/29(火) 00:43:31
あれ?
&#65398; &#65414みたいな文字列です。

885 :デフォルトの名無しさん:2006/08/29(火) 00:44:03
>>881
みんぱい買え。

886 :デフォルトの名無しさん:2006/08/29(火) 00:50:19
キチガイ叩きが始まると、
どこからともなく初心者が現れ、
速攻で返事が書き込まれる件.

887 :デフォルトの名無しさん:2006/08/29(火) 00:53:56
柴田淳の画像の件は、正直引いた。

888 :デフォルトの名無しさん:2006/08/29(火) 01:01:51
>>882
Amazonのランキングでは大きく負けているわけだが。
Pythonにも中級〜上級向けの本が出て盛り上がるといいな。

889 :デフォルトの名無しさん:2006/08/29(火) 01:06:11
>886
  ( ゚д゚)
_(__つ/ ̄ ̄ ̄/_
  \/    /
     ̄ ̄ ̄
       図星だったみたいよ
  ( ゚д゚ )
_(__つ/ ̄ ̄ ̄/_
  \/    /
     ̄ ̄ ̄


890 :デフォルトの名無しさん:2006/08/29(火) 01:18:56
pythonは基地外が使うプログラム言語です。

                \ │ /
                 / ̄\   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
               ─( ゚ ∀ ゚ )< 基地外基地外!
                 \_/   \_________
                / │ \
                    ∩ ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\∩ ∧ ∧ \( ゚∀゚)< 基地外基地外基地外!
 基地外〜〜〜!   >( ゚∀゚ )/ |    / \__________
________/ |    〈 |   |
              / /\_」 / /\」
               ̄     / /
                    ̄


891 :デフォルトの名無しさん:2006/08/29(火) 01:27:47
オッス、オラ基地外!

オラ
ちょっとはPythonに詳しいんだけど
基地外ぶりが上回って
さらに頭も悪いので
すべてを台無しにしてるんだ!

ドンドン修行して
フリーザをやっつけっぞ!!

892 :デフォルトの名無しさん:2006/08/29(火) 01:33:21
>>890=891 が使ってる言語が何なのかぜひ知りたいな〜

今後の人生で避けるようにしたいから

893 :デフォルトの名無しさん:2006/08/29(火) 01:40:34
>>892
無論Pythonに決まってる

894 :デフォルトの名無しさん:2006/08/29(火) 01:43:57
キチガイのせいで
夏厨が。。。

895 :デフォルトの名無しさん:2006/08/29(火) 02:15:07
>>892

    /\___/ヽ
   /''''''   '''''':::::::\
  . |(●),   、(●)、.:|
  |   ,,ノ(、_, )ヽ、,, .::::|
.   |   `-=ニ=- ' .:::::::|
   \  `ニニ´  .:::::/
   /`ー‐--‐‐?´\

896 :デフォルトの名無しさん:2006/08/29(火) 02:42:56
全然関係ない話題ですけど。

ZOPE JAPANってつぶれたの?

897 :デフォルトの名無しさん:2006/08/29(火) 07:21:21
ZOPEはスレ違い。
夏休み終了までもうすぐ!がんがれ

898 :デフォルトの名無しさん:2006/08/29(火) 09:23:25
Zopeはスレ違いって、適当なスレはここしかないじゃん。
なんでZopeを毛嫌いするのか理解不能。

899 :デフォルトの名無しさん:2006/08/29(火) 09:53:45
Zopeってどうよ インスタンス4つめ
http://pc8.2ch.net/test/read.cgi/php/1138197983/l10

900 :デフォルトの名無しさん:2006/08/29(火) 10:02:16
このスレにいるキチガイは Zope / Plone 関係者?

901 :デフォルトの名無しさん:2006/08/29(火) 10:24:48
>887
あれ、ちょっとキモイよな。

902 :デフォルトの名無しさん:2006/08/29(火) 10:43:23
なんだ、Pythonにきたキチガイは
Zopeスレから来てたのか。


903 :デフォルトの名無しさん:2006/08/29(火) 11:37:45
>>898
>なんでZopeを毛嫌いするのか理解不能。

Zopeの周辺にいるキチガイが毛嫌いされてるんだよ。

904 :デフォルトの名無しさん:2006/08/29(火) 11:51:58
>>898
C のスレで Apache の話をするようなもんだろ

905 :デフォルトの名無しさん:2006/08/29(火) 11:59:36
偶然ここに来てzopeがpythonに繋がっていることを知った

906 :デフォルトの名無しさん:2006/08/29(火) 13:30:00
Zopeには興味あるんだけど、2chのスレがまったく機能してない…。
技術の話以外はつまらないと思うんだけどなあ。


907 :デフォルトの名無しさん:2006/08/29(火) 13:59:00
>>906
Zopeは終わってるよ。みんPy作者もそういってるよ。
トレンドはdjangoかTurboGearだってさ。

908 :デフォルトの名無しさん:2006/08/29(火) 14:27:12
Zopeが終わってるというのは、なぜ?どういう欠点が指摘されているの?


909 :デフォルトの名無しさん:2006/08/29(火) 14:40:23
>>908
機能が複雑で、しかもアーキテクチャもごっそり変わったり
使う側からすると、ついていくのに疲れる
クライアントにも、納得してもらえない。
枯れるまで放置のほうがいい。

910 :デフォルトの名無しさん:2006/08/29(火) 14:43:06
DjangoもTurboGearsも結構変わるけどね〜

911 :デフォルトの名無しさん:2006/08/29(火) 14:53:55
Zopeが終わっているというより、Zope/Plone関係者の害基地が終わっているのだ。

912 :デフォルトの名無しさん:2006/08/29(火) 15:02:44
ZJUGとPlone研究会を見る限り終わってるようにしか見えない件

913 :デフォルトの名無しさん:2006/08/29(火) 15:06:16
>>907
釣られ乙。
マジレスすれば「Zope終わってる」はしばたちんの煽り。
彼はZopeの有用性を十分承知の上でやってる。

ただ、技術的な特性をなーんも知らんで思い込みだけで
Zope使って不幸になってる香具師が世の中多すぎるから、
Zopeでアダプトしづらい案件はDjango、TurboGearsでやって
Python全体で幸せになろうよってのは事実。

>>909
それZope3について俺が飲み会で話したことを
よく理解しないでコピペしてないか?
Zope2は2.10とかいう時点で相当枯れてるが‥‥

914 :デフォルトの名無しさん:2006/08/29(火) 15:47:15
ZopeはZope2とZope3で互換性がないのとかZope2は事実上Ploneの
運用プラットフォームになってるとかJZUGとかJZUGとかJZUGとかが
問題なだけじゃね?
Zope本体の開発はかなり真面目に行われてると思うけどな
obsoleteになりそうな機能を使うとwarning出るし、ソース見ない
である程度使えるようになれるZopeBookもある

>>913
Zope,Django,TurboGearsでそれぞれ向き不向きを教えて欲しい
Zope3使ってるけど正直普通のCMSみたいなのは向いてないと思う
ZODBとかセキュリティをクラス毎に設定できるとかDI(だよね?)機能
があるとかコンポーネント志向とかその辺が鍵だよね?
この認識であってる?

915 :デフォルトの名無しさん:2006/08/29(火) 15:49:10
CherryPyが仲間になりたそうにこちらを見ている

916 :デフォルトの名無しさん:2006/08/29(火) 15:49:52
zope3 の検索結果 約 2,170,000
turbogears の検索結果 約 2,060,000

Djangoは一意性が低いので除外。
Zope3はもう何年も開発しててこの結果。

世の中の流れを見ような。

917 :デフォルトの名無しさん:2006/08/29(火) 15:53:01
>>916
結論には同意するが、検索ヒット数を根拠にするのは馬鹿っぽいぞ

918 :デフォルトの名無しさん:2006/08/29(火) 15:53:13
CherryPyはTurboGearsのコンポーネントとして使われてなかったっけ?

919 :デフォルトの名無しさん:2006/08/29(火) 15:54:33
>>917
バカっぽい根拠から導き出された結論に同意してるオマエも馬鹿?
キチガイはひと味違うな(wwwww

920 :デフォルトの名無しさん:2006/08/29(火) 15:56:53
このスレに粘着してるキチガイはZope3使いということでFA?

921 :デフォルトの名無しさん:2006/08/29(火) 16:00:04
>>919
馬鹿っぽいって言っただけで、馬鹿だと断定したわけじゃないんだからそんなに興奮するなよw

922 :デフォルトの名無しさん:2006/08/29(火) 16:06:58
Zope2系.......ピザすぎwwwwwwwwwwwww
Zope3系.......企画倒れ
Django........自己満足
TurboGears....RoRのパクリ

923 :デフォルトの名無しさん:2006/08/29(火) 16:10:08
>>920
  ( ゚д゚)
_(__つ/ ̄ ̄ ̄/_
  \/    /
     ̄ ̄ ̄
       図星だったみたいよ
  ( ゚д゚ )
_(__つ/ ̄ ̄ ̄/_
  \/    /
     ̄ ̄ ̄


924 :デフォルトの名無しさん:2006/08/29(火) 16:19:43
>>913
>俺が飲み会で話したことを

はーい
みんなここ試験に出るから

925 :デフォルトの名無しさん:2006/08/29(火) 16:22:06
そろそろ「しばじゅん」ネタが登場するころだな。
それか自演初心者。

926 :デフォルトの名無しさん:2006/08/29(火) 16:28:52
どれもこれも、>>913が飲み会で言ってた話ばかりだな

927 :デフォルトの名無しさん:2006/08/29(火) 16:33:25
>>926
    /\___/ヽ
   /''''''   '''''':::::::\
  . |(●),   、(●)、.:|
  |   ,,ノ(、_, )ヽ、,, .::::|
.   |   `-=ニ=- ' .:::::::|
   \  `ニニ´  .:::::/
   /`ー‐--‐‐?´\

928 :デフォルトの名無しさん:2006/08/29(火) 16:41:49
普通に話そうよ、もう。
煽って何か得になることがあるの?

929 :デフォルトの名無しさん:2006/08/29(火) 16:52:39
zope じゃなくて zope3 の検索結果数を持ってくるのは意図的?

930 :デフォルトの名無しさん:2006/08/29(火) 16:53:39
粘着基地外のおかげで、今晩にもこのスレは消費されることでしょう。
次スレのタイトル案です。

【キチガイ】Pythonのお勉強 Part12【退散】


931 :デフォルトの名無しさん:2006/08/29(火) 16:55:36
「夏休み」と言いながらオッサンばかりが
戯れているのはこのスレですか?

932 :デフォルトの名無しさん:2006/08/29(火) 17:08:03
>>931
悲しく同意。
夏休みなんか始まる前から、ずっとこの調子だもの。

933 :デフォルトの名無しさん:2006/08/29(火) 18:16:43
根拠のない無責任な煽りとか個人攻撃をするから荒れるんだろ。
  
 
  
 
 
 
  
  
  

 
キチガイ判定は別次元の行為なので許されるわけだが。

934 :デフォルトの名無しさん:2006/08/29(火) 18:33:15
初めての基地外認定は8月24日のことでした。

>626 名前: デフォルトの名無しさん Mail: sage 投稿日: 2006/08/24(木) 13:02:26
>>> ttp://coreblog.org/ats/scbscriber-of-coreblogml
>> 「インストール方法」みたいな低ーーーいところとか,「落ちている物を拾って使います」的な乞食みたいな思想から抜け出せないのでは危ないと思います。
>> 趣味で使うならいいんだけどね。しかしまあ,趣味の延長ではおいしい物食べられないし,車とかプラズマテレビは買えない(笑)。
>
>で、初心者騙しの本書いて印税搾取かよ。
>こいつ、言ってることと、やってることとが乖離してるね。
>いい趣味をお持ちのようですなw
>627 名前: デフォルトの名無しさん Mail: sage 投稿日: 2006/08/24(木) 13:21:11
>>>626
>文脈を無視した引用をする君の趣味のほうがキチガイじみている

935 :デフォルトの名無しさん:2006/08/29(火) 18:40:15
つ web.py

936 :デフォルトの名無しさん:2006/08/29(火) 18:44:26
乞食が住み着いた。


937 :デフォルトの名無しさん:2006/08/29(火) 19:12:17
文章力が小学生並みのキチガイ。

>>640
>はじパイは50日かかった。まだ宿題は終わってない。
>PHPにもRubyにもPerlにも勝った気がする。
>CPANが羨ましくはあるけれども、CもJavaもお友達に見えてきた。
>
>夏休みに最適な「はじめてのPython」をどうぞ。

さんざん探してそれか!、的なキチガイ。

>>659
>この本が悪いっていうわけじゃなくてさ、この2つのHPを参考にして書いたんじゃないのかな?ってだけだよ。
>http://www.geocities.jp/shido_takafumi/py/python2.html
>http://www.f7.ems.okayama-u.ac.jp/~yan/python/
>逆にこの2つのページを読んで必要に応じてリファレンスを見たなら、本を買ったのと同じ効果が得られると思う。

乞食ぶりを発揮したキチガイ。

>>667
>なんだかんだいって、
>買わせようと誘導か。
>
>指摘してやるから、PDFでくばれよ。
>でも、本の内容云々じゃなくって
>関係者が2chのPythonスレを荒してるのが
>まず買わない理由。


938 :デフォルトの名無しさん:2006/08/29(火) 19:22:52
>937
指摘の内容はともかく、相手をキチガイ扱いしても荒れるだけでは?
ご自身の品性も疑われますよ。

939 :デフォルトの名無しさん:2006/08/29(火) 19:32:10
>>937
その辺はそれほど気にならないなあ。「ああ若いんだな」と思うだけだし。
このスレの煽り叩きの中心は、もっと年寄りだろう。
どうも「スレの番人」を自認している、少数の叩き屋が、ずっと前から常駐し
てるんじゃないかと思うんだが。


940 :デフォルトの名無しさん:2006/08/29(火) 19:33:00
>>937
車とかプラズマテレビがほしいあまりに
自分を見失う乞食…

941 :デフォルトの名無しさん:2006/08/29(火) 19:40:35
句点、読点、全角、半角。

942 :デフォルトの名無しさん:2006/08/29(火) 19:44:36
>>934
元の文脈に則しているじゃん。
要するに
・俺らはハカーなんだ、おまえら初心者とは違う
・俺らは死活問題なんだ、おまえらの道楽趣味とは違う
と言いたいんでしょ?
しかし「俺ら」が井の中の蛙君なんだな、残念ながら。

943 :デフォルトの名無しさん:2006/08/29(火) 19:55:12
初級者から中級者向きの本であることを
(頭が悪いなりに)がんばって説明した例

>>812
>きょう話題のみんPyを立ち読みしてきた
>変数とは箱です、見たいな説明があって、「変数知らんやつが対象なのか!」
>と思ってビビッた。
>次に関数の説明があって、「関数も0から説明するのか!」と思ってビビッた。
>パラパラめくってたら、モジュールとかクラスとかの話が出てて、
>「え、あそこから始まって、こんなとこまで進むの?」と、思ってビビッた。
>初心者が前から読むには粗過ぎる、上級者がリファレンス的に使うには冗長すぎるみたいな本なのかなーという印象(かなり適当

944 :デフォルトの名無しさん:2006/08/29(火) 20:02:59
オープンソース・プロジェクトで一番恐ろしいものは、私怨だという。

コミュニティのいざこざから、私怨を持った人が現れ、そのプロダクトの普及
を何年にも渡って妨害し続けることがある。その被害は、すぐに飽きて離れる
厨房とは比較にならない。しかも当人はそれを正義だと思っている。

俺が初めてそういうのを見たのは、昔のMozillaコミュニティだった。2chでも、
煽りとその反発を自作自演して、盛大にスレを荒らしていた。一度IDを変え忘
れたことがあって、それではっきりと自作自演が分かった。

このスレでは、どうも自作自演は無さそうな気がする。しかしそういう(元)
関係者の存在は疑いないだろう。Zopeスレの荒廃振りを見れば明らかなことだ。

成功したオープンソース・プロジェクトの中心人物は、ほぼ例外なく、優れた
人格者だという。要するに、常識的な感覚の持ち主では無理で、神様みたいな
人格者だけがコミュニティという難物を扱えるものらしい。たまらんなあ。
悪いが俺はなるべく関わらずに生きていきたい。つうか無理。

945 :デフォルトの名無しさん:2006/08/29(火) 20:09:53
クレームは財産。無反応は終焉を意味する。

946 :デフォルトの名無しさん:2006/08/29(火) 20:14:34
1. 私怨らしい
2. Zope関係らしい
3. すごくヒマらしい

947 :デフォルトの名無しさん:2006/08/29(火) 20:15:18
>>944
なんだかよくわからんけど、柴田淳に関係する話?

948 :デフォルトの名無しさん:2006/08/29(火) 20:19:13
私怨には
個人の特定につながる情報が満載なんだよね
気をつけてね

949 :デフォルトの名無しさん:2006/08/29(火) 20:20:01
しばじゅんは来年には消えてる人。

950 :デフォルトの名無しさん:2006/08/29(火) 20:26:02
>>723
>あなたが誰だか分かっちゃった
>世の中狭いからね
>キチガイ呼ばわりの荒らしじゃかなうわけないよね
>がんばってね

とっくに特定されてるっぽい。

951 :デフォルトの名無しさん:2006/08/29(火) 20:30:20
ある特定個人が非難される場合に、「私怨」しかありえないという精神構造が怖いな。

952 :デフォルトの名無しさん:2006/08/29(火) 20:31:57
>>944
何がおまえを駆り立てて、その長文をかかせたのだ?w

953 :デフォルトの名無しさん:2006/08/29(火) 20:36:15
>>946
たぶん当たってると思う。


Pyスレは敗北者がまったりできるスレであってほしいもんだ。

954 :デフォルトの名無しさん:2006/08/29(火) 20:41:15
私怨持ちの恐ろしい点の一つは、コミュニティの自治能力を奪うところ。

例えば、何でも叩きたいお年頃の厨房なんてのは、普通はスルーすれば、
すぐどこかへ行ってしまう。
ところが私怨持ちがいると、その火の粉を煽って、大火事に仕立てる。
スルーしたって延々と燃焼し続けることになる。

かと言って叩き返しても、確信犯(誤用にあらず)だから全然こたえない。
ましてや匿名掲示板。何も失うものは無い。

これはもう駄目かも分からんね。

955 :デフォルトの名無しさん:2006/08/29(火) 20:46:19
うわぁ。Zope関係で粘着しそうなのって1人しか居ないぢゃん。
コワッ。

956 :デフォルトの名無しさん:2006/08/29(火) 20:47:21
現状だとキチガイ君を2chに隔離できてるっぽいから、まあいいんじゃないの?
世間様に迷惑はかからんだろう。

このスレ的にはかなり迷惑してるけどな。

957 :デフォルトの名無しさん:2006/08/29(火) 20:53:27
ジサークジエーン

958 :デフォルトの名無しさん:2006/08/29(火) 20:54:17
このスレのキチガイ君は
頭弱そうなので
944とかを読んで
むしろスレの荒らし方を学んでる希ガス
その弱い頭で学べることは
少ないと思うけど(wwwww

959 :デフォルトの名無しさん:2006/08/29(火) 21:28:39
このスレの進行はすきだったのに。
駄本とかZopeとか、自分のチラシの裏にかいて。

960 :デフォルトの名無しさん:2006/08/29(火) 21:31:38
どこがそんなに恐ろしいのか分からないんだけど、肝炎みたいなもんですか?

961 :デフォルトの名無しさん:2006/08/29(火) 21:32:19
で、Python3000ってなに?

962 :デフォルトの名無しさん:2006/08/29(火) 21:37:22
喋って空飛ぶタイムマシンカーじゃね?

963 :デフォルトの名無しさん:2006/08/29(火) 21:37:25
グイドの脳内

964 :デフォルトの名無しさん:2006/08/29(火) 21:43:52
スレタイから『敗北者』をはずすから、こんなことになるんだ!

965 :デフォルトの名無しさん:2006/08/29(火) 21:44:32
グイドなのギドじゃないの?

966 :デフォルトの名無しさん:2006/08/29(火) 21:47:28
>>964
激しく同意。敗北者って、含羞に満ちたいいスレタイだよね。

それに、私怨持ちや厨房も含めて、今のわれわれは、みんな敗北者にふさわしい。
誰もこのスレで得をしていないんだから。

967 :デフォルトの名無しさん:2006/08/29(火) 21:53:30
キチガイは敗北者にすら含まれません。

968 :デフォルトの名無しさん:2006/08/29(火) 22:09:52
私怨は怖いけどキチガイはもっと怖い
なにしろ感覚が世間からズレているから、普通に接していても
勝手に解釈をして怨みをもたれる
日常生活でも、誰かに追われるような恐怖感を
勝手に味わっているに違いない

私怨はコミュニティを殺すのかも知れないが
キチガイは社会を壊す
だから病院や刑務所に隔離されるのだ

969 :デフォルトの名無しさん:2006/08/29(火) 23:05:18
どこがそんなに恐ろしいのか分からないんだけど、インキンみたいなもんですか?


970 :デフォルトの名無しさん:2006/08/29(火) 23:06:20
おかえり。

971 :デフォルトの名無しさん:2006/08/29(火) 23:22:58
インキンも怖いが疥癬も怖いぞ

972 :デフォルトの名無しさん:2006/08/29(火) 23:36:19
みんパイ読んでて分からないことがあるんだけど、いらなくなったタプルって破棄することってできないの?

973 :デフォルトの名無しさん:2006/08/29(火) 23:41:50
>>972
宣伝乙

974 :デフォルトの名無しさん:2006/08/29(火) 23:42:27
明牌

975 :デフォルトの名無しさん:2006/08/29(火) 23:42:48
ここはもうあれですね

976 :デフォルトの名無しさん:2006/08/29(火) 23:43:22
これがキチガイぱわー

977 :972:2006/08/29(火) 23:46:36
>>973
宣伝じゃねえ。
この本がいい加減すぎてわからねえんだよ。

978 :デフォルトの名無しさん:2006/08/29(火) 23:46:46
みんPy禁止ですから

979 :デフォルトの名無しさん:2006/08/29(火) 23:47:21
>>972
del タプルの変数名
で破棄できるよ。
delはほかにも何でも消せる。



980 :デフォルトの名無しさん:2006/08/29(火) 23:47:42
>>972
ほおっておいて、参照がなくなればそのうちGCされる。
みんPy読んでいるレベルでは、その辺のことに神経質になる必要なしだ。

981 :972:2006/08/29(火) 23:48:57
>>979
>>980
サンキュー!

982 :デフォルトの名無しさん:2006/08/29(火) 23:53:04
誰か次スレお願い!できたら「敗北者」つきで。

983 :デフォルトの名無しさん:2006/08/29(火) 23:56:49
「敗北者のPython」3012タプル目

984 :デフォルトの名無しさん:2006/08/30(水) 00:00:41
「みんなのPython」 Part12

これで

985 :デフォルトの名無しさん:2006/08/30(水) 00:03:33
Pythonのお勉強 Part3000.12
http://pc8.2ch.net/test/read.cgi/tech/1156863750/


986 :デフォルトの名無しさん:2006/08/30(水) 00:05:15
キチガイはPythonをつぶそうとしているね。

987 :デフォルトの名無しさん:2006/08/30(水) 00:08:01
import mataari

988 :デフォルトの名無しさん:2006/08/30(水) 00:12:05
次スレを見てみろ。立てた奴は本当に基地外だ。
・初心者に分かりづらい、Part3000.12 というスレタイ
・みんPy著者への煽りを>>1に入れる


989 :デフォルトの名無しさん:2006/08/30(水) 00:12:08
Traceback (most recent call last):
 File "<stdin>", line 1, in ?
ImportError: No module named mataari

990 :デフォルトの名無しさん:2006/08/30(水) 00:13:26
キチガイへのレクイエムとして,このスレを使い続けることを提案するよ(www



991 :デフォルトの名無しさん:2006/08/30(水) 00:15:04
>>988
それが正常だと思っているのが真性キチガイ(・∀・)

992 :デフォルトの名無しさん:2006/08/30(水) 00:17:29
おまいら、この状況を面白がってるだろ。

993 :むこうの1:2006/08/30(水) 00:18:28
>>988
みんパイが叩かれてる理由を説明するレスが多すぎるから、それを省くために>>1に書いといてやったよ
著者の主張を広めてみんパイ著者をあおってるってことはないだろう

994 :デフォルトの名無しさん:2006/08/30(水) 00:19:46
コミュニティの自浄作用に期待します。

995 :デフォルトの名無しさん:2006/08/30(水) 00:20:57
>>>4
>ふざけるな。貴様がスレを立てた基地害だろうが。
>貴様が消えろ。今度という今度は許さん。

ぷぷぷぷぷ

996 :デフォルトの名無しさん:2006/08/30(水) 00:24:45
>>993
>991

997 :むこうの1:2006/08/30(水) 00:27:09
>>991
普通の人なら作者はまともな人間だと分かるから安心しろよ。

998 :デフォルトの名無しさん:2006/08/30(水) 00:27:32
>>993
嘘をつけ。みんPy叩き関連は、おそらく大部分が貴様の自作自演だ。
このスレの人間はほとんど読んでない。対象読者から外れているからな。

>>all
俺はもう諦めた。次スレはこのまま使おう。
馬鹿は言葉が通じないから馬鹿なのだ。どうしようもない。

999 :むこうの1:2006/08/30(水) 00:29:05
>>998
こっちはみんパイの宣伝ばっかで飽き飽きしてんだよ。

1000 :デフォルトの名無しさん:2006/08/30(水) 00:31:10
>>999
リアル敗北者乙。

そして1000!!

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

236 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)