全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50
【書き方は】Pythonのお勉強 Part19【一通り】

1デフォルトの名無しさん2007/06/06(水) 02:36:20
前スレ
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デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/06/06(水) 03:05:49
なぜスレタイの前後をいちいち書き足すんだ

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

ttp://www.python.jp/Zope/workshop/200706
19デフォルトの名無しさんsage2007/06/07(木) 04:10:50
2byteかっこが厨な気が
20デフォルトの名無しさんsage2007/06/07(木) 04:12:35
はじめての厨〜
21デフォルトの名無しさんsage2007/06/07(木) 09:53:37
>>19
3バイトかも知れないぜ
22デフォルトの名無しさんsage2007/06/07(木) 15:41:07
sage
23デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/06/07(木) 20:31:29
訂正。Chapter 15: Distributed Programming は
日本語版にもChapter 15. 分散プログラミングとして収録される模様
25デフォルトの名無しさんsage2007/06/07(木) 20:32:41
日本語なんて # -*- coding: shift_jis -*- とか1行書けばいい話だけだよな
26デフォルトの名無しさんsage2007/06/07(木) 21:11:49
-*- って何なの?
27デフォルトの名無しさんsage2007/06/07(木) 22:03:44
>>26
そんなこと恥ずかしくって言えない(>。<)
28デフォルトの名無しさんsage2007/06/07(木) 22:07:18
(>*<)
29デフォルトの名無しさんsage2007/06/07(木) 22:42:14
>>26
Emacs使ってなけりゃ関係ない。
30デフォルトの名無しさんsage2007/06/07(木) 22:45:54
原書から一部カットして販売ってよくあるのか?
31デフォルトの名無しさんsage2007/06/07(木) 22:53:13
Chapter 18〜20 は、本当にカットして大丈夫か??
32デフォルトの名無しさんsage2007/06/07(木) 23:26:30
その程度の価値しかないってことだよ。
原書嫁。
33デフォルトの名無しさんsage2007/06/07(木) 23:41:18
>>29 ??
34デフォルトの名無しさんsage2007/06/08(金) 00:52:40
>>33

emacs使っていて??なら、それでもいいんでね。
大抵は間違えないし。
35デフォルトの名無しさんsage2007/06/08(金) 00:54:04
いや、Pythonインタプリタも見ているのでは? -*-
36デフォルトの名無しさんsage2007/06/08(金) 00:58:46
ほんとかよ
37デフォルトの名無しさんsage2007/06/08(金) 01:05:16
厳密な解釈方法をどっかでみた。結構賢く分析してた
38デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/06/08(金) 08:31:58
>>31
だよな。
俺的には一番読みたい部分だ。
40デフォルトの名無しさんsage2007/06/08(金) 08:34:18
あきらめて原書読むよ。
41デフォルトの名無しさんsage2007/06/08(金) 08:36:35
難しそうなところばっかりカットされてね?
翻訳やってる奴のレベルがアレなのかな。
42デフォルトの名無しさんsage2007/06/08(金) 10:51:49
1ページいくらで翻訳代もらってるから、
難しいところは割に合わない、となる。
43デフォルトの名無しさんsage2007/06/08(金) 11:25:48
16-20章に興味のあるような人はとっくに原書やSafariで読んでるだろうから
そういう章はカットしてお手ごろなサイズと価格でご提供、ってことでしょ。
Rubyクックブックもそういう理屈で再編集されてた。

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

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

57デフォルトの名無しさんsage2007/06/09(土) 02:16:05
>>55
そういう風に言うから荒れるのであって、
ま、穏健に行こうや。
58デフォルトの名無しさんsage2007/06/09(土) 03:55:58
大丈夫。スルースキル高いからね、ここ。不幸な歴史のおかげで…
59デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/06/10(日) 18:12:15
>>55の意見はpythonスレでは荒れないと思うよ。
なぜならrubyの人はみてないからね
61デフォルトの名無しさんsage2007/06/10(日) 18:32:12
スルーできない言い訳
62デフォルトの名無しさんsage2007/06/10(日) 18:32:55
Ruby使ってる人でも見てる人は結構いるでしょ
あと荒らす人はRubyもPythonもロクに使ったことのない人
63デフォルトの名無しさんsage2007/06/10(日) 19:11:10
pythonはそろそろ中〜上級者向けの書籍がほしいな。
みんpyにしても、IronPy本にしても、半分以上が言語解説+標準ライブラリ入門記事で、
正直購入する気になれない。
GUI + DB+ネットワーク本とか出したら売れると思うのに。
64デフォルトの名無しさんsage2007/06/10(日) 19:34:06
そのレベルのひとはわざわざPy本でそんなの見なくても自分で出来てしまうからじゃないかな
必要なのは入門書までで充分なんぢゃ
65デフォルトの名無しさんsage2007/06/10(日) 19:57:15
>>63
ttp://wiki.python.org/moin/PythonBooks

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

ただ、Python界隈はマニュアルやドキュメントが充実してるから
わざわざ本を買うのは割りに合わないかもしれない。
66デフォルトの名無しさんsage2007/06/10(日) 20:27:09
>>63
ネットで十分なんじゃないかな。それに、ドキュメントなんか
基本的なことだけちょっと読んで、あとは自分で何か作って
覚えた方がいいと思う。
67デフォルトの名無しさんsage2007/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つづきsage2007/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 を作ると起動できない。ということみたいですが。
どうしたら解決できるんでしょうか・・・?
6967sage2007/06/10(日) 21:36:42
>>68 の(9) は無視してください。
70682007/06/10(日) 21:55:28
連投すみません。 >>68 の w3popen.exe は、 w9xpopen.exe の間違いでした。
age。
71デフォルトの名無しさんsage2007/06/10(日) 21:57:42
きょう‐じゅ【教授】 ケウ‥
(1)学術・技芸などを教えること。養護・訓練とならぶ教育上の基本的な作用とされる。
(2)大学・高等専門学校など高等教育の学校で、専門の学術・技芸を研究し教える人。
その官名または職名。「医学部―」→教諭。

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

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

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

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

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

>>71
ご教示ありがとうございます。
75デフォルトの名無しさんsage2007/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
7667sage2007/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デフォルトの名無しさんsage2007/06/11(月) 03:47:17
>>73
教示するでも教授するでも教えるには違いないけど、どう教えるのかが違う。
教授するってのは、師匠が弟子に教えるような、そんな教え方のこと。

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

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

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

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

