Pythonのお勉強 Part 27at TECH
Pythonのお勉強 Part 27 - 暇つぶし2ch411:デフォルトの名無しさん
08/07/02 02:08:05
def gen():
if 0: yield

412:デフォルトの名無しさん
08/07/02 02:40:50
Python2#.dll だけを添付してスクリプトを配りたい場合
(いろいろな意味での単純化のため、標準ライブラリをいっさい使わずに組み込みライブラリのみで対処する)
って、ソース読み込むときのエンコーディング関係はどうなるの?

どうもあのへんの処理系統がよくわからないんだけど、ソースの字句解析の時点で
#coding: hogeとあったら
ライブラリの hogeコーデックを見に行くよね??多分。

ライブラリがないと構文木つくれないの? なんかすごく仕組みが不思議なんだ
じゃあライブラリ自身をインポートするときはどーなってるの?
ライブラリ(のコーデック関係部分)は自分を字句解析してほしいけど、字句解析するためにはライブラリが必要???



413:デフォルトの名無しさん
08/07/02 08:46:52
>>412
URLリンク(www.pycs.net)
URLリンク(www.python.org)
URLリンク(bugs.python.org)

解説記事 -> PEP -> Issue tracker ですね。わかります

414:デフォルトの名無しさん
08/07/04 23:42:17
>>> id(1)
10507600
>>> id(2)
10507588
>>> id(3)
10507576

なのに

>>> id(0.1)
11908136
>>> id(0.2)
11908136
>>> id(0.3)
11908136

となる。なんでかワガンネ

415:デフォルトの名無しさん
08/07/05 00:10:53
intの方は他に参照されてて破壊されないで (インデックスとかでよく使いそうだし)
floatの方は破壊されてすぐ同じ場所が再利用されてるんじゃない?

416:415
08/07/05 00:18:50
intobject.cみてみたら-5~256までは予め作っておいているみたい

417:デフォルトの名無しさん
08/07/05 00:52:52
Python2.5.2 (Win)
>>> id(1)
11163352
>>> id(2)
11163340
>>> id(3)
11163328
>>> id(0.1)
14145448
>>> id(0.2)
14145432
>>> id(0.3)
14145464

Python2.5.1 (Linux)
>>> id(1)
135925560
>>> id(2)
135925548
>>> id(3)
135925536
>>> id(0.1)
136126516
>>> id(0.2)
136126516
>>> id(0.3)
136126516


418:デフォルトの名無しさん
08/07/05 05:06:22
tkとwxPythonってどっちがいいですか?

419:デフォルトの名無しさん
08/07/05 06:53:29
環境によって違うのかー。恐ろしいな

420:デフォルトの名無しさん
08/07/05 08:06:32
>>419
何も恐ろしいところなんてないと思うが

421:デフォルトの名無しさん
08/07/05 08:31:07
419の方が恐ろしいだろJK

422:デフォルトの名無しさん
08/07/05 09:03:18
許してやってくれ。
419はゆとり教育の被害者に過ぎない。

423:デフォルトの名無しさん
08/07/05 10:06:31
>>> for i in range(-10, 270): print eval('%d, id(%d)' %(i, i)),
...
(-10, 8702864) (-9, 8702864) (-8, 8702864) (-7, 8702864) (-6, 8702864) (-5, 8402384) (-4, 8402372) (-3, 8402360)
(-2, 8402348) (-1, 8402336) (0, 8402324) (1, 8402312) (2, 8402300) (3, 8402288) (4, 8402276) (5, 8402264) (6, 8402252)
(7, 8402240) (8, 8402228) (9, 8402216) (10, 8402204)
...
(245, 8405408) (246, 8405396) (247, 8405384) (248, 8405372) (249, 8405360) (250, 8405348) (251, 8405336) (252, 8405324)
(253, 8405312) (254, 8405300) (255, 8405288) (256, 8405276) (257, 8702864) (258, 8702864) (259, 8702864) (260, 8702864)
(261, 8702864) (262, 8702864) (263, 8702864) (264, 8702864) (265, 8702864) (266, 8702864) (267, 8702864) (268, 8702864)
(269, 8702864)
>>>


424:デフォルトの名無しさん
08/07/05 10:16:37
d={}; n=[d.update({id(x):x}) for x in range(-10, 270)]; sorted(d.items(), lambda x, y:cmp(x[1], y[1]))

これだと違う結果が出る。理由は知ってるけど書かない。

425:デフォルトの名無しさん
08/07/05 11:07:35
GCに回収させてるやつって何なの?馬鹿なの?死ぬの?

426:デフォルトの名無しさん
08/07/05 11:11:30
>>> int(1.5)
1
>>> float(1.5)
1.5
>>> float('1.5')
1.5
>>> int('1.5')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '1.5'
>>>

なんでこうなっちゃうんでしょ?


427:デフォルトの名無しさん
08/07/05 11:14:31
>>> int(float('1.5'))
1

428:デフォルトの名無しさん
08/07/05 12:52:58
数値型 <-> 文字列型 <-> 数値型
A <-> JSon <-> B

URLリンク(d.hatena.ne.jp)
ary = [1, 2, 3, 4]
ary.map{|x| x**2}.tap{|a| p a}.select {|x| x>10 } # => [16]
# >> [1, 4, 9, 16]

わたしこけた青アザできた
# >> こけてる過程をストップモーションで出力(修飾表現)

『こけた』の部分を、整理して表示すると
何が起こってるのかわかりやすくなる…

型変換<文字列:数値>をTrace出力付きのForthみたいなかんじで
出力するには、python だとどう描けばよいですか?

429:デフォルトの名無しさん
08/07/05 12:54:27
日本語でおk。

430:デフォルトの名無しさん
08/07/05 13:14:47
日本語? いいえ、Pythonです。

431:デフォルトの名無しさん
08/07/05 13:18:51
>>> L=[1,2,3]
>>> map(str, L) #=>['1', '2', '3']
>>> L=[1,1.2,2,3]
>>> map(str, L) #=>['1', '1.2', '2', '3']

型変換<数値:文字列>は問題なし

>>> strL=['1','2','3']
>>> map(int, strL) #=>[1, 2, 3]
>>> strL=['1','1.2','2','3']
>>> map(int, strL)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '1.2'

型変換<文字列:数値>でこける
types とかインポートしてやらないと無理なのかな?


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch