Pythonのお勉強 Part15
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2006/11/12(日) 22:51:44http://www.python.jp/Zope/
Python オフィシャルサイト
http://www.python.org/
Python 2.5
http://www.python.org/download/releases/2.5/
IronPython
http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython
まとめ wiki
http://www7a.biglobe.ne.jp/~yasozumi/python/wiki/
Pythonの入門書「みんなの Python」
http://www.amazon.co.jp/gp/product/479733665X/
Pythonのお勉強 Part14
http://pc8.2ch.net/test/read.cgi/tech/1161272096/
0002デフォルトの名無しさん
2006/11/12(日) 22:58:51Python の宿題ここで答えます Part 1
http://pc8.2ch.net/test/read.cgi/tech/1153585095
Python厨とRuby厨が仲直りするスレッド
http://pc8.2ch.net/test/read.cgi/tech/1099804004
Microsoft IronPython 1.0
http://pc8.2ch.net/test/read.cgi/tech/1157686822
【Python】Webフレームワーク Djangoスレ Part1
http://pc8.2ch.net/test/read.cgi/php/1156612854
0003デフォルトの名無しさん
2006/11/12(日) 23:04:38def 基地外:
「みんPy」の作者タソに粘着。Zope関係者らしい。暇らしい(ヒキコモリか窓際?)。
アスペルガーとか不安神経症とか分裂症とか。
def Python初心者:
初心者を装った質問を書き込む。空気を読まない。日本語もうまく読めない。
0004デフォルトの名無しさん
2006/11/12(日) 23:48:080005デフォルトの名無しさん
2006/11/13(月) 00:02:320006デフォルトの名無しさん
2006/11/13(月) 00:11:240007デフォルトの名無しさん
2006/11/13(月) 07:12:50( ゚∀゚)彡 おっぱいそん!
⊂彡 おっぱいそん!
0008デフォルトの名無しさん
2006/11/13(月) 08:04:440009Python初心者
2006/11/13(月) 11:21:44>しゃべりまくるGuido(なんかしんどそう・・
>http://video.google.com/videoplay?docid=-6459339159268485356#13m59s
質問その1:
大変失礼かもしれませんが、928先生は
>(なんかしんどそう・・
と内容表現する「程度しか」英語のヒヤリング能力がないとか?
安倍総理並??(w
質問その2:
しゃべりまくるGuidoの印象から、
Python3000はPerl6同様、果てしない泥沼開発へ
突入する危険性はないのか?
無謀な言語仕様や機能の肥大化競争にPythonも
わざわざ参加する必要があるのか?
こうして夫々の言語が競争開発する度に互いに
模倣し合ったあげく、画一化された言語に変容する
ことになり、各言語独自の魅力を失うのではないか?
0010デフォルトの名無しさん
2006/11/13(月) 11:39:22ま た お ま え か
0011デフォルトの名無しさん
2006/11/13(月) 11:42:37> と内容表現する「程度しか」英語のヒヤリング能力がないとか?
とバカにしつつ
> しゃべりまくるGuidoの印象から、
と結局自分も、「しゃべりまくるGuidoの印象」で判断しているPython初心者
自己紹介乙w
0012デフォルトの名無しさん
2006/11/13(月) 12:06:04( ゚∀゚)彡 おっぱいそん!
⊂彡 おっぱいそん!
0013デフォルトの名無しさん
2006/11/13(月) 16:01:000014デフォルトの名無しさん
2006/11/13(月) 16:02:160015デフォルトの名無しさん
2006/11/13(月) 16:16:02( ゚∀゚)彡 おっぱいそん!
⊂彡 おっぱいそん!
0016デフォルトの名無しさん
2006/11/13(月) 16:59:22>Python3000はPerl6同様、果てしない泥沼開発へ
>突入する危険性はないのか?
たとえば、2.xと3.xをparallelに開発していくことで、
仲間の開発者に段階的なストップがかかるような
状況にならないように、というような配慮をしている。
というかもろに「次のperl6にはなりたくない」と言ってるので、
開発のタイミング的なことはかなり気にかけている模様。
ZopeやApacheを良いバージョン移行の例としてあげている。
>無謀な言語仕様や機能の肥大化競争にPythonも
>わざわざ参加する必要があるのか?
>こうして夫々の言語が競争開発する度に互いに
>模倣し合ったあげく、画一化された言語に変容する
>ことになり、各言語独自の魅力を失うのではないか?
その辺は結構強調してて、ゼロからのつくり直しではないと言っている。
どちらかと言うと互換性の崩れるマイナーチェンジと言う感じ。
classic classを無くすとか、printを関数にするとか、
聞いてるともうほとんどやるべきことの大部分は決ってて、
完全に新しいフィーチャーはそれほどないと言うような印象
(generic functionかadaptorかみたいな議論はあるけど・・・・)
とにかくperl5→perl6みたいな根本的な大変身計画ではないのは間違い
ないだろうと言う印象
byあおられた人
0017デフォルトの名無しさん
2006/11/13(月) 23:55:500018デフォルトの名無しさん
2006/11/14(火) 00:12:380019デフォルトの名無しさん
2006/11/14(火) 00:19:590020デフォルトの名無しさん
2006/11/14(火) 13:14:46xml.saxはプルモデル。メモリは食わないが、状態管理がちょっと複雑。
ElementTreeは知らん。
0021デフォルトの名無しさん
2006/11/14(火) 13:16:200022デフォルトの名無しさん
2006/11/14(火) 13:45:40import urllib
def hatena():
return urllib.urlopen("http://d.hatena.ne.jp/keyworddiary/Python?mode=rss")
import xml.dom.minidom
dom = xml.dom.minidom.parse(hatena())
for elem in dom.getElementsByTagName("item"):
if elem.getElementsByTagName("dc:date")[0].firstChild.nodeValue == "2006-11-13":
print elem.getElementsByTagName("title")[0].firstChild.nodeValue
0023デフォルトの名無しさん
2006/11/14(火) 13:46:35import urllib
def hatena():
return urllib.urlopen("http://d.hatena.ne.jp/keyworddiary/Python?mode=rss")
import xml.sax
class Handler(xml.sax.handler.ContentHandler):
def __init__(self):
xml.sax.handler.ContentHandler.__init__(self)
self._hash = None
self._name = None
def startElement(self, name, attrs):
if name == "item":
self._hash = {}
elif self._hash is not None: # in <item>...</item>
self._name = name
def characters(self, content):
if self._hash is not None and self._name is not None:
self._hash[self._name] = content
self._name = None
def endElement(self, name):
if name == "item":
if self._hash["dc:date"] == "2006-11-13":
print self._hash["title"]
self._hash = None
self._name = None
xml.sax.parse(hatena(), Handler())
0024Python初心者
2006/11/14(火) 14:17:08>Python初心者はこのスレと一緒に埋め立て。
こういう気持ちが優しい人が多いから、つい
早めにこちらに遷りました。(w
>>16
>どちらかと言うと互換性の崩れるマイナーチェンジと言う感じ。
マイナーチェンジなら何故?後方互換性を崩す必要が
あるのだろうか?
>classic classを無くすとか、printを関数にするとか、
>聞いてるともうほとんどやるべきことの大部分は決ってて、
>完全に新しいフィーチャーはそれほどないと言うような印象
ということは、Python3000っていう大袈裟な掛け声は
ユーザーに対するフィッシングに過ぎなくなるが…
>しゃべりまくるGuido(なんかしんどそう・・
直感的な発言だとは思うが、このコメントは
本質を突いている。
WallにしてもMatzにしてもGuidoにしても、言語機能の
進歩と拡大に疲れちゃってるんじゃないのか?
貪欲なユーザーのもっともっと!という圧力に
潰れそうになっているってのが、本音のような気がして
ならない。
このスレというか、このプログラム板の中で「良識ある
連中は」みんなそんな風に心の底では感じているように
思う。
0025デフォルトの名無しさん
2006/11/14(火) 14:26:39わかりやすい例だね。
私は質問者ではないけれど、とても参考になったよ。
0026デフォルトの名無しさん
2006/11/14(火) 14:40:39大変参考になりました.
XMLをトラバースして木構造のオブジェクトを作る必要があり,おうかがいしました.
ひとまずDOMで作り,必要が感じられた時点でSAXに切り替えようと思います.
ありがとうございました.
0027デフォルトの名無しさん
2006/11/14(火) 15:58:20そういう用途ならSAXのほうがいい。
0028デフォルトの名無しさん
2006/11/14(火) 16:41:03#!/bin/python
file = open("/usr/local/src/pytest/asdfasdf","w")
file.write("asdfasdfasfd")
file.close()
print("made file")
上のようなMakeTestFile.pyていうスクリプトがあって、
それをPythonのCGI部分から下のように実行してるんですよ。
process = subprocess.Popen(["python","MakeTestFile.py"], stdout=subprocess.PIPE)
そうすると、/etc/httpd/error_logでなぜか以下のようなエラーが出る。
IOError: [Errno 13] Permission denied: '/usr/local/src/pytest/asdfasdf'
/usr/local/src/pytestのuid:gidはroot:groupAになってて、ユーザーapacheもgroupAに
入ってるにもかかわらずパーミッションで弾かれる。
でもなぜか「sudo -u apache python MakeTestFile.py」だと上手く行く。
これは一体何が問題なんでしょうか…
0029デフォルトの名無しさん
2006/11/14(火) 16:57:44神も仏もあったもんじゃない
0030デフォルトの名無しさん
2006/11/14(火) 17:49:09CGIについての質問は板違いです。WEBプログラミング板でどうぞ。
とりあえず、スクリプトを実行しているユーザーを表示させる単純なCGIを作って、
実際にCGIを実行して見てみたら?
003128
2006/11/14(火) 20:37:10WebProg板を見てみたけど、
頼りになりそうなスレが無いです。
PythonでCGIはマイナーすぎるのか。
>とりあえず、スクリプトを実行しているユーザーを表示させる単純なCGIを作って、
>実際にCGIを実行して見てみたら?
それやるとapacheが実行してる、って出るんだよね。
んでsudoでやると上手く行くけど、CGI経由だと相変わらずダメ。
ああああああもうわかんねええええ。
0032デフォルトの名無しさん
2006/11/14(火) 20:43:39コマンドへのパスが通ってないとかなんとか。
003328
2006/11/14(火) 20:49:29っつーか途中まではちゃんと実行されるんよ。
ただfile = open("/usr/local/src/pytest/asdfasdf","w")
まで行くと必ず上記エラーが起きて止まる。
0034デフォルトの名無しさん
2006/11/14(火) 21:04:32おっぱいスレでパーミッションの話をし出すお前の頭
0035デフォルトの名無しさん
2006/11/14(火) 21:12:40'r'をためしてみる...
0036デフォルトの名無しさん
2006/11/14(火) 21:22:530037デフォルトの名無しさん
2006/11/14(火) 21:23:320038デフォルトの名無しさん
2006/11/14(火) 22:15:07003928
2006/11/15(水) 10:34:27試したけどやはりダメ。
>>38
suexec環境ではない。
改めて資料を探してみたけど、似たようなのは下の一件だけでした。
ttp://www.courtesan.com/pipermail/sudo-users/2005-January/002324.html
apacheスレでも行ってみるか…
0040デフォルトの名無しさん
2006/11/15(水) 10:55:29CGIのスクリプト内に直接
FILE = open("/usr/local/src/pytest/asdfasdf","w")
FILE.write("asdfasdfasfd")
FILE.close()
を書いたら実行できるの?
それでも出来ないなら、perlあたりでファイル書込みCGIを作って試すとか。
004128
2006/11/15(水) 11:44:58CGIから直接ファイル生成した結果を整理したら、以下の通り。
uid=41(mailman) gid=41(mailman) 所属グループ=41(mailman)
uid=48(apache) gid=48(apache) 所属グループ=48(apache),41(mailman)
生成できない:
drwxrwxr-x mailman:mailman
drwxrwxrw- mailman:mailman
生成できた:
drwxrwx-wx mailman:mailman
drwxrwxrwx mailman:mailman
drwxrwxr-x mailman:apache
drwxrwxr-x apache:apache
drwxrwxr-x apache:mailman
004228
2006/11/15(水) 11:46:250043デフォルトの名無しさん
2006/11/15(水) 17:36:190044デフォルトの名無しさん
2006/11/15(水) 19:09:440045デフォルトの名無しさん
2006/11/15(水) 19:55:120046デフォルトの名無しさん
2006/11/15(水) 21:34:09しかし空気の読めない典型的なコボラだったなw
なんでまたPythonなんざに目を付けたのだろうか。
0047デフォルトの名無しさん
2006/11/16(木) 00:48:54「実践Python」、目次なんかがでてるな.
ttp://kashino.exblog.jp/4683997
作者タソ(共著者?)のブログ.
0048デフォルトの名無しさん
2006/11/16(木) 00:56:330049デフォルトの名無しさん
2006/11/16(木) 01:04:00関連情報だから.
過剰反応しすぎではないですか(W
0050デフォルトの名無しさん
2006/11/16(木) 01:06:38何かドキドキすることでもあるんだろ
そっとしておいてやれや
0051デフォルトの名無しさん
2006/11/16(木) 01:57:44晒されたり煽られたりされるほど話題になってない気が…。
0052デフォルトの名無しさん
2006/11/16(木) 03:10:470053デフォルトの名無しさん
2006/11/16(木) 03:35:14matlab位しかプログラミングをしたことが無い.
英語でもいいんだけど,やっぱ日本語でpythonで科学技術計算をやらせる本って
無いかしら.
0054デフォルトの名無しさん
2006/11/16(木) 03:39:570055デフォルトの名無しさん
2006/11/16(木) 03:41:48>>52
ニヤニヤ。
0056デフォルトの名無しさん
2006/11/16(木) 03:53:07著者紹介を見る限り
同人本にしか見えんぞ
0057デフォルトの名無しさん
2006/11/16(木) 10:57:310058デフォルトの名無しさん
2006/11/16(木) 11:19:160059デフォルトの名無しさん
2006/11/16(木) 14:36:46Python Scripting for Computational Science
H.P.Langtangen
ISBN3-540-29415-5
位かな...
もう一冊くらいは科学計算系があったような気もするが
いずれにせよ英語
0060デフォルトの名無しさん
2006/11/16(木) 15:19:39pythonのコードからどっかのサーバーに対しPOSTすることはできますか?
GETはそのままURL直書きでいいんだけど。。。
0061デフォルトの名無しさん
2006/11/16(木) 15:27:190062デフォルトの名無しさん
2006/11/16(木) 16:42:07http://up.nm78.com/old/data/up116660.jpg
0063デフォルトの名無しさん
2006/11/16(木) 16:50:13…ああそうだよ。不覚にも笑っちまったよ。くそう。
0064デフォルトの名無しさん
2006/11/16(木) 16:50:500065デフォルトの名無しさん
2006/11/16(木) 16:57:370066デフォルトの名無しさん
2006/11/16(木) 17:12:220067デフォルトの名無しさん
2006/11/16(木) 17:22:14ttp://home.j04.itscom.net/orca/F-profile.html
0068デフォルトの名無しさん
2006/11/16(木) 17:25:40ttp://pya.cc/pyaimg/pimg.php?imgid=34748
こんなかんじか?
0069デフォルトの名無しさん
2006/11/16(木) 17:39:05だいたいそんな感じOTL
悔しかったんで>>59をアマゾンで購入してしまった…
0070デフォルトの名無しさん
2006/11/16(木) 18:29:54エエエ
>>59は学生には高いんだよ!くれよ!
0071デフォルトの名無しさん
2006/11/16(木) 18:44:59ニューメリカルレシピ系の本だとモノによってはWebから無料でDLできるってのは本当ですか?
C++とか。
0072デフォルトの名無しさん
2006/11/16(木) 20:00:42http://www.numerical-recipes.com/nronline_switcher.html
0073デフォルトの名無しさん
2006/11/16(木) 20:05:29Fortran90キタコレ
確かPythonも書籍でこのシリーズあったと思うけど、
やっぱり購入しかないかな…
学生にはきびすぃ
0074デフォルトの名無しさん
2006/11/16(木) 21:15:28世の中には授業料というものがあるのだ
0075デフォルトの名無しさん
2006/11/16(木) 21:56:370076デフォルトの名無しさん
2006/11/16(木) 22:05:430077デフォルトの名無しさん
2006/11/16(木) 22:36:060078デフォルトの名無しさん
2006/11/16(木) 22:38:33007978
2006/11/16(木) 22:42:000080デフォルトの名無しさん
2006/11/17(金) 05:50:15どもです
0081マーク若葉( )
2006/11/17(金) 12:13:19ということで、よろしくお願いしまぁす。:-)
PyDevがPython2.5に対応しましたね。
http://www.fabioz.com/pydev/manual_101_root.html
これまでJavaでEclipseを使っていた人は
絶対にお奨めだと思います。
但しパソコンのスペックが低い場合は、立ち上げが
少し重いのが気になりますが…
0082デフォルトの名無しさん
2006/11/17(金) 16:35:390083デフォルトの名無しさん
2006/11/17(金) 18:35:260084デフォルトの名無しさん
2006/11/17(金) 20:10:02コテハン勧めた理由はそういう理由もあるだろうし
0085デフォルトの名無しさん
2006/11/17(金) 20:17:300086デフォルトの名無しさん
2006/11/17(金) 20:29:330087デフォルトの名無しさん
2006/11/17(金) 20:42:35「Eclipse なんてカス、ed がお薦めだと思います」ぐらいの見栄張ろうぜ。
0088デフォルトの名無しさん
2006/11/17(金) 21:29:160089デフォルトの名無しさん
2006/11/17(金) 21:46:580090デフォルトの名無しさん
2006/11/17(金) 22:35:050091デフォルトの名無しさん
2006/11/17(金) 23:23:08実践とみんpyはレベル同じくらいっぽいから、多様にはなってない気はするが、いいことだ。
0092デフォルトの名無しさん
2006/11/17(金) 23:29:14http://bookweb.kinokuniya.co.jp/guest/cgi-bin/wshosea.cgi?W-NIPS=9981240427
これも最近出版された本だね。
0093デフォルトの名無しさん
2006/11/18(土) 00:03:27あと、初pyもオライリーじゃなかったっけ
0094デフォルトの名無しさん
2006/11/18(土) 00:03:33著者には見本誌が送られてくるはずだから買う必要なし。
0095デフォルトの名無しさん
2006/11/18(土) 00:04:230096デフォルトの名無しさん
2006/11/18(土) 00:28:10実践の著者はzope関係の人なんだね
0097デフォルトの名無しさん
2006/11/18(土) 00:29:210098デフォルトの名無しさん
2006/11/18(土) 00:42:480099デフォルトの名無しさん
2006/11/18(土) 01:00:430100デフォルトの名無しさん
2006/11/18(土) 03:43:47なんかやらかした人たちなのか?
0101デフォルトの名無しさん
2006/11/18(土) 03:55:38ちなみにCとJavaを少し、Rubyはかなりやってます
0102デフォルトの名無しさん
2006/11/18(土) 04:06:59>ttp://www.cbook24.com/bm_detail.asp?sku=4886484602
>
>清々しいくらい誰も話題にしないのはやっぱり…
>206 名前: nobodyさん Mail: 投稿日: 2006/11/05(日) 02:24:06 ID: 5X0CxqGd
>>>202
>実績が皆無な著者を連ねたって話題になるわけもない.
>207 名前: nobodyさん Mail: sage 投稿日: 2006/11/05(日) 16:42:38 ID: ???
>プログラムをまともに書けない香具師が書く本とは…
>208 名前: nobodyさん Mail: sage 投稿日: 2006/11/05(日) 16:53:50 ID: ???
>うちの会社にも居るよ、コメントだけ追加して、動かないって言っている香具師・・・
>209 名前: nobodyさん Mail: sage 投稿日: 2006/11/05(日) 18:37:26 ID: ???
>ttp://www.technorati.jp/search/%E3%81%BF%E3%82%93%E3%81%AA%E3%81%AEPython?language=ja 335件
>
><<<<<<< 越えられない壁 >>>>>>>>
>
>ttp://www.technorati.jp/search/%E5%AE%9F%E8%B7%B5Python?language=ja 4件
>210 名前: nobodyさん Mail: ゾペ 投稿日: 2006/11/06(月) 10:20:01 ID: ???
>>>209
>× 越えられない壁
>○ 厳しい現実
0103デフォルトの名無しさん
2006/11/18(土) 05:18:53本が出るたびに誰かが嬉々として著者を叩くのは、足引きの国の伝統だし仕方ないw
なんて言うと、駄本を貶すのは正義なんだって、必死な人が怒るんだろうけど。
それにしても、209は出版日を無視してるのか。ネタにしても寒い。
スレのレベル自体そんなもんなのかも知れんが、ド低能だなー。
0104デフォルトの名無しさん
2006/11/18(土) 06:24:24Dive Into Python が一押しなんだけど、英語なんだよね。
ウェブでも公開されてるから、どんなものか見てみれば?
ttp://diveintopython.org/
0105デフォルトの名無しさん
2006/11/18(土) 08:09:410106デフォルトの名無しさん
2006/11/18(土) 08:17:51タプルの方がよく回るらしいよ。
0107デフォルトの名無しさん
2006/11/18(土) 08:20:58一、じんろく一人のクリスマス
二、カツオ、はなぞのさんに誘われる
三、タラちゃんのサンタはマスオさん
の三本です
お楽しみに♪
0108デフォルトの名無しさん
2006/11/18(土) 08:23:08>>106
あ、そうなんですか。
速度に差が出るならタプルを使ってみようと思います。
どうもです。
0109デフォルトの名無しさん
2006/11/18(土) 08:39:06ウソ書くな。
リストの方が普段より2倍多く回るってアニキが言ってた。
0110デフォルトの名無しさん
2006/11/18(土) 08:42:52その立場からの意見として、アニキについて詳しく
気持ちとしては歯痛的なタプルの方が速いようなイメージがあるんだけど
0111デフォルトの名無しさん
2006/11/18(土) 08:46:560112デフォルトの名無しさん
2006/11/18(土) 08:53:43参考書はリスト使ってるし、やっぱりリストなんかな。
0113デフォルトの名無しさん
2006/11/18(土) 08:57:03発売日の差を考慮してもなお,「実践」の話題性の低さは考察に値する
0114デフォルトの名無しさん
2006/11/18(土) 09:04:302chくらい内容について考察した方が良くないですか
話題性は議論するような内容じゃ
ないよう
なんつってwww
でも
話題性が無いって事はやっぱり本の内容が
ないよう
なんつってwwwwwwwwwww
0115デフォルトの名無しさん
2006/11/18(土) 09:11:20お前無茶しやがって…
クォリティ低いネタを二度繰り返すモンんじゃねぇよ…
0116デフォルトの名無しさん
2006/11/18(土) 10:05:32内容はよく分らんが、二匹目のドジョウは黙殺されるってことなんだろ(w
0117デフォルトの名無しさん
2006/11/18(土) 10:28:060118デフォルトの名無しさん
2006/11/18(土) 11:29:390119マーク若葉( )
2006/11/18(土) 12:04:31>同じ純粋和書のみんぱいに比べると、実践Pythonの方が格段に話題になってないのは確かなようだな
>内容はよく分らんが、二匹目のドジョウは黙殺されるってことなんだろ(w
出版社の違いじゃないだろうか?
ソフトバンクとディーアート<−誰か知ってる?どんな本出してるところ?
0120デフォルトの名無しさん
2006/11/18(土) 12:41:20Python×Nokiaで、もう、小数点以下のハルカ彼方に逝ってる気がする
0121デフォルトの名無しさん
2006/11/18(土) 13:17:55どういったライブラリを使うのがいいでしょうか?
ざっと調べたところ、anyguiというものが引っかかりましたが
プロジェクトページの
Anygui is no longer being actively developed or supported. These pages are not up to date.
という注意書きが気になって二の足を踏んでいます。
0122デフォルトの名無しさん
2006/11/18(土) 14:18:29敢えてそのピンホールを突いてきたんだから
せめてこのスレくらいは話題にしても良さそうなもんだが...
誰か読んでないのか?
0123デフォルトの名無しさん
2006/11/18(土) 14:44:30NOKIA本は、アマゾンに上がった直後にはてブにブックマークされている
実践PythonはNOKIA本以下の話題性ってことだ
0124デフォルトの名無しさん
2006/11/18(土) 14:55:31もっと普通のGUIツールで代用した方がいいような・・・
つか、どの程度の規模のRoguelikeですか?
0125デフォルトの名無しさん
2006/11/18(土) 17:14:19amazonとかネット書店で片方を見ると、もう片方が「一緒に売れてます」に
よく出てるのが解せない。っていうか笑えるw
同じような本なのに、ほんとに二冊とも一緒に買ってる奴多いのかよw
0126デフォルトの名無しさん
2006/11/18(土) 17:51:04NetHackと同規模くらいです。
0127デフォルトの名無しさん
2006/11/18(土) 19:30:05だからどのNetHackよ
0128121
2006/11/18(土) 19:52:09とりあえず、本家NetHackのことです。
ttp://nethack.org/
0129デフォルトの名無しさん
2006/11/18(土) 19:59:10ちゃんと動くかまで確認してないけど
0130121
2006/11/18(土) 20:06:31回答ありがとうございます、試してみます。
0131デフォルトの名無しさん
2006/11/18(土) 22:31:38pdcursesと_cursesmodule.c
0132デフォルトの名無しさん
2006/11/18(土) 22:32:58すまんw
おれはpdcursesと_cursesmodule.cをちょっと書き換えて使ってる
wincon.hの関数を使う手もあるがまあめんどい
0133デフォルトの名無しさん
2006/11/18(土) 22:38:270134デフォルトの名無しさん
2006/11/19(日) 02:25:560135デフォルトの名無しさん
2006/11/19(日) 04:32:440136デフォルトの名無しさん
2006/11/19(日) 08:08:09http://s-square.sakura.ne.jp/2006/09/14/pythonce-install/
0137デフォルトの名無しさん
2006/11/19(日) 09:03:360138デフォルトの名無しさん
2006/11/19(日) 11:49:45発売前の書籍について随分詳しそうで好感が持てる。
日本語が小学生レベルなのも親しみを増す。
0139デフォルトの名無しさん
2006/11/19(日) 12:34:49書き換え版のうpきぼんぬ。
0140デフォルトの名無しさん
2006/11/19(日) 13:41:04みんなのPythonの”この商品を買った人は…”には、ふつケルとかBinary Hacksが並んでる
出版社といい表紙といい、実践某とは格が違うみたいだ
0141デフォルトの名無しさん
2006/11/19(日) 14:28:47トラの衣を借るみんPyってやつだな。
0142デフォルトの名無しさん
2006/11/19(日) 14:48:14それにしてはページ数が少なくね?
目次一覧などを見る限り微妙な解説と役に立たないサンプルコードが
延々羅列されているだけのような気がしてくるんだが…
0143デフォルトの名無しさん
2006/11/19(日) 17:50:590144デフォルトの名無しさん
2006/11/19(日) 19:00:040145デフォルトの名無しさん
2006/11/19(日) 22:30:48関係者乙
0146デフォルトの名無しさん
2006/11/19(日) 22:47:27p206のfileinputのサンプルが動かん。
ソースだけじゃなくて、実行前後の結果も記載してほしかった。
わかりづれー
0147デフォルトの名無しさん
2006/11/19(日) 23:06:57基地外なの?
0148デフォルトの名無しさん
2006/11/19(日) 23:09:300149デフォルトの名無しさん
2006/11/19(日) 23:43:38ひょっとするとKeyboardInterruptって発生しない?
ネットで見つけたサンプルで、
「無限ループ中にtryがあって繰り返す処理があり、except KeyboardInterruptでループを抜ける」
というようなのを動かしてるんだけど
Ctrl-C押しても終了しない…
0150デフォルトの名無しさん
2006/11/19(日) 23:45:090151デフォルトの名無しさん
2006/11/19(日) 23:55:100152デフォルトの名無しさん
2006/11/20(月) 00:22:240153デフォルトの名無しさん
2006/11/20(月) 00:25:31# キャッチできる
try:
while True: pass
except KeyboardInterrupt:
pass
# キャッチできない
while True:
try:
pass
except KeyboardInterrupt:
break
0154デフォルトの名無しさん
2006/11/20(月) 01:31:30Windowsのコマンドプロンプトってかなり特殊な存在みたいだからねぇ。
0155デフォルトの名無しさん
2006/11/20(月) 01:38:010156デフォルトの名無しさん
2006/11/20(月) 02:03:09なんとなく後ろは
while True:pass
と同等になってる気がする・・・
0157デフォルトの名無しさん
2006/11/20(月) 03:45:43みんなのPython = みんぱい
なのだから
実践Python = しっぱい
と呼ぶことにしないか.
0158デフォルトの名無しさん
2006/11/20(月) 04:13:530159デフォルトの名無しさん
2006/11/20(月) 04:22:42-1
0160デフォルトの名無しさん
2006/11/20(月) 04:36:38roguelikeって夢があるな。
0161デフォルトの名無しさん
2006/11/20(月) 11:47:060162デフォルトの名無しさん
2006/11/20(月) 12:17:11作者タンは萌えをよく理解していると思う!
0163デフォルトの名無しさん
2006/11/20(月) 12:40:010164デフォルトの名無しさん
2006/11/20(月) 13:15:310165デフォルトの名無しさん
2006/11/20(月) 13:26:450166デフォルトの名無しさん
2006/11/20(月) 13:55:40>萌えはともかく、それが一番のセールスポイントって作者自身が言い切る
まじかよ(w
それくらいしかアピールできるポイントがないってことか
どんな内容か楽しみだな(wwww
0167デフォルトの名無しさん
2006/11/20(月) 14:25:36> 作者自身が言い切る
,-ー─‐‐-、
,! || |
!‐-------‐
.|:::i ./ ̄ ̄ヽi
,|:::i | (,,゚д゚)|| < ソースきぼんぬ。
|::::(ノ 中濃 ||)
|::::i |..ソ ー ス||
\i `-----'/
 ̄U"U ̄
0168デフォルトの名無しさん
2006/11/20(月) 14:35:15http://kashino.exblog.jp/4683997/
ぐぐったら割とすぐ出てきた。だけど、>>166とはちょっとニュアンスが
違うような。「もしかすると」って言ってるし。
0169デフォルトの名無しさん
2006/11/20(月) 16:06:02コメントが3つだけとは、もしかすると寂しい.
0170デフォルトの名無しさん
2006/11/20(月) 17:02:45「みんPy」の時もそうだったが。
0171デフォルトの名無しさん
2006/11/20(月) 17:10:14全部Zope関係者だよきっと.
0172デフォルトの名無しさん
2006/11/20(月) 17:20:080173デフォルトの名無しさん
2006/11/20(月) 18:22:14日本のzopeコミュニティがおかしいんだ。
0174デフォルトの名無しさん
2006/11/20(月) 18:23:260175デフォルトの名無しさん
2006/11/20(月) 20:01:120176デフォルトの名無しさん
2006/11/20(月) 20:06:560177デフォルトの名無しさん
2006/11/20(月) 20:36:470178デフォルトの名無しさん
2006/11/20(月) 21:13:360179デフォルトの名無しさん
2006/11/20(月) 21:35:010180デフォルトの名無しさん
2006/11/20(月) 21:48:550181デフォルトの名無しさん
2006/11/20(月) 22:11:49多分Zope関係者だろう。
0182デフォルトの名無しさん
2006/11/20(月) 22:12:090183デフォルトの名無しさん
2006/11/20(月) 22:14:420184デフォルトの名無しさん
2006/11/20(月) 22:14:490185デフォルトの名無しさん
2006/11/20(月) 22:16:120186デフォルトの名無しさん
2006/11/20(月) 22:20:39Zope関係者って怖いな.
0187デフォルトの名無しさん
2006/11/20(月) 22:39:46みんPyや実Pyは作者が電波だから、読む必要はないというもの。それ、ほんとなのかなあ。
今回の書き込みでは数字のうえでは「読まなくていい」派が圧倒的だったけれど、
レスをつけない多数のサイレントマジョリティを考慮にいれて決定させてもらいます。
みんPy・実Pyは読んだほうがいい。
0188149
2006/11/20(月) 22:43:53サンプルどうもです。
だけど試してたのは前者の書き方…やっぱりトラップできません。
後者もだめでした。
とりあえずキーボードをゴンゴン叩いてたら、Ctrl+Breakでコマンドプロンプトまで落とせる
(Python.exe自体を強制終了させられる)のを発見しました。
根本的な解決にはなってませんがまあいいかという感じです…。
0189デフォルトの名無しさん
2006/11/20(月) 22:50:30Zope関係者はみんぱいやみんぱい作者タソのことはアレコレ言うけど
実践Pythonについては否定的なこと書かないんじゃないかな?
なぜなら実践Pythonの作者がZope関係者だから
0190デフォルトの名無しさん
2006/11/20(月) 22:55:29個人攻撃もあった。
177もそうだろ。
0191デフォルトの名無しさん
2006/11/20(月) 23:03:55print 'happy hacking'.join([str(x) for x in i])
0192デフォルトの名無しさん
2006/11/20(月) 23:15:040193デフォルトの名無しさん
2006/11/21(火) 00:24:50>>> for i in zip(*zip(*zip(*zip([[1]])))):
... print 'happy hacking'.join([str(x) for x in i])
...
[1]
いみがわからん。 >191
0194デフォルトの名無しさん
2006/11/21(火) 00:31:03Zope関係者
実践Python
0195デフォルトの名無しさん
2006/11/21(火) 00:31:320196デフォルトの名無しさん
2006/11/21(火) 00:42:320197デフォルトの名無しさん
2006/11/21(火) 00:44:550198デフォルトの名無しさん
2006/11/21(火) 00:52:250199デフォルトの名無しさん
2006/11/21(火) 01:00:350200デフォルトの名無しさん
2006/11/21(火) 01:13:51ごめ
for i in zip(*zip(*zip(*zip(*[[1]])))):
print 'happy hacking'.join([str(x) for x in i])
こうだった。
意味は素振り的なものです
0201デフォルトの名無しさん
2006/11/21(火) 01:38:17>>> for i in zip(*zip(*zip(*zip(*[[1]])))):
... print 'happy hacking'.join([str(x) for x in i])
...
1
>>> for i in zip(*zip(*zip(*zip(*[[1,2,3]])))):
... print 'happy hacking'.join([str(x) for x in i])
...
1happy hacking2happy hacking3
0202デフォルトの名無しさん
2006/11/21(火) 04:37:300203デフォルトの名無しさん
2006/11/21(火) 09:34:18基地外の素振り
0204デフォルトの名無しさん
2006/11/21(火) 10:09:300205デフォルトの名無しさん
2006/11/21(火) 10:32:49よく分からないけど、とにかく誤っておくことにするよ(wwwwww
0206デフォルトの名無しさん
2006/11/21(火) 12:14:10東京理科大学理学部卒業、同大学院博士課程単位修得退学。研究所、SI ベン
チャー、ヤフー(株)を経て、ゾープ・ジャパン(株)に入社。ゾープ・ジャパ
ン(株)はその後USZope Corporationとの契約が終了し、現在はオープンソー
ス・ジャパン(株)のゾープ推進部部長である。
会社非公認水泳部の部長も兼任。本業、本読み、副業、システム開発。アカデ
ミックに愛想がつき、在宅勤務に飽きがきて、西海岸でインド人と喧嘩をし、東
海岸でカンヅメにされたのも懲りずに、東京で好き勝手にやらせてもらってい
る。
小松 亮介(こまつ りょうすけ)
法政大学情報科学部卒業。ヤフー(株)を経て、ゾープ・ジャパン(株)に入
社。現在はオープンソース・ジャパン(株)のゾープ推進部にて、Zope、Python
の特にロジックまわりを中心とした技術を担当する。
若くて有能で無口だが毒舌。海外旅行は会社の長期出張で、というラッキーガ
イ。無刻印のハッピーハッキングキーボードと公文式英語が武器である。サニー
ベールで食べたシシケバブが生涯で一番おいしいものだったそうである。
穂苅 実紀夫(ほかり みきお)
慶応大学理工学部卒業。同大学院修士課程中退。セイコーアイテック(株)を経
てゾープ・ジャパン(株)入社する。現在はオープンソース・ジャパン(株)の
ゾープ推進部にて、Zope、Pythonの特にユーザインタフェースまわりを中心とし
た技術を担当する。
コンピュータ言語のクイックラーナーで実装もOK なのだが、それを人に伝える
能力に欠如するのが玉に瑕。夜残業をするとアゴが真っ黒になるほど毛が濃い。
会社では稟議をあげたことがないが、家庭内では稟議をあげないと飲みにいけな
いらしい。
...学歴も職歴も微妙だな。まぁ、今の俺よりはマシか。
0207デフォルトの名無しさん
2006/11/21(火) 12:21:260208デフォルトの名無しさん
2006/11/21(火) 12:26:42職歴や自己紹介が妙に香ばしいのはこの際除外することにしよう。
で,だ。
Webで著者名を検索しても,実績らしきものがまったく見付からないんだよな。
唯一,一番上の人の活動実績が見付かる。
日本のZopeコミュニティで活動している人みたいだけど。
こんな風で書籍の内容は大丈夫なんだろうか。。。?
0209デフォルトの名無しさん
2006/11/21(火) 12:43:000210デフォルトの名無しさん
2006/11/21(火) 14:45:350211デフォルトの名無しさん
2006/11/21(火) 14:48:010212デフォルトの名無しさん
2006/11/21(火) 15:56:32自分でソフト作成して公開しているとか
少なくとも何かPython関連ニュースグループでの発言くらい見つかるだろう。
何ひとつない。
0213デフォルトの名無しさん
2006/11/21(火) 16:16:31> 普通本を書くぐらいPythonを使い込んでいたら
> 自分でソフト作成して公開しているとか
> 少なくとも何かPython関連ニュースグループでの発言くらい見つかるだろう。
それは君の主観では。
少なくとも俺はネット上でのプレゼンスがない人が本を書いても全然驚かないし、
出てきた本が良くても悪くてもネット上でのプレゼンスの有無に善し悪しの理由を求めない。
0214デフォルトの名無しさん
2006/11/21(火) 16:21:240215デフォルトの名無しさん
2006/11/21(火) 16:22:20ZOPEつながりで検索したらでてきたんだけど.
著者さんはZope本体のコミッターみたいだ.
唯一コミットしたコードがこれ.
http://z3c.pov.lt/[email protected]
すごい実績だ...orz...
0216デフォルトの名無しさん
2006/11/21(火) 16:35:25Zopeは巨大で完成度が高いから、たとえ仕事で使っていても、ほとんどバグが見つからないんだよ。
0217デフォルトの名無しさん
2006/11/21(火) 16:54:25必要があるな。
0218デフォルトの名無しさん
2006/11/21(火) 16:56:33一般的な「業績」は普通に個人名が出ると思うけどな。
論文とか書くでしょ。
0219デフォルトの名無しさん
2006/11/21(火) 17:08:03VBとかC++とかの本を考えてみろよ。本なんて誰でも書いていいんだよ。
どちらかというと普通の仕事がなくて暇な人向きの仕事だろ。w
0220デフォルトの名無しさん
2006/11/21(火) 17:10:37ましてやPythonのようなオープンソースのスクリプト言語の書籍だぜ。
Webに名前が出てこない奴の本はオレは信用しないし,そう思うヤツは多いはず。
発売前で内容が確認できないならなおさらだ。
著者さんの会社名はハッタリなのかな?
0221デフォルトの名無しさん
2006/11/21(火) 17:19:57WWW脳というか、なんでもウェブにあると勘違いしすぎ。
アンビエント・ファインダビリティあたり読んでみそ。
0222デフォルトの名無しさん
2006/11/21(火) 17:20:520223デフォルトの名無しさん
2006/11/21(火) 17:23:320224デフォルトの名無しさん
2006/11/21(火) 17:23:36普通の仕事が無くて暇な人が書いた本なんて読みたくないな(www
PerlやRuby,PHPで目に付く書籍は,
Webなんかで露出がある人が書いていることが多いと思う.
実際は,無名な著者が書いた売れない本が沢山あるんだろうけどね.
Pythonもいよいよ売れない本が量産される時代に突入したということか.
0225デフォルトの名無しさん
2006/11/21(火) 17:59:070226デフォルトの名無しさん
2006/11/21(火) 18:00:13その時間でプログラミングの先端に近付く勉強・研究をしたいと思うよ。
0227デフォルトの名無しさん
2006/11/21(火) 18:08:080228デフォルトの名無しさん
2006/11/21(火) 18:08:14ほとんどの教師が本だしてるよ
特に非常勤の講師は全員出してる。
0229デフォルトの名無しさん
2006/11/21(火) 18:12:260230デフォルトの名無しさん
2006/11/21(火) 18:16:280231デフォルトの名無しさん
2006/11/21(火) 18:16:38出した本を授業のテキストとして使うんじゃね?
お前買わされただろ?
0232デフォルトの名無しさん
2006/11/21(火) 18:21:39悪いことだとは思ってないけどね.
>>229
よい評判と悪い評判がある.
Web上の露出によって善し悪しを判断できることは,いいことだと思うけどな.
0233デフォルトの名無しさん
2006/11/21(火) 18:22:150234デフォルトの名無しさん
2006/11/21(火) 18:25:370235デフォルトの名無しさん
2006/11/21(火) 18:32:23書かなくてもハッカーと呼ばれており(ry
0236デフォルトの名無しさん
2006/11/21(火) 18:35:36ソイツが書いたウンコなコードが公開されているなら,晒すなりすればいいだろ
判断の基準となる情報が公開されているのが重要なんだよ
215みたいに数行のコミットログしか出てこないヤツはウンコに違いないと判断できるわけだ
0237デフォルトの名無しさん
2006/11/21(火) 18:54:450238デフォルトの名無しさん
2006/11/21(火) 19:04:250239デフォルトの名無しさん
2006/11/21(火) 19:04:530240デフォルトの名無しさん
2006/11/21(火) 19:12:14―― Pythonbook より
0241デフォルトの名無しさん
2006/11/21(火) 19:26:24魔物かよ(wwww
0242デフォルトの名無しさん
2006/11/21(火) 19:33:040243デフォルトの名無しさん
2006/11/21(火) 19:54:40翻訳が仕上がる前に次の版が出てしまいます。
0244デフォルトの名無しさん
2006/11/21(火) 20:22:370245デフォルトの名無しさん
2006/11/21(火) 20:34:420246デフォルトの名無しさん
2006/11/21(火) 20:52:530247デフォルトの名無しさん
2006/11/21(火) 21:05:36いろいろしっぱいしてそうな書籍よりネットの情報の方がマシ。
0248デフォルトの名無しさん
2006/11/21(火) 21:20:40入門書はもういいよぉ
0249デフォルトの名無しさん
2006/11/21(火) 21:22:040250デフォルトの名無しさん
2006/11/21(火) 21:25:21内容がアレなら誰も見向きすらしなくなる.
0251デフォルトの名無しさん
2006/11/21(火) 22:16:40プログラマとして有名な人なの?
少なくても「みんPy」が発売ことによって、Pythonユーザーが増えたのは
事実だよね?
0252デフォルトの名無しさん
2006/11/21(火) 22:30:44このたび、Zope関係者(実績,露出皆無)が書いた書籍が発売されます
表紙には萌え絵を使ってみました
なにとぞよろしくお願いいたします
0253デフォルトの名無しさん
2006/11/21(火) 22:33:53>少なくても「みんPy」が発売ことによって
相変わらず日本語がヘンですね、寺田さん.
0254デフォルトの名無しさん
2006/11/21(火) 22:34:02いったい日本のPythonユーザの何人が当てはまるのだろう。
0255デフォルトの名無しさん
2006/11/21(火) 22:40:130256デフォルトの名無しさん
2006/11/21(火) 22:40:560257デフォルトの名無しさん
2006/11/21(火) 22:42:330258デフォルトの名無しさん
2006/11/21(火) 23:21:22たぶん購入されると思う。読んで良かったら自分でも買うかな。
0259デフォルトの名無しさん
2006/11/21(火) 23:35:330260デフォルトの名無しさん
2006/11/21(火) 23:37:190261デフォルトの名無しさん
2006/11/21(火) 23:57:570262デフォルトの名無しさん
2006/11/22(水) 00:20:210263デフォルトの名無しさん
2006/11/22(水) 00:22:46物知りだねえ。エライねえ。
0264デフォルトの名無しさん
2006/11/22(水) 01:07:05何これ、メソッドじゃないじゃん、
しかもリスト返してないし、
まあ、使うけど
0265デフォルトの名無しさん
2006/11/22(水) 02:28:59webとかあんまり興味ない.
0266デフォルトの名無しさん
2006/11/22(水) 02:53:56初心者向きの本はこれ以上不要。
0267デフォルトの名無しさん
2006/11/22(水) 03:28:04抄訳でいいからおながいw
0268デフォルトの名無しさん
2006/11/22(水) 03:28:100269デフォルトの名無しさん
2006/11/22(水) 04:06:07科学技術計算やってる人って低級言語しか興味ないような気が・・・
>>266
みんPyだって後ろのほうは十分上級者向きだと思う、
0270デフォルトの名無しさん
2006/11/22(水) 06:02:07> 科学技術計算に低級言語
FORTRAN とか使う椰子も居るんでない?
0271デフォルトの名無しさん
2006/11/22(水) 07:24:13http://www.amazon.co.jp/gp/product/3540294155/
0272デフォルトの名無しさん
2006/11/22(水) 07:44:24そこから移りつつあるみたいだよ
0273デフォルトの名無しさん
2006/11/22(水) 09:12:190274デフォルトの名無しさん
2006/11/22(水) 09:20:45この本の著者の Langtangen サメは科学技術計算のプロなので内容は信頼できる。
何度か講演を聞いた限りではとっても頭の良さそうなナイスガイだった。
この人、相当な Python スキーで同じ出版社の Diffpack の本でもバリバリ Python を使ってる。
こちらはヒジョーに高度な本。俺は科学技術計算の例題目当てで買った。
0275デフォルトの名無しさん
2006/11/22(水) 10:05:22ノルウェー在住の方ですか?
http://www.cirs-tm.org/researchers/researchers.php?id=299
0276デフォルトの名無しさん
2006/11/22(水) 10:53:14そです。英語はとても達者。
0277デフォルトの名無しさん
2006/11/22(水) 11:09:480278デフォルトの名無しさん
2006/11/22(水) 11:11:10人による。
時間管理がへたくそな現役ドカタに暇がないのは100%同意。
0279デフォルトの名無しさん
2006/11/22(水) 11:17:53PG/SE/PMの話ではない。科学研究者の話だ。
0280デフォルトの名無しさん
2006/11/22(水) 11:18:11Mark Lutzの尻の穴をおなめ
0281デフォルトの名無しさん
2006/11/22(水) 11:32:40研究職にもドカタが居るんですね.
0282デフォルトの名無しさん
2006/11/22(水) 11:41:54オレオレ
0283デフォルトの名無しさん
2006/11/22(水) 11:47:37いいなあ。うらやましい。
0284デフォルトの名無しさん
2006/11/22(水) 11:50:23トップクラスの学歴、瞠目すべき業績、底辺PG以下の年収。(傍からみると)土方。
アカポス(界隈)の半分近くそんな感じだと思う。
好きじゃないとやってられん。
0286デフォルトの名無しさん
2006/11/22(水) 11:52:220287デフォルトの名無しさん
2006/11/22(水) 11:54:590288デフォルトの名無しさん
2006/11/22(水) 12:00:37「常識にとらわれるな。上を向いて掘ってみるんだ。」
こんなこと言われないだけ、土方は幸せだよね。
0289デフォルトの名無しさん
2006/11/22(水) 12:01:280290デフォルトの名無しさん
2006/11/22(水) 12:24:200291Python初心者(復活)
2006/11/22(水) 12:32:10(レベルが低いのも…)
教えて頂けないでしょうか?
下記の通りinput.txtを作り、
Name: Tarou Bob Cheng
Age: 28 34 46
City: Tokyo New_York Beijing
それを読み込み縦横を変換するプログラムを作成
するプログラムでこのスレの先生の模範解答です。
for x in zip(*eval('[line.split()
for line in file("input.txt")]')):
print x
O/Pは下記の通りでOKです。
('Name:', 'Age:', 'City:')
('Tarou', '28', 'Tokyo')
('Bob', '34', 'New_York')
('Cheng', '46', 'Beijing')
ところがevalの前の*を消してみたら?
for x in zip(eval('[line.split()
for line in file("input.txt")]')):
print x
O/Pは、
(['Name:', 'Tarou', 'Bob', 'Cheng'],)
(['Age:', '28', '34', '46'],)
(['City:', 'Tokyo', 'New_York', 'Beijing'],)
と元通りになってしまう。引数の関数の前に
*をつける意味とその仕組みを教えて下さい。
0292デフォルトの名無しさん
2006/11/22(水) 12:57:12あと、evalとか意味わかんないで使ってるんだろうけど、そのevalは
全然意味無い
0293デフォルトの名無しさん
2006/11/22(水) 12:59:51自分で考えないけど教えてよ
自分で調べないけど教えてよ
めんどくさいから教えてよ
0294デフォルトの名無しさん
2006/11/22(水) 13:00:410295デフォルトの名無しさん
2006/11/22(水) 13:14:200296デフォルトの名無しさん
2006/11/22(水) 13:22:02残りの半分はどんなかんじなの?
好きなことやって標準並みの収入得られるならうらやましいな。
0297デフォルトの名無しさん
2006/11/22(水) 16:25:08import StringIO
file = StringIO.StringIO("""\
Name: Tarou Bob Cheng
Age: 28 34 46
City: Tokyo New_York Beijing
""")
data = [line.split() for line in file]
print "Without asterisk"
for x in zip(data[0], data[1], data[2]):
print x
print "With asterisk"
for x in zip(*data):
print x
つまり data の要素数が3のとき、
zip(data[0], data[1], data[2]) と zip(*data) は等しい。
別の例:
>>> args = (1, 2)
>>> (lambda x, y: x+y)(args[0], args[1])
3
>>> (lambda x, y: x+y)(*args)
3
0298デフォルトの名無しさん
2006/11/22(水) 18:08:560299デフォルトの名無しさん
2006/11/22(水) 18:12:220300チュートリアルも読まずに質問とな
2006/11/22(水) 18:20:29|;:;:_:;:_:;:_:;:_;:;_:;:l:;_;:_:;:_:;:_:;:_;:_;|
|______|_____|
| 三| _ _ |三 !
| 三| 三シ ヾ三 |三 |
| 三′ .._ _,,.. i三 |
ト、ニ| <でiンヽ ;'i"ィでiン |三.|
', iヽ! 、 ‐' / !、 ーシ |シ,イ
i,ヽリ ,' : !. |f ノ
ヾ! i ,、 ,..、ヽ lノ
| _ _ イ l
l ,ィチ‐-‐ヽ i /、
゙i、 ゝ、二フ′ ノ/'"\
| \ ー一 / / _,ン'゙\
,ィ|、 \ /_,、-'" _,.-''´ `丶、__
_, イ | ヽ_ 二=''" _,. -''´ """""´´ ``ー
http://www.python.jp/doc/release/tut/node6.html#SECTION006740000000000000000
0301デフォルトの名無しさん
2006/11/22(水) 19:00:50初心者某と同程度にキモいわ
0302デフォルトの名無しさん
2006/11/22(水) 19:06:43つ●
0303デフォルトの名無しさん
2006/11/22(水) 19:30:08ないか。
しかしこの * の扱いは、「初めてのPython」にも載ってたけどなあ。
個人的には、** と辞書を使った引数アンパックがすごく好き。
引数一覧を、分かりやすい形で保存できるから。
def func(a, b, c):
return a + b + c
params0 = {'a':1, 'b':2, 'c':3}
params0 = {'a':4, 'b':5, 'c':6}
print func(**params0)
print func(**params1)
0304デフォルトの名無しさん
2006/11/22(水) 19:30:53なぜメソッド内でimportするかというと、モジュール名が実行時に決まるからです。
global foo; import foo ではだめでした。
* listに複数の要素を一度に加えるには(または同じlistに連続して追加するには)どうしたらいいですか。
list.append_all(10,20,30)またはlst.append(10).append(20).append(30) みたいにできるとうれしいんですが。
新規にメソッドを用意するしかないんでしょうか。
* pythonで、スクリプトを実行することなく構文チェックだけを行うにはどうしたらいいですか。
perlやrubyの -wc オプションに相当するものです。
今は
#!/usr/bin/python
import sys
for arg in sys.argv: compile(open(arg).read(), arg, 'exec')
というスクリプトを作っているんですけど、もっとかっこいい方法あれば教えてください。
よろしくお願いします。
0305デフォルトの名無しさん
2006/11/22(水) 19:35:03global使えば?
0306デフォルトの名無しさん
2006/11/22(水) 19:46:19最初のヤツ,global使って試してみたけどこういうのじゃないの?
>>> def foo():
... global sys
... import sys
...
>>> sys
Traceback (most recent call last):
File "<stdin>", line 1, in ?
NameError: name 'sys' is not defined
>>> foo()
>>> sys
<module 'sys' (built-in)>
リストに複数の要素を追加するには
>>> l.extend([1,2,3])
とか
>>> l += [1,2,3]
すればいいんじゃね?
0307デフォルトの名無しさん
2006/11/22(水) 20:13:51http://www.python.jp/doc/release/tut/node7.html
extend(L)
指定したリスト中のすべての要素を対象のリストに追加し、リストを拡張します。 a[len(a):] = L と等価です。
0308304
2006/11/22(水) 22:59:17どうもありがとうございます。
globalは、関数の中からならOKだったんですが、メソッドの中からだとだめでした。
extend()どうもありがとうございました。dir([])でそれらしいメソッドがないかさがしたのですが、
extend()という名前じゃちょっとわかりづらいですね。マニュアル読み直します。
あと3番目の質問(syntax errorがないか調べる)もよろしくお願いします。
0309デフォルトの名無しさん
2006/11/22(水) 23:03:10メソッドでimportしたモジュールをreturnで返せばいいんじゃねえの?
0310デフォルトの名無しさん
2006/11/22(水) 23:52:050311デフォルトの名無しさん
2006/11/23(木) 10:05:22現状の方法で目的が達成できてるならそれでいいじゃん。
0312304
2006/11/23(木) 12:03:19file1.py で exec("global %s; import %s" % (module_name, module_name)) を実行すれば
別の file2.py でもモジュールが利用できるのだろうと勘違いしてました。
あるファイルでimportしたモジュールは別ファイルからは見えないというだけで、globalうんぬんは関係なかったですね。
おさわがせしました。
0313デフォルトの名無しさん
2006/11/23(木) 12:59:22起動後に取得するにはどうしたらよいのでしょうか?
ソース内で絶対パスを指定することは避けたいです。
0314デフォルトの名無しさん
2006/11/23(木) 13:04:29自分もだいぶ悩んだことあるけど結局できずに環境変数に絶対パス入れたよ。
0315デフォルトの名無しさん
2006/11/23(木) 13:10:17os.path.abspath(os.path.dirname(sys.argv[0]))
0316デフォルトの名無しさん
2006/11/23(木) 13:11:47os.path.dirname(sys.argv[0])
0317デフォルトの名無しさん
2006/11/23(木) 13:14:19あと、sys.argv[0]でなくて、__file__ だけで実行中のスクリプトファイルのパスが得られる。
0318デフォルトの名無しさん
2006/11/23(木) 13:15:250319デフォルトの名無しさん
2006/11/23(木) 13:16:21冗長。タコ。厨房。Rubyでも書いてろ。
>>317
Pythonic!!!
0320デフォルトの名無しさん
2006/11/23(木) 13:16:57知ってる。感謝祭だ。
0321デフォルトの名無しさん
2006/11/23(木) 13:17:52休日もパイソンパイソン
0322デフォルトの名無しさん
2006/11/23(木) 13:19:390323デフォルトの名無しさん
2006/11/23(木) 13:23:510324デフォルトの名無しさん
2006/11/23(木) 13:24:220325デフォルトの名無しさん
2006/11/23(木) 13:42:270326デフォルトの名無しさん
2006/11/23(木) 13:49:130327デフォルトの名無しさん
2006/11/23(木) 13:51:070328デフォルトの名無しさん
2006/11/23(木) 14:07:32えええええええええ
0329デフォルトの名無しさん
2006/11/23(木) 14:18:26Zopeの次はDjango?仲間割れの演出必死だな(www
0330デフォルトの名無しさん
2006/11/23(木) 14:20:190331デフォルトの名無しさん
2006/11/23(木) 14:28:49Django普通に盛り上がってるじゃん。いいことだよ。
過剰反応すると、キチガイのZOPE関係者(実績露出皆無)であることがばれてしまうから
気をつけた方がいいですよ。○○○さん。
0332Python初心者(復活)
2006/11/23(木) 14:42:55Many Tks.
*が可変個の引数をとることは知っていましたが
関数の前に付ける意味が良く分からなかったのです。
>>292
>あと、evalとか意味わかんないで使ってるんだろうけど、そのevalは
>全然意味無い
for x in zip(*[line.split() for line in file('input.txt')]):
print x
Oh No!これで全然問題無く動くじゃないですかぁ。
おぅい!前スレの
>>715,717
restrip()もeval()も必要ないってさぁ。
まさか?
>evalとか意味わかんないで使ってるんだろうけど
なんてことはないよねぇ?(w
ーーーーーーーーーーーーー
715 :デフォルトの名無しさん :2006/11/03(金) 13:55:57
>>712
[line.rstrip().split() for line in file('input.txt')]
717 :デフォルトの名無しさん :2006/11/03(金) 15:10:30
>>712
別にprintを使うなとは誰も言ってない
for x in zip(*eval(>>715)):
print x
==============
0333デフォルトの名無しさん
2006/11/23(木) 14:47:150334デフォルトの名無しさん
2006/11/23(木) 14:49:190335デフォルトの名無しさん
2006/11/23(木) 14:51:400336デフォルトの名無しさん
2006/11/23(木) 14:52:080337デフォルトの名無しさん
2006/11/23(木) 15:03:30>Zope関係者はDjangoコミュニティの仲間割れを画策しているの?
サークルクラッシャーかよ(WWWW
0338デフォルトの名無しさん
2006/11/23(木) 15:49:00Zopeのユーザー会と同じ日にDjangoが勉強会ぶつけてきたから
恨みに思っているのかな?
Zope関係者って怖いな!!!
0339デフォルトの名無しさん
2006/11/23(木) 16:15:000340デフォルトの名無しさん
2006/11/23(木) 16:22:18PHPにでも任せておけば?と思う今日このごろ
0341デフォルトの名無しさん
2006/11/23(木) 16:25:000342デフォルトの名無しさん
2006/11/23(木) 16:27:13なんだこの対立構図は(WWW
ZOPEは死に体なのでDjangoの対抗になんてなり得ないだろ(WWWWWWWWW
>>340
まあ過剰反応している人は基地外なので放っておきましょう
0343前スレ717
2006/11/23(木) 17:27:13>Oh No!これで全然問題無く動くじゃないですかぁ。
>おぅい!前スレの
>>>715,717
>restrip()もeval()も必要ないってさぁ。
それはね、他人のレス内のコードを自分のコード内に取り込むには
イキナリ>>715で参照するのはなんとなくperlっぽい無秩序な感じがする。
ここはpythonぽく他人のレス=文字列と捉えてevalをしよう
っていう冗談だったんだよ。
ちなみに関数の前の*は、単に関数の返り値に対して*を付けるのと
一緒。だからこの場合は*[line.split() for line in file('input.txt')]
という付け方に等しくなる
0344デフォルトの名無しさん
2006/11/23(木) 18:05:09下のプログラムでhogehogeと表示されるにはどうすればいいのでしょうか?
class Test :
def printHoge(self) :
print "hogehoge"
def __init__(self) :
print "hoge1"
self.printHoge
hoge = Test()
0345344
2006/11/23(木) 18:09:050346デフォルトの名無しさん
2006/11/23(木) 20:34:22まず、インデントを付ければいいんじゃないかな。
0347デフォルトの名無しさん
2006/11/23(木) 20:38:410348デフォルトの名無しさん
2006/11/23(木) 20:54:12初心者乙
0349デフォルトの名無しさん
2006/11/23(木) 21:09:280350デフォルトの名無しさん
2006/11/23(木) 21:10:45の
>>の後には何を持ってくればOKなんですか?
0351デフォルトの名無しさん
2006/11/23(木) 21:14:52愛。
うふふ。
0352デフォルトの名無しさん
2006/11/23(木) 21:16:52愛の入力方法がわかりません。
とりあえず漢字・英語・平仮名・片仮名は試したんですが・・・
どうすればいいでしょうか?
0353デフォルトの名無しさん
2006/11/23(木) 21:19:10勉強して出直してらっしゃい。
0354デフォルトの名無しさん
2006/11/23(木) 21:29:13そういうときはコピペが基本だと思う
0355デフォルトの名無しさん
2006/11/23(木) 21:39:090356デフォルトの名無しさん
2006/11/24(金) 07:47:27どれをどう使えばいいんですか?
0357デフォルトの名無しさん
2006/11/24(金) 07:52:34チンコを使え
0358デフォルトの名無しさん
2006/11/24(金) 08:11:130359デフォルトの名無しさん
2006/11/24(金) 12:37:14ファイルオブジェクトと同様の write() メソッドがあるオブジェクトなら何でも可だと思われ。
0360Python初心者(復活)
2006/11/24(金) 12:41:25>冗談だったんだよ。
遅まきながら…wwwwwwwww
0361デフォルトの名無しさん
2006/11/24(金) 13:00:230362デフォルトの名無しさん
2006/11/24(金) 13:03:01・人に情けをかけておくと,巡り巡って結局は自分のためになる
・人に情けをかけて助けてやることは,結局はその人のためにならない
選ぶのは君だw
0363デフォルトの名無しさん
2006/11/24(金) 14:48:20勉強して出直してらっしゃい。
ふふふ。
0364デフォルトの名無しさん
2006/11/24(金) 14:56:030365デフォルトの名無しさん
2006/11/24(金) 15:09:550366デフォルトの名無しさん
2006/11/24(金) 15:15:57http://blog.livedoor.jp/dankogai/archives/50696206.html
この問題、もっとスマートに解決することはできないもんでしょうか?
0367デフォルトの名無しさん
2006/11/24(金) 15:25:46そもそも0x10000を超えるUnicode(滅多に使わないけど)の扱いが不完全なのが原因
おそらくPython 3000で解決する
0368デフォルトの名無しさん
2006/11/24(金) 15:27:060369デフォルトの名無しさん
2006/11/24(金) 15:30:06ちゃんとサポートされれば素晴らしいと思うが、今のところ必要としているのは
言語学者と京極夏彦くらいだろう。w
0370デフォルトの名無しさん
2006/11/24(金) 15:36:48ここは Perl に合わせるならこうだろうなあ。
import codecs, sys; sys.stdout = codecs.getwriter("utf-8")(sys.__stdout__)
0371デフォルトの名無しさん
2006/11/24(金) 16:17:07・site.pyに encoding = "utf-8" って書け
・unichr()でBMP外の文字使いたけりゃ--enable-unicode=ucs4 でconfigureしろ
って教えてあげたほうがいいのかな。
0372デフォルトの名無しさん
2006/11/24(金) 16:22:04>・site.pyに encoding = "utf-8" って書け
あわわわわ。
0373デフォルトの名無しさん
2006/11/24(金) 16:23:36>>> utf32chr(0x2A6B2)
u'¥U0002a6b2'
0374デフォルトの名無しさん
2006/11/24(金) 16:50:50http://www.python.jp/Zope/PyLog/PyLog/1164123776/1164341843/ [python.jp]
ここは、Lightweight Language(Perl,Python,Ruby,PHP)ユーザーを巻き込んで開催したいと思います。
0375デフォルトの名無しさん
2006/11/24(金) 18:46:24pythonのCGIHTTPServerのCGIの処理ってどうしてるんだろう?
同じCGIを複数の人がリクエスト出した場合内部でマルチスレッドで処理してるの?
それともキュー?
どこを見ればわかるの。
0376デフォルトの名無しさん
2006/11/24(金) 18:47:46ソースコード。
0377375
2006/11/24(金) 19:00:48% cat -n /usr/local/lib/python2.4/CGIHTTPServer.py | grep fork
6 If the os.fork() function is not present (e.g. on Windows),
43 have_fork = hasattr(os, 'fork')
128 if not (self.have_fork or self.have_popen2 or self.have_popen3):
204 if self.have_fork:
205 # Unix -- fork as we should
210 self.wfile.flush() # Always flush before forking
211 pid = os.fork()
0378デフォルトの名無しさん
2006/11/24(金) 19:03:260379デフォルトの名無しさん
2006/11/24(金) 21:13:490380デフォルトの名無しさん
2006/11/24(金) 22:39:38fctrl.flock()とfctrl.lockf()はファイルオブジェクトではなくファイル記述子を使うものであり、Unixでは使えるけどWindowsで使えるかは不明。
os.open()も第2引数でオプションフラグを指定できるみたいだけど、そのオプションフラグについてはマニュアルにも詳しいことは書いてないし、Windowsでは使えないみたい。
結局、どうすればいいんでしょうか。
0381デフォルトの名無しさん
2006/11/24(金) 22:42:120382デフォルトの名無しさん
2006/11/24(金) 22:56:21ちょうどdictのgetと同じようなものが、listにも欲しい。
>>> lst = [1,2,3]
>>> lst.get(4)
None
0383デフォルトの名無しさん
2006/11/24(金) 23:57:38悩みどころ。
あの領域の漢字は滅多に出会わないから
無駄な領域喰うのもあれだし、コンパイルし直すのも面倒だし。
さりとて使われるとうまくいかない。
0384デフォルトの名無しさん
2006/11/25(土) 01:12:37こんなことしたいの?
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/65203
別に止めはしないが時間の無駄だと思うぞ。
0385デフォルトの名無しさん
2006/11/25(土) 01:17:34ないんじゃね?
必要ならlistを継承して作れるけど、可読性が下がる。
0386デフォルトの名無しさん
2006/11/25(土) 01:21:59みたいなことをPython入門(Pythonプログラミング)に書いてあった気がする
0387デフォルトの名無しさん
2006/11/25(土) 06:32:480388デフォルトの名無しさん
2006/11/25(土) 07:20:400389デフォルトの名無しさん
2006/11/25(土) 10:14:41MeCabの最新版とMeCab python bindingを落としてきて、MeCabをインストールして、
MeCab python bindingのsetup.pyは↓のページを参考に書き換えました。
http://www.atransia.co.jp/home/fukamachi/Diary/2006/01/15/
またpythonのバイナリは↓を利用しています。
http://www.python.jp/Zope/download/pythonjpdist
しかし、次のような出力が出てインストールできませんでした。
----ここから
running install
running build
running build_py
running build_ext
error: Python was built with version 6 of Visual Studio, and extensions need to
be built with the same version of the compiler, but it isn't installed.
-----ここまで
普段はVC++を使っているので、VS2003は入っているのですが、VC6は持っていません。
VC6無しにインストールすることってできるのでしょうか。
0390デフォルトの名無しさん
2006/11/25(土) 10:46:45かな?
試してないから分からんけど
マニュアル読んでみて
0391デフォルトの名無しさん
2006/11/25(土) 10:49:54MinGW 使えば本体が VC6 でも大丈夫だと思われ。
0392デフォルトの名無しさん
2006/11/25(土) 11:22:01あくまで一般論だが、プログラムとそれが依存するDLL
の両者がCランタイム(libc)に依存している場合、そのバージョン/変種は
一致していなければならない。
VC6のDLL版のCランタイムはMSVCRT.DLL、VC7.1(VS2003)ではMSVCR71.DLL
なので、当然まずいわけだ。
Pythonを自分でVS2003でビルドするか、いっそCygwin環境でも使うんだね。
0393389
2006/11/25(土) 12:28:30リンクがうまくいってない感じなんですが、コレはもうMecabのスレで聞いたほうがいいかな。
MeCab_wrap.cxxはコンパイル時にキャストミスしてたんで、無理やりキャストした。
0394389
2006/11/25(土) 12:33:43リンクがうまくいってない感じなんですが、コレはもうMecabのスレで聞いたほうがいいかな。
MeCab_wrap.cxxはコンパイル時にキャストミスしてたんで、無理やりキャストした。
0395デフォルトの名無しさん
2006/11/25(土) 17:37:44ctypes使ったやり方のほうが簡単だと思うよ。
ttp://kugutsushi.s12.xrea.com/blog/index.cgi?id=10
俺が試した環境はWinXp, ActivePython2.4+ctypesモジュール
0396デフォルトの名無しさん
2006/11/25(土) 21:08:29ZOPE関係者ってイタいな(wwww
0397デフォルトの名無しさん
2006/11/25(土) 22:29:260398デフォルトの名無しさん
2006/11/25(土) 22:43:240399デフォルトの名無しさん
2006/11/26(日) 00:00:09すぐにT-Shirtsを作るのはどうしてですか?
0400デフォルトの名無しさん
2006/11/26(日) 00:15:220401デフォルトの名無しさん
2006/11/26(日) 00:17:450402デフォルトの名無しさん
2006/11/26(日) 00:18:350403デフォルトの名無しさん
2006/11/26(日) 00:22:590404デフォルトの名無しさん
2006/11/26(日) 00:34:380405デフォルトの名無しさん
2006/11/26(日) 00:55:470406デフォルトの名無しさん
2006/11/26(日) 01:06:000407デフォルトの名無しさん
2006/11/26(日) 02:25:00dict.get()ではなくあくまでdict[]でアクセスしたうえで、KeyErrorのかわりにNoneが返されるようにしたいです。
d = {}
d.__getitem__ = d.get
としてみましたが
AttributeError: 'dict' object attribute '__getitem__' is read-only
とのことで、dictのメソッドは変更できないみたいです。
0408デフォルトの名無しさん
2006/11/26(日) 02:27:030409デフォルトの名無しさん
2006/11/26(日) 03:09:100410デフォルトの名無しさん
2006/11/26(日) 03:39:000411デフォルトの名無しさん
2006/11/26(日) 03:57:22def __getitem__(self,a):
return self.get(a)
でそれっぽい動きしてる気がする。けど、あまりお勧めしたくない感じ・・・
0412デフォルトの名無しさん
2006/11/26(日) 03:58:31dictを継承したクラスを作って使うことはできる。
分かりやすく書くなら、
class MyDict(dict):
def __getitem__(self, k):
return self.get(k)
もしくは、↓でも同様。
class MyDict2(dict):
__getitem__ = dict.get
dictのデフォルトの動作そのものを変えられるわけではないので、
ご期待には添えないかもしれませんが、
使うときは、こんな感じになるでしょう。
>>> MyDict({'x':2})
{'x': 2}
>>> x = MyDict(a=1, b=2)
>>> x
{'a': 1, 'b': 2}
>>> print x["a"], x["b"], x["c"]
1 2 None
こんなんでどうでしょうか。
0413デフォルトの名無しさん
2006/11/26(日) 07:10:59のでしょうか?
https://www.livly.com/login.php
http://d.hatena.ne.jp/kenkitii/20060216/p1 を見ながら色々試して
みたのですがうまくいきません。ご教示お願いできないでしょうか。
よろしくお願いします。
0414デフォルトの名無しさん
2006/11/26(日) 09:45:500415デフォルトの名無しさん
2006/11/26(日) 09:50:04data = urlencode((("nname","名前"),("password","パスワード"),("login","true")))
print urlopen("https://www.livly.com/login.php",data).read()
*名前を全角で登録してる場合文字コード注意
0416デフォルトの名無しさん
2006/11/26(日) 10:06:41この手のビジネスとしては極端に成功した例らしいと言う記事をどこかで読んだ・・・
0417デフォルトの名無しさん
2006/11/26(日) 17:26:58ttp://okwave.jp/qa2201618.html
このページの通り設定したのですがプロントが
C:\DOCUME~1\USER\MYDOCU~1>
見たいな感じでおかしなままです。
対話形式(>>>ってでるやつ)にもなりません
pythonのフルパスから実行すると普通に実行できるのですが
直せるものなら直したいです ><
0418デフォルトの名無しさん
2006/11/26(日) 17:40:10edlinを起動しても、そうなるな。
0419デフォルトの名無しさん
2006/11/26(日) 18:52:42command.com じゃなくて cmd.exe 使えば?
98とかそれ以前はシラネ
0421デフォルトの名無しさん
2006/11/26(日) 20:10:400422417
2006/11/26(日) 21:12:07しかもexeなのに24バイトでブツブツ.......
お騒がせしました(^ ^;)ゞ
0423413
2006/11/26(日) 23:05:33ありがとうございました。ただ、教えて頂いた方法でPythonからログインする
事はできたのですが、根本的な問題は解決できませんでした(泣 もしよろし
ければなのですが、ソースをアップしたら、見ていただけますでしょうか?
48KB・2000行弱なんですけど・・・どうかお願いしますです。
0424デフォルトの名無しさん
2006/11/27(月) 00:55:300425413
2006/11/27(月) 02:07:03を開くと販売しているアイテム・島が表示されたのですが、先日からログイン
していないと「ログインしてください」と表示されるようになってしまい、
パースしてアイテム・島を拾う事ができなくなってしまいました。更に、
ブラウザからlivlyにログインしても、Pythonからだと「ログインしてください」
になってしまいます。
そこで、Pythonからログインしておけば回避できるかな?と思い、こちらで
教えて頂きログインしてみたのですが結果は同じでした。cookieの管理が
云々ってサイトを見てPython2.3から2.5に変更しcookielibを操作しようと
思ったのですが、やり方がイマイチわからなくて・・・
0426デフォルトの名無しさん
2006/11/27(月) 02:26:05アカウント持ってないとテストできないようなプログラムをアップされても見てくれる
奇特な人は少ないと思う。
0427413
2006/11/27(月) 02:50:142週間程度cookieの管理と格闘していながら理解できないヘタレです。すみません。
一応、テスト用のアカウントは作成してあります。テストできる環境の準備は
整えてありますので、見て頂ける方おりますでしょうかm(_ _;)m
0428デフォルトの名無しさん
2006/11/27(月) 04:03:41氏ねばいいと思うよ
0429デフォルトの名無しさん
2006/11/27(月) 06:57:590430デフォルトの名無しさん
2006/11/27(月) 07:39:45import urllib, urllib2, cookielib
j = cookielib.CookieJar()
opener = urllib2.build_opener(HTTPCookieProcessor(j))
opener.open("https://www.livly.com/login.php",data=urllib.urlencode((("nname","名前"),("password","パスワード"),("login","true"))))
#ここでjにcookieが入る。print jで確認可能
req = urllib2.Request("http://www.livly.com/myshop?rid=3dKu")
j.add_cookie_header(req)
#これでreqのヘッダーに必要なクッキーが書き込まれる。req.header_items()で確認可能
print opener.open(req).read()
#毎回本家からクッキーを取ってくるのがアホくさいと思うなら、FileCookieJarという選択肢も可能
0431413
2006/11/27(月) 08:34:11多少書き換えてしまいましたけどできました。ありがとうございました。
これでこのまま寝ずに仕事してもへこたれません。感謝ですm(_ _)m
0432デフォルトの名無しさん
2006/11/27(月) 11:13:43どうしてここに引け目を感じているような書き方なのか理解出来ない。
0433デフォルトの名無しさん
2006/11/27(月) 11:49:31多少書き換えたものを晒しておけば、誰かの肥やしになるかもしれん。
0434デフォルトの名無しさん
2006/11/27(月) 14:10:03数値A":" リストの内容 "文字列="数値B "文字列="数値C
っていう風に出力したいんだけど、どうすればいいの?
0435デフォルトの名無しさん
2006/11/27(月) 14:36:260436434
2006/11/27(月) 14:39:40print str(strA) + ": " + str(array[0:4]) + " aaa=" + str(strB) + "ccc=" + str(strC)
としました。※len(array) = 4
0437434
2006/11/27(月) 14:41:48print str(intA) + ": " + str(array[0:4]) + " aaa=" + str(intB) + "ccc=" + str(intC)
0438デフォルトの名無しさん
2006/11/27(月) 14:42:09%s数値やリストも勝手に文字列表記に変換してくれます。
http://www.python.jp/doc/release/lib/typesseq-strings.html
0441デフォルトの名無しさん
2006/11/27(月) 15:03:050442デフォルトの名無しさん
2006/11/27(月) 15:06:59後ろの変数リストを指で数えたりすることない?
0443デフォルトの名無しさん
2006/11/27(月) 15:19:41"%(変数名)s" % locals() はどうだろう
0444デフォルトの名無しさん
2006/11/27(月) 15:21:07安すぎ。もらわない方がマシ。
>>442
そういうときは辞書を渡す。
http://www.python.jp/doc/release/lib/typesseq-strings.html
のまんなからへん。
>>> print '%(language)s has %(#)03d quote types.' % {'language': "Python", "#": 2}
Python has 002 quote types.
0445デフォルトの名無しさん
2006/11/27(月) 15:43:24つ●○○
0446デフォルトの名無しさん
2006/11/27(月) 17:04:050447デフォルトの名無しさん
2006/11/27(月) 17:30:26ドカタ価格。
0448413
2006/11/27(月) 20:10:49-中略-
urllib._urlopener = ShopURLopener()
j = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(j))
data = urllib.urlencode((("nname","名前"),("password","パス"),("login","true")))
opener.open("https://www.livly.com/login.php",data)
#リクエストurlは他defで指定
req = urllib2.Request(url)
try:
data = opener.open(req)
except:
print "失敗"
return 0
教えて頂いたソースが最初動かなくて、こんな感じで動きました。その後、
脱字に気が付いて教えて頂いたソースでもちゃんと動きました。書き換える
必要は全くなかったです。ありがとうございました。
0449デフォルトの名無しさん
2006/11/28(火) 01:26:07a=u'ちんちん'
b=u'おっき'
print a+b*2
0450デフォルトの名無しさん
2006/11/28(火) 02:19:16結果は!
0451デフォルトの名無しさん
2006/11/28(火) 02:20:500452デフォルトの名無しさん
2006/11/28(火) 02:39:390453デフォルトの名無しさん
2006/11/28(火) 02:49:270454デフォルトの名無しさん
2006/11/28(火) 04:22:120455デフォルトの名無しさん
2006/11/28(火) 04:34:52○○○さん,遅くまでご苦労なんだぜ?
0456デフォルトの名無しさん
2006/11/28(火) 13:15:42最大公約数
def gcd(a,b):
if b == 0:
return a
gcd(b,a%b)
print gcd(21,15)
---結果---
None
---------
何故?
0457デフォルトの名無しさん
2006/11/28(火) 13:19:57+ return gcd(b,a%b)
0458デフォルトの名無しさん
2006/11/28(火) 13:20:390459デフォルトの名無しさん
2006/11/28(火) 13:25:27ありがとう。なるのはなった。
でも理由がピンとこない。
0460デフォルトの名無しさん
2006/11/28(火) 13:26:340461デフォルトの名無しさん
2006/11/28(火) 13:28:170462デフォルトの名無しさん
2006/11/28(火) 13:30:100463デフォルトの名無しさん
2006/11/28(火) 13:57:55>>461
値を返すのはb == 0のときだけでいいから、gcd(b,a%b)の部分は関数呼ぶだけでいいと思ったので。
>>462
たぶんそう。rubyのスクリプト例見ながら練習してるから。
ソースはなるべく見ないようにしてるんだけど、流れが分からないときだけ見るようにしてて、
それでごっちゃになってるんだと思う。
0464デフォルトの名無しさん
2006/11/28(火) 14:14:56Perlもだっけ?<最後に評価した値を勝手にreturn
0465デフォルトの名無しさん
2006/11/28(火) 15:00:49せっかくだから非再帰版も作ってみれ。簡単だから。
0466407
2006/11/28(火) 20:54:33おくれましたが、どうもありがとうございます。
サブクラスで対応することにしました。
cgi.FieldStorageからデータをdictにコピーしてHTMLテンプレートで使っているんですが、
params.get('key')よりはparams['key']のほうが喜ばれるので。デザイナーに。
PHPもJavaもRubyもエラーにならなかったので、Pythonでエラーがでるのには驚きました。
0467デフォルトの名無しさん
2006/11/28(火) 20:57:280468デフォルトの名無しさん
2006/11/28(火) 21:02:180469デフォルトの名無しさん
2006/11/28(火) 21:31:38俺の感覚からすると信じがたいことだが、
プログラムや入力データを書き間違えていてもエラーにはならない方がよい、と考える人が結構いるみたい。
以前、某システムの互換品を作っていて、その元となるシステムが
ありえないぐらい文法エラーや実行時エラーに寛容なのに驚いた。
当然ながらそのシステム用に流通しているプログラムや入力データの中にも
大量のエラーが見つかった。システム側にエラーを指摘する機能が乏しいので
エラー入りのデータがそれと気付かれることなく出回るわけだ。
似たような事例はたぶんたくさんあると思う。ウェブブラウザはその典型ではないだろうか。
タグが閉じてなくても表示してくれる方がうれしいこともあるだろうし(俺はイヤだが)
.cssファイルや.jsファイルが見つからなくてもよきに計らってくれる方がうれしいこともあるだろう(俺はイヤだが)。
0470デフォルトの名無しさん
2006/11/28(火) 21:31:49option型のNONEを返すんだが、俺はSMLのほうが好きだなあ。
動的型付けの言語では例外出たほうがいいのかもしれない。
でもRubyでHash#fetchはあんまり使わない気がする。
0471デフォルトの名無しさん
2006/11/28(火) 21:45:58でも、>>466のケースは文章を読む限りではエラーになったほうが良さそうだよな。
0472デフォルトの名無しさん
2006/11/28(火) 22:08:24http://www.radiumsoftware.com/0608.html#060809
0473デフォルトの名無しさん
2006/11/28(火) 22:40:38業務システムだって、間違ったデータでも正しく処理できるならエラーを出す必要はない。
問題は、間違ったデータで正しい処理をする超能力がどれだけあるかだが。
0474デフォルトの名無しさん
2006/11/28(火) 22:44:050475デフォルトの名無しさん
2006/11/28(火) 22:57:25print u'てすと'
てすと
となるのですが、ipythonだと
print u'てすと'
文字化け
となっちゃいます。~/.ipython以下に設定するとことかあるのでしょうか?
0476デフォルトの名無しさん
2006/11/29(水) 00:51:17print unicode('ほげ', 'mbcs')
とやったときはどうなる?
0477デフォルトの名無しさん
2006/11/29(水) 00:59:38"".join(list)
じゃ無理だから、似たような方法ない?
0478デフォルトの名無しさん
2006/11/29(水) 01:08:02x.append(1)
print x
>>> hoge()
[1, 1]
>>> hoge()
[1, 1, 1]
はめられたああああ!
初期化してくれねぇのかよ!
0479デフォルトの名無しさん
2006/11/29(水) 01:09:29横着しないで入門書読めば?
0480デフォルトの名無しさん
2006/11/29(水) 01:14:48reduce(lambda x, y:str(x)+str(y),[1,2,3])とか?
0481デフォルトの名無しさん
2006/11/29(水) 01:20:16いや、読み返して絶叫したんだよ。
正しくは「はまった俺はアホ」でした。すみません><
0482デフォルトの名無しさん
2006/11/29(水) 01:31:00thanx
0483デフォルトの名無しさん
2006/11/29(水) 01:46:17"".join(map(str,list))
0484デフォルトの名無しさん
2006/11/29(水) 02:00:19まともな入門書なら、なぜそのようなことが起こるのか、たいてい書いてあるな。
>>477
冗長に思えるかも知れないけど、リストコンプリヘンションは表記として分かりやすいと思う。
"".join([str(x) for x in [1,2,3]])
あと、listという変数名は使わない方がいい。
0485デフォルトの名無しさん
2006/11/29(水) 02:17:23>まともな入門書なら、なぜそのようなことが起こるのか、たいてい書いてあるな。
ハマりどころだからね.
初心者がハマりやすい罠を、丁寧に解説してあるのがよい入門書の条件だと思う.
0486デフォルトの名無しさん
2006/11/29(水) 03:20:32例えばdict.has_key()はアンダーバーが入っててhasattr()は入っていないんですが、ここらへんの命名方針があれば教えてください。
0487デフォルトの名無しさん
2006/11/29(水) 07:10:49> 関数名
>
> 関数名は lowercase 方式で命名。アンダースコアで単語を区切って可
> 読性を上げてもよい。mixedCase 方式は、既に広く使われているような文
> 脈(たとえば threading.py)で、互換性を保つ場合にのみ許される。
>
> メソッド名
>
> 関数の場合とほぼ同じ。lowercase 方式で命名し、可読性を上げる目的で、
> アンダースコアで単語を区切るのは構わない。
さじ加減次第?
0488475
2006/11/29(水) 07:32:24print u
てすと
となりますた。なんでだろう。
0489デフォルトの名無しさん
2006/11/29(水) 07:35:49http://www.python.jp/doc/release/tut/node6.html#SECTION006700000000000000000
>重要な警告: デフォルト値は 1 度だけしか評価されません。デフォルト値がリストや辞書のような変更可能なオブジェクトの時にはその影響がでます。例えば以下の関数は、後に続く関数呼び出しで関数に渡されている引数を累積します:
0490デフォルトの名無しさん
2006/11/29(水) 11:12:18Python 3.0で統一されるかも根。
0491Python初心者(復活)
2006/11/29(水) 12:14:41Python2.5ではgeneratorにおいてsend()によって「値を
渡す」ことが出来るようになったとある。
例えば:
lang = ['C','Java','Perl','Lisp',
'Python','Ruby']
def conLang (maximum):
i = 0
while i < maximum:
val = (yield lang[i])
if val is not None:
i = lang.index(val)
else:
i += 1
if __name__=='__main__':
x = conLang(6)
print x.next()
print x.next()
print x.send('C')
print x.next()
print x.send('Python')
print x.next()
以上のコードから、原則的にyield文の戻り値は代入
出来ないが、send()とは結局(yield ??)の
「代入」を可能にするということですか?
0492デフォルトの名無しさん
2006/11/29(水) 12:43:190493デフォルトの名無しさん
2006/11/29(水) 13:27:20そもそも、環境を書け。
http://lowlife.jp/nobonobo/zine/5/6.html
あたりは参考にならんのか?
0494デフォルトの名無しさん
2006/11/29(水) 13:41:43... while 1:
... val = (yield 10)
>>> __import__('dis').dis(mygen)
2 0 SETUP_LOOP 10 (to 13)
3 >> 3 LOAD_CONST 1 (10)
6 YIELD_VALUE
7 STORE_FAST 0 (val)
10 JUMP_ABSOLUTE 3
>> 13 LOAD_CONST 0 (None)
16 RETURN_VALUE
(参考: ttp://www.python.jp/doc/2.4/lib/bytecodes.html)
直前のnext()やsend()が値を返した直後はYIELD_VALUEまで実行されている。
send(arg)を呼ぶとargをTOSに積んでSTORE_FAST以降を実行。
だからval=argになって次のYIELD_VALUEまで進んで値を返す...ということじゃないかな。
next()を呼んだときはTOSにNoneを積むから、next()はsend(None)と等価だと思う。
>>> def mygen2():
... while 1:
... yield 10
2 0 SETUP_LOOP 8 (to 11)
3 >> 3 LOAD_CONST 1 (10)
6 YIELD_VALUE
7 POP_TOP
8 JUMP_ABSOLUTE 3
とにかく2.5ではnext()を呼ぶとTOSに何かを積むらしい。2.4ではYIELDの前後はこうだった。
3 >> 3 LOAD_CONST 2 (10)
6 YIELD_VALUE
7 JUMP_ABSOLUTE 3
0495デフォルトの名無しさん
2006/11/29(水) 13:47:12> yield文の戻り値は代入出来ないが
してるじゃん。
0496デフォルトの名無しさん
2006/11/29(水) 14:00:52コードだけみてもの言わないでね^^
0497デフォルトの名無しさん
2006/11/29(水) 14:01:51早漏ぎみですね・・・ストレスでせうか?
0498デフォルトの名無しさん
2006/11/29(水) 14:05:380499デフォルトの名無しさん
2006/11/29(水) 14:38:11Tkinterを使おうと思っているんですけど
Microsoft Visual Studioのダイアログエディタみたいに、
GUIでボタンなどの部品を配置するソフトはありませんか?
0500デフォルトの名無しさん
2006/11/29(水) 23:32:35Pythonにはあまりいなそうだね。
需要が無いからか、色分け設定用意されてないことも多いし…。
0501デフォルトの名無しさん
2006/11/30(木) 00:19:50色分け、普通に出来てるよ。
少数派なの?
みんなはなに使ってるのよ。
0502デフォルトの名無しさん
2006/11/30(木) 00:23:02普通は、RADが裏で勝手なコードを吐くのが
イヤだから、スクリプト言語を使ってると思うんだ。
そういうのがいいなら、僕なら netBeansかなにかに
しとくなぁ。
0503デフォルトの名無しさん
2006/11/30(木) 00:30:270504デフォルトの名無しさん
2006/11/30(木) 00:34:090505デフォルトの名無しさん
2006/11/30(木) 00:54:04日本語の扱いが他のアプリと統一できないのが嫌。
0506デフォルトの名無しさん
2006/11/30(木) 01:01:37設定が悪いだけでしょ
0507デフォルトの名無しさん
2006/11/30(木) 01:04:500508デフォルトの名無しさん
2006/11/30(木) 01:34:21自動補完って、普通の入力補完と違うの?
サクラエディタで、色分けと普通の入力補完してるけど。
最初に .py の拡張子付きで保存しないと、機能が使えない
のが多少難だけど、特段不満ないなぁ。
キーワードが少し足りないと思うけど、
設定ファイルに自分で書き足せば問題なし。
ああ、自動補完て、もしかして RAD のように
コード生成してくれる機能のこと?
あったら便利かもしれないけど、
コードの雛形をコピペするので十分かも。
0509507
2006/11/30(木) 02:32:58最近調べていないから断言出来ないけど、
サクラエディタの補完機能はおそらく、マクロ実行コマンドを叩いてから実行されるが、
crescent eve の場合はうざい位に候補を自動で出してくれる。※編集中ファイル内の単語から候補を抽出。
EmEditor、秀丸とかも試しんですが、いづれもマクロを使って実現しているだけで、
必ずトリガーが必要で好きじゃない。
サクラで↑のような自動補完機能があれば即乗り換えなんですが、
どうでしょうか?
というか今から調べてみます。
0510デフォルトの名無しさん
2006/11/30(木) 02:44:31>>499
663 名前: 662 [sage] 投稿日: 2006/07/29(土) 11:50:08
SpecTIXというのがあった.
ttp://www.python.net/crew/mike/src/Spectix/Spectix.html
0511デフォルトの名無しさん
2006/11/30(木) 02:51:59TextMateというエディタがおすすめ。
たしかTurboGearのスクリーンキャストで
使われてたので見た事ある人いるかも。
0512デフォルトの名無しさん
2006/11/30(木) 02:55:01あ、自動補完ってトリガーがいらないのね。
サクラエディタではたしかに、ctr-space 叩いてるわ。
あと、サクラのPython での色分けはね、
自分で設定とかしないといけないのよ。
自分は、↓ あたりみて、あれこれやった。
(例にあがっているのは、tclだけれど)
http://www2u.biglobe.ne.jp/~k_hiray/ps_db/fsw/wiki.cgi?page=%BF%A7%CA%AC%A4%B1%C9%BD%BC%A8%A4%B9%A4%EB
0513デフォルトの名無しさん
2006/11/30(木) 03:08:49matlabモードもあるかな…
0514デフォルトの名無しさん
2006/11/30(木) 03:22:24TextMateのデフォルトではインストールされてないけど、
下の言語を追加するプラグインを入れてプラグイン一覧を見てみると
mathlabプラグインもあったよ。
http://sg.validcode.at/2006/11/7/textmate-getbundle-bundle
0515デフォルトの名無しさん
2006/11/30(木) 03:27:040516デフォルトの名無しさん
2006/11/30(木) 03:30:32TextMateは日本語入力が難しいって話だけど、どのへんがおすすめなの?
構文色分け程度なら他のエディタもあるし。
0517デフォルトの名無しさん
2006/11/30(木) 03:54:47日本語の問題はhetimaさんという人がプラグイン書いてくれたおかげで、
大分ましになったかな。作者は次のMacOSXの機能を利用して完全に解決
すると公言してる。
魅力は、他のIDEのようにフォルダを階層表示するドロワーを備えていて、
関係ファイルをタブ表示できるGUI機能。文字列を選択してオプションキー
を押すだけで選択範囲を行方向の選択から列方向の選択に切り替えて複数の
行を編集できたり、鬼車という正規表現エンジンがかなり強力で文字列の
検索置換の自由度が高いなどのエディタ機能の充実。それと、選択文字列を
シェル変数に入れてそれをスクリプトで処理してそのままエディタの文字と
置換できるので、シェルで動く言語なら何でもスクリプトが書けて、
既に何十という言語に対応した文字の色分けやスクリプトをパッケージを
まとめたバンドルというプラグインが存在してる事かな。
だめな部分は、シェアウェアだという事と、日本語に完全に対応してない、
Emacsに比べるとまだまだスクリプトが充実してない事かな。
0518デフォルトの名無しさん
2006/11/30(木) 04:14:04じゃあ一応TextMateのダウンロード先も
http://macromates.com/
0519デフォルトの名無しさん
2006/11/30(木) 07:30:31http://www.vector.co.jp/soft/win95/writing/se177399.html
0520デフォルトの名無しさん
2006/11/30(木) 08:45:59コマンド一覧吐き出させる方法があれば、設定を自作できるにしても、
本体だけでできることを少なくしてる特性上、満足なモノはできないっぽい。
かといって、全部のモジュールを拾うのは大変だし。
がんばっても入力補完できないから、alt /壊れてるIDLEの方がマシか…。
0521デフォルトの名無しさん
2006/11/30(木) 10:24:50自分は、入力補完はないとやってられないが、
色分けは特段に必要性とか感じないけど。
0522デフォルトの名無しさん
2006/11/30(木) 10:27:06で、そのグレートにマイナーなエディタってなに?
いや、避けて通りたいのでw
0523デフォルトの名無しさん
2006/11/30(木) 11:00:120524デフォルトの名無しさん
2006/11/30(木) 11:04:480525499
2006/11/30(木) 11:23:47レスthanx
SpecTIXが消滅している模様・・・
TkinterのGUIビルダーは結局ないのか?!
GUIビルダーを使いたいならPyGTKかwxPythonを使うしかないのか?!?!
0526デフォルトの名無しさん
2006/11/30(木) 11:37:44コードの雛形をコピペするんじゃ、
ダメなの?
そんなにGUIビルダーが必要かなぁ。
Java でRAD のおせっかいにはうんざりしたクチなので。
まあ、でも、オンラインのコードのコピペOKの
ちゃんとしたクイック・リファレンスはほしいと思ってる。
0527デフォルトの名無しさん
2006/11/30(木) 12:14:17> GUIビルダーを使いたいならPyGTKかwxPythonを使うしかないのか?!?!
それはイヤなの?
0528デフォルトの名無しさん
2006/11/30(木) 12:33:20public class Lituus extends Applet {
public void paint (Graphics g) {
g.setColor(Color.red);
int centerx = getWidth()/2;
int centery = getHeight()/2;
g.drawLine(0,centery,centerx*2,centery);
g.drawLine(centerx,0,centerx,centery*2);
g.setColor(Color.blue);
int n=360;
double zoomx=10,zoomy=10;
double delta =Math.PI*2/n;
int radius = (centerx<centery)? centerx*3/4:centery*3/4;
double c =Math.sqrt(2*Math.PI)*(radius);
double t = 0.001;
double r =Math.sqrt(ここ);
int lastx = (int)(r*Math.cos(t))+centerx;
int lasty = -(int)(r*Math.sin(t))+centery;
for (int i=1;i<=n;i++){
t+=delta;
r=Math.sqrt(ここ);
int x = (int)(r*Math.cos(t*zoomx))+centerx;
int y = -(int)(r*Math.sin(t*zoomy))+centery;
g.drawLine(lastx,lasty,x,y);
lastx=x;
lasty=y;
}
}
}
ここってかいたとこができればできるらしいのですが、わかりますか?おしえてください
0529528
2006/11/30(木) 12:38:460530Python初心者(復活)
2006/11/30(木) 12:39:50>next()はsend(None)と等価だと思う。
本当だぁ!
>>491
の最後を
x = conLang(6)
print x.send(None)
print x.next()
print x.send('C')
print x.send(None)
print x.send('Python')
print x.next()
と変えてみたが、全く同じ動作をする…
しかし、
if val is not None:
i = lang.index(val)
else:
i += 1
だから、Noneがsend()されればelse:以降が
実行されるってのは、当たり前だと言えば
そうだが…
0531デフォルトの名無しさん
2006/11/30(木) 13:04:10http://lowlife.jp/nobonobo/zine/5/6.html
ここを見てsitecustomize.pyを設置しているんですが、
---------------------
Python 2.4.3 on Windows XP
>>> sys.getdefaultencoding()
'mbcs'
>>> print u'ほげ'
ほげ
---------------------
Python 2.3.4 on RedHat EL4
>>> sys.getdefaultencoding()
'UTF-8'
>>> print u"ほげ"
≫
---------------------
Python 2.3 on Debian serge
>>> sys.getdefaultencoding()
'euc-jp'
>>> print u"ほげ"
Traceback (most recent call last):
File "<stdin>", line 1, in ?
UnicodeEncodeError: 'euc_jp' codec can't encode character u'\xb2' in position 3\
: illegal multibyte sequence
---------------------
>>> print u"ほげ" がうまく行くのはWindowsだけです。
何かアドバイスをいただけないでしょうか?
0532531
2006/11/30(木) 13:06:03print u"ほげ"
は問題なく「ほげ」と表示されます。
0533Python初心者(復活)
2006/11/30(木) 13:21:20正式ヴァージョンと関数を利用した簡易ヴァージョンです。
class Accumulator:
def __init__(self, start):
self.val = start
def incr(self, amount):
self.val += amount
def getValue(self):
return self.val
def accum(n):
s = [n]
def infunc(i):
s[0] += i
return s[0]
return infunc
if __name__=='__main__':
val = Accumulator(5)
val.incr(3)
print val.getValue()
val.incr(4)
print val.getValue()
ac = accum(5)
print ac(3)
print ac(4)
0534Python初心者(復活)
2006/11/30(木) 13:22:19書けないか疑問に思って良いと思う。
def foo(n):
return lambda i: return n += i
あるいは、
def foo(n):
lambda i: n += i」
とhttp://www.shiro.dreamhost.com/scheme/trans/icad-j.html
で書いている。上記簡易ヴァージョンより簡単な書き方は
ないのでしょうか?
0535デフォルトの名無しさん
2006/11/30(木) 13:47:41これはちがうの?
http://sourceforge.net/projects/ptkgb/
0536デフォルトの名無しさん
2006/11/30(木) 13:56:11自分も以前に調べたけど、ないと思う。
Pythonには
1.lambda関数には、式は書けるが、文は書けない。
2.クロージャが参照している変数は、書き換えはできない。
という制約があるから。
Guidoはlambdaが嫌いなので(見づらくなりがちだから)、1.が変わることは
ないだろうけど、2.は単に、代入するとローカル変数の宣言になってしまうと
いうだけなので、適当な表記法さえ見つかれば、クロージャの参照している変
数の書き換えの機能を追加しても良い、という話になっているらしい。以前の
Pythonスレにそう書いてあった。
0537デフォルトの名無しさん
2006/11/30(木) 14:19:33def foo(n):
a = [n]
return lambda i: a.__setitem__(0, i + a[0]) or a[0]
f = foo(1)
print f(2)
print f(3)
print f(4)
0538デフォルトの名無しさん
2006/11/30(木) 14:22:41class foo:
def __init__(self, n):
self._n = n
def __call__(self, i):
self._n += i
return self._n
f = foo(1)
print f(2)
print f(3)
print f(4)
0539デフォルトの名無しさん
2006/11/30(木) 15:12:07うまくいかない環境のPythonのバージョンを
うまくいく環境のものに合わせればいいのでは。
0541デフォルトの名無しさん
2006/11/30(木) 15:56:47知らないだろ?ランバダ。
0542デフォルトの名無しさん
2006/11/30(木) 16:01:23うちは XP で Python2.5だけど、
その方法ではうまくいかない。
(うちだけなのか?)
対話モードでは、諦めて
print unicode('ほげ', 'mbcs')
方式でやってるなぁ。
0543デフォルトの名無しさん
2006/11/30(木) 16:36:380544531
2006/11/30(木) 17:07:52>>543 それはもちろんやっております。
ところで、>>531の書き込みが一部、おかしくなっていました。
Python 2.3.4 on RedHat EL4
>>> print u"ほげ"
≫ ←ここ
「≫ 」になっていますが、実際は a の上に ~ が付いたものが出るなどの文
字化けになっています。まあ些細なことですが。
0545デフォルトの名無しさん
2006/11/30(木) 19:37:03いるんだろうか?いたら環境を教えて欲しい。ちなみに自分はダメ。
0546デフォルトの名無しさん
2006/11/30(木) 19:40:56出力できている。
0547デフォルトの名無しさん
2006/11/30(木) 19:44:19Linux (FC5 UTF-9)だが、問題なく出力される
0548デフォルトの名無しさん
2006/11/30(木) 19:45:32造族
ナニコレ(WWWWWWWWWWWWWW
0549デフォルトの名無しさん
2006/11/30(木) 19:46:39FreeBSD6.1R + Python2.4.3、2.5 (PuTTY経由)
でもいけるようだ
0550デフォルトの名無しさん
2006/11/30(木) 19:47:54ほげ
これで不都合ないので問題ない
0551デフォルトの名無しさん
2006/11/30(木) 20:08:08sys.getdefaultencoding()が
asciiでもutf-8でもmbcsでも問題ない
0552デフォルトの名無しさん
2006/11/30(木) 20:13:56Python Tk Gui Builder
出たばかりのソフトか
0553デフォルトの名無しさん
2006/11/30(木) 22:07:30スクリーンキャストあったので、よかったらどうぞ
http://macromates.com/screencast/python_part_1.mov
0554デフォルトの名無しさん
2006/11/30(木) 22:17:180555デフォルトの名無しさん
2006/11/30(木) 22:37:38Python教えてるんだと。
一回生ということは大学かなあ?
0556デフォルトの名無しさん
2006/11/30(木) 23:10:090557デフォルトの名無しさん
2006/11/30(木) 23:26:47買った人いますか?
ブログ検索では買った人を見かけない...orz...
0558デフォルトの名無しさん
2006/11/30(木) 23:27:490559デフォルトの名無しさん
2006/11/30(木) 23:50:2712月1日発売,今日じゃねーじゃん
http://www.cbook24.com/bm_detail.asp?sku=4886484602
もしかして発売の前日に話題にしとくと得する人?
0560デフォルトの名無しさん
2006/12/01(金) 00:07:25これだけ使えればコメントなんかは十分じゃない
http://www.youtube.com/watch?v=8iQVujJjTzo
0561デフォルトの名無しさん
2006/12/01(金) 00:11:45微妙。
日曜プログラマしか満足しねえだろ。
TextMateって,作者タソがマルチバイト対応宣言してるんじゃなかったっけ?
正式に対応してインライン変換できるようになるまで待つことにするよ。
0562デフォルトの名無しさん
2006/12/01(金) 00:16:37Leopardの機能つかって対応すると言ってる。
スレ違いでしつこくてすまない
0563デフォルトの名無しさん
2006/12/01(金) 00:30:54今日普通に平積みしてあった。
あまりにも低レベルな内容だったので当然スルー。
いちいちifを図で解説してもらわなくても結構という感じ。
0564デフォルトの名無しさん
2006/12/01(金) 00:39:18>あまりにも低レベルな内容だったので
「実践」ってタイトルについているのに低レベルなのか。
低レベルな実践ってなんなんだ(w
0565デフォルトの名無しさん
2006/12/01(金) 00:44:480566デフォルトの名無しさん
2006/12/01(金) 01:55:36スレ違いだと分かってて居座ってますってことか?
0567デフォルトの名無しさん
2006/12/01(金) 02:00:13略して"しっぱい"ですから
0568デフォルトの名無しさん
2006/12/01(金) 02:47:16上のほうでWindowsのエディタの話もしてたから
許容範囲かと思ったけど、別のスレに誘導すればよかったね
ごめんね
0569デフォルトの名無しさん
2006/12/01(金) 02:53:490570デフォルトの名無しさん
2006/12/01(金) 02:57:02いや、こっちもカリカリしすぎた。気分悪くしてスマソ。
0571デフォルトの名無しさん
2006/12/01(金) 03:08:32・・・と、2, 3年間考えてるが何もしてない
0572デフォルトの名無しさん
2006/12/01(金) 03:38:330573デフォルトの名無しさん
2006/12/01(金) 03:48:22にいやまさん,いつもご苦労様です
0574デフォルトの名無しさん
2006/12/01(金) 04:43:55二本語ワロス。
といかインライン入力(だっけ?)ってできないのこれ?
0575デフォルトの名無しさん
2006/12/01(金) 09:33:31実装するだけでは足りないでしょうか。
if object in MyIterable:
anything_else...
こんなことをすると、
TypeError: iterable argument required
とか
TypeError: argument of type 'type' is not iterable
と怒られます。
0576デフォルトの名無しさん
2006/12/01(金) 10:29:59MyIterableクラスのインスタンスをつくってイテレータとして利用するんだよ。
if object in MyIrerable():
# any code...
こんなかんじか?
0577デフォルトの名無しさん
2006/12/01(金) 11:49:33あぁ、なるほど。ありがとうございます。うまくいきました。
クラスオブジェクトのままではだめか……
0578デフォルトの名無しさん
2006/12/01(金) 12:59:37zip(range(0, len(n), 2), range(1, len(n), 2))とやったんですが
もうちょいスマートなやり方ないですかね?
0579578
2006/12/01(金) 13:01:380580デフォルトの名無しさん
2006/12/01(金) 13:01:52>>> [(i, i+1) for i in range(0, n, 2)]
[(0, 1), (2, 3), (4, 5), (6, 7), (8, 9)]
0581デフォルトの名無しさん
2006/12/01(金) 13:17:04思いつかなかった自分にへこむ・・・・・・
0582Python初心者(復活)
2006/12/01(金) 16:42:36>>537,538
色々とあるもんですねぇ。
そこで、無理やりgeneratorで実装してみました。
def foo(n):
a = [n]
i = 0
while 1 :
val = (yield i)
if val is not None:
a[0] += val
print a[0]
else:
print 'send(any number)!'
f = foo(1)
f.next() #<-これが無いとエラーになる。
f.send(2)
f.send(3)
f.send(4)
f.next() #<-これは正常に動作する。
f.send(5)
f.next() #<-これは正常に動作する。
これからするとgeneratorにはいきなり値を
渡すことが出来ないことになるが?
(TypeError: can't send non-None value to a
just-started generator)
他に最初から値を渡す方法があるので
しょうか?
0583デフォルトの名無しさん
2006/12/01(金) 17:36:45モジュール名を実行時に指定するわけです。
現状の構文とは相容れないとはわかってますが、
exec("import %s" % name) よりスマートな方法があれば教えてください。
0584デフォルトの名無しさん
2006/12/01(金) 17:42:54>>> sys
<module 'sys' (built-in)>
0585デフォルトの名無しさん
2006/12/01(金) 19:53:47返させる関数だから、停止してない最初に呼べないのはあたりまえ。許した
としても、yieldで停止した後に呼ばれたsendで上書きされるので意味がない。
0586デフォルトの名無しさん
2006/12/01(金) 20:35:39何でそう思った?
0587デフォルトの名無しさん
2006/12/01(金) 20:44:23という流れだと予想。
0588デフォルトの名無しさん
2006/12/02(土) 04:56:38さんくすです。そうか、ライブラリじゃなくて組み込み関数だったのか。
このままだと代入先があらかじめわかってないとだめなので
mod_name = 'mymodule'
locals()[mod_name] = __import__(mod_name)
でいくことにしました。execよりは見た目複雑ですけど、これでOKです。
>>586
import モジュール名 と
import 変数名 との区別がつけられないからです。
現状の構文では、import XXX によって、モジュール名と、そのモジュールを代入する変数の両方を同時に指定している訳で、
これが import 'モジュール名' だとモジュールを代入する変数を文字列で指定することになり、pythonのしくみとしてはおかしいかなと思いました。
rubyとは違って、モジュールを変数に代入するのがpythonなので、これは仕方ないと思ってます。
0589デフォルトの名無しさん
2006/12/02(土) 08:25:05動的にモジュールを決めてロードしたいだけなら、モジュール名と同じ名前で束縛する必要はない。
temp_module = __import__('mymodule')
として、モジュールオブジェクトtemp_moduleの属性にアクセスするだけでいいと思うよ。
0590デフォルトの名無しさん
2006/12/02(土) 13:26:42だな。
むしろ変数名のほうがコロコロ変わったんじゃ使いにくいだろね。
>>588のやりたいことがいまいちよくわからん。
0591デフォルトの名無しさん
2006/12/02(土) 14:32:34> 現状の構文では、import XXX によって、モジュール名と、そのモジュールを代入する変数の両方を同時に指定している訳で、
import A as B という構文もあるわけだが。
0592デフォルトの名無しさん
2006/12/02(土) 15:18:43はいはい、見当違いレス乙。
588の下の段落は586へのレスだろうが。
0593デフォルトの名無しさん
2006/12/02(土) 15:50:25馬鹿乙
0594デフォルトの名無しさん
2006/12/02(土) 16:10:150595Python初心者(復活)
2006/12/02(土) 16:29:40>sendはyieldで停止しているジェネレータを再開するときにyieldに値を
>返させる関数だから、停止してない最初に呼べないのはあたりまえ。
これは納得。
>許したとしても、yieldで停止した後に呼ばれたsendで上書きされるの
>で意味がない。
許せば少なくとも、停止させるだけの無意味なf.next()を書く必要が
なくなるので意味はある。
ところで、先生!
>>582
if val is not None:
a[0] += val
print a[0]
else:
print 'send(any number)!
f = foo(1)
f.next() #<-これが無いとエラーになる。
f.send(2)
f.send(3)
f.send(4)
f.next() #<-これは正常に動作する。
f.send(5)
f.next() #<-これは正常に動作する。
最初のf.next()の時だけ何故、else:節が実行されない
のでしょうか?
0596デフォルトの名無しさん
2006/12/02(土) 16:46:161.最初にsend(x)する
2.yield iでジェネレータが止まる。呼び出し側にはiが返る
3.次にsend(y)する
4.yieldがyを返し、ジェネレータが実行を再開して次のyieldでまた止まる。
だからxは意味がない。
0597デフォルトの名無しさん
2006/12/02(土) 17:15:44バカはお前だボケ。文盲は黙ってろな。
0598デフォルトの名無しさん
2006/12/02(土) 17:26:45馬鹿乙
0599デフォルトの名無しさん
2006/12/02(土) 18:14:06文盲乙
0600デフォルトの名無しさん
2006/12/02(土) 21:44:040601デフォルトの名無しさん
2006/12/02(土) 21:50:19発売前もそうだけど、発売されてからも全然わだいにならないのはなぜ?
誰も注目してないの?
そんなにひどい内容なの?
やっばり「しっぱい」なの?
0602デフォルトの名無しさん
2006/12/02(土) 21:57:07補足しとくと、
仕様書を読むだけでなく実際にジェネレータを定義して試してみればわかるが、
最初にsend(x)できるのはxがNoneの時だけ。
0603デフォルトの名無しさん
2006/12/03(日) 00:31:06Zope関係者乙
0604デフォルトの名無しさん
2006/12/03(日) 00:42:14内容がひどいからというよりも、書いてる人が偉くも偉そうでもなくて煽りどころがないからじゃないの。
0605デフォルトの名無しさん
2006/12/03(日) 01:01:39Blog検索で調べてみたけど、言及数が少ないなー。
普通に話題になってないだけだと思われ。
Pythonもこういう駄本が出版されるようになったということか。
ま、いいことですな。
>>604
みんぱいの作者タソはZope関係者に粘着されてたんでしょう?
実践Pythonの著者もZope関係者らしいが(WWWWWWWWWW
0606デフォルトの名無しさん
2006/12/03(日) 01:06:29何を話題にしろと?どこに注目しろと?
・・・表紙?
0607デフォルトの名無しさん
2006/12/03(日) 01:07:00ttp://kashino.exblog.jp/4781584
これが日本語で出版されるPython入門本の決定番だ!という気持ちであり、
もちろん今もその気持ちだが
話題にならない本の作者にしては十分偉そうじゃね?(w
0608デフォルトの名無しさん
2006/12/03(日) 03:55:060609デフォルトの名無しさん
2006/12/03(日) 10:32:57>困ったときの
誰か困っているの?
0610デフォルトの名無しさん
2006/12/03(日) 13:35:13いや、ほとんど社交辞令みたいなもんだろそれ
0611デフォルトの名無しさん
2006/12/03(日) 15:56:32Zopeの管理画面にfavicon.icoを表示させたいんですが
どこ置けばいいですか?
0612デフォルトの名無しさん
2006/12/03(日) 16:47:37おまえ2chのトップに「2ちゃんねる検索」のフォームが貼ってあることを知ってるか?
http://find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=zope&COUNT=50
0613Python初心者(復活)
2006/12/03(日) 18:39:29>>602
>yieldで止まってるから。
f.next() #<-これは何もOPしない。しかし無いとエラー。
f.send(2)
f.send(3)
f.send(4)
f.next() #<-else節のsend(any number)!をOP
f.send(5)
f.next() #<-else節のsend(any number)!をOP
しつこいようですが、最初のf.next()が
yieldで止まってelse節まで実行しないなら、
何故?二番目や三番目のf.next()は
else節を実行するのでしょうか?
0614デフォルトの名無しさん
2006/12/03(日) 19:15:52while 1:
yield
#else節
で説明すれば、最初のnext()は「関数の最初から」「次に出くわすyieldまで」
を実行する。その間にelse節はないので実行されない。
二回目以降のnext()は「止まっているyield」から「次に出くわすyieldまで」
を実行する。yieldの後else節があるので、それを実行した後while 1で戻されて
yieldで止まる。つか、最初のnextが気に入らないなら無理にジェネレータを
使う必要ない希ガス。
0615デフォルトの名無しさん
2006/12/03(日) 20:21:12心持ちとしてはすごくまっとー
>>607は厨房か、ひっきーか?
正直社会人の感性ではないな
0616デフォルトの名無しさん
2006/12/03(日) 20:23:58def consumer(func):
def wrapper(*args,**kw):
gen = func(*args, **kw)
gen.next()
return gen
wrapper.__name__ = func.__name__
wrapper.__dict__ = func.__dict__
wrapper.__doc__ = func.__doc__
return wrapper
@consumer
def func(n):
while 1:
val = yield n
if val is not None:
n += val
else:
print "send(any number)!"
f = func(1)
print f.send(2)
print f.send(3)
print f.send(4)
0617デフォルトの名無しさん
2006/12/03(日) 20:33:23>つか、糞本ですが買ってください
そうだね、
たとえ本当に糞本だったとしても、普通はそんなことは言わないね。
0618デフォルトの名無しさん
2006/12/03(日) 22:27:420619デフォルトの名無しさん
2006/12/04(月) 07:32:22同人のノリですな。キモイよね。
0620デフォルトの名無しさん
2006/12/04(月) 09:42:540621デフォルトの名無しさん
2006/12/04(月) 10:10:48>ttp://blog.livedoor.jp/dankogai/archives/50704894.html
>著者は日本でもトップレベルのPythonistasだ。
ググっても名前が全然出てこないんだけど...。
何で有名な人なの?
0622デフォルトの名無しさん
2006/12/04(月) 11:18:310624デフォルトの名無しさん
2006/12/04(月) 12:25:13>Really Pythonic Code!
お前が言うなよ(WWWWWWW
つか,参照先間違ってね?
0625デフォルトの名無しさん
2006/12/04(月) 14:09:50これはカッコいい!デコレータってすごいな!
0626デフォルトの名無しさん
2006/12/04(月) 14:17:04うまく動かない環境では、
"ほげ".decode(エンコード名)と
u"ほげ" の内容が一致しないのです。
--------------------------------
Python 2.3.5 (#2, Sep 4 2005, 22:01:42)
[GCC 3.3.5 (Debian 1:3.3.5-13)] on linux2
>>> "ほげ".decode('euc-jp')
u'\u307b\u3052'
>>> u"ほげ"
u'\xa4\xdb\xa4\xb2'
--------------------------------
Python 2.3.4 (#1, Nov 4 2004, 14:06:56)
[GCC 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)] on linux2
>>> "ほげ".decode("utf-8")
u'\u307b\u3052'
>>> u"ほげ"
u'\xe3\x81\xbb\xe3\x81\x92'
--------------------------------
Python 2.4.3 - Enthought Edition 1.0.0.beta4 (#69, Jul 13 2006, 15:35:31)
[MSC v.1310 32 bit (Intel)] on win32
>>> "ほげ".decode('mbcs')
u'\u307b\u3052'
>>> u"ほげ"
u'\u307b\u3052'
0627デフォルトの名無しさん
2006/12/04(月) 14:24:01これだけが二つの式の内容が一致しています。
残りはいずれも、u"ほげ"の側はデコードされていません。元のエンコードの
ままです。
そこで予想を立てたのですが、Python2.3以前では、対話環境では u"ほげ"を
デコードしないのではないかと思うのです。
ということでお願いなのですが、print u"ほげ"がうまく行く方、行かない方、
それぞれPythonのバージョンを教えていただけないでしょうか?
ただし、すみませんがsitecustomize.py を設定している方に限ります。
http://lowlife.jp/nobonobo/zine/5/6.html
0628デフォルトの名無しさん
2006/12/04(月) 14:38:11対話環境で
>>>print u"ほげ"
ほげ
がうまく表示される方、されない方、
それぞれPythonのバージョンを教えていただけないでしょうか?
できたらOS等の環境もお願いします。
0629デフォルトの名無しさん
2006/12/04(月) 14:55:490630デフォルトの名無しさん
2006/12/04(月) 15:37:33> Python2.3以前では、対話環境では u"ほげ"を
> デコードしないのではないかと思うのです。
その通りだと思われ。
0631626
2006/12/04(月) 15:39:31むしろ問題は、対話環境自体のようです。
同じWinXPの Python 2.4.3 - Enthought Edition 1.0.0.beta4 でも、対話
環境の種類で結果が変わりましたので。
---------------------------
# 通常の対話シェル
>>> "ほげ".decode("cp932")
u'\u307b\u3052'
>>> u"ほげ"
u'\u307b\u3052'
---------------------------
# IDLE 1.1.3
>>> "ほげ".decode('cp932')
u'\u307b\u3052'
>>> u"ほげ"
u'\x82\xd9\x82\xb0'
---------------------------
# IPython 0.6.15 -- An enhanced Interactive Python.
In [6]: "ほげ".decode('cp932')
Out[6]: u'\u307b\u3052'
In [7]: u"ほげ"
Out[7]: u'\x82\xd9\x82\xb0'
0632626
2006/12/04(月) 15:42:58・Pythonのバージョンを上げて、その標準の対話環境を使う
・u"ほげ"のデコードに対応した対話シェルを捜す
このどちらかになりそうです。
しかし、前者はなかなか難しいし、
後者も、IDLEとIPythonがダメですからねえ。うーん。
0633デフォルトの名無しさん
2006/12/04(月) 15:52:22"mbcs" のところは環境依存。
汎用性のある方法が分かっているのにヌルーするのはなぜ?
0634626
2006/12/04(月) 16:08:31その理由は、
・"ほげ".decode("cp932")と書くより、u"ほげ"の方が簡単
・スクリプトファイルの中では u"ほげ" と書いているので、統一したい
(スクリプト内では当然、エンコーディング指定は冒頭の一箇所のみにしたい)
・違うサーバごとに、対話環境で違うエンコーディングを打ち込むのは混乱する
"ほげ".decode("cp932"|"euc-jp"|"utf-8")
などです。
0635デフォルトの名無しさん
2006/12/04(月) 16:09:38ちなみに以下の例ではキー入力のエンコーディングはファイルシステムのエンコーディングと同じに違いないっ!と仮定。
>>> import sys
>>> class u(unicode):
def __new__(cls, s, enc=sys.getfilesystemencoding()):
return unicode(s, enc)
>>> u("ほげ")
u'\u307b\u3052'
0636626
2006/12/04(月) 16:30:22これは面白いですね!ありがとうございます。ちょっといじってみました。
>>> class u(object):
... import sys
... def __new__(cls, s, enc=sys.getdefaultencoding()):
... return s.decode(enc)
...
>>> u("ほげ")
u'\u307b\u3052'
u"ほげ"にカッコをつけるだけですむのは確かに楽です。しかし、
>>> u"ほげ"
u'\xa4\xdb\xa4\xb2'
こちらが直らないのは、やはり残念ですね。
0637デフォルトの名無しさん
2006/12/04(月) 16:49:44ttp://python.matrix.jp/tips/compatibility/interact_encoding.html
とかが参考にならんか?
0638626
2006/12/04(月) 17:18:27> sys.stdin.encodingやらsys.stdout.encodingやらがasciiになってるんじゃないの?
残念ながら、なっていません。
DebianではEUC-JP、RedHatではUTF-8、WinXPではCP932です。
> http://python.matrix.jp/tips/compatibility/interact_encoding.html
> とかが参考にならんか?
残念ながら、ならないようです。
環境変数「PYTHONSTARTUP」に
interact.py
# -*- encoding: mbcs -*-
などを各サーバに指定してみましたが、結果は同じでした。
そもそもこのページには、内容に疑問があります。
mbcs, cp932, shift_jisはほとんど同じもので、ひらがなの文字化けの原因には
ならないと思うのですが。
0639デフォルトの名無しさん
2006/12/04(月) 17:53:51> \python25\python -c "import sys; print sys.stdout.encoding"
cp932
> \python25\python -c "import sys; print sys.stdout.encoding" > out.txt
> more out.txt
None
という違いがあることも書いてあるといいかもね。
0640デフォルトの名無しさん
2006/12/04(月) 18:11:36リダイレクトしても、結果は変わらなかったぞ(Python2.3 on Linux)。
2.5だとそうなるの?
0641640
2006/12/04(月) 18:13:37print sys.stdout.encoding を
間違えて sys.getdefaultencoding() にしちまってた。
0642デフォルトの名無しさん
2006/12/04(月) 19:28:42まとめると
A: 判型が微妙
B: レイアウトが微妙
C: 実践というタイトルが微妙
D: サンプルコードが微妙
E: 著者は無名、(何がかは微妙だけど)トップ
なるほど、これでは話題になるわけがないな.
0643デフォルトの名無しさん
2006/12/04(月) 19:40:31必死だな
0644デフォルトの名無しさん
2006/12/04(月) 19:56:39『みんなのPython』はぼろくそに叩かれていたけれど、人に借りて読んでみたら
ごく普通の入門書だった。まあ買う気はないけど。
Rubyも散々な言われようだったけど、使ってみたら、好みは分かれるだろうが
悪い言語じゃなかった。
この煽りどもの暗い情熱はどこから涌いてくるのだろうか?
ママの愛情が足りなかったのか?
0645デフォルトの名無しさん
2006/12/04(月) 19:56:490646デフォルトの名無しさん
2006/12/04(月) 21:54:11ワタシはMatlab鹿使えないんですが.
0647デフォルトの名無しさん
2006/12/04(月) 21:57:32好みのライブラリが揃ってるほう
0648デフォルトの名無しさん
2006/12/04(月) 22:02:40いや、ここ2chだし。責任って重石の取れた、匿名筆談ならこんなもん。
人間の品性にどんな希望を抱いてるか知んないけど、
リアル以上に下司の声が大きいくらいが、むしろ自然じゃないか。
どんな板・話題でも、下層民のルサンチマンは所嫌わず。
努力してそうしてるわけではない。
0649デフォルトの名無しさん
2006/12/04(月) 22:11:490650デフォルトの名無しさん
2006/12/04(月) 22:21:22Rubyの事情は良く知らないんだけど、たぶんPythonでいいと思う。
NumPy, SciPy, mathplotlibといった、洗練されたライブラリが大量にあるから。
0651デフォルトの名無しさん
2006/12/04(月) 22:41:26648さんごめんなさい。
0652デフォルトの名無しさん
2006/12/04(月) 22:52:01みんぱいの場合は、作者本人への粘着もあったよな
Zope関係者の仕業と言うことになってるんだっけか?
0653デフォルトの名無しさん
2006/12/04(月) 23:10:13>Rubyも散々な言われようだったけど
Matzも他言語をよく扱下ろすからな。同情できん。
0654デフォルトの名無しさん
2006/12/04(月) 23:37:07ある意味とっても健全だわな。
なんて書いてて思ったんだけど、mixiにPythonコミュってある?
0655デフォルトの名無しさん
2006/12/04(月) 23:53:350656デフォルトの名無しさん
2006/12/05(火) 00:23:07Windowsだったら、この Python Enthought Editionをまず使ってみてよ。
http://code.enthought.com/enthon/
これさえインストールすれば、数値計算に必要なライブラリやツールが
ほぼすべて揃う。つうか盛りだくさん過ぎて使い切れない。
これで不足だったら、そのあとで他の選択肢を考えればいいよ。
0657デフォルトの名無しさん
2006/12/05(火) 02:17:34Matlabで用が足りているなら学習コストをかけてPythonを使う必要はない希ガス。
科学技術計算以外のこと「も」やりたいなら超お勧めだけどね。
0658デフォルトの名無しさん
2006/12/05(火) 02:35:20そういう時、無料というメリットは大きい。
あと、SCILABとかと違って、汎用言語だというのは、
欠点でもあるけど、メリットでもある。
自分の場合、計算結果をRDBに保存する必要がでてきて、
ああPythonでよかったと思った。
0659デフォルトの名無しさん
2006/12/05(火) 03:28:450660646
2006/12/05(火) 11:55:46matlabだけだと学校出た後にきついかなと思ったのと,
ゲームとかも作れるようになりたいなと思ったので質問しました.
>>656 のmac版はないかなぁ…
0661デフォルトの名無しさん
2006/12/05(火) 11:57:290662Python初心者(復活)
2006/12/05(火) 13:10:27>つか、糞本ですが買ってください
>>616のコードも良いけど、>>615のこれも
結構Really Pythonicだと思わん?
泣けるで…
ところで、
三項演算子はandとorの組み合わせで代用可能だと、
どこかで読んだ覚えがある。
x = 2
print ('One' if x == 1 else 'Not One')
print (('One' and x == 1) or 'Not One')
これはうまく作動するが、x = 1 になると下の式は
Trueを返す???
正しくはどうやるんでしょうか?
0663Python初心者(復活)
2006/12/05(火) 13:21:21始めてのPythonにしてもそうだが、外人が書く本は
どこか著者が全力で書いている部分がある。
そこが読者の心を打つ。
ところが日本人が書く本は、どこかこの程度で
いいじゃん的な部分が見られて萎える。
これは内容が分かり易いとか難しいとかを
超えたものだと思う。
自らの著作に対する姿勢の問題じゃないか。
0664デフォルトの名無しさん
2006/12/05(火) 13:25:22・・・・・・・・・・。
print x == 1 and 'One' or 'Not One'
0665デフォルトの名無しさん
2006/12/05(火) 13:29:13ただ、Pythonだと0は偽になるんで、値が0の時を真にしたい場合にハマる危険がある。
0666デフォルトの名無しさん
2006/12/05(火) 13:30:28Pythonの and と or はLISP風。
http://www.shido.info/py/python2.html#operator
タプルを使ったエラー回避。まあ2.5には三項演算子があるわけだが。
http://web.archive.org/web/20060109122923/http://www.geocities.jp/shido_takafumi/py/python2.html#operator
0667デフォルトの名無しさん
2006/12/05(火) 13:40:20ぶっちゃけ得られる銭が全く違うからなぁ・・・
日本では専門書なんて売れないから印税なんて雀の涙
米国では図書館が買ってくれるだけれも馬鹿にならない
そういう文化インフラが嫌になるくらい違うんだよね
0668デフォルトの名無しさん
2006/12/05(火) 13:42:29そうだね。トリッキーな書き方はPythonに似合わない気がする。
素直に if 文で分けるか、2.5 以降の三項演算子を使うのが吉。
0669デフォルトの名無しさん
2006/12/05(火) 16:43:30>どこか著者が全力で書いている部分がある。
全力で書きすぎて厚くなってしまった本をありがたがるのは
体力がありあまっているガイジンかオマエみたいな変わり者だけだよ
0670デフォルトの名無しさん
2006/12/05(火) 17:34:53日本のpy本はまとめサイト級(ほめ言葉)って気がする(読んでないから知らんけど)。
0671デフォルトの名無しさん
2006/12/05(火) 17:41:06>読んでないから知らんけど
ハイハイ、妄想しがちなヒキコモリは黙っていてね
0672デフォルトの名無しさん
2006/12/05(火) 18:01:120673デフォルトの名無しさん
2006/12/05(火) 22:04:46そんなあなたにはmatzの本がおすすめ。
0674デフォルトの名無しさん
2006/12/05(火) 23:07:520675デフォルトの名無しさん
2006/12/06(水) 14:41:320676Python初心者(復活)
2006/12/06(水) 21:19:19>ただ、Pythonだと0は偽になるんで、値が0の時を
>真にしたい場合にハマる危険がある。
x = 0
print x == 0 and 'Zero' or 'Not Zero'
これ、ハマらないようだけど?
0677Python初心者(復活)
2006/12/06(水) 21:20:41>米国では図書館が買ってくれるだけれも馬鹿にならない
「初めてのPython」初版、第二版とも市立図書館に既にある。
「みんなのPython」はリクエストして、現在読んでる。
「実践Python」はついこの前リクエストしたところ。
来年にはこの4冊が揃ってるはず。
来年もし市立図書館でこの4冊を発見したら、貴女は
米国ではなくて私と同じ市に住んでいるのかも…
>>673
>そんなあなたにはmatzの本がおすすめ。
表紙はいかにも品無いが、最初のRuby本は確かに
良かった。Perlのラクダ本に匹敵すると感じた。
0678デフォルトの名無しさん
2006/12/06(水) 21:29:41b = True
print b == True and 0 or 'Not Zero' # => 'Not Zero'
てことだろ
0679デフォルトの名無しさん
2006/12/07(木) 01:26:56いや 最初のあの本はダメだと思うが...
Perl4のラクダ本は良くまとまってたよな
Perl5版はぜんぜんダメだが
0680デフォルトの名無しさん
2006/12/07(木) 02:00:12買えよ。
0681デフォルトの名無しさん
2006/12/07(木) 02:04:43みんなが読めるようにした方がいいだろ。
0682デフォルトの名無しさん
2006/12/07(木) 03:45:36言語の入門書なんて、一番手元に置いておきたい類の本じゃないかな?
あ、もしかして借りたままなのか(wwww
0683デフォルトの名無しさん
2006/12/07(木) 08:22:570684デフォルトの名無しさん
2006/12/07(木) 11:27:41http://www.kmonos.net/wlog/68.html#_0134061207
このページの筆者は、今年のICFP国際プログラミングコンテストで準優勝した
東大の学生さん。
http://itpro.nikkeibp.co.jp/article/NEWS/20060927/249198/
みんPyでPythonを知ったらしい。
デコレータでメモワイズができるとか、ramdomモジュールが状態を再現できる
のが良いとか、着眼点が面白いと思った。
まあ、みんPyにはデコレータは載ってなかったけどね。
0685デフォルトの名無しさん
2006/12/07(木) 12:01:360686Python初心者(復活)
2006/12/07(木) 12:31:13いや正しい?ハマり方は、
def makeZero():
return 0
print makeZero() and 'Zero' or 'Not Zero'
じゃなかろうか?
0687Python初心者(復活)
2006/12/07(木) 12:33:17>あ、もしかして借りたままなのか(wwww
さすが経験者ですねぇ、良くご存知で(WWWWWWWWWW
>>684
>http://itpro.nikkeibp.co.jp/article/NEWS/20060927/249198/
これからたどって
http://itpro.nikkeibp.co.jp/article/NEWS/20061204/255920/
を見つけた。
RoR以来、決め打ちWebフレームがすっかり流行ですよね。
RoRが10分、上記Seasar2のChuraが3分、Djangoだと
何分で出来るんですかねぇ?
0688デフォルトの名無しさん
2006/12/07(木) 12:50:120689デフォルトの名無しさん
2006/12/07(木) 13:02:53誰もがあんたみたいに賢く能率がいいわけじゃない。
それに、話題の提供にはなっているしね。
0690デフォルトの名無しさん
2006/12/07(木) 13:07:01ttp://www.python.org/doc/faq/programming.html#is-there-an-equivalent-of-c-s-ternary-operator
>>686
正確にいうと「条件が真の場合に、0やNoneなどPythonでは偽とみなされる値を返したいとき」に
and/orによる擬似3項演算はうまくいかない。
0 if True else 1 と同じ動作を期待して True and 0 or 1 と書くのは NG、ということ。
>>662
> 三項演算子はandとorの組み合わせで代用可能だと、
> どこかで読んだ覚えがある。
「代用可能」とだけ書いてあるとしたら不十分。
上記FAQのように「代用可能なこともある。ただし云々」となっていないとハマる可能性大。
0691デフォルトの名無しさん
2006/12/07(木) 18:58:32慣れ合おうとするなよ。
キモ過ぎ。
0692デフォルトの名無しさん
2006/12/07(木) 20:14:56図書館の職員ですか?wwwwwwwww
0693デフォルトの名無しさん
2006/12/07(木) 20:28:11("or"の説明のとこ)
>左辺が真(False/0/""以外)なら、右辺の評価(実行)をせずに、左辺の値を返す。
> 右辺の評価を行わないのが重要。
> 「真を返す」のではなくて、右辺の値をそのまま返すのが重要。
説明はわかりやすいけど、返すのは左辺の値じゃ?
0694デフォルトの名無しさん
2006/12/07(木) 20:46:13どうでもいいけど、はやく本返せよ。
はがき送っておいただろ。
0695デフォルトの名無しさん
2006/12/07(木) 20:50:44そだね。バグレポするべし。
0696デフォルトの名無しさん
2006/12/07(木) 23:32:38どうでもいいなら返しません
0697デフォルトの名無しさん
2006/12/08(金) 00:45:56RoRはインストール含めて10分って言ってた気がしたけど、
Churaもインストールから始めたら何分なんでしょうね。
0698デフォルトの名無しさん
2006/12/08(金) 01:09:380699デフォルトの名無しさん
2006/12/08(金) 02:55:05単純だけど、ものすごく応用範囲が広そうだ。
考えた人は賢いなあ。
0700デフォルトの名無しさん
2006/12/08(金) 03:15:59デコレートの情報をクラスから分離できたり、
クラスのメソッドを一括でデコレートするようにできたりすれば面白そう。
0701デフォルトの名無しさん
2006/12/08(金) 10:06:570702デフォルトの名無しさん
2006/12/08(金) 11:22:110703デフォルトの名無しさん
2006/12/08(金) 11:29:170704デフォルトの名無しさん
2006/12/08(金) 11:34:340705デフォルトの名無しさん
2006/12/08(金) 12:07:33http://www.amazon.co.jp/Core-Python-Programming-Wesley-Chun/dp/0132269937/
0706デフォルトの名無しさん
2006/12/08(金) 12:08:15まとめ wiki
ttp://www7a.biglobe.ne.jp/~yasozumi/python/wiki/
0707デフォルトの名無しさん
2006/12/08(金) 12:09:480708デフォルトの名無しさん
2006/12/08(金) 12:35:10手動で止めるまで標準入力にピリオドを表示させるのを意図して作ったんですけど
import sys, time, threading
def do_something():
time.sleep(10) #何か長時間かかる処理...
class myThread(threading.Thread):
alive = True
def run(self):
while self.alive:
sys.stdout.write('.')
time.sleep(1)
def kill(self):
self.alive = False
t = myThread()
print '開始',
t.start()
do_something()
t.kill()
print '終了'
こんな感じで問題ないですかね?
0709Python初心者(復活)
2006/12/08(金) 13:04:57デコレーターはシンプルな方から逆に考えるとその本質が
掴みやすい。
1.一番簡単な直接記述例(3行):
print 'Hello'
print 'Python'
print 'Good Bye'
2.関数化した例(5行):
def say_name():
print 'Hello'
print 'Python'
print 'Good Bye'
say_name()
3.夫々を関数化した例(9行):
def greeting1():
print 'Hello'
def greeting2():
print 'Good Bye'
def say_name():
greeting1()
print 'Python'
greeting2()
say_name()
0710Python初心者(復活)
2006/12/08(金) 13:06:17def deco1(func):
def greeting1():
print 'Hello'
func()
return greeting1
def deco2(func):
def greeting2():
func()
print 'Good Bye'
return greeting2
@deco1
@deco2
def say_name():
print 'Python'
say_name()
デコレーターとはシンプルに書けることを隠蔽化と
汎用化のため、わざわざ複雑に構造化しているに
過ぎないのではなかろうか?
上記の1項は極端にしても普通は2または3項の
書き方で十分ではないかと思うが…
0711デフォルトの名無しさん
2006/12/08(金) 13:09:07>ttp://foma-zakki.cocolog-nifty.com/zakki/2006/12/python_books_py_1f47.html
「しっぱい」に載っている間違った記述についてだが。
>オブジェクトの属性のうち、オブジェクトにピリオド「.」を続けることで アクセスすることができるものを「メソッド」といいます。
著者タソは、Pythonというか、オブジェクト指向の基本が分かってないのではないかと推測。
まさに三流。
まさに駄本。
0712デフォルトの名無しさん
2006/12/08(金) 14:43:47ttp://www.trirhino.com/books/ppyerrata
みんPyも誤植が多い。
ttp://coreblog.org/ats/stuff/minpy_support/errata/
みんPyといい、しっPyといい、ブログで自慢話を書く暇があるなら、
もうすこしまともな本を書け。
0713デフォルトの名無しさん
2006/12/08(金) 15:04:42ttp://www.longtail.co.jp/errata/
「プログラミング言語C++第3版」にはこのくらいの誤植がある。
誤植は,ページ数に比例して紛れ込むものなんじゃないかと思う。
ただし,711みたいに,事実誤認とか間違った内容を書くことは誤植とは別だと思う。
はっきり言うと恥ずかしい。
0714デフォルトの名無しさん
2006/12/08(金) 15:33:27Rubyやれよ売国奴が
0715デフォルトの名無しさん
2006/12/08(金) 15:39:22実践Pythonのやつはヒドすぎ。索引無いも同然。ほかの内容見ずにすぐ棚に戻した。
0716デフォルトの名無しさん
2006/12/08(金) 15:41:09超漢字やれよ売国奴が
0717デフォルトの名無しさん
2006/12/08(金) 15:42:54しまったキー入力間違えた…orz
0718デフォルトの名無しさん
2006/12/08(金) 15:44:55道具の選び方が悪いだけ。君がしきりに主張していた「最初のnextが邪魔」
という件には有益では?「鉈で刺身が切れない」とごねるのと大差ない希ガス。
0719デフォルトの名無しさん
2006/12/08(金) 15:46:520720デフォルトの名無しさん
2006/12/08(金) 15:54:24これが噂の誤植か。
首を吊って氏ねや。
0721デフォルトの名無しさん
2006/12/08(金) 16:13:13この手の抽象化は基本的に、重複するコードを分かりやすくまとめるためにあ
るのだから、元のコードに重複が無ければ、抽象化のご利益には預かれないと
思う。
0722デフォルトの名無しさん
2006/12/08(金) 16:29:11「メモワイズ」って偉そうな名前だけど、要するに戻り値のキャッシュ。
#メモワイズ関数
def memoize(func):
memo = {}
def wrapper(x):
# return memo.setdefault(x, func(x))
if x in memo:
return memo[x]
else:
return memo.setdefault(x, func(x))
return wrapper
処理対象には、再帰の問題にはありがちだけど、フィボナッチ関数。
fn = f(n-1) + f(n-2), f2 = f1 = 1 で定義される奴。
#フィボナッチ関数
@memoize
def fib1(x):
if x <= 2:
return 1
else:
return fib1(x - 1) + fib1(x - 2)
fib() の定義に、@memoize が無い場合とある場合で比較してみたら、
素晴らしい高速化を実感できた。
デコレータいいねえ。
0723デフォルトの名無しさん
2006/12/08(金) 16:31:39そうだね。特にある関数にreturnが複数あって、その関数が何回も呼ばれている
場合(入口も出口も複数ある場合)その関数の挙動をデバッグしたいときなんか
威力を発揮する。
def decorate(f):
def wrap(foo, boo):
print "foo=%d, boo=%d" % (foo, boo)
ret = f(foo, boo)
print "ret=%d" % ret
return ret
return wrap
@decorate
def func(foo, boo):
return foo * boo
func(func(3,2), func(4,5)) + func(2,1)
まあ、これはつまらない例だけど、こんな感じで挙動を追跡できる。
0724デフォルトの名無しさん
2006/12/08(金) 16:32:420725デフォルトの名無しさん
2006/12/08(金) 16:35:31@memoizeつきだと、スタックがあふれるまで(x=500)繰り返しても一瞬。
まあこれは特殊な例だけど、
DBやネットワークから値を取得する関数などに使えば便利かも知れない。
0726722
2006/12/08(金) 16:43:39しかも722に貼ったコード、清書する前の版だった。
memoize()に変なコメントアウトがあるし、fib()がfib1()になってる。
重ね重ねすまん。
実はmemoize関数内の wrapper 関数は、最初は if文が無くて、コメントアウ
トされてるsetdefault()しか元々存在していなかった。
その版だとかえって遅くなってしまった。当たり前だけど、Pythonは正格評価
なのだった。
0727デフォルトの名無しさん
2006/12/08(金) 17:54:510728デフォルトの名無しさん
2006/12/08(金) 18:03:12待ち遠しい。
http://code.enthought.com/enthon/
0729デフォルトの名無しさん
2006/12/08(金) 21:13:400730デフォルトの名無しさん
2006/12/08(金) 21:17:09そんなことはない.2.3で使えないのはデコレータじゃなくてデコレータ構文.
0731デフォルトの名無しさん
2006/12/08(金) 21:43:51@decorator
def func(...):
...
...
これが
def func(...):
...
...
func = decorator(func)
こうなっちゃうんじゃ、相当ガッカリだよ。
0732デフォルトの名無しさん
2006/12/08(金) 23:00:39レイアウトが確かに異様に読みやすい。
あと、対話型実行例だらけなので、何を
やってるか(自分的には)把握しやすい。
ので、「読みやすい」本ではあるかなと思た。
ただ、変数とか、関数とかの説明が初心者向け
ではない(この辺はみんpyの方がかなり秀逸(と思う)
なので、ほんとうの初心者に薦める本ではないかなという感じ。
ところどころhackっぽいネタが載ってたりするので、
時間つぶしに読むにはそれなりに楽しい。
何か目的を持って情報を取り出そうとするとイライラする本かもしれないけど。
0733デフォルトの名無しさん
2006/12/08(金) 23:13:39買えよ。
0734デフォルトの名無しさん
2006/12/08(金) 23:15:48読んだという触れ込みでのレポは
0735デフォルトの名無しさん
2006/12/08(金) 23:37:36初心者には難し過ぎて価値がない.
中〜上級者には立ち読みする価値しかない.
そんな書籍なんだろう.
0736デフォルトの名無しさん
2006/12/09(土) 00:32:460737デフォルトの名無しさん
2006/12/09(土) 00:47:360738デフォルトの名無しさん
2006/12/09(土) 00:48:13class myThread は>>708をそのまま使わせていただいて、
def sandgrass(func):
"""時間経過を表示させるデコレータ
"""
def wrapper(*args, **keys):
t = myThread()
print '開始',
t.start()
ret = func()
t.kill()
print '終了'
return ret
return wrapper
@sandgrass
def do_something():
"""何か時間のかかる処理。
"""
time.sleep(10)
これってすっごく実用的じゃない?
デコレータって言うと、前処理と後処理というイメージがあったけど、
別スレッドで同時進行というのもアリだなあ。
0739デフォルトの名無しさん
2006/12/09(土) 00:50:05Zope関係者乙。
みんPyの作者に粘着すれば気分が晴れるかも知れないぞ(WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
0740デフォルトの名無しさん
2006/12/09(土) 00:54:33みんPy
>初心者にもわかりやすく解説
実Py
>Pythonは経験したことがないが、何らかのプログラミング言語に
>ついては触れてみたことがある方
実Pyは初心者向けじゃないんじゃ?
0741738
2006/12/09(土) 00:59:22def sandgrass(func):
u"""時間経過を表示させるデコレータ
"""
def wrapper(*args, **keys):
t = myThread()
print '開始',
t.start()
ret = func(* args, **keys)
t.kill()
print '終了'
return ret
wrapper.__name__ = func.__name__
wrapper.__doc__ = func.__doc__
return wrapper
元のままだと、ヘルプが機能しなくなってた。
あと、funcに引数を渡してなかった。
デコレータって、使うのは簡単だけど、作るのは結構気をつかうのね。
0743デフォルトの名無しさん
2006/12/09(土) 01:25:45おい、@sandglass を、>>722 のフィボナッチ関数に付けたら、
えらいことになったぞ。
Pythonでは再帰は鬼門なんだろうか。
0744デフォルトの名無しさん
2006/12/09(土) 01:28:250745デフォルトの名無しさん
2006/12/09(土) 01:42:35つ functools.wraps
0746デフォルトの名無しさん
2006/12/09(土) 01:44:22スタックもたった500であふれてしまうみたいだしなあ。
Stackless Python方面の人は、再帰を多用していたりするんだろうか。
デコレータと組み合わせたときの不具合で困ったりしてないのかな。
0747デフォルトの名無しさん
2006/12/09(土) 01:49:31おお、2.5にはそんなものが!
http://docs.python.org/lib/module-functools.html
Enthought Edition も2.5に早く対応してくれ!
0748デフォルトの名無しさん
2006/12/09(土) 01:49:51簡潔には書けるけど、オーバーヘッドがものすごく大きいとか書いてあったような。
0749デフォルトの名無しさん
2006/12/09(土) 02:02:25おーい、@sandglass だけど、
モジュールをリロードしたあと、処理の実行を Ctl+C で中断すると、
「...」がいつまでも出現しつづけるぞ。
どうしたら消えるんだ、これ。
まあ、オリジナルの >>708 のでも同じみたいだけど。
あと、砂時計だったら、hourglass の方が普通じゃないか?
0750デフォルトの名無しさん
2006/12/09(土) 02:08:31オーバーヘッド云々という話ではなく、計算量をちゃんと見積もれば明白。
別にCだからとかいう話ではない。再帰+キャッシングが有用な例題としては教科書的。
0751デフォルトの名無しさん
2006/12/09(土) 02:12:00def wrapper(*args, **keys):
try:
t = myThread()
print '開始',
t.start()
ret = func(* args, **keys)
print '終了'
return ret
except:
t.kill()
raise
(略)
はどうだろう
0752デフォルトの名無しさん
2006/12/09(土) 02:14:14>実Pyは初心者向けじゃないんじゃ?
俺読んだけど,なんか中途半端な内容だった。
初心者向けじゃないとしたら,誰向けなんだ? 表紙に萌えるオタク向け?
用語の不統一,微妙なサンプル,間違った解説。
このスレみてて,そう思ったのは俺だけじゃないんだと分かってホッとした。
0753751
2006/12/09(土) 02:15:300754751
2006/12/09(土) 02:19:00def wrapper(*args, **keys):
try:
t = myThread()
print '開始',
t.start()
ret = func(* args, **keys)
return ret
finally:
t.kill()
print '終了'
0756デフォルトの名無しさん
2006/12/09(土) 03:25:28付けられるのは関数にだけみたいだ。
なんか残念。
0757デフォルトの名無しさん
2006/12/09(土) 03:40:010758デフォルトの名無しさん
2006/12/09(土) 03:43:29クラスの挙動を変えられたら便利だと思うけどなあ。
0759デフォルトの名無しさん
2006/12/09(土) 03:44:04フィボナッチ数列を返すジェネレータを作ってみた。
再帰じゃなくてループ。
引数 max は項の数の最大値。
def fib(max):
f_1, f_2 = 1, 1
for i in range(1, max+1):
if i <= 2:
yield 1
else:
f = f_1 + f_2
yield f
f_1 , f_2 = f, f_1
0760デフォルトの名無しさん
2006/12/09(土) 05:32:07はじPyはどうみても冗長
みんPyは独り善がり
しっPyは受け狙い
ちなみに俺推奨は公式ドキュメント(含むリファレンス)→DiveIntoPython→本番
0761デフォルトの名無しさん
2006/12/09(土) 05:44:07def fib(max,a=0,b=1):
for i in range(max):
yield b
a,b=b,a+b
0762デフォルトの名無しさん
2006/12/09(土) 06:16:04evalが壊れてるみたいだから、インストールし直した方が良い。
0763デフォルトの名無しさん
2006/12/09(土) 09:27:222chでくだを巻くしか脳のない、ルサンチマンの760だけど
最高のPython本を書けるのは760だけだ。
出版予定は西暦3000年です。
0764デフォルトの名無しさん
2006/12/09(土) 09:50:290765デフォルトの名無しさん
2006/12/09(土) 11:23:53更新されたら更新されたぶん(追加された行)だけ
処理対象にしたい
(とりあえず tail -f のクローンを書きたい)
って言うときはどうするのでしょう?
while True:
newdata = f.read()
...
time.sleep(1)
で polling するしかない?
0766デフォルトの名無しさん
2006/12/09(土) 11:30:00ttp://www.python.org/dev/peps/pep-0246/
0767デフォルトの名無しさん
2006/12/09(土) 11:59:18ttp://lists.canonical.org/pipermail/kragen-hacks/2005-June/000413.html
0768デフォルトの名無しさん
2006/12/09(土) 12:08:190769デフォルトの名無しさん
2006/12/09(土) 12:09:27pi.py
0770Python初心者(復活)
2006/12/09(土) 12:56:57>Enthought Edition が2.5に対応するのはいつごろになるかなあ。
>待ち遠しい。
ctypeとか既に2.5に取り込まれたのもあるようだが、良さそうな
ソフトですね。
ところで、Pythondでニューラルネットの誤差逆伝搬法なんかも
随分簡潔に書けるんですねぇ。
http://arctrix.com/nas/python/bpnn.py
何をやっているのか良く分からん人が多いと思うが。
(私も含めて…)
これからはシグモイド関数の時代?
http://ja.wikipedia.org/wiki/%E3%82%B7%E3%82%B0%E3%83%A2%E3%82%A4%E3%83%89%E9%96%A2%E6%95%B0
0771デフォルトの名無しさん
2006/12/09(土) 13:12:07「これからは」っつーより、10年くらい前に流行った話だ
0772デフォルトの名無しさん
2006/12/09(土) 14:51:08ずっとワクテカしてたのにがっかりだよ。
0773759
2006/12/09(土) 15:43:32おお、ありがとう!目からウロコです。
自分もさらに少しだけ手を入れてみますた。
# ・組み込み関数名とかち合ってしまうので、引数名 max を size に変更。
# ・a, b を引数のデフォルトにするのは、外部から初期値を変更可になって
# しまうのがいやなので、関数内で普通に宣言。
def fib(size):
a = 0; b = 1
for i in range(size):
yield b
a, b = b, a + b
0774デフォルトの名無しさん
2006/12/09(土) 16:06:170775デフォルトの名無しさん
2006/12/09(土) 16:17:030776デフォルトの名無しさん
2006/12/09(土) 16:33:11> a = 0; b = 1
a, b = 0, 1 と書くのが、より Pythonic ではないかと。
ああ、こういう「自転車置き場の議論」は気楽でいいなあ。
http://0xcc.net/blog/archives/000135.html
0777デフォルトの名無しさん
2006/12/09(土) 16:44:19>>> b = u'っぽ'
>>> for i in range(10):
... print a + b * i
...
ちんぽ
ちんぽっぽ
ちんぽっぽっぽ
ちんぽっぽっぽっぽ
ちんぽっぽっぽっぽっぽ
ちんぽっぽっぽっぽっぽっぽ
ちんぽっぽっぽっぽっぽっぽっぽ
ちんぽっぽっぽっぽっぽっぽっぽっぽ
ちんぽっぽっぽっぽっぽっぽっぽっぽっぽ
ちんぽっぽっぽっぽっぽっぽっぽっぽっぽっぽ
0778デフォルトの名無しさん
2006/12/09(土) 17:53:56#coding: sjis
print u"あいうえお"
Shift JISでファイルを保存して上のを実行すると
Traceback (most recent call last):
File "D:\workspace\PythonTest\src\test.py", line 2, in ?
print u"あいうえお"
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)
というエラーが出ます。原因は何でしょうか?
0779デフォルトの名無しさん
2006/12/09(土) 18:26:16enthought版入れてたからCJKCodecが入ってないようでした
0780デフォルトの名無しさん
2006/12/09(土) 18:55:29そんなはずはないがなあ。
自分もEnthought Edition だけど、>>778のやり方で問題ないよ。
Enthought のバージョンが古いのかな?
最新は2.4だけど、これならCJKCodecs が標準添付だし。
http://www.python.jp/Zope/PyLog/1074425954/index_html
0781デフォルトの名無しさん
2006/12/09(土) 21:10:13#coding: sjis
print "あいうえお"
だとちゃんと表示されます。みんPy読んでると
print u"あいうえお"
としないとだめと書いてあるのにこっちだとエラーです。
なぜでしょうか・・・
0782デフォルトの名無しさん
2006/12/09(土) 21:26:31これの実行結果を見せてもらえないかな。
import sys
print sys.getfilesystemencoding()
print sys.stdin.encoding
print sys.stdout.encoding
print sys.stderr.encoding
print sys.getdefaultencoding()
0783デフォルトの名無しさん
2006/12/09(土) 21:27:31mbcs
None
None
None
ascii
なってます。
0784デフォルトの名無しさん
2006/12/09(土) 21:28:060785デフォルトの名無しさん
2006/12/09(土) 21:29:450786デフォルトの名無しさん
2006/12/09(土) 21:31:13この状態で日本語のUnicode文字が出力できるわけがない
0787デフォルトの名無しさん
2006/12/09(土) 21:34:18のと同じ状況なので調べてみます
0788デフォルトの名無しさん
2006/12/09(土) 21:37:47しかし、どうしてこんな設定になっているのだろう?
0789デフォルトの名無しさん
2006/12/09(土) 21:42:08もしかしたらPyDevでeclipse上で実行したからかも・・・eclipse上で先ほどのスクリプトを実行すると
mbcs
None
None
None
ascii
ですがcommand lineで実行すると
mbcs
cp932
cp932
とかになります。
0790デフォルトの名無しさん
2006/12/09(土) 21:43:45sitecustomize.py を設定したらどうなるかな。
c:\Python25/Lib/site-packages/sitecustomize.py に
import sys
sys.setdefaultencoding('cp932')
0791デフォルトの名無しさん
2006/12/09(土) 21:45:04mbcs
None
None
None
cp932
なりました
0792デフォルトの名無しさん
2006/12/09(土) 21:45:33それなら、コマンドラインなら print u"あいうえお" で行けるはずだよ。
どうやらPyDevの設定の問題かな。
0793デフォルトの名無しさん
2006/12/09(土) 21:46:03def castrate(s):
return re.sub(u'ちんぽ(っぽ)*', '', s)
0794デフォルトの名無しさん
2006/12/09(土) 21:51:21それだとやっぱりダメだねえ。
誰かPyDevの設定方法を知っている人いないか?
0795デフォルトの名無しさん
2006/12/09(土) 21:51:53ありがとうございます。コマンドライン上からはできました。
やはりPyDevみたいですがやはりPyDev上だとだめでした。
PyDevの設定見てみます。
0796デフォルトの名無しさん
2006/12/09(土) 22:49:44立ち読みしてみては?
0797デフォルトの名無しさん
2006/12/09(土) 23:15:51import sys
print sys.getfilesystemencoding()
print sys.stdin.encoding
print sys.stdout.encoding
print sys.stderr.encoding
print sys.getdefaultencoding()
をやったら
mbcs
None
None
None
mbcs
となり
#coding: sjis
str = u"あいうえお かきくけこ"
temp = str.split()
for item in temp:
print item
のプログラムはちゃんと実行できました。
perlだとそんなに気にしてなかったけどUnicode文字列とそれ以外の文字列など区別が複雑です・・・
0798デフォルトの名無しさん
2006/12/09(土) 23:35:020799デフォルトの名無しさん
2006/12/10(日) 00:01:07今日から勉強するぜー(^ω^)
0800デフォルトの名無しさん
2006/12/10(日) 00:41:17プレゼントページ
ttp://www.rakuten.co.jp/osj-online/740190/
3冊だけど、ここでの不人気ぶりを見るに、当選確立は高いんじゃ(笑)
サインがなきゃ転売できるんだがなー。
>>799
みんPyもサイン本だった?なんか書いてあった?
0802デフォルトの名無しさん
2006/12/10(日) 01:11:340804デフォルトの名無しさん
2006/12/10(日) 01:32:08ひととおり読めよ低能
0806デフォルトの名無しさん
2006/12/10(日) 02:00:00必死だなww 寝るよバカwwww
Python なんてもう消えさればいいのに。
0807デフォルトの名無しさん
2006/12/10(日) 02:11:470808デフォルトの名無しさん
2006/12/10(日) 02:42:49diveIntoPythonで勉強始めたよ.
hehe..
0809デフォルトの名無しさん
2006/12/10(日) 08:57:090810デフォルトの名無しさん
2006/12/10(日) 10:42:15>サインがなきゃ転売できるんだがなー。
サイン本プレゼントって有名人気取りかよ(wwww
三流著者のサインなんて誰がほしがるんだろうな
考えることも三流だな(wwwwww
0811デフォルトの名無しさん
2006/12/10(日) 10:56:18こんなの見つけた。
ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/9694
数値計算でRubyは避けたほうが無難?
0812デフォルトの名無しさん
2006/12/10(日) 14:36:360813デフォルトの名無しさん
2006/12/10(日) 17:50:36分厚い…
会社に持って行けるかな
0814デフォルトの名無しさん
2006/12/10(日) 22:46:55厚い、とてつもなく厚い。
厚い分あれもこれも色々書いてあるが、リファレンスとしては使いにくい。
もちろん会社で仕事の合間に読み通せるようなボリュームじゃない。
正月休みにじっくり読むしかないじゃないか?
0815デフォルトの名無しさん
2006/12/10(日) 22:50:49運搬するくらいなら会社用を買うのがお勧めw
0816デフォルトの名無しさん
2006/12/10(日) 22:53:40pythonを使う仕事って何?
0817デフォルトの名無しさん
2006/12/10(日) 22:59:000818デフォルトの名無しさん
2006/12/10(日) 23:02:43仕事で使うちょっとしたツール類や、プロトコルを検証するための実験的プログラムが
今のところ多いな。中にはそのまま納品するアプリケーションになることもあるよ。
0819デフォルトの名無しさん
2006/12/10(日) 23:10:16会社用を経費でゲット
それでコンピュータ技術書の出版に少しでも金を落としてくれ
でないとそのうち技術書は何も出版されなくなってしまう
0820デフォルトの名無しさん
2006/12/10(日) 23:10:510821813
2006/12/10(日) 23:16:59Cookbookも、これは洋書か
0822デフォルトの名無しさん
2006/12/11(月) 00:16:510823デフォルトの名無しさん
2006/12/11(月) 00:17:58もう一年近く動きがないように見えるんだが気のせいか?
0824デフォルトの名無しさん
2006/12/11(月) 00:30:40カタツムリの牛歩のごとく進んではいる
htttp://python.is-a-geek.org/cgi-bin/sechandle.cgi
0825デフォルトの名無しさん
2006/12/11(月) 01:12:14辛抱強く見守ることの大切さを感じるよ。
0826デフォルトの名無しさん
2006/12/11(月) 16:57:57Python入門
ttp://www.oreilly.co.jp/books/4900900559/
Pythonプログラミング
ttp://www.oreilly.co.jp/books/4900900672/
Python 1.4って知ってるか?
0827デフォルトの名無しさん
2006/12/11(月) 17:06:530828デフォルトの名無しさん
2006/12/11(月) 18:20:560829デフォルトの名無しさん
2006/12/11(月) 18:24:120830デフォルトの名無しさん
2006/12/11(月) 18:27:56DIPに匹敵する和製コンテンツを角くらいの意気込みのあるヤツはいねえのかボケ共が!!!
0831デフォルトの名無しさん
2006/12/11(月) 18:35:40それにしても、英語を何とか身につけたいなあ。
いつまでも翻訳を待っている身ではどうしようもない。
0832デフォルトの名無しさん
2006/12/11(月) 18:45:530833デフォルトの名無しさん
2006/12/11(月) 18:47:260834デフォルトの名無しさん
2006/12/11(月) 18:59:03ああ、でも、歴史的意義まで今になってから否定するのは
良くない希ガス。
Python1.4はさすがに知らないけど、考え方自体は、
今のPython でも通用するかもしれないし。
自分の場合は、Java をかじった経験からOOP とか
理解できたけど、学校で学んだ人間は別として、
そうでない一般人がJava 知らないで、公式ドキュメントだけで
Python (やOOP)を理解できるのか疑問に思う。
チュートリアル自体が、他の言語のことはよく知ってる人間を
対象にしてるとしか思えない書き方だし。
そういう意味では、内容にはあれこれあっても、
最近のPython 書籍ブームは歓迎かな。
早く、ほかの言語をなにも知らない人間でもすんなり入れる
言語になってほしい。(あともう少しと思う)
と、結局は人頼み…なんだけど。
0835デフォルトの名無しさん
2006/12/11(月) 19:01:49出版元:Pythonのお勉強スレ@2ch
§1:Python って何?ググれよ
§2:PEP は良いものです〜PEP相関図〜
§3:CPython ソースコードツアー
§4:で、どうやって使うの?知らんがな
0836デフォルトの名無しさん
2006/12/11(月) 19:04:38ルサンチマン乙。
0837デフォルトの名無しさん
2006/12/11(月) 19:12:350838デフォルトの名無しさん
2006/12/11(月) 19:14:530839デフォルトの名無しさん
2006/12/11(月) 19:17:07私怨私怨.
はいはい.
三流ZOPE関係者三流ZOPE関係者.
0840デフォルトの名無しさん
2006/12/11(月) 19:28:52ttp://www.python.org/about/success/
みんな仕事でPython.
0841デフォルトの名無しさん
2006/12/11(月) 19:34:40こういう書き込みをオナニーっていうんじゃねえの?(WWWW
0842デフォルトの名無しさん
2006/12/11(月) 19:36:160843デフォルトの名無しさん
2006/12/11(月) 19:42:53> Python (やOOP)を理解できるのか疑問に思う。
それはどうかな。
逆に、Javaだったら公式ドキュメントだけでJavaやOOPを理解出来るの?
0844デフォルトの名無しさん
2006/12/11(月) 19:46:48正直言って一般人がどうだろうとかって興味ないよ。
0845デフォルトの名無しさん
2006/12/11(月) 19:51:07既に一般人じゃない。
0846デフォルトの名無しさん
2006/12/11(月) 20:15:33ふざけんな
俺は一般人だ
0847デフォルトの名無しさん
2006/12/11(月) 20:29:35まぁweb系の人だから経験上でそれしか言えないという事情もあったのだろうけどね。
0848デフォルトの名無しさん
2006/12/11(月) 20:36:51理解するのはまず無理でしょうね。
失礼しました。
お詫びに(というのでもありませんが)、オブジェクト指向の参考に
なりそうなサイトのリンクをいくつか貼っときます。
オブジェクト指向入門
http://itpro.nikkeibp.co.jp/members/NSW/ITBASIC/20050617/162922/
デザインパターン
http://www.techscore.com/tech/DesignPattern/
デザインパターン
http://itpro.nikkeibp.co.jp/article/COLUMN/20051201/225570/
とはいえ、オブジェクト指向にこだわりすぎるのは、生産性を低めると
思うなぁ。小規模なプログラムなら、関数のみで組んだ方が早いし…。
0849デフォルトの名無しさん
2006/12/11(月) 20:39:460850デフォルトの名無しさん
2006/12/11(月) 20:42:110851デフォルトの名無しさん
2006/12/11(月) 20:49:390852デフォルトの名無しさん
2006/12/11(月) 21:05:450853デフォルトの名無しさん
2006/12/11(月) 21:08:510854デフォルトの名無しさん
2006/12/11(月) 21:36:350855デフォルトの名無しさん
2006/12/11(月) 22:31:510856デフォルトの名無しさん
2006/12/12(火) 01:05:38# クラス名をcapitalizeするメタクラ
class Capitalizer(type):
def __new__(meta, name, bases, attrs):
return type.__new__(meta, name.capitalize(), bases, attrs)
class foo:
__metaclass__ = Capitalizer
class BAR(foo):
pass
print foo()
# => <__main__.Foo object at 0x0125C370>
print BAR()
# => <__main__.Bar object at 0x0125C930>
0857デフォルトの名無しさん
2006/12/12(火) 01:05:46さらにIDLEまで起動しなくなっちゃんたんだけど、何が問題でしょうか?せめてIDLEが起動しないという問題は解決したいです
0858デフォルトの名無しさん
2006/12/12(火) 01:06:512.ゴミだろ! と吐き捨てる
3.でも読んでみると。と持ち上げる
4.また本人か! と反応
5.どこどこ行けよ! と追い出しにかかる
6.メタクラスの話でもしようぜ! と話を変えてみる
7.それよりも……と自分の理解できるネタに話を逸らそうとする
8.おっぱい!おっぱい! 叫びだして、全てがうやむやになる
0859デフォルトの名無しさん
2006/12/12(火) 01:12:19−=≡ ( ゚∀゚)彡 おっぱい!おっぱい!
−=≡ ⊂ ⊂彡
−=≡ ( ⌒)
−=≡ c し'
0860857
2006/12/12(火) 01:12:320861デフォルトの名無しさん
2006/12/12(火) 01:14:3499% firewallの問題だろ
0862デフォルトの名無しさん
2006/12/12(火) 01:14:370863デフォルトの名無しさん
2006/12/12(火) 01:15:32firewallってノートン先生?
0864デフォルトの名無しさん
2006/12/12(火) 01:18:03windowsで提供されてるやつです
0865デフォルトの名無しさん
2006/12/12(火) 01:18:55>>855-859の流れにワロタw
0866デフォルトの名無しさん
2006/12/12(火) 01:20:51トラブルシュートなんてやってらんないよ。
しばらく環境が出尽くすまで干しとくよろし。
0867デフォルトの名無しさん
2006/12/12(火) 01:25:52出来ればおせーて
0868デフォルトの名無しさん
2006/12/12(火) 01:26:460869デフォルトの名無しさん
2006/12/12(火) 01:32:300870デフォルトの名無しさん
2006/12/12(火) 01:33:410871デフォルトの名無しさん
2006/12/12(火) 02:13:080872デフォルトの名無しさん
2006/12/12(火) 12:03:45システムは大嫌い
0873デフォルトの名無しさん
2006/12/12(火) 12:06:19キーワード引数を使う関数が、どういうキーワードを使ってるかを
ソースを見ないで調べる方法はありますか?
例えば、
def SUM(X=1, Y=2, Z=3):
return X + Y+ Z
の時の、'X', 'Y', 'Z' というキーワードを知りたいのです。
0874デフォルトの名無しさん
2006/12/12(火) 12:13:25Help on function SUM in module __main__:
SUM(X=1, Y=2, Z=3)
0875デフォルトの名無しさん
2006/12/12(火) 12:31:12おお、できました。ありがとうございます。
0876Python初心者(復活)
2006/12/12(火) 12:33:13>9. Python初心者(復活)が現れる
オマタぁ?
>>834
>早く、ほかの言語をなにも知らない人間でもすんなり入れる
>言語になってほしい。(あともう少しと思う)
すんなり
print 'Python'
ならだれでも入れる。
import sys
sys.stdout.write('Python')
には少し知識が必要。
class Py:
def __setattr__(self,attr,py):
if attr == 'lang':
self.__dict__[attr] = py
else:
raise AttributeError,attr + ' not allowed'
if __name__=='__main__':
p = Py()
p.lang = 'Python'
print p.lang #->Python
p.name = 'Python'#->AttributeError: name not allowed
これはJavaやOOPを知っていても、__setattr__や__dict__[attr]
などのWinAPI風味の?Python独特の仕組みを知らないと厳しい。
どんな言語でも「すんなり」入れるレベルとある程度の習熟が
必要なレベルがあるだけで、「すんなり」だけで構成されて
いる言語はLogoとかDoLittleなど教育用の言語しかないんじゃ
なかろうか?
0877デフォルトの名無しさん
2006/12/12(火) 12:51:160878デフォルトの名無しさん
2006/12/12(火) 14:04:120879デフォルトの名無しさん
2006/12/12(火) 14:41:190880デフォルトの名無しさん
2006/12/12(火) 15:06:26役目がある
0881デフォルトの名無しさん
2006/12/12(火) 15:27:01Pythonには何の役目も無いな
0882デフォルトの名無しさん
2006/12/12(火) 15:48:33んなこたーない。
0883デフォルトの名無しさん
2006/12/12(火) 15:57:370884デフォルトの名無しさん
2006/12/12(火) 16:20:49何を言う!
Pythonは電卓として便利だぞ
0885デフォルトの名無しさん
2006/12/12(火) 16:29:39こういう「反撃」より先にそれが書き込まれて元レス瞬殺って流れになるんだけどね。
残念ながら、役目が思いつかないか、思いついたとしても自明ではないゆえ
必死っぽい「解説」を添えなきゃならず、結果、瞬殺イベントは起きることなく
代わりに単純否定や煽りやネタが先に来てしまう。
0886デフォルトの名無しさん
2006/12/12(火) 16:32:360887デフォルトの名無しさん
2006/12/12(火) 16:34:55霊的なレベルの低い奴には永遠に理解できないだろうけど
0888デフォルトの名無しさん
2006/12/12(火) 16:41:32Pythonを普及しよう、とかいってるやつらはマジむかつく。
俺の秘密兵器を他人に使われたらどうするんだよ。
一般人はRubyとかPerlとかPHPとか使ってろよ頼むから。
0889デフォルトの名無しさん
2006/12/12(火) 16:47:53特に対話形式の利用と他システムとの強力な連携の2点において
他のどのプログラミング言語にも取って代われない特異な位置を占めている。
0890デフォルトの名無しさん
2006/12/12(火) 16:54:04言うなよ。死ねよボケ。
0891デフォルトの名無しさん
2006/12/12(火) 17:07:54インデントなら何でもよかった。
今はトリプルクオートしている。
0892デフォルトの名無しさん
2006/12/12(火) 17:12:050893888
2006/12/12(火) 17:12:38オマエは頭が弱そうだからPHPでも使っておけば?
if 0:
コード
みたいなコードの無効化は、あんまりやらねえよな。
つーかsvnとか使い始めれば不要なコードを残しておくなんて事もしなくなるんじゃね?
0894デフォルトの名無しさん
2006/12/12(火) 17:14:00「自」まで読んで嫌になった
0895デフォルトの名無しさん
2006/12/12(火) 17:19:50だろうなぁ
現実が書かれているのは信者にはキツかろう
0896デフォルトの名無しさん
2006/12/12(火) 17:28:16最後まで読んでおまえがキチガイだとわかった。
0897デフォルトの名無しさん
2006/12/12(火) 17:31:57> インデントなら何でもよかった。
つ Haskell
0898デフォルトの名無しさん
2006/12/12(火) 17:52:100899デフォルトの名無しさん
2006/12/12(火) 17:56:060900デフォルトの名無しさん
2006/12/12(火) 18:09:30勝ち誇っている人がいておかしいですね(wwww
0901デフォルトの名無しさん
2006/12/12(火) 18:48:15てスクリプトやプロトタイプだと思う。柔軟で簡潔な構文と対話環境が、すご
く開発効率を上げてくれる。
しかし使い捨てスクリプトならPerlとかの方ががずっと普及しているわけで、
この用途に関してなら、Pythonが圧倒的に優れているわけじゃない。
たぶんポイントは、コードを書いてから半年後。Perlと違い、Pythonだと半年
後でも、読んですぐにすっと理解できる。つまり、使い捨てコードが使い捨て
じゃなくなるわけで。
http://www.python.jp/Zope/articles/misc/morality_tale
0902デフォルトの名無しさん
2006/12/12(火) 18:55:340903デフォルトの名無しさん
2006/12/12(火) 19:12:12単に劣っているものが普及しただけでは?
0904デフォルトの名無しさん
2006/12/12(火) 19:13:370905デフォルトの名無しさん
2006/12/12(火) 19:18:23要は言語の問題じゃなくて書かれ方の問題なんだが...
0906デフォルトの名無しさん
2006/12/12(火) 19:20:440907デフォルトの名無しさん
2006/12/12(火) 19:32:30というか理解できない
0908デフォルトの名無しさん
2006/12/12(火) 19:36:51ワンライナーでPythonの存在意義を示さないと885タソは満足しないぞ(www
0909デフォルトの名無しさん
2006/12/12(火) 19:57:320910デフォルトの名無しさん
2006/12/12(火) 20:18:51熱心なPerlerはみんなそう言うから、Perlerにとってはそれが真実なんだろう
とは思う。
だけどそれが普遍的な事実とは思えない。
書き方の問題じゃなくて、Pythonの方が本質的に読みやすい、と感じる人も少
なくないわけで。特にここはPythonスレだしね。
個人的には、Perlのスタイルガイドは、こういうことを気にしながら書くなら、
言語がそれを強制するPythonの方が楽だと思う。
http://www.rfs.jp/sb/perl/09/05.html
0911デフォルトの名無しさん
2006/12/12(火) 20:20:31お前らも食べてみろよ。
この世にこんなに美味い食べ物があるなんて信じられないよ。
0912デフォルトの名無しさん
2006/12/12(火) 20:30:110913デフォルトの名無しさん
2006/12/12(火) 20:31:050914デフォルトの名無しさん
2006/12/12(火) 20:36:48だけど、Pythonのコードだっていつも見やすいわけじゃないぞ。
__hoge__ だらけのコードは、初心者はぎょっとする。
初心者でなくても、リスト内包表記のネストの読みづらさは異常。
対話環境で試行錯誤していて、出来上がったのがリスト内包表記のネストだっ
たりすると、あとで読むときにえらく苦労するぞ。
0915デフォルトの名無しさん
2006/12/12(火) 20:41:05ドMのド変態が、自分の欠点をさらけ出して
ハアハアしているようにしか見えないのは気のせいか?
0916デフォルトの名無しさん
2006/12/12(火) 20:45:040917デフォルトの名無しさん
2006/12/12(火) 20:45:13リスト内包表記は集合論をかじったことがあればむしろ直感的に分かりやすい。
木をみるな、森を見るんだ!(ぇ
0918デフォルトの名無しさん
2006/12/12(火) 20:47:47問題は、それがネストした(入れ子になった)ときだよ。
キレイだし便利だから多用してると、あっという間にわけが分からなくなる。
0919デフォルトの名無しさん
2006/12/12(火) 20:49:540920デフォルトの名無しさん
2006/12/12(火) 20:50:00ラムダで変数を定義
論理演算子で制御構造
これで後で後悔できるワンライナーが書ける
0921デフォルトの名無しさん
2006/12/12(火) 20:52:05ワラタ。やはり「書き方の問題」という部分は、どんな言語にもあるよな。
0922デフォルトの名無しさん
2006/12/12(火) 20:53:10どういう多用の仕方をいってるのかよくわからないけど、
内包表記ネストが必要なところで内包表記ネストをつかうのは
分かりにくくならないと思う。要するに関数で飛ばした中身
をさらに関数で飛ばしたいとき。
0923デフォルトの名無しさん
2006/12/12(火) 20:56:48どう考えてもこのネストは分かりやすくないと思ったら
中間的な小さいクラスをねつ造してみる。
そういう必要性から生まれたクラスはたいてい、あっさりうまくいく。
0924デフォルトの名無しさん
2006/12/12(火) 20:58:49リスト内包表記がネストしたら、たいていはforループに書き直す。
バグが入り込む心配はない。
そういうときのためにdoctestがあるんだから。
0925デフォルトの名無しさん
2006/12/12(火) 21:41:23メタクラスの時間ですよ。
0926デフォルトの名無しさん
2006/12/12(火) 22:20:090927デフォルトの名無しさん
2006/12/12(火) 22:26:41話題にする気なんて無いくせに・・・
0928デフォルトの名無しさん
2006/12/13(水) 09:37:340929デフォルトの名無しさん
2006/12/13(水) 09:44:11ロジックのプロトタイプを書くのにワンライナーを使っているんだとすると、まずそのステップを踏んであとで直すという無駄な手間を自慢する理由もわからない。ひょっとしてオn(ry
0930デフォルトの名無しさん
2006/12/13(水) 09:52:23何に対する「ところで」なんだよ。
ちゃんと寝てるか?
0931デフォルトの名無しさん
2006/12/13(水) 09:56:262レス連続で電波だな。
0932デフォルトの名無しさん
2006/12/13(水) 10:06:46(lambda a, b, chk = lambda ob: isinstance(ob, __import__('datetime').date): chk(a) and chk(b) and b - a)(some_long_expression_no1, some_long_expression_no2)
とかしてラムダで変数定義してandでif的構造を再現するワンライナーとか
mapとreduceとfilterと[]でごにょごにょし続けるワンライナーとか
こういうのを組み合わせて一行ってるといつまでたっても終わらないのでバランス感覚は必要だよねという話
プロトタイピングでそんな複雑なワンライナー書くわけねーだろ変態野郎といわれたら申し訳ない
0933デフォルトの名無しさん
2006/12/13(水) 10:17:200934デフォルトの名無しさん
2006/12/13(水) 10:17:470935デフォルトの名無しさん
2006/12/13(水) 10:18:46センスないですね
0936デフォルトの名無しさん
2006/12/13(水) 12:04:39そしたら、山頂付近がモト冬樹でした...orz...。
0937Python初心者(復活)
2006/12/13(水) 13:16:09>初心者でなくても、リスト内包表記のネストの読みづらさは異常。
>対話環境で試行錯誤していて、出来上がったのがリスト内包表記
>のネストだったりすると、あとで読むときにえらく苦労するぞ。
Flat is better than nested.
これはPythonの言語仕様における原則の一つです。
つまり、インデントは深いネストを制限する効果も
ある訳です。ところがリスト内包表記でのネストは
この原則からは逸脱している。
ところが、コードの透過性という観点から視れば
全ての機能がそのコードで理解出来るから
ネスト構造もあながち否定されるべきものでもない。
要は、ネスト構造に伴う頭脳負荷にどこまで耐えられのか。
ワインバーガーは通常のプログラマの場合、5層以上の
ネスト構造は避けるべきだと云っている。
リスト内包表記の最後のコードに括弧が]]]]]までという
意味だが、慣れたLisperの場合には]]]]]]]]]10個程度は
理解可能のようです。勿論ある程度のインデントは必要で
しょうが。
逆に言えばどれだけのネスト構造に耐えられるかで
そのプログラマの頭脳耐性が分かるということです。
皆さんはどうでしょうか?
0938デフォルトの名無しさん
2006/12/13(水) 13:23:07Pythonではあまり深いネストはやらない。長い式も代入して分けたりしている。
0939デフォルトの名無しさん
2006/12/13(水) 13:32:08長い行もある程度読みやすくなるけど
改行が必要なほど長い行は
「分割しる!!」と言う警鐘だと思うことにしているよ
0940デフォルトの名無しさん
2006/12/13(水) 14:37:450941デフォルトの名無しさん
2006/12/13(水) 15:41:25簡単にネストを解消できるのでは?
問題は] for a in b] for c in d] for e in f] for g in h]
という終わり方だと思う。
さすがにこれは理解する自信ないなw
0942デフォルトの名無しさん
2006/12/13(水) 15:43:280943デフォルトの名無しさん
2006/12/13(水) 15:48:14そこでmap/reduce/filterですよ
0944デフォルトの名無しさん
2006/12/13(水) 16:37:190945デフォルトの名無しさん
2006/12/13(水) 16:41:590946デフォルトの名無しさん
2006/12/13(水) 17:12:580947デフォルトの名無しさん
2006/12/13(水) 17:21:58reduce(lambda dict, j: dict.update({j: j + 1, }) and None or dict, range(10), {})
0948デフォルトの名無しさん
2006/12/13(水) 17:36:20If the implementation is easy to explain, it may be a good idea.
0949デフォルトの名無しさん
2006/12/13(水) 17:51:26reduce(lambda dic, j: dic.update({j: j + 1, }) or dic, range(10), {})
1.dictは組み込み型と名前が重なるので、dic に変更。
2.and None はいらなくね?dic.update() は戻り値はNone だし。
3.当然だが、やっぱり素直にループで書くべきだな。
0950デフォルトの名無しさん
2006/12/13(水) 17:56:010951デフォルトの名無しさん
2006/12/13(水) 18:00:12and Noneで失敗させてるのはupdateの挙動が変わったときのため
まあワンライナーにメンテナンス性とか互換性を求める時点で狂ってるとは思う
書いてると言語に対する理解とかは深まるんだが声高に批判する人がいても無理ないよな
どう見ても変態ですもの
0952デフォルトの名無しさん
2006/12/13(水) 18:03:50dict(zip(range(10), range(1, 11)))
こうも書けるな。ちょっと汚いけど。
0953デフォルトの名無しさん
2006/12/13(水) 18:04:52>>> spam_macros = [('egg', 'egg and spam'), ('spam', 'spam with bacon'), ('ham', 'ham and spam and egg')]
>>> reduce(lambda x, y: x.replace(y[0], y[1]), spam_macros, 'egg and bacon and ham')
'egg and spam with bacon and bacon and ham and spam and egg'
>>>
0954デフォルトの名無しさん
2006/12/13(水) 18:05:35dict([(i, i+1) for i in range(10)])
dictってkey,valueペアのシーケンスから辞書を作ってくれるのか。知らなかったわ
0955デフォルトの名無しさん
2006/12/13(水) 18:07:10入門書嫁
0956デフォルトの名無しさん
2006/12/13(水) 18:11:14その使い方なら、そのほうが幸せなんでね?
0957デフォルトの名無しさん
2006/12/13(水) 18:17:150958デフォルトの名無しさん
2006/12/13(水) 18:21:27def trans_macro(text):
spam_macros = [('egg', 'egg and spam'),
('spam', 'spam with bacon'),
('ham', 'ham and spam and egg')]
for i in spam_macros:
text = text.replace(i[0], i[1])
return text
0959デフォルトの名無しさん
2006/12/13(水) 18:27:33Personally, I believe that all code involving reduce() can be made
more readable by removing the reduce() call and writing an explicit
loop.
0960デフォルトの名無しさん
2006/12/13(水) 18:33:33ニセ者乙。
0961デフォルトの名無しさん
2006/12/13(水) 18:35:46対話環境しか使ってないのか?
Emacs のpython-mode で書いて、C-c C-c とやれば、即座にスクリプトが実行
されるんだが。
Emacs LISPのスクラッチバッファや、scheme-mode と同じぐらい快適だよ。
0962デフォルトの名無しさん
2006/12/13(水) 18:51:540963デフォルトの名無しさん
2006/12/13(水) 18:58:17そんな理由しか思いつかないんですか。
0964デフォルトの名無しさん
2006/12/13(水) 18:58:540965デフォルトの名無しさん
2006/12/13(水) 19:02:22どっちも、Guido自身が提案したわけじゃないし
0966デフォルトの名無しさん
2006/12/13(水) 19:05:17その言い方は、なんか腹が立つな。
じゃあ、どういう理由でワンライナーなの?
0967デフォルトの名無しさん
2006/12/13(水) 19:14:29デコレータとかは、無いものをわざわざ導入したんだから、それなりに認めて
るんじゃないか?
mapやreduce は、今あるのに廃止しようとしたんだから、態度が違うよ。
0968デフォルトの名無しさん
2006/12/13(水) 19:40:580969デフォルトの名無しさん
2006/12/13(水) 20:18:480970デフォルトの名無しさん
2006/12/13(水) 20:48:510971デフォルトの名無しさん
2006/12/13(水) 20:53:35でも何かめんどくせ
0972デフォルトの名無しさん
2006/12/13(水) 21:07:300973デフォルトの名無しさん
2006/12/13(水) 22:21:51読みにくいかどうかも所詮は慣れじゃないのかな...
内包表記だって慣れなかったら相当読みにくいよ
0974デフォルトの名無しさん
2006/12/14(木) 02:02:240975デフォルトの名無しさん
2006/12/14(木) 03:57:49これはひどい
0976デフォルトの名無しさん
2006/12/14(木) 04:31:130977デフォルトの名無しさん
2006/12/14(木) 06:21:15他の日の項目にラノベとかエロゲがある確率高すぎ。
0978デフォルトの名無しさん
2006/12/14(木) 07:38:48気持ち悪すぎ・・・
素で思った
0979デフォルトの名無しさん
2006/12/14(木) 07:58:35http://pc8.2ch.net/test/read.cgi/tech/1166050674/
0980デフォルトの名無しさん
2006/12/14(木) 08:15:44乙
0981デフォルトの名無しさん
2006/12/14(木) 10:23:16>ttp://foma-zakki.cocolog-nifty.com/zakki/2006/12/python_books_py_1f47.html
>
>削除要請とは穏やかではないですな。
三流は考えることもやることも三流。
0982デフォルトの名無しさん
2006/12/14(木) 14:02:25まだまだいくよぉ〜〜〜!!
巫女みこナース! 巫女みこナース!
リスト内包 巫女みこナース!!
巫女みこナース! 巫女みこナース!
lambda 一行 巫女みこナース!!
巫女みこナース! 巫女みこナース!
Py本粘着 巫女みこナース!!
巫女みこナース! 巫女みこナース!
初心者(復活) 巫女みこナース!!
巫女みこナース! 巫女みこナース!
print u"文字化け"巫女みこナース!!
巫女みこナース! 巫女みこナース!
メタクラ おっぱい 巫女みこナース!!
巫女みこナース! 巫女みこナース!
巫女みこナース! 巫女みこナース!
巫女みこナース! 巫女みこナース!
巫女みこナース! 巫女みこナース!
最後にもいっちょー、ハイ!
巫女みこナース!
0983デフォルトの名無しさん
2006/12/14(木) 15:04:230984デフォルトの名無しさん
2006/12/14(木) 15:09:000985デフォルトの名無しさん
2006/12/14(木) 15:10:590986デフォルトの名無しさん
2006/12/14(木) 15:28:07これはひどい
0987デフォルトの名無しさん
2006/12/14(木) 15:40:59これはひどい
0988デフォルトの名無しさん
2006/12/14(木) 19:14:02Pythonの回りにもヘンなヤツが増えてきたなあ。
0989デフォルトの名無しさん
2006/12/14(木) 19:59:59経歴
弘前大の応用生命工学科に入学
大学1年次に情報処理の講義でコンピュータに興味を持ち、友人の助けを借りて学習を続ける。
卒論優秀賞を受賞し卒業
帰省後就職活動を行い、IT系人材派遣会社に就職する。
半年後 IPA の未踏ユース公募を見て会社を辞め、未踏ユースに応募する
が、選考落ち orz
いいもん、いつか自分で完成させてやる( ´・ω・`)
現在
働かないとご飯食べられなくなりそうなのでお仕事募集中。
クライアントサイドスクリプトなら問題なくかけると思います。
Javascriptクライアントサイドスクリプトで作ったツールはこちら
LLRing ブログで開催されたコンテストで見たRubyで書かれたコードの美しさに惹かれ、Ruby も勉強しようと思う今日この頃。
Python と Ruby でお仕事探そうかな(`・ω・´)
興味のあること
プログラミング(現在C言語、Python, Javascript使用), 知識も技術もまだまだ勉強が必要です。 .NET, Ruby も使えるようになりたいですね。
0990デフォルトの名無しさん
2006/12/14(木) 20:10:030991デフォルトの名無しさん
2006/12/14(木) 20:17:47http://coreblog.org/ats/YouTube-is-almost-entirely-written-in-Python
0992デフォルトの名無しさん
2006/12/14(木) 20:19:40八分って誰が喜ぶのか考えると笑えるな(ZOPEZOPEZOPE
0993デフォルトの名無しさん
2006/12/14(木) 21:18:25頼むとそんなにすぐにはずしてくれるものなの?
しかも、どっかの依頼ではずしたならすぐ戻されないだろ常識的に考えて・・・
0994デフォルトの名無しさん
2006/12/14(木) 22:23:30たまたまが多いな。
0995デフォルトの名無しさん
2006/12/14(木) 22:47:200996デフォルトの名無しさん
2006/12/14(木) 22:58:550997デフォルトの名無しさん
2006/12/14(木) 23:22:18そのネタいいですね。
何にも知らない人にpythonて何がいいのとか聞かれたときに
便利そうなネタ
0998デフォルトの名無しさん
2006/12/14(木) 23:29:45共有レンタルサーバーなんかにインストールできるものってありますか?
WordPressとかみたいに、展開して使えるといったようなものです
もしご存じでしたらお願いします
ZopeでCoreblogとかだとrootが必要で
そうするとVPSか専用レンタルサーバーにしなくてはならなくて
個人でかりるには金額的にきびしいものがあります
0999デフォルトの名無しさん
2006/12/14(木) 23:32:31mod_pythonが使えるレン鯖なら、DjangoのBlogとかがつかえるんじゃね?
でなければpyblosxomとか。
1000デフォルトの名無しさん
2006/12/14(木) 23:34:3810011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。