【書き方は】Pythonのお勉強 Part19【一通り】
日本のPloneコミュニティが一番の問題.
python って = 演算子のオーバーロードできないんですか?
>>952 DjangoとかTGとか、Web関係全般だろ
>>954 他を巻き込まないでよ、Ploneコミュニティの中の人。
>953
できないんじゃないかな。==じゃないよね?
アトリビュートへの代入ならオーバーライドできる。
959 :
デフォルトの名無しさん:2007/08/15(水) 17:05:24
パイソンチャレンジのレベル一を見て、
何をすればいいかわからない俺は無能ですか?
960 :
デフォルトの名無しさん:2007/08/15(水) 17:31:03
>>959です
ちょっと調べてきたが、
Python使わずにとこうとしている奴らがいるな
ばかだなあ
Pythonの高速化ツールって、今のところPsycoぐらいなの?
ソースコードに手を加えずに速くなれば一番理想的なんだけど・・・・exeなりなんなりの実行ファイルにしてくれるやつって、あれは速くなるの?
>>956 やっぱダメですかー
文字列クラスのサブクラスをつくりたいんだけど、
class enhancedString(...):
... に string って書いてもモチロンダメだし、
みなさんどうやってるんだろう。
まぁメンバに文字列持たせてやればある程度できた
んですが、
es = enhancedString()
es = "a"
ってのができない。。。(文字列型 'a' になっちゃう)
ルパンは963から大切なものを奪ってゆきました。
わざわざサブクラスにしなくてもいいんでないの
ふつー classの先頭は大文字じゃないか、という問題はさておき
es = enhancedString("a")
じゃね?
んなことわかってる。真面目な回答を希望する。
>>962 Pythonのコードを高速化する方法
1. 効率のよいコードを書く
2. psyco で最適化しやすいコードを書く
3. C で書く
まず、静的型付け言語と動的型付け言語について学んではどうかな。
>>954 >
>>952 >DjangoとかTGとか、Web関係全般だろ
ZOPE/PLONE国内コミュの香ばしさは別格wwwwwwwwwwwwwwwwwwwww
>>963 よくわからんが、strを継承したいんなら
class mystr(str):
でいいんでないの。そういう話じゃない?
古いPythonなら、strから直接継承できなくて、UserStringとかをつかう
必要があるかも知れん
あと、= はPythonではoperatorではないし代入は式ではない
なんか意味が良くわからんので、見当違いなレスになってたらスマソ
>>967 >んなことわかってる。真面目な回答を希望する。
こんなクソみたいな態度取る夏厨に真面目な解答する奴なんていないだろ、常識的に考えて。
>958
graphvizは? pythonから使えるのかしらないけど
>>963 es = "a"
pythonではこの文の意味は、esを文字列"a"にする以外の意味には絶対にならない。
>>966の言うように
es = enhancedString("a")
とかするのが普通のデザインと思われ
あとは、まあ、
es = enhancedString()
es.setStr("a")
とか、・・・
みなさんいろいろどうもありがとう。
enhancedString は
class EnhStr(object):
def __init__(self, arg):
self.__str = arg
def __add__(self, v): return self.__str + v
def sets(self,v): ...
def gets(self): return self.__str
def dels(self): del self.__str
...
__slots__ = ('__str', '__fsenc')
string = property(gets, sets, dels, "string property.")
な感じで使ってみることに。(__add__だけオーバーロードしてもアレですが・・・)
これで
e = EnhStr("a")
e.string = "b"
とかできるようですね。
1.5.2以来あまりつかってなかったので new-style class はいろいろできて楽しいです。
>>971 > あと、= はPythonではoperatorではないし代入は式ではない
なるほど・・・lambda やリスト内包に書けないのも確かそういう理由だったっけ。
>>976 にも書きましたが
C++ あがりなのでつい = を再定義したくなりましたが止めます。
継承万歳時代のOOPを勉強したので最近のがあまり理解できてません。
978 :
958:2007/08/16(木) 11:29:02
アドバイスありがとございます。
>>973 graphvizはpydocってのでラッパーすると使えるみたいですので調べてみます。
>>974 まさしく見た目がこんなの探してました。
知らないライブラリだったので調べてみます。
for x in lines:
のようなループで、x を処理後なんらかのリトライをしたくなり、
つぎのループ開始で同じ x を処理するためにイテレータに値を
押し戻すような処理ってできますか?
(意味不明・・・?)
ループカウンタ使えば
for (int i=0; i < 10; i++) {
if (a[i] == 1) { i--; continue; }
}
のような感じなのですが・・・・。
Itertool というライブラリが死ぬほど便利だと聞いたので見てみた
のですが、そういうのはないようで・・・。
980 :
デフォルトの名無しさん:2007/08/16(木) 18:32:26
ところでPIL+Pygameで作ったときは
PILで画像表示とか読み込みするよね
PILのshow()だと効率が悪いらしい
代替策おしえてください
>979
自分でイテレータ(のラッパ)を作ればできるよ。
化けたらごめん↓
class PushableIteratorWrapper:
def __init__(self, ii):
self._ii = iter(ii)
self._pushBuf = []
return
def __iter__(self):
return self
def next(self):
if self._pushBuf:
return self._pushBuf.pop(0)
return self._ii.next()
def push(self, x):
self._pushBuf.insert(0, x)
私のおじいさんがくれた初めての木馬
.
(・ω・`) それは三角木馬で、私は4才でした。
(・ω・) (====) 突き刺さるような刺激のなかにも、高級木材の暖かみがあり、
___(===) ( ⌒) ) . . こんな素晴らしい木馬をもらえる私は、きっと特別な存在なのだと感じました。
/\ `J  ̄`J ̄\ 今では、私がおじいちゃん。孫にあげるのはもちろん三角木馬。
 ̄ ̄ ̄ ̄| | ̄ ̄ ̄ ̄ . なぜなら、
| |
/ \ 彼もまた特別な存在だからです。
>>981 ありがとうございます!
__iter__ かなるほど・・・。
>> 985
くだらね。
決まったファイルをバックアップしたいだけだから、わざわざプログラムにせんでも、
バッチファイルでいいじゃんと思ったら、今ではbatkeyすらないのね。
いつかはpythonで、GUIスキンでオプション設定できるのを書けるようになりたい。
>987
Windowsのバッチファイルでユーザ入力が欲しいってことなら
SET /P 変数名=プロンプト文字列
で文字列が入力出来るが。
代替あるの知らなかった、指摘ありがとう。
HELP見たらいろいろ詰め込みすぎで、すごい難しくてdosの面影無くて驚いた。
変数受け取れるなら、バッチじゃなく普通のプログラム的に考えて使えそう。
新スレが自演臭いクソオタに占拠されている件。
Wii
Wii
iiW
WiiW
Weei
wWw
?
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。