ついにGカップか…
3 :
デフォルトの名無しさん :2008/01/23(水) 18:39:32
class Hoge: class Orz(object): def __init__(self): self.__private = "I am Hoge.Orz" class Orz(Hoge.Orz): def __init__(self): Hoge.Orz.__init__(self) print Hoge.Orz.__private Orz() print Hoge.Orz.__private なんでエラーにならないの?
4 :
デフォルトの名無しさん :2008/01/23(水) 19:15:50
Pythonは終わった言語 これからはRubyの時代
5 :
デフォルトの名無しさん :2008/01/23(水) 19:17:15
Ruby信者のふり乙
おっPython勉強スレだ
7 :
デフォルトの名無しさん :2008/01/24(木) 00:44:44
活動再開するまでユーザ会のリンクは消したほうがよくね?
活動停止してたのか
でも更新されてる
10 :
デフォルトの名無しさん :2008/01/24(木) 08:39:26
宣伝乙
7はいらない子。 7が居なくなっても誰も気にもとめないし誰も困らない。 消えるべきは7。
後ろ向きなことしか言えない7なんかより、 定期的に勉強会や合宿を開催するユーザー会の中の人の方が2^32倍まし。 11が言うように7はいらない子。
13 :
デフォルトの名無しさん :2008/01/24(木) 11:07:50
より協力にサポートし
7は悔し過ぎておかしくなってしまったの?
7のタイミングの悪さは国宝級。 税金を使って保護すべき。
そんなことより野球しようぜ
17 :
デフォルトの名無しさん :2008/01/24(木) 16:20:10
更新されたと言っても、誰でも登録可能なトップニュースだけな訳だが。 止まってないと言うなら早く2.5.1のダウンロードリンク作り 2.3系を過去のものとして階層深くに引っ込めろよ。 日本語対応してるのが2.3系までと勘違いするユーザが多くて面倒なんだよ。
おいなりさんから来ました
>>17 > 止まってないと言うなら早く2.5.1のダウンロードリンク作り
すでにあるみたいだけど。
止まっているのはお前の脳みそ。
汚名を挽回しようとしてかえって墓穴を掘る7の天然ぶりは国宝級。 国費を投じて、7を保護するためだけの財団法人を作るべき。
>>19 修正乙
早く日本語環境用インストーラも消してくれよ
>汚名を挽回しようとしてかえって墓穴を掘る 「汚名返上できてしまう」ってことか?
7は無視して野球やろうぜ。
2chからリンク張られるかどうかがそんなに重要なことなのか?
リンクはどうでもいいけど古い情報がそのまんまなのは悲しいな まぁ日本ユーザー会みたいなもんはどこもそんな感じよね
26 :
デフォルトの名無しさん :2008/01/24(木) 21:49:03
日本でPythonが流行らない理由が分かった気がするよ。
民度が低い みんなのPython
やっぱ永久凍土
汚名を挽回してどうするんだw 汚名は返上するもんだあろ
もんだあろ ってなんだ?
Py3.0ではクラスは全て object からの導出になるのかな? class A: って宣言してた事に気づかないまま hoge = propetry(gethoge, sethoge) してしまって、バグの原因特定に苦労するのはもう嫌だ
のび太は放っておいて、スネ夫とPython 3000で遊ぼうぜ!
>>30 人間性に問題があるのは一部だけ。
しかし、キチガイほど目立つのは問題だな(w
38 :
132 :2008/01/25(金) 10:36:28
>>3 の print Hoge.Orz.__private って
print Hoge.Orz._Orz__private じゃないといけないんじゃないの?
__private はインスタンスメンバだから self._Orz__private や Hoge.Orz()._Orz__private じゃないか?
どもなせが最終行で例外でるだけ。コンストラクタは実行できてる
Orz.__init__ (!= Hoge.Orz.__init__) の print で例外起こる
本当だったら九行目のコンストラクタのprintでエラーにならなきゃいけないんじゃないの?
for e in names: D[e] = colors.random() # 色配列からランダムで取り出す(copy or popする?) 名前のリストがあってそれに重複しないように色を付ける にはどうしたら良いですか?
>43 colors をコピーしたものを作って random.shuffle(colors_copy)
>>42 手元でやってみたけど、
>>41 の言ってるように、
コンストラクタを実行しようとして、9行目でエラーで止まったよ。
これでいいと思うけど。
c:\temp>c:\Python25\python.exe --version
Python 2.5.1
c:\temp>c:\Python25\python.exe hoge.py
Traceback (most recent call last):
File "hoge.py", line 11, in <module>
Orz()
File "hoge.py", line 9, in __init__
print Hoge.Orz.__private
AttributeError: type object 'Orz' has no attribute '_Orz__private'
dropbox の dropbox.exe に pyc が大量に含まれてるのだけど、 なんか普通のバイトコードじゃないんだよね。 ファイルサイズからすると RC4 的な暗号化がされてるっぽい。 解き方教えて。
いやいや、Orz は Hoge.Orz を継承してるわけだよね。 んで、Hoge.Orz のコンストラクタで self.__private を定義したと。この __private は アンダースコア2つで始まる名前な訳だから、Horz.Orz を継承した Orz からも self.__private でアクセスできるのはおかしいんでない? でも Orz.__init__ 内の print 文ではなぜか例外が発生しない。
属性__privateは継承しないけど、__privateを定義するメソッドを継承して実行したから __privateが定義されてても良いんじゃないの?
>>47 self.__private と書いたら self._Orz__private になるわけだから、おかしくない。
>>48 実際に __private は名前を変えて存在する。
これって結構落とし穴だよなあ。 別パッケージの同名クラスを継承した場合、 __で始まっていてもメンバ名のバッティングを気にしないといかん。 まあ、同名で継承するなって話か。。。。
>>47 コンストラクタは __new__ だぞ。
__init__ は初期化。
>1 おちゅ
今から勉強始めるのと、3が出るのを待つのと どっちが賢い? プログラミングはJavaと.NETを触ったことがあるレベルなのですが、 Pythonの勉強をいつ始めようか悩んでいます。
3が出ても、しばらくは 現行のバージョンも使われるだろうし 何より、恐らく3が出てからしばらくの間は 「3からPythonを始めた人」向けの解説は出回らず 現行バージョンを知っている人向けの解説が主になると思う。
今から3のアルファで勉強するのがベストじゃないか? 日本語の資料は諦める必要があるけど
>>55 3より前を勉強する価値はほとんどない
ってことでしょうか?
3ってそんなに凄いのか
んなこたぁない 原典と付属モジュールとPEP追ってちゃんと勉強する気があるなら3.xからはいって いいと思うけど、 片手間でor趣味でor書籍や資料が多ければいいってんだったら2.xだろ
既存のスクリプトは2.xで書かれているのが大半だからなぁ
基本的な考え方が根本的に変わるところはほとんど無いと思われる ので、いまから2.5勉強しても全然損しないと思う。 BNFの定義してる、grammar.txtはほとんど流用なので、文法なんかも身につければ ほぼそのまま通用すると思う
【審議中】 _,,..,,,,_ _,,..,,,,_ _,,..,,,_/ ・ω・ヽ/・ω・ ヽ,..,,,,_ ./ ・ω_,,..,,,,_ l _,,..,,,,_/ω・ ヽ | / ・ヽ /・ ヽ l `'ー--l ll l---‐´ `'ー---‐´`'ー---‐´
今と3の違いまとめページとかない?
どっちにしても現有のコード資産は2以前でしか使えないから 否応無く勉強することになりそうだ
>>53 2の勉強をして2to3コンバーターがまともに動くことを
Googleに向けて祈る
ありがとうみんな。 よくわからないのでとりあえず今日から始めてみます。 なんかこのままいくと3が出ても勉強を始めない自分がいそうなので。
本当は「Python3.0になっても通用するPython2.x入門」とかあればいいんだろうけどね つまり3.0で無くなる予定のレガシーな要素を抜いての入門だけど
>>67 それってPython3.0の新機能も使わないってことだから
2.xの勉強としても3.0の勉強としても不十分ジャマイカ?
>>66 3.0を横目で眺めつつ(気が向いたらかじりつつ)2.xを勉強するのが良いと思われ。
3.0が出たあとも2.xは相当長い間使われるハズだから。
個人的な経験からいっても、2.0が出たあとずいぶん長いこと1.5.2を使っていたし。
62と63に感謝。面白い読み物。 py3kについて事前情報で改悪改悪言ってたユーザーのサイト見て、 ちょっと偏見入ってたんだけど62の方を読むと互換性以外の点では、 今のところ良い事尽くめなんじゃねえの?って感じ。 でもまあ、そろそろ罠が来そうで楽しみw
>それってPython3.0の新機能も使わないってことだから >2.xの勉強としても3.0の勉強としても不十分ジャマイカ? なんでそうなる
>>71 2.xと3.0の共通部分しか勉強しないってことなんだろ?
最近のPythonスレレベルの低下がひどい
>>73 職業マがいないからだろ。
実際日本で使ってる所も多くない言語だし。
>職業マがいないからだろ。 ここは胴衣 >実際日本で使ってる所も多くない言語だし。 実際素人が増えてプロが減ってる
むしろマ板民が流入してるからな感が
昔からこんなもんだ 2chに期待するのはどうかと思う
非常に初歩的な問題ですみません
from BeautifulSoup import BeautifulSoup
from urllib2 import urlopen
page = urlopen("
http://**** ")
soup = BeautifulSoup(page)
for hoge in soup('*', "****"):
print unicode(hoge.string)
で返ってきたhogeをそのままテキストファイルで保存しようと思った場合
どのように以後に付け加えればいいでしょうか?
>>80 お前はバカかとアホかと
そこまで出来てるんならすぐだろ
BeautifulSoup使う前に基礎の基礎から考え直せ
for以前でファイルを書き込みで開いて
for以下にインデントしてhogeを書き込め
理由は考えろボケが
Python において「ハッシュ可能」って、「変更不可能」と同義?
PyDoc でドキュメント生成しようとしたら、モジュール hoge が見つかりませんといって 停止しやがる。 hogeはCの実行ファイル側で定義されてるからスクリプトは存在しないんだよ!!! それぐらい空気読んでスキップしてくれよ!! これはあれか、hoge.py ってダミーファイルを用意しないといけないのか。
__dell__
d
デコレータについて俺に優しく教えてくれ。 CのポインタならぬPythonのデコレータ
おでこっていいよな。
単なる炉利だろ
hashとdictって違うものですよね?
デコレータってあんまり使わないんだけどここにいる人たちはどんな使い方してる? 読み出し専用プロパティ作るの楽だなあとしか思ったことない @property def readonly(self): return あとはロックとかのリソース管理?
>>88 用途その@
クラスメソッドとか、スタティックメソッドを作るのに必要
@staticmethod
def a(): ...
@classmethod
def b(cls, ...): ...
ロックの一種だけどクリティカルセクションに入れたい時とか?
3.0からはクラスにもデコレータが適用できるね こっちはどんな使い道があるだろう
97 :
デフォルトの名無しさん :2008/01/30(水) 09:49:21
setup.pyの中でversionを設定できますが、 この数値を普通はCVSとどうやって連携とるものなんでしょうか。 setup.pyのversionを手動で書き換えて、 同じ数字でCVSにタグをつけるもんですか? だとすると、間違えたりする可能性がありそうで嫌だな、と。 setup.pyのversionとCVSのリリースタグの、 どっちかを変更すると、もう一方にも自動で反映されるようにしたいんですが、 どうしたらいいんでしょうか。
>>99 普通はファイルのリビジョンとパッケージのバージョンは別だと思うんだけど。
みなさんIDE何使ってますか? 素直にIDLE?
xyzzy
PyScripter
>>99 setup.pyはPythonスクリプトだから、CVSのリリースタグをsetup.pyに埋め込んで、それをpythonで処理すればいい。
といってもCVSはよく知らんのだけど例えば
__release__ = '$Release: 1.2.3 $' # こんなリリースタグが埋め込めたとして
m = re.search(r'[.¥d]+', __release__)
version = m.group(0)
というのはどうでしょうか。
Eclipse+PyDev
pyplってcheese shopと同じようなもの? 今のPHP云々の中で「Perlで言うCPAN相当な再利用可能ライブラリの集積所」、 みたいな文脈で名前が挙がったんだけど、日本語の情報が少なくて…。
昔 pypi 今 cheese shop
変数名を取得する方法ってありますか? >>> foo = Bar() >>> foo.get_var_name() 'foo' >>> baz = Bar() >>> baz.get_var_name() 'baz' という動作を期待しています。 newやreprモジュールを調べたのですが、クラス名、モジュール名は取得できる ものの変数名の取得がとんと考えつきません。 ご教示いただければ幸いです。
>>107 ありがとう、そゆことなんだ。
言及してた人がPython使いじゃないから、古い名前しか知らなかったのか。
106でPYPLと打ってしまってて、検索に失敗していたのは許して欲しい…。
>>108 無理
できるのは、locals() でローカル変数の一覧を、globals() でグローバル変数の一覧をとってくるぐらい。
そんなことを必要とするのはたぶん、「ほんとうにやりたいこと」に対する解決方法が間違ってると思うから、まず「ほんとうにやりたいこと」を書いてみるといいよ。
>>108 class Foo:
def get_var_name(self):
for key, value in globals().items():
if id(value) == id(self):
return key
return None
foo = Foo()
print foo.get_var_name()
この質問、ちょくちょく出るけど
Python で「変数名を取得したい」と思ったら十中八九「設計ミス」だと思う。
うは、かぶったw 結婚してください。 ヾ(o゚ω゚o)ノ"プニプニ!
>111 複数の変数が同じオブジェクトを指してるときはうまく動作しないね。 まあ、>110,111の言うとおり設計見直した方がいいと思う。
import traceback import re class Foo: def get_var_name(self): stack = traceback.extract_stack(limit=2) return re.search(r"([_a-zA-Z][_a-zA-Z0-9]+)\.get_var_name", stack[0][3]).group(1) foo = Foo() print foo.get_var_name()
>>111 >>>foo = Bar()
>>>foo._name = 'foo'
>>>foo._name
'foo'
>>110-114 本当にありがとうございます。
> 「ほんとうにやりたいこと」
というのはほんとうに純粋な興味からです。しかし皆さんのお話をうかがうに、
元々こんなことをやることが無理筋なのだと理解しました。
>>113 の方が仰っているのを理解する意味で、
foo = Foo()
print id(foo), foo.get_var_name()
bar = Foo()
print id(bar), bar.get_var_name()
bar = foo
print id(foo), foo.get_var_name()
print id(bar), bar.get_var_name()
としてそれぞれ確認を行いました。
いずれにしても、globals()やid, tracebackの存在を知ることができて
ありがたいです。
>>115 ワロタ。。のですが、つまり原理的にこうするしかないということですね。
呼び出し元のフレームから.f_code.co_codeと.f_lasti辺りから解析すれば変数名は取得できるんじゃないの? 式になると当然無理だけど まあ変数名取得してどうすんのという気はする
変数名がどうして必要になるのかが毎度気になる
>>70 Foxit Reader 使ってみたら PDF サクサク動いて感動した。d
cheese shopを未だにpypiと言う人にPythonを語る資格はないと思う。
たとえば、obj._name で常に変数名が取れたとする。 しかし、これは、'obj' と常に等しい。したがって変数名を取る仕組みは不要。
>>> foo = Bar() >>> foo._name = 'foo' >>> foo._name 'foo' >>> bar = foo >>> bar._name 'foo' >>> bar._name = 'bar' >>> foo._name 'bar'
もし変数名が取得できたらデバッグとかテストとか楽になりそうだと思うけどな
Pythonの変数はコンテナじゃなくてリファレンスだから、 いろいろ変なことが起こる。 少なくともCPythonでは、 a = 2 b = 3 - 1 とすると、aとbは同じオブジェクトになる(a is bがTrueになる)。 文字列もインターンされたりされなかったりするから、 s = "ab" t = "a" + "b" だとs is t。 u = "a/b" v = "a" + "/" + "b" だとu is not v。 そーいうのを知ったうえでそれでもやるなら、どうぞどうぞ、という感じ。
>>123 >>108 みたいな方法が出来ないというのであって、デバッグとかテストのときに
変数名とその値の一覧を取得するのはlocals(), globals()でおk
>>> "ab" is "a"+"b" True >>> "abc" is "a"+"b"+"c" True >>> "a/c" is "a"+"/"+"c" False なんだコレ?、バグじゃね?w
>>> 200000 is 100000 + 100000 False >>> 20000 is 10000 + 10000 False >>> 2000 is 1000 + 1000 False >>> 200 is 100 + 100 True >>> 20 is 10 + 10 True >>> 2 is 1 + 1 True テラ意味不明w笑いが止まらんw
is はポインタ比較。等値比較には == を使え
何が? 文字列や整数のようなオブジェクトがimmutableになっていて、VMが勝手に使いまわしてくれるのは大変ありがたいんだが。 再利用基準はVM依存だから、非明示的に作られた同値オブジェクトが同一だったり非同一だったりするのは当たり前。
>>125 の
> Pythonの変数はコンテナじゃなくてリファレンス
が真理だと思う。
クラスの中で self.get_var_name() とかして自分の名前を知りたいのかもしれないけど、
参照元が1つとは限らんし、その名前のコンテキストもわからんし、使いようがないような。
>再利用基準はVM依存だから、非明示的に作られた同値オブジェクトが同一だったり非同一だったりするのは当たり前。 immutable なのに再利用されないものがある理由が分からん
>>132 既にVM内に同値オブジェクトが存在するかどうか探す手間がオブジェクトの生成コストを超えるなら、再利用しない方がマシ。
>>91 >>98 ありがとう。ほんとうにありがとう。
こういう人たちがいるのでPython大好きだ
weakref.ref つかうときって、普通に hoge_ref = weakref.ref(hoge) ってやってる?それとも hoge が None である場合を考慮して def get_hoge(self): return self.__hoge_ref and self.__hoge_ref() def set_hoge(self, v): self.__hoge_ref = v and weakref.ref(v) hoge = property(get_hoge, set_hoge) みたいにしてる?
>>127 は、識別子として有効な文字列ならinternされるって実装だから起こる現象。
自分の間違いを他人のせいにする奴は生きている資格がないので今すぐ死ね。
setattr(self, "a", "b") self.a = "b" これ同じ?どっちが早い?
>>138 他人に'死ね'なんていうもんじゃないよ!!
137がPythonを使うのを止めれば済むことじゃないか!!!
141 :
デフォルトの名無しさん :2008/02/01(金) 17:03:02
ファイルとかパスを正規表現を使って探せる関数はありますか? globはワイルドカードしか使えません><
re.match と os.listdir を組み合わせたのが欲しいんだろう
>>141 無理
MicrosoftがWinFSを載せたら出来たかもしれないが…
前スレでurllibでwikipediaのページを取ってこれないって言った人に対して
ライブラリのせいにすんな、死ねよって書いてた人だろ?
>>138
145の頭の中にはオレとアイツの二人しかいないらしい。 これもゆとり教育の悪影響だろうか。
>>145 urllibでwikipediaのページを取れましたか?
148 :
デフォルトの名無しさん :2008/02/01(金) 22:18:39
pdbつかってるんですが変数に変化があったときブレイクしてくれるようなコマンドありますか? gdbのwatchみたいなやつ
>>147 urllibのURLopenerでUserAgent指定すればいいんじゃね?
最近httplibそのまま使ったほうがいい気がして来た
urllib2
Python3.0だとurllibがurllib2相当になったりしないんだろうか
もっと便利で高機能なurllib3が追加される
154 :
148 :2008/02/02(土) 12:47:12
yoyoyo ねーのかyo
ggrks
グーグル、土日休みだろ。
それ社員だけ
PythonでCGIプログラムを書いてるんですが、sessionを管理してくれるライブラリはありませんか。
PerlとRubyには存在するがPythonは自己でファイルを作って 管理していくしか現状ないみたい。 他はDjangoフレームワークつかうとか
その程度で躓くようなヤツはRubyを使った方がいいよ。 絶対。断じて。 Rails使って遅さにハマれば勉強になるよ。
Visual C++ 2008で作成したdllをctypesで読み込もうとしてるんですが関数がないというエラーが出ます。 test.dllで定義した関数 const char* test() { return "test"; } test.py from ctypes import windll lib = windll.LoadLibrary("test.dll") lib.test function 'test' not found dllのロードはできています。何か考えられる原因はありますか?
exportしてるのか?
exportってVC++の方の話ですか?
dumpbin.exe /exports test.dll で確認してみたら
VC++でdll作るときはexportっての必要なんですね。 やってなかったので調べてみます。
定時実行をスクリプト内でなんとかしたかったら どんなのが楽ですか?
>>159 うそーん。session管理くらい標準ライブラリで用意してほしいなあ。
>>160 >そういう用途ならRubyが向いてるよ
そういう用途ってどんな用途?PythonはCGIには向いてないってこと?
>>161 >その程度で躓くようなヤツはRubyを使った方がいいよ。
>絶対。断じて。
なんで逆切れしてんの?
その程度で逆切れするようなヤツは引きこもってた方がいいよ。
絶対。断じて。
>167 「なんとか」をもーすこし具体的に頼む
かんとか
>>168 >その程度で逆切れするようなヤツは引きこもってた方がいいよ。
だからこのスレに引きこもってるんだろw
ヒッキー相手にマジレスカコワルイ
おまら両方うるさいから、rubyスレでやれよ。 phpの件で荒れてるから、少しぐらい騒いでも大丈夫やろ。
>>167 定時実行って時刻指定?インターバル指定?
import time, threading
def proc():
while True:
time.sleep(1)
print 'aiueo'
threading.Thread(target=proc).start()
>173 わかってると思うけど、 それだとprint文の実行時間により結果が不定になるので、 time.sleepの直前で次にwakeup timeを計算したほうがよい気がする。
定時実行ってふつうは外部でcronを使うよね
Timerとか使えばよくね?
ctypesでCで作成した関数に構造体を渡す方法なんですが struct user { int id; char name[20]; double average; }; __declspec(dllexport) void __stdcall print_user(struct user u) { printf("id:%d\n", u.id); printf("name:%s\n", u.name); printf("average:%f\n", u.average); } print_userに構造体を渡すときにpython側で from ctypes import * lib = windll.LoadLibrary("test.dll") class User(Structure): _fields_ = [("no",c_int), ("name",c_char_p), ("average",c_double)] u1 = User(10, "abcde", 83.5) lib.print_user(u1) とやると ValueError: Procedure probably called with not enough arguments (16 bytes missing) というエラーが出ます。 何が原因なのでしょうorz
Cのuser構造体が計4+20+4=28バイトとかなのに Pythonのu1は4+4+4=12バイト なので16バイト足りないって怒られるということじゃない? ("name", c_char_p * 20) とかしたらどうだろう
ああ間違えた。c_char * 20 かな
>>168 161が本当にキレてるかどうかはわからないけど(俺は君の勘違いだと思う)、
逆ギレという言葉を選ぶということは、君は自分がキレてる自覚あるわけだよね。
要するに、君みたいにいきなりキレちゃう痛い人には、それなりに刺激のあるレスが返ってくるってことだよ。
あきらめな。
煽るなw 半年ROMってろで済むだろw
そういうとこが面倒なのでpyrexでラッパーを作ってしまう俺
184 :
148 :2008/02/03(日) 17:42:02
申し訳ございません ぐぐってもみつかりません 教えていただけませんでしょうか (´Д`;)、 コノトオリデス ノノZ乙
ま、そんな時もあるさ 明日は違うさ
pdb.doc pdb.py bdb.py あたりを読んでみれば?
>>180 161本人乙
おまえの必死さは伝わった
必死な人ほど必死の一語で切り抜けようとするらしいよ。
オレ161だけど180とは別人だ。 オレとオマエの二人しかいない寂しい頭のキミに、 何を言っても無駄だろうけどね。
つーかいつまでも反応する奴みんなうぜぇ
>>161 =180=188=189
1人4役乙
ひとりで4人分演じられる頭があれば、そりゃあ寂しくないだろうよ
>>191 自分で証明してどうする(www
>オレとオマエの二人しかいない寂しい頭のキミに
ここまで全部俺の自演
>>192 その反応が君一人で頑張ってたことの証明になってるよ。
>>194 >要するに、君みたいにいきなりキレちゃう痛い人には、それなりに刺激のあるレスが返ってくるってことだよ。
>オレとオマエの二人しかいない寂しい頭のキミに、
>何を言っても無駄だろうけどね。
自分の脳内でしか意味を為さない引用は勘弁。 こじつけ設定くらい考えてから切り返してね。
調子に乗って python でゲーム作ったけど、内容が肥大化するにつれ 実行速度がかなり厳しくなってきた俺が来ましたよ 参考までに 超基本的な事でRGBデータをどう持つのが一番早いか計測した結果。 早い順に -------------- RGB = (R, G, B) -------------- RGB = [R, G, B] -------------- RGB = RGB_CLASS() R, G, B = RGB.R, RGB.G, RGB.B -------------- RGB = {"R":R, "G":G, "B":B} R, G, B = RGB["R"], RGB["G"], RGB["B"] クラスと辞書はどっちが早かったか覚えてないけど、ほとんど同じだった気がする
RGB = R << 16 | G << 8 | B
R, G, B = (RGB
>>16 )&255, (RGB
>>8 )&255, RGB&255
てのも考えたけど、各要素を取り出すのに必要な式なり関数なりを Python
で書いた時のコストを考えると、結局 RGB を独立して保持した方が早いという結論に。
長い複数行にわたる文字列を定義したいと思って str = """ hoge "" 見たくやりましたが \v \bが含んでいると正しく出力されなくなります. 手作業で\\をつけてもいいですが,何かいい方法がありませんか?
「正しく」ってのはどういう状態を考えてるの?
>>201 raw文字列
>>> str=r"""hoge\nhoge"""
>>> print str
hoge\nhoge
UnicodeのRaw文字列はどう書くんだったかといつも迷う。 urなのかruなのか。 良い覚え方はないものだろうか。。。
unicode(r"hoge")
Unicode文字列に対してlenを呼んだときに返す値は何?
ユアストリングって覚えるといいよってGuidoかFredが言ってた ごめん嘘いま俺が考えた
>>206 >>> len(u'日本語')
3
>>> len('日本語')
9
209 :
206 :2008/02/05(火) 21:52:59
IPythonだけ変な値を返していました。 IPython以外で確認したら普通に文字数を返していました。
unicodeのraw文字列はロシアじゃない。とか。
いろいろとアイデアをありがとう。覚えられそうな気がしてきた。
>>> "bar" in "foobarbaz" True "foobarbaz".find("bar") != -1 とかやってた俺涙目
uro覚え
うru覚えは違うってことか
>>214 誰が上手いこと言えと
(ちょっと感動した)
うりゃー URyaaaa
hoge = [(1, 2), (3, 4), (5, 6), (7, 8)] を fuga = [(1, 3, 5, 7), (2, 4, 6, 8)] に変換するにはどのような方法がスマートでしょうか? hoge = [[1, 2], [3, 4], [5, 6], [7, 8]] のときはやりかたは変わりますか?
fuga = zip(*hoge)
>219 それ、FAQの殿堂に入れようぜ!
zip()ってあんまり使わないよね Python Challenge以外で使った記憶がない
a[len(a)] = xがダメなのに、a[len(a):] = xだとおkなのは、 そういうもんだと納得しなきゃいけないんでしょかね。 あと、a[len(a):] = [x] と a[len(a):] = x の書き間違いで、 いつかミスる悪寒を覚えた。
チュートリアル スライス演算には便利な不変式があります: s[:i] + s[i:] は s に等しくなります。 >>> word[:2] + word[2:] ’HelpA’ >>> word[:3] + word[3:] ’HelpA’ スライス表記に行儀の悪いインデクス指定をしても、値はたしなみよく処理されます: インデクスが大き すぎる場合は文字列のサイズと置き換えられます。スライスの下境界 (文字列の左端) よりも小さいインデ クス値を上境界 (文字列の右端) に指定すると、空文字列が返されます。 >>> word[1:100] ’elpA’ >>> word[10:] ’’ >>> word[2:1] ’’
>>223 インタプリタで実行してみたら
当たり前だが前者がIndexError,
後者がTypeErrorになってしまうのだが
何がどうOKなんだ
おれはいま恐ろしく頭の悪い奴を見た。 それは233だ。
233に期待せざるえない
228 :
223 :2008/02/06(水) 23:34:26
このスレッドには馬鹿しかいないことが判明したようだ
>>223 やりたいのはa.append(x)じゃないのか?
或いはa.extend(x)を期待してる?
>>225 x がリストなら TypeError にならない
実際上は、229の言うように、append extend を使えば、
紛らわしい問題は起こらない。
233はPythonにエスパー能力を求めているの?
232 次どうぞ。
233getttttt
エスパー認定されました。おめでとう233。
お前には失望した
a = 1 b = 9 print a + b
PythonなんかよりRubyつかうほうがいいと思うよ
>>223
>253 寂しい奴め。 世界の果てでのたれ死ねこの低賃金ITドカタ。
このスレはいつから未来人が跳梁跋扈するスレになったんだ?
特定のビューアーで番号ずれてるだけじゃね?
再読込み汁
243 :
デフォルトの名無しさん :2008/02/07(木) 16:27:25
twitterのapiを利用したサービスを作りたいんだ サクラの鯖で運営したいんだけど python以外にどんな知識が必要なの? jsとかhtmlとか、もしかしてlinuxの知識もいるの?
「あぼーん」が発生しても運が悪いと検出できない時があるからな。
>>243 どれもこれも浅くて良いから一通り知っておく必要がある
どこから手をつけたらいいのかわからないんだったら
urllibでAPIを呼び出して結果をElementTreeで解析とかからやってみては
このあたりはHTTPとXMLの知識がすこし必要
そこから先はCGI作成設置とかだからスレ違い
246 :
243 :2008/02/07(木) 17:51:25
>>245 ありがとう
むっさがんばる
”このサイトについて”のありがとう欄に”
>>245 ”って入れるよ。絶対。
跳梁跋扈って、何て読むの?
248 :
デフォルトの名無しさん :2008/02/07(木) 19:01:27
>>247 いまの若いもんはおんぶに抱っこも知らんのか
>>242 昔ゾヌ使ってた頃ズレた事があったな。
設定で回避したりバージョンで違うのかも知れんけど
ビューア次第で番号がズレることはある。
ネタにしてもつまらん
239はヤンキーだろ。 夜露死苦哀羅舞勇。
記憶力が無い奴はextendだけ覚えりゃいい。 x.append(n)っぽいことをしたきゃ、x.extend([n])で済ま
無洗米に対してのような鬱屈を感じる
appendしか使ったことないや extendは効率無視すりゃ+でいいしなぁ
extendならイテレータ受け取れるからたまに使う
259 :
デフォルトの名無しさん :2008/02/08(金) 12:37:42
>>212 すげー
これが欲しかったんだ。
re.searchとかfindとか、Noneを返すけどNoneかどうかを調べようがなくて困ってた。
>>259 value = None
print value is None
すいませんpython2.4をpythonwinでやっているのですが, コンパイル済みの自作モジュールを再編集した際に, 一旦アプリを閉じないと再コンパイルしてくれません. なにか良い方法ありませんでしょうか?
バカばっか。 Rubyでもやるか。
263 :
デフォルトの名無しさん :2008/02/08(金) 13:03:57
>>260 ああ、printしたらNoneって表示されるのにプログラムで「Noneですか?」を判定する方法が分からないって意味。
Noneとも'None'とも比較できなくて困る。
>>262 Rubyやるやつのほうがよっぽど馬鹿だろ。
Rubyを選択する最大の理由が日本語しかできないからだし。
まあ僕も日本語しか出来なくて英語の膨大な資料が読めなくて困ってるんだが。
日本語もろくにできないくせに、他人のことを見下すなよ身の程知らずが(www
267 :
259 :2008/02/08(金) 14:01:31
やっと見つけた None この型には単一の値しかありません。この値を持つオブジェクトはただ一つしか存在しません。 このオブジェクトは組み込み名 None でアクセスされます。 このオブジェクトは、様々な状況で値が存在しないことをしめします。 例えば、明示的に値を返さない関数は None を返します。None の真値 (truth value) は 偽 (false) です。 あとコマンドラインでのif文の書き方も間違ってた。 ちゃんとタブ入れないとだめなんだな。 んでコマンドラインで試して見た そしたらちゃんと比較できてた。 >>> if None == None: ... print "eq" ... else: ... print "else" ... eq >>> つまり、Noneを含む可能性のあるオブジェクトはこれでおkか。 if オブジェクト: データ処理 else: Noneが返された場合
>>261 インタラクティブモードでのことなら
>>> import foo
>>> reload(foo)
>>267 None との比較は
>>260 が書いてあるように value is None でやるのが基本
if value: だと [], {}, "", 0 等も偽になるので
270 :
デフォルトの名無しさん :2008/02/08(金) 14:07:52
>>265 偉ければ、能力がありさえすれば他人を足蹴にしていいと思ってる馬鹿。
頭がいいと思い込んでる害虫は即刻殺すべき。
259の頭が悪すぎる件について
272 :
デフォルトの名無しさん :2008/02/08(金) 14:13:47
トヨタがさ、システムエンジニアが2万人欲しいんだって。 1万人でやってるけど足りないってさ。 それで、福岡は筑豊地区に会社作って集めるらしいんだけど、 福岡東芝に勤めてる俺の先輩は、「先輩よりテストの点がいいやつは処刑だ」って、集団リンチしまくりですよ。 そんな人間がのさばってる町にシステムエンジニアを1万人も集めるってのは、 エンジニアを炭鉱の鉱山に埋め殺すのと同じ行為だって分かってるのかと。 まあ、トヨタは、エコな企業だから、古きよき江戸時代のカラクリを復活させて省エネを図ってるって言ってるけど、 当初のトヨタの計画では燃料電池を内蔵したロボットを使ってエコを実現するって言ってたもんな。 会社のトップが馬鹿だからどうしようもない。
>>270 偉ければ、能力がありさえすれば他人を足蹴にしていいと思ってる低脳。
274 :
デフォルトの名無しさん :2008/02/08(金) 14:18:38
>>273 偉ければというのは除外
能力がありさえすれば、他人を殺さなければならないと思ってる天災ですが何か。
馬鹿がのさばるわが宮若市は・・・
宮若とかいう名前をつけるのがわが町のトップ。
それも、全町民から公募してこれが最高の命名であったという事実。
驚け。
田舎のキチガイは始末が悪いという好例。
>274 よくわからんが274は応募してるのか?してないのか?
278 :
デフォルトの名無しさん :2008/02/08(金) 14:48:41
279 :
デフォルトの名無しさん :2008/02/08(金) 15:18:10
280 :
デフォルトの名無しさん :2008/02/08(金) 15:27:48
for〜else:って便利なんだけど長くなればなるだけインデントが深くなるのが欠点。 ループ中のbreakを外で拾ってくれるのがあれば2重ループをすんなり抜けれるのにって思う。 オブジェクトが単数~複数で返されちゃうからif〜elseの代わりに使えるfor〜elseがあるんだろうな。 ・・・ いやいやbreakしない限りelseは実行されちゃうから・・・ めりっとあんのかと。
>>258 ナンセンスと文法破綻の区別がついていない例
あれがまともな日本語に見えるわけね。 まぁ英語圏ほどじゃないけど、日本語だって色んな国籍の人が書くから、こういう人もいるか。
おまいら仲良くしろよ
284 :
デフォルトの名無しさん :2008/02/08(金) 17:19:45
>>282 日本語しかしゃべれないチョーセン人の存在を忘れるな。
まあ忘れてもいいけど殺されるぞ。
elseで分岐できるからフラグセットして逆転させることも出来るけど
制御構造にフラグを使うのは間違いの元だからやっぱりfor〜elseで書くべきなんじゃないかと思うけど
実際Pythonで書いてる人はどーやってんのか。
逆転させるくらいならbreak時のフラグでそのままbreakするべきだろうな。
こういう書き方するとelseが文法違反だし。
http://pc11.2ch.net/test/read.cgi/tech/1169473442/97 for i in range(10):
if data[i]==3:
break
pass
else:
>>284 > 日本語しかしゃべれないチョーセン人の存在を忘れるな。
色んな国籍が揃えば日本語に不自由な奴が居るのも当然≠日本国籍を持ってない人は日本語が不自由
286 :
デフォルトの名無しさん :2008/02/08(金) 17:52:57
>>285 日本語しかしゃべれないチョーセン人≠「甲子園」としかしゃべれない障害者
日本語しかしゃべれないチョーセン人≒漢字に弱みはあっても日常的に問題ない、ゆとりレベルで言えば日本語に堪能と言える。
日本語しかしゃべれないチョーセン人←対照的→日本国籍を持ってない人は日本語が不自由
ここまで解説してもまだ分からない?
ちなみに
>>284 を投稿する直前に、踏み切りで待ってる人がナイフで殺されて血まみれなのが中継されてた。
僕も同じ状況で襲われたけど、逃げ場がないんだよね。
耳が割れそうなほどうるさくて、人の接近にも気が付かないし。
pythonで a = [[1,2],[3,4],[5,6]] を定義して b = [2,4,6] を取り出したいのですが, b = a[:][1] とすると b = [3,4] となってしまいます. どのようにすればよろしいでしょうか?
b = [x[1] for x in a]
> b = a[:][1] これがピュアすぎる…
zip(*a)[1]
ありがとうございました. 目からうろこです.
[y for x, y in a] ていうのもある
>280 二重ループの部分を関数内関数にする def main(): def foo(): for i in xrange(10): for j in xrange(10): if i == j == 5: print "found" return print "not found" foo() main()
for i in xrange(10): for j in xrange(10): if i == j == 5: break else: continue break print i, j
>>> import operator >>> map(operator.itemgetter(1), [[1,2],[3,4],[5,6]]) [2, 4, 6]
主部省略だけで文が読めなくなる低能はどこですか
2.6〜2.9って生まれることも許されないのが確定っスか?
>>286 > ここまで解説してもまだ分からない?
うん、まったくわからない。説明してくれる?
とりあえず、こちらが実際に「ちっとも忘れていない」ことを「忘れるな」と言われても、
ああ、どっかで誤読してるんだなこの人、としか思わないわけで。
耳が悪いと頭も性格も悪くなるのか。 気を付けないと。
>297 2.6はリリースされることは決まっているが
>>297 2.6 といっしょに 3.0 が出て
2.7 といっしょに 3.1 が出て
2.8 といっしょに 3.2 が出て
2.9 といっしょに 3.3 が出て
くらいまでは 2.x 系列が使われ続けるだろうからむしろ 2.9 までで足りるのかを心配した方がいいよ
小数点以下が16進で 2.10 2.11 2.12 2.13 2.14 2.15 までいくだろ
2.9は出ない、に10000グーグル
306 :
297 :2008/02/08(金) 23:40:16
なるほどFirefoxみたいな感じに並行メンテされるのね。 つか、2.9じゃ桁足りない説ワロタ。むしろ近いのはIPv4/6か。
307 :
272 :2008/02/09(土) 04:09:57
そうか。 トヨタが筑豊に技術者を集めるのは、技術を奪い取って剥ぎ取って追い出すためか。 トヨタは泥棒が得意だからな。 それはそうと、松並議員が相撲部屋に説教たれてたのは何のギャグだろ。 あいつ痴漢した相手が逆らったからって殴り倒して地下鉄でひき殺させようとした殺人未遂犯のくせして。 写真うpしちゃうぞコラ。
308 :
デフォルトの名無しさん :2008/02/09(土) 08:34:40
>>308 へ?みやすくなるならいいじゃん。
ネストした関数の何が問題なのさ?
310 :
デフォルトの名無しさん :2008/02/09(土) 08:54:31
>>309 ループを基準に関数化とか・・・
gosubみたいな引数を伴わない関数でもあるんならいいけどね。
短くするための関数化なら、普通にエディタで折りたためば良いと思うよ。
それほど大規模なやつでなくてもいまどきのは折りたためるの結構あるし。
>>310 引数無しのネスト関数で何の問題があるの?
ループ内のまとまった処理を関数としてまとめることに
問題があるとは思えないんだけど。
なんかフラットな構造の関数に慣れてるだけじゃないの?
呼ぶ回数にもよるが、インライン展開とか無いなら、 関数呼び出しのコストが無駄になるかもね
関数の中身がよほどスカスカでないかぎり、 関数呼び出しがボトルネックになることは まずないと思うがなあ。
314 :
デフォルトの名無しさん :2008/02/09(土) 13:06:47
>>308 関数化した方が処理が抽象化されて再利用性が高まる。
テストもしやすくなるしね。
パフォーマンスのことを気にするのは,その後でしょ。
>なんかフラットな構造の関数に慣れてるだけじゃないの? Pythonによく似ていて関数内関数のない言語。それはRu(ry
えっ,Rubyって関数ローカルな関数作れないの?
関数内部に関数を定義することはできるが、関数外部に定義したのと同じ効果 しかないので無意味。
マジか?名前かぶったらどうなるんだ?
上書きされる(つД`) def boo p "boo" end def foo def boo p "boo2" end boo end foo # boo2 boo # boo2
>>318 「あと」に実行されたメソッド定義で上書きされる
というか、def methodname という書式は所属するクラスにメソッドを定義する効果しかない
勝手に「関数内関数だぜー」とか勘違いして使っておいて文句ゆーな
いわゆる関数内スコープの関数が欲しければ「一連の手続き」をオブジェクトとして持ち歩けるProc使え
>勝手に「関数内関数だぜー」とか勘違いして使っておいて文句ゆーな じゃ、なんで関数内に関数を書けるように変更されたんでつか?
>>320 それ、勘違いというより、コンパイラで弾くべきエラーなんじゃ…
設計ミスちゃうんかと
That's Matz quality!
>>321-322 動的にメソッドを追加できるというメリット…まあ、注意深く使えばメリットになるものがなくもない
「Hoge#levelupを実行するとHogeクラスに10個くらいメソッドが追加される」とかそういうやつ
「メソッド定義(Rubyには関数はない)はどこにでも書ける」という単純な事象の単純な結果に過ぎない
だからProc使えよ
def foo
helloworld = Proc.new{ puts 'Hello, World!'}
helloworld.call
end
helloworld ←エラー
foo ← Hello, World!
説教泥棒という言葉を思い浮かべてしまった。
>>326 まとめると、まっつんの設計ミスということでOK?
Rubyって,よく考えずに追加した浅はかな仕様で自爆してること多くね?
まあそろそろRuby関連スレでやってくれ
>>328 > この定義のある場所にメソッドを定義します。
> すなわち、クラス/モジュール定義中ならばそのクラス/モジュールのメソッドを定義します。
> トップレベルならばどこからでも呼べるメソッドを定義します。
という def の説明があるんで、def の中に def を書いたらどうなるかは…
やっぱ、そのクラスにメソッドが定義される以上の動作はし得ないと思うぞ
メソッドにメソッドを定義することはできない
既存言語を経験した人が def をネストしてハマるのはまあ通過儀礼のような気もせんでもないが
それで Proc とかそのへんを使い始めてくれればそれで問題ないかと
まあ、いずれにしても使わないんですけどね、Rubyなんて。
まあPythonスレだしな
少なくとも言語設計としては大失点だな。
スレタイを読めない奴は黙れ
あれほど酷くは無い。なんつったっけ、P(ry
>>336 まあ目くそ鼻くそだけどな。
くそ同士だから、お互い気になって仕方がないんだろ。
なぜruby厨がそこら中のスレで鼻摘まみ者になっているか、よくわかった。
とりあえず、NGワード Proc を設定 www
Procってあれだろ、カッコなしでメソッド呼び出しできる仕様を追加してしまったがために、 呼び出し可能オブジェクトを代入できなくなって、苦し紛れに作った仕様なんだよな。
Procでreturnするとfooから抜けちゃって関数内関数として使えません(> <) def foo boo = Proc.new do 100.times do |i| 100.times do |j| if i == 50 && j == 50 return end end end end boo.call p "foo" # 実行されず end foo
だからRubyの話はRubyスレでやれヴォケ
Matzは多言語の悪口を言う前に スタックの使い方について勉強した方がいいな(www
344 :
デフォルトの名無しさん :2008/02/09(土) 18:00:44
>>341 ものすごいfoolなfooですね。
Rubyってやっぱクソだ
>>340 Ruby作者の頭イカレすぎ
子供の作文に見せかけたなでしこで書かれた破壊プログラムにも全部消されたしクソ杉。
なんにしてもRubyみたいな糞言語は使わないんだけどね。
細かい言語仕様ひとつで糞言語って大げさ。 ってかアンチrubyスレいけ。いい加減しつこい。
細かい言語仕様て、決まってないと安心して使えないアル。では安心して 使える言語Pythonの話題をどうぞ.
>1.8.6では、Proc.new≠proc=lambda >1.9では、Proc.new=proc≠lambda なんか勝手に変えられることもあるらしい(wwww なにこの糞言語(wwwwwww
報告はいいから
Ruby話の続きは
>>345 でまとめようぜ
興味あるPython使いは勝手に覗きに来る事だろうて
Rubyの作者がアレだからな
>>347 returnでどのコンテキストから脱出するかは、全然細かい話じゃないだろ。
言語仕様の根幹に関わる問題だぞw
>>> 352 いずれにしろスレ違い アンチrubyの粘着キモ杉
Pythonスレならではのアンカーに感動
凄いな。 352 というリテラルに、2行のテキストがbindされていたなんて。
356 :
デフォルトの名無しさん :2008/02/09(土) 21:36:31
あっ 間違えちゃったよ
MLにも変なのが湧いてきたな。 setをもらってそれら全てにマッチする正規表現を生成って、 return '.*' でいいじゃんw
PythonとRubyはPerlerを受け入れる宿命だからな・・・
MLに投稿してるのは、Python本の訳者だな。 何が言いたいのかよくわからんが ああやっちゃうなら正規表現文字列をわざわざ生成しなくてもいいような気がするけどな 文字列の範囲も指定しなくちゃだろう。 こっからここまでは正規表現としてはパースしないでね、と
PerlのRegexp::Assembleを使えばよい 車輪の再開発がしたいならどうぞどうぞ
クラ鯖の業務アプリでPythonかTcl/Tkをクライアントで使おうかと 検討中なのです。そこで質問なのですが、そのようなことをしてる 人はいるのでしょうか。また帳票の出力はどうやってますか?
>>357 ククブクとチュトリアルの翻訳者にそんな失礼なことを言ってはいけません!
>>361 Python向きの仕事じゃないと思う
COBOLでも使えばいいんじゃない
>>363 COBOLでクライアントを書けというのか。無知を晒すのも大概にせいよ。
>>361 VBでも使っとけ。
決してIronPythonなど使うのではないぞ。
>>361 Canvasにでも書いてPostScript形式で出力するのか。
Tkって日本語通るのか?
>>368 そうなんだ。
Unicode対応とうたっていても
PostScriptに変換する過程でこけるソフトウェアが世の中には多くて困る。
372 :
デフォルトの名無しさん :2008/02/10(日) 03:56:45
グーグル検索 北朝鮮送金ルート 亀田右翼の正体在日
open("output.ps", "w").write("""%%! /Ryumin-Light-H findfont 90 scalefont setfont 20 20 moveto <%s> show showpage """ % "".join("%02x" % (ord(c) & 0x7f) for c in u"\u304a\u3063\u30d1\u30a4\u30bd\u30f3".encode("euc-jp")))
質問です try: raise Exception('hoge') except Exception, e: print e これだと拾えるのですが try: raise Exception('hoge', 'fuga') except Exception, e: print e これだと拾えないんですが こういうときにどちらもうまく拾うにはどうすればよいですか? tryの中で Exception('hoge') が投げられるか Exception('hoge', 'fuga') が投げられるかは分からないのです
どっちも拾えるようだが
すみません print e.args としてました ここに載っけるときに簡略化した再現ソースにするつもりで間違いました
Vyper ってもう死んだの?
DictA.extend(DictB) みたいにするには どうしたら良いですか?リスト拡張するみたいに 辞書も拡張したいです
DictA.update(DictB)
DictA<ひぎぃ
>>379 すみません。扱うデータが重複が許されないデータなので
辞書を更新して書き換えられません。条件後だしスマソ orz
for k,v in [DictA, DictB]: DictC[k] = v これだとキーが衝突してしまう罠…
>>382 > for k,v in [DictA, DictB]:
DictC.setdefault(k, v)
>>383 >>> DictA = {"蛇":"py", "珠":"rb", "真":"pl"}
>>> DictB = {"蛇":"足", "珠":"尾", "真":"打"}
>>> DictC = {}
>>> for k,v in [DictA, DictB]:
... DictC.setdefault(k,v)
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: too many values to unpack
うまくいかなかった orz
DictA.update((k, v, ) for k, v in DictB.items() if k not in DictA)
>>385 >>> DictA.update((k,v,) for k,v in DictB.items() if k not in DictA)
>>> DictA
{'\x90^': 'pl', '\x8e\xec': 'rb', '\x8e\xd6': 'py'}
>>> DA
{'\x90^': 'pl', '\x8e\xec': 'rb', '\x8e\xd6': 'py'}
>>> DB
{'\x90^': '\x91\xc5', '\x8e\xec': '\x94\xf6', '\x8e\xd6': '\x91\xab'}
やっぱり何も変わらなかったぽ…
387 :
デフォルトの名無しさん :2008/02/10(日) 17:35:12
pythonで大儲けしたいんですが、金になるWEBサービスって何かないですか? アドセンス貼ってアフィリ成金になりたいです。
>>dictの人 何を望んでいるのか書かないと誰もわからないぞ
やりたいことが良く分かんないけど、値をリストにしちゃ駄目なの? >>> DictC = dict((k, [v]) for k, v in DictA.iteritems()) >>> for k, v in DictB.iteritems(): ... DictC.setdefault(k, []).append(v) ... >>> DictC {'\x8e\xec': ['rb', '\x94\xf6'], '\x90^': ['pl', '\x91\xc5'], '\x8e\xd6': ['py', '\x91\xab']}
>>389 ですよね…フォルダ内の画像ファイルにタイトルを付けて
分類するみたいなかんじで,
{写真A:犬吠崎(晴れ), 写真B:犬吠崎(曇り), 写真C:犬吠崎(嵐)}
{写真A:門出, 写真B:憂鬱, 写真C:危機}
キーが変わらないけど、それに付随する情報を、国語辞書の
{ことばA : 定義1}
{テレビでやってて知った新しい定義、友達が言ってった怪しげな定義}
じぶんだけの辞書を、あとから手書きで書き加えてゆくかんじで、
つくるのに、DictA.extend(DictB)という記法でできたら、キー重複が
許されたら嬉しいみたいなかんじです。紙の辞書のアナロジーで扱え
たいというか…うーん日本語難しい orz
>>390 リストに入れ子にするほうがPythonっぽいのですけれども
DBから取り出すとき、Viewに表示するとき、
for dt map( filter ("写真A") MyDict ): <= この辺きっとすごく間違ってる orz
print MyDict[dt] = dd
こんなかんじでやりたいです。
for k, v in DictA.items(): DictB[k] = DictB.get(k, ()) + (v, )
>392 意味がわかりません >_<
sqlite使えクソが
for dt map( filter ("写真A") MyDict ): print dt, MyDict[dt] 間違えました orz
タグ付けみたいなもんならDBでやったほうがよくないか
>>395 sqlite はキーが重複してても上書きされないんですね…
やっぱりそっちに逃げたほうが無難っぽいですね。
いま手元の本読んでみたらタプルを使って、操作してから
辞書に入れる、タプルが辞書のキーとして使えるので
『変化しないデータをキーに入れる』用途で使えると書いて
ありました! でもサンプルコードが載ってませんでした…orz
タプルをキーとして使えば簡易「型チェック」が行える…???
タグならset型を1つ持たせればいい
>sqlite はキーが重複してても上書きされないんですね… >やっぱりそっちに逃げたほうが無難っぽいですね。 DQN認定しました おめでとうございます
>>398 > sqlite はキーが重複してても上書きされないんですね…
なら単にPythonで二元配列使えばいい話なのでは?
>>388 配列の添字に重複がないのと同様、
辞書のキーに重複がないのは当然だろ。
>>391 キーに対応する値のほうをリストにすりゃいいんじゃねーの?
>>398 いきなり結論(コード)に飛びつかず、
まずは落ちついて自分の操作したいデータの具体例を整理しろ。
Pythonでのデータ型や操作の方法を考えるのはその後だ。
407 :
399 :2008/02/10(日) 18:55:31
>>> H = (("ha","hi"),("hi","hu"),("hu","he"),("he","ho")) >>> M = (("ma","mi"),("mi","mu"),("mu","me"),("me","mo")) >>> Anpan = H + M >>> Selif = {} >>> for char, selif in Anpan: …1 ... Selif[char] = selif >>> Selif {'me': 'mo', 'ma': 'mi', 'mi': 'mu', 'hu': 'he', 'mu': 'me', 'hi': 'hu', 'ha': ' hi', 'he': 'ho'} >>> Anpan + (("ma", "kasinkasinkasin..."),) (('ha', 'hi'), ('hi', 'hu'), ('hu', 'he'), ('he', 'ho'), ('ma', 'mi'), ('mi', 'mu'), ('mu', 'me'), ('me', 'mo'), ('ma', 'kasinkasinkasin...')) 1を実行 >>> Selif {'me': 'mo', 'ma': 'kasinkasinkasin...', 'mi': 'mu', 'hu': 'he', 'mu': 'me', 'hi': 'hu', 'ha': 'hi', 'he': 'ho'} できました!そうかキーを重複させたいときはタプルを使えば いいのか…マっ!!カシンカシンカシン(嬉しくて走り出す乙)
408 :
399 :2008/02/10(日) 19:02:03
あかんがな… やっぱり辞書は重複したキーを持つことができない データベース使わないと駄目か…orz
blogでやれ
410 :
399 :2008/02/10(日) 19:08:53
だがことわる...orz
やりたいことをはっきり書くか、さもなければよそに行けこの荒らし野郎
>>408 > データベース使わないと駄目か…orz
そんなことはない。
でもな、その調子でDB使ってもまたドンヅマリになるだけだぞ。
413 :
399 :2008/02/10(日) 19:17:51
違う違う!! for orig, repl in 紙の辞書(body): body = repl.join(body.split(orig)) 文字列の置換をしたいとして、キーとなる正規表現は普遍 されば、マッチする地点は複数個所。 普遍のキーにぶら下がる複数の対象物。絨毯爆撃。 Pythonで紙の辞書に当たるのは 紙の辞書 = タプル体 ((A,A'),(B,B'),(C,C'),(D,D')...) + ((E,E'),) extendでE漢字!(謎) Pythonの辞書 = {A:A', B:B', C:C', D,D',...} update {E,E'} データ構造としてキーを重複させたいときは タプルの複合体みたいのをつかうべきと…
>>410 嘘だッ!!
>>411 日本語が不自由ですみません
もうちょっと整理してから書き冪 orz
>>412 どんづまりーごーるど
みずたまりーごーるど(謎)
お騒がせして申し訳ありませんでした。何とかなりそうな
木がしてきます他。お付き合い頂きありがとうございます!!
というか本嫁じぶん orz
d
>>413 タプルのリストで何か困ることがあるか?
416 :
414 :2008/02/10(日) 19:43:45
>>415 ないと思います。辞書ということばに惹きづられて
和訳 <=> 英訳 のイメージ
↓
それは文字列置換なのだから、辞書を使えばいいんだな
↓
うまくいかない
となってたようでした。素のタプルをこういう風に扱えるという
発想に及びませんでした。修練が足りない orz
キー:文字列 値:リスト コレで解決だよなどう見ても
キーに対応する値が複数あって、どちらを取り出せば良いか Pythonが都合良くエスパーしてくれると思っているのか? 日本語とかPythonの前に自分の考えを整理すべきだ
ねぇ、相手するからココでやるって気が付かないの?
>>418 解答を示せないのに適当なレスつけてんじゃねーよ
「解答を示せない」奴のレスは「不適当」になるのが普通では? :-)
今度はこちらのPythonスレに 変なのが寄り付いたな
Pythonは変態のみがいじくる変態言語だからな
lxmlの2.0がリリースされたけどWindowsバイナリはない? mingwでコンパイルしたけどなぜかimportがうまくいかない。
ユーザ会の合宿が本家なら、なんとか温泉は何? パクリ? バッタモノ? 劣化コピー?
流れを読まずに低レベルな質問 このスレに、インデント(TAB or 連続スペース)を書き込むのってどうしてますか?
>>426 行こうか迷っているんだけど、
どうも最低限Djangoフレームワーク使いこなすとか
初心者であってもリファレンスの中身を頭にすべてとどめておくとか
参加者に対してよくわからん性能要求をしてるんだよね。
何がしたいのかいまいちわからなくて迷ってる。OSCどまりにしておこうかな。
>>430
ちなみにコレ自体は
&nbsp; こうかく
>>430 半角で&nbsp;と書くとスペース1つとして表示される
これは連続で
&nbsp;&nbsp;&nbsp;&nbsp;
と書いても個数分のスペースで表示される
一方ロシアは全角スペースを使った。
スクショ撮ってそれをあぷろだにあげて ここで掲示すりゃいいじゃないですか
さくっとコピペして実行できないと
プログラムは書いて覚えるものなんよ!
#!/usr/bin/python import sys def main(): for line in sys.stdin: line = line.replace('\t', ' '*4) line = line.replace('&', '&') line = line.replace(' ', ' ') sys.stdout.write(line) if __name__ == '__main__': main()
>>438 def main(): と
if __name__ == '__main__':と
main()は無くていいね。
import sys [sys.stdout.write( x.expandtabs( ).replace('&', '&' ).replace(' '*2, ' ' ).replace(' '*2, ' ' )) for x in sys.stdin] replace(' '*2, ' ' は2回しないと偶数個の空白連なりの時に1つ減るよ
ですね。バグでした。
何気なく Lib\SimpleHTTPServer.py を実行して簡易ウェブ鯖にしようとしたら ソッコーで mail.*.*.tw:25 行きの CONNECT リクエストが来てビビった。 実装されてなくて 501 になったけど。てゆーか CONNECT なんて知らんかった。 EMOBILE の接続なんだが意外にビシバシ来てるんだなー。
>>431 >何がしたいのかいまいちわからなくて迷ってる。
それはある。
どんなことやるのかが分かりづらいよな。
さっさとプログラムを発表して欲しい。
>>431 なんか無意味な敷居をつくって仲間意識を高めようという
日本の悪しきコミュニティの典型に見えるな。
敷居を作っているのは444のような気がする(wwwwwwwww キチガイの妄想は怖いな(ww
特定の属性を持った人は勝手に疎外感を感じる傾向にあるらしい。 444はオタの喪男の典型に見えるな。寂しい奴。
>>445 いや、実際敷居は高いよ。
西尾さんとかくる訳で、
その前で実際にプレゼンするわけだし。
日曜プログラマーは全く居なくて、
よくて学生、他はIT企業につとめてる社長さんとかばっかりだから。
>>445 >>446 正直、GoogleGroup使ってる時点で
顔見知り以外排除している感じだろう。
ホテルの手配とか公開しちゃまずいところもあるのだろうが
行われるプレゼンの内容とかなるべくオープンにしないと。
>>447 IT企業につとめてる社長さん
ここ表現おかしかったな。
社長さん(某Python本著者)とか、だね。
会社ぐるみでPythonを利用している人たちが来たり、
一見さんは来づらい雰囲気はあるよ。
「自分は疎外されてる」って思い込むタイプに紛れ込まれると 扱いに困ることはあるしな。
453 :
447 :2008/02/11(月) 10:24:52
ちなみに私は過去2回、参加してるけど 今からだときつい気がする。 3,4年前ぐらいであれば、本当のプログラミング初心者であっても 参加しやすい雰囲気であったけど、 現状何かしらの実装を担当している..(Rubyであっても、Perlであっても、Cであっても) 技術者か、そういった企業への就職を目指している 若者ばかりがくるからね、ただノートPC持って行って Pythonリファレンスを見ながらひたすらコード打ち込む、ってだけじゃなく、 夕食の時にコアな開発秘話を話す必要性が出たり(雰囲気的にきつい人もいると思うが)、 だんだん脱せんしてきている気がする。 今回参加できるか不明としている。
454 :
447 :2008/02/11(月) 10:26:06
ちなみにGoogleグループで登録する必要あるけど、 参加するのに承認要りませんからね。勝手に入ってしまってもOKなので、 全員排除ってことはありません。 ただ、2月中旬まで自己紹介など反応の無い人は 強制退会させられるようですが。
455 :
447 :2008/02/11(月) 10:27:32
今回の合宿が少し遅ければ、 OSCでコミュの顔揃えを見てから合宿参加への 検討を行う、ってことできたと思うのだけどなあ。
実装屋さんか優れたプランナーじゃないと参加しづらいのは本当だな
>>453-455 どうみても利用者を増やすためのコミュニティじゃないように見受けられるが。
日本語リファレンスをリリースしてるからいいのかな。
Pythonみたいなマイナー言語にも格差が出てきたってことかな。 負け組のITドカタになってしまわないように、僕頑張るよ!!
英語必須のAsiaBSDConなんかに比べれば こんなに易しいコミュもないものだが
んー、
>>458 自分の回りでPython使ってる人もいない、
MLでの情報のやり取りよりも顔を合わせて話をしたい、
てな、好きでPython弄ってる人たちがわいわい話すてのがいいと思うのだけど、
最近は腕っ節自慢ばっかりで辛い。
参加者しか内容を知り得ないMLの議論の内容を貼り付けてしまう 454みたいなヤバい奴がいることにびっくりした。
>>460 >好きでPython弄ってる人たちがわいわい話すてのがいいと思うのだけど、
それが「できない」と勝手に決めつけているようにしか見えないなあ。
それほど崩壊しかけてんだろ Python本の訳者の意味不明なMLへの投稿など見れば一目瞭然
>>462 できるわけがねーよ
回りは好きで弄ってるんじゃなく
食うために弄ってる人らばっかりが参加するんだぜ?
何を話しても仕事に絡めてくるからこっちは困る。
そのうちPythonの話じゃなくてGoogleの素晴らしさとか
任天堂とAppleは似ているとかどこぞの東洋経済記事の話になっていってしまう。
Pythonって何だろう、どんなのだろうって感覚で
打ち始めた人たちにとって合宿は参加しづらいイベント。
合宿参加前にPython-MLに積極的に自作コードを投稿して
自分の現状(スキル)を覚えてもらってから参加したほうがいい。
>>461 これはヤバイな。
こういう奴がいる合宿には参加したくないよ。
過去に参加したことがある。
が、
>>464 が言ってるような大げさなことじゃねえぞw
あくまで初めてのPython本を読破して、リファレンスも7割ぐらい暗記していればOk。
実際のコード作業なんてみんな見ちゃいないよ
>>466 PythonのリファレンスはRubyなどと違って膨大な量がありますが
PEPも含めたら死ねますが
必死に疎外感を表明している447ってあの人か。特定できた。 447はいらない子だからいなくなってもいいよ。
469 :
デフォルトの名無しさん :2008/02/11(月) 10:44:27
今回の合宿に参加させようとする人と 参加させまいとする人の戦いが起きているようだ
470 :
デフォルトの名無しさん :2008/02/11(月) 10:44:59
>>466 >リファレンスも7割ぐらい暗記していれば
俺にはムリ(w
ていうか、リファレンスは必要に応じて読めばいいので、暗記する必要はないだろ。
472 :
468 :2008/02/11(月) 10:45:54
いやマジで特定できたから。毎回席の隅っこに座って きめえ表情浮かべながらあれこれやってるあの人ね。
>>471 ライブラリリファレンスのうち、
組み込み関数
正規表現
os
pickle
thread
tk
はひとおとり見なくとも、ゴテゴテのコードになろうとも
覚えておかないと話の切り替えの時にあたふたするってばっちゃ言ってた
今から何をやろうか不明でもいいんだよ。 でも過去に何をやったか調べてもまともな情報がないんだよ。 西尾君の発表会収録ビデオ(2年前)のが出るぐらい
475 :
デフォルトの名無しさん :2008/02/11(月) 10:50:41
そんなの
>>474 の都合だろ。
過去に何をやったかなんて関係ない。
今現時点での己の実力を持って合宿に参加すればいい。
そして相手を叩きのめして頂点に立つのだ!!!!
>>464 仕事でやってる集団と、好きでやってる集団に分割され、
名称もちゃんとその性質を明示するようになるべきだな。
>>473 組み込み関数、正規表現、osモジュールあたりについては同意。
thread, tkは場合によっては覚えなくてもよくね?
ところで、他に必須ライブラリってある?
>>476 キモい集団と、キモくない集団に分けるべき。
>>477 イテレータのところだな。
iterzipとか
>>476 もうちょっと初心者がよってきやすいイベントでの
告知がされてないのがまずいと思うんだよねえ
すべてあそこのwebpageで告知というのが。
参加費があるから参加しない、んじゃなく
「見えない敷居があるように見えてしまってる」のが問題なんだよ。
お前らPython大好きだな
>>480 >もうちょっと初心者がよってきやすいイベントでの
>告知がされてないのがまずいと思うんだよねえ
すまんが、ここのところを日本語に直してくれ。
>「見えない敷居があるように見えてしまってる」のが問題なんだよ。
敷居があると感じている人と、ないと感じている人がいるようだ。
受け取る側の問題もあるのではないかな?
>>478 キモい477タソはキモグループのリーダーってことでよくね?
>>480 直前になって中止の告知するとかより3000倍マシ(wwwww
キモくて日本語が不自由な人にとっては、なにごとも敷居があるように感じてしまうだろうね。 それは本当は敷居ではなくて、その人本人が越えるべき壁なのだと思うけど。 何事も他人のせいにしてしまうような人には、その壁は越えられないだろうね。
しかし40名ぐらいの人がホテルに集まって Python打ち込む or トークするって すごいカオスな光景だな。 1日限りの参加とかもokなのかなあ。
ユーザー会のやってるひとつのイベントで ここまで熱く語り合えるってPythonいいね。
>>486 過去一度たりとも女子は参加したことないらしっす
>>486 > しかし40名ぐらいの人がホテルに集まって
> Python打ち込む or トークするって
> すごいカオスな光景だな。
アカデミズムな世界ではおなじみの光景。
過労で倒れるまで連続してやるんだよな。
小飼弾がPythonはユーザー会が終わっとるみたいな 話をITmediaの記事で言っておったが本当のようだ
492 :
デフォルトの名無しさん :2008/02/11(月) 11:14:52
ユーザ会はいろいろな終わり方をするもんだけど、Pythonはどういう腐り方をしたの?
ユーザー会が終わっているというのなら、ユーザー会と関わりなく Pythonと戯れることができる体制を作り上げるしかないだろ。
キモ面が参加しづらい雰囲気があるのは事実。 キモ面にとってのPythonユーザー会は終わっている。
>>494 そうね.
グダグダの夕食会したりしてね.
終わっているユーザ会は、メンバー全員入れ換えでもしない限り正常化しない。 破壊するか、無効化することを考えろ。
ユーザ会の人達が建設的でいい人に見えてきたから不思議だ。 477のおかげだな。ありがとう477。キミのキモヅラは一生忘れないよ。
参加の敷居を上げるのはよくないことだけど。 低脳やキモい奴はPHPに戻った方がいいのは事実。
煽ってる変な奴がいるな
501 :
デフォルトの名無しさん :2008/02/11(月) 11:30:05
敷居が低いところに集まるのは、敷居が高いところに入れなかった残りカス。
特定のフレームワークでの知識や経験を必須とするんなら きっとそのフレームワークに関係するモノを書くという目標があるんだろ。 でも、その「モノ」を明らかにしないで、ただそのフレームワーク の経験のない奴は門前払いってのは内向きと取られても仕方ないな。
そうだな。内向きだな。じゃあ、外向きのを作れよ。
キモヅラって西尾さんのことか!
Pythonが、プログラミングを経験した初めての言語だ、って人は Pythonと戯れて2年ほど無いときつい。 他言語を経験しており(2,3年)、ここ最近Pythonに乗り換えた という人は参加しても大丈夫かな。 だいたい分かると思うけど、 リファレンス引くにもある程度の打ち込み経験が必要なんだよね。 2年目ぐらいになってくると分かると思うけど、時間が必要。
>>504 >門前払い
いつ門前払いしたの?
ソースは?
脳内?
>>507 リファレンスは引くんじゃなくて暗記しなきゃいけないらしいよw
>>507 経験者がたくさん来るらしいし,現地でいろいろ聞けるんじゃね?
ピンポイントな質問とか。
習うより慣れろっていうし。
他言語での開発経験があるならなおさら,知ってる人に「これってどうよ」って聞いた方が早くね?
504が夢の中で門前払いされた に3000デコレータ
468が出てくるようなイベントはこちらからご遠慮させていただきますwww マジでこんな性格悪い馬鹿の集まりなのか、pyspaは?
レスの伸びスゲー・・・
で、ソースは?
>>512 マジでこんな感じですよ。
外から見たきもさが、まんま仲間内では絆の証っぽく機能しているという
オタクにおなじみのパターンなので、修復不可能です。
>>508 ,511
門前払いしてそうな雰囲気ってことじゃねーの?
いや、だからソースを...。 日本語が読めないの?
>>512 似た者同士集まるっていうじゃない。
回りが同じじゃないと不安になるのはどんな人間も同じ。
>>503 2月に合宿があるのか.
ユーザ会とは別みたいだ.
全然知らなかった.
見た感じ、ハードル高い上に閉鎖的そうだな.
>>520 どこで告知されたんだろう。確かに閉鎖的に見える。
結局誰も門前払いされてないのね。 キモメンの被害妄想は始末に負えないなまったく。
ここまでのまとめ。 ・ユーザ会主催の合宿にPython使いを参加させたくない人(達?)がいるらしい ・独自に合宿を計画している人達がいるらしい ・独自組は結局合宿を開催できなかったらしい ・「西尾」とかいう人だけなぜか実名で書き込まれる(wwww
にしおの人はハンドルもにしおだから4番目はあまり意味無いのでは
原稿書けよ>西尾
そういえば、3週間くらい前にドキュメント翻訳作業へのテコ入れがなされていたけど、 その後の進捗状況はどうなんだろう?
ドキュメントはいいから原稿書けよ>西尾
>>524 >独自に合宿を計画している人達
柴田さんみたく海外のPythonカンファレンスに彼らは出席したりしとんのだろーか
西尾さんのブログおもしろいからな
ブログはいいから原稿書けよ>西尾
彼は勤め人(サイボウズラボ)だからどうでもいいでしょ^^;
>>529 お友達といっしょに温泉に篭ってヲタ談義するほうが
海外のpython使いとの交流よりも大事なんでしょ。
>>524 の修正
×・ユーザ会主催の合宿にPython使いを参加させたくない人(達?)がいるらしい
○・Python使い日本代表ユーザ会主催の合宿にPython使いを参加させたくない人(達?)がいるらしい
過去に参加したことのあるひと、 一体Python合宿ではどんなアーッな夜が繰り広げられてるんです? 少数の人たちによる発表会以外延々とコーディング(自分自身で目標を定めて) するって感じっすか?
>>536 それは公開できない。
参加してからのお楽しみ。
地元キャバクラのはしごとかあってもおどろかないよーに。
>>535 頭が悪い奴はスルーされるらしいから気をつけて!!
つかPyキャバとかマジで引くわ
>537 ユーザー会主催の合宿を妨害しようとしている人たちがいるらしいのできをつけて!
まさにおっpython
都内で会議室を何部屋か貸し切って一日カンファレンス三昧とかだっったら 興味があるのだが、合宿ってのがなんかなぁ。 大学サークルのノリでやられてもちょっと困るわ。 好きな人同士やってくれ。周りの人を巻き込むな。ってかんじよ。 どんな人だかわからないような人達と、 どんな形であれ一晩を共にするなんて俺には無理。
544 :
デフォルトの名無しさん :2008/02/11(月) 14:57:16
キモいのはつらいね、来る方も来られる方も
勝手に疎外感を感じられるレベルの人にとっては 勝手に巻き込まれることくらい朝飯前だろうなあ
>>543 > どんな人だかわからないような人達と、
> どんな形であれ一晩を共にするなんて俺には無理。
「一次的接触を極端に避けるんだね、キミは」だったっけ?
過去に起きた出来事を秘匿するぐらい ムフフなことが合宿でおきているのか
アッ-
西尾さんの人気に嫉妬
おれの股間の毒蛇が唸りを上げるぜ!
過去に行われたことはちょっとしたトレーニングだよ。 大体みんな5,000行〜7,000行のソースを打ち込んでたかな
キャンセルしたくなってきたよ。
集まる人たち冗談抜きですごすぎ。 経験の無い人がいくとかなり刺激を受けると思うよ。
>>554 考えずにコードを書き散らかすトレーニングか。
558 :
デフォルトの名無しさん :2008/02/11(月) 16:32:37
なんという言い掛かりw
まじめに考えて設計して実装して十分なテストまでやって ドキュメンテーションまでやって、コードが一人7,000行か?
>>561 初心者にはToDoリストを作らせて課題を自分で解かせる
発表者および上級者は何かしらのソフトウェア実装を計画し、期間内に完結させる。
webフレームワークを使ったショッピングサイト構築とか
>>562 そんなにやる事の差があるのに、
> 大体みんな5,000行〜7,000行のソース
になるのか?驚きだなw
ま、俺はどのみち産科するつもりないからどうでもいいがwww
参加する人たち気をつけて
今日一日まったくPythonの話が出てこないな。
特に語るようなこともないでしょ
おれの股間の毒蛇の話題でもちきりだwwwwwwww
誰も寄りつかないという意味では確かに毒蛇だな
そーいやモンティパイソンのDVD今月発売だったな
sys.exit()
すごい量の書き込み。なにか気に障ることでも書かれたのだろうか
内部抗争とおもわれ
脳内の敵と戦うアイツの臭いがプンプンするぜ。。。
Python合宿の情報、ください。
576 :
デフォルトの名無しさん :2008/02/11(月) 19:52:56
断る
釣り目の典型的なオタク顔だなあ イケメンと思っているのは本人くらいか? 本当にありがとうございました
横顔だと普通だけど 正面からだとイケテルよ
>>577 そっちじゃなくて本家の情報を知りたいんです><
>>578 まさかとは思うけど、本人が張ってるということはないよな???
そんなはずないよな????
580も別人だよな??
あら?
宿題スレで暴れてる人と同一人物?
>>581 本家とかあったんだ…
というかこういうのrubyとかのほうが上手だ
ノリの違いみたいなもんかもしれんけどw
抵抗勢力(?)の人達はレベル低すぎ。 キャバとかアーッって馬鹿じゃないの。 暇すぎて狂い死ねばいい。
×アーッ ○アッー!
死ねよクソ。
>>585 >というかこういうのrubyとかのほうが上手だ
キモくて低級な煽りをするクソ寂しいアホも居ないしね。
http://slashdot.jp/developers/article.pl?sid=01/10/02/2141228 >『Delphi Pascalで言うproperty, Rubyで言う仮想属性って無いの?』と思いました.
class Clock:
def __getattr__(self, key):
if key == "curtime":
import time
return time.localtime(time.time())
return getattr(self, key)
clock = Clock()
print clock.curtime
いちおう動くもんだな。もう7年前か…
インデントずれたw
>>589 > キモくて低級な煽りをするクソ寂しいアホも居ないしね。
このスレの
>>353 までの流れを見ればRuby(アンチ)にも
凶悪なのがいることは明らか。
西尾とかいう、嫉妬されるほど人気のある芸人の人が首謀者なの?
で、Zopeで告知してるPython合宿にみんないくんですかい。 わたしゃ行きますがね
レポよろしく
>592 死ねよゴミ。end書き過ぎて死ね。
>>594 最初は単三電池レベルから始めとかないと切れ痔になるでな
>>597 詳しいですね。イケメンだと掘られちゃうんですか?
>>598 そうだよ。正面から見るとイケメンだから大変だよ。
2chで合宿の実況とかしたら 犯人探しが始まる?
ぜんぶイケメンの西尾っていう芸人のせいにされるよ。 そして人気に嫉妬されて写真を貼られちゃうよ。
>>427 >延期になったんじゃないのか?
えっ、延期なの?
スイマセン、延期のお知らせがどこであったかご存じでしたら、教えてください。
よろしくお願いします。
すげー盛り上がってるおもたら なんじゃ,この流れw
ハイハイ、イケメンイケメン(wwww
>>600 それはやめといたほうがいい。
自分のことだけの事後報告がいい。
なんたって顔出しNGな一般的な社会人も参加するんだもの。
会社に内緒で来てる恐れもあるし。
日本でレベルの高いPython使いってことになると 彼を思いつく熱狂的な人が2,3人いるようですね><
>>606 そうだよ、イケメン画像が世界中に公開されたら掘られちゃうだろ(www
合宿の話はよそでやってくれないかね。 オフ板とかヲチ板とか。 はっきり言って迷惑この上ない。
>>597 >最初は単三電池レベルから始めとかないと切れ痔になるでな
単三をクリアしたら次は?
詳しそうなので教えて(wwwwwwwwww
んじゃ角電池
ありがとう! こんどキャバクラについても教えてよ!!!
>>432-433 ありがとうです
さっそくテスト
def testTest(a, b, c):
print "test"
607から必死な空気を感じるが気のせいかも知れない。 きっとそうだ。そうに違いない。なにしろイケメンらしいから。
抵抗勢力の人達は自爆してないか(www 去年開かれたPython温泉はどうだったの? 地元のキャバクラとか萌えスポット回った? アッー!
617 :
デフォルトの名無しさん :2008/02/12(火) 01:08:29
僕とかこういうのに参加してもやることない。 小中学生連れてきてくれるなら参加するけど。
>>616 参加者は全員アッー!な仲間さ。
単三から始めたんだ。
実践済みのノウハウというわけさ。
顔出しNGワロタ AVかよ
>597 既に痔の俺は何から始めれば良い
621 :
デフォルトの名無しさん :2008/02/12(火) 04:59:52
>>620 痛まず、しまず、心地よく治す。
この柔らかさをお試し下さい。
本家でない方の合宿に参加すればいろいろ教えてくれそう。 なにしろイケメンの人を含め、すごい人があつまるからね! アッー!な体験,キャバクラから萌え萌えスポットでのオタク談義まで。 Pythonを使ったことが無くても気軽に参加できるよ!!!
624 :
デフォルトの名無しさん :2008/02/12(火) 11:14:19
死ねよクソ。
みんな合宿ネタで楽しみすぎwww 誰かpythonの質問して空気を変えてくれwww
じゃあ、まず答えから用意するから、だれか合うように質問してくれ。
>>628 つzip(a, b)
質問です 住所から郵便番号を取得する関数はありませんか?
つzip(a, b)
>>628 ほらよ
def getaddressfrompostcode(code):
"""
code argument should be like '100000'.
"""
import xmlrpclib
s=xmlrpclib.Server('
http://yubin.senmon.net/service/xmlrpc/ ')
return s.yubin.fetchAddressByPostcode(code)
if __name__ == '__main__':
print getaddressfrompostcode('100')
親切だとは思うが逆じゃね?w
あなたは結婚相談所を運営しています。 登録した順番で並んだ女性の名簿 (a) 、男性の名簿 (b) があるとき最適な男女のペアを作りなさい。
能書きたれてコード書けない633は負け。 実働するコードを晒した630の勝ち。
>>630 正面から見るとイケメンの西尾さんも嫉妬するハッカーぶり.
イケメンかお化けか、それが問題だ。
>>630 if __name__ == '__main__':
for e in getaddressfrompostcode('1620824'):
print e["town"].encode('utf-8')
print e["jiscode"]
print e["postcode"]
print e["pref"].encode('utf-8')
print e["pref_kana"].encode('utf-8')
print e["city"].encode('utf-8')
print e["city_kana"].encode('utf-8')
print e["town"].encode('utf-8')
print e["town_kana"].encode('utf-8')
print "".join([e["pref"],e["city"],e["town"]]).encode("utf-8")
print "".join([e["pref_kana"],e["city_kana"],e["town_kana"]]).encode("utf-8")
ユニコード文字列で返ってくるから
あとでテンプレートに流し込みにくい
明示的にutf-8に変換しないと駄目? > テンプレートに流し込むとき
>>636 モジュール名は名前空間としても使うから (as, from を使わないとき)
個人的には短い打ちやすい名前が好きだな。
開発者のイニシャル + 連番 という命名方法がお勧め. 名前に悩む必要がなくなる.
>>639 なんでテンプレートも unicode しないの?
>>642 あっそうか流し込む先もユニコードに
しとかないと駄目か
T = u"%s%s%s" % (A,B,C)
print T.encode('utf-8')
d
645 :
デフォルトの名無しさん :2008/02/12(火) 19:36:08
utf-8をユニコードと言ってほしくない
メモ帳ですらUTF-8をUnicodeと呼ばんぞ
>>645 言ってないと思うが。
>>644 が言うユニコード部分はu"%s%s%s"で、これはUTF-8ではなくUNICODEだ。
648 :
デフォルトの名無しさん :2008/02/12(火) 20:10:14
ああ、printで流し込んでるのかと
合宿の話がしたかったが荒れてしまった、すまん。
本当にすまないと思ったんなら蒸し返さないでくれよ
いいか、今後合宿の話はするなよ? 絶対するなよ?
お金に余裕のある奴は参加しておくといいと思うよ 九州や沖縄の人は参加しづらいだろうけど
zip-codeって駄洒落?
_ ∩ ( ゚∀゚)彡 じp!じp! ⊂彡
質問です [1,2,3,4,5] → [[1],[2],[3],[4],[5]] とするにはどうしたら良いでしょうか?
>>> a = [1, 2, 3, 4, 5] >>> [[x] for x in a] [[1], [2], [3], [4], [5]] >>>
>>658 def nestten(temp):
return [[x] for x in temp]
def flatten(temp):
return [x[0] for x in temp]
>>> a = flatten(b)
>>> a
[1, 2, 3, 4, 5]
>>>
>>> b = nestten(a)
>>> b
[[1], [2], [3], [4], [5]]
ありがd
すいません,でかい配列を使用したらMemoryErrorが出てしまいました. 機種のメモリから察するにまだ余裕はありそうなんですが, 割り当て可能メモリを変更したりはできないんでしょうか?
MemoryError が起こるのは C の malloc が NULL 返したときだろうから Python 側で何とかするのは難しいんじゃない。
>>660 > でかい配列
kwsk
cf. numpy
663 :
660 :2008/02/13(水) 16:34:24
numpy使って a = zero((3500,3500), dtype = float)と入力しています. numpyではよくある話なんでしょうか?
664 :
デフォルトの名無しさん :2008/02/13(水) 19:23:37
ここにいる方ってすごくpythonに詳しいんですが、 皆さんってIT関係のお仕事されてる方なんですか? それとも趣味でプログラミングされてるんですか? もし趣味なら変態です。
IT関係の仕事をしていて、Pythonを使うのは趣味、 ってのが結構多いのでは。
666 :
デフォルトの名無しさん :2008/02/13(水) 19:29:32
近寄らないでよヘンタイッ!! もうpythonと結婚すれば良いじゃない!! 私の気持ちなんて何にも分かってないんだからっ!! バカバカッ!! 何でアルファベットの羅列を見てニヤニヤしてんのっ!! 自分で書いたスマートなスクリプトに自惚れないでよね!! 泣いてなんかないもん!!泣いてないんだからーっ!! 私もpython勉強してあなたと一緒にニヤニヤしたいのーっ!! もう本当に知らないっ!!!!
359 名前:デフォルトの名無しさん[] 投稿日:2007/12/20(木) 15:27:10 何で皆そんなにpythonに詳しいんですか? そういった仕事に就いてるからですか? それとも趣味ですか? もし趣味だとしたら変態です
もっと上位のド変態がそこらじゅうに居るので、python 使ってるぐらいでは変態とは思わない
この変態・ド変態・Da変態!
Pythonって口に出すときはどんなイントネーションで読めばいいんですか?
口に出すな この言語のことは胸に秘めておけ
パイソンのパイにアクセントが
PyPyってどう呼んでますか?
674 :
デフォルトの名無しさん :2008/02/13(水) 22:47:53
Jythonってどうなってるの
>660 もし*nixなら limit stacksize 16384 (足りなきゃ増やす)とかすると解決するかもしれん (しないかもしれん) Windowsは知らん。
max memory sizeのほうじゃねーか? スタックじゃないだろう。
すんまそんwindowsです・・・ でも最近unixで動かそうかと思いつつあるので,そのときやってみます. どうもありがとうございます.
python2.5.1のwindows版だけど、 numpy.zeros((10000,10000), dtype=float)でもいけるよ。 これだけで700Mぐらい持ってくね。 >>> sys.version '2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)]' >>> numpy.__version__ '1.0.3'
Mark LutzのLearning Python, Third Edition いつ翻訳されるんですか
3.0 や 2.6 だと property が書きやすくなるのね class Foo(object): @property def foo(self): return self.__foo @foo.setter def foo(self, value): self.__foo = value bar = property(doc="") @bar.getter def bar(self): return self.__bar @bar.setter def bar(self, value): self.__bar = value
python初心者だから教えてほしいんだけど @はJavaのアノテーションみたいなもんなの?
見た目は
>678 そうかも。うろ覚えで書いたすまん。
>>686 なるほど、実体はメソッドなのか。
超サンクス。
MLで告知があったから 合宿の内容見てみたがレベル高杉だろ
なにが何だかわかんなくていいから、高いレベルの人たちの話を聞いてみたい って気も、しないでもない。
>>689 それで高レベルの人たちに迷惑がかからないのであれば
参加してみたいな。
俺はPythonどころかプログラミング初心者で
ライブラリ見ないとまともにソース打てないし
ふと思い立って今日から勉強しようと思ったところですが 本家のとActivePythonはどこがどうちがうの? どっちインストールしたほうがいいですか? あと日本語が使えるとかどうとか書いてあるやつも見つけましたが 更新日時がえらい古くバージョンが2.3.4なんですけど これ使うより新しい方がいいですか?
あ、連続すみません winにインストールしてテストする予定です。
黙って本家の2.5入れとけ 2.3.4はありえない
え、俺も日本語が使えないのかと思って2.3.4入れてたよ。
確信犯。
前にも誰か言ってたが、.jpの日本語環境用インストーラは すでに害悪でしかないな。
殿堂入りじゃね とりあえず空のPC用意してUbuntu入れてくる
もれこれ真似してやってみようと思ってるんだがどの辺がまずい?
698の記事見て思ったんだけど。 とあるディレクトリ以下のファイル一覧取得(フルパスで)をリスト内包で書くとどうなるかな。 とりあえずこんな感じになったが、もうちょっとこう上手くできないものか… import os reduce(lambda a, b: a + b, [(lambda c, d: [os.path.join(c, x) for x in d])(y[0], y[2]) for y in os.walk('\\Python25')])
ワンライナー病の初期症状だな
>>700 「気楽」とか言いつつUNIX環境の構築を前提にしている
「Web系システムの本番環境」なんてのが読者の前提
どこが「気楽にPythonを始めよう」なんだか
普通にwindowsのpythonでやればいいんじゃないかと思う。
>ITpro Developmentは,プロの開発者から趣味のプログラマまで, >すべてのソフト開発者/技術者を支援するプログラミング情報サイトです それなりの層を期待した記事だから そこまで言う必要ないと思うんだが…
気軽に料理を始めよう ・まずオール電化のシステムキッチンをそろえよう
変な喩えは混乱の元
ITProの編集能力を疑うわ
>>701 root = os.getcwd()
[os.path.join(root, f) for f in os.listdir(root)]
サブディレクトリも列挙したいというなら早い内に考えを改めろ
710 :
701 :2008/02/15(金) 17:26:10
>>702 いや、リスト内包なら短く書けるよね!と思ってやったら上手くいかなかっただけなんだorz
lambdaとかreduce使わないでなんとかしたかったんだけど。
それは混乱する方がどこか足りない。
[os.path.join(root, f) for root, dirs, files in os.walk("/some/dir") for f in files]
713 :
701 :2008/02/15(金) 17:28:33
>>709 >サブディレクトリも列挙したいというなら早い内に考えを改めろ
サブディレクトリも…列挙…したかったんです…orz
>>705 いやその「趣味のプログラマ」が既に「Pythonを動かせる自前のサーバー持ち」
くらいを前提にしているならばわざわざUNIX環境の構築なんていうPythonとは
直接関係のない前ふりは必要ないし
逆にど初心者を前提なら「WindowsかMacのPython」全般に通用する話に
して「どれでもいいからとりあえずCPython入れてください」で済ますべきだし
つまり「それなりの層」がどの層相手なんだか絞り込めてないのが問題
715 :
デフォルトの名無しさん :2008/02/15(金) 17:43:28
おお。今気がついた。
ソースコードの保存形式をASCII(シフトJIS)にして
PythonWinのフォントを日本語フォントに、文字セットを日本語にしたら日本語で普通に編集できる。
プロポーショナルフォント選択したら2chAAもちゃんとなってるし。
インタラクティブウィンドウで実行した場合の文字化けは相変わらずだけど。
>>699 Ubuntuくらいで空のPCいらんよ。
VMwareで仮想マシン構築したらいい。
KNOPPIXみたいなCDブートなら仮想マシンだけ作ればインストールとかする必要もなくて無駄にHDD消費しないし。
716 :
701 :2008/02/15(金) 17:48:56
>>712 ソレダ! 感謝!
内包でforを複数書くのってまだ良く判らない…精進します
>>698 >しかし,PythonやRubyなどのスクリプト言語はUNIX環境で作られたものですから,
>長期的に見るとUNIX環境で使用することに慣れておいたほうが良いでしょう。
MacOSってUnixじゃないだろwww
>UNIX版のiPythonが非常に強力で,初心者にもやさしい
WindowsとUnixでIPythonは動作が違うのか?
あと個人的にはPyScripterの方が便利。
Win環境のこと知らんのでしょ。 ただの怠惰か、感情的なWin嫌いも入ってるか
>>717 >MacOSってUnixじゃないだろwww
いつの時代の話だよ…TOG見てこい
>>719 いつの時代って1990年ぐらいだろwww
MacOS と MacOSX は別物。
MacOSX と MacOS X も別物。
「Mac OS X」ですから。 9以前だって、「Mac OS 9」と書く。 「MacOS」なんて書き方はしない。
いずれにしろPythonの歴史すら調べずに書いてる事は確かだな
>>698 >GoogleやYouTubeなどのほか,米MicrosoftでもPythonが採用されています。
こういう記述が馬鹿みたいに見えるのは俺だけ?
「GoogleではC言語が採用されています。」とか言わないじゃん。
Python使い(の一部)だけ、Googleネタで自慢するよな。
>>688 >MLで告知があったから
>合宿の内容見てみたがレベル高杉だろ
キャバクラとかメイド喫茶の方が楽しいよな(wwww
誰かボクと漢字Talk7の話しない?
僕はことえりなので…
>725 GoogleはPythonを採用した、 と言ってよい唯一の企業じゃないか? 実際に採用したのは開発者だが。
具体的なプログラム名じゃなくて企業名が出るあたりで プログラマ向けの話ではなくてスーツ族向けのはったりぽくはあるね
733 :
デフォルトの名無しさん :2008/02/16(土) 00:31:09
スクリプトを使う意味は開発の容易さだけじゃなく、メンテナンス性の高さから。 ソースコードがオープンになっちゃうから売り物では普通使わないし。 まあMSのVBAとかHTMLで使えるJavaスクリプトとかあるけど、特定のソフトの枠を超えて実行環境で話されてるし。
今日でPython合宿の受付終了だけどおめーらどうすんのよ。 らきすたでも見て過ごすのか
このスレのほとんどはpythonスクリプトで投稿されています
intel cluster tools は昔だったらシェルスクリプトで書いたであろう コマンドがことごとく Python で書かれてた
def xint(value, defvalue=None): try: return int(value) except ValueError: return defvalue 的なことを一発でできる記法や標準ライブラリ関数はないですか。 dict[key] のかわりに dict.get(key) してデフォルト値を得る感覚で 「数値化できるならintが欲しい、できないならデフォルト値」がしたいです。 int(value) if type(value) in (str, unicode) and value.isdigit() else None とかはあちこちに書くには長すぎるです。
>>734 勝手に疎外感を感じてしまいがちなボクチムは
寂しい気持ちを慰めるためにキャバクラに通います
最近はお金がないので,もっぱらイケメンのあの人を思い浮かべながら
単三電池や角電池で自分を慰めているかもしれません
そんな毎日なのでずっと万年厨房の日陰者です
740 :
デフォルトの名無しさん :2008/02/16(土) 03:14:52
>>738 長すぎるのがいやなら関数化とかすれば。
>>738 def Str(value):
return type(value) in (str,unicode) and value.isdigit()
>>> value = "123"
>>> int(value) if Str(value) else None
123
>>> value = "12a"
>>> print int(value) if Str(value) else None
None
Noneに対抗してStr型を導入してみる
>>738 ない。
その xint を使いなさい。
つうか、そのプログラムでは、valueに何がくる可能性があるわけ?
数値か、文字列か、それ以外か何も分からないものを
整数化したいシチュエーションてかなりカオスじゃないかと思う。
そういう perl 的な状況対応の仕方を支援するような機能は
積極的に排除されている。<Python では
>>741 それだと value がもともと int もしくは float だった場合に対応してない
>>705 既にUNIX使いのユーザーを相手に書いた記事だとするとubuntuのウダウダは不要
Windows使いのユーザーを相手に書いた記事だとしてもやはりubuntuのウダウダは不要
この記事かいたひとはPythonよりもubuntuが好きなんだということが良く分かったよ
>数値か、文字列か、それ以外か何も分からないものを >整数化したいシチュエーションてかなりカオスじゃないかと思う。 CGIってカオスだよな。
CGIでは文字列しか来ないのでは。
742はWebアプリケーションやCGIを知らないのだろうか。
>>726 2chはほぼ全員そういうタイプだよ。君も含めて。
747はTVにつっこみを入れている人につっこみを入れるタイプだな。
ttp://www.rubyist.net/~matz/20060904.html#p03 >>> str("None")
'None'
>>> str(None)
'None'
>>> print str(None)
None
>>> print "ノン"
ノン
>>> int(None)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: int() argument must be a string or a number, not 'NoneType'
もし str() が int() 並に制約が多い関数であったなら
Pythonは今よりもぜんぜん普及してないと思うお昼
下がりの吉宗であった
int と str の違いではなく、オブジェクトが __str__, __int__ をサポートしているかでしょ >>> class Hoge: ... def __int__(self): ... return 3567 ... def __str__(self): ... return "aiueo" ... >>> int(Hoge()) 3567 >>> str(Hoge()) 'aiueo'
__str__が定義されてなくても__repr__が定義されていれば後者が呼ばれる。
日本語化したというなら str(None) を ノン にするべきだと思った
意味不明
まっつんはHaskellやらんひと?
752はいらない子.
>>> (lambda s: re.match(tokenize.Intnumber+'$', s) and eval(s) or -1)('1234') 1234 >>> (lambda s: re.match(tokenize.Intnumber+'$', s) and eval(s) or -1)('0x1234') 4660 >>> (lambda s: re.match(tokenize.Intnumber+'$', s) and eval(s) or -1)('0x1234') 4660 >>> (lambda s: re.match(tokenize.Intnumber+'$', s) and eval(s) or -1)('notint1234') -1
>>> (lambda s: re.match(tokenize.Intnumber+'$', s) and eval(s) or -1)('0') -1
>>> (lambda s: re.match(tokenize.Intnumber+'$', s) and eval(s) or -1)('1234') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 1, in <lambda> NameError: global name 're' is not defined
ごめん出直してくる
>>> (lambda s: __import__('re').match(__import__('tokenize').Intnumber, s) is None and -1 or eval(s))('0')
wxPythonむずかしー テキスト貼って弄って表示したいだけなんだがいいサンプルありませんかね? まあ、そんなのGUIにする人少ないんだろうが・・・
>>762 wxPythonのサイトにあるサンプル
>>762 import wx
app = wx.PySimpleApp()
frame = wx.Frame(None, wx.ID_ANY)
wx.StaticText(frame, wx.ID_ANY, "hello, world")
frame.Show(True)
app.MainLoop()
楽したいならwxGladeを使うという手も。
string.Templateの使い道がいまいちよく分からないんだが どういうときに使えばいいの?
公式のチュートリアルに使用例があったような
'%(var)s' % dic 形式の文字列フォーマットがなんとなく嫌になったら使う(飽きるまで)
769 :
デフォルトの名無しさん :2008/02/16(土) 15:57:59
Python2.5.2RC1リリースされてた
おまいらドジャンゴの勉強会行く?
今からPython始める入門者なのですが 学ぶにあたっていい書籍などありますか? wikiを見てみると一番オススメの「みんなのPython」は 2.5に対応していないんですよね。 それなら改訂を待ったほうがいいですか? それとも初心者には今のままのもので充分ですか? はたまたチュートリアルだけで充分だったりしますか?
Pythonの入門者が2.5の新機能を使うことなんてめったにないと思うぜ。 でっかい書店にでも行って,いろいろ読み比べて決めればいいんじゃね?
チュートリアルを読みこなせれば十分だと思うけど
>>770 勝手に疎外感を感じてしまいがちなボクチムは
寂しい気持ちを慰めるためにキャバクラに通います
最近はお金がないので,もっぱらイケメンのあの人を思い浮かべながら
単三電池や角電池で自分を慰めているかもしれません
そんな毎日なのでずっと万年厨房の日陰者です
単三電池で練習してからでないと参加できないってことかな? アッー!
>>771 黄色い方の恥パイはやめといた方がいい
桃色の方のはじパイにしとけ
スキルの低い奴は、根性叩き込むと称して ボタン電池が尻に何個入るか試されるってホントですか?
ム板って何でID出ないの?
>>762 ドキュメントにちゃんとデモが付いてくるだろ
>>780 黄色いはじパイはそもそも微妙、桃色のはじパイは2.3対応でかなり古いよねー。
もちろん,あなたが想像するとおりの集まりです. アッー!
>>771 黒い本があるはずだ。
それを買えば君も今日からPythonエキスパートだ。
791 :
デフォルトの名無しさん :2008/02/16(土) 19:11:21
>>789 そのサイト一番最初から嘘書いてあるから
>>783 ドキュメントにちゃんとデモが付いてくる
そっちはGayだ。
796 :
デフォルトの名無しさん :2008/02/16(土) 20:23:39
>>789 ホームページ作者乙。
アクセスアップ狙おうとしてもそうはいかないよ。
どんだけひねくれてんだよwww
>>792 > 5: Frm = wx.Frame(None, -1, "Hello wxPython!")
> 6: Frm.Show()
> 7: Btn = wx.Button(Frm, -1, "Push")
>ここで、Frm.Show() がボタンの定義の後になると表示がおかしくなります。
> 5: Frm = wx.Frame(None, -1, "Hello wxPython!")
> 6: Btn = wx.Button(Frm, -1, "Push")
> 7: Frm.Show()
>また、ウインドウを拡大縮小しても上のような状況になります。
>しかし、他にボタンやテキストなどのコントロールがあれば大丈夫のようです。たいていのアプリケーションではコントロールは複数あるので、 Frm.Show()は コントロールの定義の後にしていいでしょう。
誤解だから訂正して欲しい>はるかたん
Python関連書籍の蛇イラスト表紙が苦手とか言う話題が以前出ていたが Twisted本の表紙見て吹いた
803 :
デフォルトの名無しさん :2008/02/16(土) 21:44:50
恥パイ・・・(*´д`)
804 :
デフォルトの名無しさん :2008/02/16(土) 21:45:01
ctypesあったらswigいらないのかな
>>806 ホームページ作者乙。
アクセスアップ狙おうとしてもそうはいかないよ。
本人かどうかは置いておくとして。 今時「ホームページ作者」ってどうよ?
昔ニュース番組でアナウンサーが「掲示板と呼ばれるホームページ」とか言ってたな。
>>808 勝手に疎外感を感じてしまいがちなボクチムは
寂しい気持ちを慰めるためにキャバクラに通います
最近はお金がないので,もっぱらイケメンのあの人を思い浮かべながら
単三電池や角電池で自分を慰めているかもしれません
そんな毎日なのでずっと万年厨房の日陰者です
死ねよコピペ厨
ActiveScriptでPythonはありますか?
815 :
738 :2008/02/16(土) 23:37:12
みなさん返信ありがとう。 入力は基本的に文字列か None だけのことが多いわけですが、 エラーせずスンナリ int にしたい、、というわけです。 なんかしら新しいプロジェクト着手するたびに xint() を どこかに置かないといけないのがいかがなものかと思って。 組み込み関数 int()、3つめの引数でデフォルト値取れるようにならないかなぁ。
結局ドジャンゴ勉強会には誰が行くの?
>>816 ただれた人間関係にしがみつきたい寂しい人が行くんだよ。
Pythonで、添付ファイル付きのメールを送信したいのですが、わかりやすい 例が書いてあるサイト、文献は無いでしょうか。 自宅サーバー(Linux)で動かします。
混ぜるな危険
822 :
デフォルトの名無しさん :2008/02/17(日) 04:13:24
Python3000ってnumpyとか使えますか?
アッー!
サンポールとムトウハッポだっけ
そしてスパマーは添付ファイル入りのスパムメールを送信する方法を会得した
ありがとうございます。 これでようやくテキストじゃなく画像の宣伝広告メールが送れます。
>>820 ,822
python3.0との互換性を考えると
ctypesがbest?
>>829 勝手に疎外感を感じてしまいがちなボクチムは
寂しい気持ちを慰めるためにキャバクラに通います
最近はお金がないので,もっぱらイケメンのあの人を思い浮かべながら
単二電池やリチウム電池で自分を慰めているかもしれません
そんな毎日なのでずっと万年厨房の日陰者です
行列計算+柔軟なスクリプト ができないならpython使う必要ないのよね numpyはpython3.0に本当に対応しないの?
勝手に疎外感を感じてしまいがちなボクチムは 寂しい気持ちを慰めるために2chで遊んでいます 昔から知能が足りなくて、もっぱらコピペを繰り返し 脳内にすむアイツと孤独な戦いを繰り広げています そんな毎日なのでずっと低賃金のITドカタです
3.0はまだアルファ版なんだから今すぐには対応しないのでは 2.5使えばいいじゃん。
ひょっとしてpython3000でstring処理が変更になってlispのmacroと同じことできるようになった? eval(string) なんてできたっけ?
839 :
838 :2008/02/17(日) 15:32:01
>>819 アドバイスありがとうございます。
なんとか作れました。
>>826 違いますよ。
天気予報のサイトから、降雨レーダーの画像をダウンロードして
帰宅する時間に会社のメールアドレスに毎日自動で送信しようと
思ってます。画像を見ればいつ頃雨が降るか、だいたい判断でき
るので「あ、雨が降りそうだ。早く帰ろ!」って具合に。
降雨レーダーの画像のファイルですが、200802161640.gifのように
ファイル名に日付・時間がついているので、現在の日付、時間をと
りだしてファイル名を作り出すスクリプトにこれからチャレンジす
るところです。
そんなもんすぐ作れるぞ!という方、答えを教えてもらえると助か
ります。(あまえすぎ?)
実用的でおもしろいテーマでは?と自分で思ってます。
宛先固定でよくて画像も1つだけなら作ってやらんでもない
a = (2, 5) b = (3, 4) から c = (6, 20) とか d = (8, 15) とかを計算するのに スマートな方法はありますか?
for x,y in zip(a,b): print x * y
もっとスマートな方法ありませんか
>>> import operator >>> a = (2, 5) >>> b = (3, 4) >>> map(operator.mul, a, b) [6, 20]
>>> map(operator.mul, a, b[::-1]) [8, 15]
複素数型なら組み込みであるぞ とエスパーしてみる
>>842 おおっ、ぜひ。
>宛先固定でよくて画像も1つだけなら作ってやらんでもない
問題ないです。
http://www.tenki.jp/rdr/r57_1.html の最新のレーダー画像をダウンロードし、指定のメールアドレスに送信したいです。
画像は10分毎に更新されていますが、更新されるまで10〜20分遅れるようです。
(つまり12:00のレーダー画像は12:10〜20に更新される)
できれば17:00〜20:00まで1時間おきに最新の画像をメールで送信したいです。
>>849 img/rdr/Image-20080217171000-357.gif
img/rdr/Image-20080217170000-357.gif
img/rdr/Image-20080217165000-357.gif
357って福井県っていう意味なのかなぁ
>>840 >>> fl = [lambda n, x=x: n * x for x in range(1, 101)]
デフォルト引数に指定しておくと外部参照にならない
機械伯爵に言っといて
数字の順序は謎 飛んでるのもある 2187.全国 810.北海道, 820.東北, 830.関東・甲信・北陸・東海, 840.近畿・中国・四国, 850.九州, 860.沖縄 311.宗谷, 312.上川, 313.留萌, 314.石狩, 315.空知, 316.後志, 317.網走・北見・紋別 318.根室, 319.釧路, 320.十勝, 321.胆振, 322.日高, 323.渡島, 324.檜山 331.青森, 332.秋田, 333.岩手, 334.宮城, 335.山形, 336.福島 340.茨城, 341.栃木, 342.群馬, 343.埼玉, 344.東京, 345.千葉, 346.神奈川 348.長野, 349.山梨 350.静岡, 351.愛知, 352.岐阜, 353.三重, 354.新潟, 355.富山, 356.石川, 357.福井 360.滋賀, 361.京都, 362.大阪, 363.兵庫, 364.奈良, 365.和歌山 366.岡山, 367.広島, 368.島根, 369.鳥取 371.徳島, 372.香川, 373.愛媛, 374.高知 381.山口, 382.福岡, 383.大分, 384.長崎, 385.佐賀, 386.熊本, 387.宮崎, 388.鹿児島 391.沖縄, 392.大東島, 393.宮古島, 394.八重山 397.薩南諸島
>>856 将来的に新しい県が誕生しても
無理なく追加できるようにしているんだと思う
374.高知 から 381.山口 まで空きすぎだけど朝鮮でも併合s
横から頂いた!
862 :
デフォルトの名無しさん :2008/02/17(日) 23:43:15
>>841 携帯電話で使うのにメールで送信しないほうがいい。メール放題パケ放題ならまだいいけど、
そうでない場合はパケ代かかりすぎる。
そういうときは無料でレンタルできて広告スペースも小さいホームページを借りて、
天気画像への直リンを埋め込むんだよ。
>>822 Python3000にnumpyが対応しないような書き方してるけど
そのソースは?
>>859 やったー、動きました。
ちゃんと画像が送信されてきました。ほんとありがとうございます。
こんな短時間で出来るとは859さんのスキルとpythonはすごいですね。
私もこれをきっかけにもっと勉強します!
西尾さんはさらに桁が違うぞ
>>866 メール送ったあと鯖側にファイル残るから
いらなくなったら消す処理は入れた方がいいよ
869 :
デフォルトの名無しさん :2008/02/18(月) 02:05:38
u'\xa0'をcp932に変換するとエラーになるんですけど いい方法はありませんか?
「いい方法」の内容によるのでは? >>> u"\xa0".encode("cp932", "ignore") '' >>> u"\xa0".encode("cp932", "replace") '?' >>> u"\xa0".encode("cp932", "xmlcharrefreplace") ' ' >>> u"\xa0".encode("cp932", "backslashreplace") '\\xa0' >>> u"\xa0".replace(u"\xa0", " ").encode("cp932") ' '
google カレンダーとoutlook同期するだけの pythonなら数日でできそうなソフトがシェアウエアとして結構な値段で売ってる どうなんだ
そのシェアウェアのサイトを教えていただけまいか
むしろ相手にしたら負けですよ matzは言語至上主義者matzは言語至上主義者matzは言語至上主義者
即レスかよ必死だなあ(ゲラゲラゲラ
> とは言うものの、Pythonは基本的に良い言語で、不満な点はかなり微妙だ。 > 一般人にはどーでもいいような点だと思う。 なんだ褒めてくれてるじゃないですか
Matzはシャレでやってるのかと思ったら本気だったんですね
中立的立場を上手に演じているとしか思えん 印象が悪くなっているんで、あえて他言語に触れているとしか。 > 雑談していると「PythonはDISらないんですか」と柴田さんから。なんか自虐的じゃない? それただの皮肉ですよー
と、ITドカタが寒い職場から書き込んでおります
職場も寒いが心も寒いです><;
結局Guidの下にサインはしたのだろうか
reduce は functools.reduce になるんだよな
>>885 Guidoな、Guido。
matzでさえちゃんと書けるのに恥ずかしいぞ。
888 :
デフォルトの名無しさん :2008/02/18(月) 16:24:51
pythonのリファクタリングツールでお勧めはありませんでしょうか? emacsで動くropemacsとかいうのはさっき見つけたのですが 他にもあるんでしょうか?
>876 中級編(応用編)なくっくぶっくって感じかな?
ホームページって懐かしい響きだな しかしNo StarchのPython本は本当に出るのかな 出来がよければオライリーかMYCOMあたりに訳して出してほしいもんだ
895 :
デフォルトの名無しさん :2008/02/18(月) 19:44:30
>>877 間違いだらけのとんでもないようだと思うから気にしないwww
>895 日本語でおk。
>式と文の区別が明確。 明確で何が悪い。 >インデントベースだとeRubyのようなテンプレートが難しい どうでもいい。 >ブロックを含む式を持てない。Haskellみたいにブレースを使えば式にできるといいのに ブロックを含む式とかいらない。それが重要だと思ってるのお前だけ。 >reduceがなくなる だれも使わないのでなくなる。それで悲しんでるのお前だけ。 >generator難しい。yieldを書くと戻り値が変化するってのはどうよ 言ってることが意味不明です。 >list comprehensionが難しい。英語人には人気みたいだけど 難しくありません。 >[x for x in ary if cond(x)] >ってのはわからないでもないけど、 >ary.map{|x|cond(x)} >の方がすっきりしている、と思う。 これって、比較対象は[cond(x) for x in ary]じゃないのか? んでもって、ary.map{|x|cond(x)}の方が記号が多くてごちゃごちゃしておる。全然すっきりしておらん。
そんなどうでもいいことより「自己書き換えが出来ない」という明確な 欠点があるのになんでそういうのは指摘しないんだろうね
>>897 それ米欄にでも書けよ(w
Python使いって暗いな〜
reduceはわざわざなくすことないのにって俺も思ってるけどな あれはリスト内包とかでも簡単に代用できんし
>>900 __builtin__ から消えるだけで functools に残るから別にいいのでは?
900はMatzと同レベルの無知野郎
>>898 >「自己書き換えが出来ない」という明確な欠点
kwsk
>>generator難しい。yieldを書くと戻り値が変化するってのはどうよ >言ってることが意味不明です。 def func(): return なんとか だと、func()の戻り値は関数の実行結果なのに def gen(): yield なんとか だと、gen()の戻り値が関数の実行結果じゃなくてジェネレータに変わっちゃうっていうのはどうよ ってことだろう つまり、同じdefキーワード使ってるのにyieldの有無で戻り値の扱いが違うのはおかしい と言いたいのだと思う
値を戻す、っつーか継続してるのでいいんじゃね?、と思うんだが たしかに頭の悪い人には概念がわかりづらいけどな>ジェネレータ
>>898 >「自己書き換えが出来ない」という明確な
>欠点
ドキドキ...
>>901 トン
組み込みから無くなるけど、ライブラリに移るのは一応知ってた。
import必要になるし、遅くなると嫌だなーと思ってたんだけど、
ネイティブコードで実装されてればかわらんのかな?
Matzは自己書き換えすべきときにきていると思う
誰がうまいこと言えと(ry
Pythonは自由がないとか言われてるが これほど自由な言語はないと思うぜ‥
RubyスクリプトをPythonで書き直したらすっごく読みやすくなったよ! 人それぞれだろうけど…
そしてそのPythonスクリプトをRubyで書き直すとさらに読みやすくなるという
@hogeとか#{hoge}みたいな、記号があるのが好きか嫌いかじゃまいか
嫌い。 終了。
>>897 Rubyのコードを直そうよ
ary.map{|x|cond(x)}.select{|x|x}
よく知らんけどこんな感じか。
少なくともすっきりはしてないな
pythonって80行ルールとかPEPで決められてたっけ ひとによってスタイルが違うだけとか?
> 80行ルール 一行80文字までってやつのこと?
>>919 それはPythonだけじゃなく、
他の言語および文書でもマナーになってるよ。
ライセンス文とかね。
自己書き換えができないってLispとの比較か? んなことを好むのはLisperだけだし。
>>921 >>923 dくす
nitems=[]
for item in items:
item = item.rstrip()
nitems.append(item)
items=nitems
items = [e.rstrip() for e in items]
リスト内包記法、便利だけど、lamdaを使用したコードとか
GUI関連のコードだと80行超えちゃいそうな印象があるような…
925 :
925 :2008/02/19(火) 15:25:33
>>924 >リスト内包記法、便利だけど、lamdaを使用したコードとか
>GUI関連のコードだと80行超えちゃいそうな印象があるような…
( ) や [ ] でくくられた中は改行自由だからリスト内包でそこが問題になる事はないよ
もっとも Python 離れした複雑怪奇な表記になっちゃう可能性ならあるけど
80桁越えたらforループなりジェネレータに展開する目安
SQL文みたいな感じになりそうだ
リスト内包で80行か すさまじい量だな
hashableな集合型ってありませんか? setを別のsetの要素にする際に、いちいちwrapper classを作って_ _hash__と__eq__を定義するのが面倒です。 Javaみたいに出来ないのかな。
お探しのものはfrozensetでしょうか
frozensetはimmutableなのでちょっと… もちろんそれで済む場合もありますが
一度実装してPYTHONPATHの下に置けばおk
>>933 mutableなものをsetに入れる意味が判らない。
具体的に何がしたいんだ?listの中にsetを入れたほうが良い予感がするぞ?
要約すると、厨房のITドカタは貧死しろってことだろ?
mutableでハッシュしようというのが分からんが・・・
938 :
デフォルトの名無しさん :2008/02/20(水) 15:29:04
pythonの対話モードって便利ですよね。
help, dir も便利
940 :
デフォルトの名無しさん :2008/02/20(水) 16:59:32
pythonで何か面白いWEBサービス作りたいな。 何か題材教えてよ
今Pythonを勉強しているんですが、本に書いてあるように、testmodule.pyというのを作ることは できたんですが、それをインタラクティブシェルでimportすることができません。 本では「ファイルを保存したディレクトリでPythonを起動する」と書いてありますが、方法が よく分かりません。すいませんが教えてください。 OSはubuntuです。
端末操作だよね? $ cd <ディレクトリ> で移動。
5年ぶりくらいにこのスレに戻ってきたわけだが 臭すぎ低能多すぎ市ねばかす共
厨房多くして学成り難し
>>940 サービスのアイデア考える頭がないなら、ブログでも作れば?
>>940 世界中のインターネッツから上戸彩の画像、動画を根こそぎ収集するWebサービスきぼんぬ
ニコ動からハロプロ画像を落としてくるクローラーを作ってくれよ。
>>940 エロ画像専門のSBM作ってくれ
絶対はやるから
py2exeで作成したpydファイルを元のソースコードに戻すことって出来るのですか?
.pydの元ファイルが.asmだったら 近いところまで戻せる。
無料の勉強会に13人って少なくね? Python終わったな(ww
むしろ勉強会に参加したら負k(ry
勉強会って何? どんな勉強してるの?
抵抗勢力の人たち最近現れないですね.
アッー!
終わっているのはPythonじゃなくてジャ(ry
Jython?
やずや やずや
>>952 Zope会が主催してるとろくなことがない。
かといってPython温泉がいいわけない。
Python公式のユーザ会なんてないはずなのに
Zope会は自分たちが関われないユーザ会の存在については
徹底的にたたきまくりやがる。
OSCに出典したいのだけど、Zope会がいるだけで
OpenBSDのports管理ツールをPythonで作ったというだけで
その中の一人にすんげーたたかれた記憶が‥のでだめだ。
>>963 OpenBSDなんていう役に立たないもののツールつくってどうすんの。
この世にWindows以外のOS要らないし。
>>963 キモくて日本語が不自由な人にとっては、なにごとも敷居があるように感じてしまうだろうね。
それは本当は敷居ではなくて、その人本人が越えるべき壁なのだと思うけど。
何事も他人のせいにしてしまうような人には、その壁は越えられないだろうね。
>>963 勝手に疎外感を感じてしまいがちなボクチムは
寂しい気持ちを慰めるためにキャバクラに通います
最近はお金がないので,もっぱらイケメンのあの人を思い浮かべながら
単二電池やリチウム電池で自分を慰めているかもしれません
そんな毎日なのでずっと万年厨房の日陰者です
>>963 本家でない方の合宿に参加すればいろいろ教えてくれそう。
なにしろイケメンの人を含め、すごい人があつまるからね!
アッー!な体験,キャバクラから萌え萌えスポットでのオタク談義まで。
Pythonを使ったことが無くても気軽に参加できるよ!!!
どっち派がコピペしてるのかやっとわかってきたよ
IT関係の日本人の集まりってどこもろくなとこじゃないよね
>>969 IT関係つーか、キモヲタ童貞集団関係な。
>>963 Zope会ってなに?
ほかにもいろいろ意味不明。
日本語でおk。
>>968 どっち派か知らないけどコピペを繰り返す低脳は氏ぬべき。
デコレートしすぎて氏ね。
>>494 >ユーザー会が終わっているというのなら、ユーザー会と関わりなく
>Pythonと戯れることができる体制を作り上げるしかないだろ。
この結果がたった13人の勉強会だとしたら、とんだファニーストーリーだぜ.ただの負け組集会にしか見えない.
参加者がもっと少ない、負け組以下のクソみたいな会合もあるのかもしれないよな.
Matz 2ゲット(www つーかクソスレ立てんなカス(wwwwwwwwwwww
荒らしは対立作りに忙しいのぉ
> デコレートしすぎて氏ね。 ちょっと吹いたw
うめてみる
なんぞこれー 普通に使えそう
ってなんだ、AMD向けか
>>981 ビルダにSCons使ってるからPython必要ってだけじゃん。
autotools使うとWindowsではmsysとか入れないといけなくなるし、autotoolsってバッドノウハウの
塊で敷居が高いから、SCons良いよ。
Pythonという言語自体終了なわけでして。 これからはLuaの時代。
このままじゃわたるが死んじゃう〜
pythonが終わりなら素直にC++使うっての
こんだけライブラリとか充実してる処理系は滅多にないよね。 むしろ今から使われると思う。
pythonだけが特別ではないと思うが。マルチなライブラリは他にも存在するし。 落ちもしないが延びもしないって状態が続くのでは。
Catmull-Clark のプロトタイピングに成功〜 Numpy と Tkinter でお手軽数値計算&可視化(゚Д゚)ウマー さーて C で書き直すべ
さっきPyDEVを使い始めた者ですが、操作しないでアイドル状態にしてると 金払えみたいなダイアログが出てきて困ってます。 PyDEVサイトでライセンスについて書かれたところを発見できなかったんですが これって無償ソフト、、、ですよね?
PyDev はフリーで PyDev Extensions は無料ではなかったっけ?
× PyDev Extensions は無料 ○ PyDev Extensions は有料
numpyと組み合わせるならwxPythonでは?
最初に Python で使ったGUIツールキットが GTK だったので 未だに PyGTK + numpy だ…
今だ!1000ゲットォォォォ!!  ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ``) ウワアアアアン ;;`)⌒`) −=≡( `Д) ≡≡≡;;;⌒`) −=≡( ヽ┐U キコキコキコキコ ;;⌒`)⌒`) ◎−ミ┘◎  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。