【書き方は】Pythonのお勉強 Part19【一通り】

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
前スレ
Pythonのお勉強 Part18
http://pc11.2ch.net/test/read.cgi/tech/1176059681/

日本Pythonユーザ会
http://www.python.jp/
Python オフィシャルサイト
http://www.python.org/

<関連スレ>
Microsoft IronPython 1.0
http://pc11.2ch.net/test/read.cgi/tech/1157686822/
Python の宿題ここで答えます Part 1
http://pc8.2ch.net/test/read.cgi/tech/1153585095/
Python Challengeをやろう!
http://pc11.2ch.net/test/read.cgi/tech/1175919288/

<まとめwiki>
http://python.rdy.jp/

<参考サイト>
Python ドキュメント
http://www.python.jp/doc/release/
Dive Into Python
http://diveintopython.org/toc/
PEP(Python Enhancement Proposal
http://www.python.org/dev/peps/


2デフォルトの名無しさん:2007/06/06(水) 02:44:10
♪なんかダるー なんかデるー
♪あいしテるー あれ>>1さん乙ってるんるー
♪なやみン坊ー 高鉄棒ー
♪おいしん簿ー いーかげんにシナサイ
3デフォルトの名無しさん:2007/06/06(水) 02:49:40
<最近のPython紹介ページ>
まだPythonに深入りしてない人向けの紹介記事。

Python 調査報告
http://cydn.cybozu.co.jp/files/python_survey_at_cydn.html

On Python
http://www.shido.info/py/index.html

Python 講習会 資料
http://www.unixuser.org/~euske/doc/python/tutorial0917.html
4デフォルトの名無しさん:2007/06/06(水) 03:00:33
<応用、コードサンプルなど>
プログラミング言語 Python のページ
http://ymasuda.jp/python/index.html

以下、英語のサイト

Python snippets
http://sebsauvage.net/python/snyppets/

Python 201 -- (Slightly) Advanced Python Topics
http://www.rexx.com/~dkuhlman/python_201/python_201.html

ASPN Python Cookbook
http://aspn.activestate.com/ASPN/Cookbook/Python/
5デフォルトの名無しさん:2007/06/06(水) 03:05:49
なぜスレタイの前後をいちいち書き足すんだ

てのは置いといて
前スレ>>1000
鯖によって勝手にiso-8859-1を付けたりするからContent-typeヘッダはあまりあてにならないと思うんだ
6デフォルトの名無しさん:2007/06/06(水) 03:47:38
おっおっおっ
7デフォルトの名無しさん:2007/06/06(水) 04:16:14
8デフォルトの名無しさん:2007/06/06(水) 06:56:19
>>1
9デフォルトの名無しさん:2007/06/06(水) 07:00:13
しかし、一言言っておくと
TOOWTDI の読みは
there's only one way to do it と
there's one obvious way to do it の2通りがあって
どっちかって言うと後者の方が好まれる傾向にある気がする
10デフォルトの名無しさん:2007/06/06(水) 10:50:01
おっPythonスレ
11デフォルトの名無しさん:2007/06/06(水) 10:54:07
OP.py
IP.py
12デフォルトの名無しさん:2007/06/06(水) 12:38:06
OP→おっぱい
IP→いっぱい
って事か?
13デフォルトの名無しさん:2007/06/06(水) 14:06:54
otu.py
14デフォルトの名無しさん:2007/06/06(水) 14:09:23
確か四次関数の特異点がおっpyだったか備蓄だったか
15デフォルトの名無しさん:2007/06/06(水) 16:27:31
乙.py
16デフォルトの名無しさん:2007/06/06(水) 16:55:32
そういや、乙→巳のやつには感動した。
17デフォルトの名無しさん:2007/06/06(水) 21:17:05
python workshop edge 申しこんだ。
お前ら会場で会おうぜ!
18デフォルトの名無しさん:2007/06/06(水) 21:56:42
Python Workshop "the Edge" 2007な。the Edge。

ttp://www.python.jp/Zope/workshop/200706
19デフォルトの名無しさん:2007/06/07(木) 04:10:50
2byteかっこが厨な気が
20デフォルトの名無しさん:2007/06/07(木) 04:12:35
はじめての厨〜
21デフォルトの名無しさん:2007/06/07(木) 09:53:37
>>19
3バイトかも知れないぜ
22デフォルトの名無しさん:2007/06/07(木) 15:41:07
sage
23デフォルトの名無しさん:2007/06/07(木) 20:30:26
Python クックブック 第2版
ttp://www.oreilly.co.jp/books/9784873112763/

原書にあった以下の章はカット

Chapter 15: Distributed Programming
Chapter 16: Programs About Programs
Chapter 17: Extending and Embedding
Chapter 18: Algorithms
Chapter 19: Iterators and Generators
Chapter 20: Descriptors, Decorators,and Metaclasses

日本語版に追加された付録

A Pythonと日本語処理について
A.1 Pythonで日本語を使う
A.2 ソースコードに日本語が使いたい

ふーむ
24デフォルトの名無しさん:2007/06/07(木) 20:31:29
訂正。Chapter 15: Distributed Programming は
日本語版にもChapter 15. 分散プログラミングとして収録される模様
25デフォルトの名無しさん:2007/06/07(木) 20:32:41
日本語なんて # -*- coding: shift_jis -*- とか1行書けばいい話だけだよな
26デフォルトの名無しさん:2007/06/07(木) 21:11:49
-*- って何なの?
27デフォルトの名無しさん:2007/06/07(木) 22:03:44
>>26
そんなこと恥ずかしくって言えない(>。<)
28デフォルトの名無しさん:2007/06/07(木) 22:07:18
(>*<)
29デフォルトの名無しさん:2007/06/07(木) 22:42:14
>>26
Emacs使ってなけりゃ関係ない。
30デフォルトの名無しさん:2007/06/07(木) 22:45:54
原書から一部カットして販売ってよくあるのか?
31デフォルトの名無しさん:2007/06/07(木) 22:53:13
Chapter 18〜20 は、本当にカットして大丈夫か??
32デフォルトの名無しさん:2007/06/07(木) 23:26:30
その程度の価値しかないってことだよ。
原書嫁。
33デフォルトの名無しさん:2007/06/07(木) 23:41:18
>>29 ??
34デフォルトの名無しさん:2007/06/08(金) 00:52:40
>>33

emacs使っていて??なら、それでもいいんでね。
大抵は間違えないし。
35デフォルトの名無しさん:2007/06/08(金) 00:54:04
いや、Pythonインタプリタも見ているのでは? -*-
36デフォルトの名無しさん:2007/06/08(金) 00:58:46
ほんとかよ
37デフォルトの名無しさん:2007/06/08(金) 01:05:16
厳密な解釈方法をどっかでみた。結構賢く分析してた
38デフォルトの名無しさん:2007/06/08(金) 01:08:07
http://www.python.org/dev/peps/pep-0263/
> More precisely, the first or second line must match the regular
> expression "coding[:=]\s*([-\w.]+)".
39デフォルトの名無しさん:2007/06/08(金) 08:31:58
>>31
だよな。
俺的には一番読みたい部分だ。
40デフォルトの名無しさん:2007/06/08(金) 08:34:18
あきらめて原書読むよ。
41デフォルトの名無しさん:2007/06/08(金) 08:36:35
難しそうなところばっかりカットされてね?
翻訳やってる奴のレベルがアレなのかな。
42デフォルトの名無しさん:2007/06/08(金) 10:51:49
1ページいくらで翻訳代もらってるから、
難しいところは割に合わない、となる。
43デフォルトの名無しさん:2007/06/08(金) 11:25:48
16-20章に興味のあるような人はとっくに原書やSafariで読んでるだろうから
そういう章はカットしてお手ごろなサイズと価格でご提供、ってことでしょ。
Rubyクックブックもそういう理屈で再編集されてた。

訳者の人たちがサンプルコードもちゃんと検証してるみたいだし
頑張ってるようなので漏れは買う
ttp://python.is-a-geek.org/cgi-bin/sechandle.cgi
44デフォルトの名無しさん:2007/06/08(金) 11:31:55
工作員自らの手によって
駄本ということが証明されましたとさ。
45デフォルトの名無しさん:2007/06/08(金) 13:57:21
翻訳本を読むときは、翻訳される前の英文を推測する力が試される
46デフォルトの名無しさん:2007/06/08(金) 14:02:52
同意するが、
翻訳前の英文が目に浮かぶような直訳だと
かえって疲れるぞ。
47デフォルトの名無しさん:2007/06/08(金) 14:20:58
俺はパイドキュをもりもり意訳した。
1語が1行になったり、あるいは逆に1行が1語になったりしたが気にするな。
たいていは短くなったがなw
48デフォルトの名無しさん:2007/06/08(金) 15:21:55
乙py
49デフォルトの名無しさん:2007/06/08(金) 15:24:21
パイソン・クックブックだろ。
略して「パイクツ」かなあ。
50デフォルトの名無しさん:2007/06/08(金) 16:05:11
Python Phrasebookの日本語版出ないかなあ
普及に一役も二役も買うと思うんだが
どこかでそういう話出てない?
51デフォルトの名無しさん:2007/06/08(金) 16:30:47
amazon.comで目次見たけど、ネットワークまわりに的を絞ってて、
その辺をやりたい人にはよさげだね。
52デフォルトの名無しさん:2007/06/08(金) 18:20:50
おつパイソン
53デフォルトの名無しさん:2007/06/08(金) 18:36:59
rubyってそういう本も全部日本語なの?違うよね?
54デフォルトの名無しさん:2007/06/08(金) 19:33:24
Ruby作者のmatzは日本人だが
言語作るのはいいけどマニュアル書くの面倒いって人
結局マニュアルも本も他人任せ、精々監修がいいとこ
それ考えるとあんま変わらんのじゃ?
55デフォルトの名無しさん:2007/06/08(金) 19:50:15
Rubyが糞なのは日本人がつくったからなのかー
やっと納得
56デフォルトの名無しさん:2007/06/08(金) 20:10:12
>>55
そういうのはこっちのスレがいいんじゃないか。

Python厨とRuby厨が仲直りするスレッド
http://pc11.2ch.net/test/read.cgi/tech/1099804004/l

57デフォルトの名無しさん:2007/06/09(土) 02:16:05
>>55
そういう風に言うから荒れるのであって、
ま、穏健に行こうや。
58デフォルトの名無しさん:2007/06/09(土) 03:55:58
大丈夫。スルースキル高いからね、ここ。不幸な歴史のおかげで…
59デフォルトの名無しさん:2007/06/10(日) 00:49:11
メディアアートなどで使われてるprocessing(proce55ing)のpython版?
使っている人がいたらレポ期待

NodeBox Home
http://nodebox.net/code/index.php/Home

NodeBox windows版
http://research.nodebox.net/NodeBoxDev

参考:Processing 1.0 (BETA)
http://www.processing.org/
60デフォルトの名無しさん:2007/06/10(日) 18:12:15
>>55の意見はpythonスレでは荒れないと思うよ。
なぜならrubyの人はみてないからね
61デフォルトの名無しさん:2007/06/10(日) 18:32:12
スルーできない言い訳
62デフォルトの名無しさん:2007/06/10(日) 18:32:55
Ruby使ってる人でも見てる人は結構いるでしょ
あと荒らす人はRubyもPythonもロクに使ったことのない人
63デフォルトの名無しさん:2007/06/10(日) 19:11:10
pythonはそろそろ中〜上級者向けの書籍がほしいな。
みんpyにしても、IronPy本にしても、半分以上が言語解説+標準ライブラリ入門記事で、
正直購入する気になれない。
GUI + DB+ネットワーク本とか出したら売れると思うのに。
64デフォルトの名無しさん:2007/06/10(日) 19:34:06
そのレベルのひとはわざわざPy本でそんなの見なくても自分で出来てしまうからじゃないかな
必要なのは入門書までで充分なんぢゃ
65デフォルトの名無しさん:2007/06/10(日) 19:57:15
>>63
ttp://wiki.python.org/moin/PythonBooks

邦訳されるの待ってないで洋書で読んじゃったほうがいいよ。
Tkinter, wxPython, Twisted, TurboGears, CherryPy,
ライブラリやフレームワークに特化した本もちゃんと出てる。
(DB本は出てなかったと思う)

ただ、Python界隈はマニュアルやドキュメントが充実してるから
わざわざ本を買うのは割りに合わないかもしれない。
66デフォルトの名無しさん:2007/06/10(日) 20:27:09
>>63
ネットで十分なんじゃないかな。それに、ドキュメントなんか
基本的なことだけちょっと読んで、あとは自分で何か作って
覚えた方がいいと思う。
67デフォルトの名無しさん:2007/06/10(日) 21:30:04
ここを参考に http://python.matrix.jp/modules/py2exe.html
py2exe でwindowsアプリを作って起動すると

「問題が発生したため、example.exe を終了します。 ご不便をおかけして申し訳ありません。」
というエラーダイアログが出て終了してしまうんですが、なにがまずいのかご教授ください。

バージョンは、
 Python 2.5 (r25:51908, Sep 19 2006, 09:52:17) [MSC v.1310 32 bit (Intel)] on win32
 py2exe-0.6.6.win32-py2.5

-- [ setup.py ] -----------------------
#!d:/bin/Python25/python.exe
from distutils.core import setup
import py2exe

py2exe_options = { "compressed" : 1,
                  "optimize" :  2,
                  "bundle_files" : 2}

setup(options = {"py2exe" : py2exe_options},
      windows = [{"script" : "example.pyw", "icon_resources" : [(1,"d:/bin/Python25/DLLs/py.ico")]}],
      zipfile = None)
6867つづき:2007/06/10(日) 21:31:38
-- [ example.pyw ] --------------------
#!d:/bin/Python25/python.exe
#-*- coding: sjis -*-
from Tkinter import *
f = Frame(width=500, height=500)
f.pack()
f.mainloop()
--------------------------------------

やってみたこと
(1) python example.pyw でスクリプト実行すると問題なくTkのフレームが表示される。
(2) python setup.py py2exe でexe生成。makeエラーは特になし。
   exe と同じディレクトリに、MSVCR71.dll, python25.dll, w3popen.exe あり。
(3) dist/example.exe を起動すると、前述のエラー終了。exeダブルクリックでも、コマンドライン起動でも同じ。
(4) example.pyw の拡張子は .pyでもだめ。
(5) coding をutf-8 にしてもだめ。一行目のインタプリタ指定を pythonw.exe にしてもだめ。
(6) setup.py の 10行目、パラメータ指定を windows から console にしてもだめ。
(7) console アプリで、Tkinter 以外のモジュール動作はOK(os, re で確認)。
(8) windows アプリとして (7)のスクリプトをexeにして、実行すると、何も表示されないで正常終了。
(9) Tkinter 以外のモジュールインポートのサンプルと次のようなプログラム

まとめると、Tkinter を使った exe を作ると起動できない。ということみたいですが。
どうしたら解決できるんでしょうか・・・?
6967:2007/06/10(日) 21:36:42
>>68 の(9) は無視してください。
7068:2007/06/10(日) 21:55:28
連投すみません。 >>68 の w3popen.exe は、 w9xpopen.exe の間違いでした。
age。
71デフォルトの名無しさん:2007/06/10(日) 21:57:42
きょう‐じゅ【教授】 ケウ‥
(1)学術・技芸などを教えること。養護・訓練とならぶ教育上の基本的な作用とされる。
(2)大学・高等専門学校など高等教育の学校で、専門の学術・技芸を研究し教える人。
その官名または職名。「医学部―」→教諭。

きょう‐じ【教示】 ケウ‥
(キョウシとも)教え示すこと。「ご―を仰ぐ」

広辞苑 第五版 (C)1998,2004 株式会社岩波書店
72デフォルトの名無しさん:2007/06/10(日) 22:10:13
よくある間違い
73デフォルトの名無しさん:2007/06/10(日) 22:47:28
間違いじゃないよ。「教授する」はサ変動詞として辞書に載ってる。
7467:2007/06/10(日) 22:48:39
お騒がせしました。自己解決しました。
py2exe_options の、bundle_files の指定がまずかったようです。
値を0に変更したら、makeエラーで、1-3にしろとエラーが出て、3にしたら、
Tkinter 入り exe を正常起動できました。
このパラメータの意味を調べようと、help(py2exe)してみたけど、説明が見当たらない。

もっとも、シンプルにやるなら何も考えずに

setup(windows=["example.pyw"])

とすればいいようですね。余計なことして遠回りをしてしまった。

>>71
ご教示ありがとうございます。
75デフォルトの名無しさん:2007/06/10(日) 22:50:10
>>73
その場合「教授する」のは教える側じゃなかったっけ。まあスレ違い。

>>67
Hello, worldは動く?

# hello.py
print 'Hello, world!'

# setup.py
from distutils.core import setup
import py2exe
setup(console=['hello.py'])

----

python setup.py py2exe
7667:2007/06/10(日) 23:22:39
ドキュメントは相変わらず見つかってませんが、いろいろ試したところ、
bundle_filesは、モジュールの物理的な分割レベルのようですね。
となると、3しか指定できないのは不便。
なんでモジュールをひとつに結合するだけで、実行できなくなるのか分からない。バグ?

bundle_files=1 (3ファイル+1ディレクトリ)
 tcl/
 example.exe 約 5K bytes
 MSVCR71.dll
 w9xpopen.exe

bundle_files=2 (4ファイル+1ディレクトリ)
 tcl/
 example.exe 約 3K bytes
 MSVCR71.dll python25.dll w9xpopen.exe

bundle_files=3  (10ファイル+1ディレクトリ)
 tcl/
 example.exe 約 0.9K bytes
 MSVCR71.dll python25.dll w9xpopen.exe
 _tkinter.pyd bz2.pyd tcl84.dll tk84.dll unicodedata.pyd w9xpopen.exe

>>75
とりあえず、そのあたりはクリアしました。
ありがとうございます。
77デフォルトの名無しさん:2007/06/11(月) 03:47:17
>>73
教示するでも教授するでも教えるには違いないけど、どう教えるのかが違う。
教授するってのは、師匠が弟子に教えるような、そんな教え方のこと。

こういうところでちょっと教えてくれってのに使うのは教示のほう。
78デフォルトの名無しさん:2007/06/11(月) 08:57:36
スレ違いウザ
79デフォルトの名無しさん:2007/06/11(月) 13:29:44
セッコさん出番です
80デフォルトの名無しさん:2007/06/11(月) 17:11:50
pythonでnslookup相当のことを行うにはどのライブラリを使えばいいですか。
81デフォルトの名無しさん:2007/06/11(月) 17:52:04
>>80
import socket
でした。
「python nslookup」で探しても見つからなかったけど「python gethostbyname」で見つかりました。
82デフォルトの名無しさん:2007/06/11(月) 17:54:57
rubyのARGFに相当するものはPythonにありますか。
83デフォルトの名無しさん:2007/06/11(月) 18:16:35
ARGF.each{|line|
 puts line
}
----
import fileinput
for line in fileinput.input():
 print line, # 末尾に , が必要

改行文字の扱いが異なることに注意
84デフォルトの名無しさん:2007/06/11(月) 18:48:11
>>83
thanks
85デフォルトの名無しさん:2007/06/11(月) 22:03:54
print line,
より
sys.stdout.write(line)
が好み

# だって行末に余計なのがつくじゃん
86デフォルトの名無しさん:2007/06/11(月) 23:07:36
つprint''.join(line for line in fileinput.input())
87デフォルトの名無しさん:2007/06/11(月) 23:38:15
print line.strip('\n')
88デフォルトの名無しさん:2007/06/11(月) 23:42:10
>87
タイプ数でいえばまあすっきりだけど
内容で考えると余計な手間って感じが否めない
89デフォルトの名無しさん:2007/06/11(月) 23:58:33
>>85
あれ、それって違うっけ
90デフォルトの名無しさん:2007/06/11(月) 23:59:56
あ、スペースか
91デフォルトの名無しさん:2007/06/12(火) 22:28:55
日本語を格納した string を for ループで1文字ずつ回すことってできないの?

str = "おっぱい"
for s in str:
    print s

結果: 文字化け

環境は python2.5
92デフォルトの名無しさん:2007/06/12(火) 22:43:03
>>> s = unicode('ABCDEあいうえお', 'ソースファイルの文字セット')
>>> print len(s)
10

sitecustomize.py で sys.setdefaultencoding した文字セットとソースファイルの文字セットが同一なら
>>> s = unicode('ABCDEあいうえお')
>>> print len(s)
10

ttp://www.python.jp/Zope/articles/japanese/Python4Japanese-2
93デフォルトの名無しさん:2007/06/12(火) 22:44:49
>>91
ユニコード使えば楽にできる。

str = u"テスト"
for x in str:
print x
94デフォルトの名無しさん:2007/06/12(火) 22:59:30
サロゲートペア(含むJIS第3水準、JIS第4水準)注意な。
95デフォルトの名無しさん:2007/06/12(火) 23:02:52
strとかいう変数は定義するなよこのカスが死ね今すぐグローバル汚染して死ね。
96デフォルトの名無しさん:2007/06/12(火) 23:09:20
定義できちゃうほうもほうだよな。
別の言語だけど、時刻を t に代入したらcore dumpして3時間ぐらい悩んだことある。
# t / nil の t だったらしい‥‥‥

97デフォルトの名無しさん:2007/06/12(火) 23:24:29
予約語に加えて、組込みの変数や関数を全部色分け表示すれば
ある程度防げるよ
98デフォルトの名無しさん:2007/06/12(火) 23:32:02
もはやFAQだが、Pythonではstrという変数を定義してもグローバルに影響は
受けない。関数内なら関数ローカル、ファイル内ならファイルローカル。
99デフォルトの名無しさん:2007/06/12(火) 23:44:47
>>95
str
100デフォルトの名無しさん:2007/06/13(水) 00:02:36
>>96
無駄に予約後ふやしたりするより、普通に気をつけようぜ、という思想なんだよ。
101デフォルトの名無しさん:2007/06/13(水) 00:03:07
スレッド内ではレスローカルだから、お前のstrは大丈夫安心しろ>>95
102デフォルトの名無しさん:2007/06/13(水) 00:04:27
なんにせよだ。
一字変数にstrとかintとかつけるアホとは一緒に仕事したくないな.
103デフォルトの名無しさん:2007/06/13(水) 00:08:04
>>102
時と場合によるだろ。
104デフォルトの名無しさん:2007/06/13(水) 00:11:41
grepしてみればわかるんだけど
変数名にstrやintだの使ってるライブラリも結構ある
漏れは予約語覚えるだけで精一杯だから
小規模スクリプトや関数内部ではstr使っちゃってるよ
(intはさすがに使えない。Cだったら予約語だし)
105デフォルトの名無しさん:2007/06/13(水) 00:12:12
まあ str_ とか int_ の方が無難だろうね
106デフォルトの名無しさん:2007/06/13(水) 00:22:48
自分のアホを否定するためにムキになってるのがかわいい♪
107デフォルトの名無しさん:2007/06/13(水) 03:15:25
まとめwikiの問題集のQuineを直してくれてる人に質問

うちのpythonだと、
>>> x='x=%s\nprint x%%`x`'
>>> print x%`x`
x='x=%s\nprint s%%`x`'
print x%`x`

という風に実行されて、Quineに見えるんですが、
1行目8桁目を毎回 '?' に直してくれるのはなぜなんでしょうか?

ちなみに元ネタは
ttp://www.nyx.net/~gthompso/self_pyth.txt
108デフォルトの名無しさん:2007/06/13(水) 03:20:36
ちなみに、1行目8桁目 '?' だと、
>>> x='x=%s?nprint x%%`x`'
>>> print x%`x`
x='x=%s?nprint x%%`x`'?nprint x%`x`

と実行されて、Quineには見えない
109デフォルトの名無しさん:2007/06/13(水) 03:21:49
>>> len('str')
3
>>> len('int')
3

どこが一字変数なのか。
110デフォルトの名無しさん:2007/06/13(水) 06:16:44
あれは一時変数のtypoだよ。
にしても>>106の的外れっぷりにワロタ
111デフォルトの名無しさん:2007/06/13(水) 08:26:42
dir(__builtins__)
の内容くらいは使わないようにしたいところやね
112デフォルトの名無しさん:2007/06/13(水) 08:56:56
墓穴を掘っている姿にあきれる♪
113デフォルトの名無しさん:2007/06/13(水) 09:01:18
>>> len=len('str')
>>> len2=len('int')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable

こういうコードを書く奴はバカとしかいいようがないだろ。
114デフォルトの名無しさん:2007/06/13(水) 10:41:51
エディタの支援もそうなんだけど
実行時に __builtin__ の定義が上書きされたら warning 出すって
機能はあると良さそうだね

(cc -Wall みたいなイメージで無視してもいいけどなるべく直そうって奴)
115デフォルトの名無しさん:2007/06/13(水) 10:47:09
複雑な機能を追加して自由度を失うより低脳を排除する方がよほどよい。
116デフォルトの名無しさん:2007/06/13(水) 11:16:20
よっぽど現状でいいだろ。要は
python -c "for w in dir(__builtins__): print w" > エディタの定義ファイル
するだけ(環境に合わせて各自要アレンジ)。
117デフォルトの名無しさん:2007/06/13(水) 16:17:44
>>114
いや実際に>>113みたいなバカは居ないから
118デフォルトの名無しさん:2007/06/13(水) 16:44:39
pylint
ttp://www.logilab.org/857
PyChecker
ttp://pychecker.sourceforge.net/

文法チェッカ。PyDevあたりの統合環境にも
組み込まれてそうだけどよく知らない
119デフォルトの名無しさん:2007/06/13(水) 17:23:17
よくわからんけどstrは何で使うと駄目なん?
120デフォルトの名無しさん:2007/06/13(水) 17:39:37
世界の法則が乱れる
121デフォルトの名無しさん:2007/06/13(水) 17:43:03
>>117
大きめのモジュールを作るとき。
トップレベルでテンポラリな変数としてstrとかlenを使うとハマったりするかもな。

>>119
アホさがバレるから。
122デフォルトの名無しさん:2007/06/13(水) 17:54:36
避けるべきだという意見に賛成ではあるが、

> トップレベルでテンポラリな変数としてstrとかlenを使うとハマったりするかもな。

変数名としてみると str に代入するのは文字列、len に代入するのは数値であろう。
どちらも callable ではなく本来の str, len のつもりで使うと>>113のようにエラーになるからすぐ分かる。

むしろ避けるべきなのは関数名として使わないことであろう。
俺も変数名として使ったことはあるが、さすがに関数名として使ったことはない。
123デフォルトの名無しさん:2007/06/13(水) 19:18:57
>>119
str がダメとかじゃなくて Python は関数名もクラス名も変数名も区別が無いから
そのスコープの中で str という関数を使う気があるのなら str という変数を
使ってはならない、というだけの話

でも str なんて短い名前の変数は普通、狭いスコープで一時操作用にしか使わないから
それではまるようなら変数の命名規則そのものに問題があると思う
124デフォルトの名無しさん:2007/06/13(水) 20:34:04
>>123
最後の行は変数じゃなくて関数だよね?
125デフォルトの名無しさん:2007/06/14(木) 01:20:50
変数でいいんじゃね? 本来的な意図じゃないだろう関数でも意味は通るけど 本人待ち
126123:2007/06/14(木) 18:56:00
>>124
「変数」です
なんで「関数」のtypoだと思われちゃったのか謎だけど

119の質問は話の流れから「strという変数名」についての話だと受け取ったので
それについて答えたつもり
別に「Guidoがstrという名前の関数を作った事」を批判するつもりははないです
127119:2007/06/14(木) 21:19:21
あ、strって関数があるのか。なるほど。
知らんかった。ていうか上書きできちゃうんだ。
それも知らんかった。どうもありがとう>>123
128デフォルトの名無しさん:2007/06/14(木) 21:23:05
>>127
strは関数じゃないよ。
氏ねアホ。
129デフォルトの名無しさん:2007/06/14(木) 21:54:14
>>128
どうでもいいんだよ、死ねボケ。
130デフォルトの名無しさん:2007/06/14(木) 22:00:57
関数でもクラスでもcallable objectはcallable(obj)で判別するからなんでもいいよ
131デフォルトの名無しさん:2007/06/14(木) 22:05:28
いつも関数なのかクラスなのかファクトリなのか
呼ぶのに困るんだよ。
何かいい名前考えようぜ。
132デフォルトの名無しさん:2007/06/14(木) 22:10:27
じゃ、徳川家康って命名しよう。
133デフォルトの名無しさん:2007/06/14(木) 22:27:15
>>131
callable
134デフォルトの名無しさん:2007/06/14(木) 22:33:36
>>131
函数
135デフォルトの名無しさん:2007/06/14(木) 22:46:14

        こらぶる 〜呼び出されるものたち〜

Windows用ゲームソフト 予価5,800円(税込) 9月31日発売予定
136デフォルトの名無しさん:2007/06/14(木) 23:28:02
>>129
おまえこそ氏ね。氏ねじゃなくて、死ね。
137デフォルトの名無しさん:2007/06/14(木) 23:28:45
callableはpy3.0では既に消されている
http://www.python.org/dev/peps/pep-3100/#built-in-namespace

つうかライブラリリファレンスでstrの載ってる項目名を見れば関数ということが分かる
http://www.python.jp/doc/release/lib/built-in-funcs.html

>128 名前:デフォルトの名無しさん 投稿日:2007/06/14(木) 21:23:05
>>127
>strは関数じゃないよ。
>氏ねアホ。
138デフォルトの名無しさん:2007/06/14(木) 23:42:08
>>137
残念でした。

>>> help(str)
Help on class str in module __builtin__:

class str(basestring)
139デフォルトの名無しさん:2007/06/14(木) 23:48:44
実装上でも str は __builtin__ モジュールに関数ではなくて
型として追加されてる。(bltinmodule.c)
140デフォルトの名無しさん:2007/06/15(金) 00:14:52
>>137
これはとんだ自殺予告ですね(wwwwwwwwwwwwwwwwwwwwwwwwwww
141デフォルトの名無しさん:2007/06/15(金) 00:43:20
>>137
New Style Classを知らない窓際オヤジ乙(w
142デフォルトの名無しさん:2007/06/15(金) 00:52:57
じゃあ、お前らはライブラリリファレンスをどういう風に読んでるわけ?
"オフィシャルな文書で"、strはBuilt-in "Function"だっつってんだから、strは関数なんだよ
それを単にcallableなclassとして実装してるだけだろ。
ドキュメントのどこにclassだったら関数じゃねーと書いてあるのか。
classがcallableになった時点でclassというクラスと関数というクラスが交差してんだよ馬鹿
143デフォルトの名無しさん:2007/06/15(金) 00:58:04
ちょっと苦しいw
叩いてるほうもアホだが。

実装レベルと概念レベルではまた違ってくる話だわな。
144デフォルトの名無しさん:2007/06/15(金) 01:01:40
じゃあ、お前らはソースコードをどういう風に読んでるわけ?
"実働しているソースコードで"、strはclassとして定義されてるんだから、strはコンストラクタなんだよ
それを単に歴史的経緯から関数としてライブラリリファレンスに記述しているだけだろ。
ソースのどこにstrが関数だと書いてあるのか。
classがcallableの一種だからってclassを関数と呼ぶのかよこのクソボケが氏ねRubyでもやってろ馬鹿
145デフォルトの名無しさん:2007/06/15(金) 01:08:55
>>144
ttp://foma-zakki.cocolog-nifty.com/zakki/2006/12/python_books_py_1f47.html

クラスはdefで定義するんだから関数なんだよボケ。
Zope関係者の言うことだから間違いないんだよ氏ね。
146119:2007/06/15(金) 01:28:54
うーん、なんか訳分からん。
とりあえず、死ぬのは嫌だが、
strを関数と言うとpython的には非常に
マズイの?かな?
147デフォルトの名無しさん:2007/06/15(金) 01:43:21
まずくは無いけど、外の機能もあることを知っておいた方がいいと思う
たとえば、

>>> isinstance('abc', str)
True

とか

>>> class ABC(str):
...    ・・・いろいろ定義

とか、・・
148デフォルトの名無しさん:2007/06/15(金) 09:30:34
>>146
細かく言うと「クラスを関数として呼ぶとそのクラスのインスタンスが返る」という事になる
str の場合で言うと、str はあくまで「変数」で、その変数strの中に文字列クラスが
入っていて、str([object]) するとそれのコンストラクタが呼ばれている
だから厳密に言うなら str を「関数」と言っている人も「クラス」と言っている人も間違い
str は変数
str という変数に入っているのが「文字列クラス」
str([object]) は関数
str([object]) を呼んで返ってくるのは「文字列オブジェクト」
149デフォルトの名無しさん:2007/06/15(金) 09:58:39
>148

だから代入できるのか。少し納得した。

>>> a=str
>>> str="hoge"
>>> isinstance(str, a)
True
150デフォルトの名無しさん:2007/06/15(金) 10:01:30
>>148
>str はあくまで「変数」で

アホか。変数じゃねえよこのクソ馬鹿。
顔洗って出直してこいや。
151デフォルトの名無しさん:2007/06/15(金) 10:15:51
>>149
数字も代入できるからPythonでは変数なんですね。納得した。

>>> a=123
152デフォルトの名無しさん:2007/06/15(金) 10:28:31
>151

???
153デフォルトの名無しさん:2007/06/15(金) 10:36:34
もう、各人好きなように納得すればよくないか?
154デフォルトの名無しさん:2007/06/15(金) 10:54:02
俺は諸葛孔明と呼ぶことにしたよ。
155デフォルトの名無しさん:2007/06/15(金) 11:52:38
def aaaa():
  #省略
この時aaaaは変数、変数aaaaによって示されるものは関数でおk?
156デフォルトの名無しさん:2007/06/15(金) 12:03:01
「名前」に「束縛(bind)」するって表現が正しいのかな。
defは新たな関数オブジェクトを作って
指定された名前にbindするステートメントと。

そして名前に対して( )を付けると
名前にbindされた呼出可能なオブジェクトの機能を呼び出す、か。
157デフォルトの名無しさん:2007/06/15(金) 12:06:08
>>156
That's it !!
158デフォルトの名無しさん:2007/06/15(金) 12:36:30
今、酷い自演を見た
159デフォルトの名無しさん:2007/06/15(金) 12:40:48
158 みたいに name も bind も分からないようなアホが
str を変数と呼びたくなる気持ちはよく分かる.
こういうクソ馬鹿に限って reference についてもよく理解できないで
はまったりするのだろう.
160デフォルトの名無しさん:2007/06/15(金) 12:46:42
これが永久凍土ってやつですか?
161デフォルトの名無しさん:2007/06/15(金) 14:33:52
>>160
That's it !!
162デフォルトの名無しさん:2007/06/15(金) 14:38:12
>>60
荒れましたが何か。
163デフォルトの名無しさん:2007/06/15(金) 14:54:10
「アホ」や「馬鹿」もNGワードにしてみようかな・・・
164デフォルトの名無しさん:2007/06/15(金) 14:55:23
>>160,161
今,酷い自演を見た
165デフォルトの名無しさん:2007/06/15(金) 15:46:26
少なくとも一人は生きてるだけで迷惑な卑しいのがいる
2chでしか憤懣を発散できないのかねー
166119:2007/06/15(金) 17:15:21
>>148
おー、分かりやすい説明!納得。
ありがとうございます。
167デフォルトの名無しさん:2007/06/15(金) 18:00:54
>お願いです。ム板かマ板でやってください。こっちで聞いても泥臭いCocoa使いか
>死亡寸前のPowerPlant使いしか居ません。
>
>日本語での資料の入手のし易さからwxPythonがおすすめかもです。
>本屋でのpython系の本を探ってると結構出てくるし。
>httpはサンプル多いし、GUIもwxPyhtonでそれっぽく造れる。
>
>どっちにしろ、Mac板にはPythonのスキルをもった人間は少ないよ。
>
>ここはMac板です。そうゆう人を隔離するために造られました。
>一掃したら、マカーがPCカテゴリ全体に散らばって収集付かなくなります(>_<)
>
>以下のスレッドでよろしくです。
>
>wxWidgets
>http://pc11.2ch.net/test/read.cgi/tech/1157727990/
>
>Python
>http://pc11.2ch.net/test/read.cgi/tech/1181064980/

てわけで、
新人が来るかもしれないので、みなさん準備をしてください。
168デフォルトの名無しさん:2007/06/15(金) 18:06:03
目立つようにageておきます。
よろしくお願いします。
169デフォルトの名無しさん:2007/06/15(金) 18:12:27
うぜえよ
170デフォルトの名無しさん:2007/06/15(金) 18:32:39
119君は全然分かってないと思うよ(www
171デフォルトの名無しさん:2007/06/15(金) 23:27:05
まあ深くて長い Python 使いへの道の第一歩という事で
最初から多くを求めるのは無理があるよ

「strはビルトイン関数と同じ名前だから変数名として使っちゃだめ」とかの
Java 的緊縛調教世界から踏み出すきっかけというだけでも意義はあるさ
172デフォルトの名無しさん:2007/06/16(土) 00:20:31
使わないに越したことはなかろう。
strじゃなきゃならない状況もあるめい。
173デフォルトの名無しさん:2007/06/16(土) 01:22:36
任意のオブジェクトxについて

>>> '%s'%x == str(x)
True
174デフォルトの名無しさん:2007/06/16(土) 01:27:43
正直に言おう。

 も う s t r の 話 は 飽 き た ! !
175デフォルトの名無しさん:2007/06/16(土) 01:30:08
>>174
じゃあ何か話をふれ
176デフォルトの名無しさん:2007/06/16(土) 01:45:47
じゃあおいしいうどんとPythonの関係について一つよろしく
177デフォルトの名無しさん:2007/06/16(土) 02:01:40
len, min, max, chr
他にもいろいろあるぞ
178デフォルトの名無しさん:2007/06/16(土) 02:07:47
なんか自作クラス作ってるときに
「あ、ソレ既出だから」
って教えてくれるアプリ(もちろんpython実装)ってないの?
179デフォルトの名無しさん:2007/06/16(土) 02:10:22
それは標準のものだけじゃなくて、
色々公開されているライブラリも含めて、ということか?
そういう検索ソフトは確かに便利そうだな。
いくつかのキーワードで検索してみて、
引っかからなければ無さそうだな、とか。
データベース作るの大変そうだけど。
180デフォルトの名無しさん:2007/06/16(土) 02:11:51
>>117
もういいよ,みんな str と同じだろ。







この際 sum について語ろうぜ。
181デフォルトの名無しさん:2007/06/16(土) 02:15:12
>>178 cheese shop
182デフォルトの名無しさん:2007/06/16(土) 02:22:20
日本Pythonユーザ会
http://www.python.jp/
にアクセスできないのですが…メンテナンスかなにかですかね?
183デフォルトの名無しさん:2007/06/16(土) 02:42:26
>>182
朝起きた時には既にアクセスできなかった
184デフォルトの名無しさん:2007/06/16(土) 02:43:53
メーリングリストでDNSのIPアドレスが変わったからしばらく時間かかるってあったよ
185デフォルトの名無しさん:2007/06/16(土) 02:54:07
>>183
>>184
ありがとうございます。
しばらくまってみます。
186デフォルトの名無しさん:2007/06/16(土) 03:04:18
>>180
いや、時報と天気予報くらいは違うぞ
187デフォルトの名無しさん:2007/06/16(土) 03:07:41
ぶっちゃけ言ってPythonについて話すことないんだよね。
188デフォルトの名無しさん:2007/06/16(土) 03:47:41
Take one down and pass it around.
189デフォルトの名無しさん:2007/06/16(土) 07:34:33
ElementTreeって、UTF-8以外のXMLは食べられないの?
<?xml version="1.0" encoding="UTF-8"?>だと読んでくれるのに、
<?xml version="1.0" encoding="SHIFT_JIS"?>だとcodecs通しても、
asciiとして読もうとしてこけるんだが。
190デフォルトの名無しさん:2007/06/16(土) 10:03:25
python.jp今止まってないか?
191デフォルトの名無しさん:2007/06/16(土) 10:12:26
>>189
とりあえず再現コードとエラーメッセージぐらいは欲しいところ。

で、ElementTreeはUTF-8、UTF-16、ASCIIなら問題なく読める。
ただShift_JISだと、ElementTreeが内部で使ってる
expatパーサに食わせる時点でエラーになるはず。
192デフォルトの名無しさん:2007/06/16(土) 10:43:20
そもそも XML は UTF-8 と UTF-16 以外への対応はオプションなので
他人の作ったモジュール使ったりする気があるなら UTF-8 か UTF-16
にしておかないとまずいよ
193デフォルトの名無しさん:2007/06/16(土) 10:59:38
>>190
文盲はPythonやらなくていいよ.
>>184
194デフォルトの名無しさん:2007/06/16(土) 11:37:54
>>191
>>192
サンクス。おとなしくutf-8にして読ませる事にする。

ちなみに再現は以下。

>>> import codecs
>>> from xml.etree import ElementTree
>>> f = codecs.open('test.xml','r','shiftjis')
>>> et = ElementTree.ElementTree(file=f)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "PYTHON_PATH/lib/xml/etree/ElementTree.py", line 546, in __init__
    self.parse(file)
  File "PYTHON_PATH/lib/xml/etree/ElementTree.py", line 586, in parse
    parser.feed(data)
  File "PYTHON_PATH/lib/xml/etree/ElementTree.py", line 1245, in feed
    self._parser.Parse(data, 0)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 58-60: ordinal not in range(128)
>>>

test.xml
<?xml version="1.0" encoding="SHIFT_JIS"?>
<python>
<hoge>日本語</hoge>
</python>
195デフォルトの名無しさん:2007/06/17(日) 10:33:41
dict.get(key, default)
とおなじように
list.get(index, default)
というのはありませんか。
if len(lst) > n:
  item = lst[n]
else:
  item = deafult
と書くのが面倒なので。
196デフォルトの名無しさん:2007/06/17(日) 11:54:38
>>195
dict(enumerate(list)).get(key, default)
197デフォルトの名無しさん:2007/06/17(日) 12:10:10
>>195
ない。

>>> class List(list):
    def get(self, index, default=None):
        try:
            return self[index]
        except IndexError:
            return default 

>>> lst = List(["foo","bar"])
>>> lst.get(0)
'foo'
>>> lst.get(2,"baz")
'baz'
>>> 
198デフォルトの名無しさん:2007/06/17(日) 15:26:14
最初から例外使えばよい気がする。
199デフォルトの名無しさん:2007/06/17(日) 16:19:27
>foo bar baz
意味わかってつかってるのか?
でなければ痛々しいだけだ
200デフォルトの名無しさん:2007/06/17(日) 16:32:07
>>199
>>197じゃないがぜひ「意味」を教えてくれ
201デフォルトの名無しさん:2007/06/17(日) 17:06:08
>>200
元々は中国明代の言葉で「風羽蓮」のこと。
清の時にはとっくに使われなくなってたんだけど、アロー戦争後の反清運動の気運のなかで、
明の文化への回帰運動が起こり、「永楽大典」に載ってたのが流布した。
意味は「疾風の如く進み、鳥羽のように繊細に、蓮花のように高潔に。」
(ちなみに、蓮は仏陀の象徴ね。)

その言葉に感銘を受けた宣教師が、一字ずつ英語の発音に直したのが「foo bar baz」
その宣教師の著書が欧州でウケて、この言葉はちょっとした流行語になった。
やがて意味が忘れられて、おもしろい語感のおかげで、単語だけが残ったってわけ。

参考:民明書房「この国を見よ!」
202デフォルトの名無しさん:2007/06/17(日) 17:13:16
蓮の訓読みにワロタ

俺も>>199のご高説が聞きたいね
203200:2007/06/17(日) 17:19:47
>>201
にやけてしまった漏れの負け
204デフォルトの名無しさん:2007/06/17(日) 18:39:41
えらぶりたいだけの厨房でしたとさ
205デフォルトの名無しさん:2007/06/17(日) 18:49:33
痛々しいな
206デフォルトの名無しさん:2007/06/17(日) 19:00:08
俺、Python3000が出たら識別子に風羽蓮使うんだ・・・
207デフォルトの名無しさん:2007/06/17(日) 19:33:31
マジレスするとオランダ語だよ。hogeもそう。オランダや北ドイツでは
地名も学校名も看板もhogeだらけ。
208デフォルトの名無しさん:2007/06/17(日) 19:41:17
マジレスすると、「Fubar」の変形。
209デフォルトの名無しさん:2007/06/17(日) 20:06:19
どーでもいいが

ttp://ja.wikipedia.org/wiki/Foobar

210デフォルトの名無しさん:2007/06/17(日) 20:39:29
昔大学の研究室に中国からの留学生の
付さんが来たので、メールアドレスを
foo@〜にさせようとしたが失敗したことがある。
211デフォルトの名無しさん:2007/06/17(日) 21:06:30
そりゃ迷惑メール大量に来そうだな。
212デフォルトの名無しさん:2007/06/17(日) 21:24:00
来るかっつーの
213デフォルトの名無しさん:2007/06/17(日) 21:42:45
python のコンストラクタは __init__ ですが
デストラクタは何ですか?
214デフォルトの名無しさん:2007/06/17(日) 21:51:18
215デフォルトの名無しさん:2007/06/18(月) 09:26:40
-127〜127の数字を127と127の上位バイトと下位バイト分けるにはどうやりますか?
216デフォルトの名無しさん:2007/06/18(月) 10:32:49
じぶんでできたのでいいです
217デフォルトの名無しさん:2007/06/18(月) 11:16:12
小学校にまで普及してるなんてpythonもやるな
218デフォルトの名無しさん:2007/06/18(月) 11:19:02
ぼくはようちえんかとおもったよ
219デフォルトの名無しさん:2007/06/18(月) 11:34:55
10進数を2進数の文字のあつまりにかえるやりかたをおしえてください
12を1100とか7を111とかですおねがいします
220デフォルトの名無しさん:2007/06/18(月) 11:52:12
>>219
"パルプンテ"を使うと1/100の確率で「あつまりにかわる」よ
221デフォルトの名無しさん:2007/06/18(月) 12:18:10
2で割って余りを調べる、を元の数がゼロになるまで繰り返す
もしくは
hexした後に'0'〜'f'を'0000'〜'1111'に写像する
222デフォルトの名無しさん:2007/06/18(月) 12:46:03
>>221
もとから関数があるとかんがえていました
ぐぐっても出てこないのでつくって解決しました
ありがとうございました

def jukarani(moto = 0):
    kekka = []
    while moto > 1:
        kekka += str(moto % 2)
        moto /= 2
    else:
        kekka += str(moto)
    kekka.reverse()
    kekka = ''.join(kekka)
    return kekka
223デフォルトの名無しさん:2007/06/18(月) 12:57:12
10進数とか2進数とかいうのは、
あくまで数の数え方でしかなくて、
数自身の持っている性質じゃないんだけどな。

その処理を「10進数を2進数の文字のあつまりにかえる」と表現してるうちは
そのことが分かっていない。
「数を2進数の文字のあつまりにかえる」ならまあいい。
224デフォルトの名無しさん:2007/06/18(月) 13:13:01
しかし、「n進数で表現された文字列を10進数に一発で変換する」方法は用意されてるんだから
その逆を一発変換する簡単な方法も用意されていいと思うけどね。
225デフォルトの名無しさん:2007/06/18(月) 13:18:30
10進数に変換する?
数値に変換するだけっしょ。
226デフォルトの名無しさん:2007/06/18(月) 15:13:47
>>> int('1100', 2)
12
227デフォルトの名無しさん:2007/06/18(月) 17:26:56
だからそれは
>「n進数で表現された文字列を10進数に一発で変換する」
であってその逆が欲しいんじゃないの?
228デフォルトの名無しさん:2007/06/18(月) 17:30:00
これが永久凍土ですか。
229デフォルトの名無しさん:2007/06/18(月) 17:49:44
>>226>>225に対して書いた
230デフォルトの名無しさん:2007/06/18(月) 18:07:46
それは225を傍証する意味で書いたの?
反証する意味で書いてたらアホだね。12ってなんだか分かってる?
231デフォルトの名無しさん:2007/06/18(月) 18:08:32
今回はワンライナーが出てこなかった。
232デフォルトの名無しさん:2007/06/18(月) 19:46:01
ここは裁判所じゃねー
233デフォルトの名無しさん:2007/06/18(月) 19:57:43
>>222
正の値しか想定してない場合はそれでいいけど
負の値も受け入れる必要があるときは
「2の補数」を求めてから jukarani() に渡す必要がある。
具体的には例えば jukarani(0x100000000+n) if n < 0 else jukarani(n) とする。

>>231
ワンライナーにしてみた。

正の値の場合:
> n = 15
> s = "".join(str(((0x100000000+n if n<0 else n)>>(31-i))&1) for i in range(32))
> s
'00000000000000000000000000001111'
> int(s, 2)-0x100000000 if s[0] == '1' else int(s, 2)
15

負の値の場合:
> n = -15
> s = "".join(str(((0x100000000+n if n<0 else n)>>(31-i))&1) for i in range(32))
> s
'11111111111111111111111111110001'
> int(s, 2)-0x100000000 if s[0] == '1' else int(s, 2)
-15L
> 12ってなんだか分かってる?

12(十二、じゅうに、とおあまりふたつ)とは、自然数、また整数において、11 の次で 13 の前の数である。

ttp://ja.wikipedia.org/wiki/12
235デフォルトの名無しさん:2007/06/18(月) 22:08:26
ここはアテナイの学堂じゃねー
236デフォルトの名無しさん:2007/06/18(月) 23:22:22
>>233
えらいなー、感心します。
237デフォルトの名無しさん:2007/06/18(月) 23:35:52
>>> hex(-7)
'-0x7'
>>> int('-7', 16)
-7
>>> int('-111', 2)
-7

これに習って2進文字列にする関数を書くなら、
>>> bin(-7)
'-111'
となるべき?
238デフォルトの名無しさん:2007/06/19(火) 00:44:48
>>237
そうなるべきだろうね。
符号つき整数と符号なし整数の間の相互変換はN進表記とは別の問題だから。

(もっとも、符号つきでN進表記するとどういうときにうれしいのか俺には思いつかない。
実際、2.3.x 以前の hex() は常に符号なしの16進文字列を返していた。
俺の思いつく限りでは、hex() はバイト列(符号なし整数)に対してのみ使う関数なので
この仕様の方が直感に合ってる。)
239デフォルトの名無しさん:2007/06/19(火) 00:44:52
ああ、そのbinは関数ですか。
str() は関数ではないらしいですが。
240デフォルトの名無しさん:2007/06/19(火) 00:46:40
str()は関数じゃね?
strはラベルとか変数とか名前とかいや関数だとか諸説こもごもだったが。
241デフォルトの名無しさん:2007/06/19(火) 00:48:12
それなら関数呼び出しの式じゃね?
242デフォルトの名無しさん:2007/06/19(火) 01:39:40
__call__すると文字列が返ってくる何かと呼べ。

str は「__call__すると文字列が返ってくる」何かだ。
わかったか。
243デフォルトの名無しさん:2007/06/19(火) 01:58:05
いや、今str()の話だから。
244デフォルトの名無しさん:2007/06/19(火) 04:43:36
AとZだけ入力してリストにA,B,C,D・・・Y,Zという感じに代入する方法ってありますかね?
range命令みたいな便利な命令があるといいんですが・・・
245デフォルトの名無しさん:2007/06/19(火) 04:59:52
>>244
['A', 'B', 'C', ..., 'Z'] みたいな、要素が文字のリストがほしいの?
246デフォルトの名無しさん:2007/06/19(火) 05:07:22
そうです。
文字列でそんな処理できますかね?
247デフォルトの名無しさん:2007/06/19(火) 05:13:50
>>> map(chr,range(ord('A'),ord('Z')+1))
['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
248デフォルトの名無しさん:2007/06/19(火) 05:19:32
>>> (lambda st, en, skip=1: [chr(i) for i in range(ord(st), ord(en)+1)][::skip])('A', 'Z')
['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
>>>
249デフォルトの名無しさん:2007/06/19(火) 05:23:36
ごめん。これでよかった。

>>> (lambda st, en, skip=1: [chr(i) for i in range(ord(st), ord(en)+1, skip)])('Z', 'A', -2)
['Z', 'X', 'V', 'T', 'R', 'P', 'N', 'L', 'J', 'H', 'F', 'D']
250デフォルトの名無しさん:2007/06/19(火) 05:29:54
ありがとうございます。
はじめたばっかりで命令がよく把握できてないんですけどググりながら理解できるようにします。
251デフォルトの名無しさん:2007/06/19(火) 05:51:18
じゃあ、>>249と等価な奴を貼っとくよ。

def chrange(start, end, skip=1):
  return [chr(i) for i in range(ord(start), ord(end)+1, skip)]

print chrange('Z', 'A', -2)
252デフォルトの名無しさん:2007/06/19(火) 06:03:14
すみませんもう一つお願いが。
整数のリストの値を全て二乗する方法と
同じく整数のリストの中から3の倍数だけを取り出す方法を教えてください。
リストの概念はわかってきたんですが、どうもその使い方がいまいち掴めなくて・・・
253デフォルトの名無しさん:2007/06/19(火) 06:15:32
リスト内包でやるやり方
>>> a=range(8)
>>> [x**2 for x in a]
[0, 1, 4, 9, 16, 25, 36, 49]

>>> [x for x in a if x%3==0]
[0, 3, 6]

for 文を使う
>>> a=range(8)
>>> for x in range(8):
...    a[x] = a[x] ** 2
...

>>> a=range(8)
>>> for x in range(8):
...
254デフォルトの名無しさん:2007/06/19(火) 06:18:03
うは、書いてる途中で送ってしまった・・・orz
255デフォルトの名無しさん:2007/06/19(火) 06:29:15
なるほど、内包で処理を行うにはfor in 命令を使うんですね。
ありがとうございました。
256デフォルトの名無しさん:2007/06/19(火) 09:53:46
入門書嫁。
257デフォルトの名無しさん:2007/06/19(火) 14:24:38
>>> list('ABCDEFGHIJKLMNOPQRSTUVWXYZ')
['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
258デフォルトの名無しさん:2007/06/19(火) 14:28:07
質問の条件嫁
259デフォルトの名無しさん:2007/06/19(火) 15:15:55
import re, string
re.findall("[A-Z]", string.ascii_uppercase)
260デフォルトの名無しさん:2007/06/19(火) 15:26:31
import string
[x for x in string.printable if 'A' <= x <= 'Z']
261デフォルトの名無しさん:2007/06/19(火) 16:09:56
Pythonを勉強中です。ttp://www.python.jp/Zope/intro/instant_python_jpに
class Basket:
  def __init__(self,contents=None):
    self.contents = contents or []

  def add(self,element):
    self.contents.append(element)

というコードがあったのですが、なぜPythonでは次のように書くことを選択しなかったのでしょうか?

class Basket
  def __init__(contents=None)
    contents = contents or []

  def add(element)
    contents.append(element)

もちろん、':'を付けることやselfが必要なのは、Pythonのお約束なんだろうなということはわかるのですが、何か理由があるなら知りたいのです。
262261:2007/06/19(火) 16:12:48
あ、__init__のcontentsは、実引数名がメンバ名(というのでしょうか?)とかぶってますね・・・
263デフォルトの名無しさん:2007/06/19(火) 16:13:38
defを極力一般化するためでは? self.
264デフォルトの名無しさん:2007/06/19(火) 16:18:03
265261:2007/06/19(火) 16:23:04
>>262 仮引数名の間違いでした・・・

>>263 なるほど。でもC++のクラスのように、仮引数のselfはなくてもいいような気がします。

>>264 理解しました。メソッド内コードのselfには意味があるのですね。
266デフォルトの名無しさん:2007/06/19(火) 16:28:48
「thisなんてどこから湧いてくるんだ?定義した覚えねーぞ。」
267デフォルトの名無しさん:2007/06/19(火) 18:27:12
ttp://www.artima.com/weblogs/viewpost.jsp?thread=208549
Python 3000 Status Update (Long!)
by Guido van Rossum
268デフォルトの名無しさん:2007/06/19(火) 18:33:16
269デフォルトの名無しさん:2007/06/19(火) 18:46:27
270デフォルトの名無しさん:2007/06/19(火) 20:32:26
メンバの完全なカプセル化を実装しないのも、「あえて」なのかね。
これはスコープが足りない(増やしたくない)から、「やむなく」という気もしないでもない。
271デフォルトの名無しさん:2007/06/19(火) 21:19:10
>>266
お前はtrueとかfalseとかnilとかでもそう思うのか?思わないだろ。
272デフォルトの名無しさん:2007/06/19(火) 21:47:16
マナーによるカプセル化
273デフォルトの名無しさん:2007/06/19(火) 22:11:53
そんなことより聞いてくれ>>1よ、おっぱいスレとあんまり関係n
274デフォルトの名無しさん:2007/06/19(火) 22:24:28
>>271
そいつらグローバルスコープじゃん
275デフォルトの名無しさん:2007/06/19(火) 22:32:03
低脳排除によるカプセル化。
276デフォルトの名無しさん:2007/06/19(火) 22:44:08
>>274
そんなの関係無い。

「trueを定義していなくても使えるのは、グローバルで勝手に定義されてるから」
「selfが使えるのも、関数で勝手に定義されてるから」

それだけ。266みたいなことを言うアホはそれでOKじゃん。
277デフォルトの名無しさん:2007/06/19(火) 23:04:53
勝手に定義? 名前は任意でしょ。中身は勝手にセットされるにしても
278デフォルトの名無しさん:2007/06/19(火) 23:10:02
だよねえ。変数名はselfだろうがhogeだろうがオッケー。
ヒープに浮かんでるオブジェクトへのポインタを
第一引数(名前はなんでもいい)で受け取ってるだけでしょ。
少なくとも軽々しくアホとか言うのやめてほしいわ。

>>261
>>268が挙げてくれたFAQ読むといいよ。
Pythonは変数使うのに宣言を必要としないから、
もしselfを使わないとローカル変数とインスタンス変数の区別が付かなくなる。
279デフォルトの名無しさん:2007/06/19(火) 23:18:32
>>277-278
オマエラ、266からの流れで話してるのぐらい読解しろよ。はぁ…。
280デフォルトの名無しさん:2007/06/19(火) 23:32:44
流れを読まずに言いたいことだけ言う。

Pythonはオブジェクト指向言語ではあるがクラス指向言語ではない。
281デフォルトの名無しさん:2007/06/19(火) 23:33:50
いいえ、クラス指向ですけど。
282デフォルトの名無しさん:2007/06/19(火) 23:35:15
>>280
へー

で、「クラス指向ではない」の論拠は?また妄想?
283デフォルトの名無しさん:2007/06/19(火) 23:56:52
アホや低脳、文盲の排除。
それが俺たちが幸せになれる道である。
284デフォルトの名無しさん:2007/06/20(水) 00:17:54
(´・ω・`)しらんがな
285デフォルトの名無しさん:2007/06/20(水) 01:01:52
  _  ∩
( ゚∀゚)彡 おっぱい!おっぱい!
 ⊂彡
286sage:2007/06/20(水) 01:14:58
c言語の/*〜*/みたいなコメントアウトってできないの?
#打ち込むの疲れた。
287デフォルトの名無しさん:2007/06/20(水) 01:20:17
ない
288デフォルトの名無しさん:2007/06/20(水) 01:21:59
"""〜"""で囲む
289デフォルトの名無しさん:2007/06/20(水) 01:22:32
KateとかKwriteだった、コメントアウトしたい部分を選択して
ctrl+Dですむんだが。
290デフォルトの名無しさん:2007/06/20(水) 04:56:53
trueとかfalseとかnilはスコープによって内容を変えるシンボルなの?
茶漬けをraiseするとStopIterationになる京言葉みたいだな。
291デフォルトの名無しさん:2007/06/20(水) 07:16:25
>>286
IDLEならコメントアウトしたい行を選択して Alt-3 を押す。Alt-4 で # を消せる。
Emacs の Python モードにも同様の機能がある(キーバインドを忘れた)。
292デフォルトの名無しさん:2007/06/20(水) 09:07:57
C-#
293デフォルトの名無しさん:2007/06/20(水) 10:32:24
Python + Flash
http://www.artima.com/weblogs/viewpost.jsp?thread=208528
> Combine the power of Python with the polish of Flash to
> create a desktop application.
294286:2007/06/20(水) 11:18:37
>>287-289,291
みなさんレスありがとう
とりあえず"""〜"""でやるです。ハイ
295261:2007/06/20(水) 13:31:26
>>269
> コロンの件もFAQでした。
> http://www.python.org/doc/faq/general/#why-are-colons-required-for-the-if-while-def-class-statements

なるほど、コロンの件もこれですっきりしました。
確かに英語では〜as follows:みたいに書きますね。
"Another minor reason"の方も目から鱗でした。

ありがとうございました。
296デフォルトの名無しさん:2007/06/21(木) 22:50:48
try: except: でいったんcatchした例外を再度raiseするときに、もとの行番号を保存したままraiseすることができますか。

例えば次のようなプログラムを実行すると、

 1: def f1():
 2:    try:
 3:        f2()
 4:    except Exception, ex:
 5:        if ex.message:
 6:            raise ex
 7: 
 8: def f2():
 9:    f3()
10: 
11: def f3():
12:     raise Exception('*** error')
13:
14: f1()

以下のように「6行目で例外が発生」していると表示されます。

Traceback (most recent call last):
  File "hoge.py", line 14, in <module>
    f1()
  File "hoge.py", line 6, in f1
    raise ex
Exception: *** error

これを、12行目で発生していることを知りたいわけです。
どうすればいいでしょうか。よい知恵をお貸しください。
297デフォルトの名無しさん:2007/06/21(木) 22:56:30
298デフォルトの名無しさん:2007/06/21(木) 23:11:28
>>297
ちょーさんくすです
回答が早いし正確だし、すばらしすぎです
299デフォルトの名無しさん:2007/06/22(金) 14:39:55
英語の質問なんだけどいい?
「〜という名前で保存された」を英語にすると「saved as ~」?それとも「saved with ~」?どっちでしょうか。
メッセージを英語で書いてみてるんだけど、よくわからん。
300デフォルトの名無しさん:2007/06/22(金) 15:15:14
個人的には"saved as"使うなぁ。
"saved with"は微妙。
301デフォルトの名無しさん:2007/06/22(金) 15:18:19
saved toは?
302デフォルトの名無しさん:2007/06/22(金) 15:38:14
that file is saved as "foo.txt" to "/home/bar/Desktop".
303デフォルトの名無しさん:2007/06/22(金) 15:43:57
asだろ。withは手段をあらわす前置詞だ。
304デフォルトの名無しさん:2007/06/22(金) 15:48:32
import socket

socket.connect

・・・チョーダサいんですけど、どうにかなりません??
305デフォルトの名無しさん:2007/06/22(金) 15:53:19
>>304
何が?
306デフォルトの名無しさん:2007/06/22(金) 15:56:14
>>300-303
こんなにレスが。saved as を使うことにします。ありがとうございました。
307デフォルトの名無しさん:2007/06/22(金) 16:10:03
>>304
from socket import connect as oppai
oppai()

これで満足かしら、うふふふふ。
308デフォルトの名無しさん:2007/06/22(金) 19:43:16
    _ _
   ( ゚∀゚ ) ! 
   し  J  
   |   |
   し ⌒J
309デフォルトの名無しさん:2007/06/23(土) 00:01:02
他人のモジュールにasで変なあだ名つけていじめるってプレイ

他人のモジュールにasで変なあだ名つけていじめるってプレイ

他人のモジュールにasで変なあだ名つけていじめるってプレイ

他人のモジュールにasで変なあだ名つけていじめるってプレイ

他人のモジュールにasで変なあだ名つけていじめるってプレイ

他人のモジュールにasで変なあだ名つけていじめるってプレイ

他人のモジュールにasで変なあだ名つけていじめるってプレイ
310デフォルトの名無しさん:2007/06/23(土) 00:11:58
暗い,暗いなあ.
311デフォルトの名無しさん:2007/06/23(土) 01:15:26
昔の人は
import socket
c = socket.connect
del socket
と書いていたらしい。
それがめんどくさいのでasくれという話になったらしい
312デフォルトの名無しさん:2007/06/23(土) 01:34:19
IDEって何使ってる?
313デフォルトの名無しさん:2007/06/23(土) 02:22:21
IDLE
314デフォルトの名無しさん:2007/06/23(土) 06:33:04
315デフォルトの名無しさん:2007/06/23(土) 13:30:17
PyScripter
316デフォルトの名無しさん:2007/06/23(土) 16:48:29
たくさんのkterm
317デフォルトの名無しさん:2007/06/23(土) 19:59:02
screen
318デフォルトの名無しさん:2007/06/23(土) 20:25:25
xyzzy
319デフォルトの名無しさん:2007/06/24(日) 06:50:21
copy con
320デフォルトの名無しさん:2007/06/24(日) 12:44:33
ウワーンworkshop申し込みしようと思ったら締め切られてた…
321デフォルトの名無しさん:2007/06/24(日) 12:45:20
>>320
どんだけ鈍感なんだよ
322デフォルトの名無しさん:2007/06/24(日) 13:52:37
>>320
ここだけの話、申し込み完了しましたメールには
メールを印刷したのもってこいとか受付番号とか書いてないし
いきなり行っても入れるんじゃね?

こういうイベントだと(有料ならともかく)無料なら受付自体しないことが多いし。
323デフォルトの名無しさん:2007/06/24(日) 15:36:06
>>322
なんのための申込みだよ.
324デフォルトの名無しさん:2007/06/24(日) 16:55:25
>>322
おまえの言っていることはゴミの不法投棄と同じだ。
見付からなければいいってことだろ。
325デフォルトの名無しさん:2007/06/24(日) 17:08:28
大学とかそんな感じじゃん、
326デフォルトの名無しさん:2007/06/24(日) 17:13:51
a[x].b 
ってやるとbの数が出るようにしたいんですけどどうやりますか?
xを変えると別のbになるようにしたいです。
ほかにa[x].cもあって、xを変えると別のcになるようにするようにしたいです
試してみたのが、空のクラスを作って
class d:
pass

if __name__ == '__main__':
a=[]
d=d()
d.b=10
a[0].append(d)
d.b=11
a[1].append(d)
a[0].b
a[1].b
ってやると
全部11になるような気がします。
ソースはたぶん間違ってると思います。
327デフォルトの名無しさん:2007/06/24(日) 17:15:55
午前の部なら潜れなくはないだろうが、運営に今から申し込んでも大丈夫か聞くのが先だろ。

それはともかく、クックブック買った。原著の後ろの章が無いのは残念だが、それを除けば良い出来だと思う。
4200円はという値段がちょっとネックかなあ。クックブックとしては、それほどでもないんだけど。
328デフォルトの名無しさん:2007/06/24(日) 17:31:23
>>326
とりあえず解決法だけ言うと

e, f = d(), d()
e.b=10
f.b=11

という風に別々のインスタンスを作って、それぞれをaにappendすればよい。
329デフォルトの名無しさん:2007/06/24(日) 17:31:41
>>327
クックブック、著者紹介がイタくね?
330デフォルトの名無しさん:2007/06/24(日) 17:37:51
>>328
インスタンスをどんどんつくっていくことってできるんですか?
そのほうほうだと始めに決めた数しかインスタンスが作れないようなきがするんですか
331デフォルトの名無しさん:2007/06/24(日) 18:09:50
たとえば

class d: pass
a=[]
for i in range(1000): a.append(d())

とすれば、aは異なるオブジェクトの配列になる。
さらに、各要素のb属性を弄りたいんだったら、コンストラクタに引数をつけて工夫する。
332デフォルトの名無しさん:2007/06/24(日) 18:13:51
ありがとうございます。
333デフォルトの名無しさん:2007/06/24(日) 18:40:12
>>330
読んでなかったので読んでみた。
著者紹介より訳者紹介の方がはっちゃけてるのは珍しいかもしれないが、
これくらいなら最近のオライリーでは普通レベル。

一個脱字発見。「はじめに」にあるASPNのPython CookbookのURLの最後の
「Python/」が「Pytho/」になっている。
この本の元ネタなんだし、2刷には直しておいて欲しいな。
334333:2007/06/24(日) 18:42:23
>>329だった。

技術書一般に言える事だけど、誤字脱字が気になる人は、
正誤表出るか何刷か進んでから買った方が良い。
335デフォルトの名無しさん:2007/06/24(日) 21:27:17
l = ['apple', 'monkey', 'Japanase']
リストの値をそれぞれ、超スマートに変数に代入したいんですけど、どんな
方法がありますか?

オレはこんなのしか思いつかない。
fruit, animal, language = l[0], l[1], l[2]
336デフォルトの名無しさん:2007/06/24(日) 21:37:13
fruit, animal, language = l
337335:2007/06/24(日) 21:41:44
>>336
おぉ、右側すっきりですね。今度からそっちを使います。
338デフォルトの名無しさん:2007/06/24(日) 21:43:18
lという変数名が「超スマート」じゃない
1とまぎらわしいもん
339335:2007/06/24(日) 21:46:27
>>338 そこはゆるして。1は変数名にはなりえない(はず)だから。
340デフォルトの名無しさん:2007/06/24(日) 22:04:43
>>339
んでも、右辺値として使われてると紛らわしいじゃん?
341デフォルトの名無しさん:2007/06/24(日) 22:06:25
Pythonのlambdaの中で条件分岐をすることは出来ますか?
if文使えないみたいなので…名前付きの関数作るしかないですか?
342デフォルトの名無しさん:2007/06/24(日) 22:10:49
andとorがあれば条件分岐なんてなんとでもなるだろ常考
後で困るだけだから普通の関数作れ
343デフォルトの名無しさん:2007/06/24(日) 22:12:39
Python2.5だが
>>>f = lambda x:1 if x else 2
>>>f(True)
1
>>>f(False)
2

みたいなのはできる
もちろん可読性を損ないかねない場合は普通に関数使うべきだと思う
344デフォルトの名無しさん:2007/06/24(日) 22:21:31
fact = lambda x: x<=1 and 1 or x * fact( x-1 )
fact = lambda x: 1 if x<=1 else x * fact( x-1 )
345デフォルトの名無しさん:2007/06/24(日) 22:57:57
>342
う〜ん、1回限りのfilterやmap、reduceの為だけに
1つ名前を汚すってどうも嫌な感じがするんですよね…
とりあえず今のところは関数作っておきます
346デフォルトの名無しさん:2007/06/24(日) 23:17:01
__lambdaって名前を使い回せばいい。
347デフォルトの名無しさん:2007/06/24(日) 23:27:20
>346
なるほど…使い回すなんて方法もあったのか

って、よく考えたら Python って
関数ローカルな関数が定義できるから
あんまり名前汚すことに神経質にならなくていいのかな
スレ汚し失礼しました
348339:2007/06/25(月) 07:05:27
>>340
ん、まぁ確かにそうなんだけどさぁ。。。
349デフォルトの名無しさん:2007/06/25(月) 08:01:31
>>348
PEP8にエル一文字なら大文字のLを使えと書いてある
350348:2007/06/25(月) 08:28:12
>>349
こんなにいいガイドラインがあるとは知らなかった。参考にしよう。うん。
351デフォルトの名無しさん:2007/06/25(月) 10:04:35
>>348
オマエは才能ないからRubyでもやってれば?
352348:2007/06/25(月) 11:28:48
>>351
え〜。オレ才能ないからRubyでも同じだと思うけど。
PHP, Perl, Ruby -> 全部気に入らない -> Python
の流れできた結果だから、どうしようもない。
353デフォルトの名無しさん:2007/06/25(月) 11:55:22
ダメなやつは何をやってもダメ
354デフォルトの名無しさん:2007/06/25(月) 12:02:15
>>> print 'abc','abc'
abc abc
間にスペースが勝手にはいるんですけど、
どうしたらスペース無しにできますか?
355デフォルトの名無しさん:2007/06/25(月) 12:12:20
このしつもんはわかったのでもういいです
356デフォルトの名無しさん:2007/06/25(月) 13:37:43
ほんとうにわかったかどうかかくにんするため

追試

をおこないます。火曜日の 18:00 に集合のこと
357デフォルトの名無しさん:2007/06/25(月) 13:38:33
そうですか。それはおめでとうございます。
358348:2007/06/25(月) 14:49:46
>>353 (T-T)
359デフォルトの名無しさん:2007/06/25(月) 14:53:52
PythonでつくったCGIプログラムをサーバにuploadするとき、みなさんどんな方法でやってますか。
今はFTPつかって更新したファイルだけを手作業でuploadしているのですが、ファイルが増えてきたので面倒になりました。
できればUNIXでつかえる便利ツール教えてください。
360デフォルトの名無しさん:2007/06/25(月) 14:57:36
>>359
見事にPythonに関する質問 ぽ く 見せかけてはいるがスレ違い。
361デフォルトの名無しさん:2007/06/25(月) 15:09:57
>>359
ftp コマンドをシェルスクリプトで自動化すればいいのでは。
362デフォルトの名無しさん:2007/06/25(月) 15:32:54
>>361
それでもいいのですが、できれば指定したディレクトリを同期化してくれたりするとうれしいのですが、
そんなツールないでしょうか。
いやきっとあると思うのですが、windows用のしか見つからなくて。
363デフォルトの名無しさん:2007/06/25(月) 15:38:13
どうみてもスレ違いw
364デフォルトの名無しさん:2007/06/25(月) 15:59:38
>>362
Python で自作しろよ
365デフォルトの名無しさん:2007/06/25(月) 16:09:19
sitecopy
366デフォルトの名無しさん:2007/06/25(月) 16:42:45
rsync
367デフォルトの名無しさん:2007/06/25(月) 20:22:07
■ おすすめ2ちゃんねる 開発中。。。 by FOX ★
このスレを見ている人はこんなスレも見ています。(ver 0.20)
AutoHotkey 3 [ソフトウェア]
GoogleWebToolkit[GWT]について語ろう [WebProg]
【Python】TurboGearsスレ Part 1【Framework】 [WebProg]
Vim Part14 [UNIX]

Vim 使い多いんですかね
368デフォルトの名無しさん:2007/06/25(月) 21:02:36
犯人探しには格好のツールだなwwwww
369デフォルトの名無しさん:2007/06/25(月) 22:28:54
ちゃんと仕事しろよ○○○(wwwwwwwwwwwwww
370デフォルトの名無しさん:2007/06/26(火) 02:45:32
小数点第a位を切捨てする命令か方法って無いですかね?
四捨五入は見つかったんですが。
371デフォルトの名無しさん:2007/06/26(火) 06:02:54
>>370
何に使うのか分からんけどこんな感じ?

>>> def kirisute(f, a):
        assert isinstance(f, float) and isinstance(a, int) and a > 0
        m = 10 ** a
        n = int(f * m)
        return n / m, n % m

>>> kirisute(3.1415926, 3)
(3, 141)
>>> kirisute(3.1415926, 4)
(3, 1415)
>>> kirisute(3.1415926, 5)
(3, 14159)
>>> 
372デフォルトの名無しさん:2007/06/26(火) 19:47:18
math.floorを使えばもうちょっと綺麗に書けそうな
373デフォルトの名無しさん:2007/06/26(火) 20:53:06
あえて切り捨てたい状況ってある?
普通桁が足りない場合の方が問題になるような・・・
374371:2007/06/26(火) 21:03:47
>>372
浮動小数点数のまま処理しても正確には切り捨てられないしなー、と思って泥臭く整数で処理してみた。
(例えば3.14159は浮動小数点数では3.1415899999999999になってしまう。)

>>373
俺も切り捨てたい状況というのがワカラン。>>370さん、良かったら何に使うのか教えて下さい。
375デフォルトの名無しさん:2007/06/26(火) 21:20:07
decimal
376デフォルトの名無しさん:2007/06/26(火) 22:17:14
>>375に先を越されたが、

>>> def rdown(f,s):
import decimal
d=Decimal(f.__str__())
return (d*10**s).to_integral()/10**s

>>> rdown(3.1415,2)
Decimal("3.14")
377376:2007/06/26(火) 22:23:42
d = decimal.Decimal( f.__str__() )
だな。
378c:2007/06/27(水) 00:34:14
>>375
切り捨てだから
to_integral(decimal.ROUND_DOWN)ですね。

個人的には

  from decimal import Decimal, ROUND_DOWN
  return d.quantize(Decimal('1e-%d'%s), rounding=ROUND_DOWN)

とか。
379デフォルトの名無しさん:2007/06/27(水) 15:48:19
このさい文字列でいいだろ。
"%%.%df" % a % x
380デフォルトの名無しさん:2007/06/28(木) 23:19:59
perl の module-starter のように、
egg のプロジェクトテンプレートを作ってくれるようなコマンドってないでしょうか?
381デフォルトの名無しさん:2007/06/29(金) 00:10:05
聞いたほうが早そうなので聞いちゃうけど、dictのkeyとvalueを
逆転させるのってどうするのがはやいかな。まじめに

|def kv_rev(d):
| rD={}
| for k in d:
| rD[d[k]] = k
| return rD

とかするのでいいのかな。

382デフォルトの名無しさん:2007/06/29(金) 00:17:38
>>381
dict([(y,x) for (x,y) in d.items()])
383デフォルトの名無しさん:2007/06/29(金) 00:17:50
クックブック(今年買った英語版・・・)では
dict([(v,k) for k,v in d.iteritems()])
384デフォルトの名無しさん:2007/06/29(金) 00:26:23
>382, 383

danke!
385デフォルトの名無しさん:2007/06/29(金) 00:31:17
py3からはitemsとiteritemsが統合されるらしいね。(名前はitemsで意味はiteritems

こういうのって初心者フレンドリーでは無い気もするけど・・・
386デフォルトの名無しさん:2007/06/29(金) 00:33:26
>逆転
keyとvalueが一対一対応でない時の振る舞いは不定ってことでOK?
387デフォルトの名無しさん:2007/06/29(金) 00:34:17
>386

もちおk (ID:IDのdictなので)
388デフォルトの名無しさん:2007/06/29(金) 12:35:52
>>381-383
なんという偶然…
いま欲しいコードが見つかってしまった
これは間違いなく奇跡
389デフォルトの名無しさん:2007/06/29(金) 12:53:19
                 
            / ̄\ 
           | ^o^ | 
            \_/ 
390デフォルトの名無しさん:2007/06/29(金) 14:27:40
>>383
2.4以降なら dict((v, k) for k, v in d.iteritems()) の方が良いかと
391デフォルトの名無しさん:2007/06/29(金) 21:15:12
皆IDEは何使ってる?
392デフォルトの名無しさん:2007/06/29(金) 21:20:01
>312-319
393デフォルトの名無しさん:2007/06/29(金) 23:41:09
クックブック第2版(邦訳)やっと出るんだな
394デフォルトの名無しさん:2007/06/30(土) 00:08:03
dankogaiが絶賛してた
395デフォルトの名無しさん:2007/06/30(土) 00:56:50
ないないw
と思ったらほんとに褒めてるな・・・

書評 - Pythonクックブック第二版
http://blog.livedoor.jp/dankogai/archives/50856126.html
396デフォルトの名無しさん:2007/06/30(土) 01:33:43
発売日に本屋でPerlクックブックと見比べてたら
Perlのほうが欲しくなってしまった。とりあえずPython買ってきたけど。
全盛期の頃はPerlを忌み嫌ってたが、今になってみると視野狭窄だったと反省
397デフォルトの名無しさん:2007/06/30(土) 07:09:14
>>391
使ったことないけどeclipseだとこんなのもあるみたいね。

PyDev
http://pydev.sourceforge.net/download.html
Mylar
http://www.eclipse.org/mylar/
398デフォルトの名無しさん:2007/06/30(土) 10:23:12
Python Workshopのストリーミング中継やっとるね。

http://labs.i-revo.jp/wiki/?PythonWorkshop2007
399デフォルトの名無しさん:2007/06/30(土) 10:33:33
これはキモい
400デフォルトの名無しさん:2007/06/30(土) 11:11:37
IronPython は料理の鉄人からだったのか
401デフォルトの名無しさん:2007/06/30(土) 16:37:05
macosx 2.3.5 for panther(10.4)

林檎使い多いのね。
402デフォルトの名無しさん:2007/06/30(土) 18:43:57
>>391
メモ帳
403デフォルトの名無しさん:2007/06/30(土) 19:09:04
kwrite使ってる。

メモ帳はさすがにネタだろう。
404デフォルトの名無しさん:2007/06/30(土) 19:30:31
IDEでない、って言ってあげるのが優しさだったんではw
405デフォルトの名無しさん:2007/06/30(土) 21:31:09
404 名前:デフォルトの名無しさん [↓] :2007/06/30(土) 19:30:31
IDEでない、って言ってあげるのが優しさだったんではw
406デフォルトの名無しさん:2007/06/30(土) 21:57:34
優しさだけじゃだめなんだよ
407デフォルトの名無しさん:2007/06/30(土) 23:36:41
sageを↓と表示する専ブラがあるとは知らなかった
408デフォルトの名無しさん:2007/06/30(土) 23:40:39
xyzzyのpy-mode
409デフォルトの名無しさん:2007/06/30(土) 23:50:13
いつもながらがきくせえなあ、もう
410デフォルトの名無しさん:2007/07/01(日) 00:11:58
やっぱり漢字は必要だな
411デフォルトの名無しさん:2007/07/01(日) 00:43:28
でも1バイト文字最強だよなぁ。いろんな意味で。
412デフォルトの名無しさん:2007/07/01(日) 00:55:56
論点がシフトしたような

コードで表してくれ
413デフォルトの名無しさん:2007/07/01(日) 01:26:07
zipでくれ
414デフォルトの名無しさん:2007/07/01(日) 06:13:45
#/usr/bin/env python
# -*- coding:utf-8 -*-
import re
res = raw_input('ほらほらマジレスしてみろやw\n草でぶっ潰してやんよwww::::')
res = re.sub('、','w',res)
res = re.sub('。','wwww',res)
res = re.sub('?','?w',res)
print res









やべえwスwクwリwプwトw作wっwたww
すっげーwwwwマジでwwwwwwwwwww









ほらほらマジレスしてみろやw
草でぶっ潰してやんよwww::::は?お前なんかどうでもいいし、失せろよ。
は?wお前なんかどうでもいいしw失せろよwwww
415デフォルトの名無しさん:2007/07/01(日) 06:33:30
>>414
うはwwwwktkrwwww
Pythonハジマタwwwwwwwww
416デフォルトの名無しさん:2007/07/01(日) 10:34:42
いつもながらがきくせえなあ、もう
417デフォルトの名無しさん:2007/07/01(日) 10:35:49
論点が4ビットシフトしたような

コードで表してくれ
418デフォルトの名無しさん:2007/07/01(日) 12:32:53
zipでくれ
419デフォルトの名無しさん:2007/07/01(日) 13:05:04
アホしかおらんだけに平和だw
420デフォルトの名無しさん:2007/07/01(日) 13:09:46
こんにちは
421デフォルトの名無しさん:2007/07/01(日) 15:07:28
質問なんだけど、
map関数って、filterみたいな抽出処理ってできるのかな?
わかる方いましたら教えてください。
422デフォルトの名無しさん:2007/07/01(日) 15:19:41
抽出処理をする関数をこさえればいいだけだろw
423デフォルトの名無しさん:2007/07/01(日) 15:21:39
>>421
できるけど、普通にfilter使えばいいんじゃない?
424デフォルトの名無しさん:2007/07/01(日) 15:22:07
な?
わかる方いましたら教えてください。
425デフォルトの名無しさん:2007/07/01(日) 17:12:06
もはや内包表記しか使っていない
426デフォルトの名無しさん:2007/07/01(日) 17:19:05
map関数って、入力リストと出力リストの要素数は必ず同じになるんじゃないの?
427デフォルトの名無しさん:2007/07/01(日) 18:01:54
>>426
できる限り好意的に解釈すれば、
関数内で抽出(?)すればできないこともない。

ムダだが。
428デフォルトの名無しさん:2007/07/01(日) 20:56:01
もはや包茎表記しか使っていない
429デフォルトの名無しさん:2007/07/01(日) 21:00:41
正規表現で*つかうのアナルサーチって呼んでマッスルwww
430デフォルトの名無しさん:2007/07/01(日) 21:09:55
もはや陰茎表記しか使ってない
431デフォルトの名無しさん:2007/07/01(日) 21:12:38
おまいら包茎だのアナルだの陰茎だの包皮だの下品だな
もう少し典雅にやれよ
ぷんすか
432デフォルトの名無しさん:2007/07/01(日) 23:15:24
もはや貴族表記しか使ってない
433デフォルトの名無しさん:2007/07/02(月) 01:07:16
高貴な香りのするスクリプトなんてあるなら晒してみろよ
434デフォルトの名無しさん:2007/07/02(月) 02:15:54
map(func, filter(gunc, L))とかすれば?

つっても[func(x) for x in L if gunc(x)]と書いた方が後で読みやすいと思うけど
435デフォルトの名無しさん:2007/07/02(月) 06:28:41
おや、ここは基地外病院なのか?
スレを間違えた様だ
436デフォルトの名無しさん:2007/07/02(月) 06:37:59
mapはlistを返すんだよな。
437デフォルトの名無しさん:2007/07/02(月) 10:25:01
>>435
vi使いのキチガイがスレを占拠しています(wwwwwwwwwwwwwww
438デフォルトの名無しさん:2007/07/02(月) 23:49:59
>>421です
みなさん、レスありがとうございます。
いただいたヒントを基に、解決しました。
ありがとうございました。
439デフォルトの名無しさん:2007/07/02(月) 23:51:32
結局どうしたのか書いてくれよ
440デフォルトの名無しさん:2007/07/03(火) 02:09:55
聞くだけ聞いて気も用も済みましたので、
わざわざ手間を掛けて還元する気はありません。
ごめんなさい。
441デフォルトの名無しさん:2007/07/03(火) 02:30:10
ぱいそん入門者であるが、
この言語、どうも基本のデータ構造がリストっぽい気がするのだが
贅沢というか勿体ない気がして落ち着かない。
フラットな配列とハッシュだけでも大抵間に合うのに
ことさらにリストを多用することについて皆様どう思われますか
442デフォルトの名無しさん:2007/07/03(火) 03:40:29
たぽー使えばいいだろ
443デフォルトの名無しさん:2007/07/03(火) 04:08:06
毒を食らわば皿まで
444デフォルトの名無しさん:2007/07/03(火) 04:37:59
>>441
富豪的で良いと思われ。
cf. http://pitecan.com/articles/Bit/Fugo/fugo.html
445デフォルトの名無しさん:2007/07/03(火) 04:44:47
pythonのリストってa[n]って言うアクセス自体がnのサイズに対して線形時間かかってるのかなぁ?
要素数100万ぐらいだとぜんぜん実感できないんだけど、・・・
逆にわざと実感しようとしても、うちのメモリだと要素数1億以上のリストが作れないので、実験すら出来ない・・・
446デフォルトの名無しさん:2007/07/03(火) 04:48:15
タプルは書き換えられないので、配列の代わりにはならん。
本当に、計算時間が問題になる問題なんだったら、arrayモジュールインポートしてちゃんとやった方がいいかも?(使ったこと無いけど・・・
447デフォルトの名無しさん:2007/07/03(火) 05:08:18
Pythonのリストは所謂双方向リストではない。他の言語で言うところの可変長配列。
C++ならstd::vector、JavaならArrayList。
448デフォルトの名無しさん:2007/07/03(火) 05:30:50
これだね。
typedef struct {
PyObject_VAR_HEAD
PyObject **ob_item;
Py_ssize_t allocated;
} PyListObject;
449デフォルトの名無しさん:2007/07/03(火) 05:50:07
どうしても速度が気になるようになってきたら
ボトルネックを捜してコード書き換えたり
そこだけC言語で外部ライブラリ書いたり。
そこまで速度に神経質にはならないなぁ俺は。
スクリプト言語ってそんな感覚じゃね?大体。
450デフォルトの名無しさん:2007/07/03(火) 10:16:20
def func(a=None, b=None):
に対応するようなC/API は
PyArg_ParseTupleAndKeywords
を使えば良いと思うんだけど、

def func(a=None, b=None, **kwags):
こういうPython関数を含むモジュールをCで書き直したい場合ってどうすればいいの?
一度クッション挟んで、
def func(a=None, b=None, **kwargs):
 import c_api
 c_api.func(a=None, b=None, more=kwargs)
って呼び出しをするしか無い?




451デフォルトの名無しさん:2007/07/03(火) 11:06:40
452デフォルトの名無しさん:2007/07/03(火) 17:05:11
皆さんはどんなエディタでスクリプト書いてるんですか?
スクリプト言語は始めてなので、ぜひ参考にしたいです
453デフォルトの名無しさん:2007/07/03(火) 17:09:20
ループ警報
454デフォルトの名無しさん:2007/07/03(火) 17:16:05
吉本の子会社。
455デフォルトの名無しさん:2007/07/03(火) 17:17:14
ここでメタクラスですよ。
456デフォルトの名無しさん:2007/07/03(火) 17:43:43
使い慣れたエディタにPython用のシンタックスハイライトとコード補完が付いてるならそれ使え
そうじゃないならIDLE使っとけ
457デフォルトの名無しさん:2007/07/03(火) 17:49:30
【エディタ】ソース何で書いてる? 1スレ目
ttp://pc11.2ch.net/test/read.cgi/tech/1164154920/l50
458デフォルトの名無しさん:2007/07/03(火) 18:27:27
メタクラスは面白いな。
459デフォルトの名無しさん:2007/07/03(火) 18:38:12
みんな pydocとか使ってる?
>>> import pydoc
>>> pydoc.writedoc('web.py')

no Python documentation found for 'web.py'

とか出て来てバーヤバーヤヽ(`Д´)ノ orz
460デフォルトの名無しさん:2007/07/03(火) 18:41:08
>>459
そんなぶっきらぼうな web.py さんが好き ... (*^ 。^*)
461デフォルトの名無しさん:2007/07/03(火) 19:03:07
pydoc -pでWeb鯖モードにして使ってる。
>>459みたいな使い方はしたことない。
462デフォルトの名無しさん:2007/07/03(火) 20:14:17
pythonで、こういうことがしたいのです
教えてください
例 XXXX('hoge.txt')
  →txtが関連付けられたアプリが起動して、そのファイルが読み込まれる
463デフォルトの名無しさん:2007/07/03(火) 20:21:33
わかりました
import os
os.startfile('hoge.txt')
ですね
464デフォルトの名無しさん:2007/07/03(火) 22:09:35
>txtが関連付けられたアプリ

こういう概念って windows 以外にあるんだっけ?
465デフォルトの名無しさん:2007/07/03(火) 22:18:41
MacOSXはそうだったような違ったような
466465:2007/07/03(火) 22:22:00
今ライブラリリファレンス見たら
利用できる環境:Windows ってちゃんと断ってた
467デフォルトの名無しさん:2007/07/04(水) 03:35:12
次善策: webbrowser.open(ファイル名)
468デフォルトの名無しさん:2007/07/04(水) 14:05:43
os.system("hoge.txt")
469デフォルトの名無しさん:2007/07/04(水) 15:47:27
PythonでGUI=Tkinterでおk?
470デフォルトの名無しさん:2007/07/04(水) 16:31:50
wxPython!
471デフォルトの名無しさん:2007/07/04(水) 16:56:33
>>469
>PythonでGUI=Tkinterでおk?

WindowsならIronPython使え。
MacOSXならwxPythonだ。
LinuxならPyQt。
どれでもとりあえず動けばいいならPyQt。
Guidoと心中したいならTkinterだ。
472デフォルトの名無しさん:2007/07/04(水) 17:02:33
>>471
>Guidoと心中したいならTkinterだ。

Tkinterに決めた。
473デフォルトの名無しさん:2007/07/04(水) 17:04:29
これは愛ね
474デフォルトの名無しさん:2007/07/04(水) 17:19:29
>>472
ttp://www.wxpython.org/quotes.php
Guuido「wxPythonがベストなGUIツールキットだよ。
    なぜ、TkinterがPythonの標準GUIツールキットになってるかって?
    Tkinterの方が先にあったっていうだけさ」
475デフォルトの名無しさん:2007/07/04(水) 17:21:07
PyGTKがよくね
476デフォルトの名無しさん:2007/07/04(水) 17:22:58
>>474
じゃあIronPython使うわ
477デフォルトの名無しさん:2007/07/04(水) 17:34:13
でもIronPythonは参考文献少ないから×
wxPythonにするか
478デフォルトの名無しさん:2007/07/04(水) 18:08:18
じゃ俺も
479デフォルトの名無しさん:2007/07/04(水) 18:47:05
Tkinterは
>>> from Tkinter import *
>>> root = Tk()
>>> b = Button(root, text='hello, world')
>>> b.pack()
>>> root.mainloop()
みたいにするとウィジェットが生成される様子を
視覚的に把握できて楽しいよ。
他のツールキットでもできるかもしれないけど。
480デフォルトの名無しさん:2007/07/04(水) 18:51:34
とりあえずIronPythonも同じ事が出来る。
481デフォルトの名無しさん:2007/07/04(水) 19:20:58
IronPythonならマルーンを操ることもできる。
482デフォルトの名無しさん:2007/07/04(水) 19:52:06
ヨミならロプロスを操ることもできる。
483デフォルトの名無しさん:2007/07/04(水) 20:26:55
ヨミって何?
484デフォルトの名無しさん:2007/07/04(水) 20:33:17
虹裏で「無職って楽しいな」とか叫んでる人の事じゃないの?
485デフォルトの名無しさん:2007/07/04(水) 20:50:25
ヨミ様はヨミ様だよ
486デフォルトの名無しさん:2007/07/04(水) 20:56:56
オーンブロドォー
487デフォルトの名無しさん:2007/07/04(水) 20:57:56
488デフォルトの名無しさん:2007/07/04(水) 22:26:40
ヨミ=元祖ヒキコモリ?
489デフォルトの名無しさん:2007/07/04(水) 22:36:00
>>487
完全にメルヘン系のヒキコモリだな.
今時世界征服だなんてありえない.
490デフォルトの名無しさん:2007/07/04(水) 23:07:45
いや、最近の漫画じゃないから
491デフォルトの名無しさん:2007/07/05(木) 10:55:14
あれは誰だ 誰だ 誰だ


デビルマーン デビルマーン(泣)
492デフォルトの名無しさん:2007/07/05(木) 20:05:27
もうおまいらがPythonのドキュつくればいいんじゃね?
Wikiあるんだし
493デフォルトの名無しさん:2007/07/05(木) 20:44:09
PyJUGのじゃ足りない?
やるにして、スレまとめの有り様から言って微妙だ
494デフォルトの名無しさん:2007/07/05(木) 21:06:33
どの辺が「有り様」なのか?
495デフォルトの名無しさん:2007/07/05(木) 22:48:27
Python自体のドキュメントが欲しいという要望は無いだろ。
定番開発環境とか定番フレームワークはよく話題に出るけど。
496デフォルトの名無しさん:2007/07/05(木) 22:51:05
時々ドキュメントのドキュメントが欲しいと思うことがある
497デフォルトの名無しさん:2007/07/05(木) 23:27:01
 皆さん、コマンドラインで動く簡単なpythonプログラムでリアルタイムで
キー入力を読みたい時はどうしてますでしょうか(raw_inputなんかは入力
待ちで止まっちゃいますよね)?

 ちなみにpygameのページは会社からはアクセスが禁止されていて
試せませんでした…
498デフォルトの名無しさん:2007/07/06(金) 00:07:27
UNIX系のOSならcursesモジュール
Windowsは知らない
499デフォルトの名無しさん:2007/07/06(金) 10:28:33
>496
キーワードを思いつければ索引を検索でいけるんだけど
そうでない場合に xxをやりたい => こんなのあるでー
っていうのが欲しいと思うことはある

まあそれがcookbook とかなんだろうけど
500デフォルトの名無しさん:2007/07/06(金) 10:32:28
>497
既にでてるけど curses が大げさなら termios
もっとも termios がややこしいから
簡単に使えるラッパーとして curses があるはずなので...
501デフォルトの名無しさん:2007/07/06(金) 13:36:08
>>497
kbhit()も有るよ。
502デフォルトの名無しさん:2007/07/06(金) 15:00:58
>>496
ゆとり世代は大変だな。
503デフォルトの名無しさん:2007/07/06(金) 15:25:49
>>502
>>496じゃないがマジで大変
504デフォルトの名無しさん:2007/07/06(金) 21:20:52
怠惰はプログラマの美徳
505デフォルトの名無しさん:2007/07/06(金) 21:23:17
つまりメタボリックなのが良いプログラマ
506デフォルトの名無しさん:2007/07/06(金) 21:26:37
時々コメントのコメントが欲しいことがある
507デフォルトの名無しさん:2007/07/06(金) 21:57:59
>>505
精神上の怠惰と生活上のだらしなさは違います
508デフォルトの名無しさん:2007/07/06(金) 22:46:51
肉体がだらしない奴はたいてい精神もだらしないがな。
デブは氏ね。または健康保険料10倍払え。
509デフォルトの名無しさん:2007/07/07(土) 00:26:36
>kbhit()も有るよ。
msvcrtつーWindows版Python標準のモジュールに入ってるんですね。
ありがとうございます。
510デフォルトの名無しさん:2007/07/07(土) 01:10:42
俺は怠慢で短気で傲慢だから最高のプログラマーだ
511デフォルトの名無しさん:2007/07/07(土) 01:31:22
と、海原雄山が申しております。
512デフォルトの名無しさん:2007/07/07(土) 01:37:05
至高のプログラマ vs 究極のプログラマ
513デフォルトの名無しさん:2007/07/07(土) 01:58:05
あれ?
もしかして切れやすいニートが最強のプログラマ?
514デフォルトの名無しさん:2007/07/07(土) 02:03:36
至高なのか最高なのか最強なのか究極なのか
ハッキリしろー、はっきり
515デフォルトの名無しさん:2007/07/07(土) 06:01:51
孤高です
516デフォルトの名無しさん:2007/07/07(土) 09:36:25
>>515
ハブンチョです。
517デフォルトの名無しさん:2007/07/07(土) 10:57:41
Pythonの連中こういう流れ好きよね
518デフォルトの名無しさん:2007/07/07(土) 14:49:42
怠慢、短期、傲慢って、perlの話だろ
519デフォルトの名無しさん:2007/07/07(土) 15:39:49
Perl は変態
520デフォルトの名無しさん:2007/07/07(土) 15:51:19
>>518
perlの作者が言ったというだけで、perlに限った話ではない。
521デフォルトの名無しさん:2007/07/07(土) 16:49:19
久々にPython本来の話題に戻ろうか。
ブックマークのPython関連全部晒してくれ。
522デフォルトの名無しさん:2007/07/07(土) 16:55:51
おれIE使ってるからブックマークはないんだよ
523デフォルトの名無しさん:2007/07/07(土) 16:57:57
>>522
FireFoxに移植
524デフォルトの名無しさん:2007/07/07(土) 17:20:05
cookbookと、pyjugしかないな。

cookbookはたまに漁って、自分のコードと比べると楽しい。
525デフォルトの名無しさん:2007/07/07(土) 17:42:06
>>521
この前のワークショップで誰かが出してたやつ(たぶん)
ttp://del.icio.us/tag/python
526デフォルトの名無しさん:2007/07/07(土) 18:12:13
ない。
強いて言えばここぐらいか。
del.icio.us/tag/python はLDRで見てる。
527デフォルトの名無しさん:2007/07/07(土) 19:34:01
公式その他で28個、サードパーティ関連、コラム等含むともっとあるな。
528デフォルトの名無しさん:2007/07/07(土) 20:11:39
ときどきお世話になってるサイト。
http://python.matrix.jp/
http://coreblog.org/ats

529デフォルトの名無しさん:2007/07/07(土) 21:10:37
setuptools - The PEAK Developers' Center
http://peak.telecommunity.com/DevCenter/setuptools
setuptools の 和訳
http://d.hatena.ne.jp/SumiTomohiko/20070622

PEP 302 -- New Import Hooks
http://www.python.org/dev/peps/pep-0302/

site-packages下に何をインストールしたか分けがわからなくなった。
for e in sys.path: print e
で表示してみる。py2exeが表示されない。そうかsourceforge経由で
落してきたからsys.pathには登録されない罠。
easy_install が気になるぐぐる。和訳ハケーン <-いまここ

help(pkg_resources)。ぐぐる。根性でPEPを読めない。
和訳に逃げる。大体いつもこんなかんじだったり。。。(ありがたいことです >和訳)
530デフォルトの名無しさん:2007/07/08(日) 00:46:29
>>529
これは良Blog
ワークショップのまとめ記事もイイ
531デフォルトの名無しさん:2007/07/08(日) 13:57:25
OOoのマクロにPythonが使えるようですが、使ってる人います?
532デフォルトの名無しさん:2007/07/08(日) 19:19:24
利用者はばりばり使ってるよ。>>531だけだよ、使ってない人は。
533デフォルトの名無しさん:2007/07/08(日) 19:57:03
俺は533なわけだけど使ってないな。
534デフォルトの名無しさん:2007/07/08(日) 20:09:31
OOo って何かと思ったよ。
以前、Calc を Excel と同じように使えるかなー?と思って調べてみたら、
思いのほか面倒だったからそれ以来使ってないな。
535デフォルトの名無しさん:2007/07/08(日) 21:30:10
OOoは表形式での入力とかネットでExcel形式で公開されているデータ読むのには使うな
速攻 CSV に変換してあとは素の Python で処理するけど
536デフォルトの名無しさん:2007/07/10(火) 22:46:46
bismil lahir rahmanir rahim
537デフォルトの名無しさん:2007/07/12(木) 06:07:31
もはや馬鹿しか書き込まないスレになったな
538デフォルトの名無しさん:2007/07/12(木) 13:19:13
>>537
537
539デフォルトの名無しさん:2007/07/12(木) 17:56:42
文字列で日本語を使いたいのですが、エラーが出てしまいます。
色々調べて八方手を尽くしましたがなぜかダメでした。
どれどころか、コメントアウトした日本語でさえも拒否されます。
なぜなのでしょうか?

Python2.5とコンパイラはeclipseを使っています。
ひょっとしてeclipseのせいなんでしょうか?
540デフォルトの名無しさん:2007/07/12(木) 18:01:46
ttp://www.python.jp/Zope/articles/japanese/Python4Japanese-2

ほんとに八方手を尽くした?
541デフォルトの名無しさん:2007/07/12(木) 18:10:11
>>539
> エラーが出てしまいます。 

どういうエラーが出るのか書け。さもなければ以下の文書を読め。

http://www.redout.net/data/osietekun.html
542デフォルトの名無しさん:2007/07/12(木) 18:19:45
>>540
その辺のことは全て試しました。
あとJapanese Codecsが必要なのかとも思い、インストールしようと思ったのですが
Python2.5に対応しているJapanese Codecsのバージョンはありませんでした。

>>541
すいません。eclipseでコンパイルした場合
File "C:\Documents and Settings\あ\workspace\test\rensyu\rensyu4.py", line 7
SyntaxError: Non-ASCII character '\x82' in file C:\Documents and Settings\あ\workspace\test\rensyu\rensyu4.py on line 7,
but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

こういうエラーメッセージが出ました。
543デフォルトの名無しさん:2007/07/12(木) 18:27:18
>>540のリンク先にある「ソースコードのエンコーディング指定」をきちんとしてあったら
そういうエラーは出るはずがないのだが・・・。

Python 2.5 には JapaneseCodecs は要らん。
544デフォルトの名無しさん:2007/07/12(木) 18:29:01
> その辺のことは全て試しました

じゃあ、ソースのエンコーディングの設定はどうしてるのか書いてくれ
545デフォルトの名無しさん:2007/07/12(木) 18:41:35
>>544
すいません。

>ソースコードの一行目か二行目に次のように書きます。
というところを、いい加減に見ていて3行目に記述していました。
たったこれだけ直しただけで上手くいきました。

細かいところをちゃんと確かめなかったのが悪かったです。
お騒がせして本当にすいません。
ありがとうございました。
546デフォルトの名無しさん:2007/07/12(木) 20:32:14
解決してよかったね。
547デフォルトの名無しさん:2007/07/12(木) 22:04:40
>>545
#!/usr/bin/python
# -*- coding: utf-8 -*-

スクリプト系の言語の場合、
一行目 shebang と呼ばれる行に必ずインタプリンタのPathある場所を
書いてあげないといけないのだけど、
ex)
perl の shebang #!/usr/bin/perl
ruby の shebang #!/usr/bin/ruby

python では2バイト文字を使いたいときは 2行目に文字コードの
種類を # -*- coding: utf-8 -*- みたいに書かないといけない。

ちなみに pythonで cgiプログラムを組む場合 Windowsだと shebangを
#!c:\Python25\python.exe と指定しないと上手くゆかないので要注意。

追記: cgiプログラム でなければ shebang #!/usr/bin/python を書か
なくても特に何も問題は起らないので python だと一行目はあってもなくても別に良いらしい(^^;)
548デフォルトの名無しさん:2007/07/12(木) 22:45:51
そんなルールないお。

shebangを使うのは
% python hoge.py
の代わりに
% chmod +x hoge.py
% ./hoge.py
とかしたい場合。
Windowsの場合はレジストリにおいてインタプリタとスクリプトが
関連付けられるので、基本的にshebangは不要。
あとWindowsでCGIをやる場合にshebangが必要だというのは
Webサーバの種類や設定によるから一概に言えることじゃないと思うよ。
549デフォルトの名無しさん:2007/07/12(木) 23:16:02
2.5ではutf-8をdefaultにしてほしかったな‥‥‥。
550デフォルトの名無しさん:2007/07/12(木) 23:30:14
JISとかcp932とかEUC-jpとかレガシーと言い切ってやるよ
551デフォルトの名無しさん:2007/07/12(木) 23:33:53
>>548
unix や macだと ./ で実行できるんですね。いつも実行するときは
python hoge.pyとか打ってました。3文字多い罠 orz

実行環境のほうで、レジストリ(環境変数?)を見て、実行時に良しなに
やってくれてたんですね。 また環境変数かっ!!

というか、もうちょい鯖側のスクリプトも追いかけないと知識が片寄って
しまって駄目ぽですね自分。どうもありがとうございました m(_ _)m
552デフォルトの名無しさん:2007/07/13(金) 01:14:33
入門書嫁。
553デフォルトの名無しさん:2007/07/13(金) 02:28:51
>>547
知識が断片的でキメラみたいになってるな。
552じゃないが Unix/Linux の入門書で基礎を勉強すると
すっきり整理できると思うよ。

個人的には坂本文さんの「たのしいUNIX」で勉強したが
今となっては古いかな。最近だと何がいいんだろう。


554デフォルトの名無しさん:2007/07/13(金) 02:46:18
>>549
RFC 3629 にあるとおりにBOM付ければ自動認識するので
実質、default だと思うぞ
BOMがあれば UTF-8、BOMが無ければ ASCII なわけだし
555デフォルトの名無しさん:2007/07/13(金) 07:40:06
BOMのような目に見えないゴミを頼りにする神経が信じられない。
ファイルの先頭についているゴミのせいで、テキスト処理がどれだけ面倒になっていることか。
556デフォルトの名無しさん:2007/07/13(金) 08:48:43
>>553
10年以上前の本だが、基本的な部分はまったく錆びれていない。
557デフォルトの名無しさん:2007/07/13(金) 12:52:36
UTF-8にBOMは不要。
558デフォルトの名無しさん:2007/07/13(金) 13:05:48
BOMには学生時代にお世話になりました。
559デフォルトの名無しさん:2007/07/13(金) 13:20:48
>556
俺もそう思うんだけど
一方で微妙に文化が変わっているとか
微妙に今風じゃないとか
発行年月日をみてなんでこんな古臭い本っておもう人がいる
のもまた事実

それなりに新しくてそれなりにいいものがあれば
それはそれでいいのだが
560デフォルトの名無しさん:2007/07/13(金) 13:38:08
>>558
ちょwwBombwww
561デフォルトの名無しさん:2007/07/13(金) 13:39:13
>>557
UTF-8Nのことだよ(BOMありUTF-8)
UTF-8のBOMはUTF-16みたいにビッグエンディアンと
リトルエンディアンの区別をつけるためのものじゃないけど、
慣例上BOMって呼んでたはず。

>>559
自分も『たのしいUNIX』でいいと思うけど、
あえて最近のを挙げれば、『シェルの基本テクニック』とか。
562デフォルトの名無しさん:2007/07/13(金) 13:56:47
さすがに「続・たのしいUNIX」のほうは厳しいと思うけど、
「たのしいUNIX」は今でもいい本じゃないかな。
563デフォルトの名無しさん:2007/07/13(金) 14:16:27
たのしいモジッ(ry
564デフォルトの名無しさん:2007/07/13(金) 15:45:41
>>561
>UTF-8Nのことだよ(BOMありUTF-8)
逆だ

UTF-8のBOMについてはRFC3629に既定してあるから参考にするといいよ
565デフォルトの名無しさん:2007/07/13(金) 15:48:48
>>555
今更 UTF-8 の仕様や Guido の決定に文句つけても仕方ないと思うぞ
策定段階で文句つけないと
566561:2007/07/13(金) 16:33:05
>>564
うわ、間違えて覚えてた。指摘してくれてありがとう。
RFC読んでくる。
567デフォルトの名無しさん:2007/07/14(土) 11:08:40
>>560
なんでわかるんだよ(wwwwwwwwwwwwwwww
568デフォルトの名無しさん:2007/07/14(土) 14:46:09
俺はUTB派だな
569デフォルトの名無しさん:2007/07/14(土) 15:41:23
シンボルに代入したらその環境の束縛が、あらかじめ追加されるんだな
あせった
570デフォルトの名無しさん:2007/07/14(土) 17:12:19
>>559
そういう人にはオライリーの「入門 Unixオペレーティングシステム」がいいかも。
ただし第5版。
それより前のは、やっぱりちょっと古いので。
571デフォルトの名無しさん:2007/07/14(土) 22:11:43
http://www.halb-katze.jp/pygt/pygt0800.html
これが
global name "pygame" is not defined
ってエラーが出る
why?
572デフォルトの名無しさん:2007/07/14(土) 22:22:09
そこだけコピって実行させようとしてるなら起きるだろ
573デフォルトの名無しさん:2007/07/14(土) 22:56:36
そりゃあ定義されてないものを使おうとすれば。
574デフォルトの名無しさん:2007/07/14(土) 23:37:12
>>571
入門書嫁。
575デフォルトの名無しさん:2007/07/15(日) 14:51:38
>>572-574
もちろん次のページのもコピペして別ファイルにしてある。
Pygameも入れた。
576デフォルトの名無しさん:2007/07/15(日) 15:24:25
その自分が作ったファイルに
import pygame
って書いてあるか確かめてみろ
577デフォルトの名無しさん:2007/07/15(日) 15:28:15
>>576
書いてる
578デフォルトの名無しさん:2007/07/15(日) 15:34:53
>>571 のコードは抜粋されたものだろ。
そのサイトのトップページの gameutil.py を使ってみたら?
579デフォルトの名無しさん:2007/07/15(日) 15:39:20
>>578
ありがとうございます。
気づかなかった
580デフォルトの名無しさん:2007/07/15(日) 15:58:01
サイトの制作者に質問しろよ
581デフォルトの名無しさん:2007/07/16(月) 01:15:24
入門書読めよこの低脳がクソ氏ねボケカス。
582デフォルトの名無しさん:2007/07/16(月) 02:17:18
>>581
落ち着けって
583デフォルトの名無しさん:2007/07/16(月) 09:04:36
フランス書院読めよこの低脳がクソ氏ねボケカス。
584デフォルトの名無しさん:2007/07/16(月) 10:04:38
>>583
マドンナメイトでは駄目なんですか?
585デフォルトの名無しさん:2007/07/16(月) 18:34:38
Rubyにはstrscan.rbという、Scannerを書くのに便利なライブラリがついてるんですが
http://www.ruby-lang.org/ja/man/?cmd=view;name=strscan
同じようなものはPythonにありますか。
字句解析するのに正規表現で書きたいんです。
586デフォルトの名無しさん:2007/07/16(月) 19:17:02
RUBY最強だからないと思うよ
587デフォルトの名無しさん:2007/07/16(月) 19:34:00
Pythonistaは正規表現みたいなバッドノウハウは最小限度にしか使わないよ
588デフォルトの名無しさん:2007/07/16(月) 20:02:19
そうか?
589デフォルトの名無しさん:2007/07/16(月) 20:05:04
Rubyを見ると吐き気がする
590デフォルトの名無しさん:2007/07/16(月) 20:09:42
RUBYなんてつかってるの日本人だけだろwww
591デフォルトの名無しさん:2007/07/16(月) 20:09:48
PerlerはヘッダやHTMLのパースにすら正規表現を使うよ。
RubistはPerlerの直系の子孫だよ。
彼らに長期的な生産性や可読性の話をしてもたいたい無駄だよ。
592デフォルトの名無しさん:2007/07/16(月) 20:16:06
どうせ皆、昔はperlで書いてたくせに
593デフォルトの名無しさん:2007/07/16(月) 20:17:44
>>592
最初からPython派党です
594デフォルトの名無しさん:2007/07/16(月) 20:21:34
>>592
PerlはRubyより後に始めてすぐ辞めた
595デフォルトの名無しさん:2007/07/16(月) 20:27:36
Pythonは色々と使う
Javaは型付き言語が欲しい時使う
Rubyはワンライナーで使う
C言語はライブラリ書いたりする
VBはなんだかんだでメンテしてる

だがPerlだけは何故か身体が拒否反応を起こすんだ
何故だろうな
596デフォルトの名無しさん:2007/07/16(月) 20:34:13
坊やだからさ...

>585

503 Service Unavailable

なのでよくわからんが、reじゃだめなの?
lex/yaccみたいないわゆる「ちゃんとした」パーサ/スキャナなら、
サードパーティでいくつか出てたと思うけど、本家にはなかったと
思うよ。

597デフォルトの名無しさん:2007/07/16(月) 20:52:17
HTML/XMLパーサって入力がかっちりしてないと使い物にならなかったりしない?
速度的に問題があったりメモリ馬鹿食いだったり、
正規表現使えば数行なコードが数倍に膨れ上がったり。

>>585
strscan相当のライブラリは知らないけど、字句解析の例なら
ttp://effbot.org/zone/xml-scanner.htm
個人的には正規表現使いたい場合はRubyで書いてる。
正直Pythonの正規表現はいつまで経っても覚えられないわ・・・。
598デフォルトの名無しさん:2007/07/16(月) 20:56:53
>>596
ほんとだ。つながらない。じゃあこちらでどうでしょうか。
http://i.loveruby.net/ja/projects/strscan/doc/doc.html
reだと「N文字目からマッチさせる」というのができないので、字句解析系をつくるのにはちょっと向いてないんです。
仕方ないので
ch = input[i]
while ch.isalsha() || ch == '_' do
 i+=1
 ch = input[i]
みたいに書いてるんですけど、C言語じゃないんだし、もっと簡単に書けないものかと調べています。
599デフォルトの名無しさん:2007/07/16(月) 21:01:56
結論としてはRUBY最強ということでFA?
600デフォルトの名無しさん:2007/07/16(月) 21:17:19
>>597のページを見て知ったのだが、
なんか re.compile してできるオブジェクト(_sre.SRE_Match object)のmatch()には、
第2引数でマッチ開始場所を指定できるみたい。

>>> pattern = re.compile(r'¥d+')
>>> pattern.match(r'foo123bar') # not matched
>>> pattern.match(r'foo123bar', 3) # matched
<_sre.SRE_Match object at 0x742100>

re.match()とはちがうんだな。
re.match(rexp, string)とre.compile(rexp).match(string)は同じものだと思ってたけど
実は仕様が微妙に違うのね。

とりあえずこれで strscan.rb 相当のものがかけそうです。
>>597さんくすです。
601デフォルトの名無しさん:2007/07/16(月) 21:20:53
>>598
やりたい事がよくわからんが、reとスライスで何とかなりそうな予感。
602デフォルトの名無しさん:2007/07/16(月) 21:21:21
>>600
>re.compile してできるオブジェクト(_sre.SRE_Match object)
_sre.SRE_Patternの間違いでした。

それにしてもRubyの名前がでると過剰反応する人多いですね。
単に、こういうライブラリがありませんかと聞くときに、説明のために出しただけなのに。
603デフォルトの名無しさん:2007/07/16(月) 21:25:10
>>602
最後の2行のような火種をまき散らす人が嫌われているだけで、
Ruby使いを敵視しているわけじゃない。
604デフォルトの名無しさん:2007/07/16(月) 21:28:10
フツーはスライス使うんじゃネーノ説にもう一票追加

605デフォルトの名無しさん:2007/07/16(月) 22:26:11
reモジュールにScannerとかいう謎のクラスがあるようだが"experimental"らすい
606デフォルトの名無しさん:2007/07/16(月) 23:08:57
pygameってまさかPython最新版に非対応?
607デフォルトの名無しさん:2007/07/16(月) 23:29:38
>>603
勝手に火種扱いにして騒ぎ立ててる603が嫌われるだけじゃね?
608デフォルトの名無しさん:2007/07/16(月) 23:52:45
>>606
少しは自分で考えような
小学生じゃないんだから
609デフォルトの名無しさん:2007/07/17(火) 03:33:59
>>606
ttp://www.pygame.org/download.shtml
ちゃんと2.5対応版はあるが
610デフォルトの名無しさん:2007/07/17(火) 05:11:14
PythonではCGIとCookieのライブラリは付属していますか、session関係のライブラリが見つかりません。
なんかよさげなの知りませんか。
みなさんDjangoとかフレームワークを使うから気にしてないのかな。素のCGI書こうとして詰まりました。
611デフォルトの名無しさん:2007/07/17(火) 06:57:02
標準ではないんじゃないの?
612デフォルトの名無しさん:2007/07/17(火) 10:44:54
Pythonのreって、pure python?
/usr/lib/python2.5/re*.pyやsre*.pyはあるのだけど、*.soはなさそうでした。
613デフォルトの名無しさん:2007/07/17(火) 10:54:13
>>612
$ python -v
....
>>> import re
....
import _sre # builtin   ← こんなのが
....

_sreだけスタティックリンクと思われる。
614デフォルトの名無しさん:2007/07/17(火) 11:01:02
>>613
Cの_sre.cを_sre.oにしてスタティックリンクしている模様なので
pure pythonではないらしいという意味ね。
615デフォルトの名無しさん:2007/07/17(火) 11:24:39
インスタント・ハッキングの練習1って
x=input()
y=0
while x<100:
タブy=input()
タブx=x+y
print x-y

a=1
b=input()
while a<100:
タブb=b+input()
タブa=a+1
print b
でいい?
616デフォルトの名無しさん:2007/07/17(火) 13:00:25
いいよ
617デフォルトの名無しさん:2007/07/17(火) 18:44:46
なんか
エラーあって、
一時間悩んで、
いったんやめて、
また起動してやったら、
ちゃんと動く。

これだけはやめて。
なんかこんなバグPythonにあんの?
618デフォルトの名無しさん:2007/07/17(火) 18:49:18
ないです
619デフォルトの名無しさん:2007/07/17(火) 18:55:46
>>613
_sreはstatic linkだったのか。さがしてもないわけだ。
さんくす
620デフォルトの名無しさん:2007/07/17(火) 18:55:52
そうですか
621デフォルトの名無しさん:2007/07/17(火) 19:28:42
>>610
ttp://www.python.jp/doc/release/lib/module-cgi.html
セッションは自前で管理するしかないと思う
622デフォルトの名無しさん:2007/07/17(火) 20:21:26
>>617
処理系のバグを疑っている自分を見つけたら、それは思考停止に陥っている証拠。
経験者談。
623デフォルトの名無しさん:2007/07/17(火) 20:23:35
それはコンパイラのバグです。
624デフォルトの名無しさん:2007/07/17(火) 21:02:36
>>617
python はエラー出力が (UnicodeError:とか) 見易いのが
唯一の美点と言ってもいいくらいなのに、それを貼らずにエスパー
大募集とか、どんだけ〜

とか、ついさっき SocketErrorとか喰らって再起動させてる漏れが
言ってみる。うちのXP子は、無線LANカードの調子がおかしかったり、
DivX6コーデック入れたらサウンドボードがさっくりお亡くなりになって
くれてたりするYo! Tukumo の eMashinesはどんだけ〜 orz
625デフォルトの名無しさん:2007/07/17(火) 22:28:25
eMachinesのことかー(AA略
626デフォルトの名無しさん:2007/07/17(火) 22:41:42
低賃金労働者のITドカタはRubyをやれば儲かるよ。
627デフォルトの名無しさん:2007/07/17(火) 22:55:12
日本国内で、python使えてさえいれば飯が食えるような仕事ありますか
628デフォルトの名無しさん:2007/07/17(火) 22:56:38
>>627
無いと思うよ。
PHPとかの方がずっとましだと思う。
629デフォルトの名無しさん:2007/07/17(火) 23:37:46
穴掘りしかできない奴がどういう扱いを受けるか考えてみろ。
PHPでもJavaでも同じ結果だよ。
630デフォルトの名無しさん:2007/07/17(火) 23:43:54
>>627
Pythonで飯食えるところは幾つかある。
ググればそれなりに見つかるが、Python*だけ*で飯が食える場所はごくわずかかと。
631デフォルトの名無しさん:2007/07/17(火) 23:47:30
>>630
ふーん、Python*だけ*で食える場所なんてあるんだ。
それってゴイスー。教えてプリーズ。
632デフォルトの名無しさん:2007/07/17(火) 23:51:46
>>631

自宅警備員のメルヘン君をいじめるなよ(WWWWWWWWW
633デフォルトの名無しさん:2007/07/18(水) 00:01:47
>>631
俺のいるところはソフト開発屋ではないけど、メインの言語としてPython使って飯食ってる。
もちろん、SQL、シェルスクリプト、拡張モジュールのためのCとかは併用しとるが。
そういう意味では *だけ* ってわけではないけど。
634デフォルトの名無しさん:2007/07/18(水) 00:05:49
>>633
結局Pythonだけでなく,DBとかシステム構築なんかの知識がないとダメってことだろ。
635デフォルトの名無しさん:2007/07/18(水) 00:08:52
>>634
ま、そーいうこってす。
もっともどんな言語でも同じかとおもうけどな。
636デフォルトの名無しさん:2007/07/18(水) 00:09:05
>>631
うちも>>631と同じ感じ。フランスの研究所が出してくる研究レポートが
Python + SWIG + C++で書かれているので、それを発展させる研究・開発を
行っているので、言語はPython+SWIG+C++, SQL, シェルスクリプトになる。
……レポートの翻訳と特許申請に時間を取られてるけど、プログラミングは
Pythonが主体。
637デフォルトの名無しさん:2007/07/18(水) 00:18:02
誰か627の夢と630の妄想を叶えてあげて〜。
638デフォルトの名無しさん:2007/07/18(水) 00:22:39
google行けばもしかしてPython*だけ*で飯食えるのかな。
639デフォルトの名無しさん:2007/07/18(水) 00:29:15
Guido*でさえ*Pythonだけで食えてないのにこのゴミ共はどんだけ身の程知らずなんだよ。
640デフォルトの名無しさん:2007/07/18(水) 00:30:25
Pythonだけ -> ダメ
PHP, RoRだけ -> 食える?

これが成り立つとしたらJythonやIronPythonは鳴かず飛ばずで
以外にJRubyやIronRubyはそこそこ伸びるのかも、なんて妄想した。
641デフォルトの名無しさん:2007/07/18(水) 00:30:57
>>638
基礎とちょっとした応用ぐらいしかできる人がいないからなぁ
それを考えたらpythonだけっていうのは無理だろうな
642641:2007/07/18(水) 00:33:24
安価ついてるが 間違い
本当は安価なし スマン ミスった
643デフォルトの名無しさん:2007/07/18(水) 00:45:06
協調性のないジャイアンはどこの世界でもハブンチョなんだぜ。
644デフォルトの名無しさん:2007/07/18(水) 01:13:47
>>617
処理系のバグかあ。Rubyでは日常茶飯事だけどPythonにはあんまりないんじゃ
ないかなあ。全く無い、とは言わないけど。
645デフォルトの名無しさん:2007/07/18(水) 01:16:46
まつもとゆきひろはRuby*だけ*で食えてるんだろうか
646デフォルトの名無しさん:2007/07/18(水) 01:38:40
CとRubyだから、Ruby*だけ*ではないわね。
647デフォルトの名無しさん:2007/07/18(水) 03:28:47
まつもとゆきひろのいる会社がうちの会社のプロジェクトのRuby on Rail周りの
技術コンサルに入ってる。たしか Ruby on Rail とその周辺(RDBMS、負荷分散、
運用設計の、主に機能外要件の設計のコンサル)が範囲なので、Rubyだけでは
無理そうではある。
648デフォルトの名無しさん:2007/07/18(水) 03:38:42
>>644
最近特にひどいよね。数値演算とか。どんだけバグってんだよっていう。
649デフォルトの名無しさん:2007/07/18(水) 14:07:20
Pythonの知識*だけ*で食えると思っている自宅警備員とお話しができるスレはここですか?
650デフォルトの名無しさん:2007/07/18(水) 14:38:15
アナルが多いスレだな
651デフォルトの名無しさん:2007/07/18(水) 14:59:00
>>621
まじっすか。おすすめのライブラリがあれば教えてください。CGIでも使えるやつ限定で。
652デフォルトの名無しさん:2007/07/18(水) 15:06:43
ここで閉鎖的なDjangoコミュの住人が一言。
653デフォルトの名無しさん:2007/07/18(水) 17:16:04
>>651
import cookie
654デフォルトの名無しさん:2007/07/18(水) 19:44:04
>>638
やる気のないひとをGoogleが採用するとは思えない。

まあ、Pythonだけを使ってる、じゃなくてPythonだけを「作っている」
とかなら可能性はないとは言い切れないけど・・・

普通に複数言語使える人ばっかじゃない?
というか、そうでなければ俺でもGoogle社員になってるはずだ。
655デフォルトの名無しさん:2007/07/18(水) 21:42:33
Googleで使ってる言語はC++, Java, Python, JavaScriptだけ
656デフォルトの名無しさん:2007/07/18(水) 22:04:03
Sawzall
657デフォルトの名無しさん:2007/07/18(水) 23:38:53
>>655
内部ではなんでも使ってんじゃないの
658デフォルトの名無しさん:2007/07/18(水) 23:55:16
多分ばれなきゃいいんだろうけど、共有リポジトリは4言語で統一されてるらしいよ > 657
まぁ、CみたいなC++も多いだろうけど。
659デフォルトの名無しさん:2007/07/19(木) 02:38:31
660デフォルトの名無しさん:2007/07/19(木) 23:10:01
オライリーの「PYTHON クイックリファレンス」って、今買う価値はありますか?
やたら高いのと、表紙の「Python2.3対応」の文字でちょっと二の足を踏んでいます。
特に仕事に使うわけではないので、オンラインマニュアルに毛の生えた程度ならやめようかと思っています。

一応、同社刊の「初めてのPython」は既に持っています。
661デフォルトの名無しさん:2007/07/19(木) 23:16:20
リファレンスならオンラインで役目十分じゃないの?
662デフォルトの名無しさん:2007/07/19(木) 23:34:36
そう、情報が古いので、止めたほうがいいです。
むしろクックブックとか。
663デフォルトの名無しさん:2007/07/19(木) 23:37:12
Head Firstシリーズで出てほしいなあ。
664デフォルトの名無しさん:2007/07/20(金) 12:04:18
本は要らんよ。毎週のように「これは使える」って新モジュールも出てくるし。
勉強の為の勉強ならそれらのソースをよく読めば良い。
665デフォルトの名無しさん:2007/07/20(金) 12:41:46
そうそう。
本なんて無くてもPythonはできるようになる。余裕。
PythonだけできればGoogleに就職できて、使い切れないくらいのお金を手にできる。
666デフォルトの名無しさん:2007/07/20(金) 13:07:06
Google、平均すると給料はそんなに高くないって聞いたが...
(上が青天井なのはそうだろうけどね)
667デフォルトの名無しさん:2007/07/20(金) 14:28:52
給与はともかく得られる人脈と切磋琢磨によるスキルアップは相当なものじゃないかと思う。
668デフォルトの名無しさん:2007/07/20(金) 14:43:31
だれか
http://hacketyhack.net/
のPython版知らない?
669デフォルトの名無しさん:2007/07/20(金) 14:48:14
>>667
そんなのGoogleに入らなくてもできるよ。余裕。
自宅警備員が一番だよ。
670デフォルトの名無しさん:2007/07/20(金) 15:29:24
先輩がGoogleから内定貰ってたな
面接は2日で合計6時間くらいらしい
671デフォルトの名無しさん:2007/07/20(金) 15:33:04
日本のgoogle?
672デフォルトの名無しさん:2007/07/20(金) 15:37:10
673デフォルトの名無しさん:2007/07/20(金) 17:00:59
次のようなエラーがでました。
$wine-doors
Started logging session
Traceback (most recent call last):
File "/usr/bin/wine-doors", line 92, in ?
import gtk, ui
File "/usr/share/wine-doors/src/ui.py", line 7, in ?
from ctile import Tile
File "/usr/share/wine-doors/src/ctile.py", line 1, in ?
import cairo, rsvg, math
ImportError: No module named rsvg

環境はDebian etch です。
”rsvg python” で検索しても解決策はみつかりませんでした。
誰かわかる人いたらおしえてください。
674デフォルトの名無しさん:2007/07/20(金) 17:39:04
Tkinterであるツールを作っていて、画像をモーダレスな別窓に表示したいと思い、以下のような感じ
でやろうとしました。

from Tkinter import *
import Image
import ImageTk

def view():
   t=Toplevel()
   img=Image.open("test.bmp")    #何かImageで読めるファイル
   tkimg=ImageTk.PhotoImage(img)
   l = Label(t, image=tkimg)
   l.pack()
   t.pack()   ##1

f=Frame()
b=Button(f,text="view",command=view)
b.pack()
f.pack()
f.mainloop()

「view」ボタンによって画像がToplevelによる別窓で表示されます。
とりあえず意図どおりに動作するのですが、 ##1 の行で
AttributeError: Toplevel instance has no attribute 'pack'
といわれます。たしかに
>>>'pack' in dir(Toplevel)
False
だったのですが、この行をはずすと別窓には画像のサイズのみ反映されて画像自体の
表示が行われません。ならば t.pack() では何が実際に呼び出された結果画像が
表示されていたのか、packを呼ぶ以外に方法があるのか、何か情報お持ちの方いましたら
教えてください。
675デフォルトの名無しさん:2007/07/20(金) 17:48:58
python-gnome2-desktop
676デフォルトの名無しさん:2007/07/20(金) 18:28:46
キロ、メガ、ギガ、ミリなどの接頭辞を付す関数って既存のものがありますか?
例えば func(15000) で "15K" を返す、など
677デフォルトの名無しさん:2007/07/20(金) 18:41:08
>> 674
ttp://effbot.org/tkinterbook/photoimage.htm によると

l = Label(t, image=tkimg)
l.image = tkimg
l.pack()

として参照を残しておく必用があるらしい。
##1 の t.pack は raise Exception と置き換えても同じことが起こるので
例外が送出されたことで tkimg の参照が残ったとかじゃない?

678デフォルトの名無しさん:2007/07/20(金) 19:23:11
>>676
そのくらい自分で作れなくてどうする
679デフォルトの名無しさん:2007/07/20(金) 19:46:02
先日このようなものを作った。まだ使ってない
from __future__ import division
import math
import bisect
import locale


prefix = (
    (2 ** +10, 'Ki', 'kibi', ),
    (2 ** +20, 'Mi', 'mebi', ),
    (2 ** +30, 'Gi', 'gibi', ),
    (2 ** +40, 'Ti', 'tebi', ),
    (2 ** +50, 'Pi', 'pebi', ),
    (2 ** +60, 'Ei', 'exbi', ),
    (2 ** +70, 'Zi', 'zebi', ),
    (2 ** +80, 'Yi', 'yobi', ),
    )
680デフォルトの名無しさん:2007/07/20(金) 19:46:48
class Byte(long):
    """Human readable byte unit."""

    threshold = 1000 / 1024
    precision = 2
    unit = 'B'

    def __str__(self):
        value = int(self)

        if value < 0:
            raise ValueError, 'Value must be greater than 0.'

        i = bisect.bisect([factor for factor, symbol, name in prefix], value / self.threshold) - 1
        if 0 <= i < len(prefix):
            factor, symbol, name = prefix[i]
        else:
            factor, symbol, name = 1, '', '',
681デフォルトの名無しさん:2007/07/20(金) 19:47:59
        value /= factor

        value_str = locale.format('%d', value, True)
        if symbol and self.precision > 0:
            d, i = math.modf(value)
            if d != 0.0:
                d = str(d).split('.', 2)[1]
                d = d[:self.precision]
                if len(d) < self.precision:
                    d += '0' * (self.precision - len(d))
                value_str += '.' + d

        return '%s %s%s' % (value_str, symbol, self.unit, )
682デフォルトの名無しさん:2007/07/20(金) 20:23:29
すごいな。
みんなぐーぐるにしゅうしょくできるよ。
683660:2007/07/20(金) 21:23:12
>661-664
遅くなりましたが回答ありがとうございました。
クイックリファレンスの購入は見送りたいと思います。
684674:2007/07/20(金) 22:01:53
>>677

出来ました。
ウィジェットのimageプロパティに渡しても表示までは保持されていないってことですか。
実際に作ってるツールの場合、Toplevelを継承したクラスにしているのでそちらに
ImageTk変換後を保持させることで対処できました。

ありがとうございました。リンク先も参考にさせていただきます。
685デフォルトの名無しさん:2007/07/21(土) 03:06:38
「>>000」などの書き方を教えてください(アンカー付け)
686デフォルトの名無しさん:2007/07/21(土) 03:15:18
>>671
すまない、どちらかは知らない。
話す機会があれば聞いてみる。
687デフォルトの名無しさん:2007/07/21(土) 22:34:09
matplotlibっていうグラフ描画のライブラリ使ってんですが日本語をグラフ上に描画する方法知りませんか?
688デフォルトの名無しさん:2007/07/21(土) 22:45:42
話はずれるが、Googleの"平均"年俸は3万ドル程度だそうだ。
689デフォルトの名無しさん:2007/07/22(日) 07:52:47
カレントディレクトリ以下のディレクトリを巡回して
各ディレクトリごとに
dir /s /b *.mp3;*.wma;*.flac > index.m3u
を実行して回るスクリプトの書き方がわかりません。
環境はWindowsXPSP2です。
690デフォルトの名無しさん:2007/07/22(日) 07:59:29
Rubyを使えば一発で解決!
691デフォルトの名無しさん:2007/07/22(日) 08:15:01
>>689

import os, os.path, re
f = file("index.m3u", "w")
for root, dirs, files in os.walk(os.getcwd()):
 for fn in files:
  if re.search("\.(mp3|wma|flac)$", fn, re.I):
   print >>f, os.path.join(root, fn)
692デフォルトの名無しさん:2007/07/22(日) 09:37:36
>688
メディアンでおながいしまつ
693デフォルトの名無しさん:2007/07/22(日) 12:15:44
日本とおなじで奴隷が多いってことか
694デフォルトの名無しさん:2007/07/22(日) 20:22:15
Cookieが保持されません。

サイトにログインできるスクリプトを書いています。
ログインには成功するものの、クッキーが期限切れのメッセージが返ってきます。

params = urllib.urlencode(query)
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
r = opener.open(url, params)

スクリプトでは、これでいけると思うのですが
Cookieの値が保持できていないようです。

python自身の設定とか、やるべきことってありますか?
695694:2007/07/22(日) 21:51:06
環境を書き忘れました

mixiで試したらいけました。
が、目的のページへは無理です。

POSTでログインに成功した際に、
GETのパラメタを含むURLにリダイレクトがかかるようです。
これって関係ありますか?
696694:2007/07/22(日) 21:52:33
更に環境を書き忘れました

Win XP ProでPython2.5を使用しています
697デフォルトの名無しさん:2007/07/22(日) 22:03:29
sprite = pygame.sprite.RenderPlain()
このspriteはGroupというデータ型らしいのですが、
これを初期化するにはどうすればいいですか?
698デフォルトの名無しさん:2007/07/22(日) 22:17:07
>>694
リファラとかはちゃんと設定してる?
ブラウザのバージョンで蹴られているかも(目的のページが使用ブラウザを限定していれば当然そうなる)
699デフォルトの名無しさん:2007/07/22(日) 22:23:45
>>697
引数にスプライトのリストを入れれはOK
詳しくは
http://www.unixuser.org/~euske/doc/pygame/ChimpLineByLine-j.html
あたりを
700デフォルトの名無しさん:2007/07/22(日) 23:19:12
>>699
言い方が悪かったかも
つまりはspriteの内容を読みたい。
sprite.add(class)みたいに、sprite.delete()といったかんじでできないですか
701デフォルトの名無しさん:2007/07/23(月) 01:39:06
どうしてもよく分からないのですが、クラスは単純な関数のセットと比べてどのような利点があるのでしょうか?
変数名がかぶりづらいとか、見た目が分かりやすいとかその程度なのでしょうか?
702デフォルトの名無しさん:2007/07/23(月) 02:13:27
関数がクラスに属していることを明示できる、とか
703デフォルトの名無しさん:2007/07/23(月) 02:25:18
>>701
インスタンス毎に別の値を保持できる
「単純な関数のセット」が欲しいだけならモジュールで済ます方がいいよ
























704デフォルトの名無しさん:2007/07/23(月) 08:58:36
>>701,702
入門書嫁
705デフォルトの名無しさん:2007/07/23(月) 12:12:57
python、 オンラインではクラスに関する情報 詳しい
見つからないんだが、良いホームページ 知っちゅきゃ?
706デフォルトの名無しさん:2007/07/23(月) 12:16:12
python のクラス、というより、一般的なオブジェクト指向の話になると思うから、
一般的な話のサイトとか見た方がいいんじゃね
707デフォルトの名無しさん:2007/07/23(月) 14:30:32
>>688
>話はずれるが、Googleの"平均"年俸は3万ドル程度だそうだ。

鯖要員に高度なプログラミング技術はいらないだろうからな。
あるいは,そもそも開発者の給料も低いのかもしれないな。
頑張った社員にはインセンティブとして株が配られるとか。
708デフォルトの名無しさん:2007/07/23(月) 15:14:42
毎日大量のHDD交換要員も居るだろう?
彼等の給料がそんなに高いはずがない。
709デフォルトの名無しさん:2007/07/23(月) 15:29:06
>>701
例えば、単純な図形の面積を計算する関数を作るとしたとき、
関数を独立させるなら、三角形、四角形、円・・・とかで場合分けか、それぞれの図形ごとの関数が必要。
三角形、四角形、円・・というクラスを先に作って、その中に面積を計算する関数を作れば、
それぞれの関数を作る手間はかかるけど、細かく正確に場合分けする手間や
「この図形には、どの関数つかうんだっけ」と迷ったりすることが無くなる。
すべてのクラスで同じ関数名にしておけば、どの図形クラスのオブジェクトか考えずに一括処理できるから楽。

図形の面積じゃなくても、例えばゲーム作ってキャラごとにパワーアップバージョンとかあって、
パワーアップ関数でキャラがどう変化するのかを個別に設定するのも、上と同じ考えでできる。
710デフォルトの名無しさん:2007/07/23(月) 15:53:47
>>709
三角,四角,円についてはよく分かりました。
五角形に場合はどうすればいいのですか? おしえてください。
711デフォルトの名無しさん:2007/07/23(月) 16:35:43
>>710
これは釣られてしまった
712デフォルトの名無しさん:2007/07/23(月) 16:49:08
六角形、七角形についてもお願いします。
ほんとうに困っています。
713デフォルトの名無しさん:2007/07/23(月) 17:00:11
>>712
プログラミングが何かわかってないだろ。
あとお前夏厨だろ
714デフォルトの名無しさん:2007/07/23(月) 17:17:26
>>713
違げーしwww厨房ウザイwww
715デフォルトの名無しさん:2007/07/23(月) 18:02:50
明らかに「全然困ってない感」に満ち溢れてるよな
716デフォルトの名無しさん:2007/07/23(月) 18:02:55
>>713
omaeは人生勉強が足りなさそうだなwwwwwwwwwwwwwwww
717デフォルトの名無しさん:2007/07/23(月) 18:05:56
IDがないとだれがだれだかワカンネ
718デフォルトの名無しさん:2007/07/23(月) 18:13:33
俺には分かるよ。全員同一人物だと。
719デフォルトの名無しさん:2007/07/23(月) 19:11:46
>>718
ナゼワカッタ
720デフォルトの名無しさん:2007/07/23(月) 20:50:39
だって >718 も含めて全部同一人物だからな
721デフォルトの名無しさん:2007/07/23(月) 21:07:09
>>720
おまえもなー










俺含め
722デフォルトの名無しさん:2007/07/23(月) 21:19:11
統一意識体の端末供乙

おれもか
723デフォルトの名無しさん:2007/07/23(月) 22:20:42
誰彼と
夏厨涌き出し
夏を知りNull
724デフォルトの名無しさん:2007/07/23(月) 22:22:52
Haiku OS スレにポストしとけばよかったといまさらにおもた。
725デフォルトの名無しさん:2007/07/23(月) 23:20:35
みなさんpycheckerって使ってますか?

Python2.4.4 で pychecker0.8.17を試したのですが、うまく動きませんでした
(なぜかチェック対象のスクリプト自体が実行されてしまう)。
Webに"PyChecker works with Python 2.0 through 2.3."などと書いてあるので
やっぱり未対応? とすると皆さん構文チェッカーは何を使ってます?
726デフォルトの名無しさん:2007/07/24(火) 00:21:43
>>725
構文チェッカなんて使ったことないなあ。。。
727デフォルトの名無しさん:2007/07/24(火) 00:56:13
ここは自作自演のひどいイターネットですね。
728デフォルトの名無しさん:2007/07/24(火) 22:25:52
某ワークショップが終わったら急に煽りが元気になった件
729デフォルトの名無しさん:2007/07/24(火) 22:44:16
pylintつーチェッカもあるみたいだけど
サイトが重すぎてつながらん
730デフォルトの名無しさん:2007/07/25(水) 00:08:17
チェッカーでワンライナー厨を排除
731デフォルトの名無しさん:2007/07/25(水) 05:00:22
>>> print (lambda ss: '¥n'.join([''.join((x, y, z, u, v, t)) for x in ss[:5] for y in ss for z in ss for u in ss for v in ss for t in ss if len(set((x, y, z, u, v, t)))==len(ss)]))(unicode('ワンライナー', 'utf-8'))
732デフォルトの名無しさん:2007/07/25(水) 09:57:33
>>728
煽りの好例ですね。
まあITドカタは辛いだろうけど頑張って。
733デフォルトの名無しさん:2007/07/25(水) 15:55:17
すごく陰湿で後ろ向きな奴がいるな〜
PHPでもやってればいいんじゃね?wwwww
734デフォルトの名無しさん:2007/07/25(水) 16:00:59
コンピューターの前で一日中いたら誰たでっていかれるさ
735デフォルトの名無しさん:2007/07/25(水) 16:22:42
× コンピュータの前で
○ コンピュータの前に

× 誰たでって
○ 誰だって
736デフォルトの名無しさん:2007/07/25(水) 16:37:13
Pythonの回りにも変な奴が増えたなあ.

日本語もできないゆとり君とか.
閉鎖的なやつとか.ジャイアニズム全開のアホとか.
キチガイのZOPE関係者とか.後ろ向きな窓際PC警備員とか.
PythonができればGoogleに就職できると信じているメルヘン君とか.

Pythonが広まった証拠か?
737デフォルトの名無しさん:2007/07/25(水) 16:38:14
>>736
ネガティブだなあ
738デフォルトの名無しさん:2007/07/25(水) 16:42:46
確かにいかれてるな
739デフォルトの名無しさん:2007/07/25(水) 17:13:44
まあ日本全体がいかれてるからな。
740デフォルトの名無しさん:2007/07/25(水) 17:17:56
民主党に投票しないとな。
阿部晋三みたいなこけおどし政治家にはすぐにでも辞めてもらわないと。
741デフォルトの名無しさん:2007/07/25(水) 19:30:59
>>725
pylintを使ってる。EclipseのPyDev経由でしか使った事が無いけど。
PyDevはコードフォーマッタが気持ちいいけど、重いのが難点。
コードフォーマッタ単体でどっかに転がってないか探しているけど見つからない。
自作するしか無いか?
742デフォルトの名無しさん:2007/07/26(木) 20:56:55
>>725
python2.5.1でpychecker0.8.17使ってるけど、ちゃんと動いてるよ。
>(なぜかチェック対象のスクリプト自体が実行されてしまう)。
なんでだろうね。pycheckerの1行目がおかしいとか?

743デフォルトの名無しさん:2007/07/26(木) 21:01:18
MacOS X 10.4 iTerm上でipythonを実行すると、カラーで表示されるのはいいのですが、
そのせいで表示されない文字があります。
どなたか同じ環境でうまく表示されている方はいませんか。
あるいはカラー表示をやめさせる方法があれば教えてください。
744デフォルトの名無しさん:2007/07/26(木) 21:27:34
>>743
自己レスですが、背景色と同じ色(白)で出力されていたようです。
背景色を変えたら見えました。
とりあえずこれでしのぎます。
745デフォルトの名無しさん:2007/07/27(金) 11:12:23
http://weblogs.mozillazine.org/roadmap/archives/2007/07/new_projects.html
> IronMonkey, the project to map IronPython and IronRuby to
> Tamarin, so that Tamarin becomes multi-lingual, over time
> delivering high performance for all languages.
746デフォルトの名無しさん:2007/07/27(金) 11:19:02
Pythonとmysqlでunicodeのやりとりを解説してるHPとか書籍ってない?
747デフォルトの名無しさん:2007/07/27(金) 21:36:06
1. Pythonとunicode型とエンコーディングの解説
2. エンコーディングとmysqlの解説
に分けるとすぐ見つかるだろ。
748デフォルトの名無しさん:2007/07/27(金) 22:15:05
>>747
すまんがバグなのか環境のせいなのか、一部で厄介な問題があるんだ。
解説しているものが少ないのもこの点を書くのが面倒だからなのかなあ・・・・
http://www.mail-archive.com/[email protected]/msg00098.html
749デフォルトの名無しさん:2007/07/27(金) 22:26:40
何が問題なのかがよくわからんけど、まず自分で問題を切り分けてくれ。
pythonを使わずに、mysqlでunicodeを扱うのは上手くできてるの?
ttp://www.mysql.gr.jp/frame/modules/bwiki/?FAQ#content_1_40
750デフォルトの名無しさん:2007/07/27(金) 22:41:09
直接や他のPHPとかの言語からは出来ています。
http://www.mail-archive.com/[email protected]/msg00098.html
のページの
>>>> con = MySQLdb.connect(db="bookrental", charset="utf8")
>>>> con.character_set_name()
>'latin1'
この部分のように、データベース側がどう設定されているかにかかわらずlatin1が帰ってきてしまうのです。
ググった感じでは各ソフトウエアのバージョンの組み合わせによっては上手くいくらしいのですが、組み合わせもよく分からないのです。
中にはインチキで動かしている人もいるようですが・・・・・
上手く動いている組み合わせだけでもなんとか分からないでしょうか?
751デフォルトの名無しさん:2007/07/27(金) 22:48:40
mysql -u username -p dbnameでログインしてutf-8でためしてみれ
752デフォルトの名無しさん:2007/07/27(金) 22:50:31
それは大丈夫だよ。
753デフォルトの名無しさん:2007/07/27(金) 22:56:26
それは大丈夫だよ。
754デフォルトの名無しさん:2007/07/27(金) 23:08:10
頼むから何か解説してる本とかあったら教えて!
755デフォルトの名無しさん:2007/07/28(土) 00:06:21
use the source, luke.
756デフォルトの名無しさん:2007/07/28(土) 08:24:58
教えてと言われても、もうちょっと問題を切り分けてくれないと、
こっちだってぐぐるしか出来ない。
で、「mysql python utf-8」ぐぐったトップのこれはだめだったのか?
ttp://perfectdice.at.webry.info/200702/article_3.html
757デフォルトの名無しさん:2007/07/28(土) 09:49:04
_mysql.c に

#if MYSQL_VERSION_ID >= 50007
[...]
mysql_ConnectionObject_set_character_set(
[...]
err = mysql_set_character_set(&(self->connection), s);
[...]
#endif

なんて行があるから、MySQL を新しいのにできるのなら
それで解決しそうな気がする。

(mysql_set_character_set() は MySQL 4.1.13 かららしいから
MYSQL_VERSION_ID >= 50007 である必要はないと思うけど、バグ?)
758デフォルトの名無しさん:2007/07/28(土) 11:34:16
759名無しさん@そうだ選挙に行こう:2007/07/29(日) 01:06:46
プラグイン機能を持ったソフトウェアを開発しています。
プラグイン周りはこんな感じで、特定のフォルダ以下のファイルをロードして使っています。
def load_module(module_name,basepath):
f,n,d = imp.find_module(module_name,[basepath])
return imp.load_module(module_name,f,n,d)

このソフトをpy2exeでビルドすると、プラグインは動的ロードなので、
プラグインが依存しているライブラリは取り込まれません。
現在はプラグインが依存しているライブラリを手で列挙して、py2exeのオプションで指定しています。

しかしこれだと、自分がサンプルで作った既知のプラグインはいいのですが、
第三者が作ったプラグインで、が他のモジュールに依存していた場合、エラーが発生してしまいます。

py2exeでPythonの標準モジュールをすべて取り込みたいのですが、どうしたらいいんでしょうか。
まぁ、列挙するプログラムを書いてもいいんですが……。
760759:2007/07/29(日) 09:07:49
結局どうしようもなさそうだと判断して、インストーラーにPythonを入れてしまいました。
761デフォルトの名無しさん:2007/07/30(月) 10:20:17
違う型のデータに対して共通な処理(インクリメントとか文字列化とか)があるような場合に、
関数だと対応する型毎に名前分け(int_to_string()とかdouble_to_string()とか)したうえに、
使用時にも型毎に判断して呼びわけしなきゃならなくなるじゃん。

クラスのメソッドになってれば、型にかかわらず、

>>> animals=(inu(),neko(),kuma(),usi())
>>> for i in animals:
...    i.talk()
...
'わん'
'にゃー'
'くまー'
'うしー'

762デフォルトの名無しさん:2007/07/30(月) 11:03:17
うしー はどうかと思う
763デフォルトの名無しさん:2007/07/30(月) 12:38:58
>>761
クラス名は大文字で始めましょうね。
764デフォルトの名無しさん:2007/07/30(月) 14:39:52
くまーが普通に見える時点で2ch脳
765デフォルトの名無しさん:2007/07/30(月) 15:23:57
クマってなんて鳴くんだろ。
766デフォルトの名無しさん:2007/07/30(月) 19:51:22
環境はslax5.18 バージョンはpython2.4.3
>python test.py
とすると、raw_input()の日本語入力時に大量の^Hやらなんやらが出力されるんだが、
同じ症状の人いる?

ただし
>python
>>>str=raw_input()
とすると普通に入力できるのが謎。
767デフォルトの名無しさん:2007/07/30(月) 21:55:24
>>765
人間には、地響きとしか感じ取れないような
低周波音を出す。耳骨が揺れるというのか。
768デフォルトの名無しさん:2007/07/30(月) 23:35:23
python→C コンバータとかねーのかな〜
最近なんでもPythonで済ませがちになってきて、
いざ必要に迫られて重い処理をCで書こうとすると
面倒くさくてしょうがない。
769デフォルトの名無しさん:2007/07/30(月) 23:54:29
Pyrexを拡張しる
770デフォルトの名無しさん:2007/07/30(月) 23:59:09
期待するほど早くならないよ
動的型付け言語をなめるな
771デフォルトの名無しさん:2007/07/31(火) 00:05:18
性的言語は面倒くさいなんて電車内で口走るなよ
772デフォルトの名無しさん:2007/07/31(火) 00:06:56
セックス面倒くさい
773デフォルトの名無しさん:2007/07/31(火) 00:31:44
Stacklessを検討しる
774デフォルトの名無しさん:2007/07/31(火) 06:16:47
スルー力が足りない
775デフォルトの名無しさん:2007/07/31(火) 06:19:39

高3の秋。両親と妹が親戚のとこに行って夜まで帰ってこないので、家には俺ひとりきり。
そこで俺は最高にゴージャスなオナニーをしようと思いついた。
居間のテレビでお気に入りのAVを再生。洗濯機から妹のパンティを取り出し、全裸になって頭からそれをかぶり、立ったまま息子を激しくシゴいた。
誰もいない家で、しかも真昼間にやるその行為はとても刺激的だった。
俺はだんだん興奮してきて、「ワーオ、最高!イエース!グレート!」と叫びながらエアギターを弾くように部屋中を動き回ってオナニーをした。
テーブルに飛び乗り、鏡に自分の姿を映し、「ジョジョ」を髣髴とさせる奇妙なポーズでチンポをこすってみた。
すさまじい快感で汗とヨダレが流れるのも気にならなかった。
「ヨッシャーいくぞー!! ボラボラボラボラボラボラボラボラ ボラーレヴィーア!!」
俺はゴミ箱の中に直接ザーメンをぶちまけようと後ろを振り返る。

そこには両親と妹が呆然と立ち尽くしていた。怒りとも悲しみともつかない不思議な表情を浮かべながら…。
「な、なんなんだよ!お前ら!!」
俺は叫んだ。今思えば「なんなんだ」と叫びたかったのは父のほうだったに違いない。

あの瞬間、俺は世界一不幸な男だった。それは断言できる。その後の数週間いや数ヶ月も辛かった。家族から向けられる蔑みの視線…。
しかしそんな俺も今こうして生きている。もしなにかに悩んでて「死にたい」って思ってる人がいたらどうか考えなおしてほしい。人間というのは、君が考えているよりはるかに強い生き物だから。人間はどんなことでも乗り越えていけるのだから。
776デフォルトの名無しさん:2007/07/31(火) 19:23:19
>>774
するーかってなに?
777デフォルトの名無しさん:2007/07/31(火) 19:57:52
スルー力が足りない
778デフォルトの名無しさん:2007/07/31(火) 20:27:04
ああ「するーちから」なのか。やっと解った。thx!
779デフォルトの名無しさん:2007/07/31(火) 21:02:01
スルッとカンサイ
780デフォルトの名無しさん:2007/07/31(火) 22:40:54
print "スルットちゃん可愛い"
781デフォルトの名無しさん:2007/08/01(水) 00:20:14
スノレーヵ
782デフォルトの名無しさん:2007/08/01(水) 00:35:58
DQNの関西人は氏ね
783デフォルトの名無しさん:2007/08/01(水) 00:54:23
直訳すると、素通りパワー
784デフォルトの名無しさん:2007/08/01(水) 01:13:13
おまえら、意味分かってるなら「スルーカ」くらいスルーしろよ
785デフォルトの名無しさん:2007/08/01(水) 05:55:33
なんでFreeBSDを語れ Part 16スレとコピペ荒し連動してるんだろ
786デフォルトの名無しさん:2007/08/01(水) 08:33:19
パターン1:荒らしがFreeBSDでPythonを使っている
パターン2:とりあえずFreeBSDを入れたもののPythonの入れ方が解らずイライラしている
787デフォルトの名無しさん:2007/08/01(水) 09:49:28
パイソンってウインドウ開ける?
788デフォルトの名無しさん:2007/08/01(水) 14:02:48
パターン3: ports の python のデフォルトバージョンが 2.4 から 2.5 にあがったけど UPDATING 見忘れてはまった
789デフォルトの名無しさん:2007/08/01(水) 14:31:54
パターンX:いずれにしてもアホ
790デフォルトの名無しさん:2007/08/01(水) 20:54:26
どうでもいい。黙れ。、
791デフォルトの名無しさん:2007/08/02(木) 01:08:24
>787
wxPythonを使ってみよー
792デフォルトの名無しさん:2007/08/02(木) 01:10:19
>>787
import Tkinter
root = Tkinter.Tk()
root.mainloop()
793デフォルトの名無しさん:2007/08/02(木) 01:12:45
>>787
>>> import webbrowser
>>> webbrowser.open('http://www.python.org/')
794デフォルトの名無しさん:2007/08/02(木) 01:21:11
>>790
おまえがな。
795デフォルトの名無しさん:2007/08/02(木) 11:30:19
>>787
$ python
796デフォルトの名無しさん:2007/08/02(木) 16:25:31
lambdaの例で
f = lambda x:(x and f(x-1)*x)or 1 ってのがあったのだけど
f = lambda x: x and f(x-1)*x or 1 じゃだめなの?
797デフォルトの名無しさん:2007/08/02(木) 19:28:56
>>794
どうでもいい。黙れ。、
798デフォルトの名無しさん:2007/08/02(木) 20:46:31
>>796
上の例は括弧大好き人間が書いたんじゃないの?
799デフォルトの名無しさん:2007/08/02(木) 20:53:33
>>796
Lisperとしては上の書き方を推奨したい
800デフォルトの名無しさん:2007/08/02(木) 22:22:45
>>796
大人気だな。
801デフォルトの名無しさん:2007/08/02(木) 23:28:32
なんでpythonはlambdaの本体に式しかかけないの?
802デフォルトの名無しさん:2007/08/02(木) 23:50:23
というかかけるようにしたい
803デフォルトの名無しさん:2007/08/03(金) 00:19:53
ローカル関数でいいじゃまいか
804デフォルトの名無しさん:2007/08/03(金) 01:12:44
ワンライナー厨は氏ね。即刻氏ね。
805デフォルトの名無しさん:2007/08/03(金) 01:17:39
いちいち名前付けるのメンドイっす
806デフォルトの名無しさん:2007/08/03(金) 01:55:58
>805

そんなあなたに foo bar baz
807デフォルトの名無しさん:2007/08/03(金) 01:59:33
俺はhoge派
808デフォルトの名無しさん:2007/08/03(金) 04:28:39
俺は f みたいな一文字派
809デフォルトの名無しさん:2007/08/03(金) 04:54:19
>>801
Python 以外でも大抵は式しか書けないと思うが
810デフォルトの名無しさん:2007/08/03(金) 09:09:55
Pythonスレにあるまじき鬱陶しいスレタイが云っている。
名前付き関数で達成可能なことを、
lambdaでも出来るようにする必要があるのかと。
811デフォルトの名無しさん:2007/08/03(金) 09:23:10
JavaScriptでAjax処理とか書いていると
たまにlambdaになんでもつっこみたくなる時があることは認める
812デフォルトの名無しさん:2007/08/03(金) 09:48:02
lambdaは式なんだって
813デフォルトの名無しさん:2007/08/03(金) 10:04:21
式以外があるのが許せない人は LISP でも使えばいいよ
814デフォルトの名無しさん:2007/08/03(金) 10:23:35
>>811
カリー化しる。
ほとんど似たようなことができる。
815デフォルトの名無しさん:2007/08/03(金) 21:05:52
そういえばpythonのlambdaってカレー化できないよね。なんか扱いが適当な気がする・・・
816デフォルトの名無しさん:2007/08/03(金) 23:26:28
何か根本からおかしいような気もしなくも無いのですが、エラーを一切無視してほしい場合、どのように書けばよいのでしょうか?
(printの前にチェックすればいいのでしょうが・・・・)

for 番号 in 学生番号():
try:
print 番号['好きな食べ物']    #無いとキーエラーになる
except KeyError:
#特にここに書くことがないが、何も書かないと構文エラーになるし・・・・
817デフォルトの名無しさん:2007/08/03(金) 23:36:22
pass
818デフォルトの名無しさん:2007/08/03(金) 23:37:35
has_keyとかで事前に調べて分岐するか,getでキーがなかったら''とかを返すようにする
819デフォルトの名無しさん:2007/08/04(土) 09:36:57
try:
 番号.index('好きな食べ物')
except ValueError:
 pass
print 番号['好きな食べ物']

とかかな…意味ないか
820デフォルトの名無しさん:2007/08/04(土) 11:31:12
if '好きな食べ物' in 番号:
print 番号['好きな食べ物']
821デフォルトの名無しさん:2007/08/04(土) 13:30:38
except:pass
822デフォルトの名無しさん:2007/08/04(土) 13:45:01
4文字打つの面倒いから、1 でいいじゃん。
823デフォルトの名無しさん:2007/08/04(土) 14:15:33
何もしないときはpassと書くのが大人のマナー

http://www.manner-koza.com/
824デフォルトの名無しさん:2007/08/04(土) 17:28:16
子供は書かなくてよろしい。
825816:2007/08/04(土) 17:46:14
おおおお!みんなありがとう!!!!
826デフォルトの名無しさん:2007/08/04(土) 18:17:08
まだhas_key使っても怒られない?シーケンスメンバーテストより見やすいんだ…。
827デフォルトの名無しさん:2007/08/04(土) 20:11:54
>>826
2.5は平気
828デフォルトの名無しさん:2007/08/04(土) 22:14:11
なに、将来は怒られるようになるの?
829デフォルトの名無しさん:2007/08/04(土) 22:35:53
Python3000 では has_key がなくなって
in 演算子のみになる予定。
830デフォルトの名無しさん:2007/08/05(日) 01:31:30
それに伴って2.6から警告が出るようになる予定。
831デフォルトの名無しさん:2007/08/05(日) 10:43:16
a,b = [1,2,3]
Traceback (most recent call last):
File "<input>", line 1, in <module>
ValueError: too many values to unpack

a,b = 1,2,3
Traceback (most recent call last):
File "<input>", line 1, in <module>
ValueError: too many values to unpack

a,b = [1,[2,3]]
b
[2, 3]

pythonって、右辺が多値の場合の扱いが厳格なの?
切り落したりすると何か問題とかあるのかな。FAQっぽい
のでML(英語でも可)のポインタきぼん!というかぐぐる
キーワードが思い付かない orz

新言語 Xtalを作る日記
http://d.hatena.ne.jp/xtalco/20070619#1182225425
832デフォルトの名無しさん:2007/08/05(日) 11:10:15
エラーメッセージでググッて自己解決。

L = [1,2,3,4,5]
L
[1, 2, 3, 4, 5]
a,b,c = L[:3]
a,b,c
(1, 2, 3) #上記の記法はタプルと同等なものとして解釈される?!
a
1
b
2
c
3

ValueError: too many values to unpack - comp.lang.python | Google グループ
http://groups.google.com/group/comp.lang.python/browse_thread/thread/306b9866125cdec2/763d5c93a82f67d2%23763d5c93a82f67d2
833デフォルトの名無しさん:2007/08/05(日) 11:11:16
a,b,c = L[:2]
Traceback (most recent call last):
File "<input>", line 1, in <module>
ValueError: need more than 2 values to unpack
右辺の値が3つじゃねーと駄目ですよ(2つ以上じゃない)

a,b,c,d = L[:3]
Traceback (most recent call last):
File "<input>", line 1, in <module>
ValueError: need more than 3 values to unpack
右辺の値が4つじゃねーと駄目ですよ(3つ以上じゃないと)

Laszloさんありがとー。というかじぶん入門書読め。
834デフォルトの名無しさん:2007/08/05(日) 11:33:41
右辺が多かったら、 ValueError: too many values to unpack
(展開するにあたって右辺の値が多すぎ蓮だぞゴラァーえらー)

右辺が足りなかったら、ValueError: need more than 2 values to unpack
(展開するには右辺は○○以上必要だよエラー)
---

多くても怒られる、少なくても怒られるw
835デフォルトの名無しさん:2007/08/05(日) 12:53:34
エラーになるのは当たり前だろ
多すぎる分が勝手にシーケンスになって放り込まれたり
少なすぎる分が補填されるような言語はキモすぎてつかえねえよ
836デフォルトの名無しさん:2007/08/05(日) 14:24:55
Win XP SP2 に Python 2.5 をインストールしました。
Python スクリプトのアイコンを右クリックすると出てくるメニューの「プログラムから開く」に
pyhtonw.exe (コンソールなしのインタプリタ) を追加したいんだけどどうすればいいですか?

「プログラムから開く」→「プログラムの選択」で C:\Python25\pythonw.exe を選んでも
なぜか C:\Pyhton25\python.exe を選んだのと同じになってしまう・・・。

Python 2.3 のころは「プログラムから開く」に pythonw.exe が入っていたんだけど
アップグレードしたら消えてしまいました・・・。
837デフォルトの名無しさん:2007/08/05(日) 14:40:24
>831
幻覚っていうか...

エラーにしないという発想がでてくるだけでも驚嘆に値するヨ
838デフォルトの名無しさん:2007/08/06(月) 08:14:27
エラーにしない選択肢がありえないとまでは言わないけど、
Explicit is better than implicit.
に反するとかそんな感じだと思う。

いまrubyで試してみたら
$ irb
irb(main):001:0> a,b=1,2,3
=> [1, 2, 3]
irb(main):002:0> a
=> 1
irb(main):003:0> b
=> 2

となってる
839デフォルトの名無しさん:2007/08/06(月) 09:03:01
未定義変数を0扱いすべきだとかいう
perl 病と同じ匂いを感じるなぁ
840デフォルトの名無しさん:2007/08/06(月) 10:37:22
すんごい初心者質問なのですみませんが、pythonの
正規表現で質問です。

文字列「ssLLLLssLLsLLL」から、正規表現で「LL」、
「LLL」、「LLLL」を抽出するのに、文字の
連続回数「a」をfor文でインクリメントしながら
逐次的に抽出するコードを以下の様に書きました。
ところが、re.compile('[^L]L{a}[^L]')の中の
「a」をfor文で回せてないみたいで、findallした
結果をprintすると、空欄「[]」になってしまいます。

for a in range(2,5):
restring = re.compile('[^L]L{a}[^L]')
count = restring.findall(kekka)

print count
print "large",a,":", len(count)

正規表現のcompile()の括弧内に記述した
正規表現をfor文で回す事ってできないので
しょうか?なんか良い方法無いでしょうかね・・・。
841デフォルトの名無しさん:2007/08/06(月) 10:38:26
>>840ですが、for文以下は全てtabでインデント
されています。書き込んだらtab消されてもうた・・・。
842デフォルトの名無しさん:2007/08/06(月) 10:49:40
re.compile('[^L]L{%d}[^L]' % a)
843デフォルトの名無しさん:2007/08/06(月) 12:25:06
>>840

> import re
> print re.findall(r'L+', 'ssLLLLssLLsLLL')

['LLLL', 'LL', 'LLL']

とかじゃだめなん?
844デフォルトの名無しさん:2007/08/06(月) 15:17:48
"1"を数字の1にしたいのですが,どうすればいいですか?
845844:2007/08/06(月) 15:19:36
ごめんなさい,解決しました
846デフォルトの名無しさん:2007/08/06(月) 15:20:17
a="1"
a=1
847デフォルトの名無しさん:2007/08/06(月) 15:27:34
「数字」だと、文字なのか数値なのかあいまいだな
848デフォルトの名無しさん:2007/08/06(月) 15:30:50
a='1'
b=eval(a)
849デフォルトの名無しさん:2007/08/06(月) 16:55:58
pygameでSTG作ってる。
例えばプレイヤークラスだと、その内部で移動とか弾だしとかやるよな?
そしたら敵弾との当り判定とか、クラス外でプレイヤの位置がほしくなる。
でどうしろと?
850デフォルトの名無しさん:2007/08/06(月) 17:05:16
>>849
でどうしろと?
 
 
 
 
 
 
 
 
 
 
つーかあたり判定が必要なオブジェクト用の基底クラスを作るんじゃね?
851デフォルトの名無しさん:2007/08/06(月) 17:12:32
質問があいまいすぎて正しい答えになっているかどうか不安だよ。

1) 当たり判定を行うマスタークラスを作る
多分シングルトン。
2の当たり判定が必要なオブジェクト用クラスのリストを持っている。
そのリストをもとに,当たり判定を行うメソッドを作る。

2) 当たり判定が必要な必要なオブジェクト用クラスを作る
当たり判定を行う範囲なんかの情報を持っている。
他のオブジェクトに当たったときに呼ばれるコールバックメソッドを持っている。
生成時に1に対して自分を登録する。

1の当たり判定実行メソッドを定期的に呼ぶ。
結果,範囲が交差していたら2のコールバックメソッドを呼ぶ。
コールバックメソッドでは,相手を爆発させるなり
HPを減らすなりエンカウント処理を行うなど,オブジェクトごとの振る舞いを定義する。
852デフォルトの名無しさん:2007/08/06(月) 17:14:36
いわゆる一つのダブルディスパッチ?
853デフォルトの名無しさん:2007/08/06(月) 17:59:16
>>851
たぶんそういうことだが、
シングルトンとかわからんからで直す
854デフォルトの名無しさん:2007/08/06(月) 23:11:18
>>853
シングルトンというか、ゲーム世界を表わす World クラスを作って
存在する全ての物体の位置をそこに記録しておけばいいよ
その World クラス w でオブジェクト o に対して

w.hit(o)

すると o に衝突している物体のリストが返る、というようなメソッドを作る
855デフォルトの名無しさん:2007/08/06(月) 23:25:39
皆スッゲー、俺には全く理解出来ないよ。
でも1年位頑張れば俺も………どうなんだろう…
856デフォルトの名無しさん:2007/08/07(火) 00:25:13
躓いてもなんでもいいから、とにかく動くプログラムを作ってみなよ。
試しながら学べるところが,Pythonみたいなスクリプト言語のいいところじゃないか。
みんなそうやって学んだんだよ。
設計うんぬん言うよりも,すぐにでも始めたほうがいいよ。
857デフォルトの名無しさん:2007/08/07(火) 00:27:40
これを見て俺も、オブジェクト指向ってぜんぜん分かってなかったなあと思い知らされた。
858デフォルトの名無しさん:2007/08/07(火) 00:40:03
オブジェクト指向機能の理解と設計は別だよ。
ここに書かれていることはむしろ設計に属するようなタイプの話題だよ。
設計は師匠について学ぶとか、自分で躓きながら学ぶとか
他人のソースを読んで学ぶしかない。
くソースを読んで、租借して、沢山書くことが上達の秘訣だよ。
859デフォルトの名無しさん:2007/08/07(火) 01:13:45
>クラス外でプレイヤの位置がほしくなる
という文を読んで、
プレイヤの位置を返すgetter書けばいいんじゃね? と思った俺は浅すぎたことを知ったorz
860デフォルトの名無しさん:2007/08/07(火) 01:49:15
もちろんプレイヤーの位置を返すgetterは必要だけど
位置を必要とするような手続きを抽象化し、メソッドとしていかにうまく実装するかが
オブジェクト指向設計のキモだ
861デフォルトの名無しさん:2007/08/07(火) 22:04:49
俺も立派なpython使いになると決心した午後10時です
862デフォルトの名無しさん:2007/08/07(火) 22:12:04
最近Pygameにちょうせんしまして

Playerクラスの中に関数を作ってある。
そのとき
playersprite = pygame.sprite.Sprite(Player())
ってしたら関数呼べないから、

classplayer =  Player()
playersprite = pygame.sprite.Sprite(classplayer)
にしなきゃいけないよな、
863デフォルトの名無しさん:2007/08/07(火) 22:27:59
俺は最近pygameでエロゲーを作っている。
せっかくなのでキャラクターを喋らせようと、
俺が声を当てている。

何か文句あるか。
864デフォルトの名無しさん:2007/08/07(火) 22:31:03
どうせなら答えてくれよう
865デフォルトの名無しさん:2007/08/07(火) 22:35:30
思ったように動けば、それが正解です
866デフォルトの名無しさん:2007/08/07(火) 22:36:12
2chは広いから、素人声優を募集するスレッドなんかありそうだ
867デフォルトの名無しさん:2007/08/07(火) 23:38:41
男優役は俺でいいじゃない
868デフォルトの名無しさん:2007/08/07(火) 23:45:23
キミタチゴイスー
ドンダケー
グーグルニニュウシャシテクダチイ
869デフォルトの名無しさん:2007/08/08(水) 09:33:09
sqliteで多対多にデーターを入力できないんだけどどうしてだろう。。。
いろいろ試したのですがだめでした

from sqlobject import *
connection_string = 'sqlite:/:memory:'
connection = connectionForURI(connection_string)
sqlhub.processConnection = connection

class goods(SQLObject):
name = StringCol()
price = IntCol()
shops = RelatedJoin('shops')

class shops(SQLObject):
name = StringCol()
goods = RelatedJoin('goods')

goods.createTable()
shops.createTable()
apple = goods(name="apple", price=100)
yaoya = shops(name="yaoya")
super = shops(name="su-pa-")
print goods.get(1)
print shops.get(1)
print shops.get(2)
apple.shops.append(yaoya)
apple.shops.append(super.id)
apple.shops.append(shops(name="7-11"))
print goods.get(1)
print goods.get(1).shops
870869:2007/08/08(水) 14:46:33
apple.addShops(yaoya)
でできました
871デフォルトの名無しさん:2007/08/09(木) 12:30:15
コードは↓に張ってリンク
http://dpaste.com/
サンプル
http://dpaste.com/example/
872デフォルトの名無しさん:2007/08/09(木) 13:24:29
2ch に書くなら空白→&nbsp;への変換くらいはやって欲しいところだな
873デフォルトの名無しさん:2007/08/09(木) 16:13:09
全角空白だと潰されないから、2chスレの中で見るだけの分にはいいんだけど、
コピペ起動するとエラーだし面倒くさい FOX氏はpython嫌いなのかと邪推w
874デフォルトの名無しさん:2007/08/09(木) 16:32:19
だーから文頭のspace連打が無視されるのは大昔からHTMLの仕様
875デフォルトの名無しさん:2007/08/09(木) 16:34:58
夏っぽい展開だ。
876デフォルトの名無しさん:2007/08/09(木) 17:00:24
<pre>にしときゃよかったのにな
877デフォルトの名無しさん:2007/08/09(木) 18:12:11
<pre>だとAA文化が消滅する。pythonista見識狭すぎ
878デフォルトの名無しさん:2007/08/09(木) 18:13:48
>>877
逆、逆。
2chが<pre>でなかったために、特定のフォントのメトリックスに著しく
依存する、非等幅フォントによるAAなどという珍奇な代物がはびこってしまったと
考えるべき
879デフォルトの名無しさん:2007/08/09(木) 18:37:14
それより pure python な専ブラを作ればいいんじゃね?
880デフォルトの名無しさん:2007/08/09(木) 18:41:33
すでにあるよボケがwwwwwwwwwwww
881デフォルトの名無しさん:2007/08/09(木) 19:41:52
かちゅ〜しゃだとアンカでポップアップするレス表示がなぜかplaintextになるので
ひそかに活用してる ( >>326、とか
882デフォルトの名無しさん:2007/08/09(木) 22:20:41
navi2chも

ふ:
つ:
う:
pass

に見えるよ?
883デフォルトの名無しさん:2007/08/09(木) 22:41:11
>>863
北都南希望
884デフォルトの名無しさん:2007/08/09(木) 22:54:34
print ネームバリューや実力の割に、こう言っちゃなんだがお安く使えるしね…,
885デフォルトの名無しさん:2007/08/10(金) 01:20:19
ブラウザによっては見えるとかはあるかも知れんが
一通りPythonやってりゃ空白→&nbsp;くらい余裕で書けるだろ?
…つーか、wiki行けば載ってるし。
886デフォルトの名無しさん:2007/08/10(金) 01:26:00
あのwikiは微妙。
887デフォルトの名無しさん:2007/08/10(金) 05:27:27
open('target.txt', 'w').write(open('source.txt').read().replace(' ', '&nbsp;'))
888デフォルトの名無しさん:2007/08/10(金) 07:49:23
sed 's/ /&nbsp;/g' source.txt > target.txt
889デフォルトの名無しさん:2007/08/10(金) 08:17:26
pythonのIDLEを起動しようとすると起動前にpythonが外部通信しようとするが、これはなに?
FWで止めるとサブプロセス云々と怒られて起動さえしないのだけれど。
890デフォルトの名無しさん:2007/08/10(金) 08:49:50
IDLE がなんか言ってるんだからきちんと読め
891デフォルトの名無しさん:2007/08/10(金) 16:31:14
画像の一部を読み込むってできる?
892デフォルトの名無しさん:2007/08/10(金) 17:21:30
>>891
PythonでということならPILを使えばできるよ。
(標準添付じゃないので別途インストール必要)

from PIL import Image
img = Image.open('src.bmp')
region = img.crop((100, 100, 200, 200))
region.save('target.bmp')
893デフォルトの名無しさん:2007/08/10(金) 19:43:51
あのwikiって誰が運営してる?

あんまり管理されてないっぽいが。
894デフォルトの名無しさん:2007/08/11(土) 07:12:06
pythonって何でもできてしまうんだな、
空を飛べてしまうのかと思ってしまう勢いだ
895デフォルトの名無しさん:2007/08/11(土) 12:36:44
Pythonじゃ空は飛べんだろ
C言語なら鼻から悪魔が出るかも知れんが
896デフォルトの名無しさん:2007/08/11(土) 12:38:51
まあ Flying Circus だからな
897デフォルトの名無しさん:2007/08/11(土) 12:46:03
オフィシャルサイト見ると宇宙まで行けるようだ
898デフォルトの名無しさん:2007/08/11(土) 13:01:19
PILインストールできね
site-packagesに入れるだけじゃだめなのか
899デフォルトの名無しさん:2007/08/11(土) 16:53:37
(玄関のドアを開ける)

python:「はい、どうぞ」
perl:「!!!」
python:「perlさん!!」
perl:「ビックリした!!」
python:「うん…」
perl:「ラ、ラリーには言わないでね…」
python:「うん…」

…… (沈黙) ……

perl:「どうする?」
python:「…お、俺、別にしなくてもいいよ…」
perl:「でも、一応、仕事だから…それとも私じゃイヤ?」
python:「そ、そんなことないよ…!!」
perl:「じゃあ、シャ、シャワーいこっか?」
python:「…うん」
perl:「でも、なんか、恥ずかしいな…」
python:「俺もだよw」

……

perl:「じゃ、じゃあ服脱いだら行くから、先にどうぞ」
python:「うん…でも、ホントにいいの?」
perl:「いいの…」

perlの細い腰から、スカートが床に落ちる――。
900デフォルトの名無しさん:2007/08/11(土) 17:04:55
ワッフルワッフル
901デフォルトの名無しさん:2007/08/11(土) 17:06:10
ツマンネ
902デフォルトの名無しさん:2007/08/11(土) 18:05:37
どういう設定だ
903デフォルトの名無しさん:2007/08/11(土) 18:09:09
金で女の子呼んだら昔の同級生だったというせてい
904デフォルトの名無しさん:2007/08/11(土) 18:15:22
何をしている
905デフォルトの名無しさん:2007/08/11(土) 18:18:42
とりあえず>>898を答えてほしいなと願っている
906デフォルトの名無しさん:2007/08/11(土) 18:24:45
>>905
どういう手順でインストールしたの?
907デフォルトの名無しさん:2007/08/11(土) 18:37:08
zipを解凍しただけ
908デフォルトの名無しさん:2007/08/11(土) 18:38:27
setup.pyとかついてなかった?
909デフォルトの名無しさん:2007/08/11(土) 18:39:12
ある
910デフォルトの名無しさん:2007/08/11(土) 18:42:00
じゃあ、それを動かせばいいべ。
911デフォルトの名無しさん:2007/08/11(土) 18:42:35
うほっ
912デフォルトの名無しさん:2007/08/11(土) 18:46:08
だがうごかない
913デフォルトの名無しさん:2007/08/11(土) 18:48:18
>>907
Win32環境だったらインストーラのほうダウンロードしてそっち使おう。
UNIXだったらREADME読む。
914デフォルトの名無しさん:2007/08/11(土) 18:51:15
ありがとう
915デフォルトの名無しさん:2007/08/13(月) 14:41:53
pychallengeのレベル5で行き詰まったっす。
こりゃもしかして英語ネイティブな人じゃないと
解けないのでは…
916デフォルトの名無しさん:2007/08/13(月) 16:06:52
917デフォルトの名無しさん:2007/08/13(月) 19:18:36
pythonの使い方、ちゅーよりpythonを使う問題を見つけるまでの
ナゾナゾがおもろいなコレ。
918デフォルトの名無しさん:2007/08/13(月) 20:09:59
先週からpythonはじめて、python challengeをすこしやってみました。
書いたプログラムを
http://dpaste.com/
に貼り付けてみたので、>>916のスレで書いたプログラムの意見とかをお願いします。
919デフォルトの名無しさん:2007/08/13(月) 22:59:11
横槍すみません、
Pythonで定数の定義はどうやるのでしょう。
C言語の
#define COUNT_MAX 5000 みたいな
920デフォルトの名無しさん:2007/08/13(月) 23:01:11
count_max = 5000
921デフォルトの名無しさん:2007/08/13(月) 23:08:39
922デフォルトの名無しさん:2007/08/13(月) 23:13:03
923デフォルトの名無しさん:2007/08/14(火) 00:22:23
定数の件、ありがとうございます。・・・初心者には難しいですね。

if cnt <= 5000: と書いた時、5000は一旦見えない変数になっているのでしょうか。
if 変数 <= リテラル: として処理されるなら
if cnt <= count_max: とは違うコードができるんですよね。
924デフォルトの名無しさん:2007/08/14(火) 00:37:59
文字列はあるていど共有されるけど、数値はバイトコードのその場に埋め込まれるんじゃなかったっけ?

まあ変数に数値を定義すると書き換えが可能だとはいえ、分かるようにしておいて性善説的運用をするのがPythonの流儀だ。
たとえばCOUNT_MAX = 50000みたいに大文字とかにしておけば、怖がってだれも触らないだろ。
925デフォルトの名無しさん:2007/08/14(火) 06:08:11
Guido van Rossum:
>It's official! The second annual Python Sprint @ Google is happening
>again: August 22-25 (Wed-Sat). We're sprinting at two locations, this
>time Google headquarters in Mountain View and the Google office in
>Chicago (thanks to Brian Fitzpatrick). We'll connect the two sprints
>with full-screen videoconferencing. The event is *free* and includes
>Google's *free gourmet food*.
926デフォルトの名無しさん:2007/08/14(火) 06:11:40
>>923
そういう定数レベルの最適化がしたいならpythonを使わないのが正解
927デフォルトの名無しさん:2007/08/14(火) 11:08:04
if command == CMD_A:
... 中略
elif command == CMD_Z: みたいに
switch文的な分岐をしようとすると1回しか使われない変数をたくさん作るので
ムダが多そうなんですが、気にするなということですね。

数値で直接比較しておいて、 # CMD_A とコメントに書く方がPython的なのでしょうか
928デフォルトの名無しさん:2007/08/14(火) 12:12:13
いくらPythonでもマジックナンバー直書きはどうだろう
929んなことで悩む方が無駄:2007/08/14(火) 12:29:54
>switch文的な分岐をしようとすると1回しか使われない変数をたくさん作るので
>ムダが多そうなんですが、気にするなということですね。

だから >926 ...
930デフォルトの名無しさん:2007/08/14(火) 12:41:53
>>925
そのスプリントのあと,Python 3.0のα1が出てくるらしいな。
931デフォルトの名無しさん:2007/08/14(火) 18:54:14
sprint? fを付け忘れてるぞ…と思った俺の脳は旧式
932Cの老師を目指す女:2007/08/14(火) 21:30:40
裕美子といいます。大都会の片隅で×いちのOLをしています。

使用OS WinXPsp2
使用Python2.5

IDLEやpythonコマンドライン上で日本語を入力すると、たとえば

>>>print "裕美子"
裕美子

と表示されたり、 なにも弄っていないのに、ある時には

>>>print "裕美子"
(なにやら文字化け)

になったりします。文字コードの設定に問題があるはずなんですが、
原因がわかりません。
IDLEのコンフィグでも日本語フォントが選べない(反映しない)
みたいだし、どなたかご存知の方がおられましたら、
きちんと常時、日本語の表示が出来る設定を教えてください。
933デフォルトの名無しさん:2007/08/14(火) 21:33:44
print u"ゆみこ"
934Cの老師を目指す女:2007/08/14(火) 21:50:44
>>933

いま、コンソールから入力したら

>>>print "裕美子"
裕美子
>>>print u"裕美子"
裕美子

になりました。 う〜んう〜ん 規則性がわかりません。
935デフォルトの名無しさん:2007/08/14(火) 22:18:40
うにこーどやろ
936Cの老師を目指す女:2007/08/14(火) 22:33:22
すみません、自己解決しました。 おかしな認識があったら
訂正お願いします。

IDELもpythonコンソールも、printを使えばきちんと表示できる。
>>> print "裕美子"
裕美子

しかし、printを使わないと文字化けが生じる
>>> "裕美子"
'\x97T\x94\xfc\x8eq'

変数に入れて、変数名を直接入力してもだめ
>>> str = "裕美子"
>>> str
'\x97T\x94\xfc\x8eq'

でも、printを使えばOK
>>> print str
裕美子
937Cの老師を目指す女:2007/08/14(火) 22:36:03
×・・・IDEL
○・・・IDLE

実はRuby/SDLでサクッと暇つぶしにゲームを作っていたのですが、
PygameもいいかなとおもってPythonを「今日から」勉強してます。
もっともRubyの学習も2日めですが・・・。
938デフォルトの名無しさん:2007/08/14(火) 22:38:07
ネカマ氏ね
939デフォルトの名無しさん:2007/08/14(火) 22:51:20
チュートリアルすら読めない奴は人間辞めろよwww
940デフォルトの名無しさん:2007/08/14(火) 23:25:51
>>936
それ文字化けじゃなくて仕様だから
941デフォルトの名無しさん:2007/08/14(火) 23:35:25
ネカマだと文字化けする仕様になっている.
942デフォルトの名無しさん:2007/08/15(水) 01:44:09
ほんと女には弱いんだから
おまえら…
943デフォルトの名無しさん:2007/08/15(水) 03:09:23
  _  ∩ 
( ゚∀゚)彡 おっぱい!おっぱい! 
 ⊂彡 
944デフォルトの名無しさん:2007/08/15(水) 07:48:50
───アタシの名前はアイ。心に傷を負った女子高生。モテカワスリムで恋愛体質の愛されガール♪
アタシがつるんでる友達は援助交際をやってるミキ、学校にナイショで
キャバクラで働いてるユウカ。訳あって不良グループの一員になってるアキナ。
 友達がいてもやっぱり学校はタイクツ。今日もミキとちょっとしたことで口喧嘩になった。
女のコ同士だとこんなこともあるからストレスが溜まるよね☆そんな時アタシは一人で繁華街を歩くことにしている。
がんばった自分へのご褒美ってやつ?自分らしさの演出とも言うかな!
 「あームカツク」・・。そんなことをつぶやきながらしつこいキャッチを軽くあしらう。
「カノジョー、ちょっと話聞いてくれない?」どいつもこいつも同じようなセリフしか言わない。
キャッチの男はカッコイイけどなんか薄っぺらくてキライだ。もっと等身大のアタシを見て欲しい。
 「すいません・・。」・・・またか、とセレブなアタシは思った。シカトするつもりだったけど、
チラっとキャッチの男の顔を見た。
「・・!!」
 ・・・チガウ・・・今までの男とはなにかが決定的に違う。スピリチュアルな感覚がアタシのカラダを
駆け巡った・・。「・・(カッコイイ・・!!・・これって運命・・?)」
男はホストだった。連れていかれてレイプされた。「キャーやめて!」ドラッグをきめた。
「ガッシ!ボカッ!」アタシは死んだ。スイーツ(笑)
945デフォルトの名無しさん:2007/08/15(水) 08:54:05
>>927
>switch文的な分岐をしようとすると
それが間違っているかもしれない。
946デフォルトの名無しさん:2007/08/15(水) 09:54:20
>>927
マップ型オブジェクトでも使ってろ
947デフォルトの名無しさん:2007/08/15(水) 10:36:12
ウザい。氏ね。、
948デフォルトの名無しさん:2007/08/15(水) 11:19:00
夏ですな
949デフォルトの名無しさん:2007/08/15(水) 11:41:57
>>948
有名な話だけど恒星で炭素12が存在できるのはベリリウム8とヘリウム4の合計エネルギーレベルが
ほんのわずかに炭素12より下回っているおかげで、しかも恒星中心部ではそれよりわずかに高い温度の状態。
このおかげで炭素12は形成され存在できる。
でもできた炭素12はすぐにヘリウム4と衝突し酸素16が形成されるがその反応速度が速すぎれば
すべての炭素12は酸素16になってしまう。しかしここでも炭素12とヘリウム4の合計エネルギーレベルが
酸素16よりもほんのわずかに上回っており、結果、酸素16を作りつつ炭素12も生き残ることができる。
この奇跡的な偶然のおかげで生命の素である重要な元素が宇宙に存在している。
950デフォルトの名無しさん:2007/08/15(水) 12:09:02
KY
951デフォルトの名無しさん:2007/08/15(水) 12:32:23
教えてください。
現在solaris10でPlone、MySQLを使おうとしています。
Plone-2.5.2バイナリ版付属のPython-2.4.4でMySQL-python-1.2.2を
build、installしたのですが、

# python
>>> import _mysql

とすると、

ImportError: ld.so/1: python: 重大なエラー: 再配置エラー: ファイル
/home/zope/.python-eggs/MySQL_python-1.2.2-py2.4-solaris-2.10-i86pc.egg
-tmp/_mysql.so: シンボル mysql_autocommit: 参照シンボルが見つかりません。

といわれます。何が問題なのでしょうか?
952デフォルトの名無しさん:2007/08/15(水) 12:47:53
日本のPloneコミュニティが一番の問題.
953デフォルトの名無しさん:2007/08/15(水) 12:57:28
python って = 演算子のオーバーロードできないんですか?
954デフォルトの名無しさん:2007/08/15(水) 13:00:29
>>952
DjangoとかTGとか、Web関係全般だろ
955デフォルトの名無しさん:2007/08/15(水) 13:02:04
>>954
他を巻き込まないでよ、Ploneコミュニティの中の人。
956デフォルトの名無しさん:2007/08/15(水) 15:57:54
>953

できないんじゃないかな。==じゃないよね?
957デフォルトの名無しさん:2007/08/15(水) 16:08:10
アトリビュートへの代入ならオーバーライドできる。
958デフォルトの名無しさん:2007/08/15(水) 16:52:29
pythonで
ttp://ist.ksc.kwansei.ac.jp/~miwa/img/ComplexNetwork.gif
にあるようなネットワーク(グラフ)構造を描画したいのですが該当するライブラリご存知ないでしょうか?
959デフォルトの名無しさん:2007/08/15(水) 17:05:24
パイソンチャレンジのレベル一を見て、
何をすればいいかわからない俺は無能ですか?
960デフォルトの名無しさん:2007/08/15(水) 17:31:03
>>959です

ちょっと調べてきたが、
Python使わずにとこうとしている奴らがいるな
ばかだなあ
961デフォルトの名無しさん:2007/08/15(水) 17:41:53
>>595
間違いなく無能。
962デフォルトの名無しさん:2007/08/15(水) 17:43:51
Pythonの高速化ツールって、今のところPsycoぐらいなの?
ソースコードに手を加えずに速くなれば一番理想的なんだけど・・・・exeなりなんなりの実行ファイルにしてくれるやつって、あれは速くなるの?
963デフォルトの名無しさん:2007/08/15(水) 18:18:59
>>956
やっぱダメですかー
文字列クラスのサブクラスをつくりたいんだけど、

class enhancedString(...):

... に string って書いてもモチロンダメだし、
みなさんどうやってるんだろう。

まぁメンバに文字列持たせてやればある程度できた
んですが、

es = enhancedString()
es = "a"

ってのができない。。。(文字列型 'a' になっちゃう)
964デフォルトの名無しさん:2007/08/15(水) 18:25:55
ルパンは963から大切なものを奪ってゆきました。
965デフォルトの名無しさん:2007/08/15(水) 18:33:56
わざわざサブクラスにしなくてもいいんでないの
966デフォルトの名無しさん:2007/08/15(水) 18:35:17
ふつー classの先頭は大文字じゃないか、という問題はさておき

es = enhancedString("a")

じゃね?



967デフォルトの名無しさん:2007/08/15(水) 18:37:41
んなことわかってる。真面目な回答を希望する。
968デフォルトの名無しさん:2007/08/15(水) 18:39:33
>>962
Pythonのコードを高速化する方法
1. 効率のよいコードを書く
2. psyco で最適化しやすいコードを書く
3. C で書く
969デフォルトの名無しさん:2007/08/15(水) 18:39:52
まず、静的型付け言語と動的型付け言語について学んではどうかな。
970デフォルトの名無しさん:2007/08/15(水) 18:41:06
>>954
>>>952
>DjangoとかTGとか、Web関係全般だろ

ZOPE/PLONE国内コミュの香ばしさは別格wwwwwwwwwwwwwwwwwwwww
971デフォルトの名無しさん:2007/08/15(水) 18:43:50
>>963
よくわからんが、strを継承したいんなら
class mystr(str):
でいいんでないの。そういう話じゃない?
古いPythonなら、strから直接継承できなくて、UserStringとかをつかう
必要があるかも知れん
あと、= はPythonではoperatorではないし代入は式ではない

なんか意味が良くわからんので、見当違いなレスになってたらスマソ
972デフォルトの名無しさん:2007/08/15(水) 19:07:07
>>967
>んなことわかってる。真面目な回答を希望する。

こんなクソみたいな態度取る夏厨に真面目な解答する奴なんていないだろ、常識的に考えて。
973デフォルトの名無しさん:2007/08/15(水) 20:40:28
>958
graphvizは? pythonから使えるのかしらないけど
974デフォルトの名無しさん:2007/08/15(水) 22:58:11
>>958
これ使えそうじゃない?
ttps://networkx.lanl.gov/wiki
975デフォルトの名無しさん:2007/08/16(木) 00:47:32
>>963

es = "a"

pythonではこの文の意味は、esを文字列"a"にする以外の意味には絶対にならない。
>>966の言うように
es = enhancedString("a")
とかするのが普通のデザインと思われ
あとは、まあ、
es = enhancedString()
es.setStr("a")
とか、・・・
976デフォルトの名無しさん:2007/08/16(木) 07:53:17
みなさんいろいろどうもありがとう。

enhancedString は

class EnhStr(object):
    def __init__(self, arg):
        self.__str   = arg
    def __add__(self, v): return self.__str + v
    def sets(self,v): ...
    def gets(self): return self.__str
    def dels(self): del self.__str
    ...
    __slots__ = ('__str', '__fsenc')
    string = property(gets, sets, dels, "string property.")

な感じで使ってみることに。(__add__だけオーバーロードしてもアレですが・・・)

これで

e = EnhStr("a")
e.string = "b"

とかできるようですね。

1.5.2以来あまりつかってなかったので new-style class はいろいろできて楽しいです。
977デフォルトの名無しさん:2007/08/16(木) 11:03:14
>>971
> あと、= はPythonではoperatorではないし代入は式ではない
なるほど・・・lambda やリスト内包に書けないのも確かそういう理由だったっけ。

>>976 にも書きましたが
C++ あがりなのでつい = を再定義したくなりましたが止めます。
継承万歳時代のOOPを勉強したので最近のがあまり理解できてません。
978958:2007/08/16(木) 11:29:02
アドバイスありがとございます。
>>973
graphvizはpydocってのでラッパーすると使えるみたいですので調べてみます。
>>974
まさしく見た目がこんなの探してました。
知らないライブラリだったので調べてみます。
979デフォルトの名無しさん:2007/08/16(木) 18:00:13
for x in lines:

のようなループで、x を処理後なんらかのリトライをしたくなり、
つぎのループ開始で同じ x を処理するためにイテレータに値を
押し戻すような処理ってできますか?
(意味不明・・・?)
ループカウンタ使えば
for (int i=0; i < 10; i++) {
if (a[i] == 1) { i--; continue; }
}
のような感じなのですが・・・・。
Itertool というライブラリが死ぬほど便利だと聞いたので見てみた
のですが、そういうのはないようで・・・。
980デフォルトの名無しさん:2007/08/16(木) 18:32:26
ところでPIL+Pygameで作ったときは
PILで画像表示とか読み込みするよね

PILのshow()だと効率が悪いらしい
代替策おしえてください
981デフォルトの名無しさん:2007/08/16(木) 21:42:00
>979

自分でイテレータ(のラッパ)を作ればできるよ。
化けたらごめん↓

class PushableIteratorWrapper:
    def __init__(self, ii):
        self._ii = iter(ii)
        self._pushBuf = []
        return
    def __iter__(self):
        return self
    def next(self):
        if self._pushBuf:
            return self._pushBuf.pop(0)
        return self._ii.next()
    def push(self, x):
        self._pushBuf.insert(0, x)

982デフォルトの名無しさん:2007/08/16(木) 22:33:13
                私のおじいさんがくれた初めての木馬
   .
        (・ω・`)    それは三角木馬で、私は4才でした。
    (・ω・) (====)     突き刺さるような刺激のなかにも、高級木材の暖かみがあり、
   ___(===) ( ⌒) ) . .  こんな素晴らしい木馬をもらえる私は、きっと特別な存在なのだと感じました。
 /\ `J   ̄`J ̄\  今では、私がおじいちゃん。孫にあげるのはもちろん三角木馬。
  ̄ ̄ ̄ ̄| | ̄ ̄ ̄ ̄ . なぜなら、
         | |
       / \       彼もまた特別な存在だからです。
983デフォルトの名無しさん:2007/08/17(金) 01:31:52
>>981
ありがとうございます!

__iter__ かなるほど・・・。
984デフォルトの名無しさん:2007/08/17(金) 11:29:09
985デフォルトの名無しさん:2007/08/17(金) 20:20:18
Opening Python Classes | Ian Bicking: a blog
ttp://blog.ianbicking.org/2007/08/08/opening-python-classes/
986デフォルトの名無しさん:2007/08/18(土) 13:33:16
>> 985
くだらね。
987デフォルトの名無しさん:2007/08/18(土) 19:55:26
決まったファイルをバックアップしたいだけだから、わざわざプログラムにせんでも、
バッチファイルでいいじゃんと思ったら、今ではbatkeyすらないのね。
いつかはpythonで、GUIスキンでオプション設定できるのを書けるようになりたい。
988デフォルトの名無しさん:2007/08/18(土) 20:48:03
>987
Windowsのバッチファイルでユーザ入力が欲しいってことなら
SET /P 変数名=プロンプト文字列
で文字列が入力出来るが。
989デフォルトの名無しさん:2007/08/19(日) 01:37:41
代替あるの知らなかった、指摘ありがとう。
HELP見たらいろいろ詰め込みすぎで、すごい難しくてdosの面影無くて驚いた。
変数受け取れるなら、バッチじゃなく普通のプログラム的に考えて使えそう。
990デフォルトの名無しさん:2007/08/20(月) 10:03:56
新スレが自演臭いクソオタに占拠されている件。
991デフォルトの名無しさん:2007/08/21(火) 17:33:43
992デフォルトの名無しさん:2007/08/22(水) 19:10:08
Wii
993デフォルトの名無しさん:2007/08/22(水) 20:01:59
Wii
994デフォルトの名無しさん:2007/08/22(水) 22:24:16
iiW
995デフォルトの名無しさん:2007/08/23(木) 04:47:20
WiiW
996デフォルトの名無しさん:2007/08/23(木) 08:58:42
>>991
>>>2
>>まだPythonに深入りしてない人向けの紹介記事。
>ry
>>On Python
>>http://www.shido.info/py/
>
>正直ねえよwwwwwwwwwwwwww

じっさい、紫藤って名前はオタくさいですね.
997デフォルトの名無しさん:2007/08/23(木) 23:54:39
Weei
998デフォルトの名無しさん:2007/08/23(木) 23:57:12
wWw
999デフォルトの名無しさん:2007/08/24(金) 08:16:07
?
1000デフォルトの名無しさん:2007/08/24(金) 08:17:23
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。