Pythonのお勉強 Part8
レス数が1000を超えています。これ以上書き込みはできません。
0001ミスターパイソン
2005/11/24(木) 13:13:49http://www.python.jp/Zope/
Python オフィシャルサイト
http://www.python.org/
まとめwiki
http://www7a.biglobe.ne.jp/~yasozumi/python/wiki/
0002ミスターパイソン
2005/11/24(木) 13:14:15http://pc8.2ch.net/test/read.cgi/gamedev/1126605105/
人生の脱北者でも使えるPythonのお勉強
2 http://pc3.2ch.net/test/read.cgi/tech/1020682294/
3 http://pc2.2ch.net/test/read.cgi/tech/1053955472/
6 http://pc5.2ch.net/test/read.cgi/tech/1104156256/
Pythonお勉強スレッド
1 http://pc.2ch.net/tech/kako/965/965815778.html
2 http://pc3.2ch.net/tech/kako/1020/10207/1020718991.html
3 http://pc5.2ch.net/test/read.cgi/tech/1068824510/
4 http://pc5.2ch.net/test/read.cgi/tech/1081312810/
5 http://pc5.2ch.net/test/read.cgi/tech/1095684242/
6 http://pc8.2ch.net/test/read.cgi/tech/1104183124/
7 http://pc8.2ch.net/test/read.cgi/tech/1125159015/
0003デフォルトの名無しさん
2005/11/24(木) 17:31:06とはどう分けるん?
0004デフォルトの名無しさん
2005/11/24(木) 20:37:02本スレ乙
0005デフォルトの名無しさん
2005/11/24(木) 22:36:14それは荒らし用
0006デフォルトの名無しさん
2005/11/24(木) 23:16:560007デフォルトの名無しさん
2005/11/25(金) 08:53:32Cygwinにログインしたらちゃんと動くけどログインしてないとコマンドプロンプトのウィンドウが一瞬点滅して即終了してしまう。
他のスクリプト言語(Ruby、PHP、Perl)はログインしてなくても動くんだけど。
原因わかる人プリーズ。
0008デフォルトの名無しさん
2005/11/25(金) 09:39:39いいんじゃないのかい?
0009デフォルトの名無しさん
2005/11/25(金) 12:12:43win版もあったんだ・・・OTZ
なんかwin版インストールしてみたらリードミーにcygwinでインストールするときの注意点書いてあるし。
(cygwin自動でやってよ・・・)
でも面倒だからwin版使うことにする。
どうもありが�d!助かった
0010デフォルトの名無しさん
2005/11/25(金) 14:09:580011デフォルトの名無しさん
2005/11/25(金) 14:21:05マジで?できれば詳しく。
と言いたいところがスレ違いなのでやっぱやめとく。
0012デフォルトの名無しさん
2005/11/25(金) 15:34:57まずCygwinかPythonかどっちか決めて遊んだ方がいいと思われ。
一応今試してみたけど
pyてょn2.4のほうはcmdで動くぞ。
0013デフォルトの名無しさん
2005/11/25(金) 15:36:13ぱいてょんorz
0014デフォルトの名無しさん
2005/11/25(金) 16:52:02逆にこっちの方を詳しく聞きたい。なんか設定したのか
00157
2005/11/25(金) 17:10:28いやwin版で十分動くんだけど(^^;
一応聞くけどconfigureで何指定した?
>>14
cygwinのsetup.exeのデフォで全部動いたよ
ある程度インストールし直しもしたけど
まあ気が向いたらcygwin側のpythonインストールもし直してまた報告しに来ます
とりあえずpythonいじり中なんで
0016デフォルトの名無しさん
2005/11/25(金) 23:34:53単にPythonを触ってみたいだけならCygwin環境はお勧め出来ない。
0017デフォルトの名無しさん
2005/11/26(土) 05:35:50単にPath通すだけで動いたよ。
>>15
Win版で動かなかったらWin版じゃない!
0018デフォルトの名無しさん
2005/11/28(月) 14:24:29'pydoc -g' を使って検索して、ドキュメントを見るのに使うブラウザは
自分で指定できるんでしょうか?
mozilla と firefox と opera を入れてるのですが、
何も指定しないと mozilla が起動します。
非力なPCなので、動作の軽い opera を使いたいのです。
0019デフォルトの名無しさん
2005/11/28(月) 15:02:45ブラウザ開いているみたい
11.1 webbrowser
http://www.python.jp/doc/nightly/lib/module-webbrowser.html
環境変数BROWSERをセットすればoperaで開くんじゃないかな?
(試してないけど)
0020デフォルトの名無しさん
2005/11/29(火) 00:16:39プログラミング初心者、ってどの程度なのかな?
他の言語の経験はあるかい? JavascriptとかPerlとか、
もし中学生より上なら、学校の授業でLOGOとかBASICとか触ったことない?
0021デフォルトの名無しさん
2005/11/29(火) 00:24:03失礼な奴だな。
もしかしたら、COBOLのスーパーハカーかもしれないぞ。
0022デフォルトの名無しさん
2005/11/29(火) 00:26:20誘導ありがとうございます
全くの初心者です
Javaの書籍の上巻(Ifとかforとか配列)をさらっと読んだ程度です
もう学生ではないです 授業ではやったかな?程度であまり覚えてません
0023デフォルトの名無しさん
2005/11/29(火) 00:39:52確かにちょっと失礼な書き方だったかも。
>>22
他言語での経験が少しあるのなら、他でも触れられているとおり、
「Pythonチュートリアル」が良いとおもいます。モニタで読むには分量が多めなので、
PDF版を印刷することをおすすめします。
http://www.python.jp/doc/release/tut/
チュートリアルの分量が多くて不安だったり、Javaなんかもう忘れちゃったよ!
というときは、「インスタント パイソン」と「インスタント ハッキング」がおすすめ。
http://www.python.jp/Zope/intro/instant_python_jp
http://www.python.jp/Zope/intro/instant_hacking_jp
0024デフォルトの名無しさん
2005/11/29(火) 00:45:50Javaも中途半端で生かせる知識が無いに等しいので;;
「インスタント〜」から勉強していこうと思います
分かりやすそうです
すごい親切にありがとうございました
0025デフォルトの名無しさん
2005/11/29(火) 01:02:01あったような気がしたんだけど、見つからない。思い違いだったのかなー。
http://thinkpython.com/
0026デフォルトの名無しさん
2005/11/29(火) 07:28:12他言語の経験があるなら,
http://diveintopython.org/
002725
2005/11/29(火) 07:33:17間違った。
>>23
他言語の経験があるなら,
http://www.diveintopython.org/
002818
2005/11/29(火) 09:04:14御指摘の通りに環境変数を指定することで、
希望のブラウザを立ち上げることが出来ました。
ありがとうございました。
# デフォルトの mozilla はどこで設定されてたのだろう?
0029デフォルトの名無しさん
2005/11/29(火) 09:32:23新しくはないけど初心者にはとても良いと思った
「Pythonで学ぶプログラム作法」
www.amazon.co.jp/exec/obidos/ASIN/4894714019
(初心者じゃなくて読んでもためになったし)
003025
2005/11/29(火) 16:24:01> 「How to Think Like a Computer Scientist」の和訳が
> あったような気がしたんだけど、見つからない。思い違いだったのかなー。
> http://thinkpython.com/
やはり思い違いだった。訳文があったのは 「科学者のための Python 入門」。
発掘してきたので一応ここに書いておくよ。
「科学者のための Python 入門」
http://web.archive.org/web/20020308213045/http://www.tc.bham.ac.uk/~koji/py4sci/index.html
原文: 「An introduction to Python for scientists」
http://starship.python.net/crew/hinsen/
0031デフォルトの名無しさん
2005/11/29(火) 19:01:15スクリプトで、range(4) と [0,1,2,3] だったらどっちを書きますか?
3以下だったら [0,1,2]と直接リストを書いた方が効率よさそうだし、
これ以上なら効率よりも range(5) と短く書けるほうが楽に思います。
0032デフォルトの名無しさん
2005/11/29(火) 20:26:220033デフォルトの名無しさん
2005/11/29(火) 20:35:41俺だったら常に range 使う。
効率気にするなら、profile や timeit なんかで計測して
本当にやる意味があるのか考慮する必要もあると思う。
0034デフォルトの名無しさん
2005/11/29(火) 20:56:18あるリストから順に値を取り出す処理で,たまたま値が 0, 1, 2, 3 なだけなら [0, 1, 2, 3] (というより (0, 1, 2, 3) ) かな.
ロジック以外の理由でコードの書き方を変えるなんて,手間も気配りもデバッグも面倒くさそう.本当に効率上がると思う?
「何千行,何万行とコードを書くようになったら大変だ」と思ってるのかもしれないけど,実際その規模のコードをメンテナンスするようになったら,逆にタイプ数の差なんてどうでもよくなると思うよ.
0035デフォルトの名無しさん
2005/11/30(水) 00:20:03もちろん、[0, 1, 2, 3]もだけど。
0036デフォルトの名無しさん
2005/11/30(水) 00:25:53では,あなたは range を使わないでどうやって範囲を表すのですか?
0037デフォルトの名無しさん
2005/11/30(水) 00:32:31xrange(4)とか(0,1,2,3)を使えって意味なんだろうか.
0038デフォルトの名無しさん
2005/11/30(水) 00:34:00だから、なるたけって。
そもそも、範囲を表すってなんの範囲?リスト?
リストだったら、
for obj in objs[3:10]:
みたいにすればいいわけだし。
当然、純粋に数字列が必要な時は絶対必要だけどね。
0039デフォルトの名無しさん
2005/11/30(水) 00:56:100040デフォルトの名無しさん
2005/11/30(水) 01:03:55for i in range(len(objs)): hoge(objs[i])
とか、格好悪いことやってたな。そういえば
0041デフォルトの名無しさん
2005/11/30(水) 04:35:04それが>>35クオリティ。
0042デフォルトの名無しさん
2005/11/30(水) 08:21:56でも前はその書き方で正しかったんじゃないの?
for i in objs: って書けても
今度はindex counter が欲しいと思ったりすることもあるし。
0043デフォルトの名無しさん
2005/11/30(水) 08:42:01正しいも何も、チームメンバーのスキルがばらばらの場合、
リストの要素を1つずつ処理するということを記述する際には、
その書き方がいい場合もあると思うが?
特にC/Java/Basic系の経験者が多い場合。
そりゃ、もっと効率というかPython的書き方もあるだろうけど、
ベタなコーディングしたほうがいい場合もある。
0044デフォルトの名無しさん
2005/11/30(水) 08:45:510045デフォルトの名無しさん
2005/11/30(水) 09:20:51インデックスカウンタが欲しいなら今は
for i, obj in enumerate(objs):
0046デフォルトの名無しさん
2005/11/30(水) 10:21:34(VBでいうとこのOptionExplicitみたいな感じ)
ローカル変数ならともかく、
クラスのメンバ変数があちこちで(クラス内部、外部含めて)作られてしまうと
さすがにソースを追いにくいです。
(selfをgrepかけて対応しているけどデバッグがキツイ。綴り、大文字小文字間違いとか)
#でも、Python脳だと、この仕様が利点なのかな?
0047デフォルトの名無しさん
2005/11/30(水) 11:35:290048デフォルトの名無しさん
2005/11/30(水) 13:00:01使ったことないけど、PyChecker はどうだろう。
http://pychecker.sourceforge.net/
でも、ところかまわず新しい変数が出現するのは文法エラーではないから
使えないような気もするなー
0049デフォルトの名無しさん
2005/11/30(水) 14:13:03__slots__の事?
class C(object):
__slots__ = ["test"]
def __init__(self):
self.test = 1
>>> c = C()
>>> c.test = 2
>>> print c.test
2
>>> c.typo = 3
Traceback (most recent call last):
File "test.py", line 37, in ?
c.typo = 3
AttributeError: 'C' object has no attribute 'typo'
0050デフォルトの名無しさん
2005/11/30(水) 14:23:05Eclipseにはいくつかプラグインがあるようですね
0051デフォルトの名無しさん
2005/11/30(水) 14:38:10IDLE
0052デフォルトの名無しさん
2005/11/30(水) 14:40:34http://pydev.sourceforge.jp/
便利なんだけど、補完が遅いことがあるのが玉に瑕
(PCのスペックが低いわけではないはず)
探せばもっと便利なプラグインもありそう
他のIDE使ってる方のお話も聞きたいです
0053デフォルトの名無しさん
2005/11/30(水) 14:41:37http://pydev.sourceforge.net/
0054デフォルトの名無しさん
2005/11/30(水) 14:46:450055デフォルトの名無しさん
2005/11/30(水) 14:59:130056デフォルトの名無しさん
2005/11/30(水) 15:15:050057デフォルトの名無しさん
2005/11/30(水) 15:45:130058デフォルトの名無しさん
2005/11/30(水) 16:06:130059デフォルトの名無しさん
2005/11/30(水) 16:58:16拡張子を.pywにするとシェルウィンドウを開かなくできる。
で、すでにidle.pywもあるはずだし、それを起動するidle.batも
あるはず。
0061デフォルトの名無しさん
2005/11/30(水) 17:08:31> osx の idle は日本語使えない。
えー。Tk自体はかなり前からUnicode(UTF-8)対応じゃなかったっけ?
フォントの設定がおかしいだけじゃないの?
0062デフォルトの名無しさん
2005/11/30(水) 17:42:00普段は2.4系をポツポツ使ってるんですけど、2.3オンリーのよさげなモジュールがあったんで・・・。
0063デフォルトの名無しさん
2005/11/30(水) 18:17:48だよな?みんな
0064デフォルトの名無しさん
2005/11/30(水) 19:10:470065デフォルトの名無しさん
2005/12/01(木) 04:03:56かな漢字変換が入らないんだよ。
0066デフォルトの名無しさん
2005/12/01(木) 10:44:42いい振りをありがとう
Ericの存在を知る機会と、IDLEの良さを見直すきっかけになったよ
0067デフォルトの名無しさん
2005/12/01(木) 13:45:34http://pleac.sourceforge.net/pleac_python/index.html
これのStringsのAccessing Substringsのとこで下みたいなやつがあるんですが
http://pleac.sourceforge.net/pleac_python/strings.html
これって「こんなことはやるな」って例なんでしょうか?
だとしたらなんでやっちゃいけないかわかんないんですがすいません教えてください
# DON'T DO THIS: In-place modification could be done using character arrays
import array
mystr = array.array("c", "This is what you have")
mystr[5:7] = array.array("c", "wasn't")
# mystr is now array('c', "This wasn't what you have")
0068デフォルトの名無しさん
2005/12/01(木) 14:19:33>Examples which translate the original Perl closely but which are unPythonic are prefixed with a comment stating "DON'T DO THIS". In some cases, it may be useful to know the techniques in these, though it's a bad solution for the specific problem.
0069デフォルトの名無しさん
2005/12/01(木) 20:18:36ありがとうございました
お手数おかけしました
0070デフォルトの名無しさん
2005/12/01(木) 23:48:470071デフォルトの名無しさん
2005/12/01(木) 23:52:150072デフォルトの名無しさん
2005/12/02(金) 00:23:00そりゃ、Linuxも同じだな。
そろそろ、PyGTKも標準で含めてくれないかなぁ。
で、IDLEをPyGTKに移植して欲しい。
0073デフォルトの名無しさん
2005/12/02(金) 01:03:29Debian Sarge の idle-python23 (idle 1.0.5) で試してみましたが、
日本語入力もprintも問題ないですよ。
0074デフォルトの名無しさん
2005/12/02(金) 01:35:37亀でスマソ(ちと、悪名高い携帯PJに飛ばされてしまって。しょっぱなから徹夜。。。orz)
それです、それ。
それがほしかった。
ありがとうございました。
007572
2005/12/02(金) 21:01:25お?Debianはできるのか。
こっちは、FC4+SCIM-Anthyだけどダメだ。SCIM-Anthyにする前も
確かダメだった気が。
うーん、よくわからん。
0076デフォルトの名無しさん
2005/12/02(金) 21:31:120077デフォルトの名無しさん
2005/12/03(土) 16:43:560078デフォルトの名無しさん
2005/12/03(土) 17:21:360079デフォルトの名無しさん
2005/12/05(月) 08:16:26FC4+uim-SKK、Python 2.4.1 IDLE 1.1.1だけども、
ファイルの編集と表示、実行は問題ないように見える。
# ただ、他のエディタでencodingを書いておいて
# 保存したのを開いた場合。他の場合はわからない。
## あと、sys.defaultencoding='utf-8'になってる。
IDLE上のPythonプロンプトはダメくさい。
# もしかしたらそういうものなのかもしれないけれども。
以下、IDLEでの結果。
>>> import sys ; print sys.getdefaultencoding()
utf-8
>>> s = "テスト" ; u = u"テスト"
>>> s
'\xe3\x83\x86\xe3\x82\xb9\xe3\x83\x88'
>>> u
u'\xe3\x83\x86\xe3\x82\xb9\xe3\x83\x88'
>>> t = unicode('テスト','utf-8')
>>> t
u'\u30c6\u30b9\u30c8'
>>> print t
テスト
0080デフォルトの名無しさん
2005/12/05(月) 18:23:02> IDLE上のPythonプロンプトはダメくさい。
> # もしかしたらそういうものなのかもしれないけれども。
それが正しい動作なんだろ。
print文以外で "テスト" とか表示できたのは、
PyJUGが出してた 「Python 2.3.4 日本語環境用インストーラ(Win32)」
くらいしかなかったはず。
print文以外でも "テスト" と表示させるようにしたいのであれば、
「0から〜」スレ#186 を参考にするといいかも。
http://pc8.2ch.net/test/read.cgi/tech/1126073956/186
0081デフォルトの名無しさん
2005/12/08(木) 23:38:200082デフォルトの名無しさん
2005/12/09(金) 13:09:50008379
2005/12/09(金) 16:06:14いや、
print文以外で"テスト"とか表示させるのは期待していないんだけども。
どっちかというと、
s = "テスト";u = u"テスト" ; t = unicode('テスト',sys.getdefaultencoding())
の結果がu == tではないのがIDLEの正しい動作なのかな、と。
0084デフォルトの名無しさん
2005/12/09(金) 17:00:07>>79と同じ環境で、site.pyを書き換えてsys.getdefaultencoding()が
utf-8を返すようにしたら、u == tはTrueになったけど。
ちなみに、s == tでもある。
0085デフォルトの名無しさん
2005/12/09(金) 17:32:240086デフォルトの名無しさん
2005/12/09(金) 20:18:120087デフォルトの名無しさん
2005/12/09(金) 20:31:50確認だけど、IDLEのシェル(対話モード)のリテラルの話をしているんだよね?
だったら多分>>83の言う通り「u != tがIDLEの正しい動作」でFA。
008879=83
2005/12/09(金) 20:50:39# site.py内のsys.defaultencodingは'utf-8'にしてある状況で
端末上だと確かにこちらでもそうなりました(s == u == t)。
IDLEの対話モードだとs != u、u != t、s == tになってます。
>>87
はい。IDLEの対話モードの話です。
どうもありがとうございます。
0089デフォルトの名無しさん
2005/12/09(金) 20:55:52[ 1061803 ] Source code encoding in IDLE console
https://sourceforge.net/tracker/?func=detail&atid=305470&aid=1061803&group_id=5470
0090デフォルトの名無しさん
2005/12/09(金) 23:11:59GJ!
009184
2005/12/10(土) 15:01:00えーと、すみません。
IDLEで実行はしたけどシェルモードではなかった...orz
それに、coding: utf-8も指定してた。
0092デフォルトの名無しさん
2005/12/10(土) 15:05:000093デフォルトの名無しさん
2005/12/10(土) 15:57:05調べてみた。残念ながら日本語のはないなー。
IDLE内臓のデバッガの説明なんかは、英語のマニュアルを読むほかない。
基本的な使い方を知るだけでよいなら、「Pygame実況中継 第一回」のムービーを見ると
良いよ。(日本語)
英語でもよければ、こんなのもあるよ。
One Day of IDLE Toying: (簡単なガイド)
http://hkn.eecs.berkeley.edu/~dyoo/python/idle_intro/
Using IDLE: (詳細なマニュアル)
http://www.python.org/idle/doc/idlemain.html
0094デフォルトの名無しさん
2005/12/10(土) 16:53:13# まあ Scintila や PyAlaMode ではすでにやってることなんだけど
ちょっとやってみた図。
http://www.uploda.org/file/uporg257566.png
0095デフォルトの名無しさん
2005/12/10(土) 17:11:210096デフォルトの名無しさん
2005/12/10(土) 17:28:42009794
2005/12/10(土) 17:44:20> 前からなかったっけ?
まじすか。sys の後に ドット. を打っただけでぴろっとリストが出てきたことに感激して
たんだけど。現行のIDLEでも何かキーを打てばできたのかな。
0098デフォルトの名無しさん
2005/12/10(土) 17:46:22その、ぴろっとリストが出てくるのもできるよ
0099デフォルトの名無しさん
2005/12/10(土) 18:36:09出てこないから使わなくなった。
IDLE だとこんなのがでる
ttp://www.uploda.org/file/uporg257658.png
ちなみに PyAlaMode だと docstring を全部表示する
ttp://www.uploda.org/file/uporg257659.png
0100デフォルトの名無しさん
2005/12/10(土) 18:41:120101デフォルトの名無しさん
2005/12/10(土) 23:54:260102デフォルトの名無しさん
2005/12/11(日) 00:15:55IDLE は key assign ができますでしょか?
0103デフォルトの名無しさん
2005/12/11(日) 00:18:460104デフォルトの名無しさん
2005/12/11(日) 00:34:56でも、本当はemacsにインテリセンスが欲しい…。
>>101
python-mode使ってる? どんな感じですか?
0105104
2005/12/11(日) 01:53:31○speedbarでクラスの内部構造とかも表示してくれるのは便利だ。
○emacs内でPythonShellも動かせて便利だ。
△デバッグとかはpdbとの連携でやるらしい(pdbは入れてない)
○手がなじんでしまったemacsでコードが書けるのがイイ!
×コード補完がない…。インテリセンスがほしい…。
知らないライブラリをあれこれ探りながらやるときには、補完機能があると
安心感がちがうんだよなー。
0106デフォルトの名無しさん
2005/12/11(日) 08:12:28いろいろと調べたのですが判りません。
0107デフォルトの名無しさん
2005/12/11(日) 09:28:530108デフォルトの名無しさん
2005/12/11(日) 10:52:50Option->Configure IDLE->key
0109デフォルトの名無しさん
2005/12/11(日) 14:31:57C:\Python24\Lib\idlelib\config-main.def
に、以下のように書いてあった
# user configuration
# -------------------
# ~/.idlerc/config-main.cfg the user general config file
# ~/.idlerc/config-extensions.cfg the user extension config file
# ~/.idlerc/config-highlight.cfg the user highlighting config file
# ~/.idlerc/config-keys.cfg the user keybinding config file
#
# On Windows2000 and Windows XP the .idlerc directory is at
#Documents and Settings\<username>\.idlerc
#
# On Windows98 it is at c:\.idlerc
0110デフォルトの名無しさん
2005/12/11(日) 17:15:55Win2K 上の python2.3/idle1.0.2 では python\lib\idlelib\ ディレクトリに config ファイルがありました。
でも、一番使う cursor の left/right, up/down の設定はできないようです。矢印キーを使いたくないならば「自分で python source なりに手をいれるべし」とのことのようです。
ありがとうございました。
0111デフォルトの名無しさん
2005/12/11(日) 17:16:580112101
2005/12/11(日) 17:18:01> python-mode使ってる? どんな感じですか?
ただのEmacsに毛が生えたぐらいの使いごこちです。
いろいろ補完してくれるのもいいんだけど、どうせjavaと違って
あまり長いキーワードはないので打っても苦になりにくいというのも
ある。(M-/とかもあるし)
xemacs -nw なのでSpeedbarとかは使ったことないや。
0113デフォルトの名無しさん
2005/12/11(日) 22:55:41http://pc7.2ch.net/test/read.cgi/software/1134298991/
0114デフォルトの名無しさん
2005/12/12(月) 00:03:58> でも、一番使う cursor の left/right, up/down の設定はできないようです。
キーバインドを Built-in Key Set の 「IDLE Classic UNIX」 にすると、
「Ctrl-p で ↑」, 「Ctrl-n で ↓」, 「Ctrl-f で →」, 「Ctrl-b で ←」
とかできてますが。
0115デフォルトの名無しさん
2005/12/12(月) 00:10:05を見て思ったんだけど、UOってあからさまにクリスマスとか書かれること無いよね?
あ、どーみてもFormosaです。ありがとうございました。
0116デフォルトの名無しさん
2005/12/12(月) 00:10:440117デフォルトの名無しさん
2005/12/12(月) 13:09:12>「Ctrl-p で ↑」, 「Ctrl-n で ↓」, 「Ctrl-f で →」, 「Ctrl-b で ←」
>とかできてますが
御指摘ありがとうございます。でも IDLE1.0.2 では出てきませんでした。version up が必要なようです。
MayaVi などが使える Enthought のパッケージを使っています。そのため python が 2.3 のままです。
2.4 との混在に挑戦すべきかと迷っています。
0118デフォルトの名無しさん
2005/12/13(火) 00:34:100119デフォルトの名無しさん
2005/12/13(火) 00:35:260120デフォルトの名無しさん
2005/12/13(火) 16:42:40dir(Obj) = [A, B,・・・] となるとき
Obj.A(), Obj.B(),・・・と実行していきたいのです。
質問を言いかえれば、メソッド名を変数に入れて実行できますか? ともなります。
for Method in dir(Obj):
Obj.Method #とか
という感じで出来ませんか?
0121デフォルトの名無しさん
2005/12/13(火) 17:25:21for name in dir(Obj):
if name[0:2] == "__": # is builtin
continue
Method = getattr(Obj, name)
if type(Method) == types.MethodType:
Method()
Obj.var = Obj.Method とかしてたらどうしよう
0122デフォルトの名無しさん
2005/12/13(火) 17:32:35なるほど、getattrってのがありました。
ありがとうございます。
0123デフォルトの名無しさん
2005/12/13(火) 17:32:46builtinの正確な定義はこうだな。
if name[0:2] == "__" and name[-2:] == "__": # is builtin
0124デフォルトの名無しさん
2005/12/13(火) 17:43:40if Method.im_self == Obj:
でok?
0125デフォルトの名無しさん
2005/12/13(火) 21:51:19if name.startswith('__') and name.endswith('__'): # is builtin
の方が良くないか。一時オブジェクトが少ないし。
0126デフォルトの名無しさん
2005/12/14(水) 15:28:19なるほど、そうだね。
0127デフォルトの名無しさん
2005/12/14(水) 15:30:41if n == 0: return
for i in range(n):
yield i
recurse(n - 1)
print list(recurse(3))
=> [0, 1, 2]
ジェネレーターと再帰関数は混ぜられないですか?
0128デフォルトの名無しさん
2005/12/14(水) 15:47:24再帰呼び出しで得られたものを yield してないのが問題なのでは。
なにを得たいか分からないんだけど、例えば recurse(n - 1) を
yield recurse(n - 1) とか for i in recurse(n - 1): yield i と
すればよい。
0129デフォルトの名無しさん
2005/12/14(水) 15:49:08誤:yield recurse(n - 1) とか
正:yield list(recurse(n - 1)) とか
0130デフォルトの名無しさん
2005/12/14(水) 15:57:23def recurse(n):
if n == 0: return
for i in range(n):
yield i
for x in recurse(n - 1):
yield x
print list(recurse(3))
=> [0, 1, 2, 0, 1, 0]
こうする以外ない(はず)。
これは、ジェネレーターのドキュメントで見たような気がする。
0131デフォルトの名無しさん
2005/12/14(水) 15:57:59recurse(n - 1)でもrecurse(3)と同じようにジェネレーターが返ってきてたわけですね。
気付いてみれば当たり前なんだけど、うっかりしてました。ムズカスィ。
0132デフォルトの名無しさん
2005/12/14(水) 21:56:17http://gonzui.sourceforge.net/sites.html
どこかにPythonのソースコード検索ができるとこないかなぁ。
0133デフォルトの名無しさん
2005/12/14(水) 23:21:11http://koders.com/
0134デフォルトの名無しさん
2005/12/14(水) 23:34:20FSwikiの生成するRSSって全然役に立たないな。
なんでdescriptionに更新時間が入ってるんだ。
あんなしょぼい情報を生成するために負荷がかかるくらいなら無い方がマシだ。
0135デフォルトの名無しさん
2005/12/15(木) 00:30:39ありがとー
0136デフォルトの名無しさん
2005/12/15(木) 00:36:15てゆーか外部からアクセスすると怒られるしねー
いや、管理人タンが悪いわけじゃない。わかってるんだ。
追記しとくとWikiのRSSなんてどれもあんなもんだよ。
0137デフォルトの名無しさん
2005/12/15(木) 00:47:280138デフォルトの名無しさん
2005/12/15(木) 01:34:59> 追記しとくとWikiのRSSなんてどれもあんなもんだよ。
ごもっとも。
FSwikiじゃロクなRSS出力できないし、負荷を気にするならあきらめなよ > 管理人タン
# Hiki並みにリッチなRSSを吐けるというなら欲しいけど
0139デフォルトの名無しさん
2005/12/15(木) 11:18:03reStructuredText で 取り消し線(HTMLでいうところのdel)を書くにはどうすればいいのでしょう?
適切なスレあったら誘導してくださいm( )m
0140デフォルトの名無しさん
2005/12/15(木) 17:20:48環境はFedora3 + Python2.4.2です。
0141デフォルトの名無しさん
2005/12/15(木) 18:04:59普通にディストリのrpmでインストールした奴は
最初っからreadline対応じゃないのか?
python起動して何か実行したあとにctrl+P(or up arrow)で
以前に実行されたコマンドが再表示されて編集できるかやってみれ
0142デフォルトの名無しさん
2005/12/15(木) 20:19:16rst QuickReference とかには載ってないね。ひょっとしてマジでないのか?
以下スレならば、もっとよく知っている人がいるかもしれない。
「UNIX板: 自分の情報整理スタイルを晒そうよ 3」:
http://pc8.2ch.net/test/read.cgi/unix/1082802636/
「ネット関係 > WebProg板: Zopeってどうよ」:
http://pc8.2ch.net/test/read.cgi/php/1079778836/
俺もreStructuredTextでのドキュメント管理に興味あるんで、なにか分かったら教えて
ほしいです。
0143デフォルトの名無しさん
2005/12/15(木) 20:44:26行編集機能が欲しいなら、IPythonをインストールするというのもアリかと。
0144デフォルトの名無しさん
2005/12/15(木) 23:37:49オススメのやつってあるかね。
IDLEでTDDはなかなかキツイ。
0145デフォルトの名無しさん
2005/12/16(金) 00:43:32EclipseのPydevにリファクタリング機能がついてるらしい。
ところで、IDLEにリファクタリング機能があるなんてのが初耳なんだが。
IDLEではどうやって使うの?
0146デフォルトの名無しさん
2005/12/16(金) 00:48:07> IDLEにリファクタリング機能がある
とは言っていないような・・・。
0147デフォルトの名無しさん
2005/12/16(金) 00:50:29eric3 もリファクタリング機能とユニットテストをサポートしてるみたい。
0148デフォルトの名無しさん
2005/12/16(金) 00:57:06マジでそう読んじゃって、「おお、IDLEスゲー」とか思いました…。
いや、IDLEでリファクタリング機能がないならないでいいんだ。はやとちりしてごめん。
IDLEにそんなのまで要求しちゃいかんな。
0149デフォルトの名無しさん
2005/12/16(金) 04:07:530151デフォルトの名無しさん
2005/12/16(金) 05:00:15readline-devel パッケージが入ってないでしょ?
readline-devel をインストールしてコンパイルすれば
支援機能が有効なPythonをコンパイルでける.
もちろん,rpm版でも別に問題無いけど.
0152デフォルトの名無しさん
2005/12/16(金) 09:23:47>EclipseのPydevにリファクタリング機能がついてるらしい。
確かにPyDevにリファクタリング機能は付いてるけど、現時点では完璧じゃないお
変数の名前変更やってみたら、中途半端に置換されて困った
0153デフォルトの名無しさん
2005/12/16(金) 12:14:410154デフォルトの名無しさん
2005/12/16(金) 14:10:090155デフォルトの名無しさん
2005/12/16(金) 17:07:31通常のシンタックスにはないみたいだけど、HTML 出力だけなら default.css に
span.del { text-decoration: line-through; }
を加えて、カスタムロール?を使えば
.. role:: del
あいうえお :del:`かきくけこ` さしすせそ
こんな感じで使うことができる
因みに .. role:: xxx をドキュメント内に記述しておくと
:xxx:`...` を <span class="xxx">...</span> に変換する
0156デフォルトの名無しさん
2005/12/17(土) 03:39:56PySol Solitaireを遊ぶための知識を伝授してください
0157デフォルトの名無しさん
2005/12/18(日) 02:14:40何とか気合でやってみた。
とりあえず。soundのエラーがでまくるのでimport pysolsoundserver
をつぶしまくる。
gamedb.pyの422行目の
if not isinstance(gi, GameInfo):
raise GameInfoException, "wrong GameInfo class"
を例外を投げずにreturn。
main.pyの250行目付近の
init audio 2)
をばっさり削除。
カードセットは下から落としてきた奴のdataフォルダの中身をsrcにぶちまければOK
http://ftp.ccc.uba.ar/download/pub/linux/debian/debian/pool/main/p/pysol/
python pysol.py --nosound
でとりあえず、最初のゲームは、できるようになった。
でも、ゲームを変えようとすると落ちるorz。
0158デフォルトの名無しさん
2005/12/18(日) 02:48:35自己レス。
ちなみにcygwinでやった。
コマンドラインから起動しようとすると失敗する。
一応、ほとんどのゲームが遊べた。
何個かのゲームが落ちるっぽい。
落ちたらcygwinのホームディレクトリの.pysolってディレクトリを消して再起動すればOKっぽい。
0159デフォルトの名無しさん
2005/12/18(日) 04:54:020160デフォルトの名無しさん
2005/12/18(日) 22:49:23引数で指定したファイル内の単語をそれぞれ数えるスクリプトを作るつもりで以下のように書いてみました。
perl の hash のつもりで、辞書を使おうと思ったのですが、エラーになってしまいます。
import sys
d = {}
for arg in sys.argv[1:]:
f = open(arg)
for word in f.read().split():
d[word] = d[word] + 1
f.close()
for word in d.keys().sort():
print word + " : " + d[word]
d[word] = d[word] + 1 の行がエラーとなり、メッセージは「KeyError」です。
辞書の使い方がまずいのかなとは、思いますが、どう書くのが正しいのか教えてください。
0161デフォルトの名無しさん
2005/12/18(日) 22:58:39かな.get()ならwordってキーが見つからなかったときの値を
指定できる.詳しくは,以下を参照してください.
http://www.python.jp/doc/release/lib/typesmapping.html
0162デフォルトの名無しさん
2005/12/18(日) 23:22:13ありがとうございます。
あと、sort()の戻り値はリストじゃなのか・・
for word in d.keys().sort():
はだめで、
keys = d.keys()
keys.sort()
for word in keys:
と、テンポラリが必要なんですね。
0163デフォルトの名無しさん
2005/12/18(日) 23:26:28sorted(d.keys())
でリストが返る
sorted(d.iterkeys())
にすると上の方より効率がよくなる
0164デフォルトの名無しさん
2005/12/18(日) 23:48:17> for word in d.keys().sort():
sort() メソッドは None を返すので、上記の行でもエラーになる。
書き換えの候補としては、
for word in sorted(d.keys()):
もしくは、
word_list = d.keys(); word_list.sort()
for word in word_list:
でしょうか。
# d.keys().sorted() とは書けない…。
# さらに sorted() はPython2.4からしか使えないらしい
参考: http://www.python.jp/pipermail/python-ml-jp/2004-September/003009.html
0165デフォルトの名無しさん
2005/12/18(日) 23:48:530166デフォルトの名無しさん
2005/12/19(月) 07:37:45sort()は値を返さないんだよな。
0167デフォルトの名無しさん
2005/12/19(月) 10:36:47mylist.sort() or mylist
と書く人もいるんだよな。mylistが変更されちゃうけど。
0168デフォルトの名無しさん
2005/12/19(月) 11:37:30sort() と sorted() もカッコイイとは言えないね
0169デフォルトの名無しさん
2005/12/19(月) 12:27:12Lispじゃないんだから。
0170デフォルトの名無しさん
2005/12/19(月) 13:18:050171デフォルトの名無しさん
2005/12/19(月) 13:24:240172デフォルトの名無しさん
2005/12/19(月) 16:17:57おまい天才だな
0173デフォルトの名無しさん
2005/12/19(月) 17:05:500174デフォルトの名無しさん
2005/12/21(水) 17:27:18>>159
回答ありがとうございます
linuxに触ったこともなく、むずかしくてだめでした
0175デフォルトの名無しさん
2005/12/22(木) 08:03:12ttp://www.oreillynet.com/pub/wlg/8821?CMP=OTC-UD6648202101&ATT=Python%20Creator%20Guido%20van%20Rossum%20now%20working%20at%20Google
ttp://groups.google.com/group/comp.lang.python/browse_frm/thread/32dc95bd671542f3/
マジ?
0176デフォルトの名無しさん
2005/12/22(木) 09:34:020177デフォルトの名無しさん
2005/12/22(木) 09:51:20他にどういった有名人がいるの?
0178デフォルトの名無しさん
2005/12/22(木) 18:52:47現役っていうと、日本人ならsatoru氏とか。
(gonzui,namazuを作ったり、最近はBinary2.0とか言いだした人)
0179デフォルトの名無しさん
2005/12/23(金) 00:09:140180デフォルトの名無しさん
2005/12/23(金) 00:50:330181さらさ ◆SARAHxmkr.
2005/12/23(金) 06:24:14>>> print number[0:5]
[1, 2, 3, 4, 5]
>>> print number[:5]
[1, 2, 3, 4, 5]
>>> print number[:-1]
[1, 2, 3, 4]
>>> print number[:-2]
[1, 2, 3]
プログラミング初心者なのでpythonで学ぶプログラミング作法という本から
読み始めたのですが、サンプルプログラムが上のように配列の要素を
取り出せる事を前提に書かれてて、それが理解できなくて物凄い自分で
色々試して苦労しました。それも勉強だと思えば価値あったのかなと思い
ますが、初心者向けにはちょっと難しいような・・・
0182デフォルトの名無しさん
2005/12/23(金) 10:18:560183デフォルトの名無しさん
2005/12/23(金) 12:14:520184デフォルトの名無しさん
2005/12/23(金) 15:31:42すみません、何が分からない(説明不足)と思われたのかが
分からないんですが...
"配列の部分(要素)を取り出す機能がありますね"、
ということの紹介みたいな部分ではないの?
0185デフォルトの名無しさん
2005/12/23(金) 17:15:22sys.stdout.write(line)
このコードを端末からインタラクティブに実行すると、
EOFを送るまでiteratorが何も返さないようで、1行
入力しても出力が表示されません。
stdinをline-bufferedにするにはどうすればいいのでしょう?
0186デフォルトの名無しさん
2005/12/23(金) 17:59:320187デフォルトの名無しさん
2005/12/23(金) 18:55:29ありがとうございます。inputだとstdin以外のオブジェクトに
適用できないんですよね。
調べてみると、fileクラスの入力iteratorをline-bufferedに
できないのはそういう仕様のようなので諦めました。それで、
1行だけ読む関数のiteratorでラップすると上手く行きました。
for line in iter(sys.stdin.readline, ''):
sys.stdout.write(line)
sys.stdout.flush()
ただ心情的にはsys.stdin.setvbuf(IOLBF)とかしたい…
0188デフォルトの名無しさん
2005/12/23(金) 21:20:04http://www.pygame.org/news.html
情報元:
http://renesd.blogspot.com/2005/12/pygames-snakey-is-covered-in-snow.html
0189デフォルトの名無しさん
2005/12/23(金) 21:39:57すごいことなのか?
0190デフォルトの名無しさん
2005/12/23(金) 23:07:06自動で呼ばないのを今日知りましたが、この設計はどういう
理由によるものなんでしょうか。
0191デフォルトの名無しさん
2005/12/23(金) 23:26:50document.write('</a>') のような JavaScript が開始タグの
イベントとして通知されてきて困っています
これを止める方法はないでしょうか?
0192デフォルトの名無しさん
2005/12/23(金) 23:36:10スクリプト内でのイベントだったらデータとみなす、とかかなあ…。
0193デフォルトの名無しさん
2005/12/24(土) 09:46:16たぶん、
PythonはC++やJavaみたいにメソッドオーバーライドができず、
コンストラクタはたったひとつしか書けないので、親クラスには
自動で呼べるコンストラクタ=引数なしで呼べるコンストラクタ
を必ず用意しなければならない、という制限はきつすぎるから
だと思う。
0194デフォルトの名無しさん
2005/12/24(土) 10:22:500195デフォルトの名無しさん
2005/12/24(土) 10:38:49うん。ごめんよ。
0196デフォルトの名無しさん
2005/12/24(土) 11:45:00その代わりメソッドに可変長引数、キーワード引数が使えるから漏れはあんまり
不便な思いはしてないですが。。
なにか決定的に不便なシチュエーションってあるんですかね?興味あります。
0197デフォルトの名無しさん
2005/12/24(土) 13:23:11自動で呼ばない
0198デフォルトの名無しさん
2005/12/24(土) 13:58:560199デフォルトの名無しさん
2005/12/24(土) 14:12:450200デフォルトの名無しさん
2005/12/24(土) 21:00:310201デフォルトの名無しさん
2005/12/24(土) 23:55:41嘘だと言ってよ父ちゃん!
>>196
たぶんこんなシチュエーション
0202デフォルトの名無しさん
2005/12/25(日) 00:06:25while data = infile.read(100):
print data
これはダメで
while True:
data = infile.read(100)
if not data:
break
print data
と書くと思うんですが、どうもしっくり来ません。
これはこういうものと割り切るしかないでしょうか?
0203デフォルトの名無しさん
2005/12/25(日) 00:35:17個人的には代入文が式を返すのは気持ち悪いです。
Delphiとか等号記号が = の言語をやってると特に。
0204デフォルトの名無しさん
2005/12/25(日) 00:36:04○代入文が値を返す
0205デフォルトの名無しさん
2005/12/25(日) 00:55:310206デフォルトの名無しさん
2005/12/25(日) 01:08:030207デフォルトの名無しさん
2005/12/25(日) 01:08:52iteratorで書くのが今日日のpython流なんだろうけど、read(100)する
iterator作るのもウゼェってのもあるかもね。
0208デフォルトの名無しさん
2005/12/25(日) 01:47:30わろた
0209202
2005/12/25(日) 02:22:41for data in iter(lambda: infile.read(100), ""):
print data
一応これで意図通り動くようですが、
これが今後のPython流?
それともwhile True推奨なのか…
0210デフォルトの名無しさん
2005/12/25(日) 07:46:08シンプルに、バカっぽく。
0211デフォルトの名無しさん
2005/12/25(日) 10:06:280212デフォルトの名無しさん
2005/12/25(日) 10:32:15誰が?
0213デフォルトの名無しさん
2005/12/25(日) 12:07:25http://wiki.python.org/moin/AlternateLambdaSyntax
0214デフォルトの名無しさん
2005/12/25(日) 13:14:38http://coreblog.org/ats/610
ごっごる!
0215デフォルトの名無しさん
2005/12/25(日) 14:24:31みたいな一次元データがあります。
でも実際には [ (2,3), (4,5), (10,11), (15,16) ]
みたいな構造のデータで
for pair in [ (2,3), (4,5), (10,11), (15,16) ]:
print pair[0], pair[1]
みたいにしたいです。
この場合って index counter を回すんじゃない
記法があるんでしたっけ?
0216デフォルトの名無しさん
2005/12/25(日) 14:59:05for i, j in pairs:
print i, j
0217デフォルトの名無しさん
2005/12/25(日) 15:04:39こういうことですか?
for left, right in [ (2,3), (4,5), (10,11), (15,16) ]:
print left, right
0218デフォルトの名無しさん
2005/12/25(日) 15:20:50K&Rでは推奨されていないので,使わない人も多いのでは
ほんとに間違いの元ですね.
Cならまだしも,PHPなどでこれをやられると,エンバグしやすいし,デバッグが困難
だから,Pythonが言語使用的にこれができなくなっているのは,
生産性あげると思う
0219デフォルトの名無しさん
2005/12/25(日) 15:38:13>>> from itertools import *
>>> a = [ 2,3, 4,5, 10,11, 15,16 ]
>>> for x, y in zip(islice(a, 0, None, 2), islice(a, 1, None, 2)):
... print x, y
...
2 3
4 5
10 11
15 16
>>>
または
>>> for x, y in zip(a[:-1:2], a[1::2]):
... print x, y
...
2 3
4 5
10 11
15 16
>>>
0220デフォルトの名無しさん
2005/12/25(日) 17:30:49a.orange = orange
a.melon = melon
...
っていうパターンがいっぱいあるのですが、
どうすればイテレータなどでまとめることができますか?
0221デフォルトの名無しさん
2005/12/25(日) 18:15:520222デフォルトの名無しさん
2005/12/25(日) 21:24:51・cygwin環境
・PyJUGにあるWindows用
・ActivePython
のどれがよいのでしょう?というかどういう違いがあるのでしょうか?
0223215
2005/12/25(日) 21:42:31thx!
1つめで、そっか zip か、と思いつつもそれだけじゃだめなのか、
と思いつつ 2つ目の記法は ???
調べてみまっす。
0224`
2005/12/25(日) 21:49:15a = range(500000)
(5.4s) for i,j in zip(a[::2],a[1::2]): print i,j
(4.6s) for i, j in zip(islice(a, 0, None, 2), islice(a, 1, None, 2)): print i, j
(3.2s) for i, j in izip(islice(a, 0, None, 2), islice(a, 1, None, 2)): print i, j
(3.5s) i = 0 ; n = len(a)
while i < n: print a[i], a[i+1] ; i += 2
()内は実行時間
0225デフォルトの名無しさん
2005/12/25(日) 22:21:04「0から教えてください」スレからコピペ
一番の違いは python が何でコンパイルされているかでしょう。
cygwin版 ⇒ 当然 gcc
日本語Python、ActivePython ⇒ MSC
なので、新しいモジュールインストール時に MSC のコンパイラが
ないと下の2つは辛いかも。ただし、下の二つには Windows 用の
拡張モジュールが使えるという利点があります。Python から Excel を
立ち上げるとか普通にできておもしろいです。 ActivePython は始めから
この機能が使えます。(当たり前か) 日本語Python は後から追加が必要
だけど MSC は不要です。ただ、PyJUG に置いてあるのは少し古いので
ちゃんと最新版を入れた方がいいでしょう。
ということで。。。
とにかく日本語をトラブルなく使いたい!⇒日本語Python
2.4 を使いたい。MSC は持ってない。⇒cygwin Python
Windows 機能を使いたい。⇒日本語Python、 ActivePython
となると思います。
0226デフォルトの名無しさん
2005/12/26(月) 00:52:03s is not None => True
s = None
s is not None => False
いったいどこから評価してるんだよ。。。
き、きんもーっ☆
0227デフォルトの名無しさん
2005/12/26(月) 01:02:17ttp://docs.python.org/ref/comparisons.html
a is (not b) じゃなくて a "is not" b なのな
0228デフォルトの名無しさん
2005/12/26(月) 01:10:18そのくせ、
flag is not not True
みたいなのは文法エラーとかぬかすし。
0229デフォルトの名無しさん
2005/12/26(月) 01:34:49gtk2とpangoを使っているpythonアプリを
高速なwindowsネイティブexeにコンパイルすることはできますか?
0230デフォルトの名無しさん
2005/12/26(月) 01:45:23趣味に走るのは作った奴の特権。
うやらますぃ。
0231デフォルトの名無しさん
2005/12/26(月) 03:27:540232デフォルトの名無しさん
2005/12/26(月) 04:24:57それが普通。
0233デフォルトの名無しさん
2005/12/26(月) 08:33:12ドキュメントが整備されているって、なんて素晴らしいんだと改めて認識ますた。
0234デフォルトの名無しさん
2005/12/27(火) 00:10:19できればその逆もお願いします。
0235デフォルトの名無しさん
2005/12/27(火) 00:57:35"\xa4\xb3\xa4\xa6\xa4\xa4\xa4\xa6\xa4\xb3\xa4\xc8\xa1\xa9" # EUC-JPで "こういうこと?"
0236234
2005/12/27(火) 01:06:340237デフォルトの名無しさん
2005/12/27(火) 05:29:500238デフォルトの名無しさん
2005/12/27(火) 05:51:000239デフォルトの名無しさん
2005/12/27(火) 08:39:190240デフォルトの名無しさん
2005/12/27(火) 11:46:170241デフォルトの名無しさん
2005/12/27(火) 12:00:55Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "<string>", line 1
こういうこと?
^
SyntaxError: invalid syntax
0242デフォルトの名無しさん
2005/12/27(火) 13:05:32'\xa4\xb3\xa4\xa6\xa4\xa4\xa4\xa6\xa4\xb3\xa4\xc8\xa1\xa9'
>>> print eval('"\xa4\xb3\xa4\xa6\xa4\xa4\xa4\xa6\xa4\xb3\xa4\xc8\xa1\xa9"')
こういうこと?
>>>
0243234
2005/12/27(火) 15:02:58丁寧にありがとうございました。
0244デフォルトの名無しさん
2005/12/28(水) 00:38:52では何故だめだったのか知りたい
0245デフォルトの名無しさん
2005/12/28(水) 13:07:28>>> while 1:
... print input("input number?")
...
input number? 100
100
input number? 0100
64
0246デフォルトの名無しさん
2005/12/28(水) 16:00:170247デフォルトの名無しさん
2005/12/28(水) 16:31:160248デフォルトの名無しさん
2005/12/28(水) 23:51:21あんな関数が平気で転がってるのが見てらんない
0249デフォルトの名無しさん
2005/12/29(木) 00:19:42{;;;;;;ゝ T辷iフ i f'辷jァ !i;;;;;
ヾ;;;ハ ノ .::!lリ;;r゙
`Z;i 〈.,_..,. ノ;;;;;;;;>
,;ぇハ、 、_,.ー-、_',. ,f゙: Y;;f そんなふうに考えていた時期が
~''戈ヽ `二´ r'´:::. `! 俺にもありました
0250デフォルトの名無しさん
2005/12/29(木) 03:03:04それともBASICの呪いを思い出しそうになってイヤになるとかか?
0251デフォルトの名無しさん
2005/12/29(木) 03:59:57んでinput廃止
0252デフォルトの名無しさん
2005/12/29(木) 07:31:120253デフォルトの名無しさん
2005/12/29(木) 12:11:140254デフォルトの名無しさん
2005/12/29(木) 14:16:46( ゚д゚)
(゚д゚ )
( ゚д゚ )ぬるぽ
0255デフォルトの名無しさん
2005/12/29(木) 22:42:54何がありますかね?
0256デフォルトの名無しさん
2005/12/29(木) 22:50:51Zope
0257デフォルトの名無しさん
2005/12/29(木) 23:07:00さくっと読めて、コーディングのコツはしっかり吸収できるような。
0258デフォルトの名無しさん
2005/12/29(木) 23:10:380259デフォルトの名無しさん
2005/12/29(木) 23:17:45なるほど。。その手がありましたね
題材も豊富で参考になりそうです
アドバイスありがとうございました
0260デフォルトの名無しさん
2005/12/30(金) 00:18:19そりゃネタにもならんよ〜。
Zopeはある意味Pythonの範疇を超えちゃっている世界だし。Zope3でさらに独自の世界に行っちゃってるし。
いっそのことJavaとかで再実装→判子握っているオッサンの評価向上 とか考えてくれてもよさそうなものを。
0261デフォルトの名無しさん
2005/12/30(金) 00:18:54(゚д゚)マズー
0262デフォルトの名無しさん
2005/12/30(金) 00:20:02>いっそのことJavaとかで再実装
つ [言い出しっぺの法則]
0263デフォルトの名無しさん
2005/12/30(金) 01:07:52あんたすげえよ。がんばれ。
0264デフォルトの名無しさん
2005/12/30(金) 11:02:270265デフォルトの名無しさん
2005/12/30(金) 12:50:38http://www.freenetpages.co.uk/hp/alan.gauld/
ここのサンプルとか
0266デフォルトの名無しさん
2005/12/31(土) 13:26:55なにも考えずにpython.orgにある2.4のwin版をインスコしたんだけど、なにか
違いあるの??いまのところ日本語も問題なく使えてるお
0267デフォルトの名無しさん
2005/12/31(土) 14:06:260268デフォルトの名無しさん
2005/12/31(土) 14:09:180269デフォルトの名無しさん
2005/12/31(土) 14:35:35ライブラリは.NET FrameWorkのしか使えないのかな
0270デフォルトの名無しさん
2005/12/31(土) 14:55:38IronPython-1.0-Beta1.zip
http://www.microsoft.com/downloads/details.aspx?FamilyID=94082d26-e689-4f7f-859b-fec6dacf3ae8&DisplayLang=en
ライブラリはPythonのも使えたと思う。
Jythonのときもそうだったけど、継承なんかも乗り入れ可能。
0271デフォルトの名無しさん
2006/01/01(日) 01:31:42使えるのってvi,emacsぐらいしかないのかな
0272デフォルトの名無しさん
2006/01/01(日) 01:48:40win:Idle、linux:emacs、mac:持ってない
0273デフォルトの名無しさん
2006/01/01(日) 01:52:370274デフォルトの名無しさん
2006/01/01(日) 01:54:350275デフォルトの名無しさん
2006/01/01(日) 09:13:08このコード動かないんですけど・・・。なんか直し方わかんないんですけど・・・。
0276デフォルトの名無しさん
2006/01/01(日) 11:14:03んじゃあきらめろ
0277デフォルトの名無しさん
2006/01/01(日) 12:55:160278277
2006/01/01(日) 13:19:23素数の数を調べる範囲を NUM=int(sys.argv[1]) で引数から拾ってるくせに,
ふるい処理では範囲が8192だし,for foo in xrange(): のループも無意味.
もとの書き方にできるだけ合わせて書くと,正解はこうなるはず:
def main():
NUM = int(sys.argv[1])
flags = (NUM+1)*[1]
count = 0
for i in xrange(2, NUM+1):
if flags[i]:
k = i + i
while k<= NUM:
flags[k] = 0
k = k + i
count = count + 1
print "Count:" , count
main()
0279277
2006/01/01(日) 14:09:24import sys
def sieve(sieve_size):
"""
Returns sequence of the primes.
The algorythm is based on the Sieve of Eratosthenes.
"""
non_primes = set()
for i in range(2, sieve_size+1):
if i not in non_primes:
# populate non-primes with multiples of the prime i
non_primes = non_primes.union(range(i+i, sieve_size+1, i))
return sorted(set(range(2, sieve_size+1)).difference(non_primes))
if __name__=="__main__":
ssize = int(sys.argv[1])
primes = sieve(ssize)
print "Number of primes up to %d: %d" %(ssize, len(primes))
0280デフォルトの名無しさん
2006/01/01(日) 14:11:370281デフォルトの名無しさん
2006/01/01(日) 14:20:53ご苦労さん。動けばいいのでこらなくてもいいですよー
0282277
2006/01/01(日) 14:21:50def sieve(sieve_size):
ndict = dict((i, None) for i in range(2, sieve_size+1))
for i in xrange(2, sieve_size+1):
if i in ndict:
for k in range(i+i, sieve_size+1, i):
if k in ndict:
ndict.pop(k)
return sorted(ndict.keys())
0283デフォルトの名無しさん
2006/01/01(日) 15:25:03Excelを使えると便利そうなので、コマンドを教えてください。
0284デフォルトの名無しさん
2006/01/02(月) 18:30:540285デフォルトの名無しさん
2006/01/03(火) 01:15:55import win32com.client
xls = win32com.client.Dispatch("Excel.Application")
xls.Visible = True
ここから後ろはVBAのコードになる罠
0286デフォルトの名無しさん
2006/01/03(火) 12:34:00MSDNのリファレンスがそのまま使いまわせてかなりウマーです。
COMってすげーなと思った。
0287デフォルトの名無しさん
2006/01/05(木) 02:22:11その場合、スクリプトのソースはどの程度隠避できますか?
0288デフォルトの名無しさん
2006/01/05(木) 03:45:340289デフォルトの名無しさん
2006/01/05(木) 10:46:04pt2exe使ってみたけど,string丸見えだった
0290デフォルトの名無しさん
2006/01/05(木) 14:11:13丸見えじゃねーのかな
0291デフォルトの名無しさん
2006/01/05(木) 15:19:160292デフォルトの名無しさん
2006/01/05(木) 20:00:080293デフォルトの名無しさん
2006/01/05(木) 20:11:391) 商業用途での配布
2) 「HSPの方から来ました」
3) 「VBの方から来ました」
0294デフォルトの名無しさん
2006/01/05(木) 20:18:20シェアウェアなんでソース見られると困ります
おしえてください!!!!
0295デフォルトの名無しさん
2006/01/05(木) 20:51:05模範解答かよwww
0296デフォルトの名無しさん
2006/01/05(木) 21:47:05http://slashdot.jp/developers/06/01/05/1219258.shtml
0297デフォルトの名無しさん
2006/01/05(木) 22:02:120298デフォルトの名無しさん
2006/01/05(木) 22:19:18今までのC/C++でPythonを拡張したり、逆にC/C++でPythonの機能を呼び出したりする
といったことを.NET Frameworkで出来るようになること
具体的には、現状だとCのWin32APIの関数を使うような場面で、より使いやすい
.NET Frameworkのライブラリを使うことが選択肢に入ってくる、とか
あとはJITと最適化による速度面の向上に期待ですかね
0299デフォルトの名無しさん
2006/01/05(木) 23:28:14ttp://headlines.yahoo.co.jp/hl?a=20060105-00000003-cnet-sci
0300デフォルトの名無しさん
2006/01/05(木) 23:37:42ふむふむ…説明ありがとうございました。
今まではC++をUNIXで使ったりしてきて
Pythonはほとんど使ったことがないのですが、
Pythonの知名度も上がったりして!
0301デフォルトの名無しさん
2006/01/06(金) 01:55:15リンク先のYahooのページに「UNIX版Pythonを開発する
Salim Fadhleyによると」って書いてあるんだけど,
Guido先生じゃないのかよ.
Salim Fadhleyって誰だ?俺が知らないだけで,
実はPython界隈では有名人?
0302デフォルトの名無しさん
2006/01/06(金) 02:39:400303デフォルトの名無しさん
2006/01/06(金) 09:56:20(といってもおいらは unix 人だけど)
0304デフォルトの名無しさん
2006/01/06(金) 20:17:52Kidでテンプレートを読みこむ
↓
pythonインタプリタを終了せずにテンプレートの方を更新
↓
Kidでふたたび読みこみ
しても,変更が反映されないんですが,なぜ?
キャッシュを消しても同じ.Pythonインタプリタを終了して,もう一度読みこむと
反映されてます.load_template(file="XXX", cache=0)でも変らず.
ちょろっとソース見てみたけどわからねっす
0305デフォルトの名無しさん
2006/01/06(金) 22:11:310306デフォルトの名無しさん
2006/01/06(金) 22:26:470307デフォルトの名無しさん
2006/01/06(金) 23:05:19もうjythonどうでもいいのかな。
0308デフォルトの名無しさん
2006/01/06(金) 23:14:48MSが突っ走らなければいいねってことだよ。
0309デフォルトの名無しさん
2006/01/06(金) 23:34:14それは大丈夫じゃない?
MicrosoftがPythonを独自拡張して突っ走ったとしても
別に誰とも確執は生まないと思う。
111111111111111111111111111111
2
0310デフォルトの名無しさん
2006/01/06(金) 23:38:160311デフォルトの名無しさん
2006/01/07(土) 00:17:350312デフォルトの名無しさん
2006/01/07(土) 00:40:270313デフォルトの名無しさん
2006/01/07(土) 01:08:390314デフォルトの名無しさん
2006/01/07(土) 01:13:17DocumentationのところにLanguage Specificationはちゃんとあるよね。
ときどきわかんなくなって参照するが、language lawyerの素質がないのか
ますますわからなくなる。
0315デフォルトの名無しさん
2006/01/07(土) 21:26:020316デフォルトの名無しさん
2006/01/07(土) 21:41:00スクリプト系言語の中では厳密な方
0317デフォルトの名無しさん
2006/01/07(土) 23:10:100318デフォルトの名無しさん
2006/01/08(日) 01:07:53べき乗のつもりで使ったら変な数が
べき乗は**なんですね
0319デフォルトの名無しさん
2006/01/08(日) 01:10:47xor?
0320デフォルトの名無しさん
2006/01/08(日) 09:57:06あーざっす
0321デフォルトの名無しさん
2006/01/08(日) 17:36:07ttp://www.rubyist.net/~matz/20050802.html#p02
期待age
0322デフォルトの名無しさん
2006/01/08(日) 17:48:200323デフォルトの名無しさん
2006/01/08(日) 19:17:000324デフォルトの名無しさん
2006/01/09(月) 00:33:140325デフォルトの名無しさん
2006/01/09(月) 07:39:100326デフォルトの名無しさん
2006/01/09(月) 12:49:17とりあえず、互換性だけは死守してほしいもんだ。
Linuxで作ったものが、Winで動かなかったりするのは
悲しいし。その逆も然り。
0327デフォルトの名無しさん
2006/01/09(月) 12:59:11いうなればツール厨状態。プログラミングする人は少ないまま。
0328デフォルトの名無しさん
2006/01/09(月) 13:04:34でも、ライブラリはプロプライエタリでーす。
.NETのときに騙されたからなぁ。
0330デフォルトの名無しさん
2006/01/09(月) 17:39:310331デフォルトの名無しさん
2006/01/09(月) 17:57:400332デフォルトの名無しさん
2006/01/09(月) 18:02:480333デフォルトの名無しさん
2006/01/09(月) 18:12:42そうでなくても,複雑なポインタ操作するだけで十分難読になる
0334デフォルトの名無しさん
2006/01/09(月) 18:20:06Python入門の本やサイトでそれはないだろ
そこまで出来るんだったら入門レベル卒業だよ
0335デフォルトの名無しさん
2006/01/09(月) 18:30:53Python はプログラミングの初学者にとって学びやすい(=入門しやすい)言語だということだよね?
「入門者用言語」というと語弊があると思われ。
0336デフォルトの名無しさん
2006/01/09(月) 18:31:06インラインアセンブラが書けることは C の仕様に規定されてないので例として不適切
ポインタもそんな悲惨になることは滅多に無いと思うけどなあ
0337デフォルトの名無しさん
2006/01/09(月) 18:34:45じゃあ,言うまでもない指摘をするけど,
C言語は改行なくてもプログラムになりますから
続きの結論は自分で考えてね
0338デフォルトの名無しさん
2006/01/09(月) 18:36:57つ indent
分かって言ってると思うけどさ その可読性の無さは本質的じゃないよね
0339デフォルトの名無しさん
2006/01/09(月) 18:37:280340デフォルトの名無しさん
2006/01/09(月) 18:45:250341デフォルトの名無しさん
2006/01/09(月) 19:03:53例えば、時間と、urlを元に、hashみたいな一意のファイル名を付けたいです。
あんまり00001.jpgみたいな名前ではなくて、xq0b02fb.jpgみたいなので、重複しない名前を付けたいです。
0342329
2006/01/09(月) 19:23:22そういうことだけど、「入門者用言語」じゃ限定しちゃうからまずいかな。
学びやすい言語って事です。
>>341
import tempfile
を使うべきなんじゃない?
0343デフォルトの名無しさん
2006/01/09(月) 19:39:370344341
2006/01/09(月) 19:55:02webから、jpgファイルをひたすら集めるアプリを作っていて、MySQLを使って、urlやhtmlとファイル名を関連付けたいです。
select jpgname where url='hogehgoe.html';
みたいなSQLで、xq0b02fb.jpgというファイル名が取れれば、それをアプリで利用できると考えています。
それで一意なファイル名が欲しいなって思いました。
0345304
2006/01/09(月) 20:53:44レスどうもです
import tempfileって、load_templateとか
Template(file="tempfile").serializeとかの単なるラッパーだと
思ってたんですけど違うもんなんでしょうか?
0346デフォルトの名無しさん
2006/01/09(月) 21:43:280347デフォルトの名無しさん
2006/01/09(月) 21:51:200348デフォルトの名無しさん
2006/01/09(月) 22:25:47http://docs.python.org/lib/module-tempfile.html
0349デフォルトの名無しさん
2006/01/09(月) 22:39:47>>347の言う通り自己解決してるみたいだけど、
極まれな重複時の振る舞いを考える必要はあるね。
tempfileは条件満たしてないっしょ。
0350デフォルトの名無しさん
2006/01/09(月) 22:54:300351デフォルトの名無しさん
2006/01/09(月) 23:01:38MySQLみたいなDBMSを使うんだったら、一意なファイル名とかめんどくさいこと考えずに
1.URLの構造を保ったままどこかのディレクトリにJPGを保存していく
2.そのフルパスをDBに順次格納していく
これでいいんじゃないですかね?
DBのスキーマがちゃんとしてれば、SQLを発行することで複雑な集計もできますし。
手段はさておき、やりたいことを実現するにはこれで十分な気がします。
0352デフォルトの名無しさん
2006/01/09(月) 23:03:59○1.の「どこかのディレクトリ」からの相対パス
0353341
2006/01/09(月) 23:24:09>>351
レスどうも。なんか、ディレクトリが深くなりそうです。
ディレクトリを含めたファイル名って、最長何バイトでしたっけ?
なんかファイル名が長くなりそうだなって思って。
0354デフォルトの名無しさん
2006/01/10(火) 02:14:21ランダムで名前つけてかぶったらずらすとかやり直すとかすせばいいのでは?
0355デフォルトの名無しさん
2006/01/10(火) 02:56:290356デフォルトの名無しさん
2006/01/10(火) 03:08:06ごちゃごちゃした文字列出さないとダメだとか
思ってる馬鹿がこんなにいるとはwww
0357デフォルトの名無しさん
2006/01/10(火) 08:06:51一意な名前
0358デフォルトの名無しさん
2006/01/10(火) 08:12:29ところがどっこい、>341には、
「00001.jpgみたいな名前ではなくて」と
書かれていよう。
これは心の問題なのです。
0359デフォルトの名無しさん
2006/01/10(火) 10:57:45ロボット対策とか、生成と削除を繰り返したりとかかな。
0360デフォルトの名無しさん
2006/01/10(火) 11:42:060361デフォルトの名無しさん
2006/01/10(火) 14:03:08ライブラリが使いやすすぎて
マニュアルで十分
11.25 asyncore -- 非同期ソケットハンドラ
http://www.python.jp/doc/nightly/lib/module-asyncore.html
必要ないかもしれないが,
ソケットプログラミング自身の解説はこれがおすすめ
UNIXソケットプログラミング入門(1)
http://hp.vector.co.jp/authors/VA003991/kouza/senior/kouza_socket.html
0362デフォルトの名無しさん
2006/01/11(水) 00:24:06同期でお願いします。
0363デフォルトの名無しさん
2006/01/11(水) 08:33:10うえのソケットプログラミング入門読んで、socketモジュール使って書けばいいだけ。
selectシステムコールも selectモジュールでOKなので、Cで書かれた例をPythonで
書き換えて実験してみるといい。
仕事は自分でやろうな。
0364デフォルトの名無しさん
2006/01/11(水) 11:27:38ひとつのdirectoryにファイルが溢れる方が、ファイルシステムによっては問題だと思うが。
ところで、エロ画像DBでも作ってんの? :-)
0365デフォルトの名無しさん
2006/01/11(水) 19:54:05プログラムを修正しながら作っていると,
変数がいつまでも開放されず,結果がおかしくなります.
Pythonに付属しているIDLEのように,プログラム実行の度に変数等を全てクリアするような方法あるでしょうか?
現時点では,PythonWinを再起動するしか方法を思いつかないのですが….
0366デフォルトの名無しさん
2006/01/11(水) 20:11:340367デフォルトの名無しさん
2006/01/11(水) 20:54:360368デフォルトの名無しさん
2006/01/12(木) 06:36:53それに応じた処理をするにはどうすればいいでしょうか?
0369デフォルトの名無しさん
2006/01/12(木) 09:39:52コンソールアプリなのか、何らかのGUIツールキット使うのかを示してくれないとなんとも。
0370デフォルトの名無しさん
2006/01/12(木) 11:07:18すいません.コンソールです.
Python は Cygwin で Python 2.4.1 を使っています.
0371デフォルトの名無しさん
2006/01/12(木) 13:08:190372デフォルトの名無しさん
2006/01/12(木) 23:22:42それです.
でもCygwin版にはmsvcrtモジュールがなくて使えませんでした.
Win32版じゃないと駄目なんでしょうか?
unixではこういう場合どうするんでしょうか?
cursesとか勉強しないといけないんでしょうか?
0373デフォルトの名無しさん
2006/01/12(木) 23:48:23その通り
0374デフォルトの名無しさん
2006/01/13(金) 00:47:56例えばUNIXなら下のような感じで。
import select, sys, tty
tty.setraw(sys.stdin)
while 1:
irdy, ordy, erdy = select.select([sys.stdin], [], [], 0)
if sys.stdin in irdy:
c = sts.stdin.read(1)
if c=='q': raise SystemExit
print 'you typed %s' %(sys.stdin.read(1))
0375デフォルトの名無しさん
2006/01/13(金) 01:05:090376デフォルトの名無しさん
2006/01/13(金) 01:06:32windowsはPOSIX互換OS
0377デフォルトの名無しさん
2006/01/13(金) 01:10:14Cygwinのライブラリがエミュレートしてるはず。
0378デフォルトの名無しさん
2006/01/13(金) 01:38:32そのコードでうまくいきそうですが少し問題があります.
まず,while の中で
print time.strftime("%H:%M:%S")
time.sleep(1)
としている場合,raw モードにしていると
$ ./test.py
01:28:16
01:28:17
01:28:18
こんな風にずれていきます.
これは setraw の代わりに setcbreak を使えば直りましたが,
プログラム終了も raw/cbreak モードが解除されません.
もうひとつはキーをタイプしたとき1回では反映されず,
1回目の入力後はループが停止してしまい,
2回目の入力で1回だけ you typed がプリントされます.
Linux で実行しても同様の現象でした.
どちらの場合も Windows の ck 上でテストしています.
0379デフォルトの名無しさん
2006/01/13(金) 03:31:46int main(int argc, char *argv[])
{
initscr();
noecho(); cbreak(); keypad(stdscr, 1);
printw("Hit any key...\n");
refresh();
printw("You typed 0x%02x\n", getch());
refresh();
echo(); nocbreak();
endwin();
}
import curses
stdscr = curses.initscr()
curses.noecho(); curses.cbreak(); stdscr.keypad(1)
stdscr.addstr("Hit any key...\n")
stdscr.refresh()
stdscr.addstr("You typed 0x%02x\n" % stdscr.getch())
stdscr.refresh()
curses.echo(); curses.nocbreak()
curses.endwin()
参考文献:http://www.amk.ca/python/howto/curses/
0380デフォルトの名無しさん
2006/01/13(金) 03:47:33old = tty.tcgetattr(fd)
...
tty.tcsetattr(fd, tty.TCSANOW, old)
じゃダメ?
0381デフォルトの名無しさん
2006/01/13(金) 04:29:580382デフォルトの名無しさん
2006/01/13(金) 06:00:01cursesのサンプルありがとうございます.
まずはselectでなんとかならないかやってみます.
>>380
最初に属性を保存しといて終了時に戻すということですね.
それで q で終了したときはうまくいきましたが,
Ctrl-C するとまずいですね.
例外処理でなんとかするんでしょうか.
また,キー入力が1回では反映されない問題は依然として同じで,
以下のような挙動をします.
$ ~/test.py
05:54:28
05:54:29 <= 'o' を入力すると停止
you typed p <= 'p' を入力すると表示
05:54:32
05:54:33 <= 'o' を入力すると停止
you typed q <= 'q' を入力すると表示
05:54:34
05:54:35 <= 'q' を入力すると終了
0383デフォルトの名無しさん
2006/01/13(金) 06:31:02def my_getc():
fd = sys.stdin.fileno()
old = tty.tcgetattr(fd)
try:
tty.setcbreak(fd)
c = sys.stdin.read(1)
finally:
tty.tcsetattr(fd, tty.TCSANOW, old)
return c
while 1:
c = my_getc()
if c=='q': raise SystemExit
print 'you typed %s' % c
無駄が気になるかも
0384デフォルトの名無しさん
2006/01/13(金) 06:34:28threadやeventやらと併用すればいちおう。
0385デフォルトの名無しさん
2006/01/13(金) 09:05:191 から N までの数字を N 個並べる組み合わせをすべて
列挙するプログラムは Python で書くとどうなりますか?
例えば N = 3 のとき
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
となるようにです。
よろしくおながいします。
0386デフォルトの名無しさん
2006/01/13(金) 09:11:150387デフォルトの名無しさん
2006/01/13(金) 10:16:24最近は小学校の宿題もPythonなのか? 凄い時代だな。
0388デフォルトの名無しさん
2006/01/13(金) 10:20:30小学校で教えるならむしろSmalltalakoきbんぬ。
0389デフォルトの名無しさん
2006/01/13(金) 11:22:180390デフォルトの名無しさん
2006/01/13(金) 12:19:320391デフォルトの名無しさん
2006/01/13(金) 14:09:580392デフォルトの名無しさん
2006/01/13(金) 15:59:52何かの調査だろ
0393デフォルトの名無しさん
2006/01/13(金) 16:22:380394デフォルトの名無しさん
2006/01/13(金) 18:55:59ttp://aspn.activestate.com/ASPN/Cookbook/Python/
「combination」で検索
0395デフォルトの名無しさん
2006/01/14(土) 00:24:21ダウンロードしたいのですが,どうすればいいのでしょうか?
0396デフォルトの名無しさん
2006/01/14(土) 00:44:540397デフォルトの名無しさん
2006/01/14(土) 00:53:25"python mixi"でググったらそのものずばりがトップにでるんですが。
0398デフォルトの名無しさん
2006/01/14(土) 00:54:56だったらドキュメントのcookielibのところに例あるよ
0399デフォルトの名無しさん
2006/01/14(土) 01:24:36できました.Python ほど他人のソースコードが読み易い (作業効率のよい) 言語はありませんね.
すばらしい
0400デフォルトの名無しさん
2006/01/14(土) 01:31:02私は書き易さPerl、読み易さPythonだな。
0401デフォルトの名無しさん
2006/01/14(土) 04:04:140402デフォルトの名無しさん
2006/01/14(土) 08:10:03それ単純に設計なりコーディングが悪いだけです。
0403デフォルトの名無しさん
2006/01/14(土) 09:37:28>>402は記述者の能力の話をしているので
0404デフォルトの名無しさん
2006/01/14(土) 11:00:59他の言語でも全員が必ず使う同一ルールの整形ツールがあれば別だけども。
0405デフォルトの名無しさん
2006/01/14(土) 11:25:56ちゃんと自分のスタイルを確立しちゃえばいいんだろうけど。
0406デフォルトの名無しさん
2006/01/14(土) 11:33:320407デフォルトの名無しさん
2006/01/14(土) 12:12:59比較的新しい言語
好き者がオンラインドキュメント読んで手を出す
使える
ハカーが群がっておもちゃにする
開発が四方八方に進んでゆく
常に発展途上
本を書いてもすぐに時代遅れ
0408デフォルトの名無しさん
2006/01/14(土) 13:04:360409デフォルトの名無しさん
2006/01/14(土) 14:37:13依然として比較的利用者の少ない言語
0410デフォルトの名無しさん
2006/01/14(土) 15:27:100411デフォルトの名無しさん
2006/01/14(土) 15:30:16略しておっぱい
0412デフォルトの名無しさん
2006/01/14(土) 15:56:53ど、どんな内容だろう。(わくわく)
0413デフォルトの名無しさん
2006/01/14(土) 16:00:480414デフォルトの名無しさん
2006/01/14(土) 16:00:54長大なワンライナーをはじめとしたダーティーハックがてんこもり
0415デフォルトの名無しさん
2006/01/14(土) 16:08:51まじだ……(今ぐぐった
か、かなわねぇw
0416デフォルトの名無しさん
2006/01/14(土) 16:17:02確かにやらしいな。
0417デフォルトの名無しさん
2006/01/14(土) 16:18:10安定した仕様が存在しない言語は
学習と業務適用に難があるから広まらない
0418デフォルトの名無しさん
2006/01/14(土) 16:39:24逆に聞きたいが、言語仕様が確定してから広まった言語ってなにがある?
俺の知る限りメジャーな言語は時代によって変化していったものしか無いのだが
0419デフォルトの名無しさん
2006/01/14(土) 16:43:22Perl6って今どうなんだろう?
0420デフォルトの名無しさん
2006/01/14(土) 16:43:4990年代以降だぜ?
0421デフォルトの名無しさん
2006/01/14(土) 17:03:52表紙は蛇にからみつかれた裸女です。
0422デフォルトの名無しさん
2006/01/14(土) 17:23:07モンティーパイソンのアニメにありそうだなソレ
0423デフォルトの名無しさん
2006/01/14(土) 18:02:45アセンブラ・C言語・PASCAL・BASIC
0424デフォルトの名無しさん
2006/01/14(土) 18:10:08その4例すべてメジャーになって以降に言語仕様がころころ変っている。
0425デフォルトの名無しさん
2006/01/14(土) 18:46:160426デフォルトの名無しさん
2006/01/14(土) 18:50:280427デフォルトの名無しさん
2006/01/14(土) 20:43:58C言語の仕様は登場時から変わってないと聞いたが
0428デフォルトの名無しさん
2006/01/14(土) 20:46:540429デフォルトの名無しさん
2006/01/14(土) 20:57:47ワロス
0430デフォルトの名無しさん
2006/01/14(土) 21:07:02デマだ。K&R初版なんて読んだら卒倒するぞ。
0431デフォルトの名無しさん
2006/01/14(土) 21:27:09C99 とか知らない?
0432デフォルトの名無しさん
2006/01/14(土) 22:07:38あと、C は実装が違いすぎるから autoconf とゆーバッドノウハウが。
0433デフォルトの名無しさん
2006/01/14(土) 22:30:28ティスがころころ変わる言語は広まらない。
0434デフォルトの名無しさん
2006/01/14(土) 23:00:520435デフォルトの名無しさん
2006/01/14(土) 23:38:570436デフォルトの名無しさん
2006/01/14(土) 23:43:540437デフォルトの名無しさん
2006/01/15(日) 00:16:120438デフォルトの名無しさん
2006/01/15(日) 00:42:16クレープのほうが広まってると思う。
0439デフォルトの名無しさん
2006/01/15(日) 01:13:57スケール考えろよ
0440デフォルトの名無しさん
2006/01/15(日) 01:20:200441デフォルトの名無しさん
2006/01/15(日) 01:30:320442デフォルトの名無しさん
2006/01/15(日) 02:41:090443デフォルトの名無しさん
2006/01/15(日) 03:10:160444デフォルトの名無しさん
2006/01/15(日) 04:12:530445デフォルトの名無しさん
2006/01/15(日) 05:37:43結局,curses 使って以下のようにすることにしました.
import curses, curses.ascii, time
def main(stdscr):
curses.noecho()
curses.cbreak()
stdscr.timeout(1000)
stdscr.scrollok(1)
while 1:
stdscr.addstr(time.strftime("%H:%M:%S\n"))
stdscr.refresh()
c = stdscr.getch()
if c == -1:
continue
if curses.ascii.isprint(c):
stdscr.addstr("%c\n" % c)
stdscr.refresh()
if c == ord('q'):
break
return 0
curses.wrapper(main)
0446デフォルトの名無しさん
2006/01/15(日) 17:13:370447デフォルトの名無しさん
2006/01/15(日) 17:17:060448デフォルトの名無しさん
2006/01/15(日) 17:18:20ギブミーチョコレート。とか?
ガイジンサンイッカイ5円ダヨーとか。
0449デフォルトの名無しさん
2006/01/15(日) 17:22:410450デフォルトの名無しさん
2006/01/15(日) 19:18:27シングル・ダブルを使い分ける場合ってどんな時だろ?
0451デフォルトの名無しさん
2006/01/15(日) 19:28:580452450
2006/01/15(日) 19:44:07どっちも等価な shortstring だったのか。
ありがとん。
0453デフォルトの名無しさん
2006/01/15(日) 20:44:260454デフォルトの名無しさん
2006/01/15(日) 22:42:010455デフォルトの名無しさん
2006/01/15(日) 23:56:41"""\
...
...
"""
みたいにしている
0456デフォルトの名無しさん
2006/01/16(月) 19:27:180457デフォルトの名無しさん
2006/01/16(月) 19:33:380458デフォルトの名無しさん
2006/01/16(月) 19:42:100459デフォルトの名無しさん
2006/01/17(火) 02:27:09再束縛し放題、束縛ごとのスコープ生成も無いように見え、代入そのものにしか見えません。
どこらへんが代入と違うのでしょうか。
0460デフォルトの名無しさん
2006/01/17(火) 02:50:550461デフォルトの名無しさん
2006/01/17(火) 02:56:02はじぱいを立ち読みすれば最初の方にちゃんと書いてあるよ。
イデア界にある値に参照を作るみたなイメージ。
0462デフォルトの名無しさん
2006/01/17(火) 02:59:090463デフォルトの名無しさん
2006/01/17(火) 03:01:21>>> b = 1
>>> a == b
True
>>> a is b
True
>>> a = 10 ** 10
>>> b = 10 ** 10
>>> a == b
True
>>> a is b
False
0464デフォルトの名無しさん
2006/01/17(火) 03:20:42C風に言えば、ポインタ変数の割当たったメモリを書き換えまくリングでは。
0465デフォルトの名無しさん
2006/01/17(火) 09:46:200466デフォルトの名無しさん
2006/01/17(火) 12:25:300467デフォルトの名無しさん
2006/01/17(火) 12:36:37>>> a = 1
>>> b = 1
>>> a == b
True
>>> a is b
True
って代入じゃないの?
つーか、Java厨に言わせれば、
>>> a = 10 ** 10
>>> b = 10 ** 10
>>> a == b
True
>>> a is b
False
だって代入じゃん、て感じ。
言語によらない「代入」の定義ってあんのかね。
←綺麗 変数束縛 = Lispの変数束縛 ⊃ Pythonの変数束縛 = Javaの変数代入 ⊃ Cの変数代入 →汚い
こんな感じか?
0468デフォルトの名無しさん
2006/01/17(火) 13:14:30代入:
(set! a 10)
(set! f (lambda () a))
(set! a 20)
(f)
=> 20
束縛:
(let ((a 10))
(let ((f (lambda () a)))
(let ((a 20))
(f))))
=> 10
となるので、Python の
>>> a = 10
>>> def f(): return a
>>> a = 20
>>> f()
20
は代入に見える
0469デフォルトの名無しさん
2006/01/17(火) 13:27:08>>> b=a
>>> a is b
True
>>> a += 1
>>> b
1
>>> a is b
False
aの値を変えたら bの値も連動して変えたいときってどうするの?
0470デフォルトの名無しさん
2006/01/17(火) 13:46:18Python2.3をアンインストールして、Python2.4をインストールしました。
PythonWinも入れ直して、無事に動くのですが、
Python2.4に付属のIDLEが起動しなくなりました。
具体的には、起動しても何の表示も出ずに、スルーされる感じです。
デバック中に、エラーの部分で変数情報を表示するツール(StackViewer?)を使いたいのですが・・・。
0471デフォルトの名無しさん
2006/01/17(火) 15:17:53>>> u"∴"
u'\u2234'
ってのを ∴ のような文字実体参照に変換したいってこと?
0472デフォルトの名無しさん
2006/01/17(火) 15:19:060473デフォルトの名無しさん
2006/01/17(火) 15:27:47>>> a = [1, 2, 3]
>>> b = a
>>> a.append(4)
>>> b
[1, 2, 3, 4]
>>> a = "Hello World"
>>> b = a
>>> a += "."
>>> b
'Hello World'
感覚としてはこれでOKなんだが、なんか釈然としないな。
0474デフォルトの名無しさん
2006/01/17(火) 15:29:27恥ずかし。
0475デフォルトの名無しさん
2006/01/17(火) 16:28:59って確かはじパイに書いてあった
>>> a = 'spam'
>>> b = 'spam'
>>> a == b
True
>>> a is b
True
>>> a = 'Vorpal Bunny'
>>> b = 'Vorpal Bunny'
>>> a == b
True
>>> a is b
False
0476デフォルトの名無しさん
2006/01/17(火) 16:36:29なんか上の結果見てると is の結果を有効に使えそうなケースが思いつかないんだけど。
0477デフォルトの名無しさん
2006/01/17(火) 17:19:02"is"で十分であれば"is"のほうがずっと速い。
0478デフォルトの名無しさん
2006/01/17(火) 17:58:42漏れは質問者じゃないけど
そぅだったのか。
確かにオブジェクトの内容の一致を取るよりも
オブジェクトのIDの一致取る方が遥かに速そうだな
0479デフォルトの名無しさん
2006/01/17(火) 18:24:13あるいは、番号による表記です。
0480デフォルトの名無しさん
2006/01/17(火) 18:26:38なーに、かえって判断力がつく。
0481デフォルトの名無しさん
2006/01/17(火) 18:35:32"".join(["%d;" % ord(c) for c in s])
0482デフォルトの名無しさん
2006/01/17(火) 19:45:430483デフォルトの名無しさん
2006/01/17(火) 23:12:04関連付けを確認してみな。
ひょっととするとひょっとしてスペースが言われ忘れてたりする。
0484デフォルトの名無しさん
2006/01/18(水) 08:43:13while <test>
while<test2>
if <test3>
break
else:
<statements1>
else:
<statements2>
else:
<statements3>
<statements4>
がある時、4行目のbreakが実行されたあと実行されるのは何ですか?
プログラミングは大学で習う程度(C言語)の知識しかありません。
よろしくお願いします
0485デフォルトの名無しさん
2006/01/18(水) 08:50:041番目のelseはtest3ifと同じ深さで
2番目のelseはtest2のelseと同じ、
3番目のelseはtest1のelseと同じ深さです
breakはifにネストしてあります。
あとwhile、ifに:を付け足してください
0486デフォルトの名無しさん
2006/01/18(水) 09:03:120487デフォルトの名無しさん
2006/01/18(水) 09:13:490488デフォルトの名無しさん
2006/01/18(水) 09:39:00そうでした・・・
>>487
ありがとうございます。
0489デフォルトの名無しさん
2006/01/18(水) 12:21:32レスありがとうござました。
ただ、私の知識では何をどうしろ、とおっしゃっているのかちょっとわかりません。
よろしければ、もう少し詳しく教えて頂けますか?
0490デフォルトの名無しさん
2006/01/18(水) 12:41:03Pythonのコマンドラインからidle.pyを実行したらエラーでる?
0491デフォルトの名無しさん
2006/01/18(水) 13:04:400492デフォルトの名無しさん
2006/01/18(水) 13:56:50どう使い分けるかってのは置いといて、簡単に見えるとこだけ言うと
前者はモジュールごと取り込むから参照はhoge.hageになるけど
後者はそのオブジェクトだけを取り込むからhageとなる
0493デフォルトの名無しさん
2006/01/18(水) 15:31:48ありがとうございます。
コマンドラインから実行すると、以下のエラーが出ます。
Warning: configHandler.py - IdleConf.GetThemeDict -
problem retrieving theme element 'builtin-background'
from theme 'my custom'.
returning default value: '#ffffff'
Warning: configHandler.py - IdleConf.GetThemeDict -
problem retrieving theme element 'builtin-foreground'
from theme 'my custom'.
returning default value: '#000000'
これが10回ぐらい繰り返された後、一応Idleの起動はしますが、
何かする度に、コマンドプロンプトにエラーが出ます。
何が原因なんでしょうか?
0494デフォルトの名無しさん
2006/01/18(水) 23:42:02Cygwin 版だとあった、urllib2 の HTTPSHandler がないんですが...
socket の ssl もないし ActivePython ってそーゆーもんなんでしょうか?
0495デフォルトの名無しさん
2006/01/19(木) 00:43:16つ M2Crypt
0496494
2006/01/19(木) 01:06:53ありがとうございます。
M2Crypto 試そうとしたんですが、 Python 2.4&Windows は無料
じゃないんですね... というわけで別案を探します。 どうもでした。
0497デフォルトの名無しさん
2006/01/19(木) 01:32:09SVNリポジトリからもらってきたM2Cryptoをコンパイルすればいいんじゃないの?
0498デフォルトの名無しさん
2006/01/19(木) 02:59:30http://www7a.biglobe.ne.jp/~yasozumi/python/wiki/
↑
これいいですね
でも鯖の調子が悪いのかな
入れない所がいっぱいあるw
0499デフォルトの名無しさん
2006/01/19(木) 03:05:530500デフォルトの名無しさん
2006/01/19(木) 07:53:13何が原因って…。書いてあるじゃん。
自分で作った'my custom'というHilighting Themeの
定義でエラーが出ているんじゃないの?
0501デフォルトの名無しさん
2006/01/19(木) 09:58:46どうもありがとうございます。
残念ながら、'my custom'に関する定義ファイルに覚えがありません。
そもそも、Idleを立ち上げる際に読み込むべきファイルを編集するだけの技量もないですし…。
何か、他のインストールされたソフトが、どこかで影響しているんですかね。
0502デフォルトの名無しさん
2006/01/19(木) 14:58:32IDLEの設定はWindowsなら全部%HOME%\.idlercディレクトリにある。
そこのconfig-main.cfgとconfig-hilight.cfgを
見たら何が起こっているかは分かるはず。
0503デフォルトの名無しさん
2006/01/19(木) 23:37:59Googleは検索文字列をutf-8に変換するとのことで、例えば『森博嗣』は『%E6%A3%AE%E5%8D%9A%E5%97%A3』となります。
なにのPythonだと、
>>> a = "森博嗣"
>>> a
'森博嗣'
>>> a.encode("utf-8")
'譽ョ蜊壼離'
となってします。Googleのような文字列に変換するにはどうしたらよいでしょうか?
またスクリプト内でエンコードを行う場合、スクリプト自体のエンコーディングも関係するのでしょうか?
0504デフォルトの名無しさん
2006/01/19(木) 23:58:010505デフォルトの名無しさん
2006/01/20(金) 00:01:34ファイルがShift JISだと仮定して、
import urllib
a = unicode('森博嗣', 'Shift-JIS')
print urllib.quote(a.encode('utf-8'))
0506デフォルトの名無しさん
2006/01/20(金) 00:15:15>>> a =
>>> urllib.urlencode({'q':u'森博嗣'})
'q=%E6%A3%AE%E5%8D%9A%E5%97%A3'
0507503
2006/01/20(金) 00:19:04ありがとうございます。
0508デフォルトの名無しさん
2006/01/20(金) 00:24:05『森博嗣』→『%E6%A3%AE%E5%8D%9A%E5%97%A3』 のように、
「Googleのような文字列に変換する」操作は 「URLエンコード」という名前の操作 である事も
知っておいた方がいいと思う。
0509デフォルトの名無しさん
2006/01/20(金) 01:33:430510デフォルトの名無しさん
2006/01/20(金) 09:38:460511デフォルトの名無しさん
2006/01/20(金) 09:53:410512デフォルトの名無しさん
2006/01/20(金) 12:11:40つ伊勢志摩ライナー
0513デフォルトの名無しさん
2006/01/20(金) 17:32:520514デフォルトの名無しさん
2006/01/20(金) 20:12:19とりあえず動けばいい一発ネタのことを「ワンライナー」と思っていた。
0515デフォルトの名無しさん
2006/01/20(金) 20:37:520516デフォルトの名無しさん
2006/01/20(金) 20:59:440517デフォルトの名無しさん
2006/01/20(金) 23:23:520518デフォルトの名無しさん
2006/01/21(土) 00:15:100519デフォルトの名無しさん
2006/01/21(土) 00:53:050520デフォルトの名無しさん
2006/01/21(土) 02:41:29そんな主義に共感して、機械伯爵の読み物を軽く理解してみようとしたが、
#4で頭脳の限界を感じた。
職業で必要に迫られていない数学ダメだった30歳には、あの生徒役の登場人物の
センスが信じられない。
0521デフォルトの名無しさん
2006/01/21(土) 15:03:56スタイルシートぐらい使ってほしい。
0522デフォルトの名無しさん
2006/01/21(土) 16:28:340523デフォルトの名無しさん
2006/01/21(土) 17:25:21印刷して使えたら便利なんだけど。
0524デフォルトの名無しさん
2006/01/22(日) 22:24:26個人的にWindows用のActive Pythonマニュアルが比較的見やすくて印刷できる形式にも
なっているから気に入っているんだけど。HOWTOも結構あるし。
しかし、リファレンスの理想はJavaDoc形式かも。Pythonのは総じて見難い(気がする、どうせソース見るからええけど)
0525デフォルトの名無しさん
2006/01/22(日) 23:57:090526524
2006/01/23(月) 23:45:41プラスαが書いてある。キーワード検索などもできるようになっていたりする。
まあ、英語だけど中学英語と片手辞書で読めるから。
0527デフォルトの名無しさん
2006/01/24(火) 14:57:38http://aspn.activestate.com/ASPN/docs/ASPNTOC-APYTH2.4.0/
ざっと見たところ、ActivePythonの付属マニュアルは、Python.org版に付いてくるオフィ
シャルドキュメントに以下の分が追加されてる模様。
ActivePython 2.4 - Online Docs と Python.orgの差分
- Python COM
- PyWin32 Documentation
- Win32 API
- ISAPI filters and extensions
- ActivePython User Guide
- Installation Guide
- Release Notes
- What's Included
- Getting Started
- FAQ
- Helpful Resources
- Non-Programmer's Tutorial for Python
- Dive Into Python
- Python FAQs
- Python HOWTOs
- Python Enhancement Proposals(PEPs)
- Pythonwin and win32ui
0528デフォルトの名無しさん
2006/01/24(火) 15:00:040529デフォルトの名無しさん
2006/01/24(火) 23:37:160530デフォルトの名無しさん
2006/01/24(火) 23:48:46http://brianray.chipy.org/Python/pythonconditionalexpressions.html
ちなみに三項演算子(trinary operator)じゃなくて条件式(conditional expression)ね。
0531デフォルトの名無しさん
2006/01/25(水) 00:06:08What's New in Python 2.5をざっとよんだだけでした....
0532デフォルトの名無しさん
2006/01/25(水) 01:37:44()の中をどっちか小数点にすると、ちゃんと3になるんだが納得できん。
0533デフォルトの名無しさん
2006/01/25(水) 02:03:070534デフォルトの名無しさん
2006/01/25(水) 02:10:022200曲オーバーぐらいのところで
Fatal Python error: deallocating None
とか出て終了しちゃいました。
どうやら参照カウントが問題らしいとは分かったのですが、
Python/C API リファレンスマニュアルを見ても、そもそもCが分からんので
どこが悪いのか分かんないです。どなたか教えていただけないでしょうか。
0535デフォルトの名無しさん
2006/01/25(水) 02:26:14作者にバグを報告して直してもらえばいいジャマイカ。
0536デフォルトの名無しさん
2006/01/25(水) 04:39:030537デフォルトの名無しさん
2006/01/25(水) 09:09:44ファイル一つ読む毎に4ぐらい減ってたのが1になった。
まだ見落しがあるみたいだが、ま、いっか。
0538デフォルトの名無しさん
2006/01/25(水) 09:27:34ナイス記事ポインタ。
しかし、なんか気持ち悪いな。
文は値を持たないっていうPythonの大原則が・・・・。
これやるんだったら、代入文も値持つようにしてくれないと、納得いかないよ!
0539デフォルトの名無しさん
2006/01/25(水) 16:50:58http://www.pycontest.net/job
http://www.pycontest.net/ranking/
0540デフォルトの名無しさん
2006/01/25(水) 21:01:470541デフォルトの名無しさん
2006/01/25(水) 22:17:43最近になってようやく2.4をいれてみたんですが,
デコレータってみなさんどんな時に使ってますか?
用例をググッてみても型チェックやログ取りぐらいしか
なくて,いまいちどんな時につかうといいのかなと、、、
0542デフォルトの名無しさん
2006/01/25(水) 22:36:550543デフォルトの名無しさん
2006/01/25(水) 22:44:51O/RマッパとかとかXMLマッパとか作ると面白いのではないかと思う。
0544デフォルトの名無しさん
2006/01/25(水) 22:56:330545デフォルトの名無しさん
2006/01/25(水) 23:50:21どこかで,デコレータつかうとアスペクト指向っぽくなる
ってあったんですが,AOP自体あんまり理解してないもので、、、
たとえば,WyPy(pythonでかかれたコード最小のwiki)の作者
のSean B. Palmerさんが書いてるAzimuthっていうblosxomに
似たblog用のスクリプトを見つけたんですが,
ttp://inamidst.com/inside/notes/azimuth
この中でdispatcherって関数がデコレータとして使われてる
るんですが,別にデコレータにしなくてもいいんじゃないかと、、、
0546デフォルトの名無しさん
2006/01/25(水) 23:57:04文に見えても、式ですから。
0547532
2006/01/26(木) 02:52:55ホントだ。目から鱗。この時点でもう、プログラムが怖くなるよ。
これはbinaryの特性で「全部の数値(小数)は2のべき乗で作ってる」のが
原因なんだろうかね。他のスクリプト言語でもこんなんだったら、
こういうものとして覚悟するしかないかぁ。
0548デフォルトの名無しさん
2006/01/26(木) 02:57:13スクリプト言語では少数派かもしれんが、普通のプログラム言語(Cなど)
では一般的挙動。だから注意するのが普通のプログラマの常識。
0549デフォルトの名無しさん
2006/01/26(木) 02:59:530550デフォルトの名無しさん
2006/01/26(木) 04:57:35os.environ['QUERY_STRING']以外にGETで渡された内容を取得する方法はないですか?
0551デフォルトの名無しさん
2006/01/26(木) 07:59:26だから、>>538は一見文に見えちゃう式が気持ち悪いと言っているんだと思うんだけどな。
リスト内包とか、ジェネレータ式は [ ] とか ( ) で囲まれているから、まだ目視ですぐに
判断できるんだけど、あれは目印が少なすぎるかと。
0552デフォルトの名無しさん
2006/01/26(木) 23:54:42or
import mod_python
0553デフォルトの名無しさん
2006/01/27(金) 02:00:41// ってコメント?
>547
Write Great Codeを嫁。
0554デフォルトの名無しさん
2006/01/27(金) 02:10:29//は切捨て割り算だよ。
現状(2.4)では
>>> 1/3, 1//3, 1.0/3, 1.0//3
(0, 0, 0.33333333333333331, 0.0)
のようになるが、Python 3あたりで1/3は1.0/3と同じになる予定なので
明示的に切り捨てたいときは//を使っておきましょうってことになってる。
0555デフォルトの名無しさん
2006/01/27(金) 02:12:42ちなみに2.4でも
>>> from __future__ import division
>>> 1/3, 1//3, 1.0/3, 1.0//3
(0.33333333333333331, 0, 0.33333333333333331, 0.0)
となる。
0556デフォルトの名無しさん
2006/01/27(金) 17:11:59XAMPP
http://www.apachefriends.org/en/xampp-windows.html
と
xampp-python-addon-2.3.5
http://prdownloads.sourceforge.net/xampp/xampp-python-addon-2.3.5-installer.exe?download
をインスコして何の設定もいじらずにブラウザでlocalhost/python/index.pyにアクセスしてみてもpythonが動いてくれてないみたいなんですが・・・
どなたかどこら辺をいじれば動くようになるかご存じないでしょうか・・・
0557デフォルトの名無しさん
2006/01/27(金) 18:35:120558デフォルトの名無しさん
2006/01/27(金) 19:31:27えー。ヘンな仕様。
切り捨てであることを前提に書いてるコードなんて山ほどあると思うが、
どうすんだろ。forとか。
0559デフォルトの名無しさん
2006/01/27(金) 19:46:130560デフォルトの名無しさん
2006/01/27(金) 19:50:503分の1になるんじゃなかったっけ。
0561デフォルトの名無しさん
2006/01/27(金) 19:51:02Python の未来のことを考えて,自然な割り算に自然な割り算記号を割り当てたかったんだろうな.
過去書かれたコードはとりあえず __past__ みたいなので凌いでもらって.
仕様のヘンさで言うと,1/3 が 0 になるのは相当気持ち悪く思えたなあ.今はだいぶ慣れちゃったけど.
0562デフォルトの名無しさん
2006/01/27(金) 23:59:150563デフォルトの名無しさん
2006/01/28(土) 00:02:31python以外の言語経験は?
0564デフォルトの名無しさん
2006/01/28(土) 00:04:34知識は無駄じゃないにせよ、Cとかほど必須じゃねえしよ。
あんま手を広げても、一杯一杯になるのがオチじゃねえの。
あせんねえで無理せずコツコツやってけば、十分じゃね?まあ、他人事だがよ。
0565デフォルトの名無しさん
2006/01/28(土) 00:18:18IBM PredesktopにはPythonが含まれている。
既出だったらスマソ。
0566デフォルトの名無しさん
2006/01/28(土) 15:04:22\[ \frac{1}{3} \]
を提案しちゃうぞー。
0567デフォルトの名無しさん
2006/01/28(土) 15:15:10そんな打ちにくくて読みにくいのは嫌だ。
0568デフォルトの名無しさん
2006/01/28(土) 16:09:27h(ry
0569デフォルトの名無しさん
2006/01/29(日) 00:09:46python.exe -c "print '%02d' % 3"
このコマンドを実行したらこんなエラーが出ます。
Traceback (most recent call last):
File "<string>", line 1, in ?
TypeError: not all arguments converted during string formatting
対話モードだったらちゃんと実行されるのですが・・・
何が原因なんでしょうか?
0570デフォルトの名無しさん
2006/01/29(日) 00:15:56うちでは動くぞ。何か変なシェルを使ってエスケープされてるとか。
試しに echo "print '%02d' % 3" とかやってみれば?
0571デフォルトの名無しさん
2006/01/29(日) 00:23:24Nyacusが%0をエスケープしていたようです。
cmdではちゃんと動きました。
0572デフォルトの名無しさん
2006/01/31(火) 01:20:02x<enter>だと"String"と出て、print xだとそのままStringと出るのは面白い。
なんか使い分けの使い道(??)ありそうだ。
ところでみんな、=とかの前後って必須じゃない時も半角スペース入れてる?
0573デフォルトの名無しさん
2006/01/31(火) 01:23:38PEP 8 -- Style Guide for Python Code
http://oldriver.org/python/pep-0008j.html
0574デフォルトの名無しさん
2006/01/31(火) 01:30:43ま、好き好きなんだけど、故意に独自のスタイルにして得られるものはほとんどない。
これから学ぶならば>>573のような標準的スタイルに慣れたほうがいいと思う。
0575デフォルトの名無しさん
2006/01/31(火) 01:38:130576デフォルトの名無しさん
2006/01/31(火) 01:42:070577デフォルトの名無しさん
2006/01/31(火) 01:53:00ストレス無く可能ならばそのほうがいい。
君のプログラムを読むのは日本人だけだと限定する理由はあまりないでしょ?
0578デフォルトの名無しさん
2006/01/31(火) 02:42:130579デフォルトの名無しさん
2006/01/31(火) 06:29:370580デフォルトの名無しさん
2006/01/31(火) 06:48:330581デフォルトの名無しさん
2006/01/31(火) 07:54:110582デフォルトの名無しさん
2006/01/31(火) 09:01:150583デフォルトの名無しさん
2006/01/31(火) 13:33:16そうでもないよ。個人的には守ってる。
0584デフォルトの名無しさん
2006/01/31(火) 13:35:45>>584から日本語のレスは禁止です
0585デフォルトの名無しさん
2006/01/31(火) 14:04:000586デフォルトの名無しさん
2006/01/31(火) 14:05:23それ日本語だし。w
というわけで早くも解禁。
0587デフォルトの名無しさん
2006/01/31(火) 15:29:380588デフォルトの名無しさん
2006/01/31(火) 16:36:220589デフォルトの名無しさん
2006/01/31(火) 21:23:350590デフォルトの名無しさん
2006/01/31(火) 21:33:510591デフォルトの名無しさん
2006/01/31(火) 21:52:45Reincarnated to a human being? To a computer?
0592デフォルトの名無しさん
2006/01/31(火) 22:56:52I am penis.
0593デフォルトの名無しさん
2006/01/31(火) 23:16:52B : No, that is an apple.
A : Oh! sorry, apple...this is an apple...
B : Yes, that is an apple.
A : By the way, is this a pen?
B : No!!! That is an apple!!
A : Oh! sorry! This is an apple!!
B : Yes, good. you are smart. good..good.
A : Yes, this is an apple...But is this a pen?
B : Nooo!!! that is an apple!! apple!! apple!!!
A : Pen!! this is a pen!!! pen!!! pen!!!
B : NOOOOOOOOO!! NO!!!!! Fuck!!! apple!! apple!! apple!!! this is an apple!!!!!
A : Fuck!!This is Fucking pen!! pen!! Fuck pen!!
0594デフォルトの名無しさん
2006/01/31(火) 23:24:299行目ぐらいでワロタ
0595デフォルトの名無しさん
2006/01/31(火) 23:36:520596デフォルトの名無しさん
2006/01/31(火) 23:49:41うるせーIronPython野郎!
キレェオだろ?お前なんで所詮はキレェオなんだろ?早く言えよ!カミングアウトしちまえよ!
抜くぞ?いいのか?抜かれちまうぞ?本当にいいんだな?絶対だな?
証拠出せよ!早く出せよ!
Numericとnumarrayの互換性が無い事くらいド素人でもしってるんだよ!
それを何がPyPIだ?Pychinko以下!Pymanko未満!タプルたんに土下座して謝れよ!馬鹿!
日9ゲそえよ!見えねーじゃねぇだんろ?う?あ?あ?あ?
0597デフォルトの名無しさん
2006/02/01(水) 00:26:020598デフォルトの名無しさん
2006/02/01(水) 00:32:37so tiny...
0599デフォルトの名無しさん
2006/02/01(水) 01:37:27やべ。天才的だw
0600デフォルトの名無しさん
2006/02/01(水) 02:30:19B : ちげーよ。 りんごジャンw。
A : おー わりー, リンご...これはりんご...
B : そう りんご。
A : あのさ, これペンだよな?
B : ちげーって!!! りんごだって!!
A : おー! わりー!! りんごだ!!
B : そうだよ わかってんジャン。 イイジャンイイジャン
A : そう りんごだ...ペンだよな?
B : ハァァァァ!!! リンゴジャン!! リンゴ!! リンゴ!!!
A : ペンだ!! これぺンダ!!! ペン!!! ペン!!!
B : ハァァァァァァァァァァ!! ちっげって!!!!! 調子こいてんじゃねーぞ!!! リンゴ!! リンゴ!! リンゴ!!! リンゴ!!!!!
あとよろしく
0601デフォルトの名無しさん
2006/02/01(水) 02:36:530602デフォルトの名無しさん
2006/02/01(水) 02:53:460603デフォルトの名無しさん
2006/02/01(水) 02:57:130604デフォルトの名無しさん
2006/02/01(水) 03:05:140605デフォルトの名無しさん
2006/02/01(水) 03:25:17えらい時代の違うもの同士が罵り合ってるんだな。w
0606デフォルトの名無しさん
2006/02/01(水) 03:47:480607野暮チンですが
2006/02/01(水) 10:02:11たしか中学英語の教科書で一番最初にでてくるのが
>593(の前半部)みたいなのがあったんで
それを思い出して笑う、と
0608デフォルトの名無しさん
2006/02/01(水) 12:27:05B : いいえ、リンゴでございます。
A : これはこれは!申し訳ありません。リンゴ…これはリンゴでございますね。
B : ええ、リンゴでございます。
A : ところで、これはペンでございましょうか?
B : いえいえ! それはリンゴでございます!
A : これはこれは!申し訳ありません! これはリンゴでございましたか!
B : ええ、そうでございます。ご賢明であられますね。天晴れ天晴れ。
A : なるほど、これはリンゴでございます…しかし、ペンでございますね?
B : いえいえ!! これはリンゴでございます!リンゴ!リンゴ!!
A : ペン!これはペンでございます! ペン!ペン!!
B : いえいえいえいえいえ! お死にあそばせ! リンゴ!リンゴ!リンゴ! リンゴでございます!!!
A : ご逝去なさって!! これはペンでございます! ペン! ペン!!!
0609デフォルトの名無しさん
2006/02/01(水) 17:08:100610デフォルトの名無しさん
2006/02/01(水) 17:47:28そうでなきゃ、このスレと関係もないしそもそも面白くもない。
0611デフォルトの名無しさん
2006/02/01(水) 17:50:070612デフォルトの名無しさん
2006/02/01(水) 17:53:280613デフォルトの名無しさん
2006/02/01(水) 20:30:340614デフォルトの名無しさん
2006/02/01(水) 22:50:56※このスレ住人の英語力は厨房レヴェルです
0615デフォルトの名無しさん
2006/02/01(水) 22:55:130616デフォルトの名無しさん
2006/02/01(水) 23:03:080617デフォルトの名無しさん
2006/02/02(木) 03:51:520618デフォルトの名無しさん
2006/02/02(木) 04:19:000619デフォルトの名無しさん
2006/02/02(木) 15:11:34* Blendar
* OpenOffice
* KaaEDIT
これくらいしか知らん。たしかGimpでもつかえるとか聞いたんだが。
0620デフォルトの名無しさん
2006/02/02(木) 15:40:42使えるよ。
Gimp-Python (http://www.jamesh.id.au/software/pygimp/) とゆーのがあって
Gimp のプラグインを Python で書くことができる。
同様のことが Skencil (http://www.skencil.org/) でも可能だけど
こちらは Skencil 自体が Python で書かれているので、
「Python が組み込まれている」というとちょっと語弊があるかも。
http://ja.wikipedia.org/wiki/Python の「Pythonが組み込まれている製品」の
項目も見るべし。
0621デフォルトの名無しさん
2006/02/02(木) 15:40:470622デフォルトの名無しさん
2006/02/02(木) 15:41:470623デフォルトの名無しさん
2006/02/02(木) 15:51:540624デフォルトの名無しさん
2006/02/02(木) 15:59:32Poserの拡張言語がPythonだよん
http://www.e-frontier.co.jp/poser/index.html
0625デフォルトの名無しさん
2006/02/02(木) 17:06:47http://shade.e-frontier.co.jp/8/feature6.html
0626デフォルトの名無しさん
2006/02/02(木) 19:22:06ってググったらWikiPediaに書いてあったw
ttp://ja.wikipedia.org/wiki/Python
0627デフォルトの名無しさん
2006/02/02(木) 22:13:33Metasequoiaとか
Nokiaのケータイとか……あ、これハードウェアか
0628デフォルトの名無しさん
2006/02/02(木) 22:31:300629デフォルトの名無しさん
2006/02/02(木) 23:50:21前に記事を目にした時は、エミュレータでは問題なく動くのに、実機ではなぜか
安定しないって話だったけど。
0630デフォルトの名無しさん
2006/02/03(金) 00:36:30(他環境でズレるズレないとか?)、tab押下時に
埋め込むコードは、半角スペース4(8)個と
タブ文字とあり、前者推奨混ぜるな危険。
選べないようなエディタもあると思うんだが、
俺が使ってるのを調べたらその設定があった。安心。
ただ、python用の色分け設定(分かりづらいね。
でも正式な呼び方分かんない)がないんだ。
色分けしてくれるけど、IDLEは重すぎる。
自作できるけど、使える三色を何に割り振ると
いいのか考えると億劫だ。
0631デフォルトの名無しさん
2006/02/03(金) 01:01:38のリスト見たけど、3DCG用のソフトに偏ってるな。
0632デフォルトの名無しさん
2006/02/03(金) 01:09:16http://wiki.python.org/moin/AppsWithPythonScripting
# これもPythonParadoxっていうんだろーか... いわないよな...
0633デフォルトの名無しさん
2006/02/03(金) 01:40:51天下のILM御用達だからな。w
昔はSymbolicsとかLisp系が牛耳ってた分野だ。
0634デフォルトの名無しさん
2006/02/03(金) 02:35:08平穏なのがpythonのいいところかもね。
Guidoに次善と言われつつも、俺はハード派だけどさ。
0635デフォルトの名無しさん
2006/02/04(土) 18:31:51通常、httpd.conf内に
<Directory "D:/http/Apache2/htdocs/python">
AddHandler mod_python .py
PythonHandler mod_python.publisher
PythonDebug On
</Directory>
と記述し『action.py』というスクリプトに関数『search』があるとすると、
ブラウザからはhttp://localhost/python/action.py/search?mode=aaa&type=bbb
という形でアクセスすると思います。
それを『スクリプト名+.py』ではなく,
http://localhost/python/action/search?mode=aaa&type=bbb
とすることは出来ないでしょうか?
要は『.py』をなくしたいのですが、可能でしょうか?
0636デフォルトの名無しさん
2006/02/04(土) 18:46:060637デフォルトの名無しさん
2006/02/04(土) 19:24:33ということでPythonはじめます!
チュートリアル見てきますね!
0638635
2006/02/04(土) 19:42:21ありがとうございます。このモジュールで出来そうです。
が、試したところ上手く行かないので、つづきはApacheスレで聞いてきます。
0639デフォルトの名無しさん
2006/02/05(日) 03:41:37arg = u"some.exe 日本語名.txt"
pin, pout = os.popen4 (arg, "t")
とやると、some.exe には "譌・譛ャ隱槫錐.txt" というふうに、
引数の"日本語名.txt"が化けて渡されてしまうんだけどなんで?
sys.getdefaultencoding () は utf-8 で、
sys.getfilesystemencoding () は mbcs になってるんだけど関係あるかな
0640デフォルトの名無しさん
2006/02/05(日) 05:14:48学生時代に休みを数えたら半年あった。
今は土曜日も休みだから、7ヶ月近くが休みなのかな。
0641デフォルトの名無しさん
2006/02/05(日) 12:17:412.4以降ならCJKCodecsがデフォルトで入っているので、
os.popen4(args.encode(sys.getfilesystemencoding()), "t")
とすればいいのではないかな。
0642デフォルトの名無しさん
2006/02/05(日) 12:41:35プログラムの冒頭に
# -*- coding: ms932 -*-
と書くべし。
0643デフォルトの名無しさん
2006/02/05(日) 12:50:46ソースの最初の行に
# -*- coding: Shift-JIS -*-
って書くと直ったりしない?
(ソースをShift JISで書いている場合)
0644デフォルトの名無しさん
2006/02/05(日) 12:51:270645637
2006/02/05(日) 13:40:52tibet.que.ne.jp/otani/2004python/2004pythonmenu.html
こっちもよさげです.Cをかじった程度なのでそれを超えるように頑張ろう.
shis-jisじゃなくてeuc-jpで書いてもいいのでしょうか.
0646デフォルトの名無しさん
2006/02/05(日) 15:09:26PythonやるならPEPは全部見ておいた方がいいお。
Style Guide for Python Code
http://www.python.org/peps/pep-0008.html
Defining Python Source Code Encodings
http://www.python.org/peps/pep-0263.html
0647デフォルトの名無しさん
2006/02/05(日) 15:50:36True
>>> '20060101' > '2007'
False
この動作はずっと保証されると考えてよいのかな
0648デフォルトの名無しさん
2006/02/05(日) 15:55:370649デフォルトの名無しさん
2006/02/05(日) 16:03:05ただの文字列ソートとかに使われる規則そのままか。
時刻だからとか、文字列の長さがとか考えすぎた。
お騒がせ致した。
0650639
2006/02/05(日) 16:57:23冒頭にはいつもUnicode宣言しているので大丈夫と思う
# -*- coding: utf_8 -*-
あと args.encode(sys.getfilesystemencoding()) を使うと、
日本語名.txt では問題ないんだけど、中国語名 だと
"cp932 コーデックはエンコードできません:不正なバイト列です"
と怒られるんだよな
やっぱり、try 文を多用してそれぞれの文化圏の文字に
合わせてコーデックを指定してあげないといけないのかな?
0651639
2006/02/05(日) 20:24:26インターフェースと拡張性をもつ、ファイラ他、いろんな機能を
もったアプリを作ってみたいのね
で、それにTTA (オーディオファイルコーデック) のフロントエンド機能を
実装しているところなんだけど、>>650 に書いた問題で1週間悩んでるんです
もしよかったらソースを見ていただいて、何か良いご指摘いただけそうで
あればお願いします (解凍パスはpython)
http://sund1.sakura.ne.jp/uploader/source/up3763.zip
wxPython が必要。main.pyw 実行後、シェルに「tta.FrontEnd ()」と
打つと問題の小窓が開きます
0652デフォルトの名無しさん
2006/02/05(日) 22:01:27Traceback (most recent call last):
File "main.pyw", line 76, in ?
execfile (siteinit)
File "./site/siteinit.py", line 9, in ?
import tta
ImportError: No module named tta
それはそれとして,wxPython-unicode で GetText したら,unicode オブジェクトじゃなくて utf-8 の string が返ってくるんじゃないの.ひょっとして wxPython-ansi 使ってるのかな?
0653デフォルトの名無しさん
2006/02/05(日) 22:32:36Windows では unicode オブジェクトをそのままファイル名として
open() に渡せるので、encode() する必要はないのでは?
0654639
2006/02/05(日) 22:59:47sitecustomize.py が起動時に読み込まれてないみたい
sitecustomize の中でsiteinitをパスに追加するのを行ってるので。。
あと、wxPython 自体はunicode 使ってます
引数もprint type (arg) 等でunicode 型なのは確認してるんだよね
#===== はカンベンw
それと、tta.py の161行目が、
× os.system (fi.encode (sys.getfilesystemencoding ()))
○ os.system (arg.encode (sys.getfilesystemencoding ()))
と修正でした、スマン
そのままだと指定ディレクトリ内の全ファイルをどんどん実行してしまう
>>651
そのままだと、DOS窓のエンコードと合わないと聞いたので
エンコード指定してた
http://lowlife.jp/nobonobo/zine/5/6.html
でも、エンコード指定しなくてもエラーになっちゃうんだよ
0655639
2006/02/05(日) 23:25:31すまん、sitecustomize.py の、
gettext.install ("main", os.path.join (os.getcwdu (), "locale"), True)
が原因だたよ
削除してくれ、すまん
0656デフォルトの名無しさん
2006/02/06(月) 00:50:23主な症状:
1.周囲の人をバグ取りに動員する。
2.自己解決する。
0657639
2006/02/06(月) 01:24:17まだ解決はしていないのだけど、まあ、
おそらくDOS窓がユニコード受け付けてくれないのかなー、と
いうことで結論しときます thx
0658デフォルトの名無しさん
2006/02/06(月) 02:06:15問題を整理すると、以下のような感じだとおもう。
os.system() や os.popen4() に、unicode文字列を上手に渡すにはどうしたらいいんだろうか。
-------- ここから nihao.py --------
# -*- coding: utf-8 -*-
import os
# "c:\temp\中文的〓好.txt" を作成 (※「〓」 -> 「イ尓」)
ustr_nihao = u'c:\\temp\\\u4e2d\u6587\u7684\u4f60\u597d.txt'
file_nihao = open(ustr_nihao,"wb")
file_nihao.write("nihao !")
file_nihao.close()
## ここからが問題
## notepad.exe で "c:\temp\中文的〓好.txt" を 開く
## 失敗1 : os.system() + encode("utf-8")
# utf-8で渡すと文字化け
# 「ファイル c:\temp\荳ュ譁・噪菴■螂ス.txt が見つかりません。」
str_exec = 'notepad.exe ' + ustr_nihao.encode("utf-8")
os.system(str_exec)
-------- ここまで nihao.py --------
0659639
2006/02/06(月) 02:22:37そう、それが言いたかった!
一つの解決策としては、 win32com.client 等で notepad.exe を
com 操作してファイルをオープンさせるとか
=> ただし可搬性がない、os が限定される
0660デフォルトの名無しさん
2006/02/06(月) 02:29:25GetShortPathName でショートネーム取得すれば認識されるんじゃない?
0661658
2006/02/06(月) 02:33:59最初からこんな風にして欲しかったな…。
なんとなく、os.system() や os.popen4() にunicode文字列を渡すのは無理な気がするよ。
現実的な解としては、
1. tta_enc.exeを呼び出す前に"hogehoge.$$$"みたいな無難なファイル名にリネーム
2. tta_enc.dll を直接使う
3. win32com.client を使用して、COM経由で呼び出す
くらいかもねー。
0662639
2006/02/06(月) 02:53:06はじめてwin32api.GetShortPathName (path) を使ってみたけど、
なぜか英語以外の path の場合はエラーになるみたい
この関数の使い方もうちょい調べてみます
>>658
すまんぽ。書きながら自分で頭の整理ができてきたっていうのもあって。。
それと、解1がとてもベストな気がするね
win32comはできれば使いたくないし
>>641-661 長い間悩んで、結局無理とわかったのだけど、
無理とわかっただけでも楽になったよ
本当にどうもありがとう
0663デフォルトの名無しさん
2006/02/06(月) 02:54:19os.system( 'notepad.exe ' + codecs.mbcs_encode( ustr_nihao )[0] )
↑で動くと思うが
Windowsの内部エンコーディングはUTF-8じゃなくてUCS-2
0664639
2006/02/06(月) 03:07:28残念ながら "中文的?好 は見つからない" となってしまう
0665デフォルトの名無しさん
2006/02/06(月) 03:40:02これがどうも気になるんだけど。変換テーブルまわりの問題かな。
>>> ustr_nihao = u'c:\\temp\\\u4e2d\u6587\u7684\u4f60\u597d.txt'
>>> ustr_nihao
u'c:\\temp\\\u4e2d\u6587\u7684\u4f60\u597d.txt'
>>> ustr_nihao.encode("mbcs")
'c:\\temp\\\x92\x86\x95\xb6\x93I?\x8dD.txt'
0666664
2006/02/06(月) 04:12:210667デフォルトの名無しさん
2006/02/06(月) 04:13:110668639
2006/02/06(月) 06:25:07どのようなコマンドで実行しているのか気になって探してみたんだけど、
os.startfile (file) でやってるみたいね
これも同様に日本語の場合はOKで、中国語の場合は動作しない
試したヤツ↓
http://cheeseshop.python.org/pypi/twander/3.195
他のファイラなども調べて、参考になるの探してみる
0669デフォルトの名無しさん
2006/02/06(月) 13:53:57日本語Windowsなら当然の動作だと思われ。この場合mbcsとは実質的に
ms932のことだから中国語の文字は表せない(?に置き換えるしかない)。
0670デフォルトの名無しさん
2006/02/06(月) 13:58:39Unicode なファイル名はそもそも OS 依存。
OS 依存なものを扱おうとしているのだから可搬性がないのは当たり前。
0671デフォルトの名無しさん
2006/02/06(月) 15:22:070672639
2006/02/06(月) 19:14:46Jython 2.1 on java1.5.0_04 (JIT: null)
>>> import java.lang
>>> import os
>>> r = java.lang.Runtime.getRuntime ()
>>> r.exec (u"中文的你好.txt")
Traceback (innermost last):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~略
java.io.IOException: java.io.IOException: CreateProcess: 中文的?好.txt error=2
>>> os.system (u"中文的你好.txt")
'中文的?好.txt' は、内部コマンドまたは外部コマンド、~~~~
嗚呼
0673デフォルトの名無しさん
2006/02/06(月) 19:56:310674デフォルトの名無しさん
2006/02/06(月) 20:03:44ctypes を使って GetShortPathNameW を使えば
unicode のファイル名から短い名前を取得することはできる
で、この短い名前を使えば startfile でも正常に呼び出せたよ
import ctypes
import os
ustr_nihao = u'u4e2d\u6587\u7684\u4f60\u597d.txt'
GetShortPathNameW = ctypes.windll.kernel32.GetShortPathNameW
shortName = ctypes.create_unicode_buffer(256)
GetShortPathNameW(ustr_nihao, ctypes.byref(shortName), ctypes.sizeof(shortName))
print shortName.value
os.startfile(shortName.value)
0675658=665
2006/02/06(月) 20:40:34すばらしい。勉強になりました。
>>663 & >>666
open() では Unicode文字列を問題なく扱えるので、実装を調べてみたよ。
windows環境での核心部分は fileobjects.c #165 の _wfopen() あたりだな。
http://pxr.openlook.org/pxr/source/Objects/fileobject.c?v=2.4.2#165
165: f->f_fp = _wfopen(PyUnicode_AS_UNICODE(f->f_name),
166: PyUnicode_AS_UNICODE(wmode));
でも、 os.system() の中身がどこに書いてあるか見つけられないので、比較できん。
だれかおしえてー。
0676デフォルトの名無しさん
2006/02/06(月) 20:50:28ちなみに startfile は同じファイルの win32_startfile
ともに PyArg_ParseTuple で文字列を取得するときにユニコードから変換される
fileobject.c の open_the_file の実装みたいにユニコードかチェックして
_wsystem、ShellExecuteW を呼び出してくれれば多分エラーにならない
0677658
2006/02/06(月) 21:11:42ありがとう、見つけられました。
ほんとだ。PyArg_ParseTuple() → system() / ShellExecute() してる。
これじゃあ、そのままやってダメだったのも納得だなー。
http://pxr.openlook.org/pxr/source/Modules/posixmodule.c#1963
1963: sts = system(command);
http://pxr.openlook.org/pxr/source/Modules/posixmodule.c#7281
7281: rc = ShellExecute((HWND)0, NULL, filepath, NULL, NULL, SW_SHOWNORMAL);
0678デフォルトの名無しさん
2006/02/06(月) 21:13:44open その他の関数以外は unicode オブジェクトを受け付けない(与えると
ascii コデックでエンコードしようとして死亡)ということか。
PEPとパッチを書いて開発者を動かさないと状況は改善しないかもね・・・。
0679639
2006/02/06(月) 21:19:07これいいね、ありがとう!使ってみます!
>>675-677
すごいことにやってるね。。
これってPython側のバグだたの?
できれば、どういう事だったのか教えて欲しい
それにしてもマクロだらけになったCのコードを追っかけてると、
Python 使えることに感謝
0681デフォルトの名無しさん
2006/02/07(火) 03:59:27Pythonではまず無い…、んだよね?
0682デフォルトの名無しさん
2006/02/07(火) 09:40:030683デフォルトの名無しさん
2006/02/08(水) 01:38:28ちょっといじってみたのですが、フリーのSPEの方が便利そうな印象を受けてしまいました。
純粋にPythonだけにフォーカスしてるからなのでしょうか。結構なお値段するのに>Komodo
逆にPythonしか使わなくてもKomodoじゃなきゃやってらんねぇぞゴルァって機能があれば
教えてください。参考にしたいので。
0684デフォルトの名無しさん
2006/02/08(水) 08:50:38かなりイイですねこれ。今までなんで話題に上らなかったんだろうってくらい。
Eclipseのpydevプラグインから乗り換えました。ありがとうございました。
0685デフォルトの名無しさん
2006/02/08(水) 18:22:44やりたいこと:VPサーバー(Linux)にtelnetもしくはssh経由でPython2.3.5をインストール。
やったこと: usr/local にPython-2.3.5.tgzを解凍し、新しく出来た usr/local/Python-2.3.5 内で configure を実行。結果は、
checking MACHDEP... linux2
checking EXTRAPLATDIR...
checking for --without-gcc... no
checking for --with-cxx=<compiler>... no
checking for c++... no
checking for g++... no
checking for gcc... no
checking for CC... no
checking for cxx... no
checking for cc++... no
checking for cl... no
checking for gcc... no
checking for cc... no
checking for cc... no
checking for cl... no
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
./configure: sort: command not found
./configure: sort: command not found
との表示でインストール出来ません。
同じような環境でインストールしたことのある方いましたら知恵を貸してください。Pythonのバージョンは異なっても構いません。
0686デフォルトの名無しさん
2006/02/08(水) 18:44:30エラーの通り、gccがインストールされてないのでは?
シェルで where gcc とかやって、コンパイラがインストールされているかを確認して、
入ってなかったらパッケージからインストールすればいい。
0687デフォルトの名無しさん
2006/02/08(水) 18:44:40>configure: error: no acceptable C compiler found in $PATH
・外部接続者がコンパイルできないように、パスからgccを見えなくしてある
・gccそのものを入れていない
0688デフォルトの名無しさん
2006/02/08(水) 18:46:40インスコされてれば gcc: /usr/bin/gcc みたいな感じの結果が表示される。
0689685
2006/02/08(水) 19:03:57完全なunix初心者で全くわからない状態ですが、
puttyっていうソフトで接続(おそらくssh)し、試したところ、
sh-2.05$ whereis gcc
sh: whereis: command not found
と表示され、『where』『whereis』ともにコマンドがないとの事で実行できませんでした。
また、FTPで接続し、いろいろ探してみましたが『gcc』は見当たりませんでした。
恐らくインストールされていないので、それをクリアしてから再度試してみます。
ちなみに『gcc』を必要としないもっと簡単なインストール方法っていうのはないでしょうか?
例えばローカル(WinXP使用)でインストールしてからアップロードするですとか…
0690デフォルトの名無しさん
2006/02/08(水) 20:08:150691690
2006/02/08(水) 20:11:57バイナリをもらってくるかローカルでビルドして、サーバにもっていけばいいと思います。
mxcgipython:
http://www.egenix.com/files/python/mxCGIPython.html
0692デフォルトの名無しさん
2006/02/08(水) 20:27:49http://pythonide.stani.be/
0693685
2006/02/08(水) 21:55:03ありがとうございます。
gccのインストールはディスク容量不足で不可能と判明。
mxcgipythonも調べましたが、
配布されているバイナリが拡張子『.gz』となっており、ローカルでもサーバー上でも解凍不可でした。
最終的にはmod_pythonをインストールしたかったのですが、自分の知識では無理そうです。
素直にレンタルサーバの運営会社に問い合わせることにします。
ご迷惑おかけしました。
0694デフォルトの名無しさん
2006/02/08(水) 21:59:34だれか何か言ってあげて
0695デフォルトの名無しさん
2006/02/08(水) 22:03:07もう済んだことだ、あいつのことは忘れろ!
彼女を捨てて海外で医者になることを選んだのだから!
0696デフォルトの名無しさん
2006/02/08(水) 22:22:010697デフォルトの名無しさん
2006/02/08(水) 23:39:410698デフォルトの名無しさん
2006/02/08(水) 23:45:070699デフォルトの名無しさん
2006/02/09(木) 04:31:49HI-UXには入ってなかったなー
0700デフォルトの名無しさん
2006/02/09(木) 09:52:15gzip を知らない香具師には入っていても使えまい
0701デフォルトの名無しさん
2006/02/09(木) 13:03:130702デフォルトの名無しさん
2006/02/09(木) 13:29:42$ wget http://phd.pp.ru/Software/Python/misc/mxCGI/cgipython-2.4.1-Linux-2.4.29-i686-with-debian-3.0.gz
$ wget http://phd.pp.ru/Software/Python/misc/mxCGI/mxCGItest.py
$ gzip -d cgipython-2.4.1-Linux-2.4.29-i686-with-debian-3.0.gz
$ chmod +x cgipython-2.4.1-Linux-2.4.29-i686-with-debian-3.0
$ mv cgipython-2.4.1-Linux-2.4.29-i686-with-debian-3.0 cgipython
$ ./cgipython mxCGItest.py
('__builtin__', '__main__', '_codecs', '_csv', '_locale', '_socket', '_sre', '_symtable', '_weakref', 'array', 'binascii', 'cPickle',
'cStringIO', 'cmath', 'errno', 'exceptions', 'fcntl', 'gc', 'gc', 'grp', 'imp', 'imp', 'marshal', 'math', 'md5', 'mmap',
'operator', 'parser', 'posix', 'pwd', 'select', 'sha', 'signal', 'struct', 'sys', 'syslog', 'thread', 'time', 'unicodedata',
'zipimport', 'zlib')
0703デフォルトの名無しさん
2006/02/09(木) 14:43:420704デフォルトの名無しさん
2006/02/09(木) 23:50:25http://us.pycon.org/
http://wiki.python.org/moin/PyCon2006/Talks
いってみたいなぁ。
0705デフォルトの名無しさん
2006/02/10(金) 05:14:28ブラウザとかのダウンロードを使ったせいで,
実は伸張済のアーカイブファイルだったというオチを思いついた
0706デフォルトの名無しさん
2006/02/10(金) 08:21:250707デフォルトの名無しさん
2006/02/10(金) 10:44:00あれ、すごいらしいよね
0708デフォルトの名無しさん
2006/02/10(金) 10:56:22プログラミング初心者に優しくて,上級者のハートをつかんで離さない
といった具合なのでしょうか.
0709デフォルトの名無しさん
2006/02/10(金) 11:41:24http://d.hatena.ne.jp/Wacky/20051127 読んでみればちょっとはわかるよ。
http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20051110PythonJH/manifest.xml
で IronPython のデモが見れる。俺は英語圏に住んでるから
全部理解できたけど、そうじゃなくても大体何言ってんのかわかると思う
0710デフォルトの名無しさん
2006/02/10(金) 11:50:420711デフォルトの名無しさん
2006/02/10(金) 12:04:50さっぱりわからんかった…ウァアンb
0712デフォルトの名無しさん
2006/02/10(金) 12:22:390713デフォルトの名無しさん
2006/02/10(金) 18:13:320714デフォルトの名無しさん
2006/02/10(金) 19:53:18数値計算てどうせ、
for (i = 0; i < 10; i++){
printf("nibai: %d\n", i * 2);
}
みたいなのをCUIでやってみただけだろw
0715デフォルトの名無しさん
2006/02/10(金) 21:33:50自己紹介乙w
0716711
2006/02/10(金) 22:13:56pythonで何しようかなー
0717デフォルトの名無しさん
2006/02/10(金) 22:16:48特定しました。
0718デフォルトの名無しさん
2006/02/10(金) 23:11:17ホンマデスカ…京都の方?
0719デフォルトの名無しさん
2006/02/10(金) 23:14:31その通り。
0720デフォルトの名無しさん
2006/02/10(金) 23:16:19失礼します
0721デフォルトの名無しさん
2006/02/10(金) 23:32:590722デフォルトの名無しさん
2006/02/10(金) 23:54:040723デフォルトの名無しさん
2006/02/11(土) 00:17:470724デフォルトの名無しさん
2006/02/11(土) 00:29:08情報系の大学だと数値計算の授業があったりするね。
714はそういう事情を知らんのかな?(かなり痛い・・・)
> pythonで何しようかなー
そういうバックグラウンドがあるなら
H.P. Langtangen の「Python Scripting for Computational Science」とか
見てみると面白い鴨。
0725デフォルトの名無しさん
2006/02/11(土) 00:34:410726デフォルトの名無しさん
2006/02/11(土) 00:38:20俺は711氏じゃないけど面白そうだね。注文しよっと。
0727デフォルトの名無しさん
2006/02/11(土) 00:59:05VisualStudioの中でブレークポイントしかけたりデバッグできちゃうのかよ!
0728デフォルトの名無しさん
2006/02/11(土) 01:26:310729デフォルトの名無しさん
2006/02/11(土) 08:51:550730デフォルトの名無しさん
2006/02/11(土) 10:40:49これ、ほんとに出して欲しいよ。
フリーでなくてもいい。金出して買う。
0731デフォルトの名無しさん
2006/02/11(土) 11:49:24つ[scipy]
0732デフォルトの名無しさん
2006/02/11(土) 12:14:07中途半端じゃね?
リファレンスに記述があったとしても、実装がなされていない関数が多数ある
0733デフォルトの名無しさん
2006/02/11(土) 13:25:25面白そうだけど,一冊8000円超えるね.
学生にはきついんじゃなかろーか.
0734デフォルトの名無しさん
2006/02/11(土) 20:38:42def g(): f() ; print f.x
g() # 1と表示
関数staticな変数のシミュレートができる?
そんだけ
0735デフォルトの名無しさん
2006/02/11(土) 20:48:16何でこんなの書いたんだろう
0736デフォルトの名無しさん
2006/02/11(土) 22:56:55ttp://japan.cnet.com/news/ent/story/0,2000047623,20093901,00.htm
> Microsoftでは「Visual Studio」へのIronPythonのサポート追加をまだ表明していないが、同社がこれをサポートするというのが大方の見方だ。
CNETはよくはずれるから期待はしないでまつ
0737デフォルトの名無しさん
2006/02/11(土) 23:00:14徹底的に飼い殺しされて潰されるか
巧妙に乗っ取られてしまうぞ
0738デフォルトの名無しさん
2006/02/11(土) 23:02:16OpenGLのような運命をたどるだろう。
0739デフォルトの名無しさん
2006/02/11(土) 23:39:03最高。久しぶりに Visual Studio に戻れるかも
0740デフォルトの名無しさん
2006/02/12(日) 10:23:49http://www.python.org/peps/pep-0356.html
今回の変更はでかいのが多いなぁ……
非互換はなさそうなのが幸いだ
0741デフォルトの名無しさん
2006/02/12(日) 10:28:08MS 的にはもう Python に注力しなくなるんじゃね?
0742デフォルトの名無しさん
2006/02/12(日) 10:41:05.NET にあるいろんなオブジェクトを簡単にいじくることのできる IronPython
はかなり魅力的。
ちなみに Guido は時間の 50% を Python の改良に費やし、他の 50% を Python を
使用した社内で使うツールなどのプログラミングをしている。
0743デフォルトの名無しさん
2006/02/12(日) 10:47:240744デフォルトの名無しさん
2006/02/12(日) 10:49:082.5への変更点は俺がほしいと思っていた機能の追加/変更ばかり。
よさげだね
ちなみに IronPython って標準の Python より 1.8 倍速いらしいのな。
ってことは Windows 上だったらこれ使用したほうがいいってことになるな
0745デフォルトの名無しさん
2006/02/12(日) 10:55:35Java には完成度のかなり高い Jython があって、 C# には IronPython があるだろ?
多分無理だと思うが、これ二つ結合して Java も C# も自由自在に
操れるようにすれば、 Python は天下取れるんじゃね?
0746デフォルトの名無しさん
2006/02/12(日) 11:27:34> ちなみに IronPython って標準の Python より 1.8 倍速いらしいのな。
それ0.6頃の話でしょ。今はどうなのよ。
0747デフォルトの名無しさん
2006/02/12(日) 11:52:32だってクラスライブラリなんて最初から.NETの方が豊富なわけで
0748デフォルトの名無しさん
2006/02/12(日) 12:52:100749デフォルトの名無しさん
2006/02/12(日) 12:54:10IronPythonは.Net上で新規に書くならかなりいいと思う。
0750デフォルトの名無しさん
2006/02/12(日) 13:09:250751デフォルトの名無しさん
2006/02/12(日) 13:18:210752デフォルトの名無しさん
2006/02/12(日) 13:30:03Python も捨てると思うなぁ。
Google ってライバルだし。
0753デフォルトの名無しさん
2006/02/12(日) 14:25:59なにこれ?述語論理?
0754デフォルトの名無しさん
2006/02/12(日) 14:26:240755デフォルトの名無しさん
2006/02/12(日) 16:13:57def any(iterator):
0756デフォルトの名無しさん
2006/02/12(日) 16:14:420757デフォルトの名無しさん
2006/02/12(日) 16:26:02any - 渡されたイテレータの中身のどれかが真なら真を返す。全部偽なら偽を返す。
all - 渡されたイテレータの中身のどれかが偽なら偽を返す。全部真なら真を返す。
よく使われるような簡単なアルゴリズムを関数にまとめたんでしょ。
C++のSTLみたいな発想で。
……でも述語関数も欲しいです、先生……
0758デフォルトの名無しさん
2006/02/12(日) 19:36:39MSにとってはGoogleがライバルなのでなくてインターネットがライバルな印象
>>754
Pythonの移植品がMSに利用されるってだけでしょ
好きに利用させてあげれば良いじゃん
JavaScritpだてJScriptとかって別物として移植されたけどMSつかいこなせなったし
でも利用者がある程度いた事でAJAXに移行しやすかった人もいるみたいよ
MSが採用すればそれなにり利用者増えるでしょ。便利な物も出てくるよ。
本当に役にたたせるのはきっと別の会社なんだろうけど(
0759デフォルトの名無しさん
2006/02/12(日) 20:50:140760デフォルトの名無しさん
2006/02/12(日) 22:05:550761デフォルトの名無しさん
2006/02/12(日) 22:07:09Hello, Python!!!
"""
というわけで今日はprint文とif文について学びました.
失礼
0762デフォルトの名無しさん
2006/02/12(日) 22:15:37Type help() for interactive help, or help(object) for help about object.
フムフム
>>> help(None)
Welcome to Python 2.4!
!(゜∀゜)
0763デフォルトの名無しさん
2006/02/12(日) 23:02:41まあでもMSの仕込んだ使い辛い機能が本家の
Pythonにフィードバックする人もいないだろうし
本家のPython的には全然変わらないんじゃない?
0764デフォルトの名無しさん
2006/02/14(火) 03:22:15Python に Easter egg があったとは!!
0765デフォルトの名無しさん
2006/02/14(火) 10:57:47すまんがそれ、
help()
のこと。
0766デフォルトの名無しさん
2006/02/14(火) 15:28:22import this
がそれに近いものだよね
0767デフォルトの名無しさん
2006/02/14(火) 23:24:51zopeは多機能杉
0768デフォルトの名無しさん
2006/02/15(水) 00:29:50遊び始める前にimport os<enter><tab>os.system("cls")
っておまじないをしてる。
ちょっと前にこういうの詳しい人が見たとき、理由の説明は無くて
「最後にreturn書けやヴォケ」と言われた。「無いと気持ち悪い」って。
書かなくても画面きれいになるけど、なんかダメ?
0769デフォルトの名無しさん
2006/02/15(水) 00:56:07ああ、いるね。そういう些末な作法の違いに
やたらこだわって茶々入れてくる人。
それでいて自分は肝心なところが抜けてんのな。
気にしないで適当にあしらっときゃいいよ。
0770デフォルトの名無しさん
2006/02/15(水) 00:57:49スラド臭い流れだなwwwwwwwwwwwww
0771デフォルトの名無しさん
2006/02/15(水) 01:04:36コンソールで書くときなんて見せるのが目的じゃないんだから別に傍目は
気にしなくていいんじゃない?
0772デフォルトの名無しさん
2006/02/15(水) 01:06:02俺の環境では ^L できれいになるけど、そういう意味ではないのかな?
0773768
2006/02/15(水) 01:22:55戻り値が必要な場合でも.pyでもなし、機能するならそれでいいじゃない…。
ちなみにctrl-Lには、素のwin版プロンプト上ではバッファお掃除機能は
割当たってないみたいです。linux版は便利なんですね。
0774デフォルトの名無しさん
2006/02/15(水) 01:42:10cygwin版だとCtrl-L効くよ。
0775デフォルトの名無しさん
2006/02/15(水) 07:21:11linuxでpython-2.4.2を自分でコンパイルしたら、pyexpatというパーサが
勝手にインストールされたんですが、2.3.5ではインストールされませんでした。
pyexpatを2.3.5から使いたいのですが、これは本体に含まれてるのでしょうか?
それとも別途ダウンロードが必要ですか?もし後者なら、DL先を教えてもらえる
と嬉しいです。
あと、pyexpatとpy/xmlは別物ですか?
0776デフォルトの名無しさん
2006/02/15(水) 08:44:22Django
0777デフォルトの名無しさん
2006/02/15(水) 11:42:51ちょうどXMLまわりについて調べてました。参考にどうぞ。
> pyexpatを2.3.5から使いたいのですが、これは本体に含まれてるのでしょうか?
ライブラリ・リファレンスのの 「13.5 xml.parsers.expat」
http://www.python.jp/doc/release/lib/module-xml.parsers.expat.html によると、
「このモジュールでは、Expatパーザへのアクセスを提供するために pyexpat
モジュールを使用します。 pyexpatモジュールの直接使用は撤廃されています。」
とある。ので、pyexpat を使いたい人は、 "import xml.parsers.expat" しなさい
ということらしい。
> あと、pyexpatとpy/xmlは別物ですか?
「py/xml」って、「PyXML」のことですか?
PyXML には expat 以外のパーサも入ってます。詳しくは、「Package
Overview (PyXML)」から "expat","parser" のキーワードを中心に見ていくと
分かるんじゃないでしょうか。
PyXML: http://pyxml.sf.net
Package Overview (PyXML) : http://pyxml.sourceforge.net/topics/howto/node10.html
他には、libxml2のSAXが 「compatible with early expat versions」 と称してます。
Pythonでは lxml というライブラリから使えるっぽい。lxml には ElementTree
も入ってて便利です。
lxml: http://codespeak.net/lxml/
libxml2: http://xmlsoft.org/
0778デフォルトの名無しさん
2006/02/16(木) 07:00:05分かりやすい解説どうもです。2.3.5にもpyexpatは含まれてました。
ありがとうございました。
0779デフォルトの名無しさん
2006/02/17(金) 14:33:030780デフォルトの名無しさん
2006/02/18(土) 00:45:020781デフォルトの名無しさん
2006/02/18(土) 03:52:46標準2.4.2入れたらヘルプまで英語かよ。 orz
チュートリアルとかよく見てたのに、上書き食らった。
.msiだからヘルプだけ抽出して戻せないしって、
ああ、日本人に誤解の元となるバージョン違いの
ヘルプを使わせないための親心か。 イラネ-
0782デフォルトの名無しさん
2006/02/18(土) 04:11:482.3でも2.4でも好きな系列選んでな。
Docディレクトリに入れれば、なおよし。ファイル名のケツからjp削って
Python24.chmを上書きし返すと、IDLEから呼べるようになるしな。
0783デフォルトの名無しさん
2006/02/18(土) 16:38:120784デフォルトの名無しさん
2006/02/18(土) 19:12:24Apache + mod_python と Zope ならどっちが高性能でしょうか?
或いはウェブ上でPythonを使うのにもっと良い組み合わせってありますか?
0785デフォルトの名無しさん
2006/02/18(土) 19:24:450786デフォルトの名無しさん
2006/02/18(土) 20:47:540787デフォルトの名無しさん
2006/02/18(土) 21:05:450788デフォルトの名無しさん
2006/02/18(土) 21:12:27あなたの言う高性能がどういうことなのか説明してくれ
0789デフォルトの名無しさん
2006/02/18(土) 22:25:55単純な単位時間あたりのPV数ってことで、性能って言っているんだと思うがな。
、
パフォーマンス勝負でも、下手に書かれたPythonプログラムをmod_pythonで動かすのと、
Zopeでうまく作ってやるのとでは、ほとんど変わらない場合もあると思われる。
ま、>>785のいう通りってこった。
0790デフォルトの名無しさん
2006/02/19(日) 00:23:410791デフォルトの名無しさん
2006/02/19(日) 00:34:36もうsubwayの開発やめるって書いてある…。
理由はまねっこが2つも出てきてやる気なくしたからだって。
0792デフォルトの名無しさん
2006/02/19(日) 00:55:21昔98でバッチファイルを書いてたのを思い出すぜ。
0793デフォルトの名無しさん
2006/02/19(日) 11:11:56調べて次の python workshop で発表よろ
0794デフォルトの名無しさん
2006/02/19(日) 11:26:22そんな理由で開発やったり辞めたりする奴のプロダクトには依存したくないよねぇ。
0795デフォルトの名無しさん
2006/02/19(日) 12:06:40君が選択できるオプションは以下のとおりだ。
1)フレームワークから自分で作る
2)開発放棄されてもソース読んで自分でメンテする
3)クレクレ君であることを自覚し今後そういった文句は控える
0796デフォルトの名無しさん
2006/02/19(日) 14:28:494) 有料でサポートしてくれるフレームワークを使う。
0797デフォルトの名無しさん
2006/02/19(日) 14:38:07JythonとTurboGearsはあったのはなんかバランス悪いね
0798デフォルトの名無しさん
2006/02/19(日) 14:41:31適当なライタがいなかっただけでしょ。
0799デフォルトの名無しさん
2006/02/19(日) 16:31:160800デフォルトの名無しさん
2006/02/19(日) 18:44:030801デフォルトの名無しさん
2006/02/19(日) 18:50:560802デフォルトの名無しさん
2006/02/19(日) 20:21:220803デフォルトの名無しさん
2006/02/19(日) 21:17:320804デフォルトの名無しさん
2006/02/19(日) 23:02:16具体的にどこら辺がいいんだろう。
0805デフォルトの名無しさん
2006/02/19(日) 23:17:130806デフォルトの名無しさん
2006/02/20(月) 09:38:42apache+mod_pythonの良い所は、他のモジュールと組み合わせる事が
出来る事じゃないかな。例えば、俺が作ってる加速器実験用の鯖だと、
apache+mod_gridsite+mod_ssl+mod_pythonで GSI authenticationかまして、
DNで jobの優先度を振り分けたりとかしてるよ。
0807デフォルトの名無しさん
2006/02/20(月) 09:56:31特定しますた
0808デフォルトの名無しさん
2006/02/20(月) 10:22:110809デフォルトの名無しさん
2006/02/20(月) 11:58:180810デフォルトの名無しさん
2006/02/20(月) 15:13:210811デフォルトの名無しさん
2006/02/20(月) 16:06:180812デフォルトの名無しさん
2006/02/20(月) 16:22:420813デフォルトの名無しさん
2006/02/20(月) 23:01:190814デフォルトの名無しさん
2006/02/20(月) 23:14:590815デフォルトの名無しさん
2006/02/21(火) 00:21:320816デフォルトの名無しさん
2006/02/21(火) 00:31:070817デフォルトの名無しさん
2006/02/21(火) 01:23:50他の条件に含まれちゃうような限定された返り値が
欲しい分岐は、先頭の方に書かないと無視されるね。
カウンタが例えば5から減らして自分を再帰呼び出しする関数で、
0じゃないときA 1のときB 0のときC(&終了)の順だとAAAAAC(Bは呼ばれない)
1のときB 0じゃないときA 0のときC(&終了)の順だとAAAABC(無事できた)
設計が悪いと言われればそうだけど、else使わないで遊んでみたら
意外な結果になったんで。
0818デフォルトの名無しさん
2006/02/21(火) 01:43:320819デフォルトの名無しさん
2006/02/21(火) 02:06:180820デフォルトの名無しさん
2006/02/21(火) 11:30:35コードの振る舞いを説明するときはコードで例示してくれ。
説明能力もスキルアップしてほしいっす。
0821デフォルトの名無しさん
2006/02/21(火) 11:52:11if x != 0:
A
elif x == 1:
B
でBが実行されることは無い。そりゃそうだろ。
0822デフォルトの名無しさん
2006/02/21(火) 13:42:400823デフォルトの名無しさん
2006/02/21(火) 15:45:31「意外な結果」だと思われたことが意外だったり。
0824デフォルトの名無しさん
2006/02/21(火) 15:56:120825デフォルトの名無しさん
2006/02/21(火) 16:02:150826デフォルトの名無しさん
2006/02/21(火) 17:17:15ちょっとワラタ
けど cc -O みたいな最適かというか、
lint というか
そういう無意味なコードは恐らくはバグなので
論理的に無意味なものを検出して warning 出してくれる
コードチェッカなんてのはあってもいいかなとは思った
(もっとも >821 が無意味かどうかを判定するのはちと辛いか)
0827デフォルトの名無しさん
2006/02/23(木) 19:23:5498: Pythonについて0から教えてください
132: Pythonのお勉強 Part8
0828デフォルトの名無しさん
2006/02/23(木) 23:12:330829デフォルトの名無しさん
2006/02/23(木) 23:23:020830デフォルトの名無しさん
2006/02/24(金) 00:03:540831デフォルトの名無しさん
2006/02/24(金) 19:33:46どこかミラーサイトとかご存知ありませんか?
0832デフォルトの名無しさん
2006/02/24(金) 19:50:35http://diveintopython.org/download/diveintopython-pdf-5.4.zip
0833デフォルトの名無しさん
2006/02/24(金) 20:52:26そうですか〜解凍に失敗するんですよね…
ううむ
0834デフォルトの名無しさん
2006/02/24(金) 21:33:370835デフォルトの名無しさん
2006/02/24(金) 22:00:01うちでも問題なし。
0836831,833
2006/02/24(金) 23:41:32荒らして申し訳ありませんでした.
0837デフォルトの名無しさん
2006/02/24(金) 23:52:290838デフォルトの名無しさん
2006/02/25(土) 00:03:05すごい…そんなことできるんだ
0839デフォルトの名無しさん
2006/02/25(土) 01:57:500840デフォルトの名無しさん
2006/02/25(土) 02:36:04f = zipfile.ZipFile("diveintopython-pdf-5.4.zip")
for path in f.namelist():
print path
dname, fname = os.path.split(path)
if not os.path.exists(dname):
os.makedirs(dname)
if fname: # i.e. not a directory
open(path, "wb").write(f.read(path))
0841デフォルトの名無しさん
2006/02/25(土) 03:03:32python -c "import os,sys,zipfile;f=zipfile.ZipFile(sys.argv[1]);[(os.path.exists(d)or os.makedirs(d)is None)and open(os.path.join(d,b),'wb').write(f.read(d+'/'+b))for d,b in [os.path.split(p)for p in f.namelist()]if b]" diveintopython-pdf-5.4.zip
0842デフォルトの名無しさん
2006/02/25(土) 11:57:38常々疑問に思っていたのですが、メソッドのまえにアンダースコアを1つつけるのは
どういう意味あいなのでしょうか。2つでないとプライベートにならないですよね。
0843デフォルトの名無しさん
2006/02/25(土) 13:44:37単なる区別
0844デフォルトの名無しさん
2006/02/25(土) 13:57:05書いた人の趣味というしかないかも。
0845デフォルトの名無しさん
2006/02/25(土) 15:15:24http://oldriver.org/python/pep-0008j.html
>- _single_leading_underscore:弱い内部使用の識別子(例えば、
> "from M import *" は、アンダースコア1つで始まる名前のオブジェクト
> を、importしない)。
普通に使う分にはほとんど意識する必要はないけど,知らないと
思わぬところではまるかもしれない違い,といったところですかね
0846デフォルトの名無しさん
2006/02/25(土) 15:26:12import * されたときに呼び出し側の名前空間を汚したくない,といった要求に
応えるものかな
0847デフォルトの名無しさん
2006/02/26(日) 02:44:110848デフォルトの名無しさん
2006/02/26(日) 04:08:37プライベートなメソッドってこと?
class A:
def __spam(self):
print "SPAM"
a = A()
a.test()
は、ちゃんとエラーになるよ。
でも、a._A__spam()でアクセスできちゃうけど。
0849デフォルトの名無しさん
2006/02/26(日) 09:42:05a.test() って a.__spam() の間違い?
あとアンスコ1個で開始のメソッドはなんもなし?
0850デフォルトの名無しさん
2006/02/26(日) 13:01:290851デフォルトの名無しさん
2006/02/26(日) 13:16:340852デフォルトの名無しさん
2006/02/26(日) 17:41:06デカいファイルはメモリが。
# つか、unzipにそのへんのパッチが存在する事は知ってはいるのだが。
0853デフォルトの名無しさん
2006/02/27(月) 21:01:04本当に使いこなせるようになるのだろうか…
0854デフォルトの名無しさん
2006/02/27(月) 21:49:190855デフォルトの名無しさん
2006/02/27(月) 21:58:24僕も今では普通に使うclassやlamda式やtupleは、最初はまったく使わなかった。
壁に当たってから調べるぐらいのペースで十分だよ。
0856デフォルトの名無しさん
2006/02/27(月) 23:33:05一緒にうまくなろうぜ。俺はbookmarks.htmlのコンバータを作るのを目的にしてるよ
0857デフォルトの名無しさん
2006/02/27(月) 23:52:03ってことを何度もやってる
0859デフォルトの名無しさん
2006/02/28(火) 01:02:11簡単に使えるネイティブスレッド、多重継承もシンプルにできるクラス・
モジュールシステムとか使いながらおぼえてくうちに、
なにこれ、すごい楽で便利じゃんって染まってしまった。
たとえばJAVAでも多重継承以外はほぼ同じことができるけど、
pythonみたいにやるAPIどこにあったっけとか探してる間に
pythonのほうは書き終わっちゃうんだな。
0860デフォルトの名無しさん
2006/02/28(火) 01:07:16機能並べるだけじゃなくて、実装レベルも大事だと思うよ。便利だけどね。
Python のネイティブスレッド対応は、以前はジャイアントロックするから使ってくれるな
的な事がマニュアルに書いてあって激しく萎えた覚えがある。
0861デフォルトの名無しさん
2006/02/28(火) 02:32:55ジャイアントロックって何? GILのこと?
http://www.python.jp/doc/current/tut/node18.html#l2h-45
(Python使いではないと見た)
0862デフォルトの名無しさん
2006/02/28(火) 03:57:39マルチスレッドの粒度を話す時に使われる用語だよ。
0863853
2006/02/28(火) 11:53:230864デフォルトの名無しさん
2006/02/28(火) 12:27:080865デフォルトの名無しさん
2006/02/28(火) 13:42:520866デフォルトの名無しさん
2006/02/28(火) 13:47:200867デフォルトの名無しさん
2006/02/28(火) 14:44:500868デフォルトの名無しさん
2006/02/28(火) 15:03:150869デフォルトの名無しさん
2006/02/28(火) 20:05:290870デフォルトの名無しさん
2006/02/28(火) 21:09:060871デフォルトの名無しさん
2006/02/28(火) 23:07:410872デフォルトの名無しさん
2006/03/01(水) 01:19:19諸君 私はPythonが好きだ
諸君 私はPythonが大好きだ
CPythonが好きだ
IronPythonが好きだ
Jythonが好きだ
MacPythonが好きだ
PyPyが好きだ
Python for .NETが好きだ
SJIS版Pythonが好きだ
Stackless Pythonが好きだ
Vyperが好きだ
職場で 自宅で
研究で 開発で
趣味で 独学で
授業で 宿題で
客先で 徹夜で
この地上で用いられるありとあらゆるPython言語が大好きだ
空白文字をならべたインデントの論理性がbegin/endと共に括弧を吹き飛ばすのが好きだ
偏見に満ちた多言語ユーザどもが可読性に魅せられて虜になった時など心がおどる
標準ライブラリを駆使した単純なスクリプトで難問を解決するのが好きだ
例外を起こしてスクリプトを止める障害をtry/except節で黙らせた時など胸がすくような気持ちだった
0873デフォルトの名無しさん
2006/03/01(水) 01:22:43入門中の初心者がガイシュツの機能を何度も何度も再発見してハァハァしている様など感動すら覚える
デコボコしていた言語機能が次々に整備されていく様などはもうたまらない
組込み型がクラスでないのは美しくないなどとあげつらっていた連中がかつての主張を過去形に直している様も最高だ
哀れな初心者達が市販の入門書を手にして健気にも勉強してきたのを
lambdaスキーと内包表現スキーの一行野郎が「はじパイ」仕込みの達成感もろとも木端微塵に粉砕した時など絶頂すら覚える
百戦錬磨のGuidoパパに滅茶苦茶にされるのが好きだ
美徳のはずだった言語仕様が蹂躙され1.x以来の機能がdeprecatedになりobsoluteになっていく様はとてもとても悲しいものだ
Pythonアプリの物量に押し潰されて殲滅されるのが好きだ
広大なソースツリーに迷い込みバグの様に地べたを這い回るのは倒錯の極みだ
諸君 私はPythonを、十徳ナイフの様なPythonを望んでいる
諸君 私に付き従う蛇使い諸君
君達は一体何を望んでいる?
至高のPythonを望むか?
情け容赦のない最強のPythonを望むか?
機能拡張の限りを尽くし数多のスクリプト言語を葬る悪魔の様なPythonを望むか?
『Python! Python! Python!』
0874デフォルトの名無しさん
2006/03/01(水) 01:24:11よろしい ならばPythonだ
我々は渾身の力をこめて今まさに振り降ろさんとする握り拳だ
だがこの暗い闇の底で半世紀もの間堪え続けてきた我々にただのPythonではもはや足りない!!
大Pythonを!!
一心不乱の大Pythonを!!
我らはマ板のPythonスレ住人 千人に満たぬ人生の敗北者に過ぎない
だが諸君は一騎当千の古強者だと私は信仰している
ならば我らは諸君と私で総力100万と1人のPython軍団となる
我々を忘却の彼方へと追いやり眠りこけている連中を叩き起こそう
髪の毛をつかんで引きずり降ろし眼を開けさせ思い出させよう
連中にインデントの味を思い出させてやる
連中に我々のタブキーのタイプ音を思い出させてやる
天と地のはざまには奴らの哲学では思いもよらない事があることを思い出させてやる
一千人の人生の敗北者のPython軍団で
世界を萌やし尽くしてやる
「最後の敗北者スレ>>1より全Python軍団へ」
目標日本国47都道府県全域!!
Python 2.5 リリース間近 状況を報告せよ
0875デフォルトの名無しさん
2006/03/01(水) 01:30:10ところでちょっと前に勉強ネタが出てたが、
> あらゆる機能をそろえた標準ライブラリの大海原に未知の機能を求めるのが好きだ
これで僕は勉強したな。Cで書いてある部分も増えてきたとは
言え、ほとんどの部分がpythonで書いてあるので、標準ライブラリを
解読するのと、言語仕様書読むだけでほとんど参考書いらずだった
気がする。まぁ、超詳しい先輩が両隣に座ってたってのもあるが。
(1.x時代に日本語のunicode処理のpatch作って送ってたらしいが‥‥‥)
0876デフォルトの名無しさん
2006/03/01(水) 01:46:01ツボ多すぎて家族に怒られたじゃねえか…。
褒美として演算子使用禁止の緊縛プレイをお勧めする。
関数の有象無象に蹂躙され尽くしてくれい。そこにも萌えが。
0877842
2006/03/01(水) 12:03:08遅レスですが、回答ありがとう。勉強になりました。
0878デフォルトの名無しさん
2006/03/01(水) 17:24:07「python 2.2 以降 "新しいクラス" が導入されました」、
とあります
なんか __new__() とかが新しいっぽいんですが、どうも
意味がよく分かりません。
チュートリアルでも 2.2 以降の違いにはとくには触れていないみたいですよね。
英語でも良いので、
新しさの ココロ が分かりやすく説明されている資料って
何かありますでしょうか?
0879デフォルトの名無しさん
2006/03/01(水) 17:38:05http://www.python.org/2.2.3/descrintro.html
0880デフォルトの名無しさん
2006/03/01(水) 20:46:47"新しいクラス" っていうのは "new-style class" のことなので、
こういう風に調べるといろいろ見つかると思う。
http://www.google.co.jp/search?q=python+new+style+class
0881R
2006/03/02(木) 11:43:35私はこんなのを考えましたが、もっといい方法があるでしょうか?
if dict(zip(ls1,ls1)) == dict(zip(ls2,ls2)):
〜
0882デフォルトの名無しさん
2006/03/02(木) 12:40:42ttp://slashdot.jp/~visha/journal/346384
0883デフォルトの名無しさん
2006/03/02(木) 13:30:44デモでは何なくロードしてたのになぜでしょう?
>>> from AvalonStartup import *
Traceback (most recent call last):
File , line 0, in input##793
ImportError: No module named AvalonStartup
0884デフォルトの名無しさん
2006/03/02(木) 14:26:17ls1 == ls2 ではダメなの?
0885デフォルトの名無しさん
2006/03/02(木) 14:52:50インタプリタに落ちてくれますが、
python script ってやった場合にも
同じようにインタプリタに落ちてくれるように出来ますか?
script 側の処理によってインタプリタに落ちるかどうかを
分たいんですが...
0886デフォルトの名無しさん
2006/03/02(木) 17:14:31import code
code.interact()
0887デフォルトの名無しさん
2006/03/02(木) 18:29:23import code
a=123
code.interact()
(略)
>>> print a
Traceback (most recent call last):
File "<console>", line 1, in ?
NameError: name 'a' is not defined
>>>
code だと実行していた空間とは別になってしまうんですかね?
python -i だと実行空間が見えるので
他のスレッドの実行状況とかを対話的に覗ける
ところが良かったんです。
0888デフォルトの名無しさん
2006/03/02(木) 18:33:09プロンプトが出たら最初に from __main__ import * って打ってもらうとか。
0889デフォルトの名無しさん
2006/03/02(木) 18:36:02-i オプションを指定すると、C言語レベルでは Py_InteractiveFlag という
変数が真になるみたいだけど、この変数はインタプリタ側からは見えないっぽい。
C言語で拡張モジュールを書いたら参照できたけど、-i オプションなしの状態を
ありの状態に変えることはできないっぽい。-i オプションが指定されたかどうか、
だけなら知ることができますた。
0890デフォルトの名無しさん
2006/03/02(木) 18:39:50>>> a = [[],[],[],[]]
>>> b = [[],[],[],[]]
>>> dict(zip(a,a))==dict(zip(b,b))
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: list objects are unhashable
>>>
0891デフォルトの名無しさん
2006/03/02(木) 18:56:17Windows Vistaが出たら使える
0892デフォルトの名無しさん
2006/03/02(木) 18:56:55なるほど... 諦めがつきますた。
0893デフォルトの名無しさん
2006/03/02(木) 19:13:17手抜きに
os.execv(sys.argv[0] ... hoge )
とか。正式な書式はしらんので調べてください。
0894デフォルトの名無しさん
2006/03/03(金) 00:41:33それ自体をまた大括弧でくくって二重にしないとならんのは気持ち悪い。
スライスはリストの構造を高い場所から見て指定してて、インデックスは
中に潜って中身を一つ一つ参照してるって風に次元が違うのか。納得できん。
0895デフォルトの名無しさん
2006/03/03(金) 00:51:31code.interact(local=globals())
とすると名前空間を引き継げる
0896デフォルトの名無しさん
2006/03/03(金) 00:57:15それだ!
0897デフォルトの名無しさん
2006/03/03(金) 00:58:440898デフォルトの名無しさん
2006/03/03(金) 01:41:48CGIでUnicode文字列をprintしたいんだけどどうしてもUnicodeEncodeErrorになる
0899デフォルトの名無しさん
2006/03/03(金) 01:54:13ここチェック:
・ファイルのエンコーディング指定 (ファイル先頭に "# -*- coding: euc-jp -*-" とか)
・文字列代入は strhoge = "日本語".decode("euc-jp") もしくは strhoge = u"日本語"
・外部から入力した文字列 strinput のエンコーディングが shift_jis なら、 hoge = strinput.decode("shift_jis") と明示的に書く
・print する際のエンコード指定: 例 strhoge.encode("utf-8") #utf-8エンコードで出力
0900デフォルトの名無しさん
2006/03/03(金) 02:09:120901898
2006/03/03(金) 02:11:12ご親切にありがとうございます。4番目の
>・print する際のエンコード指定: 例 strhoge.encode("utf-8") #utf-8エンコードで出力
でビンゴでした。
あとどうやら私はstr.encode()とstr.decode()の動作を逆に捕らえていたようです。。
0902898
2006/03/03(金) 02:13:31私の場合、逆のパターンでした。
手元の2.4からレンタルサーバーの2.3に変わったのですが、
微妙に勝手が違うような感じがしました。
0903R(881)
2006/03/03(金) 09:59:08さらにls3=[1,1,2,3]も同じに見たいです。
setを使うとset(ls1)==set(ls2)でOKなのですが、業務で使っているPythonのVersionではまだ無いのです。
ありがとうございます。確認しました、確かに辞書のKeyに出来ない値に関してはこのままではダメでしたねぇ。>>890
0904デフォルトの名無しさん
2006/03/03(金) 10:11:58>>> def equal(s1, s2):
for e in s1:
if e not in s2:
return False
for e in s2:
if e not in s1:
return False
return True
>>> equal([1,2,3], [3,2,1])
True
>>> equal([1,2,3], [4,5,6])
False
>>> equal([1,2,3], [1,2,3,4])
False
>>>
0905R(881)
2006/03/03(金) 10:12:42本来ならpickleかなにかを使うのかもしれませんが。。。
0906R(881)
2006/03/03(金) 10:19:42なにか上手い方法がないか探していたのですが、私のようなおかしなアイデアを使ってない点でその方法が結局、普通に上手い方法と言えるかも知れないですね。
と、言うかその方が絶対にいいですね。そうしますね。
0907デフォルトの名無しさん
2006/03/03(金) 14:32:37unix の uniq 相当のも何かなかったっけ?
ってやれば == で比較できそう。
0908デフォルトの名無しさん
2006/03/03(金) 14:34:59印刷したい時って普段どうされていますか?
unix では
% enscript -G -U2 --color -o- --highlight=python hoge.py | psnup -2 | lpr
みたいな感じでやってます。
* もっと綺麗な・便利な・見易いツールあります?
* Windows 環境だと何がお勧め?
0909デフォルトの名無しさん
2006/03/03(金) 16:37:31highlight (TeXのCTANで見つけた。win32のGUIもついてる)
http://www.andre-simon.de/
また、windowsアプリケーションとはいえないし印刷でもないんだけど、
Trac は enscript か Silvercity を内部で使う
http://dev.guesswork.jp/guesswork/wiki/TracSyntaxColoring
MoinMoin にも自前のソースコード色つき表示機能がついてる。
http://moinmoin.wikiwikiweb.de/HelpOnParsers
0910デフォルトの名無しさん
2006/03/03(金) 17:13:12俺は a2ps --prolog=color foo.py とかやってる。
a2ps 自体に psnup 相当の機能がある。
0911デフォルトの名無しさん
2006/03/03(金) 18:37:13pathextに.pyを追加して
.plをCygwinのpython.exeに関連付けました。
で、hello.pyといったファイルを作ってcmdを起動して
hello
と入れると問題なく起動しますが
hello arg
と引数を渡すと引数を認識してくれません。
python.exe hello.py arg
とすると引数を認識してくれます。
出来れば
hello arg
のまま起動したいのですがどうやって関連付けるのが正しいんでしょうか?
0912デフォルトの名無しさん
2006/03/03(金) 18:43:56で引数を認識させるのはちょっとややこしいかもよ。
ドラッグアンドドロップの話なんかが参考になるかと
http://sh1.2-d.jp/b/python/2005-08-04-00-40.html
http://sh1.2-d.jp/b/python/2005-08-06-16-16.html
0913デフォルトの名無しさん
2006/03/03(金) 20:24:08フォルダオプションの関連付け設定で
"C:\Python24\python.exe" "%1" %*
みたいに %* をつけてあげれば
hello.py arg
でも arg を認識すると思うけど
0914デフォルトの名無しさん
2006/03/03(金) 20:49:500915デフォルトの名無しさん
2006/03/03(金) 21:58:50起動しようとして、*.pyファイルをダブルクリックすると毎回DOS窓も
一緒に表示されてとても邪魔。何かいい方法ある?
0916デフォルトの名無しさん
2006/03/03(金) 22:02:220918デフォルトの名無しさん
2006/03/04(土) 22:31:01なにを検索すればいいか、さっぱり思いつかないけど。
0919デフォルトの名無しさん
2006/03/05(日) 09:47:140920↑
2006/03/05(日) 09:54:00os.system('calc.exe')
0921デフォルトの名無しさん
2006/03/05(日) 22:22:300922デフォルトの名無しさん
2006/03/05(日) 22:27:26Traceback (most recent call last):
File "<pyshell#0>", line 1, in -toplevel-
import Python
ImportError: No module named Python
0923デフォルトの名無しさん
2006/03/05(日) 22:44:16print orz, please
0924デフォルトの名無しさん
2006/03/05(日) 23:41:44Traceback (most recent call last):
File "<pyshell#2>", line 1, in -toplevel-
import orz, plese
ImportError: No module named orz
>>> print orz, plese
Traceback (most recent call last):
File "<pyshell#3>", line 1, in -toplevel-
print orz, plese
NameError: name 'orz' is not defined
0925デフォルトの名無しさん
2006/03/05(日) 23:59:500926デフォルトの名無しさん
2006/03/06(月) 00:00:390928デフォルトの名無しさん
2006/03/06(月) 01:23:211e-007
上のような工学的表記ではなく、普通に0.0000001を表示
させたいのですが、どうすればいいのでしょうか?
0929デフォルトの名無しさん
2006/03/06(月) 01:29:22print "%.8f" % 0.0000001
精度に注意
0930デフォルトの名無しさん
2006/03/06(月) 01:35:09素早いレス、ありがとうございます。助かりました。
0931デフォルトの名無しさん
2006/03/06(月) 18:37:25ご存知ならば教えていただけませんか
0932デフォルトの名無しさん
2006/03/07(火) 23:17:22)'ーーノ( | | | 、 / l| l ハヽ |ー‐''"l
/. S | | |/| ハ / / ,/ /|ノ /l / l l l| l S ヽ
l ・ i´ | ヽ、| |r|| | //--‐'" `'メ、_lノ| ./ ・ /
|. P l トー-トヽ| |ノ ''"´` rー-/// | P |
| ・ |/ | l ||、 ''""" j ""''/ | |ヽl ・ |
|. E | | l | ヽ, ― / | | l. E |
| !! | / | | | ` ー-‐ ' ´|| ,ノ| | | !! |
ノー‐---、,| / │l、l |レ' ,ノノ ノハ、_ノヽ
/ / ノ⌒ヾ、 ヽ ノハ, |
,/ ,イーf'´ /´ \ | ,/´ |ヽl |
/-ト、| ┼―- 、_ヽメr' , -=l''"ハ | l
,/ | ヽ \ _,ノーf' ´ ノノ ヽ | |
、_ _ ‐''l `ー‐―''" ⌒'ー--‐'´`ヽ、_ _,ノ ノ
 ̄ ̄ | /  ̄
0933デフォルトの名無しさん
2006/03/08(水) 18:29:06perlと比較してpythonはどういう点が優れてたり
劣っていたりするのですか?
0934デフォルトの名無しさん
2006/03/08(水) 19:26:12データ・変数・関数の扱いがわかりやすい
C と連携させやすい
↑がPerlよりいいと思うよ
0935デフォルトの名無しさん
2006/03/08(水) 19:27:410936デフォルトの名無しさん
2006/03/08(水) 19:29:10複雑なデータ構造になっても$と@と&を間違えずに書けるだろうし
PerlのC拡張を書いたりできるだろうから
pythonが優位ってわけでもないかもな
0937デフォルトの名無しさん
2006/03/08(水) 19:32:26長所
・コードが読みやすく書きやすい
短所
・日本ではマイナーで、本・サイトが少ない(入門向けなら十分だと思う)
perlだと、だいたい思った通りに実行されるけど、思った通りでない場合にハマってしまうことが多い。
簡単なところだと、変数と、要素が一個だけのリストの区別が曖昧だったりする。
pythonは比較的厳格なので理論的に書けば思ったように動作する。
0938デフォルトの名無しさん
2006/03/08(水) 19:57:59短所:B型と相性悪い。
0939デフォルトの名無しさん
2006/03/08(水) 20:01:11劣っている点:その他全部と、人によりインデント
好印象な点:作者がアニオタじゃないところ
悪印象な点:あまりないが、人により作者がアニオタじゃないところ
0940デフォルトの名無しさん
2006/03/08(水) 20:10:39短所:OOっぽい構文と、関数型っぽい構文が混じっててきもい
でもPerlよりはきもくない。
0941デフォルトの名無しさん
2006/03/08(水) 20:25:18最近,「Javaでなぜつくるのか」を読みました.
大学ではPythonで実験データ処理をしていたのですが,
本書を読んでも,Javaとの違いがいまいちわかりません.
Javaの特徴といえる,
・コンポーネントの再利用
・オブジェクト指向
・マルチプラットフォーム
に関して,Pythonとの違いがあれば教えてください.
0942デフォルトの名無しさん
2006/03/08(水) 20:27:54何ゆえPythonを使いたいとオモタの?
0943デフォルトの名無しさん
2006/03/08(水) 20:28:180944デフォルトの名無しさん
2006/03/08(水) 20:36:39その3項目で比較してもねぇ・・・
JavaはPythonなどのスクリプト言語と比べて構文的にも意味論的にも大規模向けってのが一般論か。
裏返せばJavaは全体的に書くのが面倒くさい。
0945デフォルトの名無しさん
2006/03/08(水) 20:37:06短所:IDEでコンプリートするのが面倒なんだよpythonって。
0946デフォルトの名無しさん
2006/03/08(水) 20:55:48pythonを使い続ける弊害:"}"や";"を忘れる。
0947デフォルトの名無しさん
2006/03/08(水) 21:04:510948デフォルトの名無しさん
2006/03/08(水) 21:11:580949デフォルトの名無しさん
2006/03/08(水) 23:03:480950デフォルトの名無しさん
2006/03/09(木) 00:26:30何をやってるかperlよりも分かりやすいんじゃない
みつを
0951デフォルトの名無しさん
2006/03/09(木) 01:17:27djbdnsとかqmailで有名な前野さんのページって所属と一緒にアドレス変わりましたか?
彼のpython関係のページを見たいのだけれど。
新しいアドレスご存知の方あったら教えてください。
0952デフォルトの名無しさん
2006/03/09(木) 01:40:41def max(a,b)
if a>b then a else b end
end
と書けるとか誇られちゃったりしてる記述がありますが、
def max(a,b):
if a > b:
return a
else:
return b
で何か不都合とかあるのでしょうか?
Pythonだけしか知らないと「式」も「文」も区別が付かないので
余計謎が深まります(「式」=「戻り値のある文」って説明になってないよぉ)。
0953デフォルトの名無しさん
2006/03/09(木) 01:56:05文となって初めてプログラムと呼べる。
0954デフォルトの名無しさん
2006/03/09(木) 01:57:51言いたいこととはズレるけど
def MAX(a, b):
return (a>b and a) or b
で出来たよ
0955デフォルトの名無しさん
2006/03/09(木) 02:01:11a = if n > 0 then "big" else "little" end
とか
a = case n
when 0
"zero"
when 1, 3
"odd"
when 2, 4
"even"
end
と書けるのが少し嬉しい
0956デフォルトの名無しさん
2006/03/09(木) 02:08:07Python 2.5 では a if a > b else b と書けるようになる予定。
http://mail.python.org/pipermail/python-dev/2005-September/056846.html
0957デフォルトの名無しさん
2006/03/09(木) 03:50:11その使いかたは危険。
(0 > -1) and 0 or -1 => -1
0958デフォルトの名無しさん
2006/03/09(木) 10:11:57従来の内包表記ですでに結構微妙
自分で書く分にはカッコを補ったりしてるけど…
0959デフォルトの名無しさん
2006/03/09(木) 11:26:37if cond then expr1 else expr2
みたいのは
(cond and (expr1, ) or (expr2, ))[0]
だっけ?
0960デフォルトの名無しさん
2006/03/09(木) 13:00:480961デフォルトの名無しさん
2006/03/09(木) 13:41:42にあるコメントなんですけど,
"""と"""で囲まれた部分って複数行にわたるストリングスではないのですか?
関数部分にあるのは関数のdocstringですよね
0962デフォルトの名無しさん
2006/03/09(木) 14:26:140963デフォルトの名無しさん
2006/03/09(木) 16:35:52ym さんの言っていることを否定してまで
反論する理由は何もないと思うんだけどな。
0964デフォルトの名無しさん
2006/03/09(木) 17:05:400965デフォルトの名無しさん
2006/03/09(木) 18:28:530966デフォルトの名無しさん
2006/03/09(木) 18:50:53M L で や れ こ の ヘ タ レ が
0967デフォルトの名無しさん
2006/03/09(木) 19:05:24│ // | / //| / _ヽ l | j|
│ /.| |l ア メ / / /´ `、| ∨
', //| |! / ‐ 、 ´ ! ´__ l| |
ヽ/ | |,、‐'' "丶´ '´ ̄`ヾ| |
/ /| | | |
{ |/| | i │ ハ
∧ !l | | _ / | ヽ あらあら、うふふ♪
/ : :V│ |  ̄‐´ /| l \ 〉
/::: : /´ | |> 、 ,.ィl: : l ,' ヽ
/'"´ _\ | | : : : |` - 、 _,. ´ |l: / /\ /
レ '´ ヽ! |ヽ: : :| V / \>
0968デフォルトの名無しさん
2006/03/09(木) 19:38:21ちゃんと読んでないけど、
ymたんは「LANGの設定=OS全体のグローバルな設定」と短絡してる希ガス。
ムネオたんの解説は(問題の解としての好き嫌いは別にして)正しい。
0969デフォルトの名無しさん
2006/03/09(木) 19:51:39,..-一-、
. |o |_ || ||
r――― .| ヽ r,===、. ll ll ==== ll''~~ヾ ,,.===.、 r,==.、
( r―-一' ) .ll. ll || || || ll || || || ll ||
ヽ_| ____.ノ .ll、___,ll || || ||. ll ll ヾ_ , リ ll ll
| o| ll`~~~ ``==ll ``= ~ ~ ~~~
ヽ__ノ ll =''~
iilll|||||||llllii
0970デフォルトの名無しさん
2006/03/09(木) 20:09:29>ちゃんと読んでないけど、
>ymたんは「LANGの設定=OS全体のグローバルな設定」と短絡してる希ガス。
>ムネオたんの解説は(問題の解としての好き嫌いは別にして)正しい。
LANG=en_US.UTF-8 python だけでいいのなら、environment.plistで端末デフォルトを変更させようとする方がアレだと思うけどなぁ。
0971デフォルトの名無しさん
2006/03/09(木) 20:16:260972デフォルトの名無しさん
2006/03/09(木) 20:35:48"一番タイプ数の少ない" 解決策
"応用範囲の広い" 解決策
"今後の未来世界においてあるべき" 解決策
いろいろあるし弊害とかも理解しようよってのが本筋だと思う
"xxが正しい" って言っちゃうのはちょっとイタイ...
(投稿すると詳しく丁寧に教えてくださるので感謝・尊敬はしています。
あくまで今回の件に関しての感想ね)
0973デフォルトの名無しさん
2006/03/09(木) 20:48:44>>> import test
以外に何がありますか?
0974デフォルトの名無しさん
2006/03/09(木) 20:54:290975デフォルトの名無しさん
2006/03/09(木) 20:58:120976デフォルトの名無しさん
2006/03/09(木) 21:44:350977デフォルトの名無しさん
2006/03/09(木) 21:50:470978デフォルトの名無しさん
2006/03/09(木) 21:57:03>>> del test
0979デフォルトの名無しさん
2006/03/09(木) 22:06:34というのがようワカランかった。 なんでこの書き方は古いって言われるの?
OSや環境に左右されない確実な方法だと思って漏れは愛用していたんだが。
0980デフォルトの名無しさん
2006/03/09(木) 22:10:100981デフォルトの名無しさん
2006/03/09(木) 23:02:27皆ほめてくれないけど、頑張ったんだよね。よしよし…。
0982デフォルトの名無しさん
2006/03/09(木) 23:13:070983デフォルトの名無しさん
2006/03/09(木) 23:22:200984デフォルトの名無しさん
2006/03/09(木) 23:45:35分かれる話なんですよ。
ただ、"こうあるべき"っていう話は度がすぎると
押し付けがましくなっちゃうっていうわけで、
エロい方には珍しいパターンの展開だったなぁっていうだけだと思う。
そろそろ次スレかな
0985デフォルトの名無しさん
2006/03/10(金) 00:12:29>>> print u'あいう'
あいう
>>> import sys
>>> sys.stdout.write(u'あいう')
Traceback (most recent call last):
File "<stdin>", line 1, in ?
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)
糞だなこの仕様。
0986デフォルトの名無しさん
2006/03/10(金) 00:47:470987デフォルトの名無しさん
2006/03/10(金) 00:59:10エラーになっちゃうんでしょ?それがまとも?
0988デフォルトの名無しさん
2006/03/10(金) 01:00:30>>> Writer = codecs.getwriter("euc-jp")
>>> sys.stdout = Writer(sys.__stdout__)
>>> sys.stdout.write(u'あいう\n')
あいう
>>> print u'あいう'
あいう
>>>
0989デフォルトの名無しさん
2006/03/10(金) 01:01:180990デフォルトの名無しさん
2006/03/10(金) 01:05:080991デフォルトの名無しさん
2006/03/10(金) 01:07:040992デフォルトの名無しさん
2006/03/10(金) 01:10:150993デフォルトの名無しさん
2006/03/10(金) 01:14:47っ[チラシの裏]
0994デフォルトの名無しさん
2006/03/10(金) 01:15:14データベースにSQL渡す時に「SQLは string type にしろ!」ってエラーが出た。
どう見ても文字列なのにどういうこっちゃって調べたら
スクリプト内に書いたSQL文が Unicode Typeになってるのが原因だった。
それで結局 str関数で変換したら通るようになった。
0995デフォルトの名無しさん
2006/03/10(金) 01:29:45u'¥u3058¥u3083¥u3042¥u6b21¥u30b9¥u30ec¥u306f¥uff10¥u304b¥u3089¥u4f7f¥u3044¥u304d¥u308a¥u3067¥u3088¥u308d¥u3057¥u304f'
0996デフォルトの名無しさん
2006/03/10(金) 01:54:360997デフォルトの名無しさん
2006/03/10(金) 11:41:04Traceback (most recent call last):
File "<stdin>", line 1, in ?
UnicodeError: ASCII encoding error: ordinal not in range(128)
0998デフォルトの名無しさん
2006/03/10(金) 12:13:550999☆次スレ☆
2006/03/10(金) 13:20:01http://pc8.2ch.net/test/read.cgi/tech/1126073956/l50
1000デフォルトの名無しさん
2006/03/10(金) 13:21:2210011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。