Pythonのお勉強 Part37
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2010/03/13(土) 16:59:28http://www.python.org/
日本Pythonユーザ会
http://www.python.jp/Zope/
まとめWiki
http://python.rdy.jp/
関連スレ
http://find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python
前スレ
http://pc12.2ch.net/test/read.cgi/tech/1264924208/
0002デフォルトの名無しさん
2010/03/13(土) 17:00:43ttp://python.rdy.jp/wiki.cgi?page=%B4%D8%CF%A2%BF%DE%BD%F1
0003デフォルトの名無しさん
2010/03/13(土) 17:08:06ttp://www.python.jp/doc/nightly/tut/node12.html
●レシピ集
ttp://code.activestate.com/recipes/langs/python/
●exeファイルの作り方
ttp://www.py2exe.org/
●GUI ライブラリ
Tkinter
ttp://ja.wikipedia.org/wiki/Tkinter
PyQt4
ttp://www.riverbankcomputing.co.uk/software/pyqt/intro
wxPython
ttp://www.wxpython.org/
0004デフォルトの名無しさん
2010/03/13(土) 17:09:38ttp://python.rdy.jp/wiki.cgi?page=%BB%B2%B9%CD%A5%B5%A5%A4%A5%C8
●Web フレームワーク等
Pylons
ttp://pylonshq.com/
django
ttp://www.djangoproject.com/
TurboGears
ttp://www.turbogears.org/about/index.html
Plone
ttp://plone.org/
Zope
ttp://www.zope.org/
web.py
ttp://webpy.org/
werkzeug
ttp://dev.pocoo.org/projects/werkzeug/
Kay
ttp://code.google.com/p/kay-framework/
Paste
ttp://pythonpaste.org/
wsgi
ttp://www.python.org/dev/peps/pep-0333/
0005デフォルトの名無しさん
2010/03/13(土) 17:25:36ttp://www.cherrypy.org/
0006デフォルトの名無しさん
2010/03/13(土) 17:28:55ttp://upload.wikimedia.org/wikipedia/commons/2/20/PS_Kr%C3%B8yer_-_Hip_hip_hurra!_Kunstnerfest_p%C3%A5_Skagen_1888.jpg
0007デフォルトの名無しさん
2010/03/13(土) 18:55:280008デフォルトの名無しさん
2010/03/13(土) 19:54:17Python2.6 (C言語実装、よく分からない人はこれ)
ttp://www.python.org/
Python3.1 (C言語実装、バージョンの違いを理解している人用)
ttp://www.python.org/
Jython2.5 (Java実装)
ttp://www.jython.org/
IronPython2.6 (C#(.NET)実装)
ttp://www.codeplex.com/IronPython
0009デフォルトの名無しさん
2010/03/13(土) 20:05:560010デフォルトの名無しさん
2010/03/13(土) 20:28:590011デフォルトの名無しさん
2010/03/13(土) 21:06:22乙
0012デフォルトの名無しさん
2010/03/13(土) 21:11:380013デフォルトの名無しさん
2010/03/13(土) 23:40:250014デフォルトの名無しさん
2010/03/14(日) 00:58:300015デフォルトの名無しさん
2010/03/14(日) 01:21:300016デフォルトの名無しさん
2010/03/14(日) 01:47:560017デフォルトの名無しさん
2010/03/14(日) 01:59:260018デフォルトの名無しさん
2010/03/14(日) 04:03:290019デフォルトの名無しさん
2010/03/14(日) 05:13:24PyPy Status Blog: Introducing the PyPy 1.2 release
ttp://morepypy.blogspot.com/2010/03/introducing-pypy-12-release.html
パイパイ!
0020デフォルトの名無しさん
2010/03/14(日) 07:39:11おっぱい
0021デフォルトの名無しさん
2010/03/14(日) 07:43:100022デフォルトの名無しさん
2010/03/14(日) 10:58:28>>> '1.5'.isdigit()
False
>>> '15'.isdigit()
True
>>> '-15'.isdigit()
False
1.5 は仕方ないとして
-15 は digit ではないのでしょうか?
あと -15 でも True になるような判定方法でふさわしいものがあったら教えてください orz
0023デフォルトの名無しさん
2010/03/14(日) 11:26:04Pythonで書かれたPythonの処理系。詳しくは以下。
http://codespeak.net/pypy/dist/pypy/doc/
0024デフォルトの名無しさん
2010/03/14(日) 11:32:46isdigitは0123456789かどうかを調べるもので+,-,.は偽
数値かどうかは int("-15"), float("1.5") して ValueError の例外がでたら偽
0025デフォルトの名無しさん
2010/03/14(日) 11:34:25RUBYならともかくC#はPYTHONが対抗言語と言う位置づけと感じているのか?
0026デフォルトの名無しさん
2010/03/14(日) 11:35:07いいことを教えてやろう
'+15'.isdigit() も False だ
0027デフォルトの名無しさん
2010/03/14(日) 11:39:10ネタにマジレスかこいい
0028デフォルトの名無しさん
2010/03/14(日) 11:39:380029デフォルトの名無しさん
2010/03/14(日) 11:43:430030デフォルトの名無しさん
2010/03/14(日) 11:59:33マヂレスつか素朴な疑問なんだが
0031デフォルトの名無しさん
2010/03/14(日) 12:20:47スレ立てるまでもない質問スレで Python を猛烈プッシュしてる人が居たから
呼び込んじゃったんだろう
0032デフォルトの名無しさん
2010/03/14(日) 12:22:590033デフォルトの名無しさん
2010/03/14(日) 12:32:06いちいち実行してみて例外出たらやり直しとか
Java みたいで格好悪くて納得できません
int('hoge', default=0) とか
int('fuga', errors='ignore') とか
なんで標準で無いんですか?
0034デフォルトの名無しさん
2010/03/14(日) 12:33:140035デフォルトの名無しさん
2010/03/14(日) 12:36:020036デフォルトの名無しさん
2010/03/14(日) 12:40:08コンパイルが必要な時点で、普通は比較対象から外れるよね
個人的にはREPLが無いのが決定的
MonoにはREPLあるみたいだけど
サーバ側での運用ってことであれば、対抗馬になるのかな?
string.formatの書式でC#をパクっちゃってるのも
C#厨を勢いづけてるのかもしれない
>>16
俺も興味あるなぁ
Rは全然使った事ないけど
Python (x, y)よりも優れた適用領域があるなら試してみたい
0037デフォルトの名無しさん
2010/03/14(日) 13:04:47こっちはスクリプトだし.NET使えるし
0038デフォルトの名無しさん
2010/03/14(日) 13:20:59あれがどのWindowsでもデフォで動くようになって
LL標準添付のライブラリを備えればいうことなし
0039デフォルトの名無しさん
2010/03/14(日) 13:32:340040デフォルトの名無しさん
2010/03/14(日) 13:37:060041デフォルトの名無しさん
2010/03/14(日) 13:44:54それはPythonが実用的な言語ではないから
実用性が欲しいのならF#をお薦めする
0042デフォルトの名無しさん
2010/03/14(日) 13:47:500043デフォルトの名無しさん
2010/03/14(日) 14:07:20両方エラーになるけど?
0044デフォルトの名無しさん
2010/03/14(日) 14:14:44default=0 は判るけど、 errors='ignore' したらその関数の結果はどうなるの?
「実行して例外出たら」というのは、基本的にそういうポリシーでやってる。
なんでそんなポリシーなのかというと、
1. 先行チェック関数と実行関数の二つが必要になると、それだけ要素が増える
2. 先行チェックの関数を用意しても、実行用関数でチェックが不要になるわけではない。
3. 先行チェックだけが必要になる場合はあんまりない。
if int.tryparse(s):
x = int(s)
else:
x = 0
と書くのと、
try:
x = int(s)
except ValueError:
x = 0
と書くのと比べて、別に格好悪い事なんてなんにもないし。
0045デフォルトの名無しさん
2010/03/14(日) 14:25:470046デフォルトの名無しさん
2010/03/14(日) 14:38:01tryparseなのに真偽しか返さないのはおかしくないか
0047デフォルトの名無しさん
2010/03/14(日) 14:40:540048デフォルトの名無しさん
2010/03/14(日) 14:42:25確かに、3項演算子が使えるのは便利だね。
でも、そのためだけに int.tryparse() を実装するのはやり過ぎ。
try文も3項演算子作ろうよっていう話が少し前に Python-dev や Python-idea で
流れたけど、例外のタイプを複数利用したい場合とか、汎用的に使える物を
きれいな構文にするのが難しくてまとまらなかった模様。
複数の文字列に対して繰り返し実行する必要がある場合は、その場合に応じて
関数作れば良いしね。手軽に関数を作れるのがPythonの良いところなんだから。
def toint(s, default=0): try: return int(s) except Exception: return default
x = toint(a)
y = toint(b, 1)
z = toint(c)
0049デフォルトの名無しさん
2010/03/14(日) 14:43:58あー、名前をC#から拝借したんだけど、checkparsable()の方が好み?
真偽を返すのは、
if int.tryparse("0")
が偽にならないため。
0050デフォルトの名無しさん
2010/03/14(日) 14:46:57ありがとうございました
005148
2010/03/14(日) 14:54:08def toint(s, default=0):
try: return int(s)
except Exception: return default
0052デフォルトの名無しさん
2010/03/14(日) 14:55:36Python3.1だとintの方もエラーになるけど、2.6だとならない
0053デフォルトの名無しさん
2010/03/14(日) 15:10:11またコンビニ野郎かよ
そういう奴が居るからPythonは低速って言われるんだよ
0054デフォルトの名無しさん
2010/03/14(日) 15:11:090055デフォルトの名無しさん
2010/03/14(日) 15:15:500056デフォルトの名無しさん
2010/03/14(日) 15:17:48こーゆー作業をしている部分はユーザーの入力チェックとか
設定ファイルの読み込みとかボトルネックじゃない事がほとんどだから
実行時間を気にする必要ないよね?
Pythonは低速とか、誰が非難してるの?
速度が必要な部分は拡張モジュール書けばいいんだし、
ボトルネック以外の部分が多少遅くても問題ない。
0057デフォルトの名無しさん
2010/03/14(日) 15:20:360058デフォルトの名無しさん
2010/03/14(日) 15:22:19>速度が必要な部分は拡張モジュール書けばいいんだし、
>ボトルネック以外の部分が多少遅くても問題ない。
今時は動的言語も仮想マシンと実行時コンパイルが当たり前になって来たからな。
メソッド呼び出しとか真偽判定みたいな内部機能は拡張じゃどうしようもないし。
0059デフォルトの名無しさん
2010/03/14(日) 15:48:450060デフォルトの名無しさん
2010/03/14(日) 19:18:590061デフォルトの名無しさん
2010/03/14(日) 19:43:03必要なら/usr/localに入れればいい。
0062デフォルトの名無しさん
2010/03/14(日) 20:23:14Python 2.4 のサポートを切る動きが出てこない。
有名なライブラリにテスト済みのパッチを送るためにローカルにPython 2.4, 2.5, 2.6, 3.1,
trunk, py3k を全部入れるのは面倒だ。
0063デフォルトの名無しさん
2010/03/14(日) 21:06:50perlじゃなぜダメなんだ
0064デフォルトの名無しさん
2010/03/14(日) 21:12:34なぜPythonだと不安なんだ?
0065デフォルトの名無しさん
2010/03/14(日) 21:16:220066デフォルトの名無しさん
2010/03/14(日) 22:27:20RHELがPythonのバージョンを変えない限り変わらない
んで、そのRHELの実験的な実装の意味合いを持つFedoraでは
Python 2.6に移行済みでPython 3.xも同時にインストール可能となっている
なんで、RHEL6が登場するまで待てば、自然とPython 2.6になる
>>65
RedHat系はyumも含めてPythonがシステムツールに入り込んでるから
確かに、気軽に/usr配下にライブラリとか入れれないよね
まぁ、61の言うとおり『入れんな』ってことなんだろうけど
0067デフォルトの名無しさん
2010/03/14(日) 22:51:22Rudyじゃなぜダメなんだ
0068デフォルトの名無しさん
2010/03/14(日) 22:56:01必要ないし、新しいPythonを使いたかったら /usr/local/python2.6 にでも
インストールすればいい。
0069デフォルトの名無しさん
2010/03/14(日) 23:04:220070デフォルトの名無しさん
2010/03/14(日) 23:38:12前スレ 999 だけどリロードしないで激しく時差ぼけレスしちまったぃ
まあゆるーく続けますか(matplotlibスレの方がいいかも?)。
numpy,R,matlab等のそれぞれの比較早見表見つけた
(使い分ける人向け? っぽいので普通はあまり意味がないかも)
http://mathesaurus.sourceforge.net/
ぐぐって遭遇した1,2年前の話題
Python+Scipy+Matplotlib vs Matlab?
http://news.ycombinator.com/item?id=363096
0071デフォルトの名無しさん
2010/03/14(日) 23:38:540072デフォルトの名無しさん
2010/03/14(日) 23:44:210073デフォルトの名無しさん
2010/03/14(日) 23:47:10結局現存するほとんどのOSの機能がCによって提供されてるってのが
Cの力だと思っている
0074デフォルトの名無しさん
2010/03/14(日) 23:56:430075デフォルトの名無しさん
2010/03/15(月) 00:44:090076デフォルトの名無しさん
2010/03/15(月) 01:04:470077デフォルトの名無しさん
2010/03/15(月) 04:56:140078デフォルトの名無しさん
2010/03/15(月) 05:21:040079デフォルトの名無しさん
2010/03/15(月) 20:26:41引数がintの時も同じように計算して返すのに、なんでわざわざ例外処理でやるんだ。
普通の条件分岐で十分だろ。
0080デフォルトの名無しさん
2010/03/15(月) 21:04:470081デフォルトの名無しさん
2010/03/15(月) 21:11:200082デフォルトの名無しさん
2010/03/15(月) 21:14:120083デフォルトの名無しさん
2010/03/15(月) 21:38:27wxRubyは当時も今もあまり見ない
wxPythonの利用者の方が増えてるってことだよね
0084デフォルトの名無しさん
2010/03/15(月) 21:45:19じゃあ、int('fdasl')と入力したときに、どういう風に返せば満足なの?
0返すなんて糞仕様は勘弁だからな。
0085デフォルトの名無しさん
2010/03/15(月) 22:12:26try:
return int(s)
except ValueError:
return default
みたいなのをたぶん前スレで誰かが言ってた
いづれにしても、自分で関数作ればよかろう
0086デフォルトの名無しさん
2010/03/15(月) 22:21:36「例外は本当に例外的な場合にだけ使う」って、誰が言い出したのか知らないけど、
真っ赤なウソだよ。
例えば、ファイルを開くときに、ファイルが存在しなかったら IOError を出すけど、
開こうとする前に os.path.exists(filename) して存在を確認してもパーミッション等の
条件で開けないかもしれない、HDDがリードエラーを出すかもしれない、
チェックしたときはあったファイルが開こうとしたときに絶妙なタイミングで消えるかも
しれない、etc... で、事前チェックしても例外処理は外せない。なら、事前チェックと
例外チェック両方するより例外だけチェックする方が合理的。
特にPythonは、 for i in x: でも中で StopIteration 例外が飛んでるくらい、例外を
気軽に使う言語。
0087デフォルトの名無しさん
2010/03/15(月) 22:23:46ってこの話題前にもあったね
Pythonのお勉強 Part35
http://pc12.2ch.net/test/read.cgi/tech/1253535109/395
0088デフォルトの名無しさん
2010/03/15(月) 22:32:49エラーは全部例外でいいと思うんだよな
0089デフォルトの名無しさん
2010/03/15(月) 23:03:32たまにCで書くとつくづく思う
0090デフォルトの名無しさん
2010/03/16(火) 00:36:29raise SyntaxError()
except SyntaxError:
print 'foo'
は期待通りに動作するのに、
try:
@ # <- syntax error
except SyntaxError:
print 'foo'
は動作しないんだなぁ。。
文法ミスがあった時点でそれ以降のスクリプトの内容の解釈は不可能だから当然なんだけど、なんか気持ち悪い。
0091デフォルトの名無しさん
2010/03/16(火) 00:45:51@ # <- syntax error
これでhelloと表示されないのが気持ち悪いか?
0092デフォルトの名無しさん
2010/03/16(火) 02:30:590093デフォルトの名無しさん
2010/03/16(火) 02:35:500094デフォルトの名無しさん
2010/03/16(火) 09:13:410095デフォルトの名無しさん
2010/03/16(火) 10:28:35後ろでもそうなるのか。ほう。
syntax errorで動かないことはいいのだが、ユーザがSyntaxErrorをraiseできるのはどういう解釈なんだ?
0096デフォルトの名無しさん
2010/03/16(火) 10:32:23「普通はユーザーが使う物じゃないから」なんて理由で、一部の例外オブジェクトを
catchできるけどraiseできないみたいなヘンな制限を付けてないだけだろうな。
raise KeyboardInterrupt だろうがなんだろうができるけど、普通はしない。
普通じゃない場合としては、プラグインシステムのあるアプリで、プラグインに
SyntaxErrorが起こるようなスクリプトをぶち込まれた場合をテストするために
あえてraiseするとかかなぁ。
0097デフォルトの名無しさん
2010/03/16(火) 10:55:51「気持ち悪い」理由が俺にはさっぱりわからん
単に、エラーを含む可能性のあるPythonコードを実行時に解釈したいのなら
eval・compile系が使えるけど
>>92
多重ループどころか、列挙の停止はいつもStopIteration例外じゃないか
0098デフォルトの名無しさん
2010/03/16(火) 11:34:51こういうことだろ。
class TajuuloopNukeru(Exception):
pass
try:
for i in someiter:
for j in someiter2:
if somecond:
raise TajuuloopNukeru # ここで一気にループを抜けるために例外を投げる
except TajuuloopNukeru:
pass
0099デフォルトの名無しさん
2010/03/16(火) 11:39:59いや文意は分かってるよ
別に多重じゃなくてもどうせ列挙の脱出にはいつもStopIterationが使われてるんだから
好きにすれば?ってこと
0100デフォルトの名無しさん
2010/03/16(火) 11:48:040101デフォルトの名無しさん
2010/03/16(火) 12:15:10自分用の小さいスクリプトだったら例外で抜けちゃうな
まあ、先にリスト作っとけって話なんだけど、楽なんで
0102デフォルトの名無しさん
2010/03/16(火) 12:35:310103デフォルトの名無しさん
2010/03/16(火) 13:11:300104デフォルトの名無しさん
2010/03/16(火) 13:14:06よく読んでなかった
0105デフォルトの名無しさん
2010/03/16(火) 17:23:38その辺現状のマジョリティとしてはどういう見解なの?
なんか昔はgotoに拒絶反応示す人がいたように思うんだが
0106デフォルトの名無しさん
2010/03/16(火) 17:29:200107デフォルトの名無しさん
2010/03/16(火) 21:34:05それで返せば、という気がしなくもない
例外やgoto云々は完全に言語によるのでは
少なくとも非常に手続き的だとは言える
C++界隈だと、別の理由で例外を過度に多用するなというコンセンサスがある気がする
0108デフォルトの名無しさん
2010/03/16(火) 23:26:33あとoption型なんかは動的型ならNone返せばいいだけなので問題はそこじゃないと思う
0109デフォルトの名無しさん
2010/03/17(水) 00:02:56int() に default をつけてしまうと、こんどは例外を投げられなくなってしまう。
例えば、defaultのデフォルト値がNoneだとすると、「int()に変換できるハズ」と
思い込んで返り値チェックを省略すると数値オブジェクトを期待している場所に
Noneが入った状態で、その後のどこかでエラーが起こるか何かを壊してしまう。
例外なら、「ハズ」の思い込みと違うことが起こっても帯域脱出してくれるので、
「ハズ」の部分でチェックを省略できる。
辞書に [] と .get() があるように、int()と別の関数として用意するのはアリ。
アリだから、 >>51みたいな関数を用意すれば良い。
組み込み名前空間を汚してまで組み込む必要が認められなかったので
組み込み関数にはなって無いだけ。
0110デフォルトの名無しさん
2010/03/17(水) 00:12:17try:
fuga = int(hoge)
catch:
〜〜
が
fuga = int(hoge, default=None)
if fuga is None:
〜〜
3行になる!
ああ、石を投げないで!
0111デフォルトの名無しさん
2010/03/17(水) 00:34:46try:
fuga = int(hoge)
catch:
fuga = 0
を考えてる時に例外使うのは素直じゃないだろということだろ
0112デフォルトの名無しさん
2010/03/17(水) 00:37:420113デフォルトの名無しさん
2010/03/17(水) 00:42:44単にデフォルトで潰したいときも、パース不能のときも、それで済むなあ
まあこういうのはユーティリティ関数を自分で書けば事足りる程度の話ではあるが
0114デフォルトの名無しさん
2010/03/17(水) 00:45:42それが素直じゃないと思うなら、まずその幻想を打ち壊す!
いや、「素直じゃない」なんてなんの根拠もない個人的感想は
全く気にしない言語だから。
例外投げる方がシンプルで、例外投げない方を別に用意しても
大して利益がないのであれば、例外なげない関数なんて用意しないよ。
>>110
int() はただの関数じゃなくて型だから、Noneを返すなんて仕様は有り得ない。
default を追加するなら int と別の関数を用意する必要がある。
でも、組み込み関数をその程度の要望では増やさない。
0115デフォルトの名無しさん
2010/03/17(水) 00:47:45だから、>>109で言っているように、
fuga = int(hoge)
の一行が
fuga = int(hoge, default=None)
if fuga is None:
raise ValueError("hoge is not integer")
の3行に増えるんだって。
0116デフォルトの名無しさん
2010/03/17(水) 00:55:44PyArg_ParseTupleAndKeywords()の書き方次第でNoneではない「未指定」のデフォルトにできるじゃんね。
int('abc') → ValurError
int('abc', 16) → 2748
int('abc', default=None) → None
0117デフォルトの名無しさん
2010/03/17(水) 01:13:30「未指定」なんてオブジェクトはない
あと、>>114で言っているように int() が None を返しちゃダメ。
intかintと上位互換のlongを返さないと。
0118デフォルトの名無しさん
2010/03/17(水) 01:22:55そういうオブジェクトはないけど、
def to_int(val, **kwargs):
if 'default' in kwargs:
pass
みたいな処理はできるってことを言いたいんじゃないかなぁ。
intがint以外のインスタンス返す仕様になってほしいとはまったくもって思わんけど。
0119デフォルトの名無しさん
2010/03/17(水) 01:34:12int.parse(string)ってスタティックメソッドを作ればいいんじゃないかな
0120デフォルトの名無しさん
2010/03/17(水) 01:47:14それだと、今度は (val [, base [, default]]) という順序引数が使えなくなるね。
intが例外を投げる関数としてあるんだから、int以外の関数を使うなら
defaultは普通にNoneがデフォルト値の引数で良いんだよ。
問題は、大して利点無くビルトインを増やすこと。
>>119
うん、どうしてもdefaultが欲しいなら、それが一番Pythonicだね。
残る問題は、今のところ組み込み型にはstaticmethodが無いという事だけだ。
int.parseのためだけに組み込み型のstaticmethodを用意するのはやっぱり
無いだろうけど、他にも組み込み型staticmethodの要求が増えてきたら
ついでに int.parse が入るかも。
0121デフォルトの名無しさん
2010/03/17(水) 06:21:49みたいに定義しといて
exception=False
で使ったときだけdefaultを返せば良いと思う
0122デフォルトの名無しさん
2010/03/17(水) 09:33:17typeにstaticmethod追加するとかバカか?
0123デフォルトの名無しさん
2010/03/17(水) 10:18:34えっ
0124デフォルトの名無しさん
2010/03/17(水) 10:24:44元の要求は明らかに
unicode(s, 'utf-8', errors='ignore')
あたりからの類推だろうし、別にそんなに変な話じゃないと思うが
0125デフォルトの名無しさん
2010/03/17(水) 10:32:410126デフォルトの名無しさん
2010/03/17(水) 10:38:560127デフォルトの名無しさん
2010/03/17(水) 11:03:580128デフォルトの名無しさん
2010/03/17(水) 12:36:00たしかにunicodeはencodingやerrrosを指定できるけど戻り値は必ずunicode型だろ
int(hoge, default=None)みたいにint以外返せるのはおかしい
0129デフォルトの名無しさん
2010/03/17(水) 12:36:500130デフォルトの名無しさん
2010/03/17(水) 12:41:03str のつもりが None が入ってるときもある
int のつもりの変数に None が入ってても何もおかしなことではない
そもそも型宣言がないんだから
0131デフォルトの名無しさん
2010/03/17(水) 12:46:14変数側の問題じゃなくて、int()の戻り値の問題。
int や str みたいな型は関数形式で呼び出してインスタンスを作るけど、
assert isinstance(sometype(), sometype)
という暗黙の了解があるの。
引数が悪くてその型の値を返せないときは例外を投げるべき。
0132デフォルトの名無しさん
2010/03/17(水) 12:48:400133デフォルトの名無しさん
2010/03/17(水) 12:49:47s.decode('utf-8')
みたいな使い方をしてるときに
sがNoneで例外出ると萎える
0134デフォルトの名無しさん
2010/03/17(水) 13:35:54int(s) -> parseできなければ例外
int(s, base) -> 同じ
int(s, default=...) -> parseできなければdefaultを返す
int(s, base, default=...) -> 同じ
こういう感じの話をしてたんだと思うが
default=を指定しなければ今と全く同じだし
parse不能なケースはデフォルト値で置き換えでいい場合は
try/exceptを含む4行程度のコードが式一つ圧縮できるわけだろ
default=Noneと「わざわざ」指定してNoneが返った場合の対応を「しない」のは
さすがに考えにくいんじゃないの
0135デフォルトの名無しさん
2010/03/17(水) 13:43:13だから、int()にint以外のオブジェクトを返させるなって。
0136デフォルトの名無しさん
2010/03/17(水) 14:03:13コンストラクタでやろうとするほうが議論の中心になるのが納得できない
まぁ意固地なヤツのせいで議論にすらなってないわけだが
0137デフォルトの名無しさん
2010/03/17(水) 14:11:100138デフォルトの名無しさん
2010/03/17(水) 14:34:45つまり>>134がint()じゃなくてint.parse()でなければ特にケチをつける
理由は無いということ?
0139デフォルトの名無しさん
2010/03/17(水) 14:35:28○int.parse()であれば
0140デフォルトの名無しさん
2010/03/17(水) 14:49:34int()と別にint.parse()を用意するのであれば、今度は例外を投げる必要がなくて、
default=0かdefault=Noneで良い。
というのが >>120 に既出
0141デフォルトの名無しさん
2010/03/17(水) 14:58:200142デフォルトの名無しさん
2010/03/17(水) 21:11:410143デフォルトの名無しさん
2010/03/17(水) 21:29:450144デフォルトの名無しさん
2010/03/17(水) 22:22:10>>134 なら
ちゃんと
>default=Noneと「わざわざ」指定してNoneが返った場合の対応を「しない」のは
>さすがに考えにくいんじゃないの
と断ってあるので
>>135 みたいな突っ込みをする香具師はただのKYアホだと思う
0145デフォルトの名無しさん
2010/03/17(水) 22:23:300146デフォルトの名無しさん
2010/03/17(水) 23:08:430147デフォルトの名無しさん
2010/03/17(水) 23:13:100148デフォルトの名無しさん
2010/03/18(木) 01:52:280149デフォルトの名無しさん
2010/03/18(木) 01:53:55必ずしも int を拡張しなくてもよいんだけど、
Battery includedを唱うPythonで、プロジェクト起こすたびに
同じ関数を作ってるのがちょっぴりイヤ。
どこか適当なモジュールに xint() とか parseInt() とか入れてくれないかな。
0150デフォルトの名無しさん
2010/03/18(木) 02:08:03そんな頻繁にparseInt使いたくなるか?
intに直せないかもしれない未知の文字列をintにしたいときってどういう場合だ?
直せなかったときの対処は0入れるとか、None入れるとかで本当に適切なのか?
その場でエラー出した方がいいんじゃないの?
0151デフォルトの名無しさん
2010/03/18(木) 02:13:29n = int(s) if isdigit(s) else None
で十分。符号とか前後スペースとか考えると面倒くさくなるが。
0152デフォルトの名無しさん
2010/03/18(木) 02:44:49周囲の環境を否定することでしか自我を保てない哀れな野郎だ
0153デフォルトの名無しさん
2010/03/18(木) 03:29:350154デフォルトの名無しさん
2010/03/18(木) 03:58:42愚痴しか言えないお前もなw
0155デフォルトの名無しさん
2010/03/18(木) 09:21:210156デフォルトの名無しさん
2010/03/18(木) 09:26:360157デフォルトの名無しさん
2010/03/18(木) 09:31:32なんでこんなに粘着アンチは毎日ネガキャンに必死なんだろうな
周囲の環境を否定することでしか自我を保てない哀れな野郎だ
293 デフォルトの名無しさん [sage] 2010/03/18(木) 09:29:56 ID: Be:
>C#は糞
>http://pc12.2ch.net/test/read.cgi/tech/1246520657/l50
>711 名前: デフォルトの名無しさん [sage] 投稿日: 2010/03/18(木) 02:50:41
>なんでこんなに粘着アンチは毎日ネガキャンに必死なんだろうな
>周囲の環境を否定することでしか自我を保てない哀れな野郎だ
>C#終了のお知らせ
>http://pc12.2ch.net/test/read.cgi/tech/1200796178/l50
>292 名前: デフォルトの名無しさん [sage] 投稿日: 2010/03/18(木) 07:15:50
>なんでこんなに粘着アンチは毎日ネガキャンに必死なんだろうな
>周囲の環境を否定することでしか自我を保てない哀れな野郎だ
www
0158デフォルトの名無しさん
2010/03/18(木) 10:12:26予めあったらいいね。chomp とかもね
0159デフォルトの名無しさん
2010/03/18(木) 10:20:550160デフォルトの名無しさん
2010/03/18(木) 11:00:200161デフォルトの名無しさん
2010/03/18(木) 11:17:550162デフォルトの名無しさん
2010/03/18(木) 11:20:17てめぇPerlに喧嘩売ってんのか
0163デフォルトの名無しさん
2010/03/18(木) 11:23:11改行は削除したいがtrailing spaceは保存したいケースってそんなに多いかなあ
0164デフォルトの名無しさん
2010/03/18(木) 11:33:020165デフォルトの名無しさん
2010/03/18(木) 11:51:08つまり、符号や前後スペースの問題等を考慮すれば、結局
def int_parsable(s):
try:
int(s)
return True
except:
return False
のような馬鹿馬鹿しいものを書くことになるわけでしょ
現実のプログラムで
ValueError: invalid literal for int() with base 10: ....
が最適なエラーメッセージだと考える人はいないだろうし
自分しか使わないオモチャをのぞけば、デフォルトの例外投げっぱなしが
最適解であることはむしろ稀なんじゃないの
0166デフォルトの名無しさん
2010/03/18(木) 11:59:170167デフォルトの名無しさん
2010/03/18(木) 12:02:23そんなばかばかしい関数書かないよ。
ユーザーが入力した文字列を利用するなら、
try:
x = int(s)
except Exception:
# ユーザーにメッセージを表示
# x を使った処理
で十分。
>>151みたいな書き方をすることはない。
0168デフォルトの名無しさん
2010/03/18(木) 12:06:39try〜exceptを含む4つの文より、一つの式のほうが簡潔な上に、
抽象化された構造に取り込みやすいこともあるんじゃないの
>>151の右辺は式だからね
ああ書きたければ、isdigit()では不十分なので
int_parsable()が必要になる、ということ
0169デフォルトの名無しさん
2010/03/18(木) 12:08:280170デフォルトの名無しさん
2010/03/18(木) 12:09:25それもこれも、みんな俺の努力の賜でね
0171デフォルトの名無しさん
2010/03/18(木) 12:10:040172デフォルトの名無しさん
2010/03/18(木) 12:11:27ValueError: invalid literal for int() with base 10: ....
を印字して終了するわけか
0173デフォルトの名無しさん
2010/03/18(木) 12:32:04>>151みたいに書いたって、その後で
if n is None:
# ユーザーにまともなエラーメッセージを表示
ってやったら三行じゃん。
>>165でエンドユーザーに対してエラーメッセージを表示することについて
言っているけど、Noneなんて入れっぱなしにしたら
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
みたいなエラーがその後のどっか別の場所で出て、エンドユーザーにとって判りにくいどころか
プログラマにとってもいつint以外のオブジェクトが入ったのか探す必要が発生するわけだが。
0174デフォルトの名無しさん
2010/03/18(木) 12:36:33int_parsable()では、デフォルト値でいい場合に
n = int(s) if int_parsable(s) else default
で済み、明らかに少ないし、
Value Error以外の、もっと有用なメッセージを出力したい場合も
if not int_parsable(s): raise ほげException(有用なメッセージ)
の1行で済むよ
0175デフォルトの名無しさん
2010/03/18(木) 12:38:20...
n = int(s)
...
に対して、
...
if not int_parsable(s): ....
n = int(s)
...
と一行はさむだけで防御的になるわけだ
0176デフォルトの名無しさん
2010/03/18(木) 12:52:460177デフォルトの名無しさん
2010/03/18(木) 12:54:36デフォルト値で良い場合は >>51 で良いし、
例外メッセージを書き換えたい場合は
def int_parse(s, msg):
try:
return int(s)
except Exception:
raise HogeException(msg)
とした方が良いな。
このあたりはアプリケーション毎に違うんだから自分で書いたらいい。
0178デフォルトの名無しさん
2010/03/18(木) 14:31:510179デフォルトの名無しさん
2010/03/18(木) 14:34:580180デフォルトの名無しさん
2010/03/18(木) 15:26:300181デフォルトの名無しさん
2010/03/18(木) 15:40:43Pythonのコマンドラインを起動して、「3+4」と入力すると「7」が帰って来ます。
この「7」って__doc__とか__name__のどこかに格納されているのでしょうか?
また、「7」の型を判定することは可能でしょうか?
0182デフォルトの名無しさん
2010/03/18(木) 15:44:04$ python
Python 2.6.4 (r264:75706, Jan 25 2010, 09:01:01)
[GCC 4.4.2 20091208 (prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 3+4
7
>>> _
7
>>> type(_)
<type 'int'>
>>>
0183デフォルトの名無しさん
2010/03/18(木) 15:50:08isinstance(7,int)
True
isinstance("7",int)
False
#数値型に変換できるかの判定
"7".isdigit()
True
"'7'".isdigit()
False
0184デフォルトの名無しさん
2010/03/18(木) 16:08:33「_」と「typeやisinstance」がまさに知りたかった情報です。
ありがとうございます。
でも不思議なのですが、dir()しても「_」というオブジェクトは見つかりません。
「_」の情報はどこに定義されているのでしょうか?
0185デフォルトの名無しさん
2010/03/18(木) 16:15:470187デフォルトの名無しさん
2010/03/18(木) 16:45:250188デフォルトの名無しさん
2010/03/18(木) 18:05:51ストレス解消に煽りに来ている方、十分な睡眠を取って煽ってくださるようお願い申し上げます。
風邪を引く前の予防が肝心です。日々の鍛錬を怠らないようにして下さい。
暇つぶしに来ている方、時間を決めて一時間ごとに十五分から二十分くらいの休息を取られた方が良いと思います。
時間は限られています。あなたの人生はあなたの物ですが、一日中インターネットに没頭している、これはいかがな物でしょうか。
インターネットはあなた様の健康に悪影響を及ぼす可能性があります。
マルチしている方、人を忘れないでください、すべてはたくさんの人の多大な努力と膨大な時間を費やして出来た物でありますが故に、
そのような行為は非人道的行為にあたります。なお九十割はスクリプトで出来ているので、気軽に質問してください。マルチはいけません。
さて、私がこのような事をなぜ申し上げますかというと、この度Goのビルドに成功したが故に存じ上げる次第でございます。
よくよく冷静に考えると、このような開発段階にあり、現段階では実用に適していない「ぼくのかんがえたさいきょうのげんご」は
プログラミング言語の学習に適さないと判断させていただきました。今後ますますのご健康とご活躍をお祈り申し上げます。
0189デフォルトの名無しさん
2010/03/18(木) 18:27:070190デフォルトの名無しさん
2010/03/18(木) 19:15:58特定しました
0191デフォルトの名無しさん
2010/03/18(木) 21:08:19それ、1行挟むだけで済ませようと思ったらreturnかexitくらいしか入らないんじゃない?
0192デフォルトの名無しさん
2010/03/18(木) 21:09:15raiseもいれられるお!
0193デフォルトの名無しさん
2010/03/18(木) 21:15:19その1行が想定している意味は、すぐ上の>>174を読めば分かる
0194デフォルトの名無しさん
2010/03/18(木) 21:16:55変換する必要がある場面で例外にしてはいけない合理的理由が特に見当たらないこと、その2点に集約されてる気がする。
(Python
0195デフォルトの名無しさん
2010/03/18(木) 21:23:01(pythonでは例外使うことに抵抗がなく、むしろ積極的に使っている節がある。
それに、何もかもを1行で書きたいという欲求に、Guideは全然興味を示してない。
多分、三項演算子ができたのも、論理演算子を組み合わせた直感的でない方法取られるよりはマシとの判断)
str.indexとstr.findが両方あることを考えるに、
intが例外を返すのが直感的でない、例外を返さないことに意義がある場面が十分ありうるのなら、
既にparse_intは取り入れられてるはずだろう。
0196デフォルトの名無しさん
2010/03/19(金) 01:08:04strにfindとindexの2種類合ってintには無い理由の大きな理由は、 str.find と str.index が
メソッドなのに対して str は組み込み型だからだと思うよ。
0197デフォルトの名無しさん
2010/03/19(金) 01:52:26確かにそれも大きいとは思うが、それこそparse_intにすればいいって話になってくる。
一応、変換手段が複数ある例として、
str(u'abc')があるのにu'abc'.encode('ascii')が用意されているといったケースがある。
(これは、どっち使ってもUnicodeEncodeError例外が出うるけど)
0198デフォルトの名無しさん
2010/03/19(金) 02:34:10int()にもignoreがあればいいのにって話
0199デフォルトの名無しさん
2010/03/19(金) 02:52:29なんのためのOSSだ
0200デフォルトの名無しさん
2010/03/19(金) 03:15:23最初から int に加えて parse_int みたいなのを加える事を言ってる。
"メソッド" はクラスの名前空間に属するけど、 int() に並べて parse_int() を追加しようとすると
組み込みの名前空間を汚しちゃう。
>>198
ignore付けたら何を返せばいいの? 0 だと "0" を問題なくパースできたのと見分けがつかないよ。
0201デフォルトの名無しさん
2010/03/19(金) 03:38:07だから、んなもんあってもバカがバカな使い方してバグ増やす以外に何のメリットもないと。
0202デフォルトの名無しさん
2010/03/19(金) 07:51:51>ignore付けたら何を返せばいいの? 0 だと "0" を問題なくパースできたのと見分けがつかないよ。
もちろんそれでいい
そのためのignoreなんだから
u'hoge'.encode('fuga', errors='ignore')
だって問題なくエンコードできたのと区別つかないでそ?
0203デフォルトの名無しさん
2010/03/19(金) 08:06:340204デフォルトの名無しさん
2010/03/19(金) 09:08:52エンコードっつても
unicodeとstrの型変換だぞ
0205デフォルトの名無しさん
2010/03/19(金) 10:25:080206デフォルトの名無しさん
2010/03/19(金) 11:00:26Python3では文字列型がunicode型に統一されている
以上のようなことから、unicode <-> strの型変換は特殊な位置づけにあると思う
0207デフォルトの名無しさん
2010/03/19(金) 11:14:34それ、strのコンストラクタにerrors="ignore"と書けるのは良くて
intではダメ、という合理的な論拠や説明にはちっともなってなくね?
「特殊」ってつまり何?
なんかのマジックワードか何か?
0208デフォルトの名無しさん
2010/03/19(金) 11:16:48str(b'\xff', errors='ignore')
''が返るね、問題なくパースできたのと見分けがつかないよね
なんつうか前から思っていたが、しばしばPython信者の擁護は見苦しくて妄信的だね
0209デフォルトの名無しさん
2010/03/19(金) 11:19:32> 問題なくパースできたのと見分けがつかないよね
を覚悟の上でやっているわけで。
違う型を返しているわけでもないし
0210デフォルトの名無しさん
2010/03/19(金) 11:21:06よく読もう
例えば>>200の最後の文は滑稽でしかないということだよ
strのことは忘れたかのように、握り潰せるインタフェースは邪悪だと
彼らは主張していたわけだからね
0211デフォルトの名無しさん
2010/03/19(金) 11:51:48Pythonの仕様に文句があるなら、作者の見てるとこで言えよ。
こんなとこで言っても変更される可能性は0だろう。
それでも駄目なら、自分で新しい言語を作ればいい。
0212デフォルトの名無しさん
2010/03/19(金) 11:53:07そろそろ春だなあ厨も来る頃ですね
0213デフォルトの名無しさん
2010/03/19(金) 11:53:390214デフォルトの名無しさん
2010/03/19(金) 11:58:46>>>200
>>ignore付けたら何を返せばいいの? 0 だと "0" を問題なくパースできたのと見分けがつかないよ。
>
>もちろんそれでいい
>そのためのignoreなんだから
いや,この仕様はないわ、滑稽
型変換に失敗したときに0を返すべきかどうかは実装依存だし、
「じゃあdefaultをつけようぜ! xxにはあるじゃん!」
などと付け足すとしたら恥の上塗り
ぜんぜんPythonicじゃないよ
0215デフォルトの名無しさん
2010/03/19(金) 11:59:590216デフォルトの名無しさん
2010/03/19(金) 12:02:40>彼らは主張していたわけだからね
脳内には300人の「彼ら」が居るわけだね。
0217デフォルトの名無しさん
2010/03/19(金) 12:05:470218デフォルトの名無しさん
2010/03/19(金) 12:07:032人以上いるときは複数形を使うのが正しいんだよ
君は日本語の勉強からやりなおしたほうがいいんじゃないかな
0219デフォルトの名無しさん
2010/03/19(金) 12:24:23なかまにしますか?
0220デフォルトの名無しさん
2010/03/19(金) 12:44:40エラー吐かせてるのに何で不毛な議論するの?
0221デフォルトの名無しさん
2010/03/19(金) 13:04:32intは簡単だから、オプションを必要と言う主張が弱いだけ。
0222デフォルトの名無しさん
2010/03/19(金) 13:12:03def int(str, , errors='strict', default=0):
で定義して erros='ignore'
0223デフォルトの名無しさん
2010/03/19(金) 13:13:49>>214
def int(s, base, errors='strict', default=0):
で定義して erros='ignore' のときは default (もちろん変更可能) を返せば良い
0224デフォルトの名無しさん
2010/03/19(金) 13:15:040225デフォルトの名無しさん
2010/03/19(金) 13:29:42221
0226デフォルトの名無しさん
2010/03/19(金) 13:31:25などと付け足すとしたら恥の上塗り
0227デフォルトの名無しさん
2010/03/19(金) 14:38:150228デフォルトの名無しさん
2010/03/19(金) 14:45:59Content-encoding と実際のデータのエンコードが違っているときがあります
適切に文字コードを判断してデコードするにはどのようにプロ倉民すればよいでしょうか
出力は UNICODE に統一出来ていれば良いです
0229デフォルトの名無しさん
2010/03/19(金) 15:06:292. 右見て左見てもう一度右見て気をつけて渡る
0230デフォルトの名無しさん
2010/03/19(金) 15:16:09a = [2,2,5,6,3,8,9] とかいうリストがあって、これを "," 区切りの文字列にしたいな、と思ったとき
a
",".join(a)
",".join(map(str, a))
の順番でタイプすることが多いんだけど、この順番だとキャレットが行ったり来たりしてちょっとストレス感じます。
lambda が入ったりして少し複雑な文とかでも、最終的に書かなければいけない順番と
頭で考える順番が全然イコールになってなくて、イライラっとするんだけどこういう事って結構ない?
0231デフォルトの名無しさん
2010/03/19(金) 15:48:180232デフォルトの名無しさん
2010/03/19(金) 16:40:03知らんがな
0233デフォルトの名無しさん
2010/03/19(金) 16:49:340234デフォルトの名無しさん
2010/03/19(金) 16:50:37lispよりOCamlもいいなあ
0235デフォルトの名無しさん
2010/03/19(金) 16:55:540236デフォルトの名無しさん
2010/03/19(金) 16:57:31bootってpythonとどこまで互換あるんだろ
0237デフォルトの名無しさん
2010/03/19(金) 18:10:03PythonもLispもOCamlも全部やればいいと思うよ!
0238デフォルトの名無しさん
2010/03/19(金) 20:55:28Pythonでは、リストやジェネレータの内包表記があるからmapはあんまり使う必要がない。
",".join(str(n) for n in a)
って書き方だと、ちょっとは書きやすくなるんじゃないかなぁ。
0239デフォルトの名無しさん
2010/03/19(金) 20:59:16変換できない文字は引数で指定した通りignoreした上で、変換可能な文字はすべて何ら問題なく変換している。
それは極めて正当な処理だ。
0240デフォルトの名無しさん
2010/03/19(金) 21:12:01','.join(str(n) for n in a)
','.join(map(str, a))
元のほうが短くないか?
0241デフォルトの名無しさん
2010/03/19(金) 21:19:36str(n) の n って for n で初めて意味が決まるので、
内包表記も頭から順番に書いていくには素直な順番じゃないなぁと思う。
内包表記に if が出てきたり多重ループになってたりすると
読んでも理解しづらいし、書きたいときも手が止まる。
0242デフォルトの名無しさん
2010/03/19(金) 21:29:18UTFに変換できない文字が入ってるから?
それ以外のケースってある?
0243デフォルトの名無しさん
2010/03/19(金) 21:30:35処理できなかったのって具体的にどんな奴
0244デフォルトの名無しさん
2010/03/19(金) 21:33:25幸せになるかもしれない
euc-jpを指定しているのなら、euc_jisx0213にしたら幸せになるかもしれない
0245デフォルトの名無しさん
2010/03/19(金) 21:50:30お前の脳が日本語を処理出来ないことは良くわかった
0246デフォルトの名無しさん
2010/03/19(金) 22:54:20ごめ、長さのこと考えてなかった。
そのへん気になる人は、
','.join(str(n) for n in a)よりは','.join(map(str, a))の方が短く、
','.join(map(lambda n:str(n+1), a))よりは','.join(str(n+1) for n in a)の方が短いことを考えながら使い分けるとよい。
>>241
あまりに複雑な内包表記が読みづらいことは認める。
後置での読み書きは慣れの問題だとは思うが、Pythonは内包表記も三項演算子も後置的で、慣れないとPythonは使い辛いのかもしれない。
(cond ? true_value : false_valueをpythonでは true_value if cond else false_valueってかく)
意味、というか値が後で決まる件に関しては、関数だって定義したときには引数の値決まってないじゃん、って思うといいよ。
「とりあえず、str(n)する。で、そのnってのは...のことで」という読み方をすると割と読めるんじゃないかなぁ。
書くときは、自分の中で、シーケンスの中身を表す変数ってのがだいたい固定化してきたら書きやすくなる。
例えば俺はrange(10)の中身だとiで、文字列ならsで、整数ならnで、とりあえず何か要素ならelemって書くことが多い。
0247デフォルトの名無しさん
2010/03/19(金) 22:58:410248デフォルトの名無しさん
2010/03/20(土) 02:14:51やっぱ、FORTHかな。
0249デフォルトの名無しさん
2010/03/20(土) 13:20:480250デフォルトの名無しさん
2010/03/20(土) 13:22:46スタックマスターハケーン
0251デフォルトの名無しさん
2010/03/20(土) 13:27:21Shut your fuckin' mouth!!!!!
0252デフォルトの名無しさん
2010/03/20(土) 14:26:55s = s.replace( "\n", "" ).replace( " ", "" );
こんな書き方しないとダメなの?
0253デフォルトの名無しさん
2010/03/20(土) 14:32:260254デフォルトの名無しさん
2010/03/20(土) 15:25:26などと言っている奴はエンジニアである前に人間として駄目だけどね
0255デフォルトの名無しさん
2010/03/20(土) 15:32:27Take a flying fuck
0256デフォルトの名無しさん
2010/03/20(土) 23:28:00Cygwin同梱のPythonではダメでWin32ネイティブのものが
インストールされてる必要がある
http://www.wireshark.org/docs/wsdg_html_chunked/ChSetupWin32.html#ChSetupPython
PerlはCygwin版で良いのにPythonは何故ダメなのか不思議
どうせWin32ネイティブのPythonが必要なら
Perlやbashその他もろもろをPythonで置き換えて
Cygwinインストール不要にして欲しい
subversionやNSISは仕方がないとして
Perl, bash, bison, flex, diff, patch, wget, unzip
なんかはPythonで置き換えられるよね?
0257デフォルトの名無しさん
2010/03/21(日) 07:35:03日本語的とか言ってるような奴はそこから批判すべき。
0258デフォルトの名無しさん
2010/03/21(日) 07:43:310259デフォルトの名無しさん
2010/03/21(日) 09:45:11len(s)はV1語法で、s.join(l)はV2語法だよ。
0260デフォルトの名無しさん
2010/03/21(日) 10:43:27単にOO風の記述と関数的な記述が入り乱れてるから混乱するって話じゃねーの?
0261デフォルトの名無しさん
2010/03/21(日) 11:13:15昔は強制インデント文法だけ取り上げられてマゾ言語と言われてたが
最近はあんまり言われなくなったなぁ。
今はモジュール・クラス・関数の命名の統一のなさがどうにも気になる。
Python4できっちり整備して欲しい。
0262デフォルトの名無しさん
2010/03/21(日) 11:20:57絵を見せて、パントマイムでそれをつたえるという作業をさせると、SOVの順の人が一番多いのだそうだ。
0263デフォルトの名無しさん
2010/03/21(日) 11:23:25port版はそっちと名前を合わせたほうが使いやすいから統一しない、統一しないの
であれば、古いからっていう理由だけでpep8に従ってないモジュールのインタフェースを
無理に変える必要も無いよね−、という考えでそのままになってる。
パッケージ名だけは小文字で統一された。それ以外の分は、Threadingモジュールみたいに
段階的にエイリアスを定義しては古い方をdeprecated扱いにする・・・を繰り返して、
ゆっくり移行していくと思うよ。Python4から!みたいに線引きすると移行がしづらくなるから。
0264デフォルトの名無しさん
2010/03/21(日) 23:27:03yaccやlexって標準添付ライブラリで置き換えられるんだっけ?
0265デフォルトの名無しさん
2010/03/22(月) 17:39:35RubyだのPythonなんてものができたんだ?
0266デフォルトの名無しさん
2010/03/22(月) 17:51:040267デフォルトの名無しさん
2010/03/22(月) 18:02:160268デフォルトの名無しさん
2010/03/22(月) 18:56:42ゴミはRuby
0269デフォルトの名無しさん
2010/03/22(月) 18:59:490270デフォルトの名無しさん
2010/03/22(月) 19:03:550271デフォルトの名無しさん
2010/03/22(月) 19:05:42make testで使われてる事が多いから
rubyは要らね
0272デフォルトの名無しさん
2010/03/22(月) 19:08:49()//////
0273デフォルトの名無しさん
2010/03/22(月) 19:09:32\\\\\\\\
0274デフォルトの名無しさん
2010/03/22(月) 20:12:29たしかに
そこにrubyを含めると
rubyのテストをしないといけなくなる
0275デフォルトの名無しさん
2010/03/22(月) 20:17:15は?
0276デフォルトの名無しさん
2010/03/22(月) 20:27:240277デフォルトの名無しさん
2010/03/22(月) 20:27:380278デフォルトの名無しさん
2010/03/22(月) 20:36:43日本でこんなに広まったのがそもそもの間違い
0279デフォルトの名無しさん
2010/03/22(月) 21:31:140280デフォルトの名無しさん
2010/03/22(月) 22:04:15言語別ゲーム用ライブラリは敷居が高すぎる
あ、敷居が高いからいいのか
0281デフォルトの名無しさん
2010/03/22(月) 22:09:160282デフォルトの名無しさん
2010/03/22(月) 23:59:570283デフォルトの名無しさん
2010/03/23(火) 03:05:020284デフォルトの名無しさん
2010/03/23(火) 03:10:400285デフォルトの名無しさん
2010/03/23(火) 17:15:47http://sourceforge.jp/magazine/10/03/23/048255
0286デフォルトの名無しさん
2010/03/24(水) 00:40:22http://pc12.2ch.net/test/read.cgi/tech/1267553581/
でやれ
0287デフォルトの名無しさん
2010/03/24(水) 00:46:190288デフォルトの名無しさん
2010/03/25(木) 12:26:27ってどこか落ちてないのか
0289デフォルトの名無しさん
2010/03/25(木) 12:46:59自分でビルドしないのなら特に用のないファイルじゃないの?
0290デフォルトの名無しさん
2010/03/25(木) 13:39:36pythonを部品として使ってるプロジェクトがビルドできない
0291デフォルトの名無しさん
2010/03/25(木) 13:49:24ああ、それをデバグビルドしたくて、デバグ版はpython26_d.libにリンクするように
なってるわけな
実際にデバッガで動かそうと思ったら、それだけじゃなくて色々いると思うよ
最低限python26_d.dll、あとネイティブモジュール(pyd)も全部_d版が必要
そのプロジェクトは誰が作ったの
赤の他人?
0292デフォルトの名無しさん
2010/03/25(木) 14:14:250293デフォルトの名無しさん
2010/03/25(木) 17:22:330294デフォルトの名無しさん
2010/03/25(木) 21:22:22Zopeが入ってるっぽいが
0295デフォルトの名無しさん
2010/03/25(木) 22:55:030296デフォルトの名無しさん
2010/03/26(金) 00:39:06GAEのおかげでpython使ってる人は増えてるみたいだけど
0297デフォルトの名無しさん
2010/03/26(金) 00:57:22djangoダントツ
0298デフォルトの名無しさん
2010/03/26(金) 05:30:230299デフォルトの名無しさん
2010/03/26(金) 12:33:370300デフォルトの名無しさん
2010/03/26(金) 13:01:050301デフォルトの名無しさん
2010/03/26(金) 19:54:37Pylonsに入ってるっぽい
0302デフォルトの名無しさん
2010/03/26(金) 20:47:33フロントにnginx使って、バックにDjangoを複数立ち上げておけよ。
0303デフォルトの名無しさん
2010/03/26(金) 23:42:54JTHONやCPYHONなどパイソン関連用語が多くて
学習する前に混乱しそうなんですけど、難しくないですか?
0304デフォルトの名無しさん
2010/03/26(金) 23:49:46両方綴り間違ってるから釣りっぽいけど、
どの言語も同じようなもんだし、最初は気にする必要もない
0305デフォルトの名無しさん
2010/03/27(土) 15:11:37classファイルやjarファイル作りたいんだけどどうやるの?
0306デフォルトの名無しさん
2010/03/27(土) 15:24:51OpenCVにデフォでついてるswigがなんか嫌なんだけど
0307デフォルトの名無しさん
2010/03/27(土) 18:30:41原因不明のエラーが出ても気にならないならOpenCvSwing版でもいいが
ちゃんと使いたいならcvtypesとか使ったほうが安心できる
ROI使えないとかpython仕様じゃない実装されてる風だったり
かなりストレスたまる
0308307
2010/03/27(土) 18:31:270309デフォルトの名無しさん
2010/03/28(日) 00:11:150310デフォルトの名無しさん
2010/03/28(日) 01:20:23自分はこれを使ってた。
swig版やcvtypesと違ってちゃんとメモリを自動的に開放してくれるから便利だった。
0311デフォルトの名無しさん
2010/03/28(日) 01:42:270312デフォルトの名無しさん
2010/03/28(日) 01:44:160313デフォルトの名無しさん
2010/03/28(日) 01:46:09OpenCV has its own swig-based Python wrapper. However, it has conflicts
in memory management between C/C++ and Python, and hence is not suitable
for large projects. It is also particularly hard to maintain and develop.
Another project called CVtypes was pioneered by Michael Otto and is
currently maintained by Gary Bishop
(at http://wwwx.cs.unc.edu/~gb/wp/blog/2007/02/04/python-opencv-wrapper-using-ctypes/).
The wrapper is based on ctypes. It supports a large set of OpenCV's
functions and a limited set of OpenCV's structures.
I used to provide some improvements to CVtypes here and there. While
Gary Bishop was a kind professor, I felt not so nice to keep asking him
to update his code. Therefore, I decided to branch from his CVtypes,
and the result is this project. ctypes-opencv supports a fairly complete
set of OpenCV's structures and functions. More importantly, I have put
a lot of efforts in making ctypes-opencv faster, better memory-managed,
and easier to use, by not only adopting but also improving the pythonic
interface introduced by OpenCV's developers. Nevertheless, credits should
also go to OpenCV developers, and CVtypes' authors and contributors.
I intend to eventually merge back to Gary Bishop's CVtypes when the project
is mature enough.
0314デフォルトの名無しさん
2010/03/28(日) 03:53:26Ruby on RailsだとMongrelとかいうのが負荷分散してくれるみたいなんだけど
Pylonsにも似たような機能はあるのかな
0315デフォルトの名無しさん
2010/03/28(日) 04:02:080316デフォルトの名無しさん
2010/03/28(日) 04:26:56tornado使えばwsgi対応のフレームワークは全て出来るんじゃないかな
0317デフォルトの名無しさん
2010/03/28(日) 06:22:500318デフォルトの名無しさん
2010/03/28(日) 07:24:30Mongrelでも一緒だ。
複数のMongrelを立ち上げて、フロントはApacheかnginxみたいなリバースプロクシを使って
負荷分散する。
0319デフォルトの名無しさん
2010/03/28(日) 13:26:500320デフォルトの名無しさん
2010/03/28(日) 13:34:040321デフォルトの名無しさん
2010/03/28(日) 20:44:16Pythonとセットで始めたいけど英語読めないから無理だわ・・・
0322デフォルトの名無しさん
2010/03/28(日) 21:14:150323デフォルトの名無しさん
2010/03/28(日) 21:18:020324デフォルトの名無しさん
2010/03/28(日) 21:30:42Railsは俺のレベルでは無理だった
0325デフォルトの名無しさん
2010/03/28(日) 22:03:140326デフォルトの名無しさん
2010/03/29(月) 02:03:560327デフォルトの名無しさん
2010/03/29(月) 02:06:040328デフォルトの名無しさん
2010/03/29(月) 02:10:240329デフォルトの名無しさん
2010/03/29(月) 07:48:460330デフォルトの名無しさん
2010/03/29(月) 12:32:51swigよりctypesが推奨ってことでいいのだろうか
0331デフォルトの名無しさん
2010/03/29(月) 12:43:50既存のライブラリ利用→ctypes
新規で作成→swig
がいいかなと思ってる
あと使った事ないけどPyCXXが面白そう
0332デフォルトの名無しさん
2010/03/29(月) 15:58:220333デフォルトの名無しさん
2010/03/29(月) 20:31:400334デフォルトの名無しさん
2010/03/29(月) 20:44:390335デフォルトの名無しさん
2010/03/29(月) 20:44:500336デフォルトの名無しさん
2010/03/29(月) 21:55:410337デフォルトの名無しさん
2010/03/29(月) 22:21:45bazaarその方向を目指してるようだ
0338デフォルトの名無しさん
2010/03/30(火) 18:14:47Pythonの勉強はPython設計者本人が書いたという「Pythonチュートリアル第2版」でしようと思ってます。
大丈夫ですよね?
0339デフォルトの名無しさん
2010/03/30(火) 20:57:120340デフォルトの名無しさん
2010/03/30(火) 21:03:420341デフォルトの名無しさん
2010/03/30(火) 21:10:510342デフォルトの名無しさん
2010/03/30(火) 21:15:140343338
2010/03/30(火) 21:16:050344デフォルトの名無しさん
2010/03/30(火) 21:24:07まあ、別に読んでも害はないけど
文句は言うな!
0345デフォルトの名無しさん
2010/03/30(火) 21:25:53わけわかんないところは読み飛ばせばなんとかなるよ!
たぶん
0346デフォルトの名無しさん
2010/03/30(火) 21:26:19みんぱい
はじぱいは?
0347デフォルトの名無しさん
2010/03/30(火) 21:28:060348デフォルトの名無しさん
2010/03/30(火) 21:28:52みんぱいいいよみんぱい
0349デフォルトの名無しさん
2010/03/30(火) 21:30:340350デフォルトの名無しさん
2010/03/30(火) 21:36:490351デフォルトの名無しさん
2010/03/30(火) 21:36:560352デフォルトの名無しさん
2010/03/30(火) 22:20:470353デフォルトの名無しさん
2010/03/30(火) 22:22:480354デフォルトの名無しさん
2010/03/30(火) 22:28:130355デフォルトの名無しさん
2010/03/30(火) 22:32:23http://tabesugi.net/memo/2006/a1.html#070018
0356デフォルトの名無しさん
2010/03/30(火) 22:37:52Rubyがもし日本で生まれていなければ悩むことなく、みなPythonを選択し、
もっと日本のPythonコミュニティが発展していたのかもしれないとおもうと、
なんか複雑な気分だなあ。
0357デフォルトの名無しさん
2010/03/30(火) 22:38:210358デフォルトの名無しさん
2010/03/30(火) 22:40:23にいやまはああいう芸風なんだよ(w
0359デフォルトの名無しさん
2010/03/30(火) 22:52:330360デフォルトの名無しさん
2010/03/30(火) 23:07:060361デフォルトの名無しさん
2010/03/30(火) 23:10:47結局なじめなくてPythonやってる
0362デフォルトの名無しさん
2010/03/30(火) 23:13:120363デフォルトの名無しさん
2010/03/30(火) 23:16:20プログラミングに一気にとりかかるのが自分のやりかただったけど、
Pythonは本読む必要もなかった。
ドキュメントのグーぐるで十分。それくらい楽勝な言語。
0364デフォルトの名無しさん
2010/03/30(火) 23:21:30javaとかC#とかやってるとRubyは凄く気持ち悪い
0365デフォルトの名無しさん
2010/03/30(火) 23:53:36日本語訳は正確じゃなかったり、くどかったりすることもあるので、オリジナルを読むのが吉。
0366デフォルトの名無しさん
2010/03/30(火) 23:58:35でも、他人が書いたソース読むんなら、断然Pythonだな。
0367デフォルトの名無しさん
2010/03/31(水) 00:08:03whenever they have ruby coding, they stay focus to what ruby.
that doing is like sniffing ruby code, actually, they might sniff ruby code.
why... I guess because that is goddamn flaw of ruby.
how flaw, I could answer... exactly they are like sniffer.
0368デフォルトの名無しさん
2010/03/31(水) 01:09:14ファイルではなくメモリ上のバッファに
出力したいのですが、具体的には
im = Image.new('RGBA', (sizex, sizey))
im.putpixel((x, y), color)
...
#im.save('hoge.gif') ←ここのかわりに
s = StringIO.StringIO()
im.save(s)
あとで s.read() で別の部分に使うような感じです
s のところが f = open('hoge.gif', 'wb') みたいに
file オブジェクトなら正常に動作するのですが
StringIO だと (file オブジェクト互換のつもり) 書き込めません
やはり file オブジェクトにしか出力出来ないのでしょうか?
0369デフォルトの名無しさん
2010/03/31(水) 01:22:16一応tostringっていうメソッドはあるみたいだけど
0370338
2010/03/31(水) 01:31:57書籍の形にはなってないんですか?
0371デフォルトの名無しさん
2010/03/31(水) 01:41:29In this case, *** you must always specify the format. ***
The file object must implement the seek, tell, and write methods, and be opened in binary mode.
0372デフォルトの名無しさん
2010/03/31(水) 01:42:36im.save(s, 'gif')
かな。format指定しないとダメと思う。
fileオブジェクトの場合は .name の拡張子から
フォーマット判断してくれる(たしか
0373デフォルトの名無しさん
2010/03/31(水) 01:48:12ありがとうございます
tostring() だと pixel 部分の sequence のみ?とか良くわからないデータになってしまいます
所謂ファイルに出力されるそのままのイメージでバイナリでメモリ上に持ちたかったので・・・
>>371
ありがとうございます
解決しました
s = StringIO.StringIO()
im.save(s, 'gif')
でうまくいきました
そのあと試しに
s.seek(0)
open('hoge.gif', 'wb').write(s.read())
とやったら同じファイルが作成されました
0374デフォルトの名無しさん
2010/03/31(水) 01:50:31ありがとうございます
リロードずれたので行き違いになってしまいました
結果は >>373 の通りです
0375デフォルトの名無しさん
2010/03/31(水) 13:31:34a = open("hage.txt", "r")
for b in a.readlines():
fugafuga
a.close()
と書くのと
for b in open("hage.txt", "r").readlines():
fugafuga
と書くのと(close書かない&ファイルオブジェクトの参照を変数に持たない)
どっちが良いですか?
0376デフォルトの名無しさん
2010/03/31(水) 14:06:20バカでかいファイルを読み込むと死ねます。
ということで、
with open("hoge.txt") as f:
for line in f:
fugafuga
がいいと思います。
こう書くとwithのブロックが終わった直後に f が自動でcloseされます。
0377デフォルトの名無しさん
2010/03/31(水) 19:44:36fugafuga
0378デフォルトの名無しさん
2010/03/31(水) 20:21:13open(F, "tail -3 /hoge/fuga/hage.txt | ");
while(<F>){
print $_;
}
みたいな書きかたが出来たと思いますが
python だとどう書けばよいのでしょうか?
0379デフォルトの名無しさん
2010/03/31(水) 20:46:560380デフォルトの名無しさん
2010/03/31(水) 20:48:45import subprocess
path = "tail -3 lazy.py"
f = subprocess.Popen(path, stdout=subprocess.PIPE).stdout
for line in f:
print line,
f.close()
0381デフォルトの名無しさん
2010/03/31(水) 20:50:46import subprocess
path = "tail -3 /hoge/fuga/hage.txt"
f = subprocess.Popen(path, stdout=subprocess.PIPE).stdout
for line in f:
print line,
f.close()
0382デフォルトの名無しさん
2010/03/31(水) 21:31:070383デフォルトの名無しさん
2010/03/31(水) 23:34:05limit = 3
lis = []
for line in open('/hoge/fuga/hage.txt ', 'r'):
if len(lis) >= limit:
lis[:-limit+1] = []
lis.append(line)
print ''.join(lis)
0384デフォルトの名無しさん
2010/04/01(木) 01:26:320385デフォルトの名無しさん
2010/04/01(木) 01:45:36前から全部読むにしても、せめてdeque使ったほうがいいな
file-like objectがseekableなら、
ttp://stackoverflow.com/questions/136168/get-last-n-lines-of-a-file-with-python-similar-to-tail
この辺で
0386デフォルトの名無しさん
2010/04/01(木) 02:25:17できました
ありがとうございました
subprocess.Popen で気になるのは
stdout だけ close() してるので
stdin とか stderr とかは close() 書かなくても大丈夫なのかどうかってことです
0387デフォルトの名無しさん
2010/04/01(木) 02:28:50PythonスレにPerlのコードを貼るな
汚いから誰も見たくないだろう
0388デフォルトの名無しさん
2010/04/01(木) 05:01:16ついperlで書いてしまうんだよ、ごめんね
0389デフォルトの名無しさん
2010/04/01(木) 05:24:19ゆる
0390デフォルトの名無しさん
2010/04/01(木) 08:47:21一人でこっそり書くなら許す
0391デフォルトの名無しさん
2010/04/01(木) 12:46:13ぜったいにゆるさない
0392デフォルトの名無しさん
2010/04/01(木) 12:55:37Perlのコードを人に見せるなんて、
おな(ryを人に見せるのと同じだ!!
0393デフォルトの名無しさん
2010/04/01(木) 13:37:370394デフォルトの名無しさん
2010/04/01(木) 14:55:27日本語通らないね
0395デフォルトの名無しさん
2010/04/01(木) 15:53:180396デフォルトの名無しさん
2010/04/01(木) 17:03:54書籍の形にはなってないんですか?
0397デフォルトの名無しさん
2010/04/01(木) 17:06:26Perlに劣ってることってある?
0398デフォルトの名無しさん
2010/04/01(木) 17:07:13Cでいうカーニハン&リッチー的な
0399デフォルトの名無しさん
2010/04/01(木) 17:10:340400デフォルトの名無しさん
2010/04/01(木) 18:29:20Perlキモイ、Ruby氏ねな俺でもPythonがベストとは言わない
Pythonよりも目標に向いてる言語があるならそっち使った方がよい
0401デフォルトの名無しさん
2010/04/01(木) 18:30:55起動が遅い。
Webプログラミング以外の用途も考えているのなら、
Pythonを進めるが。
0402デフォルトの名無しさん
2010/04/01(木) 18:37:27Perl より Python の方を薦めるよ
いきなり Perl から始めると変な癖つくからね
0403デフォルトの名無しさん
2010/04/01(木) 18:50:42スペックあるならWinでもVMWare使えばいいし
0404デフォルトの名無しさん
2010/04/01(木) 18:52:50スクリプト言語を学ぶのにわざわざOS環境まで用意する必要は無い。
0405デフォルトの名無しさん
2010/04/01(木) 18:56:47信者と言われそうだがはじぱいなんかそれに近いんじゃないか?
0406デフォルトの名無しさん
2010/04/01(木) 18:59:15LL言語間とWebプログラミングに派閥みたいなもがあるのかな?
0407デフォルトの名無しさん
2010/04/01(木) 19:05:01pytc
0408デフォルトの名無しさん
2010/04/01(木) 19:10:011つ覚えるならPerlじゃないか?
どこのWebサーバ借りても大抵は最新のが使えるのは有りがたい。
Pythonはいまだに2.3なんてとこもある。
ただし、PythonにはGAEという無料で使える最強のサーバが存在するので、
自分で1からWebサービス作りたいとかならPythonが有利ではある。
ぶっちゃけ、1つ覚えたら他のなんてリファレンス片手に1日で使えるようになるから、
何を覚えるかなんて気にしなくていい。
0409デフォルトの名無しさん
2010/04/01(木) 19:13:06日本はWebプログラミング中心に語れることがおおいから
Pythonに人気無いんだと思う。
0410デフォルトの名無しさん
2010/04/01(木) 19:15:080411デフォルトの名無しさん
2010/04/01(木) 19:15:470412デフォルトの名無しさん
2010/04/01(木) 19:20:03ハード系エンジニアで面倒なときにPythonつかうことがあるんですが、
こっちの世界の人はC/C++書いてるくせにスクリプト言語といっても通じない人が多いんです。
0413デフォルトの名無しさん
2010/04/01(木) 19:34:240414デフォルトの名無しさん
2010/04/01(木) 19:37:34自分シェルスクリプトなんてやらないけど。
VHDLとかハード記述言語は本業なので使えるけど。
0415デフォルトの名無しさん
2010/04/01(木) 19:40:44ほかのスクリプト言語が応用範囲が狭すぎるってのがでかいな。
研究用途ではPerlが一部あるけど、Rubyなんてほとんどないのでは?
PythonはPerlやRubyだけでなくてJavaなどとも競合している言語です。
Webだけで言語の優劣論はできないと思うよ。
0416デフォルトの名無しさん
2010/04/01(木) 19:43:51こんな所で駄レスしてる間に覚えられるっつーの
0417デフォルトの名無しさん
2010/04/01(木) 19:53:07採用されてるのがPythonだった俺に選択の自由はなかった
0418デフォルトの名無しさん
2010/04/01(木) 19:55:390419デフォルトの名無しさん
2010/04/01(木) 19:56:540420デフォルトの名無しさん
2010/04/01(木) 19:57:24HTML すら無かった時代だったから
Pascal とか C くらいしか魅力なかったな
FORTRAN や COBOL は論外
0421デフォルトの名無しさん
2010/04/01(木) 20:00:06大体最近の言語は文法を把握してコードがかけるようになるより、
ライブラリ把握してつかいたおうほうが時間がかかる。
0422デフォルトの名無しさん
2010/04/01(木) 20:00:170423デフォルトの名無しさん
2010/04/01(木) 20:04:51そんなのわかった上で書いてるんだろう。
そもそもスクリプト言語なんてがんばって覚えるほどのものでもないだろう。
どうせ使うときにすぐ覚えられるんだからな。
どんな言語をつかってもだめなやつはだめ。
0424デフォルトの名無しさん
2010/04/01(木) 21:43:21install directoryも編集できないしちょっと困る
0425デフォルトの名無しさん
2010/04/01(木) 21:57:29python -m easy_install 424のexe
が一番楽だと思う。オプションである程度ディレクトリとかいじれる
0426デフォルトの名無しさん
2010/04/01(木) 22:18:23share/ にデータつくるやつとかpost_installで.bat作るやつとか(ipython)は
無視されちゃいました。
でも柔軟なアイディアをありがとう
0427デフォルトの名無しさん
2010/04/01(木) 22:30:11みたいな話がでてきてもいいと思うんだが、
よくないと思ってるのに使ってる人が多いのかここは…w
初学者を追い払おうと変なやつが常駐しているみたいにみえる。
0428デフォルトの名無しさん
2010/04/01(木) 22:41:400429デフォルトの名無しさん
2010/04/01(木) 22:51:05setuptoolsはinstall_script/pre_install_scriptオプションに対応してないね
メタデータをexeに埋め込んでるけど探そうともしてないみたい
0430デフォルトの名無しさん
2010/04/01(木) 23:27:200431デフォルトの名無しさん
2010/04/01(木) 23:29:02これネタなのかな
発想は面白いと思うんだけどw
0432デフォルトの名無しさん
2010/04/02(金) 01:46:130433デフォルトの名無しさん
2010/04/02(金) 01:54:510434デフォルトの名無しさん
2010/04/02(金) 03:42:22でも人気のある本はだいたい2が主流で、3は2との違いを最後のほうに少し解説しているだけのようです。
どうすればいいでしょうか?
0435デフォルトの名無しさん
2010/04/02(金) 03:44:380436デフォルトの名無しさん
2010/04/02(金) 05:33:550437デフォルトの名無しさん
2010/04/02(金) 07:06:040438デフォルトの名無しさん
2010/04/02(金) 07:17:180439デフォルトの名無しさん
2010/04/02(金) 13:00:210440デフォルトの名無しさん
2010/04/02(金) 13:05:57君はみんなのPythonが似合ってると思うよ
http://twitter.com/mopemope/status/11461863638
0441デフォルトの名無しさん
2010/04/02(金) 13:08:00「初ぱい」と「恥ぱい」の二種類あるから要注意
後者は糞
0442デフォルトの名無しさん
2010/04/02(金) 13:14:17真実と嘘の区別が付かないひとは 2ch に向かない
0443デフォルトの名無しさん
2010/04/02(金) 14:31:15もうwinのサポート切っちまうか
0444デフォルトの名無しさん
2010/04/02(金) 14:39:260445デフォルトの名無しさん
2010/04/02(金) 17:11:330446デフォルトの名無しさん
2010/04/02(金) 21:39:430447デフォルトの名無しさん
2010/04/03(土) 01:59:24みっともねーw
0448デフォルトの名無しさん
2010/04/03(土) 03:08:04標準に入れない理由ってなんだろ。
0449デフォルトの名無しさん
2010/04/03(土) 03:34:53知らんけど
0450デフォルトの名無しさん
2010/04/03(土) 03:57:23きちんと調べたけどwininst-*.exeにくっつけたリソースとかは探してた
でもpre_install_script/install_scriptは呼んでない
DATA/*以下を無視してるし、eggに全部固めるというポリシーなんだと思う
>>448
setuptools/distutilsはカオスさ半端ないし、上に書いてみたいに仕様が違ったりするし
誰もやりたがらないんじゃないの
0451デフォルトの名無しさん
2010/04/03(土) 10:53:05Python 2.7 では easy_install が標準に入るはず。
しかもアンインストールもできるようになるはず。
0452デフォルトの名無しさん
2010/04/03(土) 10:58:590453デフォルトの名無しさん
2010/04/03(土) 13:30:06これはどうでもいいけど
>しかもアンインストールもできるようになるはず。
こっちはありがたい
0454デフォルトの名無しさん
2010/04/03(土) 16:41:522系は2.6で終わりかと思ってた
0455デフォルトの名無しさん
2010/04/03(土) 16:44:490456デフォルトの名無しさん
2010/04/04(日) 04:50:39easy_installを標準にするんならpypiを使い易いようにして欲しい。
0457デフォルトの名無しさん
2010/04/05(月) 14:16:48distribute
easy_install -> pip
http://packages.python.org/distribute/roadmap.html#id1
0458デフォルトの名無しさん
2010/04/06(火) 19:33:05どうしたらいいでしょうか。
>>> from datetime import datetime
>>> dt = datetime.utcnow()
>>> dt.strftime('%Y-%m-%d %H:%M:%S %Z')
'2010-04-05 00:09:44 ' # JST に変換して出力したい
マニュアルよんでもわけわかめです。
0459デフォルトの名無しさん
2010/04/06(火) 19:41:51>>> dt = datetime.utcnow()
>>> tz = datetime.now() - datetime.utcnow()
>>> tz
datetime.timedelta(0, 32400)
>>> dt + tz
datetime.datetime(2010, 4, 6, 19, 40, 18, 922000)
>>> (dt + tz).strftime('%Y-%m-%d %H:%M:%S %Z')
'2010-04-06 19:40:18 '
0460デフォルトの名無しさん
2010/04/06(火) 19:47:220461デフォルトの名無しさん
2010/04/06(火) 19:55:190462デフォルトの名無しさん
2010/04/06(火) 22:32:50datetime.timedelta(0, 60*60*9)
でいいのでは?
0463デフォルトの名無しさん
2010/04/06(火) 23:31:370464デフォルトの名無しさん
2010/04/06(火) 23:32:460465デフォルトの名無しさん
2010/04/07(水) 00:16:100466デフォルトの名無しさん
2010/04/07(水) 06:34:07Pythonは標準ではタイムゾーン関係のクラスが用意されていないので、
class JST(datetime.tzinfo):
def utcoffset(self,dt):
return datetime.timedelta(hours=9)
def dst(self,dt):
return datetime.timedelta(0)
def tzname(self,dt):
return "JST"
みたいに自分で定義して、datetime.astimezone(JST())でJSTにする。
0467デフォルトの名無しさん
2010/04/07(水) 08:44:340468デフォルトの名無しさん
2010/04/07(水) 10:27:50サマータイムとかがうざくて面倒すぎるのかな
0469デフォルトの名無しさん
2010/04/07(水) 15:20:28http://google-opensource.blogspot.com/2010/04/pypy-12-released.html
0470デフォルトの名無しさん
2010/04/07(水) 15:38:300471デフォルトの名無しさん
2010/04/08(木) 12:21:50ドキュメントに載ってたこれをコピペして
class FixedOffset(tzinfo):
"""Fixed offset in minutes east from UTC."""
def __init__(self, offset, name):
self.__offset = timedelta(minutes = offset)
self.__name = name
def utcoffset(self, dt):
return self.__offset
def tzname(self, dt):
return self.__name
def dst(self, dt):
return ZERO
JST = FixedOffset(9*60, "JST")
でいいのかな。
0472デフォルトの名無しさん
2010/04/08(木) 18:07:54ttp://www.python.jp/doc/release/lib/module-datetime.html
>世界各国における時刻の修正に関する法則は合理的というよりも政治的なものであり、全てのアプリケーションに適した標準というものが存在しないのです。
日本でも夏時間を導入するなんて議論がしょっちゅう行われているしねぇ。
今JSTを定義しても、数年後には変わっている可能性がなくもない。
0473デフォルトの名無しさん
2010/04/08(木) 18:27:37JSTそのものを変更するんじゃなくて、
サマータイム版の標準時(JST-SummerTime)を導入すればいいだけじゃん。
てか「規格」ってそういうもんだろ?
IPがv4からv6になるかもしれないから、
ネットワーク関連のクラス入れないよとかありえないだろ?
0474デフォルトの名無しさん
2010/04/08(木) 20:02:32っつーか日本が中共に飲み込まれたら
JST自体なくなってしまうかも試練ぞ
0475デフォルトの名無しさん
2010/04/08(木) 20:27:260476デフォルトの名無しさん
2010/04/08(木) 21:04:160477デフォルトの名無しさん
2010/04/08(木) 21:07:23┏━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ┌───────────────┐ ┃
┃ │ .右のAAのズレない環境が標準モナ.| ┃
┃ └──y────────────‐┘ ┃
┃ ∧_∧ | |\|/ | | | ┃
┃ ( ´∀`) | ∧ ∧ |/⌒ヽ、| ∧_∧ | ∧∧ | ┃
┃ ( つ |(,,゚Д゚)||,,゚ Θ゚)|(; ´Д`)|(=゚ω゚)| ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━┛
| | コソッ| |
| |∧_∧ ジー ∧_/.| | __
|_|´◛ω◛`) .(´◛ω|_| .[lШШl]
| | o【◎】 ( o| | (´◛ω◛`) ジー
| ̄|―u' `u. | ̄||| | | | |
"""""""" """"""""""""""""
┏━┯━━━━━━━━━━━━━━━━━━━━━━━┓
┏━━┻━┥ _,,.. ┃
┠────┤ ⊂⊃ /,' 3~~\ ⊂.⊃ ┃
┗━━┳━┥..............,,,,傘傘傘::::::::傘傘傘............. おてもと ┃
┗━┷━━━━━━━━━━━━━━━━━━━━━━━┛
┏━┯━━━━━━━━━━━━━━━━━━━━━━━┓
┏━━┻━┥ (⌒-⌒) お食事処 仔熊庵 ┃
┠────┤ ⊂⊃ (・(ェ)・ ) ⊂⊃ ┃
┗━━┳━┥..............,,,,傘傘傘::::::::傘傘傘............. おてもと ┃
┗━┷━━━━━━━━━━━━━━━━━━━━━━━┛
0478デフォルトの名無しさん
2010/04/08(木) 23:06:41俺の環境は標準じゃないようだ。ちなみにV2C。
0479デフォルトの名無しさん
2010/04/08(木) 23:09:500480デフォルトの名無しさん
2010/04/08(木) 23:15:2916ptにしてもズレる?
0481デフォルトの名無しさん
2010/04/08(木) 23:33:35pt16だす。なんか色々試したけど揃わない
なんか線の太さが1.0だとすると0.1とか0.2とかってくらいに微妙にずれてるんだわ
内側の「標準モナ.| 」←こいつもなんか微妙にずれてるし
とりあえずスレちなんで色んな所まわって勉強してきます
ありがとん
0482デフォルトの名無しさん
2010/04/08(木) 23:34:25まぁスレチ
0483デフォルトの名無しさん
2010/04/09(金) 04:42:59│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘ おっぱい!おっぱい!
0484デフォルトの名無しさん
2010/04/09(金) 17:22:43買った方いらしたらどんなもんか教えてください。
0485デフォルトの名無しさん
2010/04/09(金) 17:26:130486デフォルトの名無しさん
2010/04/09(金) 18:45:50バージョン:python3.1
標準のIDLEの使用に関して、
環境変数IDLESTARTUP(PYTHONSTARTUP)を設定していくつか初期設定を
した上で動かしたいです。
しかしながら、上記環境変数を設定して、該当ファイルを配置しても、
ファイルの中身がIDLEに反映されません。
python shellであれば、PYTHONSTARTUPのファイルの内容が反映されます。
Windows版のIDLEは何か別に設定する必要があるのでしょうか。
0487デフォルトの名無しさん
2010/04/09(金) 19:10:10>標準のIDLEの使用に関して: IDLEの使用に関しての記載はないようです
>環境変数IDLESTARTUP(PYTHONSTARTUP): 括弧を使っての「又は・或いは」の表現は理解できません。
>初期設定をした上で: 固有名詞には独自の定義が必要です。=抽象的
>上記環境変数: そういった記載は存在しません=解釈:環境変数名と値
>該当ファイル|ファイルの中身: 文をあからさまに難解にする原因となっていると推測されます。
0488デフォルトの名無しさん
2010/04/09(金) 19:18:48何だよ語学的な観点って
0489デフォルトの名無しさん
2010/04/09(金) 19:43:180490デフォルトの名無しさん
2010/04/09(金) 19:45:52こっち
sitecustomize.py
0491デフォルトの名無しさん
2010/04/09(金) 20:37:04センスはいいけど、それをここでいわないでくださいよ。
ていうか、そこまでやって回答なしですか?
ちなみに、
>初期設定をした上で: 固有名詞には独自の定義が必要です。=抽象的
は、抽象的じゃなくて、あえていうなら曖昧ですよ。
個体の抽象は個体のクラスと同義だからね。
0492デフォルトの名無しさん
2010/04/09(金) 20:40:180493デフォルトの名無しさん
2010/04/09(金) 21:01:28これもIDLEでは反映されないです。
0494デフォルトの名無しさん
2010/04/09(金) 21:06:450495デフォルトの名無しさん
2010/04/09(金) 21:20:25とりあえず、PyShell.pyでロードしているみたいなので、
PyShell.pyを読み解いてなんとかします。
どうもどうも。
0496デフォルトの名無しさん
2010/04/09(金) 22:17:260497デフォルトの名無しさん
2010/04/10(土) 00:57:320498デフォルトの名無しさん
2010/04/10(土) 01:00:420499デフォルトの名無しさん
2010/04/10(土) 09:48:52res = []
for x in range(5):
if x%2 == 0:
for y in range(5):
if y%2 == 1:
res.append((x,y))
print res
//(0, 1), (0, 3), (2, 1), (2, 3), (4, 1), (4, 3)
をfilterとmap関数で表現したいのですが
print map(lambda x:map(lambda y:(x,y), filter(lambda x:x%2==1, range(5))), filter(lambda x:x%2==0, range(5)))
//[[(0, 1), (0, 3)], [(2, 1), (2, 3)], [(4, 1), (4, 3)]]
てな感じで配列具合がうまいこと出来ません。
どうしたら良いのでしょう?
0500デフォルトの名無しさん
2010/04/10(土) 10:20:560501デフォルトの名無しさん
2010/04/10(土) 10:51:450502デフォルトの名無しさん
2010/04/10(土) 11:06:01even = filter(lambda x: x%2 == 0, range(5))
# 0-5の偶数をリストとして返します
odd = filter(lambda x:x%2==1, range(5))
# 0-5の奇数をリストとして返します
print map(lambda x:map(lambda y: (x, y), odd), even)
# これを内包表記で表現すると原因が分かります。
[[(x, y) for y in odd] for x in even]
# この場合は以下の通りに書き換えれば配列の具合が良くなります
res = []
[[res.append((x, y)) for y in odd], for x in even]
print res
# 或いは
res = []
map(lambda x:map(lambda y:res.append((x,y)), filter(lambda x:x%2==1, range(5))), filter(lambda x:x%2==0, range(5)))
0503デフォルトの名無しさん
2010/04/10(土) 11:13:000504デフォルトの名無しさん
2010/04/10(土) 11:16:390505デフォルトの名無しさん
2010/04/10(土) 11:17:20こういうのは一行に拘るから意味があるのであって
二行以上でいいなら出来るのは当たり前で楽しくない
↓以下一行野郎うぜーのレス
0506デフォルトの名無しさん
2010/04/10(土) 11:18:17理論とは適当に折り合いをつけてプログラムしろぐらいの意味しかないだろ。
0507デフォルトの名無しさん
2010/04/10(土) 11:27:45499の質問にはそういった事は書いて居ないと言うことは
君には協調性も知性もないということだな。
そして君はここから出ていくべきだ。
0508デフォルトの名無しさん
2010/04/10(土) 11:32:47499ならまだしも、505はPython道を理解できてないし、それかただのperl流れの初心者であると推測できる
0509デフォルトの名無しさん
2010/04/10(土) 11:49:15ようは、mapをネストするとリストのリストになってしまうわけだ。
>>501のようにreduce使えばリストに戻せるが、mapとfilterでそれをする方法は少なくとも俺は知らない。
mapのネストをしないように気をつけて書いてみたら、こういう風になった(もっといい方法求む)
つまり5進数で考えて、10(5)の位をx、1の位をyに置いた。
map(lambda x:(x//5, x%5), filter(lambda x: (x//5)%2 == 0 and (x%5)%2 == 1, range(5*5)))
ただ、pythonではmap使うくらいなら内包表記をすることが推奨されている。
それだと、回りくどい方法を考えなくても素直にこう書ける。
[(x, y) for x in range(5) for y in range(5) if x%2 == 0 if y%2 == 1]
0510デフォルトの名無しさん
2010/04/10(土) 12:02:38flatmapを使うのが定石
Pythonにはないけど、
flatmap = lambda f, xs: sum(map(f, xs)), [])
のように定義すればよい
flatmapを使うと、以下のようになるよ
flatmap(
lambda x: map(lambda y: (x, y),
filter(lambda x: x % 2 == 1, range(5))),
filter(lambda x: x % 2 == 0, range(5)))
0511デフォルトの名無しさん
2010/04/10(土) 12:03:38flatmap = lambda f, xs: sum(map(f, xs), [])
こうね
0512デフォルトの名無しさん
2010/04/10(土) 13:43:400513デフォルトの名無しさん
2010/04/10(土) 13:46:580514デフォルトの名無しさん
2010/04/10(土) 13:47:260515デフォルトの名無しさん
2010/04/10(土) 14:07:03Lispスレで言ってこい。
0516デフォルトの名無しさん
2010/04/10(土) 14:11:28おい
ム板の核心を突くのはよせ
0517デフォルトの名無しさん
2010/04/10(土) 14:16:390518デフォルトの名無しさん
2010/04/10(土) 14:37:53それ以外にプログラミングやる意味あるの?
0519デフォルトの名無しさん
2010/04/10(土) 14:40:44>>512
0520デフォルトの名無しさん
2010/04/10(土) 14:43:470521デフォルトの名無しさん
2010/04/10(土) 21:26:06filename=input("Open File Name? >")
x=csv.reader(open("c:\data\filename.csv"))
csvファイルは、c:\data内へ確実に置くとして任意のファイル名を入力させて認識させるにはどうすればいいかわかる方おしえて下さい。
(o_ _)o))
0522デフォルトの名無しさん
2010/04/10(土) 21:31:190523デフォルトの名無しさん
2010/04/10(土) 21:32:08x=csv.reader(open(u'c:/data/%s.csv'%unicode(filename)))
os.path.join()もある
0524デフォルトの名無しさん
2010/04/10(土) 21:34:15って何語だよ
0525デフォルトの名無しさん
2010/04/10(土) 21:38:160526デフォルトの名無しさん
2010/04/10(土) 21:38:36>>523
ありがとうございます。
0527デフォルトの名無しさん
2010/04/10(土) 21:39:13>>> os.path.join(r'C:\data', r'D:\data\hoge.csv')
'D:\\data\\hoge.csv'
>>> os.path.join(r'C:\data', os.path.basename(r'D:\data\hoge.csv'))
'C:\\data\\hoge.csv'
0528デフォルトの名無しさん
2010/04/10(土) 21:54:57ありがとうございます。(o_ _)o))
0529499
2010/04/11(日) 00:05:39>507
すみません私の不足で誤解が生じたみたいで。
余興程度の質問でした。内包表記のほうがいいとゆうのは理解しております。
perlのTMTOWTDIに悪影響を受けている初心者なのでちょっとした好奇心でした。
>501
>509
>510
ネスト抜けるにはreduce必須だったりするんですね。
いろいろ勉強になりました。ありがとうございます。
0530デフォルトの名無しさん
2010/04/11(日) 00:34:420531デフォルトの名無しさん
2010/04/11(日) 00:41:580532デフォルトの名無しさん
2010/04/11(日) 01:10:27>>509だが、>>499にはfilterとmapで、と書いてあったからreduce使うのを避けたが、むしろ俺は結構好き。
python3ではGuidoが「美しくない」って理由だけでfunctools送りになったらしいが、ループ回すよりずっと美しくなることだって多い。
そのまま残すか、代替の美しい表記法を作ってから削除、という形にしてほしかった。まぁ、このはなしはスレ違いだろうが。
0533デフォルトの名無しさん
2010/04/11(日) 01:21:59そんなことないんじゃないの
sum()はreduce()の劣化版みたいなもんだし、
map()もリスト一個でいいんなら
def map(f, xs): return reduce(lambda x, y: x.append(f(y)) or x, xs, [])
でreduce()から簡単に作れる
Guidoが嫌っているのは確かかもな
0534デフォルトの名無しさん
2010/04/11(日) 01:38:17Pythonとしてはより読みやすい+使いやすい高レベルな関数や機能で90%以上の需要を満たしているから、
reduceはあまり使われないし、使う場合だけfunctoolsから持ってこいという扱いをされる。
0535デフォルトの名無しさん
2010/04/11(日) 01:42:58functoolsに分離したのは正解だと思う
__fuiltins__ はできるだけ綺麗な方がいいし
0536デフォルトの名無しさん
2010/04/11(日) 02:52:030537デフォルトの名無しさん
2010/04/11(日) 20:05:30│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘ おっぱい!おっぱい!
0538デフォルトの名無しさん
2010/04/11(日) 21:49:19map, filterは内包表記に置き換え可能だよ。
ぶっちゃけ、内包表記だって、ちょっと複雑になると解読困難になる。
0539デフォルトの名無しさん
2010/04/11(日) 22:28:530540デフォルトの名無しさん
2010/04/12(月) 00:10:55フ、フルチン?
0541デフォルトの名無しさん
2010/04/12(月) 00:17:380542535
2010/04/12(月) 00:36:300543デフォルトの名無しさん
2010/04/12(月) 03:26:30野太いティンポがぱいそんぽいって
誰かが言ってたのを思い出した
>>535 はそのひとか?
0544デフォルトの名無しさん
2010/04/12(月) 08:17:59もうだめだ
会社の貯金も半年後には底をつく
大口の顧客がこの景気で調子悪いのが原因なんだ
みんなごめん
本当にごめん
0545デフォルトの名無しさん
2010/04/12(月) 09:47:110546デフォルトの名無しさん
2010/04/12(月) 14:33:490547デフォルトの名無しさん
2010/04/12(月) 14:35:01setup.py install
の形式でしか提供してない自分のパッケ0時あるんだけど
pypi
にした方が便利なの?
0548デフォルトの名無しさん
2010/04/12(月) 15:16:020549デフォルトの名無しさん
2010/04/12(月) 15:51:560550デフォルトの名無しさん
2010/04/12(月) 16:13:030551デフォルトの名無しさん
2010/04/12(月) 20:12:14今更気がついたw。
0552デフォルトの名無しさん
2010/04/12(月) 20:43:240553デフォルトの名無しさん
2010/04/12(月) 21:11:530554デフォルトの名無しさん
2010/04/13(火) 07:33:37dateutil を入れてほしい(でないとすぐ「日本でしか動かない」
プログラムが量産されちゃうんだよね……)。
dateutil が標準で入っていないのは、データの更新が早すぎる
とかいう政治的な理由だったはず。
0555デフォルトの名無しさん
2010/04/13(火) 08:48:38言ったら本当に導入されちゃうくらい、不安定だからな。
標準ライブラリに入れるのは難しいだろ。
プログラマは普段からUTC使ったら良いと思うよ。
0556デフォルトの名無しさん
2010/04/13(火) 09:40:100557デフォルトの名無しさん
2010/04/13(火) 16:14:10バージョン間の互換性ないのがすごい嫌だけど
0558デフォルトの名無しさん
2010/04/13(火) 16:37:36なんで「やっぱり」になるのかさっぱり判らん。
DjangoやTG2、Kayで何か不満?
0559デフォルトの名無しさん
2010/04/13(火) 17:06:020560デフォルトの名無しさん
2010/04/13(火) 20:04:52easy_installが標準に入るんじゃなかったのか?
0561デフォルトの名無しさん
2010/04/13(火) 20:07:31ごめん、嘘だった。
Python3.3から標準。
それまでは、夏頃にdistutils2がリリースされて、それをインストールすると
標準ライブラリを置き換えるようになるはず。
インストーラはpipが推奨されるようになるかも。
0562デフォルトの名無しさん
2010/04/13(火) 21:34:55なんでサーバー的にダメなんだ?
0563デフォルトの名無しさん
2010/04/13(火) 21:45:140564デフォルトの名無しさん
2010/04/13(火) 22:10:55遅いからじゃないかな
0565デフォルトの名無しさん
2010/04/14(水) 14:05:190566デフォルトの名無しさん
2010/04/14(水) 15:18:250567デフォルトの名無しさん
2010/04/14(水) 17:19:080568デフォルトの名無しさん
2010/04/14(水) 20:51:02そもそもこのスレでRubyを出しちゃいけなかったと思うんだ
0569デフォルトの名無しさん
2010/04/14(水) 21:57:070570デフォルトの名無しさん
2010/04/14(水) 22:02:51日本語の基礎すら出来てないようだね
0571デフォルトの名無しさん
2010/04/14(水) 22:06:04( ・ω・) �d�d
/ ~つと)
0572デフォルトの名無しさん
2010/04/14(水) 23:01:13UTC使うのが当たり前なマだけしか使わないならいいんだけど、
そんなこと考えもしないバカがバカやらかすからそれじゃダメ。
ttp://www.itmedia.co.jp/news/articles/0811/19/news051.html
0573デフォルトの名無しさん
2010/04/14(水) 23:03:40使い方として間違ってない気がするが、それはこの際どうでもいい。
ネットスラングの誤用で日本語の基礎力疑われるのか。
インターネットも身近になったものだ。
0574デフォルトの名無しさん
2010/04/14(水) 23:05:170575デフォルトの名無しさん
2010/04/15(木) 11:27:06つまりこれからはpipでパッケージ書くのが推奨ってことでいい?
0576デフォルトの名無しさん
2010/04/15(木) 11:51:31>>505みたいな基礎力がない奴が短縮化するとアホみたいなコードが出来る
0577デフォルトの名無しさん
2010/04/15(木) 11:53:09pip はタダのインストーラで、distutilsやsetuptoolsの置き換えではなく、
setuptoolsの中のeasy_installだけの置き換え。
パッケージ作る人が使うのは、現時点ではdistributeが推奨で、distutils2 1.0が
リリースされたらそちらが推奨になる。
現時点だと、pipだとeggをインストールできないので、eggに依存しているもの
(Tracプラグインとか)はeasy_installを使わないといけない。
なので、まだコミュニティ全体の方針としてpipが推奨されている訳はない。
pipにも良いところがあるけど、使い分けが面倒だから俺はeasy_installを使っている。
0578デフォルトの名無しさん
2010/04/15(木) 21:19:53class Foo:
__x = 100
def func(self):
return self.__x
Foo().func() # (1)これはOK
def func(self):
return self.__x
Foo.func = func
Foo().func() # (2)これはダメ
この原因を教えて欲しいです。そもそも__xは_Foo__xという
名前に変えられてしまうのに、何故(1)のときにエラーにならないのか不明です。
クラス定義が終了した瞬間に、すべての__で始まる名前(呼出側も)書き換える、
ということなのでしょうか。
0579デフォルトの名無しさん
2010/04/15(木) 21:24:17Yes。関数名だけじゃなくて、全部の __ が置き換えられる。
でも、 __ は非推奨。 _ だけ使えば良い。
0580デフォルトの名無しさん
2010/04/15(木) 21:27:33class Foo:
__x = 100
def func(self):
return self.__x
Foo().func() # (1)これはOK
def func(self):
return self.__x
Foo.func = func
Foo().func() # (2)これはダメ
すみませんでした。
0581デフォルトの名無しさん
2010/04/15(木) 21:31:55ありがとうございます。__はprivate(サブクラスへの隠蔽)で、_は
protected(外部への隠蔽)として使う。また、普段はprotectedで十分なので_を使う。
ということでよろしいでしょうか。
サブクラスで自由なアトリビュートを持たせられるようにするために、
この名前修飾ルールがあるのですよね。
0582デフォルトの名無しさん
2010/04/15(木) 21:35:26... __x = 100
... def func(self):
... return self.__x
...
>>> Foo().func()
100
>>> vars(Foo())
{}
>>> class Hage:
... def __init__(self):
... self.__x = 200
... def func(self):
... return self.__x
...
>>> Hage().func()
200
>>> vars(Hage())
{'_Hage__x': 200}
この違いは何でしょう?
0583デフォルトの名無しさん
2010/04/15(木) 21:40:50vars(Foo), vars(Hoge)もみるといいと思う
0584581
2010/04/15(木) 21:45:21Fooでの__xはクラスのアトリビュートでインスタンスからは間接的に参照される。
Hageでの__xはインスタンスに直接所属するアトリビュート、ですよね。
P.S.
以下のコードで呼出側も修飾されることがわかりました。
>>> class Foo:
... __x = 100
... def func(self, other):
... return other.__x
...
>>> Foo().func(Foo())
100
Pythonってよくできていますね。Javaのprivateと全く同じです。
0585デフォルトの名無しさん
2010/04/15(木) 21:46:320587デフォルトの名無しさん
2010/04/16(金) 11:10:11隠蔽しなかったら、わかる人には便利だし、わからないのに使う人はタダのバカだから放っとけばいいって話だったかと。
0588デフォルトの名無しさん
2010/04/16(金) 11:34:09いままで自分が作ったクラスのメンバ全部 self.hoge って書いてた
これからは self._hoge を使わなきゃ
0589デフォルトの名無しさん
2010/04/16(金) 18:42:08x=csv.writer(file(csvfile.csv,"wb"))としたとき
x.writerow(["あああ","いいい","ううう"])
と出力させたところ、生成されたcsvはメモ帳などで表示させればきちんと表示されているんですが
excelで表示させたところ文字化けします。
utf-8から、shift-jisで出力させる方法を教えて欲しいのですが。dialect='excel'としてもエラーを吐きます;
0590デフォルトの名無しさん
2010/04/16(金) 19:42:560591デフォルトの名無しさん
2010/04/16(金) 19:44:260592デフォルトの名無しさん
2010/04/16(金) 19:48:19もっと調べてみます。すみませんでした。
0593デフォルトの名無しさん
2010/04/16(金) 20:08:250594デフォルトの名無しさん
2010/04/16(金) 20:43:01ありがとうございます。
レスに気付かないまま夢中でやってました;
いったん、unicodeでutf-8からunicodeへ変換して→encodeでunicode→shift-jisへ変換して無事に解決しました。
リスト化しているので、for文を使用し手前で変換しておいて吐き出すようにしようと思います。
>>590 >>593 ヒントありがとうございました。
0595デフォルトの名無しさん
2010/04/16(金) 20:48:010596デフォルトの名無しさん
2010/04/16(金) 20:52:46知識として持っててあたりまえのことを質問する馬鹿が増えた
0597デフォルトの名無しさん
2010/04/16(金) 21:52:393.x使うか他の言語にした方がいいよ
0598デフォルトの名無しさん
2010/04/16(金) 22:16:220599デフォルトの名無しさん
2010/04/16(金) 23:12:520600デフォルトの名無しさん
2010/04/17(土) 01:54:13codecsは使えない?
0601デフォルトの名無しさん
2010/04/17(土) 11:07:50同意。
2.xは本格的に文字列処理するには面倒だし、3.xでかなり変更されてるのに今更本格的に覚えるのもバカバカしいよね。
0602デフォルトの名無しさん
2010/04/17(土) 11:57:500603デフォルトの名無しさん
2010/04/17(土) 12:30:45うん。本格的な文字列処理とか正規表現とかやりたいんだったらruby使えばいいと思う。
エンコードの問題の他にもPythonは文字列処理のしにくさを抱えている。
rubyやらがどうなってるかは知らんが、Pythonでは文字列は変更不可能な型だから破壊的な処理ができなくて、
一文字でも変更しようと思ったらインスタンスを作り直すことになる。
0604デフォルトの名無しさん
2010/04/17(土) 12:52:040605デフォルトの名無しさん
2010/04/17(土) 14:03:37デフォルトの文字列が変更可能なのはダメだろ……
0606デフォルトの名無しさん
2010/04/17(土) 14:11:550607デフォルトの名無しさん
2010/04/17(土) 14:59:110608デフォルトの名無しさん
2010/04/17(土) 15:42:44s = "aaaaa"
get_charptr = lambda s, pos: c_char_p(memset(s, 0, 0) + pos)
memset(get_charptr(s, 2), ord('b'), 2)
print s
# ===> aabba
まったく推奨しないが、こういう変換方法もないわけではない。
0609デフォルトの名無しさん
2010/04/17(土) 16:03:03流石にそれでctypes使うのは行き過ぎじゃないのかな
大抵arrayでいいと思う
0610デフォルトの名無しさん
2010/04/17(土) 16:43:15ham = list('ham')
ham[1] = 'm'
ham = ''.join(ham)
0611デフォルトの名無しさん
2010/04/17(土) 17:10:32>一文字でも変更しようと思ったらインスタンスを作り直すことになる。
への反例だろ
0612デフォルトの名無しさん
2010/04/17(土) 17:13:43それはインスタンスを作り直すことになるだろ
第一listは文字列じゃないし
0613デフォルトの名無しさん
2010/04/17(土) 17:15:490614デフォルトの名無しさん
2010/04/17(土) 17:27:22は?arrayってinplaceで変更できるでしょ
x = array.array('c')
x.fromstring('abcde')
x[4] = 'D'
とか
0615デフォルトの名無しさん
2010/04/17(土) 18:13:080616デフォルトの名無しさん
2010/04/17(土) 18:15:250617デフォルトの名無しさん
2010/04/17(土) 18:15:27使わない方向で考えたわけね
やっと意味分かった、すまんかった
0618デフォルトの名無しさん
2010/04/17(土) 18:18:53先生!
s が変わりません!
>>> import array
>>> s = 'hogehogefugafuga'
>>> x = array.array('c')
>>> x.fromstring(s)
>>> x[4] = 'D'
>>> x
array('c', 'hogeDogefugafuga')
>>> s
'hogehogefugafuga'
0619デフォルトの名無しさん
2010/04/17(土) 18:20:13うん、意図を誤解してた
「C風にinplaceなバイト列の編集がしたい」という話だと思っていて、
immutableなstringを「弄る」ことを本質だと思ってなかった
0620デフォルトの名無しさん
2010/04/17(土) 18:23:55先生ごめん
reload してなくて入れ違いになった
0621デフォルトの名無しさん
2010/04/17(土) 21:51:30問題は、時々EUCのdecodeに失敗すること。
面倒でかなわんぜ。
0622デフォルトの名無しさん
2010/04/17(土) 21:54:100623デフォルトの名無しさん
2010/04/17(土) 21:56:07euc_jpを使っているのなら
euc_jisx0213を使えば少しマシになるかも
0624デフォルトの名無しさん
2010/04/18(日) 00:50:08今はそうしてる。
エラーがあったかわからないのが困るが…
>>623
ありがとう。試してみるよ。
0625デフォルトの名無しさん
2010/04/18(日) 02:02:180626デフォルトの名無しさん
2010/04/18(日) 02:18:450627デフォルトの名無しさん
2010/04/18(日) 02:42:560628デフォルトの名無しさん
2010/04/18(日) 14:05:07精度を2に設定した下記の計算では切り捨てられています。
これはどういうことでしょう??本来ならDecimal("2.1")になると思うのですが・・・。
>>> import decimal
>>> decimal.getcontext().prec = 2
>>> a = decimal.Decimal(str(1.01))
>>> b = decimal.Decimal(str(1.04))
>>> a + b
Decimal("2.0")
0629デフォルトの名無しさん
2010/04/18(日) 14:20:01>Decimal("2.05")
decimal.getcontext().prec = 3
a = decimal.Decimal(str(1.01))
b = decimal.Decimal(str(1.04))
a + b
>Decimal("2.05")
0630デフォルトの名無しさん
2010/04/18(日) 14:24:270631デフォルトの名無しさん
2010/04/18(日) 14:25:54python decimal 四捨五入
でGoogle検索すればデフォルトで四捨五入されるなんてことはないと分かるはず
0632デフォルトの名無しさん
2010/04/18(日) 14:30:100633デフォルトの名無しさん
2010/04/18(日) 14:32:30餌は生きたサメでアジでも釣るのか?
0634デフォルトの名無しさん
2010/04/18(日) 14:34:58>>633
>>633
0635デフォルトの名無しさん
2010/04/18(日) 14:39:58Pythonライブラリリファレンスのやつは読んだ?
DecimalはFAQもあるからそれ読んだほうがいいよ
0636デフォルトの名無しさん
2010/04/18(日) 14:48:250638デフォルトの名無しさん
2010/04/18(日) 16:56:340639デフォルトの名無しさん
2010/04/18(日) 17:01:57四捨五入されるなんてどこにも書かれてないぞwww
ttp://www.python.jp/doc/pdf/release/tut.pdf
0640デフォルトの名無しさん
2010/04/18(日) 17:04:38立ち読みすればわかるけどクックブックは初心者向けの章がごっそり削られてるから初心者は買わないほうがいい
0641628
2010/04/18(日) 18:03:39チュートリアルでなくクックブックの方です。
http://beebee2see.appspot.com/i/agpiZWViZWUyc2VlchQLEgxJbWFnZUFuZFRleHQYl5NlDA.jpg
p117
http://beebee2see.appspot.com/i/agpiZWViZWUyc2VlchQLEgxJbWFnZUFuZFRleHQYoONsDA.jpg
0642デフォルトの名無しさん
2010/04/18(日) 21:10:090644デフォルトの名無しさん
2010/04/18(日) 22:56:220645デフォルトの名無しさん
2010/04/18(日) 22:59:580646デフォルトの名無しさん
2010/04/19(月) 01:54:450647デフォルトの名無しさん
2010/04/19(月) 03:10:400648デフォルトの名無しさん
2010/04/19(月) 15:14:02Pythonではglobal変数を関数内では更新できない
らしいことをようやくながらおぼろげに理解しました
複数の関数内にて更新すべきglobal変数を多く抱えている場合
これらの全てにglobal宣言していくしかないのでしょうか?
0649デフォルトの名無しさん
2010/04/19(月) 15:15:500650デフォルトの名無しさん
2010/04/19(月) 15:23:31そすか
こりゃ1から書き直した方が良いのかもしれん…
0651デフォルトの名無しさん
2010/04/19(月) 15:37:000652デフォルトの名無しさん
2010/04/19(月) 16:12:17けど何か負けたような気がするのも確か。
0653デフォルトの名無しさん
2010/04/19(月) 17:14:00辞書をグローバルに置くと、辞書そのものは変更できないけど
要素は(グローバル宣言しなくても)好き勝手に変更出来る。
0654デフォルトの名無しさん
2010/04/19(月) 17:24:03静的クラス使えばよし
0655デフォルトの名無しさん
2010/04/19(月) 17:44:47monostateパターンのことか?
0656デフォルトの名無しさん
2010/04/19(月) 17:49:080657デフォルトの名無しさん
2010/04/19(月) 17:55:220658デフォルトの名無しさん
2010/04/19(月) 17:57:05globals.py
とかを作ってそこに全部global変数書く
他のコードから使うときは
import globalsして、
全部
globals.foo
でいい
global文要らなくなる
0659デフォルトの名無しさん
2010/04/19(月) 18:10:400660デフォルトの名無しさん
2010/04/19(月) 18:16:07正解
0661デフォルトの名無しさん
2010/04/19(月) 18:25:210662デフォルトの名無しさん
2010/04/19(月) 18:46:190663デフォルトの名無しさん
2010/04/19(月) 18:49:420664デフォルトの名無しさん
2010/04/20(火) 00:12:000665デフォルトの名無しさん
2010/04/20(火) 00:17:13別ファイルに隔離することも目的の一つならいいんだけど、そうでないなら
globals()['foo']
でよくね?
0666デフォルトの名無しさん
2010/04/20(火) 00:33:45毎回そんな風にタイプしたくないべ
0667デフォルトの名無しさん
2010/04/20(火) 01:03:14g = globals()
g['foo'] = 'foooo'
print foo
# ==> foooo
0668デフォルトの名無しさん
2010/04/20(火) 02:03:10pylonsのg.(グローバル変数),h.(ヘルパー関数),c.(コンテキスト)みたいな使い方だろ。
こんな感じだったっけ。
globals.py:
class Globals: a = 1
g = Globals()
app.py:
from globals import g
g.b = 2
def hoge():
print g.a, g.b
g.c = g.a + g.b
g.a = 4
hoge()
print g.a, g.b, g.c
グローバル変数を余所で書き換えたり、定義するのはアレだが例なので。
実際のg.はグローバル定数として使って、リクエスト毎にc.(コンテキスト)を処理していく感じ。
0669デフォルトの名無しさん
2010/04/20(火) 10:48:27迷います。 使い方としてはデータモデルを定義したXML(たぶんW3C XML Schema)を
読み込み、そのツリーを辿りながらテンプレートエンジンCheetahを使って
コード生成するという考えでいます。
選択肢としてはlxmlとElementTreeがあるように思えますが、他にもありますでしょうか?
使っているのはPython 2.4なのですが、ElementTreeは2.5で標準装備になったという事で、
これがベストだと判断されたという事でしょうか?
0670デフォルトの名無しさん
2010/04/20(火) 11:01:500671デフォルトの名無しさん
2010/04/20(火) 11:24:00ElementTree で処理がすむならそれでいいと思う。
速度や機能が不足したら lxml を入れれば、移行は大して
手間がかからないし。
0673669
2010/04/20(火) 11:53:32ちなみにRPMパッケージでもないかなと探し始めたらlibxml2ライブラリに付属するPython
バインディングでlibxml2-pythonというパッケージがインスコされている事に気づきました。
これはあまり主流ではないのでしょうか?
0674デフォルトの名無しさん
2010/04/20(火) 12:41:250675デフォルトの名無しさん
2010/04/20(火) 15:43:320676デフォルトの名無しさん
2010/04/20(火) 16:08:02amara Gnosis_Util
Cheetahは今時ありえない。spitfireなりchameleon.genshiなり使ったほうがいいかと
0677デフォルトの名無しさん
2010/04/20(火) 16:48:54>amara
っげ、また選択肢が(汗)
> Gnosis_Util
あの、ググったら3ヒットだったんですがw これ全部ネタじゃないでしょうね?
>Cheetahは今時ありえない。spitfireなりchameleon.genshiなり使ったほうがいいかと
そうだったんですか! いや、それぞれのサイトを見てると流行り廃りの実感は良く分かりませんね.
Cheetahは今でもある程度頻繁にアップデートされているので廃っているとは感じませんでした。
テンプレートの文法のコンパクトさが気に入ってたのですが。
薦められた他のも検討してみます。
0678デフォルトの名無しさん
2010/04/20(火) 17:21:510679677
2010/04/20(火) 17:44:41あ、Gnosis-utilsで沢山ヒットしましたw。 英語環境でwww.google.comで
ググってますがgnosis_utilは本当に3ヒット。
0680デフォルトの名無しさん
2010/04/20(火) 17:54:05というかそれをスペースで区切って検索するのが普通だろ
0681デフォルトの名無しさん
2010/04/20(火) 18:36:06モジュールでどうにかしようとするもダメ
リストや辞書なら行けそうとあたりを付けたがダメ
モジュールに辞書置いてどうにか動きましたとさ
もっと早くここに戻ってれば良かったorz
参考意見を見ながらもうちょっと色々試してみます
どもでした
0682デフォルトの名無しさん
2010/04/20(火) 18:49:25クラス使えって散々いわれてるだろ。
class Foo: pass
Foo.bar = 1
Foo.baz = 2
これなら用途ごとに分けられるし、スタティックメソッドで処理書けたりと便利。
0683デフォルトの名無しさん
2010/04/20(火) 23:25:46時期によっては変なレスつける奴が多い
グローバル変数にglobalsだとか辞書だとかなんて初めて聞いたわ
0684デフォルトの名無しさん
2010/04/20(火) 23:30:10少しずつ成長していこう
0685デフォルトの名無しさん
2010/04/20(火) 23:42:37class使えってのはもう出てたから、別のを出したまでだ。
0686デフォルトの名無しさん
2010/04/21(水) 01:49:380687デフォルトの名無しさん
2010/04/21(水) 06:51:25There's じゃなくて There are じゃないのかな
0688669
2010/04/21(水) 08:31:56結論としてはお勧め頂いたパッケージはどれも2年ほどアップデートがされておらず、
半死亡状態と判断しました。 今のところドキュメントも整っており、最近もリリースが
行われているlxml+Cheetahで行こうと思います.
0689デフォルトの名無しさん
2010/04/21(水) 09:52:300690デフォルトの名無しさん
2010/04/21(水) 20:54:04ttp://en.wikipedia.org/wiki/There%27s_more_than_one_way_to_do_it
0691デフォルトの名無しさん
2010/04/21(水) 21:05:54文法上なんでそうなるのってことだろう
>>687
http://q.hatena.ne.jp/1183288572
http://www.biseisha.co.jp/lab/lab1/24.html
0692デフォルトの名無しさん
2010/04/21(水) 21:08:210693デフォルトの名無しさん
2010/04/21(水) 22:47:360694デフォルトの名無しさん
2010/04/21(水) 22:49:53まさかoneを1と解釈してる訳じゃないだろうな?
0695デフォルトの名無しさん
2010/04/21(水) 22:50:440696695
2010/04/21(水) 22:51:570697デフォルトの名無しさん
2010/04/21(水) 22:57:44勉強になりました
ありがとうございました
0698デフォルトの名無しさん
2010/04/21(水) 23:01:260699デフォルトの名無しさん
2010/04/24(土) 10:06:43C++のクラスとかをPython側
に公開するのに
オススメなバインダーとかありますか?
0700デフォルトの名無しさん
2010/04/24(土) 10:36:05swig
cython
0701デフォルトの名無しさん
2010/04/24(土) 10:47:43boost.python
0702デフォルトの名無しさん
2010/04/24(土) 10:49:11boost.pythonがいいんじゃないの
ttp://wiki.python.org/moin/boost.python/EmbeddingPython
0703702
2010/04/24(土) 10:50:060704デフォルトの名無しさん
2010/04/24(土) 12:26:44さんくす
boost.pythonすごいですね これ使ってみます
0705デフォルトの名無しさん
2010/04/24(土) 12:58:170706デフォルトの名無しさん
2010/04/24(土) 14:17:440707デフォルトの名無しさん
2010/04/24(土) 22:50:02これCPythonが大量にメモリーを食うようになるということ?
0708デフォルトの名無しさん
2010/04/24(土) 22:52:250709デフォルトの名無しさん
2010/04/24(土) 22:58:190710デフォルトの名無しさん
2010/04/24(土) 23:28:080711デフォルトの名無しさん
2010/04/24(土) 23:34:26LLVMがでかいんじゃないの?
0712デフォルトの名無しさん
2010/04/25(日) 00:25:42そうらしいけどpy2exeとかで配布しにくくなるなあ
0713デフォルトの名無しさん
2010/04/25(日) 00:29:020714デフォルトの名無しさん
2010/04/25(日) 11:00:55バイナリが10倍オーダー、起動時間も遅くなるってシロモノに見えるのは
気のせいか
0715デフォルトの名無しさん
2010/04/25(日) 12:01:47将来性はあるのかもしれないが、少なくとも現状では入れる価値があるようには見えない。
0716デフォルトの名無しさん
2010/04/25(日) 12:28:50http://speed.pypy.org/overview/
0717デフォルトの名無しさん
2010/04/27(火) 15:16:22生成バイナリの大きさとかどれぐらいの速度向上したとか詳細を教えていただけると
もう足を向けて寝たりしません。お願いします。
0718デフォルトの名無しさん
2010/04/27(火) 15:39:340719デフォルトの名無しさん
2010/04/27(火) 15:42:26客先に納品するような商品に普通に使われているものだろうか
0720デフォルトの名無しさん
2010/04/27(火) 17:53:01youtubeはpsycoを使っている
0721デフォルトの名無しさん
2010/04/27(火) 20:20:22組み込みLinuxのビルドツール、bitbakeはPythonで書かれててPsycoを使っている。
商品自体に組み込む訳ではないが.
0722デフォルトの名無しさん
2010/04/27(火) 23:21:25PyRun_SimpleFileなどで起動させようとすると動作しません
直接起動とプログラムで関数から起動させるのとではどう違うのでしょう
0723デフォルトの名無しさん
2010/04/28(水) 00:38:21その辺が解説してあるpythonの書籍ありますか?Cは一通りやりました
0724デフォルトの名無しさん
2010/04/28(水) 01:11:44Pythonのソース落としてみたほうが早いんじゃない
main.cとpythonrun.c
main.cでやっている仕事のどれかが、a.pyにとって必要なんでしょ
0725デフォルトの名無しさん
2010/04/28(水) 01:20:22その意気はいいんだけど、動的型付の言語だとカプセル化や多態性(ポリモーフィズム)のメリットが見えづらいような気がするんだ。
そういう部分はJavaあたりで補習しといた方がいいかもしれない。
0726デフォルトの名無しさん
2010/04/28(水) 01:22:26カプセル化はともかく、ダックタイピングは十分過ぎるほど多態だと思う
ま、「OO学びたい」が主要な動機なら、俺もPythonが最適だとは思わんけど
マルチパラダイム言語だしね
0727デフォルトの名無しさん
2010/04/28(水) 01:28:560728デフォルトの名無しさん
2010/04/28(水) 01:33:49「多態性の本質」って何?
「継承を使って実行時ポリモーフィズムを実現している言語が
たまたま多い」という以上の意味が俺には見えないけど
0729デフォルトの名無しさん
2010/04/28(水) 03:31:55ifとか大昔に見たときに感動した
0730デフォルトの名無しさん
2010/04/28(水) 05:27:59タイトル忘れた・・・「○○○○Python」だったとおも。
ぱらっと見た感じだと悪くなさげだったけど。
0731デフォルトの名無しさん
2010/04/28(水) 05:29:100732デフォルトの名無しさん
2010/04/28(水) 10:38:43あとPythonはネットの社会主義前線にある言語だから調べればどうにでもなる
まぁ強いていうならオススメの本は英語の参考書かな。
0733デフォルトの名無しさん
2010/04/28(水) 10:59:270734デフォルトの名無しさん
2010/04/28(水) 11:24:13公式チュートリアルで理解できないなら
時間の無駄だからプログラミング自体やめればいいよ
0735デフォルトの名無しさん
2010/04/28(水) 12:06:14素朴な疑問。お前なんでここにいんの?
0736デフォルトの名無しさん
2010/04/28(水) 12:39:350737デフォルトの名無しさん
2010/04/28(水) 13:01:40俺は時間の無駄だと思わないけどな。
0738デフォルトの名無しさん
2010/04/28(水) 13:04:47他に居場所がないんだ、そっとしておいてやれ。
0739デフォルトの名無しさん
2010/04/28(水) 13:08:470740デフォルトの名無しさん
2010/04/28(水) 13:29:58ここって隔離スレじゃなかったの?
くだスレのほうが技術的な内容話してるけど
0741デフォルトの名無しさん
2010/04/28(水) 13:33:070742デフォルトの名無しさん
2010/04/28(水) 13:56:500743デフォルトの名無しさん
2010/04/28(水) 14:14:03Dive Into Python Must Die
ttp://oppugn.us/posts/1272050135.html
作者の反論、というかコメント
MarkPilgrim comments on Dive Into Python Must Die
ttp://www.reddit.com/r/programming/comments/bv9gt/dive_into_python_must_die/c0oqask
0744デフォルトの名無しさん
2010/04/28(水) 14:31:150745デフォルトの名無しさん
2010/04/28(水) 14:35:190746デフォルトの名無しさん
2010/04/28(水) 15:23:450747デフォルトの名無しさん
2010/04/28(水) 16:02:46下のコメントでDive into Pythonの人とA Byte of Pythonの人が揃って
Python3誰も使ってねえ誰も気にしちゃいねえってしょんぼりしてるのが気になった
そこまでひどい状況なんだろうか
Zedはどうでもよかった
0748デフォルトの名無しさん
2010/04/28(水) 16:14:560749デフォルトの名無しさん
2010/04/28(水) 16:16:35Learn Python The Hard Way
ttp://learnpythonthehardway.com/home
練習問題中心、読者参加型の本になるみたい
0750デフォルトの名無しさん
2010/04/28(水) 16:36:07printが関数になります
execが関数になります
unicode文字列が標準です
終わり
0751デフォルトの名無しさん
2010/04/28(水) 16:55:25アンチすれが一番よかったと感じる
0752デフォルトの名無しさん
2010/04/28(水) 17:01:105、13章、あとがきがいいね。タイトルも好みだ
今後も中の人のやる気が続けばいいけどw
0753デフォルトの名無しさん
2010/04/28(水) 17:08:29インデックスから目的の項目に飛べるのは良いけど、本とは区別されるべきだろ
0754デフォルトの名無しさん
2010/04/28(水) 17:14:16これが2.6になったら、少しずつ移行作業をはじめようかと思うけど
ipythonだのnumpyだのPILだの、どっちみちまだまだ未対応の奴が多すぎ
0755デフォルトの名無しさん
2010/04/28(水) 17:56:390756デフォルトの名無しさん
2010/04/28(水) 18:03:090757デフォルトの名無しさん
2010/04/28(水) 18:27:24はくしろよぼけ。
0758デフォルトの名無しさん
2010/04/29(木) 01:55:47BeautifulSoupバージョンアップを対応考えてもらってもいいよ
0759デフォルトの名無しさん
2010/04/29(木) 02:19:51http://www.dotup.org/uploda/www.dotup.org846937.jpg…�A
http://www.dotup.org/uploda/www.dotup.org846953.jpg…�B
原点にピボットがある�@をY軸回りに90度回転させると
�Aのように移動の値はズレずに回転の値だけ変わってしまいます。
座標変換を行うことで、移動の値を�Bのようにしたいのですが
その変換公式など教えて頂けたら大変喜ばしいです。お願い致します。
0760デフォルトの名無しさん
2010/04/29(木) 02:24:59少し前に別のスレで見たけど、なんでPythonのスレにまで来てるんだw
0761デフォルトの名無しさん
2010/04/29(木) 02:52:300762デフォルトの名無しさん
2010/04/29(木) 03:30:22自分でできるだろうそれぐらい
0763デフォルトの名無しさん
2010/04/29(木) 06:31:090764デフォルトの名無しさん
2010/04/29(木) 09:52:25(sinθ, cosθ, 0)
(0, 0, 1)
0765デフォルトの名無しさん
2010/04/29(木) 10:31:160766デフォルトの名無しさん
2010/04/29(木) 12:44:260767デフォルトの名無しさん
2010/04/29(木) 12:50:380768デフォルトの名無しさん
2010/04/29(木) 14:00:16あるにはあるっぽいよ。
0769デフォルトの名無しさん
2010/04/29(木) 14:53:530770デフォルトの名無しさん
2010/04/29(木) 15:10:19二点間a(x0 , y0) b(x1 , y1)
ab線上の座標をすべて変数cに置き換える
できる矩形内を全て変数cに置き換える
という作業をしたいです
そういう関数があるなら誘導などお願いします
0771デフォルトの名無しさん
2010/04/29(木) 15:20:34どうとでもとれる
もう少し具体的に
>できる矩形内を全て変数cに置き換える
辺は含むのか?
0772デフォルトの名無しさん
2010/04/29(木) 15:27:24では縦、横およびy=±0.5xの45度系(?)、の三種類
>辺は含むのか?
含みます
な感じでお願いします
0773デフォルトの名無しさん
2010/04/29(木) 15:31:21そういう関数は作らないとない。
0774デフォルトの名無しさん
2010/04/29(木) 15:36:52というのがよくわからんのだが、リストかイテレータでもつくって列挙出来るようにしろってことか?
0775デフォルトの名無しさん
2010/04/29(木) 15:47:06そうですか
こりゃ自分で頑張るしかないんですかね
>>774
□□□□
□□□□
□□□□
□□□□
□□□□
□□□●
□□●□
□●□□
もしくは
□□□□
□●●●
□●●●
□●●●
こんな感じにしたいです
0776デフォルトの名無しさん
2010/04/29(木) 15:57:250777デフォルトの名無しさん
2010/04/29(木) 16:13:54アルゴリズムの話ってスレチなんだっけ?
宿題スレとか?
0778デフォルトの名無しさん
2010/04/29(木) 16:21:08スレチだったら申し訳ない
勉強って書いてるんでてっきりそういうスレなんだと
自作しろってことなんで以後ROMります
ちなみにここは何を語り合うスレという認識で?
0779デフォルトの名無しさん
2010/04/29(木) 16:26:030780デフォルトの名無しさん
2010/04/29(木) 16:29:400781デフォルトの名無しさん
2010/04/29(木) 17:08:59((min(x0, x1), min(y0, y1)), (max(x0, x1), max(y0, y1)))の矩形にcをセットするだけじゃん?
0782デフォルトの名無しさん
2010/04/29(木) 17:25:390783デフォルトの名無しさん
2010/04/29(木) 17:26:290784デフォルトの名無しさん
2010/04/29(木) 17:30:460785デフォルトの名無しさん
2010/04/29(木) 17:43:47ありがとうございます。参考にします
0786デフォルトの名無しさん
2010/04/29(木) 18:30:06そういう線で行くと、numpyのclip使えるかもね。
0787デフォルトの名無しさん
2010/04/29(木) 19:54:23了解です
まずはnumpyの情報仕入れてきます
0788デフォルトの名無しさん
2010/04/29(木) 21:38:030789デフォルトの名無しさん
2010/04/29(木) 22:30:250790デフォルトの名無しさん
2010/04/30(金) 02:26:39rubyのやつじゃね?
0791デフォルトの名無しさん
2010/04/30(金) 12:35:400792デフォルトの名無しさん
2010/04/30(金) 12:51:060793デフォルトの名無しさん
2010/04/30(金) 19:57:30単三電池厨の間違いだな。
0794デフォルトの名無しさん
2010/04/30(金) 20:02:140795デフォルトの名無しさん
2010/04/30(金) 20:06:370796デフォルトの名無しさん
2010/04/30(金) 22:43:430797デフォルトの名無しさん
2010/05/01(土) 00:17:14SyntaxError: (unicode error) 'utf8' codec can't decode byte 0x82 in position 0: unexpected code
とでてユニコード文字列が表示されませんなぜでしょうか?
0798デフォルトの名無しさん
2010/05/01(土) 00:28:030799デフォルトの名無しさん
2010/05/01(土) 01:39:530800デフォルトの名無しさん
2010/05/01(土) 02:59:380801デフォルトの名無しさん
2010/05/01(土) 03:59:00必ず誤解するひとがいるんだけど
文字コードのUTF-8と
print u"ほげ" のUNICODEは
イコールではない
0802デフォルトの名無しさん
2010/05/01(土) 05:26:290803デフォルトの名無しさん
2010/05/01(土) 06:33:48短絡的で思慮の足りないレスすんなよ
0804デフォルトの名無しさん
2010/05/01(土) 10:42:020805デフォルトの名無しさん
2010/05/01(土) 11:24:22はあ???
0806デフォルトの名無しさん
2010/05/01(土) 11:32:10CP932だ。
厳密に言うと少し差異はあるけどな。
0807デフォルトの名無しさん
2010/05/01(土) 11:33:37え?知らなかったの?
unicode型の内部実装はUTF-16だが、内部実装の話はさておき
str型は(UTF-8なりなんなり、対応するcodecで書かれた)バイト列で、
unicodeはユニコード文字の集合。
lenとか使ってみたら違いが分かる。
0808デフォルトの名無しさん
2010/05/01(土) 11:34:43PythonでもShift_JISはコーデックとして用意されてるよ。ちゃんとCP932とは別の物として。
けれど逆に混乱招いてるだけな気がしなくもない。
0809デフォルトの名無しさん
2010/05/01(土) 11:49:07UCS-4でコンパイルするオプションがあるぞ
0810デフォルトの名無しさん
2010/05/01(土) 12:10:58そもそもShift-JISにMSが拡張したものがcp932なので、
混乱を招いているとしたらそれはPythonではなくて機種依存拡張文字を追加したMSの責任。
たとえば、�@はShift-JISでは使えなくて、cp932では使える。
0811デフォルトの名無しさん
2010/05/01(土) 12:49:49全角丸数字や全角ローマ数字がこの世から消えてほしいと願うばかり。
こいつらのせいで、組版で余計な気を使わないといけない。
0812デフォルトの名無しさん
2010/05/01(土) 15:05:55そうなんだけど、cp932じゃダメでsjisを使う必要があるときなんてあんまりないのだから、
Shift_JISはcp932の別名にして、本来のShift_JISはShift_JIS_strictとかなんとか別名つけてくれた方がよかったかも。
>>809
だから、内部表現は別にどうでもいいんだって。なんなら、UTF-8でもいいし、できるもんならsjisでもいい。
内部表現に関わらず、strとunicodeは全くの別物。
0813デフォルトの名無しさん
2010/05/01(土) 15:30:57unicode型がUTF-16としてサロゲートペアの処理をするようになったのはいつ頃からだ?
0814デフォルトの名無しさん
2010/05/01(土) 15:52:20IAEAで名前が定義されているんだから、普段使う使わないを元に勝手に命名を弄る方が
余計混乱すると思うよ。
0815デフォルトの名無しさん
2010/05/01(土) 16:22:45HTMLでcharset=Shift_JISって書いてあるのは見ても
charset=cp932って書いてあるのは見たことがないな
0816デフォルトの名無しさん
2010/05/01(土) 16:35:59http://ja.wikipedia.org/wiki/IANA
0817デフォルトの名無しさん
2010/05/01(土) 16:46:21俺が利用しているカード会社の利用明細確認ページが、
昔charset=cp932だった(今はutf-8)。
0818デフォルトの名無しさん
2010/05/01(土) 17:25:03違うだろwww
coding: utf-8を書いてない。
0819デフォルトの名無しさん
2010/05/01(土) 17:41:39utf-8でdecodeしようとしてエラーになっているから、
ソースに # coding: utf-8 のような記述があるか、もしくは
defaultencodingがutf-8に設定されている。
「こ」はsjisで \x82\xb1 なのだが、
0バイト目の\x82をutf-8でdecodeできないと言っているので、
ソースコードがsjisになっている可能性が高い。
というわけだワトソン君。
0820デフォルトの名無しさん
2010/05/01(土) 18:00:48そりゃcp932なんて名前はIANA文字集合に定義されてないからな
Windows-31Jが正しい
もっともWidows-31Jの意味でShift_JISが使われていることが大半だが
ttp://www.iana.org/assignments/character-sets
0821デフォルトの名無しさん
2010/05/01(土) 21:04:47>>814 への皮肉だったんだが
0822デフォルトの名無しさん
2010/05/01(土) 21:07:330823814
2010/05/01(土) 21:49:48Pythonのcodec名がIANAで定義されている名前にしているという意味じゃなくて、
IANAで定義済みの名前に別の文字コードを割り当てないという意味だったんだ。
http://docs.python.org/library/codecs.html#standard-encodings
ここ見たら判るとおり、Windows系はcpXXXで統一されてる。
0824デフォルトの名無しさん
2010/05/01(土) 22:00:290825デフォルトの名無しさん
2010/05/01(土) 22:52:000827デフォルトの名無しさん
2010/05/02(日) 01:20:36意味の分からんレスをするなら
みんなで単三電池をアナルに挿入しようぜ!
0828デフォルトの名無しさん
2010/05/02(日) 06:09:07勉強会詐欺でもいいから、みんなで集まって寂しい気持ちを紛らわそうぜ!
0829デフォルトの名無しさん
2010/05/02(日) 10:02:470830デフォルトの名無しさん
2010/05/02(日) 10:23:100831デフォルトの名無しさん
2010/05/02(日) 10:35:37それとたまにMLで質問者を叩いてたりしてたし、
ここで変に煽ったこと書いている人たちはそこら界隈の人らじゃないかと思ってしまう
0832デフォルトの名無しさん
2010/05/02(日) 14:42:110833デフォルトの名無しさん
2010/05/02(日) 15:16:20texにうまく貼れない
0834デフォルトの名無しさん
2010/05/02(日) 16:44:530835833
2010/05/02(日) 17:02:210836デフォルトの名無しさん
2010/05/02(日) 17:33:120837デフォルトの名無しさん
2010/05/02(日) 17:44:22classmethod 対象としてのクラスを引数にとる。
staticmethod 対象がないので引数なし。
0838デフォルトの名無しさん
2010/05/02(日) 18:04:030839デフォルトの名無しさん
2010/05/02(日) 19:17:500840デフォルトの名無しさん
2010/05/02(日) 19:19:560841デフォルトの名無しさん
2010/05/02(日) 19:24:220842デフォルトの名無しさん
2010/05/02(日) 20:01:320843デフォルトの名無しさん
2010/05/02(日) 23:25:43だな。NullPointerExceptionなんて例外ほどクールなのを見たことが無いぞ。
是非ともPythonにもつけるべきだ。
0844デフォルトの名無しさん
2010/05/02(日) 23:28:570845デフォルトの名無しさん
2010/05/02(日) 23:39:03class NullPointerException(Exception):
pass
はい、できたできた
0846デフォルトの名無しさん
2010/05/02(日) 23:42:27<´ ぬ る ぽ 返 し て っ ! >
⌒ v'⌒ヽr -、_ ,r v'⌒ヽr ' ⌒
// // ///:: < _,ノ`' 、ヽ、_ ノ ;;;ヽ //
///// /:::: (y○')`ヽ) ( ´(y○') ;;| /
// //,|::: ( ( / ヽ) )+ ;| /
/ // |::: + ) )|~ ̄ ̄~.|( ( ;;;|// ////
/// :|:: ( (||||! i: |||! !| |) ) ;;;|// ///
////|:::: + U | |||| !! !!||| :U ;;; ;;;| ///
////|::::: | |!!||l ll|| !! !!| | ;;;;;;| ////
// / ヽ::::: | ! || | ||!!| ;;;;;;/// //
// // ゝ:::::::: : | `ー----−' |__////
0847デフォルトの名無しさん
2010/05/03(月) 00:05:00がっ
0848デフォルトの名無しさん
2010/05/03(月) 10:22:35でしょうか?
0849デフォルトの名無しさん
2010/05/03(月) 10:35:27文字コードをUTF-8にした、の意味が分からないんだけど、
UTF-8で保存したならなんで'こ'の頭に0x82が出てくるわけ?
もしmskanjiなのに頭にcoding: utf-8付け足しただけでUTF-8にしたつもりになってるのなら、
UTF-8で保存しなおすかcoding: mskanji に直すかどっちかにする。
0850デフォルトの名無しさん
2010/05/03(月) 11:40:56それ構文エラーになってる、そして本当にソースをutf-8で保存したか?
文字コードを変えてテキストファイルを保存出来るエディタとかで確認&再保存してからもう一度試してみれば?
多分、何か混乱してて間違えてる予感
ソースファイル自体のエンコード、
pythonに伝える自分の文字コード、
printなどに渡す文字の文字コード ※← 蛇足だけどここでの文字コードについては、例えば u"ほげ" でのUnicode型と、"" だけど中身が Unicode文字列って2種類ある
これらは全部別の存在だよ
0851デフォルトの名無しさん
2010/05/03(月) 11:43:15もう少しきちんとした日本語でお願いします。
0852デフォルトの名無しさん
2010/05/03(月) 11:45:33幼稚園児向けに話すのは大変ですよ。前提知識が足りないでしょうから
0853デフォルトの名無しさん
2010/05/03(月) 11:47:43改善すれば日本でもRubyより流行ると思うんだが
0854デフォルトの名無しさん
2010/05/03(月) 12:04:39Pythonはまともに日本語扱えない。
扱える言語はRubyだけです。
0855デフォルトの名無しさん
2010/05/03(月) 12:09:080856デフォルトの名無しさん
2010/05/03(月) 12:10:23と書いたとすると
"日本語" は HOGE でエンコードされているとみなされる
u"日本語" は "日本語".decode("HOGE") と同じ
0857デフォルトの名無しさん
2010/05/03(月) 12:12:110858デフォルトの名無しさん
2010/05/03(月) 12:12:48RubyはWindowsでUNICODEのファイル名へのアクセスが出来ない
0859デフォルトの名無しさん
2010/05/03(月) 12:13:34うそを書くな
0860デフォルトの名無しさん
2010/05/03(月) 12:16:10ソースは sjis で保存されているにも関わらず
# -*- coding: utf-8 -*-
と書いたとすると
"日本語(実はsjis)" は utf-8 でエンコードされているとみなされる
u"日本語" は "日本語(実はsjis)".decode("utf-8") と同じ
0861デフォルトの名無しさん
2010/05/03(月) 12:16:49・ソースファイルの先頭に文字コードを指定しないとソースファイルには ASCII 文字以外使えない
・ソースファイルに記述した非 ASCII 文字は全て str 扱いと考える
・unicode 文字列をソースファイルに記述するときは u'あいう' ではなく u'\u3042\u3044\u3046' と記述する
・関数に文字列を渡すときは unicode 型で渡す。str に変換するのはエラーが起きてからでいい
とにかく文字列型には unicode 使えばおけ。それで例外出すのはその関数なりモジュールなり作った奴がバカ
0862デフォルトの名無しさん
2010/05/03(月) 12:17:410863デフォルトの名無しさん
2010/05/03(月) 12:18:04保存方法を間違えるなよ
日本語の多くの書籍が書かれてるTeXだってそんなことしたらちゃんとコンパイル出来ない
0864デフォルトの名無しさん
2010/05/03(月) 12:18:440865デフォルトの名無しさん
2010/05/03(月) 12:21:24自分が何の文字コード使ってるか分からないバカにとっては、Pythonでの日本語使用は難しいと思う。
それは規定路線で、3.xでも変わらないばかりかむしろ強化される。
文字コードのことを考えないで文字を扱いたい人は、Rubyでもなんでもいいから他行ってくれ。
0866デフォルトの名無しさん
2010/05/03(月) 12:23:24いや別に>>861程度の話題なら余裕なんだけど
この前くだスレでcsvがUTF-8しか扱えねえwwwって話になったのに
どや顔で unicode 使えばおkってどうなのよと思ってさ
というかバカばっかってお約束なんだ
0867デフォルトの名無しさん
2010/05/03(月) 12:25:17馬鹿にしか見えないからやめた方が良いよ
0868デフォルトの名無しさん
2010/05/03(月) 12:26:20本気で何言ってるのか分からない
0869デフォルトの名無しさん
2010/05/03(月) 12:27:02あきらめてSmall BASICとかに移動したほうがいい
0870デフォルトの名無しさん
2010/05/03(月) 12:41:040871デフォルトの名無しさん
2010/05/03(月) 12:42:13LLスレでrubyは無いって結論出ただろ
0872デフォルトの名無しさん
2010/05/03(月) 12:44:520873デフォルトの名無しさん
2010/05/03(月) 12:46:36Rubyはガラパゴス情弱専用言語だよ
0874デフォルトの名無しさん
2010/05/03(月) 12:46:390875デフォルトの名無しさん
2010/05/03(月) 12:47:35簡単な言語なんだし
0876デフォルトの名無しさん
2010/05/03(月) 12:49:20というか言語仕様における欠陥だよあれは
Rubyのコードブロックの扱いは神。
0877デフォルトの名無しさん
2010/05/03(月) 12:51:040878デフォルトの名無しさん
2010/05/03(月) 12:52:59LLスレでrubyは無いって結論出ただろ
0879デフォルトの名無しさん
2010/05/03(月) 12:53:440880デフォルトの名無しさん
2010/05/03(月) 13:03:25お前WindowsとかLinuxとかMacOS使ってないの?
0881デフォルトの名無しさん
2010/05/03(月) 13:06:34end
end
end
end
end
0882デフォルトの名無しさん
2010/05/03(月) 13:08:160883デフォルトの名無しさん
2010/05/03(月) 13:13:31言語ファイルとして定数にでもしとけ
0884デフォルトの名無しさん
2010/05/03(月) 13:27:460885デフォルトの名無しさん
2010/05/03(月) 14:07:360886デフォルトの名無しさん
2010/05/03(月) 14:10:520887デフォルトの名無しさん
2010/05/03(月) 14:36:57>いや別に>>861程度の話題なら余裕なんだけど
>この前くだスレでcsvがUTF-8しか扱えねえwwwって話になったのに
>どや顔で unicode 使えばおkってどうなのよと思ってさ
なんかまるで utf-8 が unicode じゃないと言ってるみたいに見えるけど
気のせいか?
0888デフォルトの名無しさん
2010/05/03(月) 14:44:09samurizeでpythonスクリプトを使うにはactivepythonが必要らしいけど、普通にプログラミングするときは本家を使いたい
0889デフォルトの名無しさん
2010/05/03(月) 14:45:31文脈的にそのunicodeってPython2.Xの「unicode型」のことだろうから
その突っ込みはおかしい
エンコーディングやキャラクタセットじゃなくて、型の話だろ
もっとも、くだスレでそんな話出てたっけ?とは俺も思ったが
csvライブラリに関しては、
「UTF-8しか扱えない」じゃなくて
「unicodeに対応してないのでstrしか扱えない」の間違いだろう
0890デフォルトの名無しさん
2010/05/03(月) 14:48:02少なくとも python 2.x なら
utf-8 が unicode じゃない
とう理解で良いと思う
0891デフォルトの名無しさん
2010/05/03(月) 14:53:27Cで書かれた奴はstr/unicode両者に対してダック的に動作してくれないものも
多いので、>>861は楽観的過ぎる意見に見えるな
ライブラリが単純にchar*を期待している場合は、デフォルトのエンコーディングで
unicodeから変換されるので、その変換で例外が出ない場合は
すぐに気づかない場合がある
作った奴がバカってのもな
CStringIOとかcsvとか、れっきとした標準ライブラリからしてそうだし
「テキストは全部Unicode」が徹底されているJavaや.NET系の言語に比べたら
初心者にとっての落とし穴はずっと多いと思うよ
0892デフォルトの名無しさん
2010/05/03(月) 15:09:520893デフォルトの名無しさん
2010/05/03(月) 15:28:41あら不思議!あんなにしつこかった胡散臭さがこんな綺麗に取れてしまいました!
0894デフォルトの名無しさん
2010/05/03(月) 15:32:420895デフォルトの名無しさん
2010/05/03(月) 15:40:330896デフォルトの名無しさん
2010/05/03(月) 16:00:180897デフォルトの名無しさん
2010/05/03(月) 16:08:10クロスプラットフォームじゃないアプリなんてゴミだし
0898デフォルトの名無しさん
2010/05/03(月) 16:08:55Python3kでの発展に目を向けよう
0899デフォルトの名無しさん
2010/05/03(月) 16:14:59>ウェブプログラミングにはPythonは向かない。
cgi.FieldStorage() しか使ったことがない人はそう言う印象持つみたいだけど
それだけで向かないって決め付けるのは馬鹿のすることだよ
0900デフォルトの名無しさん
2010/05/03(月) 16:47:05perlもよろしくね
0901デフォルトの名無しさん
2010/05/03(月) 17:15:17たしかにあれは微妙だ。なんとかならんのかなぁ。
0902デフォルトの名無しさん
2010/05/03(月) 17:38:590903デフォルトの名無しさん
2010/05/03(月) 17:43:240904デフォルトの名無しさん
2010/05/03(月) 17:49:18あれは呪いの言語だ
0905デフォルトの名無しさん
2010/05/03(月) 17:51:18窓ガラスが割れると言われている
0906デフォルトの名無しさん
2010/05/03(月) 17:58:490907デフォルトの名無しさん
2010/05/03(月) 18:35:20Rubyじゃないと無理だよ
0908デフォルトの名無しさん
2010/05/03(月) 21:14:41その乗り換えだけはありえない。
0909デフォルトの名無しさん
2010/05/03(月) 21:18:570910デフォルトの名無しさん
2010/05/03(月) 22:02:540911デフォルトの名無しさん
2010/05/03(月) 22:05:020912デフォルトの名無しさん
2010/05/03(月) 22:09:560913デフォルトの名無しさん
2010/05/03(月) 22:12:320914デフォルトの名無しさん
2010/05/03(月) 22:13:54なるほど、Rubyのが優れているのか・・・
0915デフォルトの名無しさん
2010/05/03(月) 22:54:580916デフォルトの名無しさん
2010/05/03(月) 22:58:240917デフォルトの名無しさん
2010/05/03(月) 23:00:02「それしかできない」ようなことがある言語は、いずれにしても残るぞ
EmacsのためのLispとかなw
0918デフォルトの名無しさん
2010/05/03(月) 23:03:380919デフォルトの名無しさん
2010/05/03(月) 23:08:53まあね
JavaScriptははっきりそれ系だけど
0920デフォルトの名無しさん
2010/05/03(月) 23:24:47VBAはOffice製品のもの
JavaScriptはブラウザのもの
Pythonは・・・ ぱ、pyてょんは・・・
0921デフォルトの名無しさん
2010/05/03(月) 23:25:550922デフォルトの名無しさん
2010/05/03(月) 23:28:58あと組み込みインタプリタとして色々使われたりするよな
0923デフォルトの名無しさん
2010/05/03(月) 23:55:000924デフォルトの名無しさん
2010/05/03(月) 23:55:400925デフォルトの名無しさん
2010/05/04(火) 00:17:330926デフォルトの名無しさん
2010/05/04(火) 00:21:580927デフォルトの名無しさん
2010/05/04(火) 01:00:000928デフォルトの名無しさん
2010/05/04(火) 01:37:360929デフォルトの名無しさん
2010/05/04(火) 03:15:140930デフォルトの名無しさん
2010/05/04(火) 03:25:000931デフォルトの名無しさん
2010/05/04(火) 04:08:200932デフォルトの名無しさん
2010/05/04(火) 10:27:090933デフォルトの名無しさん
2010/05/04(火) 10:47:29ビックリするほど多い。
0934デフォルトの名無しさん
2010/05/04(火) 11:11:16ruby厨はとっとと巣にお帰り
0935デフォルトの名無しさん
2010/05/04(火) 11:20:310936デフォルトの名無しさん
2010/05/04(火) 11:23:11Pythonを選ぶ、ということは無いだろうけどね
LL系は弱点一緒だし
0937デフォルトの名無しさん
2010/05/04(火) 11:24:24過去スレ追うか他見た方がいいんだろうなw
0938デフォルトの名無しさん
2010/05/04(火) 11:26:53まだまだ使われるだろうけどな
0939デフォルトの名無しさん
2010/05/04(火) 12:20:21Microsoft Chart Controlがつおい
0940デフォルトの名無しさん
2010/05/04(火) 12:53:170941デフォルトの名無しさん
2010/05/04(火) 13:07:080942デフォルトの名無しさん
2010/05/04(火) 15:08:250943デフォルトの名無しさん
2010/05/04(火) 15:21:13全然関係無いと思う
埋め込み可能なスクリプティング言語なら何でもよくて
Pythonでなければいけない理由は特にないんじゃないの
逆にPython「でもいい」のは、ゲームほどリソースの制約がないから
CG屋さんにとっては、全部JavaScript/ActionScript系にしてくれた方が
良かったかもなw
どうせAdobeはそっちだし
0944デフォルトの名無しさん
2010/05/04(火) 15:28:14>良かったかもなw
>どうせAdobeはそっちだし
上で出てたCGってキーワードは多分3DCG。2D界隈しか知らないのか
0945デフォルトの名無しさん
2010/05/04(火) 15:28:44BlenderのスクリプトもPythonだしOOoのマクロもPythonだし
Pythonの需要は無くならないだろ
日本じゃこれ以上普及しないだろうけど
RubyとかPythonからScalaに行く人って他の言語やったことないんだろ
0946デフォルトの名無しさん
2010/05/04(火) 15:38:400947デフォルトの名無しさん
2010/05/04(火) 15:41:050948デフォルトの名無しさん
2010/05/04(火) 15:42:15Luaとか無視ですか
0949デフォルトの名無しさん
2010/05/04(火) 15:45:15apt系は違うっしょ
それにパッケージマネージャってユーザスクリプティングの対象じゃないし
0950デフォルトの名無しさん
2010/05/04(火) 15:48:14そこで例に出すなら AdobeじゃなくてAutodeskだろ、と思ったら既に書かれていたでござる
3DCG方面って知らない人やっぱ多いみたいだな
0951デフォルトの名無しさん
2010/05/04(火) 15:48:19Python厨って本当に馬鹿だよな
0952デフォルトの名無しさん
2010/05/04(火) 15:53:080953デフォルトの名無しさん
2010/05/04(火) 15:54:05本スレで大嘘つくほうが邪悪だろw
0954デフォルトの名無しさん
2010/05/04(火) 15:55:460955デフォルトの名無しさん
2010/05/04(火) 15:56:15Unrealは欠陥だらけ、Cryは描写範囲外の処理でガクガクになるという糞仕様
0956デフォルトの名無しさん
2010/05/04(火) 16:00:46http://pc12.2ch.net/test/read.cgi/tech/1272956352/
0957デフォルトの名無しさん
2010/05/04(火) 16:13:060958デフォルトの名無しさん
2010/05/04(火) 16:15:570959デフォルトの名無しさん
2010/05/04(火) 16:23:030960デフォルトの名無しさん
2010/05/04(火) 16:25:320961デフォルトの名無しさん
2010/05/04(火) 16:27:380962デフォルトの名無しさん
2010/05/04(火) 16:27:490963デフォルトの名無しさん
2010/05/04(火) 16:29:400964デフォルトの名無しさん
2010/05/04(火) 16:29:44>>962
>>962
0965デフォルトの名無しさん
2010/05/04(火) 16:30:23http://pc12.2ch.net/test/read.cgi/tech/1272248179/
0966デフォルトの名無しさん
2010/05/04(火) 16:30:480967デフォルトの名無しさん
2010/05/04(火) 16:31:240968デフォルトの名無しさん
2010/05/04(火) 16:58:37あんな気持ち悪くてストレスの溜まる言語頼まれてもお断りだ
rubyを使うぐらいならSmalltalkの勉強してる方がためになる
0969デフォルトの名無しさん
2010/05/04(火) 17:03:220970デフォルトの名無しさん
2010/05/04(火) 17:05:430971デフォルトの名無しさん
2010/05/04(火) 17:07:420972デフォルトの名無しさん
2010/05/04(火) 17:07:430973デフォルトの名無しさん
2010/05/04(火) 17:13:390974デフォルトの名無しさん
2010/05/04(火) 17:26:210975デフォルトの名無しさん
2010/05/04(火) 17:28:130976デフォルトの名無しさん
2010/05/04(火) 17:43:15RoRなんかで広まってしまったのがまずかった
0977デフォルトの名無しさん
2010/05/04(火) 17:53:00http://pc12.2ch.net/test/read.cgi/tech/1249737531/l50
0978デフォルトの名無しさん
2010/05/04(火) 17:58:40ruby最強伝説とかpythonには関係ないから
0979デフォルトの名無しさん
2010/05/04(火) 18:01:180980デフォルトの名無しさん
2010/05/04(火) 19:37:10# -*- coding: utf-8 -*-と打ったあと
print u"こんにちは"とうってもやはりエラーがでてしまいます。
なぜなのでしょうか・・・ソースコード変更とぐぐってみてやってみたのです
がどうしてもエラーがかわりません
0981デフォルトの名無しさん
2010/05/04(火) 19:44:20これ以上はエディタの使い方の問題だから板違い
0982デフォルトの名無しさん
2010/05/04(火) 19:44:500983デフォルトの名無しさん
2010/05/04(火) 19:46:180984デフォルトの名無しさん
2010/05/04(火) 19:49:03>文字コードをUTF-8にして
ってUTF-8で保存しているという意味じゃなくて、
一行目に# -*- coding: utf-8 -*-と書いたという意味なの?
0985デフォルトの名無しさん
2010/05/04(火) 19:52:45http://www5f.biglobe.ne.jp/t-susumu/library/tpad.html
で、tpad093.exe (681KB) (インストーラ付き) をダウンロードして
インストール。
# -*- coding: utf-8 -*-
print u"こんにちは"
と入力して[ファイル]→[文字/改行コード指定保存]で
文字コードを UTF-8 にして保存。
0986デフォルトの名無しさん
2010/05/04(火) 19:57:10というか実はeclipse+Pydev。これが一番便利。
0987デフォルトの名無しさん
2010/05/04(火) 19:57:35それかせめてくだすれでやれ
0988デフォルトの名無しさん
2010/05/04(火) 19:58:51どうせみんな両方見てんだろうし
0989デフォルトの名無しさん
2010/05/04(火) 20:09:510990デフォルトの名無しさん
2010/05/04(火) 20:19:530991デフォルトの名無しさん
2010/05/04(火) 20:28:08# -*- coding: utf-8 -*-と打ったあと
print u"こんにちは"とうってもやはりエラーがでてしまいます。
なぜなのでしょうか・・・ソースコード変更とぐぐってみてやってみたのです
がどうしてもエラーがかわりません
0992デフォルトの名無しさん
2010/05/04(火) 20:28:48# -*- coding: utf-8 -*-と打ったあと
print u"こんにちは"とうってもやはりエラーがでてしまいます。
なぜなのでしょうか・・・ソースコード変更とぐぐってみてやってみたのです
がどうしてもエラーがかわりません
0993デフォルトの名無しさん
2010/05/04(火) 20:29:28http://www5f.biglobe.ne.jp/t-susumu/library/tpad.html
で、tpad093.exe (681KB) (インストーラ付き) をダウンロードして
インストール。
# -*- coding: utf-8 -*-
print u"こんにちは"
と入力して[ファイル]→[文字/改行コード指定保存]で
文字コードを UTF-8 にして保存。
0994デフォルトの名無しさん
2010/05/04(火) 20:29:28# -*- coding: utf-8 -*-と打ったあと
print u"こんにちは"とうってもやはりエラーがでてしまいます。
なぜなのでしょうか・・・ソースコード変更とぐぐってみてやってみたのです
がどうしてもエラーがかわりません
0995デフォルトの名無しさん
2010/05/04(火) 20:30:08# -*- coding: utf-8 -*-と打ったあと
print u"こんにちは"とうってもやはりエラーがでてしまいます。
なぜなのでしょうか・・・ソースコード変更とぐぐってみてやってみたのです
がどうしてもエラーがかわりません
0996デフォルトの名無しさん
2010/05/04(火) 20:32:100997デフォルトの名無しさん
2010/05/04(火) 20:59:430998デフォルトの名無しさん
2010/05/04(火) 21:00:270999デフォルトの名無しさん
2010/05/04(火) 21:01:40# -*- coding: utf-8 -*-と打ったあと
print u"こんにちは"とうってもやはりエラーがでてしまいます。
なぜなのでしょうか・・・ソースコード変更とぐぐってみてやってみたのです
がどうしてもエラーがかわりません
1000デフォルトの名無しさん
2010/05/04(火) 21:02:26# -*- coding: utf-8 -*-と打ったあと
print u"こんにちは"とうってもやはりエラーがでてしまいます。
なぜなのでしょうか・・・ソースコード変更とぐぐってみてやってみたのです
がどうしてもエラーがかわりません
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。