ちょっと聞いてみたいことがある。 ある辞書の中から、いくつかのキーを持つ要素だけを取り出した部分辞書を作 りたい。 >>> request = {'hoge':1, 'fuga':2, 'piyo':3, ...} >>> a = {} >>> for key in ('hoge', 'fuga'): ... a[key] = request[key] ... >>> a {'fuga': 2, 'hoge': 1} これをもっと簡潔に書く方法は無いだろうか?
簡潔か微妙な気もするけど dict([(key, request[key]) for key in ('hoge', 'fuga')])
リスト内包表記を map にしてみた。 dict(map(lambda x: (x, request[x]), ('hoge', 'fuga'))) なんだこの微妙さは。
dict([(x,request[x]) for x in request if x in ('hoge', 'fuga')])
英語的な連中には コレが構文的に分かりやすいのかね?
内包表記って便利といえば便利だけど python の魅力・長所である、 「記述内容が形(インデント)で見える」って ところを完全に無視しているのが何と言うか…
え?内包表記、読みやすいじゃん・・・ トリッキーなことやりすぎるとあれだけど。
forの左に書けるのが文だけで式が書けないから色々微妙なことをしないといけなくなる
>>280 個人的には内包表記は「記述内容が形で見える」ものの最たるものだと思うなあ。
Z = [(x / y if y != 0 else None) for x, y in zip(X, Y)]
となっていたら Z はリストで要素は x / y か None だということが一目で分かるから。
たぶん問題なのは内包表記を入れ子にすると一気に難読化するということかと。
個人的には入れ子にして読みにくくなるぐらいならバラして for 文なりにするかな。
276と277の比較なら276のが読みやすい。
>>276-278 共通して
('hoge', 'fuga')
なんだけど
['hoge', 'fuga']
じゃだめなの?
偏向する必要がないならタプルを使う。
287 :
269 :2009/03/01(日) 23:05:54
じゃ俺はちょっと違った切り口で。
>>276 とほぼ一緒だけどfilter使えばコメント無くても何やってるか分かりやすい。
あとrequestに無いキー持ってこようとしてもエラー吐かない。
request = {'hoge':1, 'fuga':2, 'piyo':3}
def f(x): return x in ('fuga','hoge')
dict([k,request[k]] for k in filter(f,request))
遅くね?
dict([k,request[k] if k in request else None] for k in ('fuga','hage'))
dict{[(k, v) for k, v in request.items() if k in ('fuga','hoge')]} 3.xであれば {(k, v) for k, v in request.items() if k in ('fuga','hoge')}
ごめん、↑のdict{}はdict()だ
見つからないkeyは結果からは無くなった方が良いのかな
部分辞書だからな
Windowsにpythonインストールしたら 付属でついてるpython editorのデバック環境が充実してておどろき しかしemacs key-bindになれてるからemacs ぽく使える環境で便利なのないでしょうか? emacsのpython.elはbreak pointの設定が右クリック一発でできなくて使いにくい
>>294 その本出版社が潰れて買えなくなってるよ。
>>297 じゃぁ右クリック一発でできるように改造すれば?
どうみてもクソ本認定です 本当にありが(ry
301 :
デフォルトの名無しさん :2009/03/02(月) 17:06:56
age
hoge.__setitem__(key, value) 無理やりreduceで書くなら例えば reduce(lambda d, x: d.__setitem__(x, request[x]) or d, ['hoge','fuga'],{}) こんな書き方になると思うけど、Python使いはこの例を普通こんな風には書かない dict((k, request[k]) for k in ['hoge','fuga']) のほうがずっと素直で短く読みやすいからね
はぁ?
305 :
デフォルトの名無しさん :2009/03/02(月) 23:35:41
複素演算の構文調べてたら、とあるSEの書いたブログが引っかかったが そこのサンプルはNameErrorとTypeErrorの出力ばっか張ってあって役に立たなかった
reduce とか lambda とかそのうちなくなるだろ。
それはそうかもしれないけど、3.0を生き残ったことで想定寿命は激延びな希ガス
lambdaって無くなるのかな
>>297 IDLEのこと?
OptionsのConfigure IDLEを開いて、KeysでClassic Unixにすれば
C-aで行頭とかになるよ。
C-x C-s みたいなキーシーケンスもできる。
lambdaの中で代入とか複数の文とか出来るようになるのはいつ?
mapとfilterは最悪消えてもリスト内包表記で書けるけど reduceって代用あるっけ?
どっちみちreduceはfold_left相当でfold_rightはないし unfoldもないけどな
>>310 つーか全部式にしてほしいという発想にはならんのか
文が存在する関数型言語ってあるっけ
Haskellのwhereって式?
⊂二二二( ^ω^)二⊃
>314-315 ナ、ナンダッテー>ΩΩΩ
318 :
デフォルトの名無しさん :2009/03/03(火) 12:15:02
>>321 俺も初めて見たときはこれはさすがにどうかと思ったよ
ただの模様じゃん なんも樹に成らん
俺は樹になる
カバーをひっくり返して、好きな絵を描くといいよ。
へび(そのものあるいはその絵)を嫌うひとは心理的に
そもそも蛇嫌いはpythonでアウトな気がする。
Python の由来は Monty Python であって、ヘビは関係ないと Guido は言って たんだがなー。まあ O'Reilly の表紙にパイソンズ出すわけに行かないか。
>>329 Guido的には、元ネタ的にはそうなんだが
オライリーのPython本の絵が蛇になっちゃうのはそりゃ仕方ないよなーってことで
諦めた(受け入れた)、みたいな感じだったかと
日本語版はおっぱいでおk
ジャイソンかサイソン どっち?
334 :
デフォルトの名無しさん :2009/03/05(木) 15:44:46
get 333
Firefoxでアドレスバーにpythonと打つとpython.jpにつながるのでそれを期待して古いMozillaでやったら 大学のワークステーションでpython.comにアクセスしてしまったでござる
アイコンの蛇って名前とか付いてないの?
やっぱ時代はRubyだよな
ぱいちんこ
>>336 俺も間違えたことあるw
.comのほうは海外のエロサイトなんだよな
間違えてwww.goo.co.jpを開いちゃったみたいな感じか
Webポータルのハズがクルマ、はまだ良いだろ python〜の場合、技術資料のハズがエロサイトだぜ? 自宅で誰も居ないなら別に良いが、会社や学校、家族の目の前で間違えた時は…
>>342 いや、goo.co.jpもエロサイトだったんだが(今は無いが)
>>335 我が家でBフレッツ導入した時に、「セキュリティ対策ツール」という名前で
マイクロトレンドのOEMでウイルスバスター相当のセキュリティソフトが
1ユーザ分ついてくるのだが、このサイト、しっかりと、プロックしてくれました。
めんどくさいので、プロック解除してまでみたいとは思わん。
こういうアドレスを買収しようとしたら いくらぐらいかかるんかね
2万円
既に取られてるドメインは2万じゃキツかろう 逆にまだ取られてないドメインならもっと安いが
3万円
逆にまだ取られてないドメインなら買収とは言わん罠
350 :
デフォルトの名無しさん :2009/03/08(日) 10:16:38
def f(hoge=3, fuga=7): print (hoge, fuga) または f = lambda hoge=3, fuga=7: print (hoge, fuga) という関数に対して d1 = {'fuga': 8, 'hoge': 4} という辞書で f(**d1) を実行すると期待通りになるのですが d2 = {'kane': 1, 'fuga': 8, 'hoge': 4} という辞書で f(**d2) を実行すると'kane'が無いと怒られます どうすればうまくいくのでしょう
訂正します 誤 f = lambda hoge=3, fuga=7: print (hoge, fuga) 正 f = lambda hoge=3, fuga=7: (hoge, fuga)
def f(hoge=3, fuga=7, **kwargs): print (hoge, fuga)
eval("foo(param)") はうまく動くのに eval("bar.foo(param)") が動いたりうごかなかったり 特に #file a.py def f(): eval("bar.foo(param)") #file b.py a.f() としたときに動いてくれない
354 :
デフォルトの名無しさん :2009/03/08(日) 16:59:02
質問してるのか、 問題を喚起しているのか、 ツンデレなのか、 はっきりしなさい!
eval関係無く動くまい
ツンデレです
適切に sys.path.append していないと予想
通常の仕事にevalなんて使う事ないなぁ。 皆どんな高度なことやってるの?
アプリのコマンドライン。 emacsだとM-xに相当か。 制作中はアプリ自身のデバッグにも使える。
>>353 #a.py
class Handletest:
def handle(self, methodstr):
result=eval(methodstr,globals(),locals())
return result
if __name__ == "__main__":
import numpy
handletest=Handletest()
print handletest.handle("numpy.linalg.norm([1,2])")#動く
#b.py
import numpy
import a
if __name__ == "__main__":
h= a.Handletest()
print h.handle("numpy.linalg.norm([1,2])")#動かない
-------------
golbals localsに違うものいれないといけないみたいなのだけど
どう入れればいいのかわからない
print h.handle("import numpy; numpy.linalg.norm([1,2])")
h.handle("numpy.linalg.norm([1,2])", globals(),locals()) h.handle("numpy.linalg.norm([1,2])", {"numpy":numpy}, {})
>>360 bでimport numpyしただけだと
bからはnumpyという名前が見えるが
aからは見えないのさ
importはインタプリタにモジュールをロードするだけでなく、
カレントのモジュールにシンボルをインポートするという意味を持っている
364 :
363 :2009/03/09(月) 19:47:41
こんだけじゃ説明足りんかな Pythonのグローバル変数(グローバル環境フレーム)ってのは インタプリタグローバルじゃなくて、モジュールスコープで別れてるんだよ モジュールのトップレベルの束縛=グローバル変数 だと思っていい globals()関数が返すのも、あくまで「そのモジュールの」グローバル変数
>>353 #a.py
class Handletest:
def handle(self, methodstr):
import numpy
result=eval(methodstr,globals(),locals())
return result
if __name__ == "__main__":
handletest=Handletest()
print handletest.handle("numpy.linalg.norm([1,2])")
import sys class Handletest: def handle(self, methodstr): frame = sys._getframe(1) return eval(methodstr, frame.f_globals, frame.f_locals)
sys._getframeを呼び出してるメソッドは継承すると酷いことになる
おまえら、金融系とか経済系の ゲーム作るプロジェクトやりたい?
やりたい
プロジェクトというからにはキッチリドキュメントがそろってるんだろうな?
>>370 どっちの意味?
プログラムを勉強しろっていみ?
それとも、金融知識を勉強しろっていみ?
>>371 金融系のプロジェクトでプログラマー募集したら、
なぜか応募してきたのがpythonのプログラマーなんだよね。
他にも自分が見聞きしてる範囲内で、
「学校を作ろう」とかいう、ふざけたプロジェクトに応募
してたのもpythonのプログラマーだったし、ひょっとして
pythonって、せっかく学んでも、いじるアプリがないから
参加するプロジェクトを探してる状態なんじゃないかなーって
思ったわけだ。
もしこれがPHPだったら、wordpressはあるし、joomlaはあるし、
phpbbはあるし、mediawikiはあるし、で、いくらでもアプリも
プロジェクトもあるし、いじり倒すおもちゃは豊富にあるしで、
プルグラマー募集してもきてくんないんだよね。
でもpythonだったら、いじるおもちゃがない状態だから、
プログラマーが余っていて、わりかし捕獲しやすい
状態なのかなと。
すまんが、真面目な話してるんだ、馬鹿は黙ってくれないか
そりゃphpなんかと比べてしまえば pythonを存分に使わせてもらえるところは少ないだろうね
そもそもPythonはRubyより劣るからな。利用価値がまったくない。
仕事でゲーム作る人募集って事?
面白そうならなんでもやるぜ
ドモホルンリンクルの計測なんてどうだ
日本語のプロジェクトじゃなければ結構あるんじゃね
386 :
デフォルトの名無しさん :2009/03/12(木) 13:19:39
はじパイの第2版が中古で売ってたんだけど今のバージョンって3.0なの? 第2版は2.3までだからもうちょっと新しいのかったほうがいい?
>>386 個人的には2.4以降じゃないと嫌だなw
generatorなくてなんのPythonよ
UNICODEの扱いがちゃんと載ってるのにしなよ
JapaneseCodecsがあれば10年は戦える
Windowsで、2.5.2使ってるんだが、code(codeop)の動きがどうもおかしいんだ。 普通にコンソールでは、u''が使えるんだ。 >>> 'あ' '\x82\xa0' >>> u'あ' u'\u3042' だけど、InteractiveConsoleを使うと、 >>> import code >>> code.InteractiveConsole().interact() Python 2.5.2 (r252:60911, Mar 27 2008, 17:57:18) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. (InteractiveConsole) >>> 'あ' '\x82\xa0' >>> u'あ' u'\x82\xa0' と、u''を正しくdecodeしてくれない。 どうもcodeop.compile_CommandCompilerがこういう動作をしているようで、 IPythonでu''が化けるのも同じ原因のようだ。 Windows版のコンソールは、何か特別なパッチが当たってるんだろうか。 どこか設定をいじってやればコンソールと同じ動きするんだろうか。 まぁunicode('あ')とか書けばいいんだけどなんかくやしい。
>>390 2.6.1 amd64 で、 code.InteractiveConsole() では上手く動いたよ。
それでもIPythonはダメ。
>>391 2.6.1でやってみた。
>>> 'あ'
'\x82\xa0'
>>> u'あ'
u'\u3042'
>>> import code
>>> code.InteractiveConsole().interact()
Python 2.6.1 (r261:67517, Dec 4 2008, 16:51:00) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> 'あ'
'\xe3\x81\x82'
>>> u'あ'
u'\u3042'
>>> unicode('あ')
Traceback (most recent call last):
File "<console>", line 1, in <module>
UnicodeDecodeError: 'cp932' codec can't decode byte 0x82 in position 2: incomplete multibyte sequence
>>> unicode('あ', 'utf8')
u'\u3042'
なぜUTF-8www
2.5でも、codeop.CommandCompilerにunicode渡すとこんな動きになるんで、
ようするに2.6ではraw_inputがunicodeを返すようになっただけでCommandCompilerの挙動は変わってないみたいだ。
IPythonは、渡す前にsys.stdin.encodingでencodeしてるので、2.5と同じ動きになる。
コンソールで使ってるCommandCompilerの正体はいったいどこにあるんだ!?
ソースを読めばいいんだろうが、どこを読めばいいのかすら分からん。
組み込みのcompileを使うと問題がよく分かる。 >>> exec compile("'あ'", '<input>', 'single') '\x82\xa0' >>> exec compile("u'あ'", '<input>', 'single') u'\x82\xa0' >>> exec compile(unicode("'あ'"), '<input>', 'single') '\xe3\x81\x82' >>> exec compile(unicode("u'あ'"), '<input>', 'single') u'\u3042' >>> どうしろってんだ・・・
あんまりいい方法ではないと思うけど import code import sys class MyInteractiveConsole(code.InteractiveConsole): def __init__(self, *args, **kw): code.InteractiveConsole.__init__(self, *args, **kw) self.__compile = self.compile self.compile = self.mycompile def mycompile(self, source, *args, **kw): if sys.stdin.encoding: if isinstance(source, unicode): source = source.encode(sys.stdin.encoding) source = "# coding: %s\n%s" % (sys.stdin.encoding, source) return self.__compile(source, *args, **kw) if __name__ == "__main__": MyInteractiveConsole().interact()
>>395 それだと、結局最初の(2.5の)
>>> 'あ'
'\x82\xa0'
>>> u'あ'
u'\x82\xa0'
って挙動になるだけだよね。
397 :
391 :2009/03/13(金) 16:23:50
398 :
395 :2009/03/13(金) 16:33:49
>>396 自分の環境(Windows)では2.5, 2.6でも↓のようになるのを確認したけど、ならない?
(MyInteractiveConsole)
>>> 'あ'
'\x82\xa0'
>>> u'あ'
u'\u3042'
ならない sys.stdin.encoding が どこでも同じとは限らない
>>397 うん、それでsys.setdfaultencoding("utf-8")すれば使えるようにはなるんだ。
でもそれだとWindows環境でpysh使ったとき、にほんごファイル名が通らなくなる。(UTF-8に変換されるため。)
UTF-8Cygwin使う、ってのも一長一短だしなあ…
>>398 ならないなあ…
環境設定でなんとかなるのなら是非教えてほしい
>>400 sys.setdefaultencoding('utf-8') するのは何故?
>>397 の修正だけで、全く問題ないよ?
/open u"ソ.txt"
こんなのも余裕。
>>397 の修正だとcp932の環境でstrの'あ'が'\x82\xa0'になって欲しいところ
utf8の'\xe3\x81\x82'になっちゃう
>>403 なるほど。日本語をcp932でstrで使うなんて発想が無かった。
from __future__ import unicode_literals
して、strと決別しちゃえ。
>>402 >sys.setdefaultencoding('utf-8') するのは何故?
cp932だとunicode('あ')でエラーになるからじゃないか?
>>405 もともとの defaultencoding は ascii
インタラクティブシェルじゃなくて普通のスクリプトでも unicode('あ') はエラー。
Python3.0からは utf-8 になるから、from __future__ import ??? でやってることと
同じといえるかもしれないけど。
>インタラクティブシェルじゃなくて普通のスクリプトでも unicode('あ') はエラー。 馬鹿ですねわかります
普段はmbcs,cp932あたりをsys.setdefaultencodingしてるんでしょ、きっと
>>409 このイラストはスパゲティコードの暗示なのか…?
MLで翻訳の需要あるか聞かれてたやつだっけ? とても微妙な反応だったなw
412 :
406 :2009/03/14(土) 15:17:31
>>407 何が? u'あ' はOKだけど、 unicode('あ') は
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 0: ordinal not in range(128)
>>408 それをさせないように、普通は del sys.setdefaultencoding してあって、
reload(sys)
sys.setdefaultencoding('utf-8')
とかしないと初期値のasciiから変更できないのに、、、
みんなUnicodeはきちんと使おうぜ。外部とのやり取りは encode/decode して、リテラルで使うときは
unicode('ほげ', 'utf-8') じゃなくて u'ほげ' が正解だ。
あまりreload(sys)は流行らせるなよ
>>409 twistedは処理がボコボコ切られて正直使いにくいからこれ以上流行って欲しくないなあ
>>413 eventletマンセーですねわかります
>>408 pyshを長いこと使ってるから
sitecustomize.pyにsys.setdefaultencoding('cp932')と書いて
リテラルはunicode('あ')と書くスタイルが染みついてるw
utf-8にするとマジック関係が動かないからなあ・・・
[C:Documents and Settings/Administrator]|2> cd デスクトップ
[Error 2] 指定されたファイルが見つかりません。: '\xe3\x83\x87\xe3\x82\xb9\xe3\x82\xaf\xe3\x83\x88\xe3\x83\x83\xe3\x83\x97'
IPythonのソースに手を入れたついでに、マジック関係のユニコード化もするか。
とまで考えたところで、なんというか進む方向が酷く間違っている気がしてきたが目をつぶってがんばる
つーわけでユニコード化マジックコマンド。 --- C:/Python25/Lib/site-packages/IPython/iplib.py.bak Sat Mar 14 20:41:18 2009 +++ C:/Python25/Lib/site-packages/IPython/iplib.py Sat Mar 14 20:36:39 2009 @@ -936,6 +936,8 @@ valid Python code you can type at the interpreter, including loops and compound statements. It is added by IPython to the Python builtin namespace upon initialization.""" + + arg_s = unicode(arg_s, 'utf-8') args = arg_s.split(' ',1) magic_name = args[0] @@ -2019,7 +2021,7 @@ # this allows execution of indented pasted code. It is tempting # to add '\n' at the end of source to run commands like ' a=1' # directly, but this fails for more complicated scenarios - source=source.encode(self.stdin_encoding) +# source=source.encode(self.stdin_encoding) if source[:1] in [' ', '\t']: source = 'if 1:\n%s' % source デフォルトエンコーディングをutf-8にする必要はない(compilerにユニコードを食わせたときにutf-8化するのはデフォルトエンコーディングとは関係がない)。 [C:Documents and Settings/Administrator]|1> cd デスクトップ/ [C:Administrator/デスクトップ]|2>
あかん・・・ユニコードリテラルをちゃんと扱えるようになったところで、 print 'あ' が普通に化けるんじゃ本末転倒だなあ。
>>417 from __future__ import unicode_literals
これで全部解決
419 :
デフォルトの名無しさん :2009/03/15(日) 10:51:01
「,」と「%」の記号を16進数にエスケープしたいのですが re.subを使って置換する方法はありますか? 例 (1) 'A is 20%, B is 80%' (2) 'A is 20%25%2c B is 80%25' (1)を(2)に変換したい。 次のコードでは「\1」は通常の文字列ではないのでうまく動作しない。 import re txt = 'A is 20%, B is 80%' print re.sub('([,%])', '%02x' % (ord(r'\1')), txt)
>>419 re.sub('([,%])', lambda m: '%02x' % ord(m.group(1)), txt)
>>418 んだな。~/_ipython/ipy_user_conf.pyのmain関数の最後に、
o.autoexec.append('from __future__ import unicode_literals')
を追加。
2> 'あ'
<2> u'\u3042'
3> u'あ'
<3> u'\u3042'
4> print 'あ'
-------------->print('あ')
あ
416のarg_sのユニコード化がエラーになるので削除。 unicode()にユニコード食わせるとユニコードのままにならなかったっけ・・・? で、デフォルトエンコーディングはcp932かmbcsにしとく必要があるようだ
>>423 unicode() の第一引数が unicode オブジェクトの場合は、第二引数があると
エラーになる。
if not isinstance(arg_s, unicode):
unicode(arg_s, 'utf-8')
>>424 なるほど。isinstance()しとくしかないようだなぁ。
というかunicode_literalsのためだけに2.6にあげたよ!あげたよ!
426 :
デフォルトの名無しさん :2009/03/15(日) 13:27:29
>>420 ,421
ありがとう。
re.sub('([,%])', lambda m: '%%%02x' % ord(m.group(1)), txt)
第二項目が関数だと、Matchオブジェクトを引数にして呼び出されるのか。
urllib.quote(txt)
確かにこの方が簡単ですね。
ただ今回はファイルの後方互換性が必要で、
エスケープするのは記号2種類だけにしたいので
とりあえず文字列置換を使うつもりです。
txt.replace('%', '%25').replace(',', '%2c') じゃいかんの?
>>427 Ruby使う事にしたので問題ないです。
429 :
デフォルトの名無しさん :2009/03/15(日) 21:33:17
>>427 今回の場合はそれで十分ですね。
実はPerlのコードを参考に作っているんだけど
Pythonでもコンパイルとかなしで出来るのか知りたかったので
「re.sub」で聞いてみました。
パイソンのRadツールって何があります?
Rubyですかね。
よくわからんが、エンコーディングの設定が間違ってるでFA?
433 :
430 :2009/03/16(月) 01:24:58
Rubyにしてみます。
あるある
こうしたRuby厨の工作によりまともな人はRubyを嫌うのであった
てかruby厨ってrubyしか使ったことないかあるいは使えないんでひたすら布教するんだろうな 複数の言語を使いこなせないとは哀れな
どこの世界に
>>431 みたいな布教をする奴がいるんだw
もともとはそういう奴らがいたから、現在そういうネタになってるんだよw
パールときてルビーときて。 次はどんな宝石だい?
満を持してダイヤモ
・・・花崗岩とか?
トルコ石まで続くかもなw
reprって何て読むのでしょうか? また、名前の由来は何でしょうか?
representかな?
れぷると読んでいる representだと思っている 俺はな
representation、表現 マニュアルを嫁 repr(object) Return a string containing a printable representation of an object. (...)
>446-448 ありがとうございます マニュアルは和訳しか呼んだことがなくて気付きませんでした…
マニュアル読まないと分からない言語って糞じゃないですか?
そりゃマニュアル読まずとも理解できればそれにこしたことはないけど、 開発言語くらいの規模だとマニュアルなしでは非常に厳しい。 マニュアル読まずとも習得できる言語ってHQ9+とかのジョーク言語くらいじゃない?
IPython使ってるなら ? 付けるだけ。 In [10]: repr? Type: builtin_function_or_method Base Class: <type 'builtin_function_or_method'> String Form: <built-in function repr> Namespace: Python builtin Docstring: repr(object) -> string Return the canonical string representation of the object. For most object types, eval(repr(object)) == object.
>>> help(repr) Help on built-in function repr in module __builtin__: repr(...) repr(object) -> string Return the canonical string representation of the object. For most object types, eval(repr(object)) == object.
わかるよ、習うより慣れろってことね。わかります。 だけど、マニュアル見た方が良い場合もある。 バージョンによる文法の違いとか、 他の言語を使ったことがあるけど、pythonに移行したい場合。 help方式は、そもそも、索引する単語が分かっている場合にしか使えない。
scipyのバイナリは SSEがサポートされて無いと使えないんですか?
そういう質問してる時点で駄目だと思う
んー CPUがSSE3をサポートして無いといって中断するんだよな。 WinでのbuildについてはOfficialにマニュアルもないし… ATLASとBLAS入れてMinGWでeasy_installか?
Rubyしかないな
459 :
デフォルトの名無しさん :2009/03/19(木) 18:08:57
Cythonって既にpython3に対応してるんだな。 lxmlがpython3に対応したというのを見て初めて知った。
パイソン学び始めて1日目ですが 数当てゲームの作り方を ヒントだけでいいので教えてください。
数当てゲームでググる
そのぐらい自分で考えてフローチャートでも書いてみれ
うおお 頭がパンクしそうだ
>>460 import random
while(True):
print '0-9? ',
print 'ok' if int(raw_input()) == int(random.random() * 10) else 'bad'
>>464 なんか見たこと無い構文がいっぱいorz
プログラミングって難しいですね・・・
int(random.random()*10) よりは random.choice(range(0, 10)) のほうがよくね?
random.randint(0, 9)
毎回乱数発行してたら0〜9まで10回入力しても当たらんケースがあるのかw
分かってるとは思うけど各回の期待値は1/10だから 10回連続で外れる確率は0.9**9で35%くらいある 逆に乱数一回だけ発行だと10回以内で確実に当たる
35%もあるのか
そんなことよりエロゲつくってくださいよぉ
了解
音ゲー作ろうかと思ったけどMIDIわかんえ
2.6 と 2.5 の共存はどうやるのがいいんでしょうか? 窓環境で ctypes で dll にアクセスする用途で 2.6を 入れたはいいものの、環境変数の設定を 2.5 -> 2.6と 設定し直す手間がとても面倒なんです…
そうだね
3もでてるのに何で今更2.6が使いたいの? モジュールの対応状況ならまだ2.5が最良だろ?
>>478 3はまだ先行者による地雷発掘中だから一般人は使っちゃダメ。
2.6 に移行して from __future__ しまくるのがベスト。
とか言ってる割には 今から使い始めるには3からが良いよ ってのを良く見るんだが… まぁ、バグ出しの問題と 仕様変更による混乱回避の問題は別物だけど 使っちゃ駄目ってのもおかしな話だ だったらリリースすんなよって言われても仕方ない
>>今から使い始めるには3からが良いよ 言ってねーよ。少なくとも2chでは…
ruby1.9のがはるかに先をすすんでいる。
483 :
デフォルトの名無しさん :2009/03/22(日) 00:12:09
ipython 重すぎね? 何をそんなにがりがり読み込んでんだよ
レジストリ
それ古いんじゃね 今ならjython使え
Duron600Mhz, mem 256MBなPCを買い換えろよ
環境変数ってbinフォルダへのパスだったの? それならバッチ書いてパスの通ったとこに置いとけばいいよ python3.1.bat c:\Python31\bin\python.exe みたいなので ほかの環境変数もいじれるよ
俺は単にexeの名前変えてる python25.exeとかpython26.exeとか で、両方のbin/を環境変数に登録しとけば いちいち環境変数弄らんでも、いつでも好きなほうを使えるよ
数当てスクリプト作ってるんですけど、 乱数を一回だけ発行するにはどうすりゃいいんでしょうか・・・?
>>491 一回だけ生成すればいいだけだろ
意味が分からん
そのくらいぐぐろうよ・・・ Python 乱数 で一発だよ
ぐぐってもよくわかりません
while(True): print'1-9?' if int (raw_input())==random.randint(1,9): print 'ok' else: print'bad' これで合ってます?
496 :
デフォルトの名無しさん :2009/03/22(日) 17:04:47
>>491 import time;time.clock()
>495 ループに入る前に生成して変数に
いやいや、分厚い初めてのPythonで挫折しようぜ
漏れはdoskeyだね。 doskey py26=c:\python26\bin\python $* doskey py31=c:\python31\bin\python $* とかバッチファイルに書いて、 cmd.exe /k, c:\util\setdos.bat とかショートカット作ってこれを実行するようにしてる。
>>484 IPython 0.9.1 + Python 2.6.1 の環境で、 Sets の Warning
出している部分を
#import Sets
Sets = sets
と書き直してやったら早くなった気がする。
504 :
503 :2009/03/24(火) 11:15:53
やっぱりあまり変わらないかも… どっちも1秒で起動する。
ヤマタノ
ダルに代わったときはどうなることかと思った
すいません、質問です。 関数内で構造体に値を入れまくって、関数抜けた後 次の関数でその値を参照する。と言う感じのことをやるにはどうしたらよいでしょうか? クラスメンバに代入する方法で書いてみたのですが、 なんか上手くいきませんorz 説明下手ですいません(´Д`;
構造体って何?
class foo: pass x = foo() x.y = 1 x.s = 'abc' x.b = True これって構造体っぽい物ですか?
動的にメンバ変数を増やせるメリットがいまだに分からない
>>507 っす。
すいません、色々試してたら自己完結しました。
引数とかでエラー出てると思ってたら、配列指定のトコでこけてましたorz
修正前:print frm.name
修正後:print frm[0].name
イラネーYO、と言われそうですが、
色々試してたソース張ってみます。
512 :
507 :2009/03/25(水) 17:46:35
class Frame: def __init__(self,name,len): self.name = name self.len = len def func_in(frm): frm.append(\ Frame( name = "sigA",\ len = 32\ )) def func_out(frm): print frm[0].name print frm[0].len frm=list() func_in(frm) func_out(frm)
イラネーYO
イラネーYO
516 :
デフォルトの名無しさん :2009/03/28(土) 00:55:11
517 :
デフォルトの名無しさん :2009/03/28(土) 02:33:12
構造体の代わりだったら辞書で十分でないの?
辞書は順番保持しないじゃん 名前つきタプルなら代わりになりそうだが
名前で参照出来るなら順番はどうでもいいことが多いが
↑(笑)
**kwargsを知らんのだろ あるいはJavaユーザーが流れてきたか
>>516 『Google公布新项目将改进Python的性能 』
http://opensourcechina.blog92.fc2.com/blog-entry-122.html 中華なイパネマ経由で把握した
うん…いやなんでもないんだ…
http://code.google.com/p/unladen-swallow/wiki/ProjectPlan (中段辺り
Note that many of the areas we will need to address have been
considered and developed by the other dynamic language
implementations like JRuby, Rubinius and Parrot, and in particular
other Python implementations like Jython, PyPy, and IronPython.
In particular, we're looking at these other implementations for
ideas on debug information, regex performance ideas, and generally
useful performance ideas for dynamic languages. This is all fairly
well-trodden ground, and we want to avoid reinventing the wheel
as much as possible.
>PyPy Status Blog この名前はどうにかならんのか 日本で流行らない一因だ
読み方はパイパイ?
中華なパイパイ
桃白白を馬鹿にするな
Pylonsスレまた落ちてるね
そういや、pylonsのメーリングリスト誰か管理しろよw
初心者なんですが、特に使いたいフレームワークがないので3.1使ってもいいですよね? 柴田とかいう人の影響を受けている人の意見はいらないです。
誰かの影響を受けたくないとか言うなら自分で決めろよ
名無しの影響を受けるのは平気ってのがすごい
自称初心者が突然柴田とか言いだす背景にはいったい何が
>>530 初心者が、Webに転がってる大量の情報や本が信頼できない環境でプログラム書けるの?
言語のUpdateに伴って標準ライブラリにも一部不整合があるけど大丈夫なの?
玄人でも Python3 を日常的に使うのはためらうんだ。初心者は手を出すな。
Python3 が一般人に薦められるようになるには、最低でも3年はかかる。
>>530 3.1に取り組んでおくのもいいと思いますよ。
取り急ぎ。
別に取り急ぐようなことでもないのにw
# あくまで俺は
>>536 に言ったわけで
柴藤?
540 :
デフォルトの名無しさん :2009/03/30(月) 14:18:58
そもそも。日本語の入門書よんで勉強するなんて馬鹿げてる… 情報古いし、内容も薄いし… stardictとか入れて、日本語以外のMLとか 配布されてるマニュアルよめばいいじゃん。 英語も勉強できて一石二鳥だよ
541 :
530 :2009/03/30(月) 14:48:59
そのパクリタイトルの著者も評判悪いですね。 ぼくの周りでは。 そうですね。日本語やめます。 今日から英語でやります。
えっ?、アドバイス言ってくれる人が周りにいたの?
543 :
530 :2009/03/30(月) 15:39:30
ぼくはそんなこと書いていませんよ^^ stardictといえばキングソフトが丸パクリしてますよね どーでもいいーですな
知恵が無いのに自意識を大事にしすぎ
545 :
デフォルトの名無しさん :2009/03/30(月) 21:09:13
546 :
530 :2009/03/30(月) 23:26:50
知恵がないってどうやって判断できるんでしょうなあ ほんとにプログラマかこいつら
>>530 は柴田をネタにして話題を作り、そこからただ荒らしをしたいだけの人と読んだがどうか。
柴田はツッコミ所を減らしてもっと殺伐とすべき
>>546 どうやっても何も、相手の知恵は相手の言動から判断するのが普通だよ。知らないの?
まぁお前風に言えば、「レスアンカーも無いのにお前が言われたとどうやって判断したの?」とか、
「一人の言い分を読んでどうしてそこから“こいつら”と複数への疑問に繋げるの?」とかが
モロ突っ込み所なわけで、その辺の「間抜けな割に上からモノ言いたがる」ところがまさに
>>544 の通り。
551 :
530 :2009/03/31(火) 00:35:14
>>549 なんかよくわからんがそれでいいと思うよ。
IDない板は嫌いなんだよなー
しらんが。
552 :
530 :2009/03/31(火) 00:37:54
退避してもIDがないとか、ほんきで馬鹿馬鹿しい。 荒れないところに、才能は集まらないんだよなあ。 だからここも駄目ー。ハッカー頑張ってねー^^
ハッカーはこんなレベルの低いとこ見てないよ
554 :
530 :2009/03/31(火) 00:45:03
そうなのか。 質問する場所も考えないとなあ^^ うんこして寝ます
モテなそう。
556 :
デフォルトの名無しさん :2009/03/31(火) 00:49:52
ふつーにモテるよ
アホのくせにプライドばかり高くてモテるわけないだろ(wwWwwwWWWwww 早く寝て布団でクソしろ(w
Djangoスレに来てるのこいつかw
アホでプライド高くても女は寄ってくる。 俺には寄ってこないけどなー
2次元でいいだろ。
じゃあ俺は次元で
Windows上でLinuxサーバー用にモジュールをビルドするにはどうすればよいですか?
VMWareでも使えば?
やっぱり何かしらの方法でえLinux使うしかないかー。 ありがとうございました。
草民とも今日でお別れ
クロスコンパイルすれば出来るけど、 coLinuxでもVMWareでも使った方が良いと思う。
ダンジョー勉強会
本屋で実践Pythonリベンジ編を見かけた 健闘を祈る次第
買ってやれよ(w
573 :
デフォルトの名無しさん :2009/04/01(水) 11:48:43
今のところメインで使うのは2.5.2あたりだとして、 そろそろPython3の本が何冊か出てきましたね。 一応経験者がPython3の全貌を把握する目的として どれかお勧めのものありますか?
>>573 What's new だけで十分
できるなら、Python2.6にupdateして、過去互換を維持しつつ
新しいコードでは unicode_riteral とか print_function を使い始めれば良い。
riteral???
Python 4000 が出たよ
恥パイはまだか
foo = 5 bar = 2 foo > bar ? p foo : p bar
ああ、恥かwww
581 :
デフォルトの名無しさん :2009/04/01(水) 18:06:13
Debian使ってるんですよ。 今の安定板だと2.5.2なんですよね。 多分unstableの2.6とか使ってもモジュールがまだ少ないんじゃないかなと。
本なんか買わなくても、2chで聞けば全部オッケー^^
foo = 5 bar = 2 p foo if foo > bar else bar
x = 1 if hoge(x, int): print 'x=int' こんな感じの型を調べる組み込み関数ってありますか?
type
590 :
588 :2009/04/02(木) 17:34:28
isinstance
ruby
簡単なチャットを作ってみたいので オンラインについて書いてあるサイトを教えてもらえないでしょうか?
594 :
592 :2009/04/02(木) 23:30:27
>>595 それがどうPythonに関係あるのか、ドラえもんに例えて説明してくれよ
GvRがいるGoogleが買収するからにはPythonで書き直すだろう、ってこと?
l = [1,2,3] cart = l[2] 非破壊的な l.pop(2) 的な操作をするには [] 演算子? を使わないと駄目なのでしょうか? cart = l.copypop(2) のようにリストを壊さないで取り出す メソッドが欲しいです
L.__getitem__(2)
cart = [] class Food: def __init__(self, index): self.cart_index = index global cart cart.append(index) print(cart.index(self.cart_index)) print(cart[self.cart_index]) 何だろう index と明示的に書いたほうが 後で見直したときに直しやすいような気がする
平屋
馬鹿が馬鹿コード書いてる
Pythonに Emacs Lispでいうところのfeaturepのような、その名前が存在するかどうか調べる方法はありますか?
605 :
デフォルトの名無しさん :2009/04/05(日) 01:33:09
>>604 NameError を受け取ればいいだろ
はあ?
if "hoge" in locals() or "hoge" in globals(): とか?
featurepを分かってない人たちが集ってるスレ?
>>608 誰もがEmacs使ってるように思うなよ
横レスで申し訳ないけど、CommonLispかAllegloぐらい使うだろ、もし使ってないなら アドバイスなんてする側じゃなく他の人間から積極的に覚える側の人間だと思うよ。
じゃあそっちが積極的にリファレンスでも読んでりゃいいじゃないか ここはLisp勉強スレじゃない
アドバイスする側で最初からつっぱねればいいのに
>>607 でいらんことするから動きが分からないくせにとか
さらに意味の不明な返しをされててどうしようかと思ったら
>>611 が書いてくれていた
613 :
デフォルトの名無しさん :2009/04/05(日) 03:45:07
自分が知っていることを知らない他人は自分以下って思ってるんだろうね 視野が狭いってやだなあ
>>605 そういえばそうですね
うっかりしてました
ありがとうございます
できることなら自分から存在だけチェックする方法もないかなぁとは思うんですが
>>607 説明不足で申し訳ないのですが、self.hoge をチェックしたかったので
クラス変数とかインスタンス変数はがチェックできない?ようでだめでした
dir(self)
自意識の高い馬鹿ほど始末に負えないよな。
自分はどこまでわかってて、ここがわからないんです、 という形でわからない箇所のしぼりこみしないからだめなんだよなあ。
Lispを知らない奴がプログラミングやってるのか
プログラムばかりしてないで自分の知見を広げる努力をする程度の 知性があればもっと楽に生きられるのに 馬鹿だとただ生きる事すら大変だなあ
セックスのこともしらず、生きてるんだろうなあ 馬鹿だと大変だなあ
自己紹介乙
プログラミングばっかりやってると上から目線の嫌なやつになってしまうのがよくわかるスレ
pythonのお勉強スレでelispの方言を自慢するアホw
なんか不可解な流れになってるけど、 言い負かされた奴が自作自演で相手の主張を歪めようとしてるんだろうな。 中級ネットファイターがよく使いそうな手。
ネットファイター(笑)
pass
Pythonの場合 (((((((( ;゚Д゚)))))))ガクガクブルブルガタガタブルガタガクガクガクガクガク LISPの場合 (((((((( ;゚Д゚,ガクガクブルブルガタガタブルガタガクガクガクガクガク)))))))
汚いS式だなあ
1
>>628 本物のLISPの場合
(((((((( ;゚Д゚,ガクガクブルブルガタガタブルガタガクガクガクガクガク]
Cの場合 {{{{{{{{?;゚Д゚}}}}}}}(ガクガクブルブルガタガタブルガタガクガクガクガクガク) Pascalの場合 BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN?;゚Д゚ END END END (ry Haskellの場合 ;゚Д゚ $ $ $ $ $ $ $ $ ガクガクブルブルガタガタブルガタガクガクガクガクガク コピペしてわかったけど括弧の対応が取れてないぜw
pythonの場合 ;゚Д゚
htmlをプログラムだと言い張る人の場合
質問なんですがPythonの演算子をみてると()って関数呼び出し、タプル の二つしかないようにみえて
ひょっとして演算子の順位を変える
(1 >> 2) + 1 ってひょっとして
1
>>2 の結果でタプルを作ってそれに + 1してるんですか?
ひょっとしたらそうかもしれないね
>>636 >>> t = (1,)
>>> t
(1,)
>>> #これは当然だよね。では
>>> t = 1,
>>> t
(1,)
>>> #これもtupleになった
>>> t = (1)
>>> t
1
>>> #これは当然ならない。
>>> #よって、tupleを作るのは()ではなく,だ。
>>636 要素数が1つのタプルは (1,) と書くんだよ。
だから(1)はタプルではなく、ただの数値の1になる。
>>638 ,639
ありがとうございます
根本的に間違ってたんだな
643 :
デフォルトの名無しさん :2009/04/05(日) 18:55:09
htmlだって立派なプログラムですよね?
と、言い張る会
チューリング完全ではないが、プログラミング言語ではあると思う。
プログラミング言語ではないが、言語ではある。
マークアップ言語だな プログラミング言語は計算ができないといけないはず
計算というか自動化かろ
計算理論的な意味での計算だから足し算とかそういう意味じゃないよ。 ちなみに埋め込みJavascriptとかで計算だけやることもできるけど 一般的に埋め込まれた言語のもつ性質は親言語の性質だとは言わない。 JavaからPython読んでもJavaにジェネレータがあるとは言わないように。
人間はチューリング完全?
Lispが出来てない奴は文系だろう
>>651 ×Lispができてない
○xyzzyをちょっとカスタマイズする以上のことをLispでやる必要性がなかった
Lispにこだわってる人いるけど何なの?何かの欲求不満なの?
>>610 あとAllegloって何?Allegroだとしたら冷静に考えて「ぐらい使うだろ」っていう程のシェア持ってないと思うよ。
つーか、普段からlisp使ってるの? きもw
>>651 elispだけがlispじゃないんだよ、ぼ
いや、やめとこ…。
pass
rubyこなくなったらlispかよ
pass
こういう悪足掻きを見ると、ホルホルせざるをえない。
pass
662 :
デフォルトの名無しさん :2009/04/05(日) 23:17:02
break
passって書いてる人も何がしたいか分からんな。
pass
continue
666 :
デフォルトの名無しさん :2009/04/06(月) 01:11:15
NameError: name 'goto' is not defined
やっぱりRubyは最強だな
end
もしかして荒らしてるつもりだったりするの?
NoneじゃなくてNullにして欲しかったと思う今日この頃
NULL = Null = null = Nothing = Nil = None
>>672 nilの立場は?UndefinedObjectの立場は?
RubyがNull使ってるじゃん
>>673 あと Nil nIl NIl niL NiL nIL NIL もだな
Muがいんじゃない? 禅の世界
Nullby
>>674 Ruby に Null なんてあったっけ
nil ならあるけど
RGSSをやってみたら RubyはPythonより劣ってるとよく分かりました
pass
sys.exit(1)
raise SystemExit
sys.exit は sys.stdin.close() を呼んでるな
module foo BAKA = false def self.bar return true end end p foo::bar p foo::BAKA class foo: BAKA = false def bar(self): return true cls = foo() print cls.bar() print cls.BAKA
685 :
デフォルトの名無しさん :2009/04/06(月) 21:53:26
その辺のフレームワークは覚えるだけ時間の無駄な気がしてならない
Djangoの中に遅延評価あったよね
Djangoがダメなんじゃなくてダンジョーがダメなんだよ。
>>687 気持ちはわからんではないが、
標準のWSGIだけだと
ASP.NETは言うに及ばず、Javaのサーブレット+JSPよりも低レベルだから
何かは欲しくなる
→自分で実装しても車輪の再発明にしかならん
って感じでないの
まあ俺はPythonでWebアプリとか作る機会無いんでよく知らんが
.NETの世界ではあのレベルのものが「標準で」揃ってるのは凄いやね
google app eng の位置づけがわからない Djangoやweb.pyとくみあわせられるものなの?
こういうコードを書いてみた。 def data(value): dictional[len(dictional)] = value return value dictional = {} for i in range(5): print dictional.get(i,data(i)) for i in range(5): print dictional.get(i,data(i)) print dictional 実行結果 0 1 2 3 4 0 1 2 3 4 {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 0, 6: 1, 7: 2, 8: 3, 9: 4} getは1降目のキーが有っても2項目を評価するみたい。 has_keyの条件わけで書けば良いって事なんだろうけど、これはこういうものなのかな?
タブが消えたorz def data(value): dictional[len(dictional)] = value return value dictional = {} for i in range(5): print dictional.get(i,data(i)) for i in range(5): print dictional.get(i,data(i)) print dictional
>>693 わざわざ難しく書いているように見えるが何をしたいんだ?
696 :
693 :2009/04/08(水) 01:30:37
辞書からキーに対応するデータを取り出して、 なかったらデータを作って辞書に登録して値を返す。 という事がしたかったんですが・・・ 上段のforではキーがないのでデータが生成されるのは良いのですが 下段のforではキーがあるのにデータが生成されてしまうという。 わかりやすくなるように今回与えたデータはrange(5)ですが、 実際にはほぼランダムな100種1000個くらいの数値と思っていただければ。
setdefault使えば? それと、そのコードだとdictional.getが呼び出される前に必ずdata(i)が評価されると思うけど
ああ、Ruby使う方が効率的かもしれん
アドレスのコピペはだれでもできるんですよねえ、そういうのを求めてるわけじゃなく。
701 :
デフォルトの名無しさん :2009/04/08(水) 02:47:40
先生!
>>693 は糞コードすぎると思います!
setdefault や defaultdict を使えば良くなるとは思いますが、それ以前に勉強がまったく足らんのだと思いますっ
has_key とか言ってる時点でセンスなさすぎです!
Makefileに python setup.py install と書いてしまうか setup.pyにmakeでする処理を書いてしまうか どっちがいいんだ
Python始めて3日目の俺が答えてみるけど、求めてるのはこういうこと?
dictional.get(i) or data(i)
>>692 のコードでは確認用のキーと生成するキーが不一致なので
setdefault(i, i) は意味が変わってしまうと思うんだけど
結局、プログラムの問題じゃなくてデータ構造の設計に問題がありそうな気がする
キーが常に連番で生成されるならなぜ単なる配列にしておかないの、とか
>>693 今までどういう言語の経験があるの?
そこでdata(i)が評価されないことがあるとしたら、
そうとう特殊な遅延評価だね。
>>703 はもうちょっと人の書いたこと読んでからレスしたほうがいいと思う。
まあまあ
>>703 のいうことはだいたい正しいとおもうけど。
Python では 0 が偽になることだけ注意すればね。
706 :
693 :2009/04/08(水) 08:59:24
なんというか、あいまいに切り出しすぎたかも知れない・・・ ツリー状の関連性を持つ要素がランダムに名前をキーとしてsorce_dicに入ってます。 こいつを並べ替えた上で、並べ替えた後の親の番号を子に持たせる必要がある。というのが現状なんですが。 ツリーなんだから再起処理掛けてしまえと思ったことも間違いの元なのだろうか・・・・ sorce_dic = {ここに元データがある} result_dic = {} def SetData(item_name): data = sorce_dic[item_name] result_data = {} #ここに処理が入る if len(data["parent"]) != 0: result_data{"parent"} = result_dic.get(data["parent"],SetData(data["parent"])) new_no = len(result_dic) result_dic[new_no] = result_data arm_status["pmd_bones"][arm_status["pmd_id_dic"][bone.name]] = pmd_bone return new_no for data in sorce_dic: result_dic.get(data["parent"],SetData(data["parent"])) 問題の場所が初めに提示した部分で .getの1項目が存在すれば2項目は評価されないだろう、と安易に考えてのことだったんですが。
>>706 >>704 に答えてくれないので端的な答。
pythonの式はオブジェクトではありません。
708 :
693 :2009/04/08(水) 09:12:51
書き換え中に送信とか、もうね。。 sorce_dic = {ここに元データがある} result_dic = {} result_data = {} def SetData(item_name): data = sorce_dic[item_name] result_data = {} #ここに処理が入る if len(data["parent"]) != 0: result_data{"parent"} = result_dic.get(data["parent"],SetData(data["parent"])) new_no = len(result_dic) result_data[new_no] = result_data result_dic[item_name] = new_no return new_no for data in sorce_dic: result_dic.get(data["parent"],SetData(data["parent"]))
709 :
693 :2009/04/08(水) 09:21:27
>>707 これは失礼した。
言語経験ってほどのものは無いと言ったほうが良いでしょう、広く浅くいろんなところを回ってきたので。
>pythonの式はオブジェクトではありません。
との回答なので、そもそも仕様を理解してなかったということですね。
(そもそも式とかオブジェクトとかの概念がどう絡んでくるかもわからんです・・・)
馬鹿がレスするとみんなが消えて行くな
群がってくるや奴もいるけどな
まぁ初心者スレじゃないし説明下手だけど 群がってる人のレスも醜いね
どうしても「被害者様」になりたい人が荒らしてるだけじゃないの?
パイソンには荒らしは通用しない。
自己紹介乙です
>>702 自前プログラムのインストールスクリプトを
(makeじゃなくて)全部setup.pyで書けば,
unixだけじゃなくてwindowsでも使えるのかな
class foo: def __init__(self): print self.__init__.__name__ def bar(self): print self.bar.__name__ foo() foo().bar() self.__class__.__name__のように、他でも使える方法ってありませんか? self.__func__.__name__みたいな感じに…
import sys def funcname(): return sys._getframe(1).f_code.co_name class foo: def __init__(self): print funcname() def bar(self): print funcname()
>>716 setup.pyに書いた方が無難だぜ
でもWindows対応は色々死ねるけどな
ホント セットアップスクリプトは地獄だぜ! フゥハハハーハァー
クラスの中にクラスを作って、子クラスの中から親インスタンスオブジェクトを参照するにはどうすれば良いですか?
すまん。自己解決。
>>721 解決してないです。ふざけないでください。
>>720 用語に詳しくないみたいだから、
短いコードで示したほうがいいよ。
ついでに言うと、くだすれ向けだと思う。
>>723 アトリビュートって言った方が良かったな。
具体的には、
class foo:
_def __init__(self,ham):
__self.spam=ham
っていう状況で、
_class bar:
の中からfooのhamを参照する感じ。
仮引数を参照して何をしたいのだろう・・・
>>724 fooの初期化時にselfのbarを書き換えればいいんじゃね?
>>725 ファイルごとのインスタンスの下に、シーク位置ごとのインスタンスを作りたいんだ。
>>726 ちょっと書いてみるわ。
>>726 class Foo:
def __init__(self,ham):
self.spam = ham
self.Bar.spam = ham
class Bar:
spam = 0
>hoge = Foo(1)
>hoge.Bar.spam
1
>piyo = Foo(2)
>piyo.Bar.spam
2
>hoge.Bar.spam
1
ダメじゃねーか
それ、どういう結果になってほしかったんだ? こうか? >hoge = Foo(1) >hoge.Bar.spam 1 >piyo = Foo(2) >piyo.Bar.spam 2 >hoge.Bar.spam 2
>>729 いや、誤植した。すまん。
そっちが欲しい結果だわ。
class Foo(object): bar = Bar() def __init__(self, ham): self.spam = ham self.bar.spam = ham class Bar(object): pass これじゃだめなのか?
>>732 class Bar:
pass
class Foo:
def __init__(self, ham):
self.Bar=Bar()
self.spam = ham
self.bar.spam = ham
できた!ありがとう。
>>696 >辞書からキーに対応するデータを取り出して、
>なかったらデータを作って辞書に登録して値を返す。
>という事がしたかったんですが・・・
その日本語の解説がそのままコードにすればいいだけだと思うけど。
シンプルに書こうとして意図を不明確にするパターンじゃないか?
あ、いや。だめだ。 self.Barはインスタンスじゃなくて、クラスにしたい。
>>735 できたぞ。ものすごく変態だが。
class Foo:
def __init__(self,ham):
class Bar:
pass
self.Bar = Bar
self.Bar.spam = ham
>>735 用語の使い方も混乱してるし、なにがしたいのかわけわからん
正直まだ、誰かに質問するレベルではないと思う
初心者向けの本でも買ってとりあえず熟読してくれ
どうしても質問したいなら、くだすれ行ってくれ
ID欲しい・・・
>>706 >こいつを並べ替えた上で、
どう並べ替える?
>並べ替えた後の親の番号を子に持たせる必要がある。
番号って?
もっと日本語で問題を整理するべきだな。
ちゃんと整理出来れば、それを逐次Pythonコードに変換して行くだけで動くコードになるから。
734とか742とか、もうだまってればいいのに。 お前が日本語読解力の努力が必要だよ。
П===П ( ・ ∀ ・ )サツバツトシタスレニ チャージクン (Θ @ Θ) <,.,.,.,.,,..,.,.,.,.,> まぁプログラミングスレなんだから、ある程度の日本語の違いは置いておこうぜ。
pass
CPythonとCythonって何が違うのですか?
おっぱいとぱいぱんくらい違うよ。
CPython いわゆる普通のPythonの処理系 Pythonはjavaだとか.NETとかでかかれたものもあるのでCで書かれたものをあえて区別するときはこう呼ぶ Cython ぐぐれ
うだつの上がらないクソエンジニアが暴れおってかたわらいたいわ(wwWwwWWwwwWwwwwwwWWWwww
片腹な
751 :
750 :2009/04/08(水) 22:28:02
と書いた直後にぐぐったら傍ら痛いが語源なのか うだつのあがらないクソエンジニアの漏れは吊ってこよう
自殺予告として通報しておいた 安心しろ
今日は臭いレス多いね
語源の意味に取ると、まさにツンデレっていうことだなw
pass
Rubyが分からないエンジニアは、エンジニアじゃない。
非プログラマなWindowsユーザーのためにプログラムを作る場合、Pythonの方がウケがいい。 アイコンかわいいしね。Rubyのアイコンはなんであんなにダサいんだろう。
ぼくは昨日rubyをインストールしましたが、 おしゃれなデスクトップがruby consoleというショートカットに犯されました。 ゆきひろまつもとさんに謝罪を要求します。
すみません初心者なんですが
>>720 が言っているのはこういうことですか?
プロの人に聴きたいです
class Baka:
def __get__(self, instance, owner):
return owner
class Foo:
ins = B()
spam=ham
def baka(self):
return self.ins.spam
class Foo: class Baka: def __get__(self, instance, owner): return owner ins = Baka() spam=ham def baka(self): return self.ins.spam
すみません、ミスりました 黙って消えます・・・
ちゃんと書かないと気持ち悪いので一応書いておきます。 答えを教えてください。 そういうスレですよね。。。 class Foo: class Baka: def __get__(self, instance, owner): return owner ins = Baka() spam=ham def baka(self): return self.ins.spam
__init__でするとふつーにエラー出ますね。 何でですか? class Foo: def __init__(self, hum='hage') self.spam = hum class Baka: def __get__(self, instance, owner): return owner ins = Baka() spam=ham def baka(self): return self.ins.spam c = Foo() c.baka()
自己解決しました。 スレ汚しすみません。 勉強不足でした。。。 叩かないでください。
西尾さんの本を読むととても上達するよ。
ありがとうございます(^^)
いえいえ。どうぞどうぞ。><
これはインド人もびっくりの自演ですね
ロシアはオソロシイアルヨ
日本語のマニュアルが完備してるから ここに来る前にそれ読んだら 質問するまでもない鴨
list型の__getitem__でやっている作業を教えていただけないでしょうか? 具体的には、各インデックスの値をどこにしまっているのかが知りたいです。
ソース嫁
おはようおっぱい おつかれおっぱい
775 :
デフォルトの名無しさん :2009/04/10(金) 20:26:16
列車に乗って思った 光の速度に近づけば 寿命がのびると。 光の速度は 1秒間に30万キロ だ10^8 3億m いやそんなことは どうでもいい E=10^4m x 10^4m xm とつまり 1秒間に1000回 pを叩たけばいいわけだ やりましょう やりましょう。 pが4000個叩くと光の速度にたっするので。 pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp pが50の列4行 でpは200個
776 :
デフォルトの名無しさん :2009/04/10(金) 20:31:53
pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp 疲れた nをいれようnpp でー1 nnnpnnnpnppppnpnpnpnpnpppnpnpnpnpppnpnpnpppnpnpnpppnpnpnpppnpnnnnnpppnpnppppppppppn nnnnnpppppnpnpnpppppnpnpnpppppnpnpnpppppnpnpnpppppnpnpnpppppnpnpnpppppnpnpnppppp npnpnppppnpnpnppppppnpnnnnnpnnnnnpnnnnnpnpnppppnpnpnnnnnnpnpnpppppn npnpnpppppnpnpnppppppnpnpnpp
秀和の「速攻Python」買ったけど、すげー分かり難い・・・ 解説適当すぎ
他社から同じような本が出てるなら秀和の本は買うな。 これ原則。例外は他社が秀和よりしょぼい場合。
だめだ 金無いけどはじパイの3版買ってくるわ
>>778 秀和のポケットリファレンス系は好きなんだが、あれも読みづらいほうかね?
西尾さんの本を読んだら潮吹いた
pythoncomのVT_VECTORとかVT_LPSTRなどに対応するオブジェクトを作りたいんですが、 まったく解りません. VT_I4なら単純に i = 1; とかでおkだと思うんですが、VT_VECTOR, VT_ARRAYなどはどうすりゃいいですか array = ["hoge","hige","hage"]; とか?
784 :
デフォルトの名無しさん :2009/04/11(土) 02:32:52
python 関係ないな
Rubyに関係してるな
__init__.py の使い方について教えてください 例えば ./hoge.py ./fuga/__init__.py ./fuga/piyo.py という構成でファイルがあって piyo.py の中に class Piyo があるとすると hoge.py からは 1)import fuga.piyo -> p = fuga.piyo.Piyo() 2)from fuga.piyo import Piyo -> p = Piyo() 3)from fuga import piyo -> p = piyo.Piyo() 4)from fuga import * -> p = pyo.Piyo() で利用出来るようですが 5)import fuga -> p = fuga.piyo.Piyo() #エラー? 6)import fuga -> p = fuga.Piyo() #エラー? なぜ 5 だとだめなのかよく分かりません 出来れば 6 の形で使いたいのですが __init__.py に何をどう書けば良いのでしょう?
from piyo imoport *
Python3に移行したらHTTPCookieProcessorが消えた わけわかんね
わかんねんだけど
2to3
よけいにわけわかんね
Ruby to Python
grep
よくわかんねからRubyつかうことにしてみた
cpythonってなんですか?
bpythonの次に作られたもの
pythonのこと
はやいおぱい
CMSと連携する結構大きめのWEBアプリケーション作ろうと思って Pythonとジャンゴについて調べてた さあ、本買おうとおもって書店に行ったらみんなのPython1冊しか置いてないので なんかよくわからんけど気づいたらRubyとRailsの本持ってレジに並んでたわ・・・ Pythonで作ったらその後の保守できる人間が見つからなくて大変そうだし・・・
α版→β版→(Release)Candidate版
>>789 ありがと、urllib.requestにあった
このくらい2to3で勝手に直してくりゃいいのに
このくらい調べてくりゃいいのに
ここって検索スレでしょ?
>>801 RoRならPythonよりも保守できる人間が多いと思ってそうなところが痛い
事実でしょ?
>>803 多分最新の 2to3 なら直してくれる。
Python 3.0.1 よりも Python 3.1a2 の方が完成度高いかもよ。
>>395 の方法を、 ipython と idle の該当バグの部分に投稿してみた。
採用されるかどうか wktk。
本当は、 compile() 関数が encoding 引数をとるのが良いと思うんだけどね。
RoR は動きすぎるターゲットだから保守きつい 2.x になったとき互換性のなさにワラた
Merbとの統合で一気に変わるよ、すくなくとも駄目言語Pythonより遥かに未来を行っている
駄目言語って言葉初めて聞いた
また非互換になって、過去と決別するってことですね、わかります
たまにはそういうのもいいけどね。たまには
マイナーバージョンアップのたびにフルリグレッションかけなきゃ不安なのは勘弁してほしい > matz
だけどRubyからPythonが奪ったもの、多いよね?
やっぱ互換性は重要だわ
次のメジャーアップではそんなことは無いだろうと願いたい いやマジで
未来を迷走しているのがRuby 現在を着実に歩いているのがPython
ヘビがキモイのがPython 荒らしがキモイのがRuby
>>816 なにか持っていっても普通は減らないからな
奪ったって言ってるってことは開発陣のことを言ってるのかい?
>>816 多くないよ
だって実際には Ruby はパクりの継ぎ接ぎだから、Ruby の上流からパクったかどうか区別付かないし
でも、Ruby 1.9 の StopIteration は Python のパクりだと確信しているw
良いところはどんどん盗んでくれ。
劣化Rubyコピー、それがPython。
>>825 完全に同意。首がもげるほど納得。
Rubyこそ、最強、最速!
だから、バカPythonっていうか、おっぱい村
なんかの相手してないで、Rubyに帰ろう!
どう見てもRuby信者に見えない…
どちらかというと Ruby を貶めようとする工作員と思われるが なぜこのスレに来ているのかは理解できん
とりあえずおっぱいをもんで落ち着くんだ
おやおや今日もruby厨の荒らしですか
PythonのパクリといえばJavaScriptの方はあまり話題にならないな
javascriptはimportがないから、どの環境でどのモジュールが使えるかわからん ちょっと遊んでみたいと思っても気軽に試せない 言語仕様を見る限り悪い言語じゃないと思うんだけど……
rubyは継続つかえるんだよね 互換性の問題さえ解決してくれればなあ
>>832 仕様は最強と言ってもいいくらい必要なものがあって余計なものがないけど、
出身が<script src="module.js"></script>みたいなところというのが
あれなんですよ、もっさん。
>>816 >>823 パクリも何も、
pythonもrubyもJavaもC#も所詮アレから生まれたアイデアを
Cっぽく記述するためにがんばってるに過ぎないじゃないか。
>>835 Smalltalkですね、わかります。
hsp?
>>836 そこでObjective-Cですよ。
PyObjCにしろRubyCocoaにしろ開発陣が妙に頑張ってるのが面白い。
なにこいつキモ
そうか? それより、なんか急に過疎ったな。
2.6.2 正式版リリース上げ
842 :
デフォルトの名無しさん :2009/04/15(水) 14:41:09
IDないからな
>>841 Issue #4566治ってねぇぇぇぇ
>>844 Issue #4566治ってねぇぇぇぇ
お疲れぅいっしゅ
今あたってるパッチじゃ駄目いうてるんか? でもステータスが閉じちゃってるぞ
>>844 ソース見たけど治ってるみたいね
NEWS.txtには書いてなかったから勘違いしてた
おっPyバレー見に行こうぜ
851 :
850 :2009/04/16(木) 15:49:43
852 :
デフォルトの名無しさん :2009/04/16(木) 16:24:40
質問させてください。 python初心者なのですが、とあるWebベージのheaders情報を取得したいと思っています。 conn = httplib.HTTPConnection(url) conn.request('GET', 'index.html') response = conn.getresponse() print response.getheaders() このようにheadersを取得して、headers情報は取得できているのですが、 同じページをphpのget_headersで取得するとheadersが30個くらいあります。 ですが、このpythonの方法だと8個くらいしか取得できません。 Webページで送られてくるheaders情報をすべて取得するにはどうしたらいいのでしょうか?
なぁ、PHPってウェブに特化した言語だよな? なんでレスポンスとリクエストの区別もつかない人間が使ってるんだ?
854 :
デフォルトの名無しさん :2009/04/16(木) 17:15:27
>>853 こういうことですか?
res = urllib.urlopen(url)
print res.info()
ctypes経由でopencv使えばPILいらないと思うんだ
そうだね
857 :
デフォルトの名無しさん :2009/04/16(木) 21:05:19
>>853 str(urllib.FancyURLopener({}).open(url).info())
で幸せになれるかもしれない。
単項演算子のアスタリスクってどういう役割ですか? ポインタ的なものじゃないよね? 掛け算の話ではないです。
>>859 節子、それ演算子やない……引数のアンパックや!
な、なんだってー。 ググれそうなヒントをありがとう。
俺しょっちゅう**kwargsって書いてる気がするな *argsより多い
compilerパッケージを使って、配布用のプログラムのソースを隠すことってできますか?
やっぱ記号って意味を調べにくいよね。 英単語のキーワードになってるのがありがたい。
記号関連でチュートリアルに含まれてないのは デコレータだけだ。
してやられーた
869 :
デフォルトの名無しさん :2009/04/17(金) 11:22:07
870 :
デフォルトの名無しさん :2009/04/17(金) 11:31:27
>>869 そのURLをGETしても、HTTP Response Header は 8つしかないぞ。
PHPがどんな動きをしているのかしらんが、PHPのキモイ仕様に間違った知識を
植え付けられてないか?
ちょっとPHPでヘッダを取得するコードとやらを見せてくれ。
FancyURLopenerだから もう Location先のコンテンツを 読みにいってるのでは。
昔、映画のタイタニックがはやっていたころ、 歌舞伎町に『パイパニック』って店があったな。 それから数年後、『パイオーツオブカリクビン』って店もあった。
TkinterのmainLoop内で発生した例外をキャッチするにはどうすればいいのでしょ?
普通にキャッチ出来ない?
ボタン押したときとかの例外でそ? 別スレッドだから無理でないの
無理ではない
878 :
874 :2009/04/18(土) 14:48:31
>>876 >ボタン押したときとかの例外でそ?
ええ、そのとおりです。
ボタンを押したときなどで発生する例外の内容とそのときのトレースバックをダイアログで表示させたいんです。.NETなんかでよく見るやつです。
> ダイアログで表示させたいんです その表示システムでエラーが起きたらどうするんだよ
そんときはあきらめます。 表示システムを1回しっかりつくりこめば済む話だと思うので。
881 :
デフォルトの名無しさん :2009/04/18(土) 19:38:58
初心者用の入門書でおすすめってどれですか? チュートリアルは抜きで。
初めてのPython 第3版 みんなのPython 改訂版
複数のプロジェクトに参加しているとき、プロジェクト毎にインデントの大きさが違うと エディタの設定を頻繁に変更しなくちゃいけなくて大変じゃない? いっそのこと言語仕様の段階でインデントの大きさを固定してほしかったよマジで。
emacsen使ってるから問題なす
自動認識させてる(emacs)
>インデント大きさ固定 なんだっけ、そういう4/1ネタがあったような気がする
4-space / 1-tab
Pythonあと100倍くらい速くしてくれ。 Civ4遅いんじゃ〜!
civ4が遅いのは 意味もないのに3Dだからだ。
↑はあ?
891 :
デフォルトの名無しさん :2009/04/18(土) 22:53:07
emacsの一つ目のwindowでファイルを編集しながら、 もう一つのwindowでpythonインタプリタを起動したいのだけどわかる人いる?
ウィンドウ分割して、M-x shellとかでできそうです
C-c C-z
>>894 氏
ウホッ。デフォルトであるのか!!
ありがとう。
Python3000 の Function Annotations を使ってオーバーロードっぽいことをするモジュールを作ったんだけど 公開するところがないんでここで公開してもいい?
classって活用してます?
>>899 マジでか。
ActiveState Codeのレシピか何かに投稿しようと思ったんだけど
ドキュメントとかサンプルとか解説文とか書くのがめんどかったんだよね。
まぁ、公開するといっても使い物になるかあんまり自信がないので意見ほしいな、くらいしか期待してないんだけど。
>>900 投稿確認
・投稿者は、投稿に関して発生する責任が全て投稿者に帰すことを承諾します。
・投稿者は、話題と無関係な広告の投稿に関して、相応の費用を支払うことを承諾します
・投稿者は、投稿された内容及びこれに含まれる知的財産権、(著作権法第21条ないし
第28条に規定される権利も含む)その他の権利につき(第三者に対して再許諾する権利を
含みます。)、掲示板運営者に対し、無償で譲渡することを承諾します。ただし、掲示板運
営者は、投稿者に対して日本国内外において無償で非独占的に複製、公衆送信、頒布
及び翻訳する権利を投稿者に許諾します。また、投稿者は掲示板運営者が指定する第三
者に対して、一切の権利(第三者に対して再許諾する権利を含みます)を許諾しないことを承諾します。
・投稿者は、掲示板運営者あるいはその指定する者に対して、著作者人格権を一切行使しないことを承諾します。
githubでも使えば。
sourceforgeってもう流行らないのか
>>901 そんなもんが契約として有効なものだと法廷で認められるとは思えないけどな。
>>905 一応型だけじゃなく、値や条件式でもディスパッチできるようにしてるし、
コードももう少し短いかな。
>>884-885 emacs便利だな。サンクス。
ただちょっと思うんだけどさ、プログラミング言語が開発環境を
選ぶような状況はできるだけ少ない方がいいと思うんだ。
>>904 というか、それの導入経緯はネタだからw
やっちまったか
912 :
デフォルトの名無しさん :2009/04/19(日) 15:24:32
Python使ったウェブアプリのフレームワークでお勧めってありますか? TurboGearsって良さげ?
西尾さんが愛用してるDjangoが一番だよ
ぐぐったら、DjangoやPloneは重くてTurboGearsが軽いみたいですけど、 日本語情報はDjangoが一番多いみたいっすね。 てことはDjango一番人気?
大規模なサイト構築だったらDjangoじゃない? 個人だったらweb.pyもいいかもよ、と言ってみる
web.pyだとcgiでページを作るとか聞いたんですが djangoってどうやって使うんですか?
PythonのORマッパーって安定したのあるの? API的な意味で SQLAlchemyもSQLObjectもバージョン1にすら達してなくてげんなりした記憶がある
>>918 意味がわからないんですが、cgiじゃないんですか?
web.py使えなさそうですね、Djangoのがよさそうです。
2.5.xをOS X Leopardで64 bitにしてうまく使えてる人いる? buildの適切な方法が分かれば教えて下さい。
>>920 ビルドはできたよ。
↓な感じでconfigure。Carbonは64bit化されていないのでToolboxバインディングは無効に。
CFLAGS="-arch x86_64" LDFLAGS="-arch x86_64" ./configure --prefix=/tmp/python25 --disable-toolbox-glue
MakefileにCFLAGSが反映されていなかったので修正。
--- Makefile.orig
+++ Makefile
@@ -58,6 +58,7 @@
# Compiler options
OPT= -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes
BASECFLAGS= -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd
+EXTRA_CFLAGS= -arch x86_64
CFLAGS= $(BASECFLAGS) $(OPT) $(EXTRA_CFLAGS)
# Both CPPFLAGS and LDFLAGS need to contain the shell's value for setup.py to
# be able to build extension modules using the directories specified in the
make && make install
file /tmp/python25/bin/python
/tmp/python25/bin/python: Mach-O 64-bit executable x86_64
922 :
デフォルトの名無しさん :2009/04/19(日) 21:26:31
cgiで動かさなければならないサービスは総じて駄目でしょう
>>361 動かなかった
>>366 うまくいきました有難うございます
これでpythonを他言語から簡単に呼び出せるようになりました
>>921 検証どうもです。
それで、numpy 1.3.0ってうまくbuildできますか。
こちらでやると、
$ tar zxvf numpy-1.3.0.tar.gz
$ cd numpy-1.3.0
$ sudo /tmp/python25/bin/python setup.py install
(略)
C compiler: gcc -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -arch x86_64
compile options: '-Inumpy/core/src -Inumpy/core/include -I/tmp/python25/include/python2.5 -c'
gcc: _configtest.c
gcc _configtest.o -o _configtest
ld warning: in _configtest.o, file is not of required architecture
Undefined symbols:
"_main", referenced from:
__start in crt1.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
(略)
とかずらずら出て、こけます。
また、10.5-x86_64ではなく、10.3-i386になってしまっています。
$ ls build
src.macosx-10.3-i386-2.5
何か解決法が分かれば教えて下さい。
Pythonは2.5.4を
>>921 のやり方でビルドしました。
回答まだでしょうか
まだです
できました
932 :
デフォルトの名無しさん :2009/04/20(月) 22:27:28
はあ、それで君は何を言いたいの↑
自己解決しました
Pythonは、計画都市のような印象を受けるな。 東西南北にまっすぐ通された大通り、計画的に配分された公園、住宅地区、 バス網。
他の言語も其の調子で喩えて欲しい。
しかも計画都市の住民が堅物ばっかりで 街に飲み屋がない。休日は役所に集まって街の風紀を熱く説教している
ずれてる
WhiteSpace 一見更地に見える Grass 一見草原に見える
Ruby スラム街 Perl トイレの落書き
C++ 破裂した水道管。穴を塞ぐと別の2箇所が破裂する
それ何てドリフ?
C++を無闇に怖がるのはやめてよ
暑くなる季節は水浴び気持ちよさそだからいいんじゃね? >>水道管破裂
コントならそういうシーンはあるんだが 実際はパスカルの法則に縛られるから 2箇所以上が破裂することはないんだよな 水道管は常に一番弱い部分1箇所だけが破裂する これ豆知識な
pythonでぇぇぇ カードゲームのシミュレータはぁぁぁ 作れるのかぁぁぁぁ 返答しだいでは俺の人生が変わるから真面目に答えてください
STLコンテナが値ベースだからいちいちコピーされるのを避けるために
ポインタを格納するようにしたら、
解放処理が難しくなった上に比較演算の部分をファンクタにしなくてはいけなくなるとかそういう話?
ま、それはスマートポインタとか使えば済むけど、
MFCとかもっとわけわかんないし、時間がないときに意味不明のエラーがでるのはしんどいんだよなあ……
>>946 作れるんじゃない?
速度がクリティカルになるということもないだろうし、Pythonがどうのというよりやる気の問題と思うが。
pypyいってたら今日OPVをOPYと読んでしまった おっぱいpypy
949 :
デフォルトの名無しさん :2009/04/22(水) 02:15:47
先生!
>>945 みたいな男にだけはなりたくたいと思います!
穴開いてるときはパスカルの定理は成り立たないんだよ
そもそもパスカルの定理とパスカルの原理は別物だからw
ちょw
>>946 >返答しだいでは俺の人生が変わるから真面目に答えてください
ワラタ
できるできないでいえば、当然できる
しかし真実は、キミの能力と熱意次第
役にたたん解凍かもしれんが、ほんとにこうしか答えようがない
foo(**hoge)とか、def hoge(*argv, **argc)ってどういう意味があるんですか?
>>956 辞書で受け取ったりタプルで受け取ったりできる
foo(fdsafsda=10, kk=10, shine='fdsa')
みたいな呼び出しができる
関数ではこれが辞書 hoge になる
ぱいがめに画像の回転、縮小拡大する方法はありますか? ない場合はPILを使うべきですか?
M-x pdb をもっとGUIぽくしてほしい gdbはあんなに派手なのに
お前CLI至上主義にケンカ売ってんのか
uume
umeeee
uzee
netbeansやeclispseって何も設定しないでpython使えるの? cをeclipseでやろうとしてプロジェクトの設定がどうだので めんどくさかった記憶があるんだが
3次元配列をファイルにセーブするときはどうしてますか? 1 2 3 4 2 3 4 5 1 2 3 4 2 3 4 5 みたいな感じで2次元配列を2つならべてgnuplotからも呼べるような感じにするといいのでしょうか
"fairu.txt" hoge=[ [[1,2,3,4], [2,3,4,5]], [[1,2,3,4], [2,3,4,5]] ] "hoge.py" fairu = open('fairu.txt', "rb") data = fairu.read() fairu.close() exec(data) print hoge
pickle
yaml
pickleでsaveしたデータを他の言語で読むのは難しいのかな
PHPメインで、補助的にPythonを使うプロジェクトでphpserializeを使ったことならある
>>966 pydev使えばすぐ。
pythonのインストールは別途必要。
974 :
デフォルトの名無しさん :2009/05/01(金) 00:05:09
>>966 netbeansならJythonもいっしょにインストールする。
eclipseにもpydev入れてみたけど結局emacsで書いてるわ pythonの場合、入力補完のありがたみをあまり感じない
emacsでも C-M-i で補完してくれる 昔eclipse使ってた時はデバックが便利だった
eclipseは無駄にメモリを消費するので嫌いです
そうですか。
無駄ではありません。 メモリ産業に貢献しています。
emacsの補完は関数はできるけど局所変数はだめっぽい
補完多用してると自分の脳が馬鹿になるぞ
補完多用しなくても脳は馬鹿になる
>>979 エルピーダは経営やばくて補助金貰ってるのはなぜ?
半導体製品のコモディティ化と価格暴落が原因。
メモリはVista特需って幻想で作りすぎて供給過剰になっただけですなw
987 :
デフォルトの名無しさん :
2009/05/01(金) 13:30:47 4GBフル実装でドン詰まり CPUの64bit化が加速するだろうなぁ pythonは大丈夫だろうか?