08/01/23 16:32:34
ついにGカップか…
3:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/01/23 19:15:50
Pythonは終わった言語
これからはRubyの時代
5:デフォルトの名無しさん
08/01/23 19:17:15
Ruby信者のふり乙
6:デフォルトの名無しさん
08/01/23 22:59:20
おっPython勉強スレだ
7:デフォルトの名無しさん
08/01/24 00:44:44
活動再開するまでユーザ会のリンクは消したほうがよくね?
8:デフォルトの名無しさん
08/01/24 01:02:38
活動停止してたのか
9:デフォルトの名無しさん
08/01/24 01:54:20
でも更新されてる
10:デフォルトの名無しさん
08/01/24 08:39:26
宣伝乙
11:デフォルトの名無しさん
08/01/24 09:02:44
7はいらない子。
7が居なくなっても誰も気にもとめないし誰も困らない。
消えるべきは7。
12:デフォルトの名無しさん
08/01/24 10:58:01
後ろ向きなことしか言えない7なんかより、
定期的に勉強会や合宿を開催するユーザー会の中の人の方が2^32倍まし。
11が言うように7はいらない子。
13:デフォルトの名無しさん
08/01/24 11:07:50
より協力にサポートし
14:デフォルトの名無しさん
08/01/24 11:41:06
7は悔し過ぎておかしくなってしまったの?
15:デフォルトの名無しさん
08/01/24 13:28:28
7のタイミングの悪さは国宝級。
税金を使って保護すべき。
16:デフォルトの名無しさん
08/01/24 15:00:46
そんなことより野球しようぜ
17:デフォルトの名無しさん
08/01/24 16:20:10
更新されたと言っても、誰でも登録可能なトップニュースだけな訳だが。
止まってないと言うなら早く2.5.1のダウンロードリンク作り
2.3系を過去のものとして階層深くに引っ込めろよ。
日本語対応してるのが2.3系までと勘違いするユーザが多くて面倒なんだよ。
18:デフォルトの名無しさん
08/01/24 16:49:40
おいなりさんから来ました
19:デフォルトの名無しさん
08/01/24 18:27:51
>>17
> 止まってないと言うなら早く2.5.1のダウンロードリンク作り
すでにあるみたいだけど。
止まっているのはお前の脳みそ。
20:デフォルトの名無しさん
08/01/24 18:36:29
汚名を挽回しようとしてかえって墓穴を掘る7の天然ぶりは国宝級。
国費を投じて、7を保護するためだけの財団法人を作るべき。
21:デフォルトの名無しさん
08/01/24 18:55:09
>>19
修正乙
早く日本語環境用インストーラも消してくれよ
22:デフォルトの名無しさん
08/01/24 18:59:37
>汚名を挽回しようとしてかえって墓穴を掘る
「汚名返上できてしまう」ってことか?
23:デフォルトの名無しさん
08/01/24 19:00:05
7は無視して野球やろうぜ。
24:デフォルトの名無しさん
08/01/24 19:04:44
2chからリンク張られるかどうかがそんなに重要なことなのか?
25:デフォルトの名無しさん
08/01/24 21:29:51
リンクはどうでもいいけど古い情報がそのまんまなのは悲しいな
まぁ日本ユーザー会みたいなもんはどこもそんな感じよね
26:デフォルトの名無しさん
08/01/24 21:49:03
>>22
あの汚名をもう一度・・・っ!
27:デフォルトの名無しさん
08/01/24 22:55:52
>>17が汚名挽回のレスだなw
28:デフォルトの名無しさん
08/01/25 00:26:00
日本でPythonが流行らない理由が分かった気がするよ。
29:デフォルトの名無しさん
08/01/25 09:01:19
民度が低い
みんなのPython
30:デフォルトの名無しさん
08/01/25 10:01:50
やっぱ永久凍土
31:デフォルトの名無しさん
08/01/25 10:04:52
汚名を挽回してどうするんだw
汚名は返上するもんだあろ
32:デフォルトの名無しさん
08/01/25 10:11:06
Pythonの勉強をするために本を探しているのですが
↓の本は買いでしょうか?
URLリンク(www.oreillymaker.com)
33:デフォルトの名無しさん
08/01/25 10:13:48
>>32 ネタ乙
34:デフォルトの名無しさん
08/01/25 10:14:25
もんだあろ
ってなんだ?
35:デフォルトの名無しさん
08/01/25 10:19:28
Py3.0ではクラスは全て object からの導出になるのかな?
class A:
って宣言してた事に気づかないまま
hoge = propetry(gethoge, sethoge)
してしまって、バグの原因特定に苦労するのはもう嫌だ
36:デフォルトの名無しさん
08/01/25 10:23:37
のび太は放っておいて、スネ夫とPython 3000で遊ぼうぜ!
37:デフォルトの名無しさん
08/01/25 10:34:48
>>30
人間性に問題があるのは一部だけ。
しかし、キチガイほど目立つのは問題だな(w
38:132
08/01/25 10:36:28
>>3 の print Hoge.Orz.__private って
print Hoge.Orz._Orz__private じゃないといけないんじゃないの?
39:デフォルトの名無しさん
08/01/25 12:00:45
__private はインスタンスメンバだから
self._Orz__private や Hoge.Orz()._Orz__private じゃないか?
40:デフォルトの名無しさん
08/01/25 12:36:10
どもなせが最終行で例外でるだけ。コンストラクタは実行できてる
41:デフォルトの名無しさん
08/01/25 14:07:52
Orz.__init__ (!= Hoge.Orz.__init__) の print で例外起こる
42:デフォルトの名無しさん
08/01/25 16:30:04
本当だったら九行目のコンストラクタのprintでエラーにならなきゃいけないんじゃないの?
43:デフォルトの名無しさん
08/01/25 19:01:40
for e in names:
D[e] = colors.random() # 色配列からランダムで取り出す(copy or popする?)
名前のリストがあってそれに重複しないように色を付ける
にはどうしたら良いですか?
44:デフォルトの名無しさん
08/01/25 19:24:44
>43
colors をコピーしたものを作って random.shuffle(colors_copy)
45:デフォルトの名無しさん
08/01/25 21:10:37
>>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'
46:デフォルトの名無しさん
08/01/26 00:11:30
dropbox の dropbox.exe に pyc が大量に含まれてるのだけど、
なんか普通のバイトコードじゃないんだよね。
ファイルサイズからすると RC4 的な暗号化がされてるっぽい。
解き方教えて。
47:デフォルトの名無しさん
08/01/26 01:27:36
いやいや、Orz は Hoge.Orz を継承してるわけだよね。
んで、Hoge.Orz のコンストラクタで self.__private を定義したと。この __private は
アンダースコア2つで始まる名前な訳だから、Horz.Orz を継承した Orz からも
self.__private でアクセスできるのはおかしいんでない?
でも Orz.__init__ 内の print 文ではなぜか例外が発生しない。
48:デフォルトの名無しさん
08/01/26 01:40:02
属性__privateは継承しないけど、__privateを定義するメソッドを継承して実行したから
__privateが定義されてても良いんじゃないの?
49:デフォルトの名無しさん
08/01/26 02:07:37
>>47
self.__private と書いたら self._Orz__private になるわけだから、おかしくない。
>>48
実際に __private は名前を変えて存在する。
50:デフォルトの名無しさん
08/01/26 08:14:04
これって結構落とし穴だよなあ。
別パッケージの同名クラスを継承した場合、
__で始まっていてもメンバ名のバッティングを気にしないといかん。
まあ、同名で継承するなって話か。。。。
51:名無しさん@いたづらはいやづら
08/01/26 13:21:46
>>47
コンストラクタは __new__ だぞ。
__init__ は初期化。
52:デフォルトの名無しさん
08/01/26 16:52:02
>1
おちゅ
53:デフォルトの名無しさん
08/01/27 00:09:51
今から勉強始めるのと、3が出るのを待つのと
どっちが賢い?
プログラミングはJavaと.NETを触ったことがあるレベルなのですが、
Pythonの勉強をいつ始めようか悩んでいます。
54:デフォルトの名無しさん
08/01/27 00:15:11
3が出ても、しばらくは
現行のバージョンも使われるだろうし
何より、恐らく3が出てからしばらくの間は
「3からPythonを始めた人」向けの解説は出回らず
現行バージョンを知っている人向けの解説が主になると思う。
55:デフォルトの名無しさん
08/01/27 01:29:35
今から3のアルファで勉強するのがベストじゃないか?
日本語の資料は諦める必要があるけど
56:デフォルトの名無しさん
08/01/27 01:48:52
>>55
3より前を勉強する価値はほとんどない
ってことでしょうか?
3ってそんなに凄いのか
57:デフォルトの名無しさん
08/01/27 02:31:54
んなこたぁない
原典と付属モジュールとPEP追ってちゃんと勉強する気があるなら3.xからはいって
いいと思うけど、
片手間でor趣味でor書籍や資料が多ければいいってんだったら2.xだろ
58:デフォルトの名無しさん
08/01/27 03:18:32
既存のスクリプトは2.xで書かれているのが大半だからなぁ
59:デフォルトの名無しさん
08/01/27 03:47:46
基本的な考え方が根本的に変わるところはほとんど無いと思われる
ので、いまから2.5勉強しても全然損しないと思う。
BNFの定義してる、grammar.txtはほとんど流用なので、文法なんかも身につければ
ほぼそのまま通用すると思う
60:デフォルトの名無しさん
08/01/27 04:37:38
【審議中】
_,,..,,,,_ _,,..,,,,_
_,,..,,,_/ ・ω・ヽ/・ω・ ヽ,..,,,,_
./ ・ω_,,..,,,,_ l _,,..,,,,_/ω・ ヽ
| / ・ヽ /・ ヽ l
`'ー--l ll l---‐´
`'ー---‐´`'ー---‐´
61:デフォルトの名無しさん
08/01/27 11:39:59
今と3の違いまとめページとかない?
62:デフォルトの名無しさん
08/01/27 11:46:46
URLリンク(gihyo.jp)
63:デフォルトの名無しさん
08/01/27 14:03:11
What’s New in Python 3.0
URLリンク(docs.python.org)
64:デフォルトの名無しさん
08/01/27 17:10:17
どっちにしても現有のコード資産は2以前でしか使えないから
否応無く勉強することになりそうだ
65:デフォルトの名無しさん
08/01/27 17:32:13
>>53
2の勉強をして2to3コンバーターがまともに動くことを
Googleに向けて祈る
66:デフォルトの名無しさん
08/01/27 17:59:37
ありがとうみんな。
よくわからないのでとりあえず今日から始めてみます。
なんかこのままいくと3が出ても勉強を始めない自分がいそうなので。
67:デフォルトの名無しさん
08/01/27 19:02:57
本当は「Python3.0になっても通用するPython2.x入門」とかあればいいんだろうけどね
つまり3.0で無くなる予定のレガシーな要素を抜いての入門だけど
68:デフォルトの名無しさん
08/01/27 20:08:35
>>67
それってPython3.0の新機能も使わないってことだから
2.xの勉強としても3.0の勉強としても不十分ジャマイカ?
>>66
3.0を横目で眺めつつ(気が向いたらかじりつつ)2.xを勉強するのが良いと思われ。
3.0が出たあとも2.xは相当長い間使われるハズだから。
個人的な経験からいっても、2.0が出たあとずいぶん長いこと1.5.2を使っていたし。
69:デフォルトの名無しさん
08/01/27 21:30:15
62と63に感謝。面白い読み物。
py3kについて事前情報で改悪改悪言ってたユーザーのサイト見て、
ちょっと偏見入ってたんだけど62の方を読むと互換性以外の点では、
今のところ良い事尽くめなんじゃねえの?って感じ。
でもまあ、そろそろ罠が来そうで楽しみw
70:デフォルトの名無しさん
08/01/27 21:30:25
>>66
URLリンク(farm3.static.flickr.com)
URLリンク(farm3.static.flickr.com)
Python ライブラリリファレンス
URLリンク(www.python.jp)
PDF版(ローカルに保存して Foxit Reader でみるの推奨)
URLリンク(www.python.jp)
2.4のドキュメントだけど、とても参考になるのでお勧め。
というかまだ2.4が出てから1年半くらいしか経ってない?
71:デフォルトの名無しさん
08/01/27 21:58:04
>それってPython3.0の新機能も使わないってことだから
>2.xの勉強としても3.0の勉強としても不十分ジャマイカ?
なんでそうなる
72:デフォルトの名無しさん
08/01/27 22:56:08
>>71
2.xと3.0の共通部分しか勉強しないってことなんだろ?
73:デフォルトの名無しさん
08/01/28 19:01:45
最近のPythonスレレベルの低下がひどい
74:デフォルトの名無しさん
08/01/28 19:58:17
>>73
職業マがいないからだろ。
実際日本で使ってる所も多くない言語だし。
75:デフォルトの名無しさん
08/01/28 21:07:55
>職業マがいないからだろ。
ここは胴衣
>実際日本で使ってる所も多くない言語だし。
実際素人が増えてプロが減ってる
76:デフォルトの名無しさん
08/01/28 21:18:28
>>73 お前が積極的に参加しないからだよ!
77:デフォルトの名無しさん
08/01/28 21:26:24
URLリンク(anond.hatelabo.jp)
ちょっとおもしろかった。専門でコード書いてる人とかは
あまり重要でもないのかもしれん。ソースの可読性とか
どうでもいいけどIE7かFirefoxとかじゃないと
xml形式のページがヒットしても開くの免土井ぽ…
78:デフォルトの名無しさん
08/01/28 22:16:25
むしろマ板民が流入してるからな感が
79:デフォルトの名無しさん
08/01/28 22:24:51
昔からこんなもんだ
2chに期待するのはどうかと思う
80:デフォルトの名無しさん
08/01/29 01:04:41
非常に初歩的な問題ですみません
from BeautifulSoup import BeautifulSoup
from urllib2 import urlopen
page = urlopen("URLリンク(****)")
soup = BeautifulSoup(page)
for hoge in soup('*', "****"):
print unicode(hoge.string)
で返ってきたhogeをそのままテキストファイルで保存しようと思った場合
どのように以後に付け加えればいいでしょうか?
81:デフォルトの名無しさん
08/01/29 01:26:46
>>80
lxml使え
82:デフォルトの名無しさん
08/01/29 02:01:14
>>80
お前はバカかとアホかと
そこまで出来てるんならすぐだろ
BeautifulSoup使う前に基礎の基礎から考え直せ
for以前でファイルを書き込みで開いて
for以下にインデントしてhogeを書き込め
理由は考えろボケが
83:デフォルトの名無しさん
08/01/29 10:01:18
Python において「ハッシュ可能」って、「変更不可能」と同義?
84:デフォルトの名無しさん
08/01/29 10:56:02
PyDoc でドキュメント生成しようとしたら、モジュール hoge が見つかりませんといって
停止しやがる。
hogeはCの実行ファイル側で定義されてるからスクリプトは存在しないんだよ!!!
それぐらい空気読んでスキップしてくれよ!!
これはあれか、hoge.py ってダミーファイルを用意しないといけないのか。
85:デフォルトの名無しさん
08/01/29 11:15:24
__dell__
86:デフォルトの名無しさん
08/01/29 13:20:45
>>83
つ URLリンク(lowlife.jp)
87:デフォルトの名無しさん
08/01/29 16:53:40
㌧
88:デフォルトの名無しさん
08/01/29 21:12:30
デコレータについて俺に優しく教えてくれ。
CのポインタならぬPythonのデコレータ
89:デフォルトの名無しさん
08/01/29 21:23:03
おでこっていいよな。
90:デフォルトの名無しさん
08/01/29 22:05:59
単なる炉利だろ
91:デフォルトの名無しさん
08/01/29 22:33:08
英語が苦でなくて、仕様書とかを見るのが早いという人なら、
PEPを読んでしまうのがてっとりばやい気が。
URLリンク(www.python.org)
92:デフォルトの名無しさん
08/01/29 23:02:10
hashとdictって違うものですよね?
93:デフォルトの名無しさん
08/01/29 23:02:13
デコレータってあんまり使わないんだけどここにいる人たちはどんな使い方してる?
読み出し専用プロパティ作るの楽だなあとしか思ったことない
@property
def readonly(self): return
あとはロックとかのリソース管理?
94:デフォルトの名無しさん
08/01/30 01:20:59
>>88
用途その①
クラスメソッドとか、スタティックメソッドを作るのに必要
@staticmethod
def a(): ...
@classmethod
def b(cls, ...): ...
95:デフォルトの名無しさん
08/01/30 02:57:30
ロックの一種だけどクリティカルセクションに入れたい時とか?
96:デフォルトの名無しさん
08/01/30 07:51:38
3.0からはクラスにもデコレータが適用できるね
こっちはどんな使い道があるだろう
97:デフォルトの名無しさん
08/01/30 09:49:21
>>96
メタクラ(ry
98:デフォルトの名無しさん
08/01/30 14:16:58
>>91
Design Goals あたりがポイントぽいのでまとめてみた
Decorator の実装に関する議論をまとめた wiki
URLリンク(wiki.python.org)
Phillip Eby さんの解説記事
URLリンク(www.everes.net)
Jim Hugunin さんのレシピ集
URLリンク(mail.python.org)
a gazillion(何億兆) "toy parser" tools out there (from Emacs python-mode to Python's own pyclbr.py) would have to be changed too
URLリンク(groups.google.com)
99:デフォルトの名無しさん
08/01/30 17:36:16
setup.pyの中でversionを設定できますが、
この数値を普通はCVSとどうやって連携とるものなんでしょうか。
setup.pyのversionを手動で書き換えて、
同じ数字でCVSにタグをつけるもんですか?
だとすると、間違えたりする可能性がありそうで嫌だな、と。
setup.pyのversionとCVSのリリースタグの、
どっちかを変更すると、もう一方にも自動で反映されるようにしたいんですが、
どうしたらいいんでしょうか。
100:デフォルトの名無しさん
08/01/30 21:30:52
>>99
普通はファイルのリビジョンとパッケージのバージョンは別だと思うんだけど。
101:デフォルトの名無しさん
08/01/30 22:56:25
みなさんIDE何使ってますか?
素直にIDLE?
102:デフォルトの名無しさん
08/01/30 23:01:12
xyzzy
103:デフォルトの名無しさん
08/01/30 23:16:18
PyScripter
104:デフォルトの名無しさん
08/01/30 23:57:09
>>99
setup.pyはPythonスクリプトだから、CVSのリリースタグをsetup.pyに埋め込んで、それをpythonで処理すればいい。
といってもCVSはよく知らんのだけど例えば
__release__ = '$Release: 1.2.3 $' # こんなリリースタグが埋め込めたとして
m = re.search(r'[.¥d]+', __release__)
version = m.group(0)
というのはどうでしょうか。
105:デフォルトの名無しさん
08/01/30 23:59:24
Eclipse+PyDev
106:デフォルトの名無しさん
08/01/31 01:15:26
pyplってcheese shopと同じようなもの?
今のPHP云々の中で「Perlで言うCPAN相当な再利用可能ライブラリの集積所」、
みたいな文脈で名前が挙がったんだけど、日本語の情報が少なくて…。
107:デフォルトの名無しさん
08/01/31 01:26:07
昔 pypi 今 cheese shop
108:デフォルトの名無しさん
08/01/31 01:34:32
変数名を取得する方法ってありますか?
>>> foo = Bar()
>>> foo.get_var_name()
'foo'
>>> baz = Bar()
>>> baz.get_var_name()
'baz'
という動作を期待しています。
newやreprモジュールを調べたのですが、クラス名、モジュール名は取得できる
ものの変数名の取得がとんと考えつきません。
ご教示いただければ幸いです。
109:デフォルトの名無しさん
08/01/31 01:53:22
>>107
ありがとう、そゆことなんだ。
言及してた人がPython使いじゃないから、古い名前しか知らなかったのか。
106でPYPLと打ってしまってて、検索に失敗していたのは許して欲しい…。
110:デフォルトの名無しさん
08/01/31 03:08:43
>>108
無理
できるのは、locals() でローカル変数の一覧を、globals() でグローバル変数の一覧をとってくるぐらい。
そんなことを必要とするのはたぶん、「ほんとうにやりたいこと」に対する解決方法が間違ってると思うから、まず「ほんとうにやりたいこと」を書いてみるといいよ。
111:デフォルトの名無しさん
08/01/31 03:18:37
>>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 で「変数名を取得したい」と思ったら十中八九「設計ミス」だと思う。
112:デフォルトの名無しさん
08/01/31 03:20:14
うは、かぶったw
結婚してください。
ヾ(o゚ω゚o)ノ"プニプニ!
113:デフォルトの名無しさん
08/01/31 03:26:57
>111
複数の変数が同じオブジェクトを指してるときはうまく動作しないね。
まあ、>110,111の言うとおり設計見直した方がいいと思う。
114:デフォルトの名無しさん
08/01/31 03:57:58
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()
115:デフォルトの名無しさん
08/01/31 04:07:27
>>111
>>>foo = Bar()
>>>foo._name = 'foo'
>>>foo._name
'foo'
116:デフォルトの名無しさん
08/01/31 04:51:28
>>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 ワロタ。。のですが、つまり原理的にこうするしかないということですね。
117:デフォルトの名無しさん
08/01/31 06:57:19
呼び出し元のフレームから.f_code.co_codeと.f_lasti辺りから解析すれば変数名は取得できるんじゃないの?
式になると当然無理だけど
まあ変数名取得してどうすんのという気はする
118:デフォルトの名無しさん
08/01/31 07:01:39
変数名がどうして必要になるのかが毎度気になる
119:デフォルトの名無しさん
08/01/31 07:25:51
>>70
Foxit Reader 使ってみたら PDF サクサク動いて感動した。㌧
120:デフォルトの名無しさん
08/01/31 09:47:29
cheese shopを未だにpypiと言う人にPythonを語る資格はないと思う。
121:デフォルトの名無しさん
08/01/31 09:48:48
たとえば、obj._name で常に変数名が取れたとする。
しかし、これは、'obj' と常に等しい。したがって変数名を取る仕組みは不要。
122:デフォルトの名無しさん
08/01/31 10:55:42
>>> foo = Bar()
>>> foo._name = 'foo'
>>> foo._name
'foo'
>>> bar = foo
>>> bar._name
'foo'
>>> bar._name = 'bar'
>>> foo._name
'bar'
123:デフォルトの名無しさん
08/01/31 12:59:11
もし変数名が取得できたらデバッグとかテストとか楽になりそうだと思うけどな
124:デフォルトの名無しさん
08/01/31 13:01:02
URLリンク(d.hatena.ne.jp)
書いては見たけど使いどころ思いつかん
125:デフォルトの名無しさん
08/01/31 13:28:17
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。
そーいうのを知ったうえでそれでもやるなら、どうぞどうぞ、という感じ。
126:デフォルトの名無しさん
08/01/31 13:34:12
>>123
>>108みたいな方法が出来ないというのであって、デバッグとかテストのときに
変数名とその値の一覧を取得するのはlocals(), globals()でおk
127:デフォルトの名無しさん
08/01/31 13:35:00
>>> "ab" is "a"+"b"
True
>>> "abc" is "a"+"b"+"c"
True
>>> "a/c" is "a"+"/"+"c"
False
なんだコレ?、バグじゃね?w
128:デフォルトの名無しさん
08/01/31 13:40:59
>>> 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
129:デフォルトの名無しさん
08/01/31 13:41:02
is はポインタ比較。等値比較には == を使え
130:デフォルトの名無しさん
08/01/31 13:42:52
何が?
文字列や整数のようなオブジェクトがimmutableになっていて、VMが勝手に使いまわしてくれるのは大変ありがたいんだが。
再利用基準はVM依存だから、非明示的に作られた同値オブジェクトが同一だったり非同一だったりするのは当たり前。
131:デフォルトの名無しさん
08/01/31 13:54:41
>>125 の
> Pythonの変数はコンテナじゃなくてリファレンス
が真理だと思う。
クラスの中で self.get_var_name() とかして自分の名前を知りたいのかもしれないけど、
参照元が1つとは限らんし、その名前のコンテキストもわからんし、使いようがないような。
132:デフォルトの名無しさん
08/01/31 14:04:26
>再利用基準はVM依存だから、非明示的に作られた同値オブジェクトが同一だったり非同一だったりするのは当たり前。
immutable なのに再利用されないものがある理由が分からん
133:デフォルトの名無しさん
08/01/31 14:20:41
>>132
既にVM内に同値オブジェクトが存在するかどうか探す手間がオブジェクトの生成コストを超えるなら、再利用しない方がマシ。
134:デフォルトの名無しさん
08/01/31 20:26:55
>>91
>>98
ありがとう。ほんとうにありがとう。
こういう人たちがいるのでPython大好きだ
135:デフォルトの名無しさん
08/02/01 00:47:57
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)
みたいにしてる?
136:デフォルトの名無しさん
08/02/01 01:38:09
>>127は、識別子として有効な文字列ならinternされるって実装だから起こる現象。
137:デフォルトの名無しさん
08/02/01 05:00:40
>>120
URLリンク(pypi.python.org)
まずはここのサイトの管理人に文句を言ってくれないかwww
138:デフォルトの名無しさん
08/02/01 09:21:55
自分の間違いを他人のせいにする奴は生きている資格がないので今すぐ死ね。
139:デフォルトの名無しさん
08/02/01 10:15:36
setattr(self, "a", "b")
self.a = "b"
これ同じ?どっちが早い?
140:デフォルトの名無しさん
08/02/01 11:47:57
>>138
他人に'死ね'なんていうもんじゃないよ!!
137がPythonを使うのを止めれば済むことじゃないか!!!
141:デフォルトの名無しさん
08/02/01 17:03:02
ファイルとかパスを正規表現を使って探せる関数はありますか?
globはワイルドカードしか使えません><
142:デフォルトの名無しさん
08/02/01 17:41:03
>>141
re.match
143:デフォルトの名無しさん
08/02/01 19:48:33
re.match と os.listdir を組み合わせたのが欲しいんだろう
144:デフォルトの名無しさん
08/02/01 20:24:07
>>141
無理
MicrosoftがWinFSを載せたら出来たかもしれないが…
145:デフォルトの名無しさん
08/02/01 20:34:53
前スレでurllibでwikipediaのページを取ってこれないって言った人に対して
ライブラリのせいにすんな、死ねよって書いてた人だろ? >>138
146:デフォルトの名無しさん
08/02/01 20:52:04
145の頭の中にはオレとアイツの二人しかいないらしい。
これもゆとり教育の悪影響だろうか。
147:デフォルトの名無しさん
08/02/01 22:03:10
>>145
urllibでwikipediaのページを取れましたか?
148:デフォルトの名無しさん
08/02/01 22:18:39
pdbつかってるんですが変数に変化があったときブレイクしてくれるようなコマンドありますか?
gdbのwatchみたいなやつ
149:デフォルトの名無しさん
08/02/02 02:23:00
>>147
urllibのURLopenerでUserAgent指定すればいいんじゃね?
150:デフォルトの名無しさん
08/02/02 03:40:29
最近httplibそのまま使ったほうがいい気がして来た
151:デフォルトの名無しさん
08/02/02 03:57:28
urllib2
152:デフォルトの名無しさん
08/02/02 04:25:32
Python3.0だとurllibがurllib2相当になったりしないんだろうか
153:デフォルトの名無しさん
08/02/02 11:07:30
もっと便利で高機能なurllib3が追加される
154:148
08/02/02 12:47:12
yoyoyo ねーのかyo
155:デフォルトの名無しさん
08/02/02 13:29:02
ggrks
156:デフォルトの名無しさん
08/02/02 14:27:08
グーグル、土日休みだろ。
157:デフォルトの名無しさん
08/02/02 14:32:31
それ社員だけ
158:デフォルトの名無しさん
08/02/02 19:05:55
PythonでCGIプログラムを書いてるんですが、sessionを管理してくれるライブラリはありませんか。
159:デフォルトの名無しさん
08/02/02 19:34:03
PerlとRubyには存在するがPythonは自己でファイルを作って
管理していくしか現状ないみたい。
他はDjangoフレームワークつかうとか
160:デフォルトの名無しさん
08/02/02 21:06:57
>>158
そういう用途ならRubyが向いてるよ
161:デフォルトの名無しさん
08/02/02 21:31:43
その程度で躓くようなヤツはRubyを使った方がいいよ。
絶対。断じて。
Rails使って遅さにハマれば勉強になるよ。
162:デフォルトの名無しさん
08/02/02 22:00:36
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のロードはできています。何か考えられる原因はありますか?
163:デフォルトの名無しさん
08/02/02 22:09:11
exportしてるのか?
164:デフォルトの名無しさん
08/02/02 22:16:25
exportってVC++の方の話ですか?
165:デフォルトの名無しさん
08/02/02 22:21:04
dumpbin.exe /exports test.dll で確認してみたら
166:デフォルトの名無しさん
08/02/02 22:29:42
VC++でdll作るときはexportっての必要なんですね。
やってなかったので調べてみます。
167:デフォルトの名無しさん
08/02/02 23:59:26
定時実行をスクリプト内でなんとかしたかったら
どんなのが楽ですか?
168:デフォルトの名無しさん
08/02/03 00:04:24
>>159
うそーん。session管理くらい標準ライブラリで用意してほしいなあ。
>>160
>そういう用途ならRubyが向いてるよ
そういう用途ってどんな用途?PythonはCGIには向いてないってこと?
>>161
>その程度で躓くようなヤツはRubyを使った方がいいよ。
>絶対。断じて。
なんで逆切れしてんの?
その程度で逆切れするようなヤツは引きこもってた方がいいよ。
絶対。断じて。
169:デフォルトの名無しさん
08/02/03 00:04:55
>167
「なんとか」をもーすこし具体的に頼む
170:デフォルトの名無しさん
08/02/03 00:05:53
かんとか
171:デフォルトの名無しさん
08/02/03 00:13:39
>>168
>その程度で逆切れするようなヤツは引きこもってた方がいいよ。
だからこのスレに引きこもってるんだろw
ヒッキー相手にマジレスカコワルイ
172:デフォルトの名無しさん
08/02/03 00:15:12
おまら両方うるさいから、rubyスレでやれよ。
phpの件で荒れてるから、少しぐらい騒いでも大丈夫やろ。
173:デフォルトの名無しさん
08/02/03 00:41:48
>>167
定時実行って時刻指定?インターバル指定?
import time, threading
def proc():
while True:
time.sleep(1)
print 'aiueo'
threading.Thread(target=proc).start()
174:デフォルトの名無しさん
08/02/03 00:50:52
>173
わかってると思うけど、
それだとprint文の実行時間により結果が不定になるので、
time.sleepの直前で次にwakeup timeを計算したほうがよい気がする。
175:デフォルトの名無しさん
08/02/03 09:21:25
定時実行ってふつうは外部でcronを使うよね
176:デフォルトの名無しさん
08/02/03 10:18:26
Timerとか使えばよくね?
177:デフォルトの名無しさん
08/02/03 11:00:51
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
178:デフォルトの名無しさん
08/02/03 11:21:54
Cのuser構造体が計4+20+4=28バイトとかなのに
Pythonのu1は4+4+4=12バイト
なので16バイト足りないって怒られるということじゃない?
("name", c_char_p * 20) とかしたらどうだろう
179:デフォルトの名無しさん
08/02/03 11:24:00
ああ間違えた。c_char * 20 かな
180:デフォルトの名無しさん
08/02/03 13:45:18
>>168
161が本当にキレてるかどうかはわからないけど(俺は君の勘違いだと思う)、
逆ギレという言葉を選ぶということは、君は自分がキレてる自覚あるわけだよね。
要するに、君みたいにいきなりキレちゃう痛い人には、それなりに刺激のあるレスが返ってくるってことだよ。
あきらめな。
181:デフォルトの名無しさん
08/02/03 13:55:16
煽るなw
半年ROMってろで済むだろw
182:デフォルトの名無しさん
08/02/03 14:33:40
>>178
なるほど!ありがとう
183:デフォルトの名無しさん
08/02/03 15:23:28
そういうとこが面倒なのでpyrexでラッパーを作ってしまう俺
184:148
08/02/03 17:42:02
申し訳ございません
ぐぐってもみつかりません
教えていただけませんでしょうか
(´Д`;)、 コノトオリデス
ノノZ乙
185:デフォルトの名無しさん
08/02/03 17:44:12
ま、そんな時もあるさ
明日は違うさ
186:デフォルトの名無しさん
08/02/03 20:36:00
pdb.doc pdb.py bdb.py あたりを読んでみれば?
187:デフォルトの名無しさん
08/02/04 04:14:52
>>180
161本人乙
おまえの必死さは伝わった
188:デフォルトの名無しさん
08/02/04 08:51:32
必死な人ほど必死の一語で切り抜けようとするらしいよ。
189:デフォルトの名無しさん
08/02/04 09:36:37
オレ161だけど180とは別人だ。
オレとオマエの二人しかいない寂しい頭のキミに、
何を言っても無駄だろうけどね。
190:デフォルトの名無しさん
08/02/04 18:39:02
つーかいつまでも反応する奴みんなうぜぇ
191:デフォルトの名無しさん
08/02/05 00:09:15
>>161=180=188=189
1人4役乙
ひとりで4人分演じられる頭があれば、そりゃあ寂しくないだろうよ
192:デフォルトの名無しさん
08/02/05 00:19:38
>>191
自分で証明してどうする(www
>オレとオマエの二人しかいない寂しい頭のキミに
193:デフォルトの名無しさん
08/02/05 05:54:06
ここまで全部俺の自演
194:デフォルトの名無しさん
08/02/05 06:03:05
>>192
その反応が君一人で頑張ってたことの証明になってるよ。
195:デフォルトの名無しさん
08/02/05 09:39:32
>>194
>要するに、君みたいにいきなりキレちゃう痛い人には、それなりに刺激のあるレスが返ってくるってことだよ。
>オレとオマエの二人しかいない寂しい頭のキミに、
>何を言っても無駄だろうけどね。
196:デフォルトの名無しさん
08/02/05 10:12:19
自分の脳内でしか意味を為さない引用は勘弁。
こじつけ設定くらい考えてから切り返してね。
197:デフォルトの名無しさん
08/02/05 10:27:53
調子に乗って 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"]
クラスと辞書はどっちが早かったか覚えてないけど、ほとんど同じだった気がする
198:デフォルトの名無しさん
08/02/05 10:30:15
>>197
つpsyco
199:デフォルトの名無しさん
08/02/05 10:30:36
RGB = R << 16 | G << 8 | B
R, G, B = (RGB>>16)&255, (RGB>>8)&255, RGB&255
てのも考えたけど、各要素を取り出すのに必要な式なり関数なりを Python
で書いた時のコストを考えると、結局 RGB を独立して保持した方が早いという結論に。
200:デフォルトの名無しさん
08/02/05 10:51:09
ゲームといえば
URLリンク(wiki.python.org)
BF2/Civ4プレイヤーがうらやましい・・・
201:デフォルトの名無しさん
08/02/05 11:43:04
長い複数行にわたる文字列を定義したいと思って
str = """ hoge ""
見たくやりましたが
\v \bが含んでいると正しく出力されなくなります.
手作業で\\をつけてもいいですが,何かいい方法がありませんか?
202:デフォルトの名無しさん
08/02/05 11:51:02
「正しく」ってのはどういう状態を考えてるの?
203:デフォルトの名無しさん
08/02/05 11:55:20
>>201 raw文字列
>>> str=r"""hoge\nhoge"""
>>> print str
hoge\nhoge
204:デフォルトの名無しさん
08/02/05 12:04:49
UnicodeのRaw文字列はどう書くんだったかといつも迷う。
urなのかruなのか。
良い覚え方はないものだろうか。。。
205:デフォルトの名無しさん
08/02/05 19:24:39
unicode(r"hoge")
206:デフォルトの名無しさん
08/02/05 20:55:55
Unicode文字列に対してlenを呼んだときに返す値は何?
207:デフォルトの名無しさん
08/02/05 20:58:59
ユアストリングって覚えるといいよってGuidoかFredが言ってた
ごめん嘘いま俺が考えた
208:デフォルトの名無しさん
08/02/05 21:05:10
>>206
>>> len(u'日本語')
3
>>> len('日本語')
9
209:206
08/02/05 21:52:59
IPythonだけ変な値を返していました。
IPython以外で確認したら普通に文字数を返していました。
210:デフォルトの名無しさん
08/02/06 03:21:07
unicodeのraw文字列はロシアじゃない。とか。
211:デフォルトの名無しさん
08/02/06 11:06:21
いろいろとアイデアをありがとう。覚えられそうな気がしてきた。
212:デフォルトの名無しさん
08/02/06 14:24:36
>>> "bar" in "foobarbaz"
True
"foobarbaz".find("bar") != -1 とかやってた俺涙目
213:デフォルトの名無しさん
08/02/06 14:34:08
uro覚え
214:デフォルトの名無しさん
08/02/06 14:40:53
うru覚えは違うってことか
215:デフォルトの名無しさん
08/02/06 15:45:31
>>214
誰が上手いこと言えと
(ちょっと感動した)
216:デフォルトの名無しさん
08/02/06 16:06:08
>>214
urう覚えは違うの間違いだろ?
217:デフォルトの名無しさん
08/02/06 18:01:03
うりゃー
URyaaaa
218:デフォルトの名無しさん
08/02/06 18:05:17
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]]
のときはやりかたは変わりますか?
219:デフォルトの名無しさん
08/02/06 18:34:51
fuga = zip(*hoge)
220:デフォルトの名無しさん
08/02/06 18:56:14
>219
それ、FAQの殿堂に入れようぜ!
221:デフォルトの名無しさん
08/02/06 19:01:44
>>219
できました
ありがとうございました
222:デフォルトの名無しさん
08/02/06 20:21:02
zip()ってあんまり使わないよね
Python Challenge以外で使った記憶がない
223:デフォルトの名無しさん
08/02/06 21:59:22
a[len(a)] = xがダメなのに、a[len(a):] = xだとおkなのは、
そういうもんだと納得しなきゃいけないんでしょかね。
あと、a[len(a):] = [x] と a[len(a):] = x の書き間違いで、
いつかミスる悪寒を覚えた。
224:デフォルトの名無しさん
08/02/06 22:29:04
チュートリアル
スライス演算には便利な不変式があります: s[:i] + s[i:] は s に等しくなります。
>>> word[:2] + word[2:]
’HelpA’
>>> word[:3] + word[3:]
’HelpA’
スライス表記に行儀の悪いインデクス指定をしても、値はたしなみよく処理されます: インデクスが大き
すぎる場合は文字列のサイズと置き換えられます。スライスの下境界 (文字列の左端) よりも小さいインデ
クス値を上境界 (文字列の右端) に指定すると、空文字列が返されます。
>>> word[1:100]
’elpA’
>>> word[10:]
’’
>>> word[2:1]
’’
225:デフォルトの名無しさん
08/02/06 23:15:28
>>223
インタプリタで実行してみたら
当たり前だが前者がIndexError,
後者がTypeErrorになってしまうのだが
何がどうOKなんだ
226:デフォルトの名無しさん
08/02/06 23:29:08
おれはいま恐ろしく頭の悪い奴を見た。
それは233だ。
227:デフォルトの名無しさん
08/02/06 23:32:44
233に期待せざるえない
228:223
08/02/06 23:34:26
このスレッドには馬鹿しかいないことが判明したようだ
229:デフォルトの名無しさん
08/02/06 23:35:20
>>223
やりたいのはa.append(x)じゃないのか?
或いはa.extend(x)を期待してる?
230:デフォルトの名無しさん
08/02/07 01:06:04
>>225
x がリストなら TypeError にならない
実際上は、229の言うように、append extend を使えば、
紛らわしい問題は起こらない。
231:デフォルトの名無しさん
08/02/07 01:11:04
233はPythonにエスパー能力を求めているの?
232:デフォルトの名無しさん
08/02/07 01:13:14
232
次どうぞ。
233:デフォルトの名無しさん
08/02/07 01:53:42
233getttttt
234:デフォルトの名無しさん
08/02/07 02:14:49
エスパー認定されました。おめでとう233。
235:デフォルトの名無しさん
08/02/07 02:44:08
お前には失望した
236:デフォルトの名無しさん
08/02/07 03:04:44
a = 1
b = 9
print a + b
237:デフォルトの名無しさん
08/02/07 06:34:25
PythonなんかよりRubyつかうほうがいいと思うよ
>>223
238:デフォルトの名無しさん
08/02/07 10:14:55
>253
寂しい奴め。
世界の果てでのたれ死ねこの低賃金ITドカタ。
239:デフォルトの名無しさん
08/02/07 10:28:44
このスレはいつから未来人が跳梁跋扈するスレになったんだ?
240:デフォルトの名無しさん
08/02/07 11:22:47
特定のビューアーで番号ずれてるだけじゃね?
241:デフォルトの名無しさん
08/02/07 15:50:40
再読込み汁
242:デフォルトの名無しさん
08/02/07 16:13:51
>>240
そんなのあるの?
243:デフォルトの名無しさん
08/02/07 16:27:25
twitterのapiを利用したサービスを作りたいんだ
サクラの鯖で運営したいんだけど
python以外にどんな知識が必要なの?
jsとかhtmlとか、もしかしてlinuxの知識もいるの?
244:デフォルトの名無しさん
08/02/07 16:29:27
「あぼーん」が発生しても運が悪いと検出できない時があるからな。
245:デフォルトの名無しさん
08/02/07 17:32:07
>>243
どれもこれも浅くて良いから一通り知っておく必要がある
どこから手をつけたらいいのかわからないんだったら
urllibでAPIを呼び出して結果をElementTreeで解析とかからやってみては
このあたりはHTTPとXMLの知識がすこし必要
そこから先はCGI作成設置とかだからスレ違い
246:243
08/02/07 17:51:25
>>245
ありがとう
むっさがんばる
”このサイトについて”のありがとう欄に”>>245”って入れるよ。絶対。
247:デフォルトの名無しさん
08/02/07 18:24:16
跳梁跋扈って、何て読むの?
248:デフォルトの名無しさん
08/02/07 19:01:27
>>247
このスレのどこに悪人が?
249:デフォルトの名無しさん
08/02/07 19:11:02
>>247
いまの若いもんはおんぶに抱っこも知らんのか
250:デフォルトの名無しさん
08/02/07 20:29:35
>>242
昔ゾヌ使ってた頃ズレた事があったな。
設定で回避したりバージョンで違うのかも知れんけど
ビューア次第で番号がズレることはある。
251:デフォルトの名無しさん
08/02/07 21:10:41
>>252
一部レスが強制削除受けてるみたいだ
252:デフォルトの名無しさん
08/02/07 21:34:58
ネタにしてもつまらん
253:デフォルトの名無しさん
08/02/07 22:55:00
239はヤンキーだろ。
夜露死苦哀羅舞勇。
254:デフォルトの名無しさん
08/02/07 23:47:52
記憶力が無い奴はextendだけ覚えりゃいい。
x.append(n)っぽいことをしたきゃ、x.extend([n])で済ま
255:デフォルトの名無しさん
08/02/08 02:30:14
無洗米に対してのような鬱屈を感じる
256:デフォルトの名無しさん
08/02/08 02:46:19
appendしか使ったことないや
extendは効率無視すりゃ+でいいしなぁ
257:デフォルトの名無しさん
08/02/08 03:49:21
extendならイテレータ受け取れるからたまに使う
258:デフォルトの名無しさん
08/02/08 07:54:39
>>255
日本語でOK。
259:デフォルトの名無しさん
08/02/08 12:37:42
>>212
すげー
これが欲しかったんだ。
re.searchとかfindとか、Noneを返すけどNoneかどうかを調べようがなくて困ってた。
260:デフォルトの名無しさん
08/02/08 13:00:32
>>259
value = None
print value is None
261:デフォルトの名無しさん
08/02/08 13:01:48
すいませんpython2.4をpythonwinでやっているのですが,
コンパイル済みの自作モジュールを再編集した際に,
一旦アプリを閉じないと再コンパイルしてくれません.
なにか良い方法ありませんでしょうか?
262:デフォルトの名無しさん
08/02/08 13:03:40
バカばっか。
Rubyでもやるか。
263:デフォルトの名無しさん
08/02/08 13:03:57
>>260
ああ、printしたらNoneって表示されるのにプログラムで「Noneですか?」を判定する方法が分からないって意味。
Noneとも'None'とも比較できなくて困る。
264:デフォルトの名無しさん
08/02/08 13:07:42
>>262
Rubyやるやつのほうがよっぽど馬鹿だろ。
Rubyを選択する最大の理由が日本語しかできないからだし。
まあ僕も日本語しか出来なくて英語の膨大な資料が読めなくて困ってるんだが。
265:デフォルトの名無しさん
08/02/08 13:56:03
日本語もろくにできないくせに、他人のことを見下すなよ身の程知らずが(www
266:デフォルトの名無しさん
08/02/08 13:58:22
>>261
っ URLリンク(docs.python.org)
267:259
08/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が返された場合
268:デフォルトの名無しさん
08/02/08 14:02:08
>>261
インタラクティブモードでのことなら
>>> import foo
>>> reload(foo)
269:デフォルトの名無しさん
08/02/08 14:05:29
>>267
None との比較は >>260 が書いてあるように value is None でやるのが基本
if value: だと [], {}, "", 0 等も偽になるので
270:デフォルトの名無しさん
08/02/08 14:07:52
>>265
偉ければ、能力がありさえすれば他人を足蹴にしていいと思ってる馬鹿。
頭がいいと思い込んでる害虫は即刻殺すべき。
271:デフォルトの名無しさん
08/02/08 14:11:45
259の頭が悪すぎる件について
272:デフォルトの名無しさん
08/02/08 14:13:47
トヨタがさ、システムエンジニアが2万人欲しいんだって。
1万人でやってるけど足りないってさ。
それで、福岡は筑豊地区に会社作って集めるらしいんだけど、
福岡東芝に勤めてる俺の先輩は、「先輩よりテストの点がいいやつは処刑だ」って、集団リンチしまくりですよ。
そんな人間がのさばってる町にシステムエンジニアを1万人も集めるってのは、
エンジニアを炭鉱の鉱山に埋め殺すのと同じ行為だって分かってるのかと。
まあ、トヨタは、エコな企業だから、古きよき江戸時代のカラクリを復活させて省エネを図ってるって言ってるけど、
当初のトヨタの計画では燃料電池を内蔵したロボットを使ってエコを実現するって言ってたもんな。
会社のトップが馬鹿だからどうしようもない。
273:デフォルトの名無しさん
08/02/08 14:14:00
>>270
偉ければ、能力がありさえすれば他人を足蹴にしていいと思ってる低脳。
274:デフォルトの名無しさん
08/02/08 14:18:38
>>273
偉ければというのは除外
能力がありさえすれば、他人を殺さなければならないと思ってる天災ですが何か。
馬鹿がのさばるわが宮若市は・・・
宮若とかいう名前をつけるのがわが町のトップ。
それも、全町民から公募してこれが最高の命名であったという事実。
驚け。
275:デフォルトの名無しさん
08/02/08 14:20:18
>>274
日本語でおk.
276:デフォルトの名無しさん
08/02/08 14:23:43
田舎のキチガイは始末が悪いという好例。
277:デフォルトの名無しさん
08/02/08 14:37:30
>274
よくわからんが274は応募してるのか?してないのか?
278:デフォルトの名無しさん
08/02/08 14:48:41
>>277
もちろん中田市に一票。
279:デフォルトの名無しさん
08/02/08 15:18:10
完成
URLリンク(scripts.web.fc2.com)
280:デフォルトの名無しさん
08/02/08 15:27:48
for~else:って便利なんだけど長くなればなるだけインデントが深くなるのが欠点。
ループ中のbreakを外で拾ってくれるのがあれば2重ループをすんなり抜けれるのにって思う。
オブジェクトが単数~複数で返されちゃうからif~elseの代わりに使えるfor~elseがあるんだろうな。
・・・
いやいやbreakしない限りelseは実行されちゃうから・・・
めりっとあんのかと。
281:デフォルトの名無しさん
08/02/08 16:35:21
>>258
ナンセンスと文法破綻の区別がついていない例
282:デフォルトの名無しさん
08/02/08 16:53:46
あれがまともな日本語に見えるわけね。
まぁ英語圏ほどじゃないけど、日本語だって色んな国籍の人が書くから、こういう人もいるか。
283:デフォルトの名無しさん
08/02/08 16:56:52
おまいら仲良くしろよ
284:デフォルトの名無しさん
08/02/08 17:19:45
>>282
日本語しかしゃべれないチョーセン人の存在を忘れるな。
まあ忘れてもいいけど殺されるぞ。
elseで分岐できるからフラグセットして逆転させることも出来るけど
制御構造にフラグを使うのは間違いの元だからやっぱりfor~elseで書くべきなんじゃないかと思うけど
実際Pythonで書いてる人はどーやってんのか。
逆転させるくらいならbreak時のフラグでそのままbreakするべきだろうな。
こういう書き方するとelseが文法違反だし。
スレリンク(tech板:97番)
for i in range(10):
if data[i]==3:
break
pass
else:
285:デフォルトの名無しさん
08/02/08 17:33:08
>>284
> 日本語しかしゃべれないチョーセン人の存在を忘れるな。
色んな国籍が揃えば日本語に不自由な奴が居るのも当然≠日本国籍を持ってない人は日本語が不自由
286:デフォルトの名無しさん
08/02/08 17:52:57
>>285
日本語しかしゃべれないチョーセン人≠「甲子園」としかしゃべれない障害者
日本語しかしゃべれないチョーセン人≒漢字に弱みはあっても日常的に問題ない、ゆとりレベルで言えば日本語に堪能と言える。
日本語しかしゃべれないチョーセン人←対照的→日本国籍を持ってない人は日本語が不自由
ここまで解説してもまだ分からない?
ちなみに>>284を投稿する直前に、踏み切りで待ってる人がナイフで殺されて血まみれなのが中継されてた。
僕も同じ状況で襲われたけど、逃げ場がないんだよね。
耳が割れそうなほどうるさくて、人の接近にも気が付かないし。
287:デフォルトの名無しさん
08/02/08 17:55:31
pythonで
a = [[1,2],[3,4],[5,6]]
を定義して
b = [2,4,6]
を取り出したいのですが,
b = a[:][1]
とすると
b = [3,4]
となってしまいます.
どのようにすればよろしいでしょうか?
288:デフォルトの名無しさん
08/02/08 17:58:40
b = [x[1] for x in a]
289:デフォルトの名無しさん
08/02/08 18:04:47
> b = a[:][1]
これがピュアすぎる…
290:デフォルトの名無しさん
08/02/08 18:08:54
zip(*a)[1]
291:デフォルトの名無しさん
08/02/08 18:09:41
ありがとうございました.
目からうろこです.
292:デフォルトの名無しさん
08/02/08 18:59:52
[y for x, y in a]
ていうのもある
293:デフォルトの名無しさん
08/02/08 19:05:52
>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()
294:デフォルトの名無しさん
08/02/08 19:08:57
for i in xrange(10):
for j in xrange(10):
if i == j == 5:
break
else:
continue
break
print i, j
295:デフォルトの名無しさん
08/02/08 19:23:55
>>> import operator
>>> map(operator.itemgetter(1), [[1,2],[3,4],[5,6]])
[2, 4, 6]
296:デフォルトの名無しさん
08/02/08 20:06:28
主部省略だけで文が読めなくなる低能はどこですか
297:デフォルトの名無しさん
08/02/08 20:32:25
2.6~2.9って生まれることも許されないのが確定っスか?
298:デフォルトの名無しさん
08/02/08 21:02:37
>>286
> ここまで解説してもまだ分からない?
うん、まったくわからない。説明してくれる?
とりあえず、こちらが実際に「ちっとも忘れていない」ことを「忘れるな」と言われても、
ああ、どっかで誤読してるんだなこの人、としか思わないわけで。
299:デフォルトの名無しさん
08/02/08 21:14:28
>>286
キチガイ、ゲラゲラゲラ(www
300:デフォルトの名無しさん
08/02/08 22:06:25
耳が悪いと頭も性格も悪くなるのか。
気を付けないと。
301:デフォルトの名無しさん
08/02/08 22:12:20
>297
2.6はリリースされることは決まっているが
302:デフォルトの名無しさん
08/02/08 22:13:34
>>297
2.7くらいまでは出るんじゃね?
303:デフォルトの名無しさん
08/02/08 23:26:25
>>297
2.6 といっしょに 3.0 が出て
2.7 といっしょに 3.1 が出て
2.8 といっしょに 3.2 が出て
2.9 といっしょに 3.3 が出て
くらいまでは 2.x 系列が使われ続けるだろうからむしろ 2.9 までで足りるのかを心配した方がいいよ
304:デフォルトの名無しさん
08/02/08 23:29:43
小数点以下が16進で
2.10
2.11
2.12
2.13
2.14
2.15
までいくだろ
305:デフォルトの名無しさん
08/02/08 23:39:12
2.9は出ない、に10000グーグル
306:297
08/02/08 23:40:16
なるほどFirefoxみたいな感じに並行メンテされるのね。
つか、2.9じゃ桁足りない説ワロタ。むしろ近いのはIPv4/6か。
307:272
08/02/09 04:09:57
そうか。
トヨタが筑豊に技術者を集めるのは、技術を奪い取って剥ぎ取って追い出すためか。
トヨタは泥棒が得意だからな。
それはそうと、松並議員が相撲部屋に説教たれてたのは何のギャグだろ。
あいつ痴漢した相手が逆らったからって殴り倒して地下鉄でひき殺させようとした殺人未遂犯のくせして。
写真うpしちゃうぞコラ。
308:デフォルトの名無しさん
08/02/09 08:34:40
>>293
見易さのためだけに関数化するのは馬鹿のすること。
スレリンク(tech板:549番)
309:デフォルトの名無しさん
08/02/09 08:38:40
>>308
へ?みやすくなるならいいじゃん。
ネストした関数の何が問題なのさ?
310:デフォルトの名無しさん
08/02/09 08:54:31
>>309
ループを基準に関数化とか・・・
gosubみたいな引数を伴わない関数でもあるんならいいけどね。
短くするための関数化なら、普通にエディタで折りたためば良いと思うよ。
それほど大規模なやつでなくてもいまどきのは折りたためるの結構あるし。
311:デフォルトの名無しさん
08/02/09 08:58:59
>>310
引数無しのネスト関数で何の問題があるの?
ループ内のまとまった処理を関数としてまとめることに
問題があるとは思えないんだけど。
なんかフラットな構造の関数に慣れてるだけじゃないの?
312:デフォルトの名無しさん
08/02/09 12:30:58
呼ぶ回数にもよるが、インライン展開とか無いなら、
関数呼び出しのコストが無駄になるかもね
313:デフォルトの名無しさん
08/02/09 12:32:45
関数の中身がよほどスカスカでないかぎり、
関数呼び出しがボトルネックになることは
まずないと思うがなあ。
314:デフォルトの名無しさん
08/02/09 13:06:47
>>308
関数化した方が処理が抽象化されて再利用性が高まる。
テストもしやすくなるしね。
パフォーマンスのことを気にするのは,その後でしょ。
315:デフォルトの名無しさん
08/02/09 13:29:31
>なんかフラットな構造の関数に慣れてるだけじゃないの?
Pythonによく似ていて関数内関数のない言語。それはRu(ry
316:デフォルトの名無しさん
08/02/09 14:41:35
えっ,Rubyって関数ローカルな関数作れないの?
317:デフォルトの名無しさん
08/02/09 14:59:12
関数内部に関数を定義することはできるが、関数外部に定義したのと同じ効果
しかないので無意味。
318:デフォルトの名無しさん
08/02/09 15:47:47
マジか?名前かぶったらどうなるんだ?
319:デフォルトの名無しさん
08/02/09 16:16:54
上書きされる(つД`)
def boo
p "boo"
end
def foo
def boo
p "boo2"
end
boo
end
foo # boo2
boo # boo2
320:デフォルトの名無しさん
08/02/09 16:21:56
>>318
「あと」に実行されたメソッド定義で上書きされる
というか、def methodname という書式は所属するクラスにメソッドを定義する効果しかない
勝手に「関数内関数だぜー」とか勘違いして使っておいて文句ゆーな
いわゆる関数内スコープの関数が欲しければ「一連の手続き」をオブジェクトとして持ち歩けるProc使え
321:デフォルトの名無しさん
08/02/09 16:26:55
>勝手に「関数内関数だぜー」とか勘違いして使っておいて文句ゆーな
じゃ、なんで関数内に関数を書けるように変更されたんでつか?
322:デフォルトの名無しさん
08/02/09 16:28:21
>>320
それ、勘違いというより、コンパイラで弾くべきエラーなんじゃ…
323:デフォルトの名無しさん
08/02/09 16:28:46
設計ミスちゃうんかと
324:デフォルトの名無しさん
08/02/09 16:32:49
That's Matz quality!
325:デフォルトの名無しさん
08/02/09 16:36:18
>>321
それが「俺ってすごい感」
326:デフォルトの名無しさん
08/02/09 16:47:34
>>321-322
動的にメソッドを追加できるというメリット…まあ、注意深く使えばメリットになるものがなくもない
「Hoge#levelupを実行するとHogeクラスに10個くらいメソッドが追加される」とかそういうやつ
「メソッド定義(Rubyには関数はない)はどこにでも書ける」という単純な事象の単純な結果に過ぎない
だからProc使えよ
def foo
helloworld = Proc.new{ puts 'Hello, World!'}
helloworld.call
end
helloworld ←エラー
foo ← Hello, World!
327:デフォルトの名無しさん
08/02/09 16:50:33
説教泥棒という言葉を思い浮かべてしまった。
328:デフォルトの名無しさん
08/02/09 16:55:17
>>326
まとめると、まっつんの設計ミスということでOK?
329:デフォルトの名無しさん
08/02/09 16:57:21
Rubyって,よく考えずに追加した浅はかな仕様で自爆してること多くね?
330:デフォルトの名無しさん
08/02/09 16:59:28
まあそろそろRuby関連スレでやってくれ
331:デフォルトの名無しさん
08/02/09 17:02:16
>>328
> この定義のある場所にメソッドを定義します。
> すなわち、クラス/モジュール定義中ならばそのクラス/モジュールのメソッドを定義します。
> トップレベルならばどこからでも呼べるメソッドを定義します。
という def の説明があるんで、def の中に def を書いたらどうなるかは…
やっぱ、そのクラスにメソッドが定義される以上の動作はし得ないと思うぞ
メソッドにメソッドを定義することはできない
既存言語を経験した人が def をネストしてハマるのはまあ通過儀礼のような気もせんでもないが
それで Proc とかそのへんを使い始めてくれればそれで問題ないかと
332:デフォルトの名無しさん
08/02/09 17:04:06
まあ、いずれにしても使わないんですけどね、Rubyなんて。
333:デフォルトの名無しさん
08/02/09 17:07:35
まあPythonスレだしな
334:デフォルトの名無しさん
08/02/09 17:09:15
少なくとも言語設計としては大失点だな。
335:デフォルトの名無しさん
08/02/09 17:14:03
スレタイを読めない奴は黙れ
336:デフォルトの名無しさん
08/02/09 17:16:20
あれほど酷くは無い。なんつったっけ、P(ry
337:デフォルトの名無しさん
08/02/09 17:20:55
>>336
まあ目くそ鼻くそだけどな。
くそ同士だから、お互い気になって仕方がないんだろ。
338:デフォルトの名無しさん
08/02/09 17:23:38
なぜruby厨がそこら中のスレで鼻摘まみ者になっているか、よくわかった。
339:デフォルトの名無しさん
08/02/09 17:25:52
とりあえず、NGワード Proc を設定 www
340:デフォルトの名無しさん
08/02/09 17:27:51
Procってあれだろ、カッコなしでメソッド呼び出しできる仕様を追加してしまったがために、
呼び出し可能オブジェクトを代入できなくなって、苦し紛れに作った仕様なんだよな。
341:デフォルトの名無しさん
08/02/09 17:37:24
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
342:デフォルトの名無しさん
08/02/09 17:47:37
だからRubyの話はRubyスレでやれヴォケ
343:デフォルトの名無しさん
08/02/09 17:50:25
Matzは多言語の悪口を言う前に
スタックの使い方について勉強した方がいいな(www
344:デフォルトの名無しさん
08/02/09 18:00:44
>>341
ものすごいfoolなfooですね。
Rubyってやっぱクソだ
>>340
Ruby作者の頭イカレすぎ
子供の作文に見せかけたなでしこで書かれた破壊プログラムにも全部消されたしクソ杉。
345:デフォルトの名無しさん
08/02/09 18:01:24
スレリンク(tech板:484番)
レスはこっちに書いたから
346:デフォルトの名無しさん
08/02/09 18:07:01
なんにしてもRubyみたいな糞言語は使わないんだけどね。
347:デフォルトの名無しさん
08/02/09 18:26:02
細かい言語仕様ひとつで糞言語って大げさ。
ってかアンチrubyスレいけ。いい加減しつこい。
348:デフォルトの名無しさん
08/02/09 18:40:26
細かい言語仕様て、決まってないと安心して使えないアル。では安心して
使える言語Pythonの話題をどうぞ.
349:デフォルトの名無しさん
08/02/09 18:45:07
>1.8.6では、Proc.new≠proc=lambda
>1.9では、Proc.new=proc≠lambda
なんか勝手に変えられることもあるらしい(wwww
なにこの糞言語(wwwwwww
350:デフォルトの名無しさん
08/02/09 18:51:12
報告はいいから
Ruby話の続きは>>345でまとめようぜ
興味あるPython使いは勝手に覗きに来る事だろうて
351:デフォルトの名無しさん
08/02/09 19:59:17
Rubyの作者がアレだからな
352:デフォルトの名無しさん
08/02/09 20:13:56
>>347
returnでどのコンテキストから脱出するかは、全然細かい話じゃないだろ。
言語仕様の根幹に関わる問題だぞw
353:デフォルトの名無しさん
08/02/09 20:27:27
>>> 352
いずれにしろスレ違い
アンチrubyの粘着キモ杉
354:デフォルトの名無しさん
08/02/09 20:47:23
Pythonスレならではのアンカーに感動
355:デフォルトの名無しさん
08/02/09 20:50:34
凄いな。
352 というリテラルに、2行のテキストがbindされていたなんて。
356:デフォルトの名無しさん
08/02/09 21:36:31
あっ
間違えちゃったよ
357:デフォルトの名無しさん
08/02/09 22:02:35
MLにも変なのが湧いてきたな。
setをもらってそれら全てにマッチする正規表現を生成って、
return '.*'
でいいじゃんw
358:デフォルトの名無しさん
08/02/09 22:07:25
PythonとRubyはPerlerを受け入れる宿命だからな・・・
359:デフォルトの名無しさん
08/02/09 22:11:04
MLに投稿してるのは、Python本の訳者だな。
何が言いたいのかよくわからんが
ああやっちゃうなら正規表現文字列をわざわざ生成しなくてもいいような気がするけどな
文字列の範囲も指定しなくちゃだろう。
こっからここまでは正規表現としてはパースしないでね、と
360:デフォルトの名無しさん
08/02/09 22:12:53
PerlのRegexp::Assembleを使えばよい
車輪の再開発がしたいならどうぞどうぞ
361:デフォルトの名無しさん
08/02/09 22:18:17
クラ鯖の業務アプリでPythonかTcl/Tkをクライアントで使おうかと
検討中なのです。そこで質問なのですが、そのようなことをしてる
人はいるのでしょうか。また帳票の出力はどうやってますか?
362:デフォルトの名無しさん
08/02/09 22:26:53
>>357
ククブクとチュトリアルの翻訳者にそんな失礼なことを言ってはいけません!
363:デフォルトの名無しさん
08/02/09 22:30:28
>>361
Python向きの仕事じゃないと思う
COBOLでも使えばいいんじゃない
364:デフォルトの名無しさん
08/02/09 22:32:29
>>363
COBOLでクライアントを書けというのか。無知を晒すのも大概にせいよ。
365:デフォルトの名無しさん
08/02/09 23:01:53
>>361
VBでも使っとけ。
決してIronPythonなど使うのではないぞ。
366:デフォルトの名無しさん
08/02/09 23:48:58
>>357
MLの人,考え方が古くね?
367:デフォルトの名無しさん
08/02/10 00:31:14
>>361
Canvasにでも書いてPostScript形式で出力するのか。
Tkって日本語通るのか?
368:デフォルトの名無しさん
08/02/10 00:49:50
>>367
Tkは全部うに子なのでおk
369:デフォルトの名無しさん
08/02/10 01:04:08
>>368
そうなんだ。
Unicode対応とうたっていても
PostScriptに変換する過程でこけるソフトウェアが世の中には多くて困る。
370:デフォルトの名無しさん
08/02/10 03:35:06
>>367
画面上は無問題だけど PostScript 出力では日本語は NG だと思われ。
手元で試した限りではダメだった。
参考:URLリンク(mail.python.org)
371:デフォルトの名無しさん
08/02/10 03:35:28
URLリンク(kirei.xsrv.jp)
372:デフォルトの名無しさん
08/02/10 03:56:45
グーグル検索
北朝鮮送金ルート
亀田右翼の正体在日
373:デフォルトの名無しさん
08/02/10 04:02:17
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")))
374:デフォルトの名無しさん
08/02/10 14:59:01
質問です
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') が投げられるかは分からないのです
375:デフォルトの名無しさん
08/02/10 15:04:28
どっちも拾えるようだが
376:デフォルトの名無しさん
08/02/10 16:06:24
すみません
print e.args
としてました
ここに載っけるときに簡略化した再現ソースにするつもりで間違いました
377:デフォルトの名無しさん
08/02/10 16:24:29
Vyper ってもう死んだの?
378:デフォルトの名無しさん
08/02/10 16:49:10
DictA.extend(DictB) みたいにするには
どうしたら良いですか?リスト拡張するみたいに
辞書も拡張したいです
379:デフォルトの名無しさん
08/02/10 16:50:49
DictA.update(DictB)
380:デフォルトの名無しさん
08/02/10 17:00:02
DictA<ひぎぃ
381:デフォルトの名無しさん
08/02/10 17:00:36
>>379
すみません。扱うデータが重複が許されないデータなので
辞書を更新して書き換えられません。条件後だしスマソ orz
382:デフォルトの名無しさん
08/02/10 17:04:38
for k,v in [DictA, DictB]:
DictC[k] = v
これだとキーが衝突してしまう罠…
383:デフォルトの名無しさん
08/02/10 17:07:14
>>382
> for k,v in [DictA, DictB]:
DictC.setdefault(k, v)
384:デフォルトの名無しさん
08/02/10 17:15:55
>>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
385:デフォルトの名無しさん
08/02/10 17:16:07
DictA.update((k, v, ) for k, v in DictB.items() if k not in DictA)
386:デフォルトの名無しさん
08/02/10 17:28:00
>>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:デフォルトの名無しさん
08/02/10 17:35:12
pythonで大儲けしたいんですが、金になるWEBサービスって何かないですか?
アドセンス貼ってアフィリ成金になりたいです。
388:デフォルトの名無しさん
08/02/10 17:35:30
URLリンク(www.asp-edita.jp)
C++のmapは、pythonの辞書に近い…
なんでキーの重複が許されないかなPython… orz
389:デフォルトの名無しさん
08/02/10 17:40:41
>>dictの人
何を望んでいるのか書かないと誰もわからないぞ
390:デフォルトの名無しさん
08/02/10 17:43:03
やりたいことが良く分かんないけど、値をリストにしちゃ駄目なの?
>>> 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']}
391:デフォルトの名無しさん
08/02/10 18:03:59
>>389
ですよね…フォルダ内の画像ファイルにタイトルを付けて
分類するみたいなかんじで,
{写真A:犬吠崎(晴れ), 写真B:犬吠崎(曇り), 写真C:犬吠崎(嵐)}
{写真A:門出, 写真B:憂鬱, 写真C:危機}
キーが変わらないけど、それに付随する情報を、国語辞書の
{ことばA : 定義1}
{テレビでやってて知った新しい定義、友達が言ってった怪しげな定義}
じぶんだけの辞書を、あとから手書きで書き加えてゆくかんじで、
つくるのに、DictA.extend(DictB)という記法でできたら、キー重複が
許されたら嬉しいみたいなかんじです。紙の辞書のアナロジーで扱え
たいというか…うーん日本語難しい orz
392:デフォルトの名無しさん
08/02/10 18:18:31
>>390
リストに入れ子にするほうがPythonっぽいのですけれども
DBから取り出すとき、Viewに表示するとき、
for dt map( filter ("写真A") MyDict ): <= この辺きっとすごく間違ってる orz
print MyDict[dt] = dd
こんなかんじでやりたいです。
393:デフォルトの名無しさん
08/02/10 18:19:57
for k, v in DictA.items():
DictB[k] = DictB.get(k, ()) + (v, )
394:デフォルトの名無しさん
08/02/10 18:21:20
>392
意味がわかりません >_<
395:デフォルトの名無しさん
08/02/10 18:21:44
sqlite使えクソが
396:デフォルトの名無しさん
08/02/10 18:22:00
for dt map( filter ("写真A") MyDict ):
print dt, MyDict[dt]
間違えました orz
397:デフォルトの名無しさん
08/02/10 18:24:36
タグ付けみたいなもんならDBでやったほうがよくないか
398:デフォルトの名無しさん
08/02/10 18:28:22
>>395
sqlite はキーが重複してても上書きされないんですね…
やっぱりそっちに逃げたほうが無難っぽいですね。
いま手元の本読んでみたらタプルを使って、操作してから
辞書に入れる、タプルが辞書のキーとして使えるので
『変化しないデータをキーに入れる』用途で使えると書いて
ありました! でもサンプルコードが載ってませんでした…orz
399:デフォルトの名無しさん
08/02/10 18:30:19
タプルをキーとして使えば簡易「型チェック」が行える…???
400:デフォルトの名無しさん
08/02/10 18:31:13
タグならset型を1つ持たせればいい
401:デフォルトの名無しさん
08/02/10 18:35:06
>sqlite はキーが重複してても上書きされないんですね…
>やっぱりそっちに逃げたほうが無難っぽいですね。
DQN認定しました
おめでとうございます
402:デフォルトの名無しさん
08/02/10 18:38:30
>>398
> sqlite はキーが重複してても上書きされないんですね…
なら単にPythonで二元配列使えばいい話なのでは?
403:デフォルトの名無しさん
08/02/10 18:39:24
>>388
配列の添字に重複がないのと同様、
辞書のキーに重複がないのは当然だろ。
404:デフォルトの名無しさん
08/02/10 18:41:49
>>391
キーに対応する値のほうをリストにすりゃいいんじゃねーの?
405:デフォルトの名無しさん
08/02/10 18:42:28
>>398
なんでPython選んだの?
406:デフォルトの名無しさん
08/02/10 18:52:13
>>398
いきなり結論(コード)に飛びつかず、
まずは落ちついて自分の操作したいデータの具体例を整理しろ。
Pythonでのデータ型や操作の方法を考えるのはその後だ。
407:399
08/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
08/02/10 19:02:03
あかんがな…
やっぱり辞書は重複したキーを持つことができない
データベース使わないと駄目か…orz
409:デフォルトの名無しさん
08/02/10 19:07:15
blogでやれ
410:399
08/02/10 19:08:53
だがことわる...orz
411:デフォルトの名無しさん
08/02/10 19:10:29
やりたいことをはっきり書くか、さもなければよそに行けこの荒らし野郎
412:デフォルトの名無しさん
08/02/10 19:12:53
>>408
> データベース使わないと駄目か…orz
そんなことはない。
でもな、その調子でDB使ってもまたドンヅマリになるだけだぞ。
413:399
08/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'}
データ構造としてキーを重複させたいときは
タプルの複合体みたいのをつかうべきと…
414:デフォルトの名無しさん
08/02/10 19:25:37
>>410
嘘だッ!!
>>411
日本語が不自由ですみません
もうちょっと整理してから書き冪 orz
>>412
どんづまりーごーるど
みずたまりーごーるど(謎)
お騒がせして申し訳ありませんでした。何とかなりそうな
木がしてきます他。お付き合い頂きありがとうございます!!
というか本嫁じぶん orz
㌧
415:デフォルトの名無しさん
08/02/10 19:27:20
>>413
タプルのリストで何か困ることがあるか?
416:414
08/02/10 19:43:45
>>415
ないと思います。辞書ということばに惹きづられて
和訳 <=> 英訳 のイメージ
↓
それは文字列置換なのだから、辞書を使えばいいんだな
↓
うまくいかない
となってたようでした。素のタプルをこういう風に扱えるという
発想に及びませんでした。修練が足りない orz
417:デフォルトの名無しさん
08/02/10 20:22:38
キー:文字列
値:リスト
コレで解決だよなどう見ても
418:デフォルトの名無しさん
08/02/10 20:47:18
キーに対応する値が複数あって、どちらを取り出せば良いか
Pythonが都合良くエスパーしてくれると思っているのか?
日本語とかPythonの前に自分の考えを整理すべきだ
419:デフォルトの名無しさん
08/02/10 20:52:42
ねぇ、相手するからココでやるって気が付かないの?
420:デフォルトの名無しさん
08/02/10 21:01:27
>>418
解答を示せないのに適当なレスつけてんじゃねーよ
421:デフォルトの名無しさん
08/02/10 21:03:47
>>420 便乗煽りウザ
422:デフォルトの名無しさん
08/02/10 21:58:04
「解答を示せない」奴のレスは「不適当」になるのが普通では? :-)
423:デフォルトの名無しさん
08/02/10 22:03:44
今度はこちらのPythonスレに
変なのが寄り付いたな
424:デフォルトの名無しさん
08/02/10 23:11:37
Pythonは変態のみがいじくる変態言語だからな
425:デフォルトの名無しさん
08/02/11 01:26:10
lxmlの2.0がリリースされたけどWindowsバイナリはない?
mingwでコンパイルしたけどなぜかimportがうまくいかない。
426:デフォルトの名無しさん
08/02/11 01:30:02
おまいらPython温泉行くのか?
URLリンク(www.python.jp)
427:デフォルトの名無しさん
08/02/11 01:31:05
>>426
延期になったんじゃないのか?
428:デフォルトの名無しさん
08/02/11 01:44:13
>>426
それURL違うし。本家の合宿だよ。
>>427
関係者釣られてるなよ(wwwww
429:デフォルトの名無しさん
08/02/11 03:22:04
ユーザ会の合宿が本家なら、なんとか温泉は何?
パクリ? バッタモノ? 劣化コピー?
430:デフォルトの名無しさん
08/02/11 07:21:30
流れを読まずに低レベルな質問
このスレに、インデント(TAB or 連続スペース)を書き込むのってどうしてますか?
431:デフォルトの名無しさん
08/02/11 07:25:37
>>426
行こうか迷っているんだけど、
どうも最低限Djangoフレームワーク使いこなすとか
初心者であってもリファレンスの中身を頭にすべてとどめておくとか
参加者に対してよくわからん性能要求をしてるんだよね。
何がしたいのかいまいちわからなくて迷ってる。OSCどまりにしておこうかな。
432:デフォルトの名無しさん
08/02/11 07:45:44
>>430
ちなみにコレ自体は
&nbsp; こうかく
433:デフォルトの名無しさん
08/02/11 07:52:30
>>430
半角で&nbsp;と書くとスペース1つとして表示される
これは連続で
&nbsp;&nbsp;&nbsp;&nbsp;
と書いても個数分のスペースで表示される
434:デフォルトの名無しさん
08/02/11 08:38:38
一方ロシアは全角スペースを使った。
435:デフォルトの名無しさん
08/02/11 08:40:04
スクショ撮ってそれをあぷろだにあげて
ここで掲示すりゃいいじゃないですか
436:デフォルトの名無しさん
08/02/11 08:43:03
さくっとコピペして実行できないと
437:デフォルトの名無しさん
08/02/11 08:57:31
プログラムは書いて覚えるものなんよ!
438:デフォルトの名無しさん
08/02/11 09:11:02
#!/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()
439:デフォルトの名無しさん
08/02/11 09:13:34
>>438
def main(): と
if __name__ == '__main__':と
main()は無くていいね。
440:デフォルトの名無しさん
08/02/11 09:39:38
import sys
[sys.stdout.write(
x.expandtabs(
).replace('&', '&'
).replace(' '*2, ' '
).replace(' '*2, ' '
)) for x in sys.stdin]
replace(' '*2, ' ' は2回しないと偶数個の空白連なりの時に1つ減るよ
441:デフォルトの名無しさん
08/02/11 09:43:09
ですね。バグでした。
442:デフォルトの名無しさん
08/02/11 09:43:11
何気なく Lib\SimpleHTTPServer.py を実行して簡易ウェブ鯖にしようとしたら
ソッコーで mail.*.*.tw:25 行きの CONNECT リクエストが来てビビった。
実装されてなくて 501 になったけど。てゆーか CONNECT なんて知らんかった。
EMOBILE の接続なんだが意外にビシバシ来てるんだなー。
443:デフォルトの名無しさん
08/02/11 10:07:55
>>431
>何がしたいのかいまいちわからなくて迷ってる。
それはある。
どんなことやるのかが分かりづらいよな。
さっさとプログラムを発表して欲しい。
444:デフォルトの名無しさん
08/02/11 10:09:56
>>431
なんか無意味な敷居をつくって仲間意識を高めようという
日本の悪しきコミュニティの典型に見えるな。
445:デフォルトの名無しさん
08/02/11 10:12:46
敷居を作っているのは444のような気がする(wwwwwwwww
キチガイの妄想は怖いな(ww
446:デフォルトの名無しさん
08/02/11 10:15:51
特定の属性を持った人は勝手に疎外感を感じる傾向にあるらしい。
444はオタの喪男の典型に見えるな。寂しい奴。
447:デフォルトの名無しさん
08/02/11 10:16:51
>>445
いや、実際敷居は高いよ。
西尾さんとかくる訳で、
その前で実際にプレゼンするわけだし。
日曜プログラマーは全く居なくて、
よくて学生、他はIT企業につとめてる社長さんとかばっかりだから。
448:デフォルトの名無しさん
08/02/11 10:19:04
>>445
>>446
正直、GoogleGroup使ってる時点で
顔見知り以外排除している感じだろう。
ホテルの手配とか公開しちゃまずいところもあるのだろうが
行われるプレゼンの内容とかなるべくオープンにしないと。
449:デフォルトの名無しさん
08/02/11 10:19:48
>>448
446
450:デフォルトの名無しさん
08/02/11 10:21:18
>>447
IT企業につとめてる社長さん
ここ表現おかしかったな。
社長さん(某Python本著者)とか、だね。
会社ぐるみでPythonを利用している人たちが来たり、
一見さんは来づらい雰囲気はあるよ。
451:デフォルトの名無しさん
08/02/11 10:21:34
「自分は疎外されてる」って思い込むタイプに紛れ込まれると
扱いに困ることはあるしな。
452:デフォルトの名無しさん
08/02/11 10:21:44
URLリンク(www.python.jp)
448の目は節穴らしい.
これではハブンチョにされてもおかしくないな.
453:447
08/02/11 10:24:52
ちなみに私は過去2回、参加してるけど
今からだときつい気がする。
3,4年前ぐらいであれば、本当のプログラミング初心者であっても
参加しやすい雰囲気であったけど、
現状何かしらの実装を担当している..(Rubyであっても、Perlであっても、Cであっても)
技術者か、そういった企業への就職を目指している
若者ばかりがくるからね、ただノートPC持って行って
Pythonリファレンスを見ながらひたすらコード打ち込む、ってだけじゃなく、
夕食の時にコアな開発秘話を話す必要性が出たり(雰囲気的にきつい人もいると思うが)、
だんだん脱せんしてきている気がする。
今回参加できるか不明としている。
454:447
08/02/11 10:26:06
ちなみにGoogleグループで登録する必要あるけど、
参加するのに承認要りませんからね。勝手に入ってしまってもOKなので、
全員排除ってことはありません。
ただ、2月中旬まで自己紹介など反応の無い人は
強制退会させられるようですが。
455:447
08/02/11 10:27:32
今回の合宿が少し遅ければ、
OSCでコミュの顔揃えを見てから合宿参加への
検討を行う、ってことできたと思うのだけどなあ。
456:デフォルトの名無しさん
08/02/11 10:28:35
実装屋さんか優れたプランナーじゃないと参加しづらいのは本当だな
457:デフォルトの名無しさん
08/02/11 10:30:02
>>453-455
どうみても利用者を増やすためのコミュニティじゃないように見受けられるが。
日本語リファレンスをリリースしてるからいいのかな。
458:デフォルトの名無しさん
08/02/11 10:31:45
Pythonみたいなマイナー言語にも格差が出てきたってことかな。
負け組のITドカタになってしまわないように、僕頑張るよ!!
459:デフォルトの名無しさん
08/02/11 10:31:47
英語必須のAsiaBSDConなんかに比べれば
こんなに易しいコミュもないものだが
460:デフォルトの名無しさん
08/02/11 10:33:33
んー、
>>458
自分の回りでPython使ってる人もいない、
MLでの情報のやり取りよりも顔を合わせて話をしたい、
てな、好きでPython弄ってる人たちがわいわい話すてのがいいと思うのだけど、
最近は腕っ節自慢ばっかりで辛い。
461:デフォルトの名無しさん
08/02/11 10:35:03
参加者しか内容を知り得ないMLの議論の内容を貼り付けてしまう
454みたいなヤバい奴がいることにびっくりした。
462:デフォルトの名無しさん
08/02/11 10:36:27
>>460
>好きでPython弄ってる人たちがわいわい話すてのがいいと思うのだけど、
それが「できない」と勝手に決めつけているようにしか見えないなあ。
463:デフォルトの名無しさん
08/02/11 10:36:29
それほど崩壊しかけてんだろ
Python本の訳者の意味不明なMLへの投稿など見れば一目瞭然
464:デフォルトの名無しさん
08/02/11 10:38:46
>>462
できるわけがねーよ
回りは好きで弄ってるんじゃなく
食うために弄ってる人らばっかりが参加するんだぜ?
何を話しても仕事に絡めてくるからこっちは困る。
そのうちPythonの話じゃなくてGoogleの素晴らしさとか
任天堂とAppleは似ているとかどこぞの東洋経済記事の話になっていってしまう。
Pythonって何だろう、どんなのだろうって感覚で
打ち始めた人たちにとって合宿は参加しづらいイベント。
合宿参加前にPython-MLに積極的に自作コードを投稿して
自分の現状(スキル)を覚えてもらってから参加したほうがいい。
465:デフォルトの名無しさん
08/02/11 10:41:17
>>461
これはヤバイな。
こういう奴がいる合宿には参加したくないよ。
466:デフォルトの名無しさん
08/02/11 10:42:21
過去に参加したことがある。
が、>>464が言ってるような大げさなことじゃねえぞw
あくまで初めてのPython本を読破して、リファレンスも7割ぐらい暗記していればOk。
実際のコード作業なんてみんな見ちゃいないよ
467:デフォルトの名無しさん
08/02/11 10:43:53
>>466
PythonのリファレンスはRubyなどと違って膨大な量がありますが
PEPも含めたら死ねますが
468:デフォルトの名無しさん
08/02/11 10:44:07
必死に疎外感を表明している447ってあの人か。特定できた。
447はいらない子だからいなくなってもいいよ。
469:デフォルトの名無しさん
08/02/11 10:44:27
今回の合宿に参加させようとする人と
参加させまいとする人の戦いが起きているようだ
470:デフォルトの名無しさん
08/02/11 10:44:59
>>447
特定した。警察に通報するから
471:デフォルトの名無しさん
08/02/11 10:45:10
>>466
>リファレンスも7割ぐらい暗記していれば
俺にはムリ(w
ていうか、リファレンスは必要に応じて読めばいいので、暗記する必要はないだろ。
472:468
08/02/11 10:45:54
いやマジで特定できたから。毎回席の隅っこに座って
きめえ表情浮かべながらあれこれやってるあの人ね。
473:デフォルトの名無しさん
08/02/11 10:47:56
>>471
ライブラリリファレンスのうち、
組み込み関数
正規表現
os
pickle
thread
tk
はひとおとり見なくとも、ゴテゴテのコードになろうとも
覚えておかないと話の切り替えの時にあたふたするってばっちゃ言ってた
474:デフォルトの名無しさん
08/02/11 10:49:23
今から何をやろうか不明でもいいんだよ。
でも過去に何をやったか調べてもまともな情報がないんだよ。
西尾君の発表会収録ビデオ(2年前)のが出るぐらい
475:デフォルトの名無しさん
08/02/11 10:50:41
そんなの>>474の都合だろ。
過去に何をやったかなんて関係ない。
今現時点での己の実力を持って合宿に参加すればいい。
そして相手を叩きのめして頂点に立つのだ!!!!
476:デフォルトの名無しさん
08/02/11 10:50:44
>>464
仕事でやってる集団と、好きでやってる集団に分割され、
名称もちゃんとその性質を明示するようになるべきだな。
477:デフォルトの名無しさん
08/02/11 10:51:21
>>473
組み込み関数、正規表現、osモジュールあたりについては同意。
thread, tkは場合によっては覚えなくてもよくね?
ところで、他に必須ライブラリってある?
478:デフォルトの名無しさん
08/02/11 10:52:02
>>476
キモい集団と、キモくない集団に分けるべき。
479:デフォルトの名無しさん
08/02/11 10:53:11
>>477
イテレータのところだな。
iterzipとか
480:デフォルトの名無しさん
08/02/11 10:54:53
>>476
もうちょっと初心者がよってきやすいイベントでの
告知がされてないのがまずいと思うんだよねえ
すべてあそこのwebpageで告知というのが。
参加費があるから参加しない、んじゃなく
「見えない敷居があるように見えてしまってる」のが問題なんだよ。