結果: 文字化け

環境は python2.5
92デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/06/12(火) 22:44:49
>>91
ユニコード使えば楽にできる。

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

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

どこが一字変数なのか。
110デフォルトの名無しさんsage2007/06/13(水) 06:16:44
あれは一時変数のtypoだよ。
にしても>>106の的外れっぷりにワロタ
111デフォルトの名無しさんsage2007/06/13(水) 08:26:42
dir(__builtins__)
の内容くらいは使わないようにしたいところやね
112デフォルトの名無しさんsage2007/06/13(水) 08:56:56
墓穴を掘っている姿にあきれる♪
113デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/06/13(水) 10:41:51
エディタの支援もそうなんだけど
実行時に __builtin__ の定義が上書きされたら warning 出すって
機能はあると良さそうだね

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

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

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

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

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

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

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

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

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

Windows用ゲームソフト 予価5,800円(税込) 9月31日発売予定
136デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/06/14(木) 23:42:08
>>137
残念でした。

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

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

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

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

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

とか

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

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

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

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

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

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

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

そして名前に対して( )を付けると
名前にbindされた呼出可能なオブジェクトの機能を呼び出す、か。
157デフォルトの名無しさんsage2007/06/15(金) 12:06:08
>>156
That's it !!
158デフォルトの名無しさんsage2007/06/15(金) 12:36:30
今、酷い自演を見た
159デフォルトの名無しさんsage2007/06/15(金) 12:40:48
158 みたいに name も bind も分からないようなアホが
str を変数と呼びたくなる気持ちはよく分かる.
こういうクソ馬鹿に限って reference についてもよく理解できないで
はまったりするのだろう.
160デフォルトの名無しさんsage2007/06/15(金) 12:46:42
これが永久凍土ってやつですか?
161デフォルトの名無しさんsage2007/06/15(金) 14:33:52
>>160
That's it !!
162デフォルトの名無しさんsage2007/06/15(金) 14:38:12
>>60
荒れましたが何か。
163デフォルトの名無しさんsage2007/06/15(金) 14:54:10
「アホ」や「馬鹿」もNGワードにしてみようかな・・・
164デフォルトの名無しさんsage2007/06/15(金) 14:55:23
>>160,161
今,酷い自演を見た
165デフォルトの名無しさんsage2007/06/15(金) 15:46:26
少なくとも一人は生きてるだけで迷惑な卑しいのがいる
2chでしか憤懣を発散できないのかねー
166119sage2007/06/15(金) 17:15:21
>>148
おー、分かりやすい説明!納得。
ありがとうございます。
167デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/06/15(金) 18:12:27
うぜえよ
170デフォルトの名無しさんsage2007/06/15(金) 18:32:39
119君は全然分かってないと思うよ(www
171デフォルトの名無しさんsage2007/06/15(金) 23:27:05
まあ深くて長い Python 使いへの道の第一歩という事で
最初から多くを求めるのは無理があるよ

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

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

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







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

で、ElementTreeはUTF-8、UTF-16、ASCIIなら問題なく読める。
ただShift_JISだと、ElementTreeが内部で使ってる
expatパーサに食わせる時点でエラーになるはず。
192デフォルトの名無しさんsage2007/06/16(土) 10:43:20
そもそも XML は UTF-8 と UTF-16 以外への対応はオプションなので
他人の作ったモジュール使ったりする気があるなら UTF-8 か UTF-16
にしておかないとまずいよ
193デフォルトの名無しさんsage2007/06/16(土) 10:59:38
>>190
文盲はPythonやらなくていいよ.
>>184
194デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/06/17(日) 10:33:41
dict.get(key, default)
とおなじように
list.get(index, default)
というのはありませんか。
if len(lst) > n:
  item = lst[n]
else:
  item = deafult
と書くのが面倒なので。
196デフォルトの名無しさんsage2007/06/17(日) 11:54:38
>>195
dict(enumerate(list)).get(key, default)
197デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/06/17(日) 15:26:14
最初から例外使えばよい気がする。
199デフォルトの名無しさんsage2007/06/17(日) 16:19:27
>foo bar baz
意味わかってつかってるのか?
でなければ痛々しいだけだ
200デフォルトの名無しさんsage2007/06/17(日) 16:32:07
>>199
>>197じゃないがぜひ「意味」を教えてくれ
201デフォルトの名無しさんsage2007/06/17(日) 17:06:08
>>200
元々は中国明代の言葉で「風羽蓮」のこと。
清の時にはとっくに使われなくなってたんだけど、アロー戦争後の反清運動の気運のなかで、
明の文化への回帰運動が起こり、「永楽大典」に載ってたのが流布した。
意味は「疾風の如く進み、鳥羽のように繊細に、蓮花のように高潔に。」
(ちなみに、蓮は仏陀の象徴ね。)

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

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

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

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

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

その処理を「10進数を2進数の文字のあつまりにかえる」と表現してるうちは
そのことが分かっていない。
「数を2進数の文字のあつまりにかえる」ならまあいい。
224デフォルトの名無しさんsage2007/06/18(月) 13:13:01
しかし、「n進数で表現された文字列を10進数に一発で変換する」方法は用意されてるんだから
その逆を一発変換する簡単な方法も用意されていいと思うけどね。
225デフォルトの名無しさんsage2007/06/18(月) 13:18:30
10進数に変換する?
数値に変換するだけっしょ。
226デフォルトの名無しさんsage2007/06/18(月) 15:13:47
>>> int('1100', 2)
12
227デフォルトの名無しさんsage2007/06/18(月) 17:26:56
だからそれは
>「n進数で表現された文字列を10進数に一発で変換する」
であってその逆が欲しいんじゃないの?
228デフォルトの名無しさんsage2007/06/18(月) 17:30:00
これが永久凍土ですか。
229デフォルトの名無しさんsage2007/06/18(月) 17:49:44
>>226>>225に対して書いた
230デフォルトの名無しさんsage2007/06/18(月) 18:07:46
それは225を傍証する意味で書いたの?
反証する意味で書いてたらアホだね。12ってなんだか分かってる?
231デフォルトの名無しさんsage2007/06/18(月) 18:08:32
今回はワンライナーが出てこなかった。
232デフォルトの名無しさんsage2007/06/18(月) 19:46:01
ここは裁判所じゃねー
233デフォルトの名無しさんsage2007/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
234いや、こんなページがあるということを発見して驚いただけなんだがwsage2007/06/18(月) 22:06:18
> 12ってなんだか分かってる?

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

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

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

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

str は「__call__すると文字列が返ってくる」何かだ。
わかったか。
243デフォルトの名無しさんsage2007/06/19(火) 01:58:05
いや、今str()の話だから。
244デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/06/19(火) 05:07:22
そうです。
文字列でそんな処理できますかね?
247デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/06/19(火) 05:29:54
ありがとうございます。
はじめたばっかりで命令がよく把握できてないんですけどググりながら理解できるようにします。
251デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/06/19(火) 06:03:14
すみませんもう一つお願いが。
整数のリストの値を全て二乗する方法と
同じく整数のリストの中から3の倍数だけを取り出す方法を教えてください。
リストの概念はわかってきたんですが、どうもその使い方がいまいち掴めなくて・・・
253デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/06/19(火) 06:18:03
うは、書いてる途中で送ってしまった・・・orz
255デフォルトの名無しさんsage2007/06/19(火) 06:29:15
なるほど、内包で処理を行うにはfor in 命令を使うんですね。
ありがとうございました。
256デフォルトの名無しさんsage2007/06/19(火) 09:53:46
入門書嫁。
257デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/06/19(火) 14:28:07
質問の条件嫁
259デフォルトの名無しさんsage2007/06/19(火) 15:15:55
import re, string
re.findall("[A-Z]", string.ascii_uppercase)
260デフォルトの名無しさんsage2007/06/19(火) 15:26:31
import string
[x for x in string.printable if 'A' <= x <= 'Z']
261デフォルトの名無しさんsage2007/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のお約束なんだろうなということはわかるのですが、何か理由があるなら知りたいのです。
262261sage2007/06/19(火) 16:12:48
あ、__init__のcontentsは、実引数名がメンバ名(というのでしょうか?)とかぶってますね・・・
263デフォルトの名無しさんsage2007/06/19(火) 16:13:38
defを極力一般化するためでは? self.
264デフォルトの名無しさんsage2007/06/19(火) 16:18:03
http://python.matrix.jp/columns/misunderstanding.html#self-oop
265261sage2007/06/19(火) 16:23:04
>>262 仮引数名の間違いでした・・・

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

>>264 理解しました。メソッド内コードのselfには意味があるのですね。
266デフォルトの名無しさんsage2007/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
>>261
FAQです。
http://www.python.org/doc/faq/general/#why-must-self-be-used-explicitly-in-method-definitions-and-calls
269デフォルトの名無しさん2007/06/19(火) 18:46:27
コロンの件もFAQでした。
http://www.python.org/doc/faq/general/#why-are-colons-required-for-the-if-while-def-class-statements
270デフォルトの名無しさんsage2007/06/19(火) 20:32:26
メンバの完全なカプセル化を実装しないのも、「あえて」なのかね。
これはスコープが足りない(増やしたくない)から、「やむなく」という気もしないでもない。
271デフォルトの名無しさんsage2007/06/19(火) 21:19:10
>>266
お前はtrueとかfalseとかnilとかでもそう思うのか?思わないだろ。
272デフォルトの名無しさんsage2007/06/19(火) 21:47:16
マナーによるカプセル化
273デフォルトの名無しさんsage2007/06/19(火) 22:11:53
そんなことより聞いてくれ>>1よ、おっぱいスレとあんまり関係n
274デフォルトの名無しさんsage2007/06/19(火) 22:24:28
>>271
そいつらグローバルスコープじゃん
275デフォルトの名無しさんsage2007/06/19(火) 22:32:03
低脳排除によるカプセル化。
276デフォルトの名無しさんsage2007/06/19(火) 22:44:08
>>274
そんなの関係無い。

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

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

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

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

で、「クラス指向ではない」の論拠は?また妄想?
283デフォルトの名無しさんsage2007/06/19(火) 23:56:52
アホや低脳、文盲の排除。
それが俺たちが幸せになれる道である。
284デフォルトの名無しさんsage2007/06/20(水) 00:17:54
(´・ω・`)しらんがな
285デフォルトの名無しさんsage2007/06/20(水) 01:01:52
  _  ∩
( ゚∀゚)彡 おっぱい!おっぱい!
 ⊂彡
286sage2007/06/20(水) 01:14:58
c言語の/*〜*/みたいなコメントアウトってできないの?
#打ち込むの疲れた。
287デフォルトの名無しさんsage2007/06/20(水) 01:20:17
ない
288デフォルトの名無しさんsage2007/06/20(水) 01:21:59
"""〜"""で囲む
289デフォルトの名無しさんsage2007/06/20(水) 01:22:32
KateとかKwriteだった、コメントアウトしたい部分を選択して
ctrl+Dですむんだが。
290デフォルトの名無しさんsage2007/06/20(水) 04:56:53
trueとかfalseとかnilはスコープによって内容を変えるシンボルなの?
茶漬けをraiseするとStopIterationになる京言葉みたいだな。
291デフォルトの名無しさんsage2007/06/20(水) 07:16:25
>>286
IDLEならコメントアウトしたい行を選択して Alt-3 を押す。Alt-4 で # を消せる。
Emacs の Python モードにも同様の機能がある(キーバインドを忘れた)。
292デフォルトの名無しさんsage2007/06/20(水) 09:07:57
C-#
293デフォルトの名無しさんsage2007/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.
294286sage2007/06/20(水) 11:18:37
>>287-289,291
みなさんレスありがとう
とりあえず"""〜"""でやるです。ハイ
295261sage2007/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デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/06/21(木) 22:56:30
>>296
6行目の ex を消す

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

socket.connect

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

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

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

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

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

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

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

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

こういうイベントだと(有料ならともかく)無料なら受付自体しないことが多いし。
323デフォルトの名無しさんsage2007/06/24(日) 15:36:06
>>322
なんのための申込みだよ.
324デフォルトの名無しさんsage2007/06/24(日) 16:55:25
>>322
おまえの言っていることはゴミの不法投棄と同じだ。
見付からなければいいってことだろ。
325デフォルトの名無しさんsage2007/06/24(日) 17:08:28
大学とかそんな感じじゃん、
326デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/06/24(日) 17:15:55
午前の部なら潜れなくはないだろうが、運営に今から申し込んでも大丈夫か聞くのが先だろ。

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

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

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

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

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

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

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

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

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

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

追試

をおこないます。火曜日の 18:00 に集合のこと
357デフォルトの名無しさんsage2007/06/25(月) 13:38:33
そうですか。それはおめでとうございます。
358348sage2007/06/25(月) 14:49:46
>>353 (T-T)
359デフォルトの名無しさんsage2007/06/25(月) 14:53:52
PythonでつくったCGIプログラムをサーバにuploadするとき、みなさんどんな方法でやってますか。
今はFTPつかって更新したファイルだけを手作業でuploadしているのですが、ファイルが増えてきたので面倒になりました。
できればUNIXでつかえる便利ツール教えてください。
360デフォルトの名無しさん2007/06/25(月) 14:57:36
>>359
見事にPythonに関する質問 ぽ く 見せかけてはいるがスレ違い。
361デフォルトの名無しさんsage2007/06/25(月) 15:09:57
>>359
ftp コマンドをシェルスクリプトで自動化すればいいのでは。
362デフォルトの名無しさんsage2007/06/25(月) 15:32:54
>>361
それでもいいのですが、できれば指定したディレクトリを同期化してくれたりするとうれしいのですが、
そんなツールないでしょうか。
いやきっとあると思うのですが、windows用のしか見つからなくて。
363デフォルトの名無しさんsage2007/06/25(月) 15:38:13
どうみてもスレ違いw
364デフォルトの名無しさんsage2007/06/25(月) 15:59:38
>>362
Python で自作しろよ
365デフォルトの名無しさんsage2007/06/25(月) 16:09:19
sitecopy
366デフォルトの名無しさんsage2007/06/25(月) 16:42:45
rsync
367デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/06/25(月) 21:02:36
犯人探しには格好のツールだなwwwww
369デフォルトの名無しさんsage2007/06/25(月) 22:28:54
ちゃんと仕事しろよ○○○(wwwwwwwwwwwwww
370デフォルトの名無しさんsage2007/06/26(火) 02:45:32
小数点第a位を切捨てする命令か方法って無いですかね?
四捨五入は見つかったんですが。
371デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/06/26(火) 19:47:18
math.floorを使えばもうちょっと綺麗に書けそうな
373デフォルトの名無しさんsage2007/06/26(火) 20:53:06
あえて切り捨てたい状況ってある?
普通桁が足りない場合の方が問題になるような・・・
374371sage2007/06/26(火) 21:03:47
>>372
浮動小数点数のまま処理しても正確には切り捨てられないしなー、と思って泥臭く整数で処理してみた。
(例えば3.14159は浮動小数点数では3.1415899999999999になってしまう。)

>>373
俺も切り捨てたい状況というのがワカラン。>>370さん、良かったら何に使うのか教えて下さい。
375デフォルトの名無しさんsage2007/06/26(火) 21:20:07
decimal
376デフォルトの名無しさんsage2007/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")
377376sage2007/06/26(火) 22:23:42
d = decimal.Decimal( f.__str__() )
だな。
378csage2007/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デフォルトの名無しさんsage2007/06/27(水) 15:48:19
このさい文字列でいいだろ。
"%%.%df" % a % x
380デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/06/29(金) 00:17:38
>>381
dict([(y,x) for (x,y) in d.items()])
383デフォルトの名無しさんsage2007/06/29(金) 00:17:50
クックブック(今年買った英語版・・・)では
dict([(v,k) for k,v in d.iteritems()])
384デフォルトの名無しさんsage2007/06/29(金) 00:26:23
>382, 383

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

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

もちおk (ID:IDのdictなので)
388デフォルトの名無しさんsage2007/06/29(金) 12:35:52
>>381-383
なんという偶然…
いま欲しいコードが見つかってしまった
これは間違いなく奇跡
389デフォルトの名無しさんsage2007/06/29(金) 12:53:19
                 
            / ̄\ 
           | ^o^ | 
            \_/ 
390デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/06/29(金) 21:20:01
>312-319
393デフォルトの名無しさん2007/06/29(金) 23:41:09
クックブック第2版(邦訳)やっと出るんだな
394デフォルトの名無しさんsage2007/06/30(土) 00:08:03
dankogaiが絶賛してた
395デフォルトの名無しさんsage2007/06/30(土) 00:56:50
ないないw
と思ったらほんとに褒めてるな・・・

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

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

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

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

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

コードで表してくれ
413デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/07/01(日) 06:33:30
>>414
うはwwwwktkrwwww
Pythonハジマタwwwwwwwww
416デフォルトの名無しさんsage2007/07/01(日) 10:34:42
いつもながらがきくせえなあ、もう
417デフォルトの名無しさんsage2007/07/01(日) 10:35:49
論点が4ビットシフトしたような

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

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

つっても[func(x) for x in L if gunc(x)]と書いた方が後で読みやすいと思うけど
435デフォルトの名無しさんsage2007/07/02(月) 06:28:41
おや、ここは基地外病院なのか?
スレを間違えた様だ
436デフォルトの名無しさんsage2007/07/02(月) 06:37:59
mapはlistを返すんだよな。
437デフォルトの名無しさんsage2007/07/02(月) 10:25:01
>>435
vi使いのキチガイがスレを占拠しています(wwwwwwwwwwwwwww
438デフォルトの名無しさんsage2007/07/02(月) 23:49:59
>>421です
みなさん、レスありがとうございます。
いただいたヒントを基に、解決しました。
ありがとうございました。
439デフォルトの名無しさんsage2007/07/02(月) 23:51:32
結局どうしたのか書いてくれよ
440デフォルトの名無しさんsage2007/07/03(火) 02:09:55
聞くだけ聞いて気も用も済みましたので、
わざわざ手間を掛けて還元する気はありません。
ごめんなさい。
441デフォルトの名無しさんsage2007/07/03(火) 02:30:10
ぱいそん入門者であるが、
この言語、どうも基本のデータ構造がリストっぽい気がするのだが
贅沢というか勿体ない気がして落ち着かない。
フラットな配列とハッシュだけでも大抵間に合うのに
ことさらにリストを多用することについて皆様どう思われますか
442デフォルトの名無しさんsage2007/07/03(火) 03:40:29
たぽー使えばいいだろ
443デフォルトの名無しさんsage2007/07/03(火) 04:08:06
毒を食らわば皿まで
444デフォルトの名無しさんsage2007/07/03(火) 04:37:59
>>441
富豪的で良いと思われ。
cf. http://pitecan.com/articles/Bit/Fugo/fugo.html
445デフォルトの名無しさんsage2007/07/03(火) 04:44:47
pythonのリストってa[n]って言うアクセス自体がnのサイズに対して線形時間かかってるのかなぁ?
要素数100万ぐらいだとぜんぜん実感できないんだけど、・・・
逆にわざと実感しようとしても、うちのメモリだと要素数1億以上のリストが作れないので、実験すら出来ない・・・
446デフォルトの名無しさんsage2007/07/03(火) 04:48:15
タプルは書き換えられないので、配列の代わりにはならん。
本当に、計算時間が問題になる問題なんだったら、arrayモジュールインポートしてちゃんとやった方がいいかも?(使ったこと無いけど・・・
447デフォルトの名無しさんsage2007/07/03(火) 05:08:18
Pythonのリストは所謂双方向リストではない。他の言語で言うところの可変長配列。
C++ならstd::vector、JavaならArrayList。
448デフォルトの名無しさんsage2007/07/03(火) 05:30:50
これだね。
typedef struct {
PyObject_VAR_HEAD
PyObject **ob_item;
Py_ssize_t allocated;
} PyListObject;
449デフォルトの名無しさんsage2007/07/03(火) 05:50:07
どうしても速度が気になるようになってきたら
ボトルネックを捜してコード書き換えたり
そこだけC言語で外部ライブラリ書いたり。
そこまで速度に神経質にはならないなぁ俺は。
スクリプト言語ってそんな感覚じゃね?大体。
450デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/07/03(火) 11:06:40
>>450
これはどうよ?
http://www.python.jp/pipermail/python-ml-jp/2005-January/003144.html
452デフォルトの名無しさん2007/07/03(火) 17:05:11
皆さんはどんなエディタでスクリプト書いてるんですか?
スクリプト言語は始めてなので、ぜひ参考にしたいです
453デフォルトの名無しさんsage2007/07/03(火) 17:09:20
ループ警報
454デフォルトの名無しさんsage2007/07/03(火) 17:16:05
吉本の子会社。
455デフォルトの名無しさんsage2007/07/03(火) 17:17:14
ここでメタクラスですよ。
456デフォルトの名無しさんsage2007/07/03(火) 17:43:43
使い慣れたエディタにPython用のシンタックスハイライトとコード補完が付いてるならそれ使え
そうじゃないならIDLE使っとけ
457デフォルトの名無しさんsage2007/07/03(火) 17:49:30
【エディタ】ソース何で書いてる? 1スレ目
ttp://pc11.2ch.net/test/read.cgi/tech/1164154920/l50
458デフォルトの名無しさんsage2007/07/03(火) 18:27:27
メタクラスは面白いな。
459デフォルトの名無しさんsage2007/07/03(火) 18:38:12
みんな pydocとか使ってる?
>>> import pydoc
>>> pydoc.writedoc('web.py')

no Python documentation found for 'web.py'

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

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

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

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


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

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

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

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

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

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

ほんとに八方手を尽くした?
541デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/07/12(木) 18:27:18
>>540のリンク先にある「ソースコードのエンコーディング指定」をきちんとしてあったら
そういうエラーは出るはずがないのだが・・・。

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

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

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

細かいところをちゃんと確かめなかったのが悪かったです。
お騒がせして本当にすいません。
ありがとうございました。
546デフォルトの名無しさんsage2007/07/12(木) 20:32:14
解決してよかったね。
547デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/07/12(木) 22:45:51
そんなルールないお。

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

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

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

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


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

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

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

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

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

>585

503 Service Unavailable

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

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

>>585
strscan相当のライブラリは知らないけど、字句解析の例なら
ttp://effbot.org/zone/xml-scanner.htm
個人的には正規表現使いたい場合はRubyで書いてる。
正直Pythonの正規表現はいつまで経っても覚えられないわ・・・。
598デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/07/16(月) 21:20:53
>>598
やりたい事がよくわからんが、reとスライスで何とかなりそうな予感。
602デフォルトの名無しさんsage2007/07/16(月) 21:21:21
>>600
>re.compile してできるオブジェクト(_sre.SRE_Match object)
_sre.SRE_Patternの間違いでした。

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

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

_sreだけスタティックリンクと思われる。
614デフォルトの名無しさんsage2007/07/17(火) 11:01:02
>>613
Cの_sre.cを_sre.oにしてスタティックリンクしている模様なので
pure pythonではないらしいという意味ね。
615デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/07/17(火) 13:00:25
いいよ
617デフォルトの名無しさん2007/07/17(火) 18:44:46
なんか
エラーあって、
一時間悩んで、
いったんやめて、
また起動してやったら、
ちゃんと動く。

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

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

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

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

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

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

一応、同社刊の「初めてのPython」は既に持っています。
661デフォルトの名無しさんsage2007/07/19(木) 23:16:20
リファレンスならオンラインで役目十分じゃないの?
662デフォルトの名無しさんsage2007/07/19(木) 23:34:36
そう、情報が古いので、止めたほうがいいです。
むしろクックブックとか。
663デフォルトの名無しさんsage2007/07/19(木) 23:37:12
Head Firstシリーズで出てほしいなあ。
664デフォルトの名無しさんsage2007/07/20(金) 12:04:18
本は要らんよ。毎週のように「これは使える」って新モジュールも出てくるし。
勉強の為の勉強ならそれらのソースをよく読めば良い。
665デフォルトの名無しさんsage2007/07/20(金) 12:41:46
そうそう。
本なんて無くてもPythonはできるようになる。余裕。
PythonだけできればGoogleに就職できて、使い切れないくらいのお金を手にできる。
666デフォルトの名無しさんsage2007/07/20(金) 13:07:06
Google、平均すると給料はそんなに高くないって聞いたが...
(上が青天井なのはそうだろうけどね)
667デフォルトの名無しさんsage2007/07/20(金) 14:28:52
給与はともかく得られる人脈と切磋琢磨によるスキルアップは相当なものじゃないかと思う。
668デフォルトの名無しさんsage2007/07/20(金) 14:43:31
だれか
http://hacketyhack.net/
のPython版知らない?
669デフォルトの名無しさんsage2007/07/20(金) 14:48:14
>>667
そんなのGoogleに入らなくてもできるよ。余裕。
自宅警備員が一番だよ。
670デフォルトの名無しさんsage2007/07/20(金) 15:29:24
先輩がGoogleから内定貰ってたな
面接は2日で合計6時間くらいらしい
671デフォルトの名無しさんsage2007/07/20(金) 15:33:04
日本のgoogle?
672デフォルトの名無しさんsage2007/07/20(金) 15:37:10
ttp://alfalfa.livedoor.biz/archives/51064747.html
673デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/07/20(金) 17:48:58
python-gnome2-desktop
676デフォルトの名無しさんsage2007/07/20(金) 18:28:46
キロ、メガ、ギガ、ミリなどの接頭辞を付す関数って既存のものがありますか?
例えば func(15000) で "15K" を返す、など
677デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/07/20(金) 19:23:11
>>676
そのくらい自分で作れなくてどうする
679デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/07/20(金) 20:23:29
すごいな。
みんなぐーぐるにしゅうしょくできるよ。
683660sage2007/07/20(金) 21:23:12
>661-664
遅くなりましたが回答ありがとうございました。
クイックリファレンスの購入は見送りたいと思います。
684674sage2007/07/20(金) 22:01:53
>>677

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

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

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

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

Win XP ProでPython2.5を使用しています
697デフォルトの名無しさん2007/07/22(日) 22:03:29
sprite = pygame.sprite.RenderPlain()
このspriteはGroupというデータ型らしいのですが、
これを初期化するにはどうすればいいですか?
698デフォルトの名無しさんsage2007/07/22(日) 22:17:07
>>694
リファラとかはちゃんと設定してる?
ブラウザのバージョンで蹴られているかも(目的のページが使用ブラウザを限定していれば当然そうなる)
699デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/07/23(月) 01:39:06
どうしてもよく分からないのですが、クラスは単純な関数のセットと比べてどのような利点があるのでしょうか?
変数名がかぶりづらいとか、見た目が分かりやすいとかその程度なのでしょうか?
702デフォルトの名無しさんsage2007/07/23(月) 02:13:27
関数がクラスに属していることを明示できる、とか
703デフォルトの名無しさんsage2007/07/23(月) 02:25:18
>>701
インスタンス毎に別の値を保持できる
「単純な関数のセット」が欲しいだけならモジュールで済ます方がいいよ
























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

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

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










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

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

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

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

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

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

743デフォルトの名無しさんsage2007/07/26(木) 21:01:18
MacOS X 10.4 iTerm上でipythonを実行すると、カラーで表示されるのはいいのですが、
そのせいで表示されない文字があります。
どなたか同じ環境でうまく表示されている方はいませんか。
あるいはカラー表示をやめさせる方法があれば教えてください。
744デフォルトの名無しさんsage2007/07/26(木) 21:27:34
>>743
自己レスですが、背景色と同じ色(白)で出力されていたようです。
背景色を変えたら見えました。
とりあえずこれでしのぎます。
745デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/07/27(金) 11:19:02
Pythonとmysqlでunicodeのやりとりを解説してるHPとか書籍ってない?
747デフォルトの名無しさんsage2007/07/27(金) 21:36:06
1. Pythonとunicode型とエンコーディングの解説
2. エンコーディングとmysqlの解説
に分けるとすぐ見つかるだろ。
748デフォルトの名無しさんsage2007/07/27(金) 22:15:05
>>747
すまんがバグなのか環境のせいなのか、一部で厄介な問題があるんだ。
解説しているものが少ないのもこの点を書くのが面倒だからなのかなあ・・・・
http://www.mail-archive.com/turbogears-ja@googlegroups.com/msg00098.html
749デフォルトの名無しさんsage2007/07/27(金) 22:26:40
何が問題なのかがよくわからんけど、まず自分で問題を切り分けてくれ。
pythonを使わずに、mysqlでunicodeを扱うのは上手くできてるの?
ttp://www.mysql.gr.jp/frame/modules/bwiki/?FAQ#content_1_40
750デフォルトの名無しさんsage2007/07/27(金) 22:41:09
直接や他のPHPとかの言語からは出来ています。
http://www.mail-archive.com/turbogears-ja@googlegroups.com/msg00098.html
のページの
>>>> con = MySQLdb.connect(db="bookrental", charset="utf8")
>>>> con.character_set_name()
>'latin1'
この部分のように、データベース側がどう設定されているかにかかわらずlatin1が帰ってきてしまうのです。
ググった感じでは各ソフトウエアのバージョンの組み合わせによっては上手くいくらしいのですが、組み合わせもよく分からないのです。
中にはインチキで動かしている人もいるようですが・・・・・
上手く動いている組み合わせだけでもなんとか分からないでしょうか?
751デフォルトの名無しさんsage2007/07/27(金) 22:48:40
mysql -u username -p dbnameでログインしてutf-8でためしてみれ
752デフォルトの名無しさんsage2007/07/27(金) 22:50:31
それは大丈夫だよ。
753デフォルトの名無しさんsage2007/07/27(金) 22:56:26
それは大丈夫だよ。
754デフォルトの名無しさんsage2007/07/27(金) 23:08:10
頼むから何か解説してる本とかあったら教えて!
755デフォルトの名無しさんsage2007/07/28(土) 00:06:21
use the source, luke.
756デフォルトの名無しさんsage2007/07/28(土) 08:24:58
教えてと言われても、もうちょっと問題を切り分けてくれないと、
こっちだってぐぐるしか出来ない。
で、「mysql python utf-8」ぐぐったトップのこれはだめだったのか?
ttp://perfectdice.at.webry.info/200702/article_3.html
757デフォルトの名無しさんsage2007/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デフォルトの名無しさんage2007/07/28(土) 11:34:16
http://labs.i-revo.jp/wiki/?PythonWorkshop2007
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の標準モジュールをすべて取り込みたいのですが、どうしたらいいんでしょうか。
まぁ、列挙するプログラムを書いてもいいんですが……。
7607592007/07/29(日) 09:07:49
結局どうしようもなさそうだと判断して、インストーラーにPythonを入れてしまいました。
761デフォルトの名無しさんsage2007/07/30(月) 10:20:17
違う型のデータに対して共通な処理(インクリメントとか文字列化とか)があるような場合に、
関数だと対応する型毎に名前分け(int_to_string()とかdouble_to_string()とか)したうえに、
使用時にも型毎に判断して呼びわけしなきゃならなくなるじゃん。

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

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

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

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

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

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

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

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

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

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

http://www.manner-koza.com/
824デフォルトの名無しさんsage2007/08/04(土) 17:28:16
子供は書かなくてよろしい。
825816sage2007/08/04(土) 17:46:14
おおおお!みんなありがとう!!!!
826デフォルトの名無しさんsage2007/08/04(土) 18:17:08
まだhas_key使っても怒られない?シーケンスメンバーテストより見やすいんだ…。
827デフォルトの名無しさんsage2007/08/04(土) 20:11:54
>>826
2.5は平気
828デフォルトの名無しさんsage2007/08/04(土) 22:14:11
なに、将来は怒られるようになるの?
829デフォルトの名無しさんsage2007/08/04(土) 22:35:53
Python3000 では has_key がなくなって
in 演算子のみになる予定。
830デフォルトの名無しさんsage2007/08/05(日) 01:31:30
それに伴って2.6から警告が出るようになる予定。
831デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/08/05(日) 11:33:41
右辺が多かったら、 ValueError: too many values to unpack
(展開するにあたって右辺の値が多すぎ蓮だぞゴラァーえらー)

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

多くても怒られる、少なくても怒られるw
835デフォルトの名無しさんsage2007/08/05(日) 12:53:34
エラーになるのは当たり前だろ
多すぎる分が勝手にシーケンスになって放り込まれたり
少なすぎる分が補填されるような言語はキモすぎてつかえねえよ
836デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/08/05(日) 14:40:24
>831
幻覚っていうか...

エラーにしないという発想がでてくるだけでも驚嘆に値するヨ
838デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/08/06(月) 10:49:40
re.compile('[^L]L{%d}[^L]' % a)
843デフォルトの名無しさんsage2007/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にしたいのですが,どうすればいいですか?
8458442007/08/06(月) 15:19:36
ごめんなさい,解決しました
846デフォルトの名無しさんsage2007/08/06(月) 15:20:17
a="1"
a=1
847デフォルトの名無しさんsage2007/08/06(月) 15:27:34
「数字」だと、文字なのか数値なのかあいまいだな
848デフォルトの名無しさんsage2007/08/06(月) 15:30:50
a='1'
b=eval(a)
849デフォルトの名無しさん2007/08/06(月) 16:55:58
pygameでSTG作ってる。
例えばプレイヤークラスだと、その内部で移動とか弾だしとかやるよな?
そしたら敵弾との当り判定とか、クラス外でプレイヤの位置がほしくなる。
でどうしろと?
850デフォルトの名無しさんsage2007/08/06(月) 17:05:16
>>849
でどうしろと?
 
 
 
 
 
 
 
 
 
 
つーかあたり判定が必要なオブジェクト用の基底クラスを作るんじゃね?
851デフォルトの名無しさんsage2007/08/06(月) 17:12:32
質問があいまいすぎて正しい答えになっているかどうか不安だよ。

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

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

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

w.hit(o)

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

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

ふ:
つ:
う:
pass

に見えるよ?
883デフォルトの名無しさんsage2007/08/09(木) 22:41:11
>>863
北都南希望
884デフォルトの名無しさんsage2007/08/09(木) 22:54:34
print ネームバリューや実力の割に、こう言っちゃなんだがお安く使えるしね…,
885デフォルトの名無しさんsage2007/08/10(金) 01:20:19
ブラウザによっては見えるとかはあるかも知れんが
一通りPythonやってりゃ空白→&nbsp;くらい余裕で書けるだろ?
…つーか、wiki行けば載ってるし。
886デフォルトの名無しさんsage2007/08/10(金) 01:26:00
あのwikiは微妙。
887デフォルトの名無しさんsage2007/08/10(金) 05:27:27
open('target.txt', 'w').write(open('source.txt').read().replace(' ', '&nbsp;'))
888デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/08/10(金) 08:49:50
IDLE がなんか言ってるんだからきちんと読め
891デフォルトの名無しさん2007/08/10(金) 16:31:14
画像の一部を読み込むってできる?
892デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/08/10(金) 19:43:51
あのwikiって誰が運営してる?

あんまり管理されてないっぽいが。
894デフォルトの名無しさんsage2007/08/11(土) 07:12:06
pythonって何でもできてしまうんだな、
空を飛べてしまうのかと思ってしまう勢いだ
895デフォルトの名無しさんsage2007/08/11(土) 12:36:44
Pythonじゃ空は飛べんだろ
C言語なら鼻から悪魔が出るかも知れんが
896デフォルトの名無しさんsage2007/08/11(土) 12:38:51
まあ Flying Circus だからな
897デフォルトの名無しさんsage2007/08/11(土) 12:46:03
オフィシャルサイト見ると宇宙まで行けるようだ
898デフォルトの名無しさん2007/08/11(土) 13:01:19
PILインストールできね
site-packagesに入れるだけじゃだめなのか
899デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/08/11(土) 17:04:55
ワッフルワッフル
901デフォルトの名無しさんsage2007/08/11(土) 17:06:10
ツマンネ
902デフォルトの名無しさんsage2007/08/11(土) 18:05:37
どういう設定だ
903デフォルトの名無しさん2007/08/11(土) 18:09:09
金で女の子呼んだら昔の同級生だったというせてい
904デフォルトの名無しさんsage2007/08/11(土) 18:15:22
何をしている
905デフォルトの名無しさん2007/08/11(土) 18:18:42
とりあえず>>898を答えてほしいなと願っている
906デフォルトの名無しさんsage2007/08/11(土) 18:24:45
>>905
どういう手順でインストールしたの?
907デフォルトの名無しさん2007/08/11(土) 18:37:08
zipを解凍しただけ
908デフォルトの名無しさんsage2007/08/11(土) 18:38:27
setup.pyとかついてなかった?
909デフォルトの名無しさん2007/08/11(土) 18:39:12
ある
910デフォルトの名無しさんsage2007/08/11(土) 18:42:00
じゃあ、それを動かせばいいべ。
911デフォルトの名無しさん2007/08/11(土) 18:42:35
うほっ
912デフォルトの名無しさん2007/08/11(土) 18:46:08
だがうごかない
913デフォルトの名無しさんsage2007/08/11(土) 18:48:18
>>907
Win32環境だったらインストーラのほうダウンロードしてそっち使おう。
UNIXだったらREADME読む。
914デフォルトの名無しさん2007/08/11(土) 18:51:15
ありがとう
915デフォルトの名無しさんsage2007/08/13(月) 14:41:53
pychallengeのレベル5で行き詰まったっす。
こりゃもしかして英語ネイティブな人じゃないと
解けないのでは…
916デフォルトの名無しさんsage2007/08/13(月) 16:06:52
>>915
Python Challengeをやろう!
http://pc11.2ch.net/test/read.cgi/tech/1175919288/
917デフォルトの名無しさんsage2007/08/13(月) 19:18:36
pythonの使い方、ちゅーよりpythonを使う問題を見つけるまでの
ナゾナゾがおもろいなコレ。
918デフォルトの名無しさんsage2007/08/13(月) 20:09:59
先週からpythonはじめて、python challengeをすこしやってみました。
書いたプログラムを
http://dpaste.com/
に貼り付けてみたので、>>916のスレで書いたプログラムの意見とかをお願いします。
919デフォルトの名無しさんsage2007/08/13(月) 22:59:11
横槍すみません、
Pythonで定数の定義はどうやるのでしょう。
C言語の
#define COUNT_MAX 5000 みたいな
920デフォルトの名無しさんsage2007/08/13(月) 23:01:11
count_max = 5000
921デフォルトの名無しさんsage2007/08/13(月) 23:08:39
c.f.
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/414140
922デフォルトの名無しさんsage2007/08/13(月) 23:13:03
ttp://www-06.ibm.com/jp/developerworks/linux/010706/j_l-prog2.html
923デフォルトの名無しさんsage2007/08/14(火) 00:22:23
定数の件、ありがとうございます。・・・初心者には難しいですね。

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

まあ変数に数値を定義すると書き換えが可能だとはいえ、分かるようにしておいて性善説的運用をするのがPythonの流儀だ。
たとえばCOUNT_MAX = 50000みたいに大文字とかにしておけば、怖がってだれも触らないだろ。
925デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/08/14(火) 06:11:40
>>923
そういう定数レベルの最適化がしたいならpythonを使わないのが正解
927デフォルトの名無しさんsage2007/08/14(火) 11:08:04
if command == CMD_A:
... 中略
elif command == CMD_Z: みたいに
switch文的な分岐をしようとすると1回しか使われない変数をたくさん作るので
ムダが多そうなんですが、気にするなということですね。

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

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

使用OS WinXPsp2
使用Python2.5

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

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

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

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

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

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

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

になりました。 う〜んう〜ん 規則性がわかりません。
935デフォルトの名無しさんsage2007/08/14(火) 22:18:40
うにこーどやろ
936Cの老師を目指す女sage2007/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の老師を目指す女sage2007/08/14(火) 22:36:03
×・・・IDEL
○・・・IDLE

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

できないんじゃないかな。==じゃないよね?
957デフォルトの名無しさんsage2007/08/15(水) 16:08:10
アトリビュートへの代入ならオーバーライドできる。
958デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/08/15(水) 17:41:53
>>595
間違いなく無能。
962デフォルトの名無しさんsage2007/08/15(水) 17:43:51
Pythonの高速化ツールって、今のところPsycoぐらいなの?
ソースコードに手を加えずに速くなれば一番理想的なんだけど・・・・exeなりなんなりの実行ファイルにしてくれるやつって、あれは速くなるの?
963デフォルトの名無しさんsage2007/08/15(水) 18:18:59
>>956
やっぱダメですかー
文字列クラスのサブクラスをつくりたいんだけど、

class enhancedString(...):

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

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

es = enhancedString()
es = "a"

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

es = enhancedString("a")

じゃね?



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

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

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

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

es = "a"

pythonではこの文の意味は、esを文字列"a"にする以外の意味には絶対にならない。
>>966の言うように
es = enhancedString("a")
とかするのが普通のデザインと思われ
あとは、まあ、
es = enhancedString()
es.setStr("a")
とか、・・・
976デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/08/16(木) 11:03:14
>>971
> あと、= はPythonではoperatorではないし代入は式ではない
なるほど・・・lambda やリスト内包に書けないのも確かそういう理由だったっけ。

>>976 にも書きましたが
C++ あがりなのでつい = を再定義したくなりましたが止めます。
継承万歳時代のOOPを勉強したので最近のがあまり理解できてません。
978958sage2007/08/16(木) 11:29:02
アドバイスありがとございます。
>>973
graphvizはpydocってのでラッパーすると使えるみたいですので調べてみます。
>>974
まさしく見た目がこんなの探してました。
知らないライブラリだったので調べてみます。
979デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/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デフォルトの名無しさんsage2007/08/16(木) 22:33:13
                私のおじいさんがくれた初めての木馬
   .
        (・ω・`)    それは三角木馬で、私は4才でした。
    (・ω・) (====)     突き刺さるような刺激のなかにも、高級木材の暖かみがあり、
   ___(===) ( ⌒) ) . .  こんな素晴らしい木馬をもらえる私は、きっと特別な存在なのだと感じました。
 /\ `J   ̄`J ̄\  今では、私がおじいちゃん。孫にあげるのはもちろん三角木馬。
  ̄ ̄ ̄ ̄| | ̄ ̄ ̄ ̄ . なぜなら、
         | |
       / \       彼もまた特別な存在だからです。
983デフォルトの名無しさんsage2007/08/17(金) 01:31:52
>>981
ありがとうございます!

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

じっさい、紫藤って名前はオタくさいですね.
997デフォルトの名無しさんsage2007/08/23(木) 23:54:39
Weei
998デフォルトの名無しさんsage2007/08/23(木) 23:57:12
wWw
999デフォルトの名無しさんsage2007/08/24(金) 08:16:07
?
1000デフォルトの名無しさんsage2007/08/24(金) 08:17:23
Pythonのお勉強 Part20
http://pc11.2ch.net/test/read.cgi/tech/1187317688/

\e
10011001Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
 206KB (211390Byte)
dummy_for_searchRef

DAT2HTML 0.32g Converted.