バイブルじゃねーし前編とリンク同じじゃん
>>2, 3
反論は具体的にしないとカスにしか見えない
6 :
デフォルトの名無しさん:2008/02/22(金) 01:42:54
このgdgdな出だしが全てを物語ってる
ということにしたいのですね。
おっ、Pythonスレ
>>2-3 名著じゃん。何か文句あるの? あるなら具体的に書きなさい。
書けるもんならねw
その暗号みたいな perl サンプルを説明してくれたら答えられるかも
15 :
デフォルトの名無しさん:2008/02/22(金) 07:11:22
Pythonもラムダ使えばワンライナーになれますか?
特定のディレクトリ以下にある全ての .py をコンパイルして
docstring を削除した形の.pyo にしたい(-OOオプション渡したのと同じ効果)
んだけど、py_compile.compile にも compileall.compile_dir にも組み込み compile にも
それらしきフラグというかスイッチが見つからないんだけど、どうすればできる?
18 :
デフォルトの名無しさん:2008/02/22(金) 15:18:05
Tkinterのguiでtwitterのクライアントって出来ますかね?
気軽に使って欲しいので、wxPythonのような配布時にサイズが障害になる物は使いたくないんですが
guiが関係することか?
気軽に使ってほしいならどのみちWindowsのexeとかに
しないといけないから何でも同じだと思うぞ
21 :
デフォルトの名無しさん:2008/02/22(金) 17:40:19
GUIというと、Tkinter, PyQt PyGtk, wxPythonなどなど色々とあるみたいだけど、
どれが一番良いの?
OpenGLも使える?
<わからない五大理由>
1. 読まない ・・・説明書などを読まない。読む気などさらさらない。
2. 調べない ・・・過去スレ、ググるなど最低限の内容も自分で調べようとしない。
3. 試さない ・・・めんどくさいなどの理由で実行しない。する気もない。
4. 理解力が足りない ・・・理解力以前の問題で理解しようとしない。
5. 人を利用することしか頭にない ・・・甘え根性でその場を乗り切ろうとする
23 :
>>13:2008/02/22(金) 19:31:28
騒ぎを見てリンク先飛ばずに、
「どうせはじPyかみんPyだろ、よく叩かれるな」と思ったら。関係なすぎw
Python使うともれなく童貞脱出という話を聞き、今年から使い始めました。
twistedについて日本語でかかれた情報ってないものでしょうか。
公式のDocumentいまいちわからなくて
騙されるなw
30 :
デフォルトの名無しさん:2008/02/23(土) 08:03:28
Python2.5.2リリース
そういや、テンプレの中に、
本家からpython本体を落としてきても大丈夫な
旨の文章追加したほうがいいかも。
未だにZope会とかいうところから
2.3落としてる人居るみたいだし。
32 :
デフォルトの名無しさん:2008/02/23(土) 09:11:39
>>8 gdgdって言葉相当気に入ったみたいだね(www
gbgb
90分
氏ねよメガネピザ
UicodeDecodeErrorで氏ね
「死ね」って言われると書き込み無くなるな。
おもしろいなこの荒らし(wwwwwwwwwwwwwwwww
ていうか死ね。
おまえが死んでも誰も悲しまないから安心して死ね。
なんでRubyがPythonのおこぼれちょうだい的な動きを取るんだよ
python2.5.2リリースされました
40 :
デフォルトの名無しさん:2008/02/23(土) 12:33:32
MatzもRubyの後継者についてちゃんと考えるべきだと思った
あんな糞言語、誰も引き継ぎたくないと思うぜ
世界のPythonは世界のGoogleが。
日本のRubyは日本の楽天が。
2.5.1とどう違うの?
Rubyの後継ってなでしこじゃなかったの?
質問ってここでいいんでしょうか?
書籍見ながらコード書いてるんですが、
File "dictest1.py", line 24
for (p, attr) in sorted(dic.keys()):
^
SyntaxError: invalid syntax
ってエラーが出てしまいます。原因がわからないので教えてください。(半角スペース4つ分を"[_]"に置換しています)
[dictest1.py]
# encoding: Shift_JIS
def prink(e): print eval('"""%s"""' % str(e))
f = open('prof.txt')
x = f.read() #
f.close()
dic = {}
person = ''
lines = x.split('\n')
for line in lines:
[_]if line and line[0] == '*':
[_][_]person = line[1:]
[_]else:
[_][_]kv = line.split(':', 1)
[_][_]if len(kv) == 2:
[_][_][_]if (person, kv[0]) not in dic:
[_][_][_][_]dic[person, kv[0]] = []
[_][_][_]dic[person, kv[0].append(kv[1])
for (p, attr) in sorted(dic.keys()):
[_]prink('%sさんの%sは: %s' % (p, attr, dic[p, attr]))
47 :
46:2008/02/23(土) 14:16:14
[prof.txt]
*のび太
年齢:11
特技:昼寝
*マリオ
特徴:ヒゲ
特技:ジャンプ
職業:配管工
*ドラえもん
身長:129センチ
好物:どら焼き
嫌いなもの:ネズミ
特徴:ネコ型ロボット
読みにくいので誰も答えてくれないだろう
書き直しておいてあげる
[dictest1.py]
# encoding: Shift_JIS
def prink(e): print eval('"""%s"""' % str(e))
f = open('prof.txt')
x = f.read() #
f.close()
dic = {}
person = ''
lines = x.split('\n')
for line in lines:
if line and line[0] == '*':
person = line[1:]
else:
kv = line.split(':', 1)
if len(kv) == 2:
if (person, kv[0]) not in dic:
dic[person, kv[0]] = []
dic[person, kv[0].append(kv[1])
for (p, attr) in sorted(dic.keys()):
prink('%sさんの%sは: %s' % (p, attr, dic[p, attr]))
この程度で引っかかっているようでは先が思いやられる。
こういう輩は放置するのが一番。
dic[person, kv[0]].append(kv[1])
prinkが激しく気になる
どこか他の言語で使われていたりするのだろうか
>>46 エラーが起きた箇所の前後、とくに手前をチェックするのは基本
あと差し支えなかったら書名を教えてくれ
>>52 肝に銘じておきます。
書名は「速効!Pythonプログラミング」です。
書籍のせいなのか、それとも46の素養が悪いからなのか。。。
だめな人はだめな本を買っちゃうんだよ
56 :
デフォルトの名無しさん:2008/02/23(土) 14:56:44
Pythonをはじめようとしているところです。
PythonにてCPANやRubyGemsのようなパッケージ、ライブラリ管理のシステムはどんなものがありますか?
Pythonにはパイパイがあるよ。
>>57 PyPy はパッケージ・ライブラリ管理のシステムじゃないよ...
59 :
デフォルトの名無しさん:2008/02/23(土) 15:01:31
>>55 そうか。
ダメな人のためにダメな本は必要だったんだ。
easy_installはいつになったら本体に取り込まれるの?
>>61 今はCheese Shopって呼ばれてるんだよ。
58の見事な釣られっぷりにはパパ脱帽だよ。
>>64 ごめん、君の言うとおり逆だったよ。
首釣って出直してくるよ。。。
おまいらPerlのことどう思ってるの?
>>62 cheese shop てネーミングが謎だったが、Monty Python からなんだね
>>67 Perl4 までなら使ってたし悪くないと思う
72 :
デフォルトの名無しさん:2008/02/23(土) 15:36:08
能弁だな。
>>67 昔遊んで捨てたがいつまでも付きまとってくるしつこい女
pychinkoもあるよ
# -*- coding: utf-8 -*-
people = {}
name = ''
for line in open('prof.txt'):
line = line.strip()
if not line: continue
if line.startswith('*'):
name = line[1:]
people[name] = {}
else:
key, val = line.split(':', 1)
people[name][key] = val
for name in sorted(people.keys()):
for key, val in people[name].iteritems():
print "%sさんの%sは: %s" % (name, key, val)
別物になってないか?
だってきもいんだもん
78はコードレビューと称して部下のコードを全部書き換えてしまうようなタイプなのだろうか。。。
趣味だからね。雇われプログラマは負け組
「personの複数形ってpeopleなの!? personsとかやったら大恥!?」
>>78を見てそんなふうにちょっとだけドキドキしちゃった俺様が来ましたよ
>>80
禿
ドカタ仕事が続くと
こういうのを見たときに
きもいと思える気持ちが薄れてくる
独善的で協調性のない人はどんな仕事やってもダメだけどね。
プログラミング以前の問題ですよ。
>>78 根本的に直すんだったら、
まずデータ型を見直して、
for name, dict in eval(open('prof.txt').read()):
for c, v in dict.items():
print '%sさんの%sは%s' % (name, c, v)
とするのが一番いい。
悪いデータ型はプログラムを救いがたくダメにする。
ファイルからの入力をevalする神経が信じられない。
あなたも趣味の人ですか?
pythonではよくあること
おまえらの大好きなPytohn合宿の締め切りが28日まで延長されましたよっと
>>89 obj が、int str tuple list dict の組み合わせだけからなるオブジェクトなら、
obj = eval(repr(obj))
で、元に戻るので、strしたもんをそのままファイルに突っ込んどくのもそんなに悪くない。
少なくとも、
>>47みたいな3秒で思いついたような何の根拠もない
データ型につられてコード本体がgdgdになるよりはまし。
もう少しまじめにやろうと思ったら、自分の好きなデータ構造表現の
パーサを持ってくるなり書くなりする
とにかく、データを
>>47 で保存して、
>>46 見たいに、復元することって言うのは、その場で作ったクソ言語を
その場で作ったクソパーサで解釈してるようなことに相当する(言葉悪いけど・・・
わけで、ダメな車輪の再発明の典型みたいなもんだと思う。
>>92 オマエには__import__("os").system("rm -rf *")と書いたprof.txtをプレゼントしてやるよ
素直にpickle教えてやれよw
こういうときにyamlを使わないやつは才能がゼロだ。
YAMLかJSONつかえよ
94の文字列をevalしてみて大惨事な88萌え〜
e v a l を な め る な
by Matz
>>46 いま攻撃されてるのはおまいじゃないからな
気にせずコードを書きまくるんだぞ
そういえばMatzは好きなメソッドも嫌いなメソッドもevalとか言ってたな
Guidoはどうなんだろね
# -*- coding: utf-8 -*-
from ConfigParser import ConfigParser
cp = ConfigParser()
cp.readfp(open('prof2.txt'))
for name in cp.sections():
for key, val in cp.items(name):
print "%sさんの%sは: %s" % (name, key, val)
(´-`).oO(選ぶ本がアレな時点でナニですよね)
104 :
88:2008/02/23(土) 20:37:54
>>94 prof.txt を好き勝手書き換えられてしまうような状況だったら
すでに元の python スクリプトを __import__("os").system("rm -rf *") にされて
死ぬんじゃないの?
>>89 自分の管理できる範囲内にあるはずのファイルすら危険すぎて
信用できないという感覚が理解できない。
まあ、趣味の人って言うのはあたってるけど、・・・
ところで、個人的には yml つかっとる
JSONとかYAMLのPython用パーサーで良いものはどれですか?
>>104 勝手に疎外感を感じてしまいがちなボクチムは
寂しい気持ちを慰めるためにキャバクラに通います
最近はお金がないので,もっぱらイケメンのあの人を思い浮かべながら
単三電池や角電池で自分を慰めているかもしれません
そんな毎日なのでずっと万年厨房の日陰者です
死ねよコピペ厨
アッー
109 :
デフォルトの名無しさん:2008/02/23(土) 21:36:48
合宿の話あたりからスレのクオリティが酷い件
114 :
113:2008/02/23(土) 22:38:54
勘違いだったおorz
ぶっちゃけ251->252でどうちがう?
118 :
56:2008/02/24(日) 05:16:31
120 :
デフォルトの名無しさん:2008/02/24(日) 13:14:47
ねー
print文で、文末に改行も空白も出さないことってできないんですか?
print 'hoge',
だと空白が入っちまうし。やっぱ
sys.stdout.write('hoge')
になるんでしょうか?
print 'hoge'
124 :
デフォルトの名無しさん:2008/02/24(日) 13:58:23
2.5.2出たのか
気づかなかった
アンチスレに書いてあったけど
print 'hoge', end=''
じゃいかんの
python3000を常用してる変態さんですか
printlnと使い分けしなかったことを
Guidoは公開している
後悔していることを公開している
129 :
デフォルトの名無しさん:2008/02/25(月) 15:38:05
みんパイ読めば、プログラミング初心者のニートでも
斬新なwebサービスは組めますか?
それともせめて専門に行かないとだめです?
才能とかセンスだろ
才能とセンスと努力です
>129
君がニートやってる理由がよく分かるよ(wwwwwwwwwwwwwwwwwwwwwwwwwww
斬新なウェブサービスのアイデアがあってそれを実装する方法がわからない状態なのならできるかも
>129
1億やるから斬新なWebサービスつくってみ。
そのかわり失敗したら倍返しな。
円天?
> 斬新なウェブサービスのアイデア
自分の好きな女の子の画像(アニメとかも可)と、エロビデオをアップロードしたら、
そのエロビデオの女優が、自分の好きな女の子に置き換えられる。
というアイデアがあるのですが、どうしたら出来るのかわかりません。
権利関係と収益モデルは?わからないなら高校くらいからやりなおせ
フォームに名前を書き込むと心臓発作で人を殺せるというウェブサービスのアイデアがあります。
どうやったらPythonで作れますか?
それがおまいの技術的に可能なら売り込みかければ引く手あまただぜwww
いや、これはケチつけるほうがチョンだろ
>>136 そのシステムが3次元化出来るなら100億だす
たぶんフェミ婆どもが開発室ある建物囲むぞ
PythonだろうがCだろうが政治的にもう無理無理
女受けのいい言語なんてものがあれば別だがなw
そこで韓流ですよニダ
>>136 既存の画像処理libraryを巧みに組み合わせれば、
多少つぎはぎあるぐらいでできると思う
本当に自然な合成は自動では無理かな
148 :
147:2008/02/25(月) 19:13:13
もしちゃんとしたクオリティで自動かつ省リソースでできるなら俺が借金してでもベンチャー立ちあげる
なんだよ、Pythonって、定数もないのかよ。
151 :
147:2008/02/25(月) 19:43:41
完全自動化は最新技術を導入してうまくいくかどうかの賭けがいるかもね
時間あったらわたしもやってみたいけどね
写真から自然な動画にするところが難しいと思う
もしできるなら大発明だぜ
夢がひろがりんぐ
なんだよ数値計算もNumericとかnumarrayとかnumpyとかscipyとか沢山あって訳わかんねーわ。
こんな使いもんになんねーだろ。
157 :
デフォルトの名無しさん:2008/02/25(月) 21:12:36
それ関係のライブラリが全然無くて使い物にならないってなら分かるが
複数あるから使い物にならないというのはおかしい
158 :
デフォルトの名無しさん:2008/02/25(月) 22:48:43
>>157 複数あっても、どれも中途半端で用途にあわないこともある。
大事なのは自分の用途にあうのがあるかどうか。数は問題じゃない。
>>155 じゃあ自分専用のを作ればいいと思うよ
できれば混乱するから公開しないでね
まだ慌てるような時間じゃないを思い出した。青春だな。
♪Always look on the bright side of life〜
Python 3.0a2 ためしてみたんだけどさ、C-API まわりが結構変わっててもうわけわからん。
PyObject_Type なんか構造体の中身変わってるし。
このへんのやりかた書いてあるドキュメントない?
Python 3.0a2 のドキュメントは Python 2.5 から変わってないし。
IDLE って Tab で複数行インデントできるんだ。今さら気付いた。複数行のときは Ctrl-[ だと思ってた。
>>164 MSのVisualStudioでもここ10年ぐらいそういう仕様だと思う。
EmEditorとかも同じだから、もう歴史的に定着してるのでは。
import A.B.C.D ってしたときさ
print A
print A.hoge
print A.B
print A.B.hoge
print A.B.C
print A.B.C.hoge
が、どれもエラーにならないのって、前からそういう仕様だった?
>>166 1.5.2で試したけどエラーにならなかった。
168 :
デフォルトの名無しさん:2008/02/26(火) 08:58:04
Pythonは終わった言語。これからはRuby1.9の時代。
質問です。どうしてPythonの人たちは、まいみくとかツイッターとかのともだちが10人とかてんですか?
みんな社内引きこもりなんですか?
健全な社会生活が遅れているかどうか心配です。
170 :
デフォルトの名無しさん:2008/02/26(火) 11:28:28
fedoraのyumってpythonスクリプトだよね
他のLinux関連ツールでこれもpythonで
書かれてるってのを知ってる人教えて
>>170 マイナーかもしれんがgentooのパッケージマネージャであるportageもpythonだよ
アプリではpymolとかskencilとかもじゃなかったっけ
数より比率の問題。
deb系だと apt-cache rdepends python でわかるな
pysolを忘れてもらっては困る
ubuntuのskencilが壊れたままなんだけど
放置されてるのはユーザーがそんなにいないのか?
python大好き
>>175 inkscapeのほうが元気あるからみんなそっち行ってるんじゃね?
>>170 RedHatのインストーラであるanacondaもpythonじゃなかったっけ?
reference count方式は未来がない、といわれたんですけど、そうなんですか?
詳しい人、お願いします。できれば中立的な立場で。
ttp://www.jitu.org/~tko/cgi-bin/bakagaiku.rb >そうそう。参照カウントのGC (とうかメモリ管理) に
>未来はないっていうのが最近の結論だと思ってたんです
>けど、違うんですか?
>
>まず、Cのコードが書きにくい。っていうことは、世に
>溢れてるCのライブラリを使うのが面倒になるっていう
>こと。
>
>次に、マルチスレッドなんかだと参照カウントのロックの
>負担が大きくなること。っていうことは、メニーコアが
>当たり前になる中で性能を出しにくいっていうこと。
>
>まぁ、自分は又聞きなんでアテになんないんですけど。
CGがどうとか言い出す前にスッドレを早くしろよMatz。
>>180 > reference count方式は未来がない、といわれたんですけど、そうなんですか?
まず
> >まず、Cのコードが書きにくい。っていうことは、世に
> >溢れてるCのライブラリを使うのが面倒になるっていう
> >こと。
> >
> >次に、マルチスレッドなんかだと参照カウントのロックの
> >負担が大きくなること。っていうことは、メニーコアが
> >当たり前になる中で性能を出しにくいっていうこと。
これは間違っちゃいない。その上で、だが。
トレース方式と参照カウント形式は、理論的には双対の関係にあることが
わかっていて、
(
ttp://www.rubyist.net/~matz/20060529.html#p02 )
論文を眺めると、性能を追うと折衷的な実装になってくる、とあるので、
参照カウントだからダメ、とかそういう単純な結論に飛びつく奴は
すっとこどっこい、でFA
>>182 その論文にはマルチスレッドやメニーコアについて言及している?
また折衷的な実装ではどうやってこの問題を解決しているの?
取れるんだから自分で読もうよ
英語の論文なんか読めるわけない。
>>182は読めるんでしょ?教えてください。
>英語の論文なんか読めるわけない。
さすがにこれはゆとりすぎwww
英語で書かれた内容に興味がないから
英語の勉強してないんだろうから
>>185は中身知る必要ないないだろ
いや、俺も読んでないけど
で、結局
>>183に対する回答は? 英語の論文読めないゆとりなので、お願いします >182
あんまり虐めるなよ
可哀想だから
Rubyが絡むとおかしくなるなこのスレ
>>188 普通より無能であることをアピールすれば
普通より丁寧に教えて貰えると思ったら大間違い。
>>191 それ本気で言ってんの?
ただの皮肉でしょうに
なんだ、もうキャラ設定変えちゃうの? つまらん。
すまん、意味分からん
ゆとりは黙っていなさい、という意味
でた!ゆとり厨。
最近、海外でもPythonがRubyに負けてる気がする。
CodeGearやNetBeatnsがRuby対応ツールを出してるけど、Python版はないし
べつに無理して勝ち負けをつけなくてもいいじゃない
>>190 >Rubyが絡むとおかしくなるなこのスレ
もとの質問はRuby関係ないでしょ?
>>182がMatz日記を引用しただけで。
>>182がちゃんと教えてくれれば、おかしくなんかならない。
>>191 別に、丁寧に教えてもらおうなんて思ってないよ。
>>180で書かれたことに
対して、
>>182が英語の論文を紹介した。
だからその論文には
>>180で書かれてあることに対する回答なりなんなりが
書かれてあると考えていいわけで (関係ない論文を引っ張ってくるわけないからね)、
それを聞いているだけ。
特に
>>180で指摘されているマルチスレッドやメニーコアでの問題点は
なるほどと思ったんだけど、
>>182は英語の論文を持ち出して相手のことを
すっとこどっこいといっているんだから、きっとその論文には問題の解決策が
かいてあると思うんだ。だからそれが何かを聞いているだけ。
そんなわけで(どんなわけで?)、
>>182マダー?
>>199 低能であることをアピールすれば
丁寧に教えてもらえると思うのは大間違い
(勉強中なので)いつもROMなんだが言わせてもらう。
(時間がかかっても)英語が読めるんじゃなかったらプログラマ失格じゃないのか?
言語毎のライブラリも鯖とかのモジュールも和訳前に使えなきゃ商売にならんだろ
オープンソースの世界に自作のモジュールを発表して評価してもらったり改良を加えてもらったり
あるいは本体に組み込んでもらうなんていう快感を味わえるのも英語ありきだろ?
日本語よりも英語のほうが論文やコミュニティが無数にある世界で英語を避けてたら駄目だよ
自動車産業でもカメラでも日本製は優れていると言わしめたのはそれを売り込む英語力なくしてはありえなかっただろうし
英語が読めないのが許されるのって中学生までだよねー(AA略
>>201 頭の悪そうな日本語だなぁ
英語のやり過ぎでおかしくなったのか
そもそも元からおかしいのか
英語は読めるが書けない
コードは書けるが読めない
ワンライナーとか死ねと思う
>>204 >コードは書けるが読めない
開発者としては、英語より致命的な欠点。
他人のコードを読めない = 学習できない
ということなので。
ここはPythonスレ
>>201 別にみんながみんな商売をしているプログラマーじゃない
和訳されてるものすらマスターできてないのに英語やってる場合じゃない
オープンソースをつくって世界に発表するつもりもない
趣味でやってることにいちいち「英語が必要」なんて説教いらない
そんなに長々と説教垂れるくらいだったら、さっさと
>>183に答えればいいのに
なんで話をそらすわけ?
>>201,202
英語が読めることと、論文読んで理解できることとは違うよ。
英語が読めても、論文が読めるとは限らない。
これは日本語でも同じ。
>>182の論文が和訳されたとしても、それを読んできちんと理解できる人間は少ないと思うよ。
というかね、そこまでいうなら201はその論文を読んで理解できるんだよね?
おれは読んでみたけど、さっぱりわからなかった。
201は読めるんだから、182のかわりに
>>183に答えてあげたらどうだろう。
読みにくいのは、句読点が無いせいもあるね。
他人の善意に頼ろうとする姿勢にイライラする
黙殺は最大の美徳。
>>212 気がついたらハブられてひとりぼっち,の間違いでは?
答えられないくせにえらそうな姿勢にイライラする
英語読めないなら翻訳ソフトでだいたいの内容は想像できないかい?
182は逃げた、ということで終わりにしようぜ。
>>183 > その論文にはマルチスレッドやメニーコアについて言及している?
そのものズバリの単語は出てこないけど明らかに並列性を考慮に入れてる。
> また折衷的な実装ではどうやってこの問題を解決しているの?
multiprocessor concurrent reference counting collector with cycle collection というのが
折衷的な手法のひとつみたいだけど、どう折衷なのかは詳しく読んでないので不明。
しかし名前からして並列アルゴリズムみたいだし、並列性を考慮に入れると参照カウンタ法は
ただちにNG、ということにはならない希ガス。
>>208 「開き直り」で同じくらい長々としたレスを垂れ流す自分には寛大なのに、
「説教」を長々と垂れ流すことだけ責めるのはアホすぎるなぁ。
まぁ、耳に痛いことを言われたけど、自己愛がそれを受け入れることを許さないんで、
「説教」という単語に色んな気持ちを込めて、精一杯やり返してるんだろうけどね。
逃げる上にいいわけを垂れ流す奴は信用ならん。
218はスルーかよ(笑)
言い訳したいだけなんだろwww
逃げた奴は放っておいて、Pythonの話しようぜ。
>>218 読んでないか、読んでも理解できてないのがバレバレ
よくそれで自分で読めとか英語ぐらいできるようになれとか言えるな
偉そうな口たたくなら内容を理解して要点を説明できるようになってから言えよ
>>171 名前が似てると思ったらFreeBSDのportsを参考にしてるんだね
このスレ見てて思ったが
Python愛され過ぎだろ
MarcurialとかPythonで作られているものは結構ある。
変な人に愛される言語Python
Pythonをやじってる奴もかなり細かいことまで
Pythonのこと知ってるんだよななぜかww
コードの指摘するときも的確すぎるw
Pythonは20世紀で終わった言語。
21世紀はRubyの時代。
Pythonは生まれた時点で終わってるだろ
もてかわスリムな愛されPython
おまいらドジャンゴの勉強会行く?
漏れなくネットワークがもらえるらしいよ。
ああいう勉強会のちんげ共ではなく、
ム板のマルチスレッドスレの住民と語り合ってみたい。
>>218 >どう折衷なのかは詳しく読んでないので不明
なにこれ、人に英語の論文を読めといっておきながら、自分は読んでないじゃん。
そりゃつっこまれても答えられないはずだ。
おまえら仲良くしろよ
>漏れなくネットワークがもらえる
kwsk
チンゲとは仲良くしたくないんだぜ(w
Pythonにはあらゆるプラットフォーム用のものがありますが、
ビルドしたpythonXX.dllを勝手にソフトに同梱したら何か言われますか?
>>234 勉強会の後はキャバクラだそうだね.
アッー!
たかがpythonで勉強会なんて
グローバル変数がないというのが困りもんだな
クラスにスタティック変数が作れる問題ないが、あるのか?
>>244 グローバルなクラスは作れるんじゃね?
変数使うより安全確実だよ。
246 :
デフォルトの名無しさん:2008/02/28(木) 05:44:59
hoge.pyにクラスHogeを定義したあとに、hoge.pyファイルの最後の方に
hoge = Hoge()と書いておけば
どこのモジュールからでもhogeにCのグローバル変数のようにアクセスできるという解釈でいいのかな
いいよ
日本製は優れていると言わしめた80年代と打って変わって、
今の日本人は英語の勉強をせず、コンピュータ関連の商売では台湾とインドに持ってかれてるのが現状
90年代の日本のバブル経済期に高卒で社員になった奴等はぬるい湯に浸かりつづけ、
社会的にその後輩、部下になってしまった奴らなんかは先人の知恵を伝承してもらえなかった。
事実、「上司はCOBOLしか出来ないくせに仕様変更とかチャチャ入れてきて邪魔」といわれてる
ここで「英語の論文が読めない」といっている間に、
ほかの奴は英会話をマスターし台湾でも使える中国語の勉強を始めてる
あと20年もしたら世界の人口の半分は中国系とインド系になるんだから
日本人も負けないで欲しい
すまん、誤爆
確信犯だろwww
>>236 > 人に英語の論文を読めといっておきながら、自分は読んでないじゃん。
それの何が問題なのか、さっぱりわからないんだが。
>>218はそれを必要としていないから読んでいないだけの話で、
「xの知識を必要としている人間は、xについて書かれた文献に自力であたるべき。
たかが英語を"やらない言い訳"にして、人に咀嚼させるべきではない」
というのは当たり前の意見じゃん。
>>218だってそれが必要になったら自分で読むだろ。
>251
きっと、何を言っても文句言いたい年頃なんだよ。ほっといてやれよ。
勉強会の意義は否定しないんだけど、Djangoのは劣化コピー感が強すぎてまるで行く気がしない。
今回の勉強会は誰が何を発表するのかさっぱり分からないし。自慢大会? ハァ? gdgdにもほどがあるよ。
こんな勉強会続けたって、関わっている奴らの信用を落とすだけ。いっそやらない方がいい。
>>253 勝手に疎外感を感じてしまいがちなボクチムは
寂しい気持ちを慰めるためにキャバクラに通います
最近はお金がないので,もっぱらイケメンのあの人を思い浮かべながら
単三電池や角電池で自分を慰めているかもしれません
そんな毎日なのでずっと万年厨房の日陰者です
勉強会がgdgdになるのは、中の人は朝からコピペなんてしてるからだな、きっと(ww
>>251 >それの何が問題なのか、さっぱりわからないんだが。
まず
>>182をよめ。あれだけえらそうなこといっておいて、実は自分も英語の論文よめませんでした、ということが問題なんだろ。
>>253 は自分の信用を気にする中の人か、中の人の信用まで気になるナイスガイ。
>257
もういいよ、お前うざいから消えてくれ。
DjangoとGCの話をするとあれるからやめようぜ。
正直、これからはPylonsだよな。
これからはRubyの時代
そうですね。
Pylons、厨房には難しすぎるだろ。
Djangoと棲み分ければいいんじゃね?
>>259 そのまえに英語勉強しろよ、論文が読めるくらいに
>265
消 え ろ
このスレの住人はPythonだろうがRubyだろうが
どんな言語を使っても無限ループに陥るスクリプトしか書けないのはよくわかった
PylonsってTurboGears+WSGIだよね
Djangoと比べてどうなの?洗練されてる?
+じゃなくて×じゃないの。
>>268 違う
Pylons = Rails - Ruby + Python
Rails が嫌いな私は Django を使うことにしました
本当にありがとうございました
pythonで簡単な掲示板スプリクトを作るにはどうしたらいい?
cgiを呼び出す、フォームに入力されたテキストを保存するスプリクトを作る、
ファイルをテキストで出力するスプリクトを作る
こんな感じでいいのかな?
import zipfile
zipfile.ZipFile('a.zip','w').write('a.txt')
zipfile.ZipFile('a.zip','w').write('b.txt')
と
import zipfile
z = zipfile.ZipFile('a.zip','w')
z.write('a.txt')
z.write('b.txt')
って違うんだね。だいぶ悩んでた・・・。
>>272 その辺のおおまかな仕組みは Python だろうが Perl だろうが同じだから
Perl 用の入門書や解説サイトを見るといいと思う。
スクリプト内の基本的なアルゴリズムも言語には関係ないから(やり方はいろいろだけど)
Perl のスクリプトを見ながら、python に翻訳する感じでやればいいんじゃないの?
しかしスピード遅すぎるな
モジュールの関数呼び出しにやたら時間がかかる
>>276 やっぱおそいんだな
ゲームを作るためにPythonにグラフィックス拡張組み込んで、
とりあえず16ピクセル四方の20*20のマップを描いてみたら15FPSしか出なくて絶望した
でもそのあと拡張dll内でマップ描画ループを組み込んだら80FPSまでアップした
使い方間違えると恐ろしい
ゲーム作るのならpygameという便利なもんがあるよ。
たしかopenglだけど、普通に描写するよりは早い筈。
pygame は SDL のラッパ。OpenGL との連携もできるが
XNA+IronPythonがさらにちょっぱやですよ。
ランタイム多すぎて死ぬけど。
誤爆
C言語の構造体をwrite()でそのまま書き込んで保存したファイルをPython側で読み込んで、
Python側で構造体を再構成するのにいい方法はありませんか。
import struct
ctypes.Structure
>>288 このようなものがあったとは・・・
ありがとうございました(^^)
while 1:
>> 289
またメタクラ(ry
Py 2.5.2 になって -OO オプションでの最適化が直ったね。
Py 2.5.1 だと、-OO でインタプリタ起動したときに .pyo ファイルは出来てたんだけど、
ドキュメンテーション文字列が削除されてなくてそのまま残ってたのさ。compile.c のソース見たら -O と -OO で
全く同じ処理がなされるようになっていて、単なるバグってよりかは -OO が未実装だった感じがする。
Py 2.5.2 だとちゃんと -O と -OO でコンパイルの挙動が変わるようになった。
ほう、なるほど、
珍しく凡ミス?
pythonで繰り返し計算をするプログラムを書いているのですが,
600回ループしたあたりでメモリエラーで止まってしまいます.
メモリオーバーの原因を特定するため,
使用メモリを監視したいのですが,
何か良い方法ありませんでしょうか?
すいませんwindowsなんですorz
Unixの方が安定してそうだしUnixマシン立ち上げるかなーとか思ったりもしてますが,
現状では金がなくてムリポ.
たかだか600回で落ちるのなら、
コード見ただけですぐに解りそうなもんだがなぁ。
巨大なオブジェクトを600個作ってるとかじゃないの?
Windows なら ctypes や pywin32 で
GetProcessMemoryInfo, GlobalMemoryStatus
とかの API を使ってみたら?
>>295 windows詳しくないけど、colinux とか virtualpc とか、あと CD-ROM や DVD で起動できる Knoppix とかをつかってみたらいいんじゃないか
くわしくはぐぐってくれ
299 :
295:2008/03/01(土) 00:16:51
>>296 ビューワ(gistviewer)を1ループごとに呼び出してたのがまずかったみたいです.
回数減らしたらとりあえず600回は越えました.
特にでかいオブジェクトは作ってなさそうなんですが・・・
とりあえずこれで様子を見ます.
皆さんどうもありがとうございました.
Pythonで浮動小数点の計算をしようと思ったのですが、
DBL_EPSILONとかDBL_MIN,DBL_MAXってどこのファイルに書かれているのでしょうか?
どなたか教えてください。お願いします。
表紙のネズミに惹かれてオライリーの初めてのPython買ったんだけどこの本の評判ってどうなの?
中身より学習意欲でっす。
入門の段階なんてネットに落ちてる情報だけで十分。
>>302 入門には手堅い選択
ただあのページ量なので適当に差っ引きながら読むこと
他言語経験者ならPythonチュートリアルで入門+クックブックで実践が鉄板
最新のライブラリについてはネットで情報を集めるしかない
305 :
デフォルトの名無しさん:2008/03/01(土) 07:43:10
100個の要素をもつリストがつくれない
a = []
DIM A(100)
a = [None] * 100
お見事
309 :
デフォルトの名無しさん:2008/03/01(土) 09:47:37
ハイパーサンクス
len(a)
100
ええええええええ
>>304 >他言語経験者ならPythonチュートリアルで入門+クックブックで実践が鉄板
両方オンラインで読めるから買う必要ナッシング.
313 :
150:2008/03/01(土) 12:18:06
なんだよ、ヒント位出てるかと思って来てみたら
何一つ有益な情報ないのかよ、このスレは。
Numerci, numarray, numpyのどれがメインストリームとか
今後はどれに収斂しそうだとかのサジェスチョンすらねーのか。
ほんとにPythonユーザーってのは糞だな。
314 :
300:2008/03/01(土) 12:20:54
ニートでネラーって救いようがないな
言うに事欠いて糞とは・・・驚きを禁じ得ない
科学計算ライブラリはscipyがスタンダードだからscipyで使われて
るnumpy使っときゃ間違いねーんじゃねーのってかググれ屑ゆとり野郎
>>316 チュートリアルは公式の、Cookbook は ASPN
Googleくらい知っておけよチンゲ共。
>>321 なんで俺が知ってなきゃならないんだよ。
俺は質問する側で、お前らは調べて答える側だろ。
他人に聞くだけの香具師はいつまでも馬鹿のまま
調べて答えることで勉強になる
もっと質問しちくりマンボ
Pythonを勉強する目標になるソフトとして、メーラーって現実的ですか
…以下、ぐだぐだと書いてあったんですが、Linuxのみ対応とはいえ
設計思想が目標どおりなものが、既に存在しているのを発見、やるしかない。
ただ、負荷のかかるメーラーだけに、Windows上&GUI化ってどうでしょう?
コアだけPython&UIは他、ですら難しいでしょうか。
日本語でおk
そこでwebアプリですよ
チンゲは一生チンゲ。
ハブンチョは一生ハブンチョ。
しゃーりんぐの再発明をしたいんじゃないの。
>>325 めちゃめちゃ現実的
各種プロトコルの勉強も出来て題材としてはベストに近い
入門段階でそういう目的意識を持てているのはある意味うらやましい
二行目以下はイミフだけどUIは後回しにできるので
最初のうちは気にしなくてOK
backendはPython
frontendはwxPython
メーラーというよりspamフィルタ作ってください
ローカルPC上にport110とか開いてメーラーはそこにアクセスするだけで
Pythonのbackendが本来のサーバーに採りに行ってくれれば良いです
backendの設定はGUIで出来ると嬉しいです
検出率・誤検出率共に成績の良いものを希望します
POPFileでいいじゃん…
勉強の目標を挙げてるだけだろ
337 :
デフォルトの名無しさん:2008/03/02(日) 04:03:14
str = "hoge"
に対して、
str.__class__.__name__ == "str" #=>true
のような判定をしてるのですが、専用の関数はあるでしょうか。
Rubyで
str.is_a?(String) #=>true
と書くようなことなんですが。
Obectj#isinstance
一体どんなtypoかと・・・寝る
あれ、分かったの?
もっとはっきり書くと、
if isinstance("abc", str):
処理...
isinstance("abc", basestring):
の方が吉
ubuntuでfrom importするとエラーになるのは何故なんでしょう。
windows上では正常に動作するんだけど。
バージョンは2.5.1
strって変数名は止めような。
minとかmax,lenも変数名として使わない方がいいからな。
このスレでは map(str, seq) とかもアウトなのでしょうか
別に
>>343だけどfrom importの問題じゃなくて、random.pyだけの問題らしい。
>>> from random import Random
random.pyはインポートできるが、random.pyのClass Randomが呼び出せない。
ソースコード見ても問題ないし弄ったわけでもない。よくわからん。
で、なんでコードとエラーメッセージを貼らないんだ
再起動したらタイミング悪くクラッシュして今再インスコ中なんで、コードとエラーメッセージは忘れた。
よくある「'Random'ってnameないですよ。from random」みたいなエラーだった筈。
まずPCを窓から投げ捨てろ
そのあとで「別の」random.pyが存在しないか確認
別のファイルはありません
でもスクリプト本体がrandom.pyですとかいうオチだろ
そんなわけないじゃん。
↑のせいで再インスコしたら同環境で実行できたんで、恐らくどっかにrandom.pyが存在してたんだと思う。
そういう時は __file__ で確認だな
>>> __import__("random").__file__
355 :
デフォルトの名無しさん:2008/03/02(日) 12:33:13
アルファだから入れる必要はないけど 2.6a1, 3.0a3 来たな
pythonで2ch書き込みライブラリみたいなの作りたいんですが
なにをどうしたらいいかさっぱり。。
事故解決しました。汚してすいません
2ch書き込みライブラリってなんだったのだろう
書き込むスクリプトならライブラリとか言う話じゃないし・・・
いえ、要は書き込めればなんでもいいんですよ
じゃあ2chブラウザ使え。
少なくとも一ヶ月以内にこのスレにIEコンポ使って
2chにアクセスするpysourceが上がってたが
Python始めたばかりなんですけど・・・。
シェルスクリプトより簡単でいいですね〜。
でもGUI作成が面倒で挫折してますけど。
まぁ自分で便利に使えてるんだしいいかな〜って。
英語という時点で日本人の入門者排除です。本当にありがとうございました。
英語ごときでつまづいてちゃこの先やってけないので,そういう意味で排除されて正解でしょうな
369 :
デフォルトの名無しさん:2008/03/03(月) 11:46:02
こういう英語のテキストは構成が大体
同じで、語彙も限られているのでそれ
ほど難しくない。学校の授業から連想
されるような英語を想像して尻込み
して読まないのはもったいない
Rubyが国内で普及したのは、作者が日本人ということもあり、日本語の情報が豊富だったことが一因と言われています。
Pythonの人たちはどう見ても初心者排除主義者です。
本当にご苦労様でした。
内容が電波なのはもういいけど、最初の文とその後のにまるでつながりが無い。
分裂が書いた文章みたいな破綻っぷりで、なんだか読んでうすら寒い。
初心者で思い出したのだけど。
抵抗勢力(?)の人たちはどうしたんだろうね。
最近見かけない気がする。。。
低脳自慢の会場はここですか?
英語嫁が初心者排除になるとしたらゆとりここに極まれりって感じだな
>>369 しかし「プログラムってなあに?」ってレベルの日本人に
英語の入門書は勧めんだろ。
確かに367の「排除」という言い方はおかしいが、どうも368-369は
なにか自尊心を補強するために書いているように見えてしまうな。
嫁は秋田弁
>>375 > どうも368-369は
> なにか自尊心を補強するために書いているように見えてしまうな。
こんなところでプライドを補強するなんて悲しすぎる。。。
でもまあHead Firstシリーズはもっと和訳されてもいいとは思う
それとかアンクが「Pythonの絵本」出すとか
あと「Pythonで学ぶプログラム作法」を3.0出たあたりで改訂して出しなおして欲しいな
本はみんpyでいいよ、
それよりウェブ上の入門コースみたいなのが少ない気がする、python は、
perl なんか、こんなに必要か?と思うほど、独立した入門サイトがたくさんあるけど、
python だと、1から10まで一通り全部説明してくれてるのって、本家ぐらいしか思いつかない。
本家のチュートリアルが過不足なくまとまっているのがどんなにすばらしいことか...
とRuby厨がぼやいてみるテスト
なんか可哀想。その程度の技術を講義に使ってるなんて。
パソヲタ中学生のがレベル高いんじゃね
「入門コースがない」とか嘆いてるやつは自分でつくればいいだろ
>>382 ゆとりにプログラミングを教育する立場になってみろ(ww
pythonceって、httplibのssl対応ってしてないの?
というかsocketモジュールで未対応?
unix の watch コマンドのように、「実行したいコマンド」を引数に与えてなんらかの処理を行うコマンドhogehogeを作りたい
ここではhogehogeがwatchコマンドをエミュレートするようなコマンドとする
コマンドライン解析にはoptparseで
parser = optparse.OptionParser()
parser.add_option('-n', '--reload-sec', dest='reload', help='reload time')
opts, args = parser.parse_args()
としているのだけれども、例えば以下のコマンド
$ hogehoge -n 2 ls -la
の場合解釈してほしくない ls -la の -la が当然optparseに拾われてしまう(hogehogeのオプションとして認識される)
$ hogehoge -n 2 -- ls -la
$ hogehoge -n 2 "ls -la"
とかすれば回避できるんだけど、optparseで俺が望むような動作は無理でつか?
他にこういうことが可能な解析器をご存知の方いたら教えてください
そんな特殊な解析なんて一般的には必要とされないだろ
というか自前で解析すればいいじゃん
390 :
388:2008/03/03(月) 21:35:46
よく考えればoptparseで解析する前に、Option#has_option()とかOption#takes_value()を使って
hogehogeのオプションと、それ以降の引数の境目を見つければいけそうですね。
スレよごしごめんなさいでしたー
391 :
388:2008/03/03(月) 21:38:04
>>389 ですよね。
ただ全部解析するのはめんどかったのですが、
>>390の方法で部分的に前処理してからoptparseに渡す方法がいけそうなので、
その部分は頑張って自前で解析します。
ありがとうございましたー
>>388 parse_args の前に parser.disable_interspersed_args() でいけるっぽい
393 :
388:2008/03/03(月) 21:51:49
>>392 そのメソッドはそういう意味だったんのですね・・・
長ったらしいメソッドだったので華麗にスルーしてました。
そして、望む動作をしていることも今確認しました。
ありがとうございます!助かりました
みんなのPythonってなんかネタ扱いされてる?
買おうと思ってるんだけどあんまよくないのかな。
プログラミング初心者ならいいのかも分からんが
多言語経験者なら Guido のチュートリアルで十分かと
公式のチュートリアルは良く書けているね
PythonにしろPHPにしろスクリプト系の公式は分かりやすいね
(Rubyは分からんけど)
Javaの公式リファレンス見たときはウンコ漏れそうになった
Rubyのはひどい
Ruby の公式サイトでさ、Ruby を C に埋め込む方法についての記述を探したんだけど、
全く見つからなかった。一生懸命探したら、本当に簡単なリファレンス(APIリファレンスだけ)
なら見つかったが、具体的にどういうふうに実装して行くのかって話は無かった。本当に
APIリファレンスだけだった。Ruby スレで聞いてみたら
「Ruby 使いはソース見て調べるからリファレンスは必要ないのさ」だった。
いかに Python のサイト&ドキュメントが親切かってのがよくわかった瞬間だった。
ネタじゃないなら酷いな
Rubyの公式はwikiみたいなもんだからな
Ruby の公式サイトでさ、Ruby を C に埋め込む方法についての記述を探したんだけど、
全く見つからなかった。一生懸命探したら、本当に簡単なリファレンス(APIリファレンスだけ)
なら見つかったが、具体的にどういうふうに実装して行くのかって話は無かった。本当に
APIリファレンスだけだった。Ruby スレで聞いてみたら
「お前が書け」
だった。
いかに Python のサイト&ドキュメントが親切かってのがよくわかった瞬間だった。
しかしruby界隈では
rubyの方が参照カウンタを気にしなくていいからC拡張モジュールを作るのが楽だ
とか言われている
本で読みたいって層も存在するよ。
>>406 ネタ本に必死になる必要はないと思うな(wwwww
ネタ扱いしてるがあの本売れてるぞ。俺が見たときは二刷だった
新訳(これが良質)で付録も付いてたしさくっと本買うのも悪くないぞ
にしてもApressからまたDjango本やらBeginning Pythonの二版出るらしい
どこか日本語版出してくれる出版社はないもんだろうか
>>408 >ネタ扱いしてるがあの本売れてるぞ。俺が見たときは二刷だった
いや、それは初刷がアレだっただけだって.
出版社もネタ扱いしてた証拠だよ.
朝からやめてくれよ.笑い死ぬわ(藁
>ネタ扱いしてるがあの本売れてるぞ。俺が見たときは二刷だった
同じくネタ扱いされていたみんPyは3刷だったよ。
ネタ本が売れるPythonっておもしろい(W
JythonがSunに取り込まれた模様
○ライリーの工作員が来るとスレの流れが香ばしくなるという鉄板。
みんぱいって地雷だったのか
ほいほいと買ってしまった・・・
まだ入門段階なのにへこんだ
副読本と割り切るならそんなに悪くはないよ
>>413 他にわらわらと出た和製入門本の中で特に悪いというわけでもないし
日本のユーザー会のとこから、本家っぽいとこの日本語訳にリンクしてないのはやっぱ仲が悪いから?
それとも見つけきらないだけ?
>>412 >412 名前: デフォルトの名無しさん Mail: age 投稿日: 2008/03/04(火) 12:47:09
>○ライリーの工作員が来るとスレの流れが香ばしくなるという鉄板。
>
>413 名前: デフォルトの名無しさん Mail: sage 投稿日: 2008/03/04(火) 16:08:16
>みんぱいって地雷だったのか
>ほいほいと買ってしまった・・・
>まだ入門段階なのにへこんだ
あらあら。オラ○リーの工作員さん大変ですね。
>>415 >日本のユーザー会のとこから、本家っぽいとこの日本語訳にリンクしてないのは
「本家っぽいとこの日本語訳」ってなにか教えて>工作員さん
三流出版社の工作員なんて放っておけば。煽るなよ(ww
てかZopeユーザ会じゃなくてPythonユーザ会って何処?
ググれょ三流(wwww
a.pyとb.pyを同時に、別々のコアを使って動かすことは出来ないのでしょうか?
python a.py & ; python b.py
ありがとう!!やってみる!!!
>>410 結局売れてないのか。工作員役立たずじゃん。
apacheでpythonのローカルCGIテストしたいんですが
ブラウザで指定するディレクトリはわかるんですけど
CGIのはじめに指定するパスがわかりません
apacheでローカルテストする場合なんて入力したら
いいんですか?
#!/usr/bin python ?
レベルの低い質問ですいません・・・・・・
エラーを無視する(処理を続ける)にはどうすれば良い?
俺はエラー処理にpassってかいてるけど・・・・本当はどうすりゃいいのかな?
>>425 まず、OSは何なんだ?
コマンドで「which python」とか入力してみれ。
>>428 ウィンドウズ2000proです
教えてちゃんですいません。。。
>>429 Python をインストールした場所、例えば
#!C:\Python25\python.exe
>>430 こたえてくれてありがとうございます
やってみたいと思います
superASCIIの連載が一番。
結局のところ
このスレに来るような
特殊な人間の趣味を
押し付けたって
一般人の役になんて
立たないと思うんだ
どうだろうか
はじパイはまずいパイなの?
はじパイ。チュートリアル。クックブック。
工作員がいるような三流出版社の書籍にまともなものがあるはずがないよ。
↑騙されて買った馬鹿です
一時期大いに取り上げられたのに、もう実践は無いもの扱いなのかとふと思った
このスレ的には
オンライン物>>>オライリーはじ>>みん=しっぱい>=パチはじ>その他(Nokia本など)?
はじパイは古すぎだろ。2.6のアルファが出てるのに2.3対応はないよ。いい加減改訂しろよ三流出版社。
3rd edition出てるの知らんのかい
何で断言してんの?
あんな分厚い本訳して出しても儲からないから。
w
Pythonの本は日本だとどれも儲け出なそう
Pythonの本に限らずさあ、全国で数百冊売れれば万万歳みたいな本って、書いて利益あるの???
翻訳本でしかも複数人数で訳してる例の書籍なんて、手取りからみたらネタとしか思えないよなきっと。
mixiにログインして、自分のホームのhtmlソースを取得したいんだけど、
ログイン処理ってどうすればいいの?
import urllib
print urllib.urlopen("
http://mixi.jp/home.jp").read().decode("euc-jp")
だと当然ログインhtmlしか取得できないわけでして。
がんばれ
とりあえずurllib2とかのリファレンス眺めてみたらどうだろう
mixiの認証の形式なんてしらないのでどーだか知らんが
python mixi でググるといっぱい出てくるわけだが・・・
昔書いた科学計算のC/C++コードにGUIをつけようと思うのですが
wxPython + C/C++ が
C# + C/C++ より優位なところはありますか?
ポータビリティ
winオンリーなら・・・
GUI のイベントハンドラが単に C/C++ を呼び出すだけなら
C# の IDE のデザイナの方が楽だと思う
scipy とか使うなら別だけど
mechanize なる物を発見したのでつかってみた。
こんなコードでmixiにログインできた
# ログイン画面に移動
import mechanize
br = mechanize.Browser()
br.open("
http://mixi.jp")
# フォームに入力
br.select_form(nr=0)
br["email"] = メールアドレス
br["password"] = パスワード
# ログイン
br.submit()
# 試しにリンク一覧を表示
for i in br.links():
if i.text is not None:
print i.text.decode("euc-jp")
ところが、その後ページを移動しようとして
# リンク「マイミクシイ」を探す
link = br.find_link(text_regex=u"マイミクシィ".encode("euc-jp"))
# リンク先に移動
br.follow_link(link) # <-- ここでエラー
なんか robot.txt によりアクセスが許可されませんでした
みたいなエラーメッセージがでるんだけど
普通のブラウザとの違いはなんなんだ。。。?
User-Agent: ヘッダじゃね?
>>458 >>459で解決してるかもしれないけど一応
そういう場合はブラウザとWWW:Mechanizeの出してるHTTPヘッダを比較すればいい
FirefoxならLiveHTTPHeadersとか
Pythonだとhttplib.HTTPConnection.debuglevel = 1 とかなんとか
もちろんWiresharkみたいなLANアナライザ入れてもOK
>>461 Grazie mille !
Sassoku tameshite miruyo !
ただしその場合、「これはボットではない、自作のブラウザなんだ」と
自分に言い聞かせなければならない。
464 :
413:2008/03/05(水) 14:55:14
質問しただけで工作員扱いか。
PythonユーザーもRuby厨に近づいてきましたね
465 :
デフォルトの名無しさん:2008/03/05(水) 17:53:28
ライブラリとモジュールの違いってなんですか?
モジュールが集まったらライブラリになるんじゃね?
getopt と optparse の良いとこ悪いとこ
教えて。ケースに応じて使い分けたりするもの?
どちらかが obsolute なだけとか?
Python万歳
getopt は C とかでも使う奴を
python 用に使えるようにしただけ
基本的には optparse 推奨
(なんかもう一つくらいあったっけ?)
class A :
def __init__(self, id) :
self.id = id
objs = [] # オブジェクトAの配列
for i in range(10) :
objs.append(A(i))
delids = [1, 4, 9] # 削除したいid
objsから効率よく該当するオブジェクトを(順序は維持したまま)除外したいのだけど簡単な方法はないかな?
今はこんな風に一々ハッシュ作ってからやってるんだけど。
hash = {}
for delid in delids :
hash[delid] = True
objs = filter(lambda x : not hash.has_key(x.id), objs)
[a for a in objs if a.id not in delids]
じゃだめ?
読みにくいのが難点ですが、内包表現だと1行でできるんですね!
ありがとうございます!
filter 使うなら filter(lambda x: x.id not in delids, objs) でも同じ
なるほど〜。
速度が気になるところですが、それは自分で比較してみます!
>>471>>473さん、ありがとうございました〜
工作員が必死で隠蔽工作(ww
ファイルの排他制御のテストプログラムを書いています。
ただ単に1つのカウントファイルを100万回インクリメントするプログラム
#!/usr/bin/env python
for i in range(1000000) :
f = open("count-file", "r+")
fcntl.flock(f.fileno(), fcntl.LOCK_EX)
cnt = f.readline()
cnt = int(cnt) + 1
f.seek(0)
f.write("%d\n" % cnt)
fcntl.flock(f.fileno(), fcntl.LOCK_UN)
f.close()
を同時に2つ実行するとcount-fileの値が
2000000
になるはずが、
1984329
という風に途中で欠けてしまいます。但し1つ実行する分には正常に動作します。
排他制御がうまくいってないようなのですがどこがいけないのでしょうか。
flockの部分をlockfにしても変化はありません。
OS Gentoo、python 2.5.1
LOCK_UN の前に flush?
>>477 まさにおっしゃる通りでしたorz
的確なアドバイス助かりました m(_ _)m
structmember.h
#define WRITE_RESTRICTED
で同名定義の上書きワーニングが発生する。
windows 特有のエラーぽいけどはやく直したやつリリースしてくれないかな。
svnリポジトリでみるソースだと既に PY_WRITE_RESTRICTED にリネームされてるんだけど。
適当にソース直してワーニング消す事はできるけど、それだと根本的な解決になってないし。
音速を超えたらマッハ1〜なんでしょうけど
光速を超えたら何か呼び名はあるのでしょうか?
ウォーニング
のぞみ
ワープワン
何というスレ違い・・・板違いどころの騒ぎじゃない
マジレスすると科学技術分野で「光速を超える概念」なぞ無いから用語も無いだろう
SF作家が自分の作品で勝手に名付けてるぐらいじゃないの
machのmはmegaのmらしい。ってことで光の場合は1ランクグレードアップして giga
つまり gach ガッハ
エルンスト・マッハ先生にあやまれ(AA略
それよりガチンコ格闘映画のマッハにあやまれ。7人分あやまれ。
ガッハの次は・・テラだからテッハ?ペタはペッハか
マッハの前はキロだからカッハ
定数Cが単位Cになるだけじゃに
引力が1Gとか2Gになるがごとく
Python3000で追加されるライブラリは何かありますか?
492 :
デフォルトの名無しさん:2008/03/06(木) 18:53:40
光速を「C」で表すのはなぜでしょうか?
> 一般的に記号cで表わされる。これはラテン語で速さを意味するceleritasの頭文字である。
>>491 http://www.python.org/download/releases/3.0/ http://www.python.org/download/releases/3.0/NEWS http://svn.python.org/view/python/trunk/Misc/ 2.6α2はここのNEWS
http://svn.python.org/view/python/trunk/Misc/NEWS?rev=61275&view=log コメント参照
http://docs.python.org/dev/3.0/whatsnew/3.0.html [Doc要約] 中段にある New, Improved, and Deprecated Modules のとこ
>As usual, Python’s standard library received a number of enhancements and bug fixes.
>Here’s a partial list of the most notable changes, sorted alphabetically by module name.
>Consult the Misc/NEWS file in the source tree for a more complete list of changes, or
>look through the Subversion logs for all the details.
ここに最も顕著な変化の一部をリストとして示します。
完全なリストはソースツリーの Misc/NEWS を参照するか、詳細に
ついてはsubversionのログを追いかけましょう。
- Removed these Python builtins:
apply(), callable(), coerce(), execfile(), file(), reduce(), reload() [What's New in Python 3.0a1?より]
- Removed UserDict.DictMixin. Replaced all its uses with
collections.MutableMapping. [What's New in Python 3.0a3?より]
あたりがちょっと個人的にショックかもしれん
apply,reduceはforか内包表記使った方がいいし
coerceとかなんのためにあるか分かんなかったし
execfileはexec open()で代替できるし
fileとかややこしいだけだし
callableはちょっと惜しいかな
reloadは自分で実装すればいいや
>>494 >- Removed these Python builtins:
>apply(), callable(), coerce(), execfile(), file(), reduce(), reload() [What's New in Python 3.0a1?より]
file()以外は組み込み関数でなくなるだけで、モジュールどっかのモジュールに収容されるんでしょ?
callable は __call__ を持ってるかどうかで調べなさいということらしい
def callable(f): return hasattr(f, '__call__')
reduce は functools.reduce
# 光より速い粒子で「タキオン」ってのがあるよ。
# マイナスの質量を持っていて、光より速くしか動く事が出来ない(光よりも遅くなれない)。
#
# もちろん理論的な存在であり、
# 「相対性理論の式とは矛盾しないよね」ってだけの話。
# でもなぜか、タキオンを利用したブレスレットってのが存在するよw
#
ttp://shop.tachyonhealing.net/ exit()
>>> exit()
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: 'str' object is not callable
>>> exit.__class__
<type 'str'>
な、なんだってー
>>476 flushするのでもいいけど、LOCK_UN しないというのでもいいよ。
今の OS だとどれも f.close() すれば勝手に LOCK_UN してくれる。
つまりリソースの解放を OS 任せにすれば、問題は起きない。
>>297 遅レスで申し訳ありませんが,pywin32からGlobalMemoryStatus等のAPIが実行できるということでしょうか?
>>502 windows 版だとそれでもexit できる、・・・・ってこの話題前にもあった気がするなぁ・・・
2.4のexit
if os.sep == ':':
exit = 'Use Cmd-Q to quit.'
elif os.sep == '\\':
exit = 'Use Ctrl-Z plus Return to exit.'
else:
exit = 'Use Ctrl-D (i.e. EOF) to exit.'
__builtin__.quit = __builtin__.exit = exit
2.5のexit
if os.sep == ':':
eof = 'Cmd-Q'
elif os.sep == '\\':
eof = 'Ctrl-Z plus Return'
else:
eof = 'Ctrl-D (i.e. EOF)'
class Quitter(object):
def __init__(self, name):
self.name = name
def __repr__(self):
return 'Use %s() or %s to exit' % (self.name, eof)
def __call__(self, code=None):
# Shells like IDLE catch the SystemExit, but listen when their
# stdin wrapper is closed.
try:
sys.stdin.close()
except:
pass
raise SystemExit(code)
__builtin__.quit = Quitter('quit')
__builtin__.exit = Quitter('exit')
て、てす、てすと・・そ、そそ、それ、それぇ
なんか、夕べあたりから静かなのは、荒らしてる人が雪山に行っちゃったせい?
遭難、、もとい、そうなんだ
>>509 自分だったら、if elif else を __repr__ の中に入れちゃいそうだ。
そんなに何回も、そのreprを起動させるやつもいないだろうし・・・
515 :
デフォルトの名無しさん:2008/03/08(土) 15:15:42
小林くんはぶっつけ本番なのかな。話の筋がみえない…。
ageてしまた…
gdgdすぎてみる気起きん
...
519 :
デフォルトの名無しさん:2008/03/08(土) 16:23:02
| .| /./ / | | _,,,,||,,,l.,,_ ト / | _ | .| /
. | | .| | l .| .,-'|.l .|l .| `|. l ' /´ / / /
| | |.| .| , |´ | .| | _|,_ l .| ./ ''`ト ./ /
| | |.| | | .| |_,,l-,─-.,_、_ | / .λl,/ /
. |. |. || | .| | /::::l ヽ `'' | / , ,.ミ,|´| ./
,,,__.| .| ヘ .| | .|/ |:i::::::〉., ノl | / .// ∨| /
`'' ‐ 、l | .|||l'l:|:|l:::::`':::::i´|| '' / ...:::::l..''
.`ヽ、 |:| ヾl.ヾ::::::::::| .|| ::::::::: l
.\_ -''lヾ ヘ:、.ヘ;;_;ノ ノレ .l
.ヾ=,,,_ .ヘ ,ヾ_,,=..''´.... _,,, /
ヽ .i'`''‐--.〉''´ .ヽ:::::::: _,,, -‐'''´:::::l ./.| ゲロゲロ!!
.\ ヽ`ニ / l. /:::::::::::::::::::::::/ i''ヘ .l
`ヽ .l-‐''l / .l:::::::::::::::::_;;-ヘ l ヽ ヘ
./.`iヽ .|ヽ| ./ ,,,,,,,_.ゞ,,, -‐''ヽ. |.| .| ヾ.、.ヽ
/ /|.| ヽ .| .| /ヽ /:::::ヾ .| ,l '| .l.l '|ヽ.、.ヽ
// /./.|,, -'''''''''''''''-.、.'-< .| ヽ /:::::::::lト''´ .| | | .i.| .ヾ.、.ヽ
/ / /./ ヽ,.` .l ヽ,'ノ/ ヾ_;;;l.l |/ .l l | ヾ.、lヘ
./ .//l i | .ヾ |:::::|.| .|' l// i.|| i.|
スクリプト稼働チュウ!
520 :
デフォルトの名無しさん:2008/03/08(土) 16:23:33
| .| /./ / | | _,,,,||,,,l.,,_ ト / | _ | .| /
. | | .| | l .| .,-'|.l .|l .| `|. l ' /´ / / /
| | |.| .| , |´ | .| | _|,_ l .| ./ ''`ト ./ /
| | |.| | | .| |_,,l-,─-.,_、_ | / .λl,/ /
. |. |. || | .| | /::::l ヽ `'' | / , ,.ミ,|´| ./
,,,__.| .| ヘ .| | .|/ |:i::::::〉., ノl | / .// ∨| /
`'' ‐ 、l | .|||l'l:|:|l:::::`':::::i´|| '' / ...:::::l..''
.`ヽ、 |:| ヾl.ヾ::::::::::| .|| ::::::::: l
.\_ -''lヾ ヘ:、.ヘ;;_;ノ ノレ .l
.ヾ=,,,_ .ヘ ,ヾ_,,=..''´.... _,,, /
ヽ .i'`''‐--.〉''´ .ヽ:::::::: _,,, -‐'''´:::::l ./.| ゲロゲロ!!
.\ ヽ`ニ / l. /:::::::::::::::::::::::/ i''ヘ .l
`ヽ .l-‐''l / .l:::::::::::::::::_;;-ヘ l ヽ ヘ
./.`iヽ .|ヽ| ./ ,,,,,,,_.ゞ,,, -‐''ヽ. |.| .| ヾ.、.ヽ
/ /|.| ヽ .| .| /ヽ /:::::ヾ .| ,l '| .l.l '|ヽ.、.ヽ
// /./.|,, -'''''''''''''''-.、.'-< .| ヽ /:::::::::lト''´ .| | | .i.| .ヾ.、.ヽ
/ / /./ ヽ,.` .l ヽ,'ノ/ ヾ_;;;l.l |/ .l l | ヾ.、lヘ
./ .//l i | .ヾ |:::::|.| .|' l// i.|| i.|
スクリプト稼働チュウ!
521 :
デフォルトの名無しさん:2008/03/08(土) 16:24:03
| .| /./ / | | _,,,,||,,,l.,,_ ト / | _ | .| /
. | | .| | l .| .,-'|.l .|l .| `|. l ' /´ / / /
| | |.| .| , |´ | .| | _|,_ l .| ./ ''`ト ./ /
| | |.| | | .| |_,,l-,─-.,_、_ | / .λl,/ /
. |. |. || | .| | /::::l ヽ `'' | / , ,.ミ,|´| ./
,,,__.| .| ヘ .| | .|/ |:i::::::〉., ノl | / .// ∨| /
`'' ‐ 、l | .|||l'l:|:|l:::::`':::::i´|| '' / ...:::::l..''
.`ヽ、 |:| ヾl.ヾ::::::::::| .|| ::::::::: l
.\_ -''lヾ ヘ:、.ヘ;;_;ノ ノレ .l
.ヾ=,,,_ .ヘ ,ヾ_,,=..''´.... _,,, /
ヽ .i'`''‐--.〉''´ .ヽ:::::::: _,,, -‐'''´:::::l ./.| ゲロゲロ!!
.\ ヽ`ニ / l. /:::::::::::::::::::::::/ i''ヘ .l
`ヽ .l-‐''l / .l:::::::::::::::::_;;-ヘ l ヽ ヘ
./.`iヽ .|ヽ| ./ ,,,,,,,_.ゞ,,, -‐''ヽ. |.| .| ヾ.、.ヽ
/ /|.| ヽ .| .| /ヽ /:::::ヾ .| ,l '| .l.l '|ヽ.、.ヽ
// /./.|,, -'''''''''''''''-.、.'-< .| ヽ /:::::::::lト''´ .| | | .i.| .ヾ.、.ヽ
/ / /./ ヽ,.` .l ヽ,'ノ/ ヾ_;;;l.l |/ .l l | ヾ.、lヘ
./ .//l i | .ヾ |:::::|.| .|' l// i.|| i.|
スクリプト稼働チュウ!
522 :
デフォルトの名無しさん:2008/03/08(土) 16:24:34
| .| /./ / | | _,,,,||,,,l.,,_ ト / | _ | .| /
. | | .| | l .| .,-'|.l .|l .| `|. l ' /´ / / /
| | |.| .| , |´ | .| | _|,_ l .| ./ ''`ト ./ /
| | |.| | | .| |_,,l-,─-.,_、_ | / .λl,/ /
. |. |. || | .| | /::::l ヽ `'' | / , ,.ミ,|´| ./
,,,__.| .| ヘ .| | .|/ |:i::::::〉., ノl | / .// ∨| /
`'' ‐ 、l | .|||l'l:|:|l:::::`':::::i´|| '' / ...:::::l..''
.`ヽ、 |:| ヾl.ヾ::::::::::| .|| ::::::::: l
.\_ -''lヾ ヘ:、.ヘ;;_;ノ ノレ .l
.ヾ=,,,_ .ヘ ,ヾ_,,=..''´.... _,,, /
ヽ .i'`''‐--.〉''´ .ヽ:::::::: _,,, -‐'''´:::::l ./.| ゲロゲロ!!
.\ ヽ`ニ / l. /:::::::::::::::::::::::/ i''ヘ .l
`ヽ .l-‐''l / .l:::::::::::::::::_;;-ヘ l ヽ ヘ
./.`iヽ .|ヽ| ./ ,,,,,,,_.ゞ,,, -‐''ヽ. |.| .| ヾ.、.ヽ
/ /|.| ヽ .| .| /ヽ /:::::ヾ .| ,l '| .l.l '|ヽ.、.ヽ
// /./.|,, -'''''''''''''''-.、.'-< .| ヽ /:::::::::lト''´ .| | | .i.| .ヾ.、.ヽ
/ / /./ ヽ,.` .l ヽ,'ノ/ ヾ_;;;l.l |/ .l l | ヾ.、lヘ
./ .//l i | .ヾ |:::::|.| .|' l// i.|| i.|
スクリプト稼働チュウ!
ちょMonty Python てありなの?w
524 :
デフォルトの名無しさん:2008/03/08(土) 16:27:20
| .| /./ / | | _,,,,||,,,l.,,_ ト / | _ | .| /
. | | .| | l .| .,-'|.l .|l .| `|. l ' /´ / / /
| | |.| .| , |´ | .| | _|,_ l .| ./ ''`ト ./ /
| | |.| | | .| |_,,l-,─-.,_、_ | / .λl,/ /
. |. |. || | .| | /::::l ヽ `'' | / , ,.ミ,|´| ./
,,,__.| .| ヘ .| | .|/ |:i::::::〉., ノl | / .// ∨| /
`'' ‐ 、l | .|||l'l:|:|l:::::`':::::i´|| '' / ...:::::l..''
.`ヽ、 |:| ヾl.ヾ::::::::::| .|| ::::::::: l
.\_ -''lヾ ヘ:、.ヘ;;_;ノ ノレ .l
.ヾ=,,,_ .ヘ ,ヾ_,,=..''´.... _,,, /
ヽ .i'`''‐--.〉''´ .ヽ:::::::: _,,, -‐'''´:::::l ./.| ゲロゲロ!!
.\ ヽ`ニ / l. /:::::::::::::::::::::::/ i''ヘ .l
`ヽ .l-‐''l / .l:::::::::::::::::_;;-ヘ l ヽ ヘ
./.`iヽ .|ヽ| ./ ,,,,,,,_.ゞ,,, -‐''ヽ. |.| .| ヾ.、.ヽ
/ /|.| ヽ .| .| /ヽ /:::::ヾ .| ,l '| .l.l '|ヽ.、.ヽ
// /./.|,, -'''''''''''''''-.、.'-< .| ヽ /:::::::::lト''´ .| | | .i.| .ヾ.、.ヽ
/ / /./ ヽ,.` .l ヽ,'ノ/ ヾ_;;;l.l |/ .l l | ヾ.、lヘ
./ .//l i | .ヾ |:::::|.| .|' l// i.|| i.|
スクリプト稼働チュウ! @ 5
525 :
デフォルトの名無しさん:2008/03/08(土) 16:27:51
| .| /./ / | | _,,,,||,,,l.,,_ ト / | _ | .| /
. | | .| | l .| .,-'|.l .|l .| `|. l ' /´ / / /
| | |.| .| , |´ | .| | _|,_ l .| ./ ''`ト ./ /
| | |.| | | .| |_,,l-,─-.,_、_ | / .λl,/ /
. |. |. || | .| | /::::l ヽ `'' | / , ,.ミ,|´| ./
,,,__.| .| ヘ .| | .|/ |:i::::::〉., ノl | / .// ∨| /
`'' ‐ 、l | .|||l'l:|:|l:::::`':::::i´|| '' / ...:::::l..''
.`ヽ、 |:| ヾl.ヾ::::::::::| .|| ::::::::: l
.\_ -''lヾ ヘ:、.ヘ;;_;ノ ノレ .l
.ヾ=,,,_ .ヘ ,ヾ_,,=..''´.... _,,, /
ヽ .i'`''‐--.〉''´ .ヽ:::::::: _,,, -‐'''´:::::l ./.| ゲロゲロ!!
.\ ヽ`ニ / l. /:::::::::::::::::::::::/ i''ヘ .l
`ヽ .l-‐''l / .l:::::::::::::::::_;;-ヘ l ヽ ヘ
./.`iヽ .|ヽ| ./ ,,,,,,,_.ゞ,,, -‐''ヽ. |.| .| ヾ.、.ヽ
/ /|.| ヽ .| .| /ヽ /:::::ヾ .| ,l '| .l.l '|ヽ.、.ヽ
// /./.|,, -'''''''''''''''-.、.'-< .| ヽ /:::::::::lト''´ .| | | .i.| .ヾ.、.ヽ
/ / /./ ヽ,.` .l ヽ,'ノ/ ヾ_;;;l.l |/ .l l | ヾ.、lヘ
./ .//l i | .ヾ |:::::|.| .|' l// i.|| i.|
スクリプト稼働チュウ! @ 6
test
>>523 まあ広川さんもなくなったしな。
とかなんとかいっちゃったりして。
荒らし来てるじゃん
529 :
デフォルトの名無しさん:2008/03/08(土) 20:48:54
まあここまでは俺が作ったpythonスクリプトで生成された人工知NOが自演してたんだがな
うほ、これWii動かしてんの?
531 :
デフォルトの名無しさん:2008/03/08(土) 21:04:29
('A`)ウィ
値読むのは出来てたみたいだけど、入力するのもできるのかなぁ・・・、
まあ、出来てもうれしくないか・・・
IDLEのエディタでプログラムを更新したあとF5押してもシェルの方に反映されないんだけど何で?
ごめん、何か反映されてた
おまえらつまんねぇよ。
面白い奴らはみんな松本に行ってる証拠だな。
氏ねよカども。
Py3.0って日本語識別子使えるんだね。
なんかすごい危険な予感が。。。
全角()とか全角:とかが識別子に含まれてたらもどうしようもないな。
def 関数:読み取る():
return input(">>")
def 関数:表示する(文字列:メッセージ):
print 文字列:メッセージ
変数:文字列:メッセージ = 関数:入力()
関数:表示する(変数:文字列:メッセージ)
とかっていう気持ち悪いのがまかり通るようになる
そういえば以前識別子に日本語使えないからってPython導入の許可が下りなかった人がいたな
よかったね
>>535 おとといぐらいまでに面白いレス本当にあった?
>>536 VBでそんな悪夢を垣間見たことがあるんだが……まさか……orz
開始するとは
アプリケーション“Finder”について
>>540 janeで見る限り、交通事故?
たぶんグロ画像。
>>542 よく分からない白と茶色の塊が落ちてる。
たぶん汚物画像だと思う。
しょうがねえ、俺がわざわざポップアップしてみてやったよ。
>>540がバイクの事故でバイクがぐちゃぐちゃ。2人死亡。
>>542はよく見ても良く分からん。人が燃やされてるのか???
そう。人がコンクリの路上で燃えてる
motocrashとgoreやし、なんとなく判るやろ
なんだか著しく堕スレになったなぁ
そうか、もう春なのか…。
わざわざ解説されても困る
グロ画像いらない。
わざわざ人に見せようとするのって心の病気だろ。
たかがネットで何を
Windows で Python を使ってみようと思うのですが、
インストール先としては C:\Python25 がでふぉなんだけど
これを変えるといろいろと後で困りますか?
たとえば C:\Program Files\Python25 とか。
たしかにスペースが入っていてマズそうなんですが。
Vistaでその位置にあると困るかも知れない
os.path.hogehoge でアクセスしている分には問題ないと思うよ
XPだし、とりあえずやってみます、というかインスコ完了。
で、また質問君なんですが、これでテキストデータ処理する
スクリプト書いたとして、処理系をまるごと USB メモリに放り込んで
持ち歩くことって可能なんでしょうか?
学校のパソコンで実験データを処理したいのですが、
ネカフェにあるPCのようにがちがちにファイルシステム
のパーミッションつーかACLが閉じられてて、自分の My Documents
以下以外には何も置けないのです。Docuemnt and Settings\自分の名前
直下の他のフォルダやファイルはドメインログオンの
ログオンスクリプトで抹消されてしまいます。
教師いわくExcelの授業でやったろ!Excel使えExcelらしいんですが、
Office 2003 しか入れてくれないくせに実験データ10万行以上
あるよプギャーお前実際に生徒にやらせる前に自分で試してないだろ
プギャー理科と情報の教師で情報交換してないだろプギャー
というかExcelの使い方教えるなら分析ツールの回帰分析とか
ちゃんと数学的に教えろよ数学の教師兼だろプギャープギャープギャー
結局ネットで調べてどっかの大学の授業資料読んだほうがいいじゃんorz
telnetしてサーバのpython使う
>>557 おお、面白そう、試してみます。
>>558 たぶん学校の外にtelnetとかsshとか出て行けないです。
今眺めてたらなんで tcl/tk が・・・
かなり厨房のころにLinuxのカーネルをコンパイルしようと
したときに tcl/tk ベースのGUIを使ったような気が。
>ちゃんと数学的に教えろよ数学の教師兼だろプギャープギャープギャー
ある一線を超えたら、教官から何か教えてもらえると思わないほうがいい
561 :
553:2008/03/09(日) 18:14:51
なんと IronPython なるものもあるみたいっすね
別に.NET好きってわけじゃないけど Visual C++
は普段から使ってるんで操作性がいいならデバッグまでは
IronPython 使って同じスクリプトを実行は python.exe
(pythonw.exeはコンソールウィンドウが出ないだけ?)
という手もあるのかなぁとか思ってます。
最低限python.exeとpythonXX.dllとmsvcランタイムがあれば動くよ
ライブラリ検索パスをレジストリから取得するのでセットアップしてない状態だと
python.exeと同じディレクトリとpythonXX.zipくらいしかパスが通ってないと思う。
以下のファイルをpython.exeと同じディレクトリに置けば普通に使える
C:\Python25\DLLs\*
C:\Python25\Lib\*
C:\Python25\tcl (これはtcl使ってないからわかんね)
関連づけとかはまあ適当に
というか、学校の宿題をネットカフェのPCでやろうととてることには誰も言及しないのはなぜだ。
564 :
553:2008/03/09(日) 18:31:32
>>563 エカフェでやろうとしてないっす〜
学校のPCがリブートのタビに初期化される仕組みが
ネカフェのと似てるって書いただけっす。
家にあるのは Sempron で組んだ XP SP2 なマシンですよ。
せっかく64ビットOKな世代のSempronにしたのにWindowsは
32ビットでなんか悲しいです。
あとあれだ、py2exeでバイナリ化 > ポータブルになる
Python本体
Win32com
py2exe
Pythonフォルダをコピーして適当なところにペーストし、
c:\/windows/system32/ にある msvc*71.dll をPython.exe と同じフォルダに
置けばどんな環境でもそのまま動く
(別途インストールした Python ライブラリももちろんそのま使える)
パスがをわざわざ通すのが面倒なら、バッチファイルを作ればいい
Python .\hoge.py
PAUSE
と書いたテキストファイルを hoge.bat としておけば、
パス通すとか面倒な事しなくても
ダブルクリックしただけで hoge.py が動く。ファイル名前にある .\ を忘れない事。
PAUSE というのは、スクリプトで例外が発生したときに
トレースバックが表示された瞬間にアプリケーションが終了して
窓が閉じてしまうのを防ぐためのおまじない
568 :
553:2008/03/09(日) 23:26:47
皆さんありがとうございます。
ところで本家から落としたWindows版のバイナリを使わせてもらっているのですが、
Pythonってコメント中にはマルチバイト文字って無理でしょうか?
マルチバイト文字と言ってもUTF-8なのですが。
>>568 何も問題なし
ただし、環境によっては(たとえWindowsでも)ソースコードの1行目に
#coding: UTF-8
とか書いておかないと、実行しようとしたときに文字コードエラーが起きる
571 :
553:2008/03/09(日) 23:37:18
コメントで指定する方法があるんですね。
コマンドラインオプションで指定する方法も探して見ます。
pythonでCP51932の文字は扱えますか?
スレのレベルが上がったような気がする。
合宿が終わったからか?
おまえのレベルが下がったんだよ
日本語読解能力レベルも下がったんだな
580 :
デフォルトの名無しさん:2008/03/10(月) 16:49:50
すばらしい
py3.0で日本語識別子試してみたけど、全角記号はちゃんとはじかれる!
これで安心して日本語プログラムできますな
>>579 「読解能力レベル」ってデコレータをデコレーションする、みたいなもんか?
582 :
デフォルトの名無しさん:2008/03/10(月) 19:02:05
site-packages/sitecustomize.py で
import sys
sys.setdefaultencoding('utf-8')
ってやればソースコード中にエンコードしていを書かなくても
utf-8 でコメントとか書きまくれるかと思ったんだけど,
だめなんでしょうか.
583 :
デフォルトの名無しさん:2008/03/10(月) 19:18:28
一応対話的に起動した後で
import sys
sys.getdefaultencoding()
とすると utf-8 と表示されるんですが,
python hage.py ←UTF-8なコメントを含んでいる
と実行すると non-ascii が含まれてる癖に
エンコーディング方法が指定されてないぜ!死ね.
と怒られます.
>>583 >>570 sys.getdefaultencoding()はunicode(somestring)したときに参照される
なんにしろ相互に変換するときはきちんと把握すること
{set/get}defaultencoding とソースの文字コードは無関係
たとえば
SJISのファイルを読んでUNICODEでコンソールに出力するプログラムをUTF-8のソースで書くとこのようになります
↓
│ ↑
└─┘
おらっしゃあぁぁ!!!
∩∧ ∧
ヽ( ゚Д゚)
\⊂\
O-、 )〜
∪
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
sys.setdefaultencoding('cp932')
print unicode(open('日本語.txt', 'rb').read(), 'cp932')
ああ、ファイル名の文字コードはUTF-8ね
setdefaultencoding は site.py 実行最後で del されるぞ
つcodecs.open
>>591 俺、自前じゃない他人のを読むときは全部それで開けてるわ。
便利だよな。
codecs.openを知らない奴は入門書も読まない文盲か貧乏人。
595 :
デフォルトの名無しさん:2008/03/11(火) 02:13:50
みなさんパイソン歴どんくらい?
そういう話はmixiで
mixiは見るのが面倒。遅いしfeedも無いし。
598 :
デフォルトの名無しさん:2008/03/11(火) 07:36:36
フィードがないからなんか使わなくなっちゃうんだよな。
たまにマイミクにメッセージ送る程度。
python-json 3.4
と
codecs.open
は共存出来ますか?
codecs.open て unicode(file(filename).read()) に対してどの程度利点がある?
>>596 暇な窓際オッサンがスレを占拠しててウザいからmixiは嫌い
603 :
デフォルトの名無しさん:2008/03/11(火) 10:06:10
このスレ的には IronPython もおkって人が多い?
それとも IronPython は異端?
>>600 後者のほうは Python3 で使えない (unicodeとfile)
>>603 文法は一緒なんだがライブラリが別物(.NET Fw使うから)なんで
用途的な意味でほとんど別物だと思う、俺が使った感想だと。
つ、つられないぞっ
MSのOSでしか使えないスキルというのが、手を出すのをためらう所かな。
monoも忘れないであげてください
unicode(file(filename).read())とか書いちゃう奴は入門書を買えない貧乏人か文盲
open()使うかRubyでもやっとけクソ
貧乏人バカにすんなよ
巷に出回ってる入門書のすべてでunicode()を扱ってるとでも思ってるんだろうか
クソ本はクソ人間にも劣る。
codecs.open()を扱っていない入門書など論外である。
おミンパイはどうなの?
>>616 書いてあるわけないだろうがボケカス氏ね
def func1(a,b,c,d):
中略
関数の呼び出しで第一引数を省略して呼び出すには
どうしたら良いでしょうか?
func1(,"hoge","fuga","piyo")
と書いたら怒られますた。。。
619 :
618:2008/03/12(水) 18:39:06
>>> def func1(a,b,c,d):
... pass
...
>>> func1(,"hoge","fuga","piyo")
File "", line 1
func1(,"hoge","fuga","piyo")
^
SyntaxError: unexpected token ','
>>> def func1(a="nyo",b,c,d):
File "", line 1
def func1(a="nyo",b,c,d):
^
SyntaxError: default value must be specified here
はじめの引数だけ省略したいですと… orz
>>618 答えがあるのかもしれないけど、
普通は、関数を定義する時に、
必須の引数を前に持ってきて、オプションは後ろ
def func(arg1, arg2, arg3=None, arg4=True):
return True
こうすると、3と4は省略可能
むり
省略は後ろから順
それか綺麗じゃないけどその場で適当に何か入れといてから
必要になったときに入れ直したら?
どういうコードが後に続くのかによって何とかなりそうな気もする
def func1(a='hoge', b='fuga', c='moge', d='piyo'):
中略
とやって
func1(b='foo', c='bar', d='baz'):
中略
と呼ぶ手もなくはないがめんどい
>>618 # python 2.5
import functools
func1p = functools.partial(func1, "第一引数の値")
func1p("hoge","fuga","piyo")
625 :
618:2008/03/12(水) 19:01:30
>>620-621 now = time.strftime("%Y/%m/%d", time.localtime(time.time()))
def res(name, mail, time=now, body):
中略
res("デフォルトの名無しさん","sage",,"本文")
ではなくて、res(,,,"本文")
と書けたら便利そうなのですが、前から省略はできない…
でも引数の順を変えるのは嫌かも…諦めるしかない
d
>>623 すべての引数にデフォルトの値を割り当てれば
いいのか…
>>> def res(name="デフォルトの名無し",mail="sage",time="2008/03/12",body=""):
... print name,mail,time,body
...
>>> res(body="本文")
デフォルトの名無し sage 2008/03/12 本文
とりあえず解決しますた。
dd
627 :
デフォルトの名無しさん:2008/03/12(水) 20:11:10
コピペアフィブログの臭いがプンプンだぜ
IronPython使ってる人なんていたんか
>>> def res(**kwargs):
... print kwargs['hoge'] if kwargs.has_key('hoge') else None
... print kwargs['fuga'] if kwargs.has_key('fuga') else 0
...
>>>
>>> res(fuga=100)
None
100
>>> res(hoge='abc')
abc
0
>>>
[] if...else...よりはget
更にhas_keyよりはin演算子
def res(**kwargs):
print kwargs.get('hoge', None) if 'hoge' in kwargs
print kwargs.get('fuga', 0) if 'fuga' in kwargs
**kwargs 出す場面じゃあない
暗黒面への入り口
肛門臭うぞ
鼻エスパー?w
かわいそうな能力w
import os
print [x for x in os.listdir(u"C:/")]
このやりかたって日本語ファイル名だめなの?
\x83等のエスケープの事なら避けられない
Python3000でprintが関数になれば出来るのかね。
強引だけど、map(print, os.listdir('.'))みたいな
>>636の振った話題に付いて行けない。
このコードだとなにが問題なの?
それよりみんなさ、引数がたくさんあるメソッドをオーバーライドしたときってどう対処してる?
たとえばGUIクラスがあったとして
class Window:
def __init__(self, parent, width, height):
...
これを継承するでしょ。で、そのとき独自の引数 piyo を追加したい。その時って
class ExWin(Window):
def __init__(self, parent, width, hegiht, piyo, *args, **kwargs):
Window.__init__(self, parent, height, *args, **kwargs)
...
みたいに律儀にやってる?
でもこれだと、基底クラスの受け取る引数が一つ増えたときにややこしいことになる
それとも、..., piyo=None, *args, **kwargs)
って、キーワードとして追加?
なんにしても、基底クラスの仕様が変化すると、渡すパラメータの順番が狂ってしまう
日本語コーデックの自動判別モジュール探してたんだけど、よく考えたら
この判定コードで十分じゃね?
jp_codecs = ("euc-jp", "sjis", "utf-8")
jp_patterns = "あいうえお…わをん"
def get_jp_codec(s):
def tryenc(s):
for i in jp_codecs:
try:
u = s.decode(i)
yield i, u
except UnicodeDecodeError:
pass
for enc, u in tryenc(s):
if len(set(jp_patterns) & set(u)) > 0:
return enc
return None
>>641 厳密に言うと、完全ではない。
たとえばEUC-JPとShift_JISは完全に区別することはできなくて、
Shift_JIS なのに s.decode('euc-jp') でエラーにならない場合もある。
643 :
デフォルトの名無しさん:2008/03/13(木) 13:08:28
全部試してみてエラーが起きないやつを可能性として
全部候補に挙げて,あとはカン,とかどうよ?
nkf なんかはもっとなんか別の統計的手法をつかってるんだっけ?
シフトJISの半角カタカナ2文字か、EUC-Jの漢字1文字か、が
全く同じバイト列になるから判別不可能。
Welcome to NISHIO Hirokazu's homepage!
[i for i in globals().keys()]
と打ち込むと "_[2]" ていう変な識別子が定義されてるんだが、なんだこれは。
ぐぐったらこんなのがみつかった
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/204297 内包表現で使われる一時変数みたいね
>>> def p(x): print x
...
>>> [x for x in range(5) for _ in [p(locals()['_[1]'])]]
[]
[0]
[0, 1]
[0, 1, 2]
[0, 1, 2, 3]
[0, 1, 2, 3, 4]
# トップレベルのlocals()とglobals()は同じだよね・・・
>>> dis.dis(compile("[x for x in range(5)]","","eval"))
1 0 BUILD_LIST 0
3 DUP_TOP
4 STORE_NAME 0 (_[1])
7 LOAD_NAME 1 (range)
10 LOAD_CONST 0 (5)
13 CALL_FUNCTION 1
16 GET_ITER
>> 17 FOR_ITER 13 (to 33)
20 STORE_NAME 2 (x)
23 LOAD_NAME 0 (_[1])
26 LOAD_NAME 2 (x)
29 LIST_APPEND
30 JUMP_ABSOLUTE 17
>> 33 DELETE_NAME 0 (_[1])
36 RETURN_VALUE
さっぱりわからんが_[1]が使われてるみたいだ
IronPythonだと出ない
3.0α3でも出なかった
>codecs.open()を扱っていない入門書など論外である。
>おミンパイはどうなの?
書いてあるよ。
工作員お勧めのはじパイには書いてないけど。
速pyはどうなの?すごいマイナー臭がするけど。
初めてのPythonって、オライリーから出てるのが本物?
黄色い方が偽者
>>636 import os
print repr([x for x in os.listdir(u'c:/')]).decode('unicode-escape')
工作員お勧めのクソ本のせいで「Pythonは日本語が苦手」という印象が広まってしまっている件。
初めて日本語処理を書く人は大抵つまずく、という点では正しい。
そこらへんはJAVAやC#に遅れをとっている所だよね
PerlやRubyよりはマシなんだけども
>>659 出来ました
激しくありがとうございました
PPPの中ではunicode化に関しては一番進んでるよな
Java/C#はそんなに優れてるの?
特にjavaは秀逸
Javaってクラス名や変数名日本語可能?
動物が表紙のウンチ本が全部悪いんだぜ
フローズンバイナリがよくわかりません。チュートリアルにも
フローズンバイナリに付いて全くといっていいほど情報がないし。。。
なんなの?これ
書いたスクリプトの実行時間(0.5秒)のボトルネックがimport文(9割を占める)でした。
importのオーバーヘッドを小さくするtipsなどないでしょうか?(2.4使用)
スクリプトはCGIにしたいと思っているもので、
色々な種類の小さめの処理(各1ファイル)をサクサク実行したいという状況なのです。
>>669 サードパーティーモジュールが必要だから
チュートリアルに書いてあるわけがない。
>671
まさか関数内で import なんてことないよね?
import はモジュールのトップレベルですべし。
ディスクの空き容量が知りたい時は df を popen() して re.search()?
Windowsではどうするの?
ctypesでGetDiskFreeSpaceEx呼び出す
>>674じゃないけどヒントもらったしせっかくなので
from ctypes import *
dirname = ur'c:\\'
GetDiskFreeSpaceExW = windll.kernel32.GetDiskFreeSpaceExW
freeBytesAvailable = c_ulonglong()
totalNumberOfBytes = c_ulonglong()
totalNumberOfFreeBytes = c_ulonglong()
GetDiskFreeSpaceExW(
dirname,
byref(freeBytesAvailable),
byref(totalNumberOfBytes),
byref(totalNumberOfFreeBytes))
print "free space of %s: %d bytes" % (dirname, freeBytesAvailable.value)
こういうのちょこちょこ書き溜めたら結構なライブラリになるだろうなあ
678 :
676:2008/03/15(土) 10:02:11
>>677 d
さっそく書き直したよ
>>> import win32file
>>> win32file.GetDiskFreeSpaceEx(u'c:/')
おれもやってみたけど
>>676 で帰ってくる値と
>>678 で帰ってくる値が微妙に違うw
もちろんその間にdiskは使ってないし
totalNumberOfBytes
の値だけは一緒だから
freeBytesAvailable と totalNumberOfFreeBytes
の値だけが変化してるw
こういうときでも
freeBytesAvailable == totalNumberOfFreeBytes
は常に真なんだな
680 :
674:2008/03/15(土) 14:17:33
みなさんありがとう!
Mac OS X と Windows をターゲットにした客先なので
os.name 見て切り替えるしかないですね。
pywin32 でも ctypes でもいいから標準インストールに含まれるようにならないかなーと思ったら
2.5 から ctypes 入ってたのねorz 知らなんだ...
681 :
636:2008/03/15(土) 22:24:47
win32com.clientを使いたいんだけど、
'\x83N\x83\x89\x83X\x95\xb6\x8e\x9a\x97\xf1\x82\xaa\x96\xb3\x8c\xf8\x82\xc5\x82\xb7'
なんてエラーメッセージが帰ってきたんです。
これ、何て読むんですか?
>>> print '\x83N\x83\x89\x83X\x95\xb6\x8e\x9a\x97\xf1\x82\xaa\x96\xb3\x8c\xf8\x8
2\xc5\x82\xb7'
クラス文字列が無効です
確かに見づらい罠。
>>683 シフトJIS?
utf-8な環境だと????だらけで見れない。
だな。sjisにdecodeでおk。
教えてください!
PyDEVでプログラムを書いています。
書いたプログラムを実行するのに「次を実行ボタン」「ダイアログが開く」
「Python実行を選択する」「OKボタン」の順に操作するのが面倒です。
また、「左のツリーからファイルを右クリック」「右クリックメニュー」「実行→」「Python実行」
とメニューを辿っていくのも面倒です。
なんかボタン一発で今開いているファイルを実行する方法はありませんか?
書いたpyファイルダブルクリックが最速かもな
端末から打つより早いだろうし
左側のツリー(Pydevパッケージエクスプローラ)で、
開いているファイルをダブるクリックすると、一瞬マウスが砂時計になって、その後何も起こりません。
開いていないファイルをダブるクリックすると、エディタで開きます。
どこでダブルクリック?
困ったことがあったら、
>>1にリンクされている
聖書を読むべき
聖書ってお民パイのことか?w
気軽といいつつLinuxを例にしてるアレか
SQLAlchemyだったら読みに行くんだが・・・
datetime.strptime に UnicodeString 渡したらエラーになった…。
str のまま渡すとうまくいく模様。これって変じゃないか?
----
# -*- coding: cp932 -*-
from pprint import pprint
from datetime import datetime
# 成功
pprint( datetime.strptime("2008年3月16日 2:03", "%Y年%M月%d日 %H:%m") )
# 失敗
pprint( datetime.strptime("2008年3月16日 2:03".decode("cp932"), "%Y年%M月%d日 %H:%m".decode("cp932")) )
----
datetime.datetime.strptimeがunicodeならsys.getdefaultencoding()でstrに変換、という処理を行ってるからのようだ。
time.strptimeはそんなことをしていないので、バグかな?
$ python -S
Python 2.5.2 (r252:60911, Mar 12 2008, 13:36:25)
[GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu4)] on linux2
>>> import sys, time, datetime
>>> sys.getdefaultencoding()
'ascii'
>>> time.strptime(u"2008年3月16日 2:03", u"%Y年%M月%d日 %H:%m")
(2008, 3, 16, 2, 3, 0, 6, 76, -1)
>>> datetime.datetime.strptime(u"2008年3月16日 2:03", u"%Y年%M月%d日 %H:%m")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\u5e74' in position 4: ordinal not in range(128)
>>> sys.setdefaultencoding('utf-8')
>>> sys.getdefaultencoding()
'utf-8'
>>> time.strptime(u"2008年3月16日 2:03", u"%Y年%M月%d日 %H:%m")
(2008, 3, 16, 2, 3, 0, 6, 76, -1)
>>> datetime.datetime.strptime(u"2008年3月16日 2:03", u"%Y年%M月%d日 %H:%m")
datetime.datetime(2008, 3, 16, 2, 3)
strptimeのメインの処理は_strptime.strptimeなんだけど、
これを呼ぶPyObject_CallMethodの第三引数formatが違うんだな。
datetime.datetime.strptimeは"ss"になってる(strへの変換)。
time.strptimeは"O"でタプルのまま渡してる。
>>691 SQLObjectのことをフレームワークと言ってて「ふーん」と思った。
>>686 Eclipse + Pydev?
F11やCtrl + F11はどうよ
>>698 レスありがとう。
F11すると「次を実行ボタン」を押したときと同じでダイアログがでてきました。
>>686で書いたのと同じです。Ctrl+F11は何も起こりません。
ソースをちょこちょこ変更して実行して、、、ていうことを繰り返してると、
実行するまでの動作がだんだん煩わしくなってきます。
どなたか教えてください
t=urllib.urlopen("
http://〜〜").read()
print type(t)
とするとstrとなるんですが。
utf-8のサイトの場合 tの型がunicodeになってほしいんです
どうしたらよいでしょうか。
python2.5の場合はstrのままテキストに落としたらutf-8として文字化けせずに表示されるのですが
ironpythonの場合テキストエディタで開いたらASCIIとして認識され文字化けされています。
utf-8としてそのファイルを保存し直しても文字化けしたままです。
解決策ご存じの方いましたらお願いします
t=urllib.urlopen("
http://〜〜").read().decode("utf-8")
703 :
700:2008/03/17(月) 00:39:43
文字化けしない方法自己解決しました。すいません;
ファイルの側をバイナリモードで開いて突っ込むだけでした。
open("hoge","wb")
704 :
700:2008/03/17(月) 02:02:00
>>701 ちゃんとレスが表示されてなくて見てませんでした。
それだとAsciiキャラクタじゃないから変換できませんよーってエラーがでます。
ironpythonではutf-8なんて定義されてないって出ました
僕の環境だけでしょうか・・・・?
>704
ところで Python のバージョンは?
また文字コードか
707 :
デフォルトの名無しさん:2008/03/17(月) 11:45:17
文字コードの諸問題もテンプラに入れて初心者が醤油と大根おろしで美味しく食せるようにするべき
pythonce mobileとpythonce smartphoneってどうちがうんですか?
709 :
デフォルトの名無しさん:2008/03/17(月) 15:04:11
正直文字コードをうまく扱えないやつはPython使うなといいたい。
Rubyのがはるかに先を行っている
710 :
デフォルトの名無しさん:2008/03/17(月) 16:00:43
どう先を行っているの?
煽りじゃなくてマジで知りたい。
しかしRubyを学ぶのは断る!
ほんとどの言語使っても文字コード絡みはネックだなー
Pythonに限った話しじゃないけど、文字コードの仕組みというか原理というかを完全に理解してる方たちは、
悩まずプログラミング出来てますか?
なんかいっつも日本人可哀想だなーって思ってしまう俺がアホなだけ??
一回とことん文字コードについて勉強したほうがいいんかなー
文字列は基本unicode、strは単なるバイト列(≒I/O用)
なんもややこしいことはない。
>>711 unicodeへのエンコードモジュールを自分で作ってみ。
u'ほげほげ' を勝手に UTF-8 だと思い込んでいるひとが意外と多い
それがすべての間違いの元
>>> a="タ"
>>> if a in "[ぁ-んァ-ン]": print "true"
... else: print "false"
文字列が、ひらがな、もしくはカタカナだと
判定するにはどうしたら良いですか?
上記のだとうまくいかない…
if a in [c for c in u'ぁ-んァ-ン']: print "true"
else: print "false"
>>716 >>> for e in u"ぁ-ん":
... print e,
...
ぁ - ん
>>> for e in [c for c in u"ぁ-ん"]:
... print e
ぁ - ん
できないジャン
print re.match(ur"[ぁ-んァ-ン]", u"タ") is not None
>>> for i in unicode('あア亜', 'mbcs'):
print unicodedata.name(i)
HIRAGANA LETTER A
KATAKANA LETTER A
CJK UNIFIED IDEOGRAPH-4E9C
c = u'タ'
if u'ぁ' <= c <= u'ん' or u'ァ' <= c <= u'ン': print "true"
else: print "false"
見た感じ、unicodedata使うのが綺麗っぽいかな。
手元のベンチマークだと一文字だと比較 : 正規表現 : unicodedata = 1 : 2 : 2.5くらい
複数文字の文字列だと長ければ長いほど正規表現が抜群に速い
(PythonのループはCと比べてかなり遅い)
724 :
デフォルトの名無しさん:2008/03/17(月) 22:33:13
py2exe を使った場合、完全にその exe ファイルだけで
動くのでしょうか。それとも何らかの DLL などが必要なんでしょうか。
DLLも一緒にパックされる
Python的ヒエラルキーは
汚いけど速い<<<綺麗
汚いけど速い>綺麗だけどかなり遅い
だろ
ToDoが明確になっているのはよいことじゃないかな?
何もないままいい加減なコードを書かれるよりずっとまし。
Pythonの人って被害妄想が強すぎる。だからいじめられるんだよ。
>>729 同意。ネガキャンというほどの内容でもないよね。
>>729-730 そうか。社内のPythonハッカーと抗争を始めたのかと早とちりして
しまったよ。
>>731 西尾さんとは仲いいしそんなことはないっしょ
>>728 どう見てもなんとなく書いてみました風の記事なんですが
早とちりしたのは西尾さん本人説。
>>729 TODOは
現時点ではこのコードは書けない
余裕のある時にやろう
汚いコードを書いていることに対する言い訳
と書いてますよ
負け犬意識で頭がいっぱいのPython使いに栄光あれ!
こんなネタでしか盛り上がれないPythonスレの住人はバカだな。
PHPに帰れよ。
いやいや、Pythonにネガティブだったり無視したりけしからんと
言う奴は、頭でっかちで使えない人とか老害の域に達した技術者に
多いので、Pythonに対する態度でその技術者の成長の余地が測れ
るのよ。
いやいや、PHPにネガティブだったり無視したりけしからんと
言う奴は、頭でっかちで使えない人とか老害の域に達した技術者に
多いので、PHPに対する態度でその技術者の成長の余地が測れ
るのよ。
740 :
デフォルトの名無しさん:2008/03/18(火) 20:59:36
ToDoって書いてあったらだめって?
あふぉですか?こいつは。
誰もだめとは言っていないとおもいますが
あふ(ry
>>740 にしおさんにそんなこといってはいけませ〜ん!
質問
list=[('apple', 1),('banana',2),('orange',3)]
タプルの一番目の要素をキーにして
ソートするにはどうしたら良いでしょうか?
list.sort() でいいじゃん
listという名前の変数に代入するなと(ry
汎用的なやり方としては(タプルの二番目の要素でソートする例)
L=[('apple', 3),('banana',2),('orange',1)]
L.sort(key=lambda x: x[1])
743みたいなネタで引っかかるやつ、いるよな。
基本的なところで引っかかって先に進めないようなやつは、
フレームワークを使いこなせるようになるまで、100年くらいかかったりするのだろうか。
作り直した方がマシというフレームワークに
こと欠かさないだろ。
750 :
749:2008/03/18(火) 22:41:32
スマソ。途中で書き込んじゃった。
>>715-717 そもそも、ぁ-んァ-ンはただの文字列。
unicodeの平仮名と片仮名全部出力できれば・・・・・・
751 :
749:2008/03/18(火) 22:44:03
>>743 .soat()に第一引数として、関数を与えるとその関数で判定を行います。
判定用関数には二つの引数が渡されるので、
def S:
752 :
751:2008/03/18(火) 22:45:38
またやっちまったorz
インデントの習慣で・・・・・・
.soat()に第一引数として、関数を与えるとその関数で判定を行います。
判定用関数には二つの引数が渡されるので、
def S(A,B):
return cmp(A[1],B[1])
とすればおk
755 :
753:2008/03/18(火) 23:19:38
不勉強でした。許して
>>745の状況ではlambda使うよりはoperator.itemgetter(1)が好きだな
soat() ってナニ?
759 :
751:2008/03/19(水) 09:28:55
>>749-750 for k in range(0x3040, 0x3100):
try:
print '%04x, %c' % (k, unichr(k))
except:
print '%04x, None' % k
こんな関数を作ったらどうだろう
def expand_char(s):
i = 0
_chr = unichr if type(s) is unicode else chr
_len = len(s)
while i < _len:
if s[i] == '\\':
yield s[i+1]
i += 2
elif i + 2 < _len and s[i+1] == '-':
for j in xrange(ord(s[i]), ord(s[i+2])+1):
yield _chr(j)
i += 3
else:
yield s[i]
i += 1
for i in expand_char(u'ぁ-ん'):
print '%x: %s' % (ord(i), i)
type() is じゃなくて isinstance 使えっていつも言ってんだろ
素直に unicodedata 使えよ
ininstanceのほうがいいね。しばらく使ってないと忘れるなあ
isinstanceなら継承関係も考慮してくれるしな
「入門書も読めないゆとりが集まるスレ」に名前を変更した方がいいな
「煽り一行書くだけしかできない生産性の無いゆとりが集まるスレ」に名前変えたほうがいいな
768 :
デフォルトの名無しさん:2008/03/19(水) 19:43:08
人間の頭なんて大差ないんだよ。
やるか、やらないか、それだけの違い。
毎日少しずつでも前進してる奴と、
毎日言い訳を考えて何もしない奴とでは差がついて当然。
たいしたことを思いつこうが、思いつくまいがそんなのどうでもいい。
出来ない奴を馬鹿にする奴はどうせたいした事無いから。
出来ない奴に対して自慢したいだけなんだよ。
やりたい事、目標を見つけて少しでも前進する事。
覚える事がさしあたって100あるなら1つずつ覚えていけばいいだけじゃないか。
一度に100覚えられないから漏れは駄目なんだと思ってるんじゃないのか?
それは天才がやる事であって、凡人は1つずつやっていけば良いんだよ。
努力する癖を習得するんだ。
挫折なんかしたことないなあ。分からなくなったことはあるが
色々試したりしてずっとやってたら分かったし。
挫折したとか言ってる人は自分で勝手に挫折したと決めている
だけなのでは? 分かるまでずっとやってりゃそのうち分かるよ。
諦めなきゃ良いだけ。
いつまで経ってもできないという場合は本当は自分のやりたく
ないことなのかも知れないけどな。そういう場合はやめてみれば
いい。だがそれを「挫折」と呼んではいけない。それは単に
やめただけだ。
FizzBuzz問題
1から100までの数字を出力する。ただし、
3の倍数のときは数字のかわりにFizz
5の倍数のときは数字のかわりにBuzz
15の倍数のときは、FizzBuzzと出力する。
これはここの人にはどう捉えられるのかちょっと知りたいな。
771 :
デフォルトの名無しさん:2008/03/19(水) 20:21:38
>>770 それ、問題か?
hello, world と同じレベルじゃねえか。
>>768 1%の才能と99%の努力が大切なのですが
その1%の才能すら持ち合わせていない人が大勢います
あなたもそのうちのひとりであることはほぼ間違いありません
>>770 簡単すぎて素直な回答を出したら低能だと言われそうで怖い問題。
出題者がビット演算とかトリッキーな回答を要求してるのではないかと
勘繰ってドツボにはまる。
普通に書いたあとググっていかに短くできるか考え続けるだけ
>>774 有名なプログラマーもどき除け問題だけどタイプ可能な文字数の制限があったり十進じゃなかったりすると面白いのかな
コード書くのが好きで飯もいらないときがある、
別にこれで食っていこうとかは思わないけど趣味の範疇ならほんと楽しい。
素人だし下手糞なりに人に教えもしたけど、大体の奴は途中で飽きてやめていく。
そういう奴らは、読解力とか理解力なんかが足りないというか、
自分で調べる気がないというか。
別に馬鹿にしてるわけじゃないけど、そういうこと好きじゃないなら
無理してプログラムなんてやらなくてもいいんじゃないかな?
プログラミングって、実行させてはエラー出して、その度に調べて、って
根気良く続けるのが重要だと思う。
ちょっと上達してきて、エラー出すのが恐くなって、実行させるのが
億劫になったとき、成長が少し止まった気がした。
「とにかくやってみる」ことは武器の一つだと、小学校のときの先生が言っていた。
何つーか、動くコードを知るだけじゃなくて、動かないコードを知ることも
実は重要なんだよな。
要はエラーを恐れるなってこと。
なんでID出ないんだろうこの板
人間だもの
人間だもの
人間だもの
へびお
[[i,'Fizz','Buzz','FizzBuzz\n'][[3,0,0,1,0,2,1,0,0,1,2,0,1,0,0][i%15]]for i in xrange(1,101)]
for n in [[i,'Fizz','Buzz','FizzBuzz\n'][[3,0,0,1,0,2,1,0,0,1,2,0,1,0,0][i%15]]for i in xrange(1,101)]: print n,
print open("answer.txt").read()
for i in range(100):print i%3/2*"Fizz"+i%5/4*"Buzz"or-~i
「入門書を読めない文盲のゆとりがポエムを貼り付けるスレ」に変更しませんか?
アンチスレと交換するだけでいいと思うよ
早く恥パイの第3版の和訳だせボケ
もう2.6出てんのに。
>>770 応用編
「3の倍数と3の付く数字だけアホになり、8の倍数だけ気持ち良くなります」
>>792 やっぱり '3' in str(i) がキホン?
問題をアレンジして
3の倍数および3がつく時、アホになる
に変えてみると?
for i in range(100):print (i%3/2or(-~i/10==3)or(-~i%10==3))*'Aho'or-~i
-~i何度も使うならこっちの方が短いね
for i in range(1,101):print (i%3==0or(i/10==3)or(i%10==3))*'Aho'or i
しね
x%y==0 は、x%y<1の方が短い
あと、(i/10==3)or(i%10==3)だったら'3'in`i`が短い
for i in range(1,101):print(i%3<1or'3'in`i`)*'Aho'or i
for i in range(100):print(i%3/2or'3'in`-~i`)*'Aho'or-~i
('3'in`-~i`) == ('3'in`~i`)
くだらね
strと``ってどう違うの?
測ると``の方がだいぶ速いみたいだけど。
UNARY_CONVERT と CALL_FUNCTION
strじゃなくてreprだな
str は、そのオブジェクトを表す適当な文字列
repr は、そのオブジェクトを表すpython 式
>>> `'a'`
"'a'"
>>> str('a')
'a'
>>> `2**32`
'4294967296L'
>>> str(2**32)
'4294967296'
>>> [u'ほげ',u'ふが']
[u'\u307b\u3052', u'\u3075\u304c']
>>> `[u'ほげ',u'ふが']`
"[u'\\u307b\\u3052', u'\\u3075\\u304c']"
>>> `[u'ほげ',u'ふが']`.decode('unicode-escape')
u"[u'\u307b\u3052', u'\u3075\u304c']"
>>> print `[u'ほげ',u'ふが']`.decode('unicode-escape')
[u'ほげ', u'ふが']
各行の動作の違いを教えてください
>>807>>808 なる、reprと同じだったね。
にしても不思議、何度測ってもrep()より``のが速い。
>>810 速度は
>>806が書いてあるように
`` が UNARY_CONVERT のバイトコードだけになるから
812 :
デフォルトの名無しさん:2008/03/20(木) 20:23:06
IDLEって完全にPython自身で書かれているのか・・・
ってことは自分のプログラムの途中から IDLE
を起動するなんてこともできるのか?
import wx
app = wx.PySimpleApp(0)
frame = wx.Frame(None, -1, "Hello wxPython World!")
app.SetTopWindow(frame)
frame.Show(True)
app.MainLoop()
> AttributeError: 'module' object has no attribute 'PySimpleApp'
環境ubuntu7.10。wxPythonは入れたが上のエラーが出る。なぜ?
他にwx.pyがあるんじゃないか?そのスクリプト自体がwx.pyとか
815 :
813:2008/03/20(木) 21:05:27
うわ本当だ。。。
その通りです。ありがとう。
>>814
>>811 へー、バイトコードなんて調べた事無かったから
>>806 は意味不明でしたw
ようするに最終的にreprを呼ぶコードが出来るんだけど、
``から出来たコードの方が速く処理が終わるのかな。
wxWidgets にはさ、GUI を XML で記述するってのがあるじゃん。あれと同じ理屈で Tk を YAML で記述するってのは無いかね。。。。yaml がなければせめて XML で。最初は自力で簡単なコーディングしてて
gui_yaml = """
frame1(Frame):
text: "Hello tk!"
button1(Button):
text: Exit
command: quit
"""
て感じの yaml 形式テキストをつくって
import yaml
dict_ = yaml.load(gui_yaml)
すると、
{"frame1(Frame)": {
"text": "Hello tk!",
"button1(Button)": {
"text": "Exit",
"command": "quit"
}}}
ていう辞書になるので、これを適当に解析して name(base_class) という項目を見つけたら指定されたクラスインスタンスを生成して、
command って項目があったら値に対応するメソッドを関連づけて…
みたいな感じで Tk GUI を構築しようとしたんだけど、辞書だと順番が保存されないんで、コントロールを生成する順番に依存する処理の場合に死ぬる事に気づいた。
packするとき、どの順番で pack する?とか。grid 使えば順番非依存になるのかも。
というわけで自分でつくるのあきらめたので、できあいのやつ教えてください。
もしマトモに yaml -> Tk ビルダ作ったら、みんな使ってくれるかい?
なんで今更Tkにこだわるのさ
だって標準ライブラリにくみこまれてるじゃん
辞書にorder項目を追加するだけじゃね?
順番を保存するならシーケンスにするしかないよね。
てか辞書じゃ重複できないから、その例ちと変な気が。
Tkだととても軽いというのなら意味は有ると思う。
import yaml # PyYAML from
http://pyyaml.org/wiki/PyYAML import Tkinter
import re
def build(parent, dic, commands):
widget = None
for key, val in dic.items():
o = re.match(r"(?P<name>\w+)\((?P<base>\w+)\)", key)
if o:
name, base = o.group("name", "base")
klass = getattr(Tkinter, base)
widget = klass(parent)
#widget.pack()
if parent: setattr(parent, name, widget)
if isinstance(val, dict): build(widget, val, commands)
elif key == "command":
parent["command"] = commands[val]
elif key == "pack":
parent.pack(**val) if isinstance(val, dict) else parent.pack()
elif key == "grid":
parent.grid(**val) if isinstance(val, dict) else parent.grid()
else:
parent[key] = val
return widget
# テストコード
if __name__ == "__main__":
gui_dict = yaml.load("""
frame(Frame):
button1(Button):
grid: {column: 1, row: 2}
text: OK
button2(Button):
grid: {column: 2, row: 2}
text: Cancel
ent1(Entry):
grid: {column: 1, row: 1}
ent2(Entry):
grid: {column: 2, row: 1}
memo1(Text):
grid:
""")
commands = {}
app = build(None, gui_dict, commands)
app.mainloop()
823-824をそのまま貼付けて実行してください。
Entry の textvariable の扱いをどうすればよいかがさっぱり思いつかん。
一貫性を持たせるという意味で "text" でアクセスできればいいんだけど。
標準にこだわってるくせに
pickle使わずにYAML使う愚
だって xml より yaml のほうが編集しやすいじゃん。
まあ、たしかに yaml 表現が python の辞書リテラルとほとんど同じだから、
まんま python 式で書いてもいいんじゃ?と思ったのは事実。
だけど文字列を "" で囲まなくて良いのは地味に楽。
class TestClass(object):
def __init__(self, i_name):
_name = i_name
def __eq__(self, i_other):
if not isinstance(i_other, TestClass):
return False
return self._name == i_other._name
a_key = TestClass('test')
a_dic = {}
a_dic[a_key] = 0
---------------------------------------------------
上のソースコードをPython 2.5.2で実行すると問題ないけど、
Python 2.6a1で実行すると、最後の行でエラーがでたよ。
TypeError: unhashable type: 'TestClass'
Python 2.6以降だと、object.__hash__()は実装されてないものなん?
>>827 それならさ、
wxPythonのXRCedが吐き出すXMLをYAML化してよ
# インデント修正+コメント加筆
def build(parent, dic, commands):
widget = None
for key, val in dic.items():
o = re.match(r"(?P<name>\w+)\((?P<base>\w+)\)", key)
if o: # name(base_class_name) にマッチした場合は新規にウィジェット生成する
name, base = o.group("name", "base") # 名前とクラス名を取り出す
widget = getattr(Tkinter, base)(parent) # ウィジェット生成
if parent: setattr(parent, name, widget) # 親の属性としてウィジェットを追加
if isinstance(val, dict): build(widget, val, commands) # ウィジェットの設定
elif key == "command":
parent["command"] = commands[val] # 呼び出し可能なオブジェクトをコマンドに指定
elif key == "pack":
parent.pack(**val) if isinstance(val, dict) else parent.pack()
elif key == "grid":
parent.grid(**val) if isinstance(val, dict) else parent.grid()
else:
parent[key] = val
return widget # 最後に生成したウィジェットを返す
# テストコード
gui_dict = yaml.load("""
frame(Frame):
button1(Button):
grid: {column: 1, row: 2}
text: OK
button2(Button):
grid: {column: 2, row: 2}
text: Cancel
ent1(Entry):
grid: {column: 1, row: 1}
ent2(Entry):
grid: {column: 2, row: 1}
memo1(Text):
grid:
""")
commands = {}
app = build(None, gui_dict, commands)
app.mainloop()
このまま進歩してって、数日したらちょっとしたフレームワークが出来上がってそうだ。
____
/ \
/ ─ ─ \
/ (●) (●) \ ない ない
| (__人__) |
\ ` ⌒´ ,/
r、 r、/ ヘ
ヽヾ 三 |:l1 ヽ
\>ヽ/ |` } | |
ヘ lノ `'ソ | |
/´ / |. |
\. ィ | |
| | |
思いつきだけで始めたことはたいてい早晩ポシャる
失敗するのはいいのだが、問題なのは、
一度や二度の失敗で学ばない人間がいかに多いかということだ
Pythonを選んだこと自体が失敗だからなぁ
歴史から学べるのはただ一つ、
人は歴史から学ばないということだけ
だとばっちゃが言ってた
つまり韓国に関わっていたら日本は不幸になるってことですね!
さすがばっちゃ!頭いいや!
>>835 一度や二度の失敗で投げてたら何も作れんぞ。
大事なのは、捨てて作り直す勇気だ。
自作してる時点でTkの負けだと思いました><
xml使ってないけど。
出来あがった物が思いの外ショボいと
モチベーションが続かないんだよなぁ
こういうのは衝動が肝心だと思うんだ。
ガーッと書いて結局没になる、そういう自己満足って大事よ。
あんまりはまるとPC恐怖症になるけど。
何度やっても同じだよ。
そもそもセンスがないんだから。一生ドカタ暮らし。
845 :
デフォルトの名無しさん:2008/03/23(日) 09:23:21
一生ドカタできるならまだいいさ。
俺なんかすら干されそうだ。
マァ無能だから仕方ない。
結構なんてするんじゃなかった。
自殺すらできない。保険増額しておこう。
なんだこの流れ
流れなのかこれは。
春は色々湧く季節
PythonにRubyのPathnameみたいなクラスってないですか?
os.path.hoge(path); os.path.huga(path)が面倒なので
p = Path(path)などとしておいて
p.hoge(); p.huga()とできるような感じのものでいいんですが…
自分でつくるしかないですかね?
よく意味が分からんがimport os.path as pって意味ではなくて?
別にimport os.pathしてからp = os.pathでもいいけど。
すまん。Rubyしらんのに適当いうもんじゃなかった
853 :
849:2008/03/23(日) 14:19:38
>>850 >>852 いろいろ検索しても見つからなかったのでないのかと思っていましたが
あるんですね。探し方が悪かっただけで。ありがとうございます!
>>853 今後もPythonと付き合っていくなら可能な限り標準モジュールを利用した方がいいよ
>>853 いや、俺のは違うから。スマン。
RubyのPathnameオブジェクトってのを知らなかったんで
勘違いしたんだよ。
856 :
849:2008/03/23(日) 15:07:30
>>854 そういうものなんですかね?
os.pathは使うとき逐一引数にパス名指定しないといけないので面倒なんですよね…
>>852さんに紹介していただいたようなクラスが標準に入ればいいのですが
>>855 ああ、すいません。書き方が悪かったみたいです
>>855さんの回答は今回はちょっと希望に沿うものではなかったのですが
質問したときは回答していただいた方全員にお礼を言いたいと思っているので…
「できるだけ標準モジュールを使え」はGuideの言葉だっけ?
>>849 os.stat()を使えば解決しそうだけど
lambdaで逃げるって手も...ないか。
Guideって誰?
それどんな道案内?
>>860 かわいそうなPython使いを
ジョセフ様に認められた清く正しい言語Rubyへの
改宗を促すGuideです。
Pythonを作られたGuidoさんとは別です。
カルト言語逝ってよし。
ruby使いは正確悪いことで有名
お前の性格の悪さも分かった
>>863 たまには変換候補のことも思い出してあげてください。
pythonで数値計算はnumpyだけど数式処理は何かあるの?
しらない
他人を敬えない人は、他人から敬われることはありません。
日本語が不自由ならなおさら。
良くて一生ドカタ。
たいていはいい年になってから路頭に迷う。
本当にありがとうございました。
経験者の話は説得力がありますね
870 :
デフォルトの名無しさん:2008/03/24(月) 23:36:43
なんといつのまにか wxVCLなるものがあるみたいじゃないか。VCLの使い勝手が忘れられない俺がまちのぞんだもの。
だれかpythonバインディング作って
C++スレにも書いたけど、こっちにもネタ投下してみる。
なるべく短いプログラム書いてみようぜ。
基本問題:
例えば N = 8 としたときに
「この文章には0が1個、1が5個、2が3個、3が2個、
4が1個、5が2個、6が1個、7が1個含まれています」
という文章が生成されるとして、9以下の任意の自然数Nについて
もこのような文章を生成するプログラムを作れ。
解がない場合は「解なし」とする。
発展問題:
Nが10以上の時、解はあるだろうか?
一応自分の答え(うろ覚え)さらしとく
X = 8
S = ["" for i in range(X)]
found = False
def count(num):
ret = 0
for i in S:
ret += i.count(str(num))
return ret
def check():
for i in range(X):
if count(i)+1 != int(s[i]): return
found = True
print "数字の数は", [str(i)+"が"+str(s[i])+"個" for i in range(X)]
def find(depth):
if depth < 0:
check()
else:
for i in range(X):
s[depth] = i
find(depth - 1)
if not found:
print "解なし"
print "終了"
find(X-1)
ごめん、問題の意味がわからない
短くしようとしたら総当りになると思う。
それよりもスマートな解き方を探すほうが面白そうだな
>発展問題:
>Nが10以上の時、解はあるだろうか?
10がn個あります、と言った時の意味がわからない
どっかの課題丸投げ乙
変数Nは「」内に影響しないため、Nがどのような値でも
「この文章には0が1個、1が5個、2が3個、3が2個、
4が1個、5が2個、6が1個、7が1個含まれています」
という文章が生成されます。
878 :
871:2008/03/25(火) 03:19:09
丸投げじゃないよ。今日仕事中に思いついた問題。
ちなみにNが4のときの解。ようするに N 以上の数を使わない。
「0が1個、1が2個、2が3個、3が2個」
Nが10のときは "10" という部分文字列がいくつ含まれるかって解釈にしようと思う。
0-2
1-8
2-3
3-3
4-1
5-1
6-1
7-1
8-2
9-1
10-1
ドウカクカクカク。
ブラック民パイ読んで、練習でHP作ってるんだけどさあ・・・・HTMLのテンプレートを簡単につくるソフトでいいのってないの?
ホームページビルダー(バージョンふるいのしか持ってない)で作って、置き換え文字を書き加えるとかじゃ・・・・ちょっと使いづらいぜ。
>>881 HTMLかくんだったら、テキストエディタでおk。
入力補助がついてるのもあるし、なんだったらメモ帳やワードパッドでもいける。
886 :
866:2008/03/25(火) 12:03:30
>>866-867 ないのならmaximaのあるcommon lispに乗り換えを決意した
お昼に見てからやっと
>>871 の意味が分かったわ
ちょっと仕事の合間に考えて見るか
C++は老害言語。
回転座標求めるのに
def rot(x, y, radian):
c = math.cos(radian)
s = math.sin(radian)
return x*c - y*s, x*s + y*c
と
def rot(x, y, radian):
return math.hypot(x, y) * cmath.exp(radian*1j)
の速度を比べてみると、明らかに複素数使った方が速い。。。が
X, Y成分を取り出す処理を入れると結局始めから三角関数使った方が速い。なんかくやしい。
x,yはc.real と c.imag で取り出してる?
893 :
891:2008/03/26(水) 00:16:01
python -> sage -> maxima -> common lisp
でcommon lispをpythonから呼べるね
もっと単純な方法ありそうな気もするけど
897 :
デフォルトの名無しさん:2008/03/26(水) 10:45:12
py2exe 使うと使っている標準モジュールが自動的に
同梱されますが、これも丸ごと配布してしまっていいん
でしょうか?というか、py2exe で実行ファイル形式にして
配布するときってライセンス的にどんな制約があるんでしょう?
自分が作ったプログラムも含めてPSFに従わないとだめ?
PSFはGPLじゃないのでちゃんとPythonの著作者表示があれば自由だったはず
>>894 ・統計屋の中で流行っている統計手法はいち早くRで誰か実装するので、
自分で書き直す手間は省ける。
・Rになれている人に使いやすい。
・グラフなんかをプロットするとよく落ちる。
ってところかな。
901 :
デフォルトの名無しさん:2008/03/26(水) 15:45:42
すまんが、cgiのGETとPOSTって両方一度にはつかえないの???
仕様書嫁
実装依存で使える場合もあるかもしれないけど、
どこでも動く保証はないっていう感じだったきがする<GET、POST同時
まあ、普通にやめといた方がいいと思う
>>901 os.environ['QUERY_STRING']に入ってない?
GET,POSTはHTTPのメソッドの名前。当然どっちかしか使えん。
HTTPの仕様上はPOSTで「?」付URLを呼び出せる。
>>904 の言う通り cgi.parse_qs(os.environ['QUERY_STRING']) でよかったとオモ
POSTされたデータは cgi.parse(sys.stdin) か cgi.FieldStorage()
906 :
デフォルトの名無しさん:2008/03/26(水) 23:27:08
POSTのときにQUERY_STRINGとれない環境もある
panel = wx.Panel(frm,-1)
こんなんがあって、panelをデストラクタするにはどうすれば良いんでしょうか。
ある状況でパネルを削除したいんですが。
panel.Destroy()
del panel
じゃね
おお!できました。
ありがとうございます。
297 :デフォルトの名無しさん:2007/12/23(日) 02:11:55
>>294=269 か?
メソッドオーバーロードはrubyではできない。こんな感じで自分で処理しなさい
def meth(arg)
if arg.kind_of?(String)
puts '文字列'
else
case arg
when Array then puts '配列'
else puts 'その他'
end
end
end
それとrubyの配列(Array)に次元なんて無い。配列が入れ子になってるだけ。
python だと、どう処理を描けば良いですか?
Pythonでも同じだよ
引数の型とか数を調べて分岐するだけ
というかrubyスレの話題を持ってこられると色々勘ぐりたくなるんだが
とりあえず思いついた適当なコード
import sys
class OverloadMethod(object):
functions = []
def __call__(self, *args, **kwargs):
for function in self.functions:
if len(args) == function.func_code.co_argcount:
return function(*args)
raise NotImplementedError
def overload(function):
obj = sys._getframe(0).f_globals.get(function.__name__)
if obj is None:
obj = OverloadMethod()
obj.functions.append(function)
return obj
if __name__ == '__main__':
@overload
def foo(a):
print a
@overload
def foo(a, b):
print a + b
foo(1)
foo(1, 2)
916 :
914:2008/03/27(木) 21:02:19
スゲーGuidoパパとほとんど一緒じゃん
917 :
913:2008/03/27(木) 21:16:33
>>914 def overload(function):
obj = sys._getframe(0).f_globals.get(function.__name__)
if obj is None:
obj = OverloadMethod() # コンストラクタみたい
obj.functions.append(function) # 関数をストックしてく
return obj
>>> foo(1) # ストックした関数をポップする
>>> foo(1,2)
>>> foo(1,2,3) <class exceptions.NotImplementedError at 0x000000000000002C>
sys._getframe(0).f_globals のところを globals() にしたら
ironpython でも動作確認取れますた。
dir()で表示されるけど, まだ実装されてないのね…_getframe
ValueError: _getframe is not implemented
annotation で潜らしてポップするか…
勉強になりますた。dくす♪
Pythonだけに見事にハブられてますね
うわぁ・・・^^;
エーとおもたがperlも入ってなくね?
どういう基準かよくわからんな
Perl/PHP/Rubyは二重丸じゃないか
Pythonの擬似スレッドって、いずれちゃんとしたスレッドになる予定とかってないんですか?
GILのことなら多分とれないよ
以前にここに貼ってあったpython チートシートのリンクがみつからない
バイナリデータをファイルに書きたく思っています。
例えば4バイト整数10ならば、f.write('\x00\x00\x00\x0a') というように。
上記を、例えば f.write(hoge(10, 4)) で実現できるような
既存の関数hogeのようなものがあれば、ご教示頂けないでしょうか?
IEEE浮動小数点についても同様なものがあれば教えて頂きたいです。
pythonのワンライナーは超絶美的
urllib2のmultipart/form-dataサポートマダー
>>931 ドキュメントにツカエネーヨって書いてあるし今更機能仕様を変える気もないんじゃね?
これはもう自分でurllib3を作るしか
urllib2ってメモリリークするよね?
python で 宣言できる関数の上限値とかどれくらいなんだろうか?
1万-10万…
10万くらいなら動きそう? メモリ上に保持できる辞書としての
要素数の限界値? (よくわからん)
935 :
928:2008/03/29(土) 15:12:30
>>929 おー、これですこういうのです。超速レスありがとうございました!
936 :
デフォルトの名無しさん:2008/03/29(土) 15:43:27
>>934 import sys
def mksrc(n):
print """
def %s():
return %d
""" % ('func%d' % n, n)
if len(sys.argv) < 2 or not sys.argv[1].isdigit():
print 'usage: hoge.py N'
else:
for i in range(int(sys.argv[1])):
mksrc(i)
for i in range(int(sys.argv[1])):
print 'print func%d()' % i
$ hoge.py 100001 > fuga.py
$ fuga.py
とりあえず10万は楽勝みたいだ
あとは任せた
937 :
デフォルトの名無しさん:2008/03/29(土) 16:00:39
100万は死んだ
ファイルサイズにワロス
938 :
デフォルトの名無しさん:2008/03/29(土) 16:03:39
100万通過
>>937 OSとかメモリ容量とかによるんで内科医
939 :
デフォルトの名無しさん:2008/03/29(土) 16:18:24
おまいら阿呆だな
まで読んだ
自演?
うん
こ
943 :
デフォルトの名無しさん:2008/03/30(日) 12:25:29
age
m9(^Д^)プギャー
>>936-938 dくす。
作成したファイルを from fuga import * でインポート
しようとしたら ironpython だと 5000ぐらいが上限だったな
1000ぐらいが実用に供するみたいな…。バグレポ書くか
素のpythonだとやっぱ早い10万でも平気だった
ていうかそんなに関数作ってどうする気なの?
言語比較のネタにするとか
____
__,,/ _, ----`ヽ :.
:. / _ ___ 、\
/ / i \ \\ :.
:. ,'./ i ヽ:. ヽ:.:.. ヽ.ヽ
,'/ / .ハ ヽ ヽ:.:.:.:. ヽ::.. ヽヽ :.
:. |i .i i .i / ヽ ト 、 \、:.:.:. ',:.',:.:.lヽ}
|i .i l :N_, -弋 \弌弋ナ:}:.:}
:. |i∧ ', :{ ,ィjモト \ イjミトイイV :. な…
.| :メヽ.', `ozZ} izN。ハ::{ なんなんですか?
:. | :ヾ_! ゝ "゙゙ ' `゙ ハ.:', :. ここ、どこですか?
| :.:_イ .:.ヽ. (二フ , イ :.:.:!:.ヽ なんであたし
:. / rィイ | :.:.ヽ: >r/`<ノ .:.::.}ヽ、\:. 貼られたんですか?
/ ∧l;l ! :.:.:.://{二 ̄ .} ..:..::リ//ハ.:\
:. / .{. ',ヾ、ヽi .:.:.{ /(^` |.:.:.:.//: : :.}: . ヽ.:.
/ / ) ヽ ヾ、ヽ:.ハ ヤ{ ∧/.-‐'": : |:.:. i ',
./ .,イ .:..} : :\ヾレ'ハ ∧__ノノハヾ、 : : : l:.:.: .ハ ',
{ /| .:.:ハ : : :i Y {ヾ`Yヽニン'ノ}: : } : : : :/:.:.:/ }:.}
V | .:.:/:.:|_,ィ' ̄ ヽ三{ `ー-ノ : イ : : :/:.:i.:{ リ
ヽ:.:{、.:.V : : ヘ : : {: : :/:.::∧|
ヽ! )人 : : :人 : : : / \! :.
" ヽ : : : : :/イ{ :.ノ: : : :.\ :.
:. \__///: :\______/: : : : : : : ヽ
/ //: : :|;|: : : : : : i: : : __: : : : ',
:. / 、 {;{ |;| . : i/. : : : : : :|
/ `Y;{. . . .|;|. : : : /i: : : : : : : : :l
>949
ようこそPython団へ。
いままでに前例の無い過疎だなww
年度末だぜ。
みんなエイプリルフールネタの準備で忙しいんだよ。
PySqliteがインストールできません…
initdのwikiって消えた?
「インスコ」って、何度聞いてもテニスの時に履くアレかと思ってしまう
それはインスコだろ
あれ・・・
_
>>953 少なくとも Python 2.5 なら PySqlite は入れなくても使えるぞ
963 :
デフォルトの名無しさん:2008/04/01(火) 02:10:09
blogでpythonとlisp,c++のネタを書いてるけど
足跡の多さは
c++ > python > lisp
common lispに浮気してみたが人口が少なすぎて,変なバグが放置されたままなモジュール多い
pythonはその辺り安心なのかもね
csvとurllib2は放置されてるじゃないか
>>965 urllib2は少し前にバージョンが上がった気がする
blogでpythonとlisp,c++のネタを書いてるけど
厨房の多さは
c++ > lisp > python
それはユーザーの数と量の問題では・・・
数と量って同じじゃねーか・・・
数と濃さ?
971の度「量」がよくわかるレスだ
>>971 つまりユーザーのピザっぷりがもんだいだとお考えなわけですね
俺は上のひよこが多いと思った
我慢することも学びましょうね。
でないとニートを卒業できませんよ。
小学校に入り直すのは脱ニートを果たしてからですね。
* *
* ウソです +
n ∧_∧ n
+ (ヨ(* ´∀`)E)
Y Y *
Quality and Quantity
979 :
デフォルトの名無しさん:2008/04/01(火) 17:11:43
最近結構rst2htmlを使ってるんだけど、
格好よくて硬派テンプレートとかないですか?
自分CSSのセンスがないのです>。<b
は?死ね
Ianにお願い