Pythonのお勉強 Part3000.12
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/08/30(水) 00:02:30http://www.python.jp/Zope/
Python オフィシャルサイト
http://www.python.org/
まとめwiki
http://www7a.biglobe.ne.jp/~yasozumi/python/wiki/
問題集
http://www.pythonchallenge.com/
Pythonのお勉強 Part11
http://pc8.2ch.net/test/read.cgi/tech/1155219600/
みんなのPython著者はこんなブログを書いてる人
>> http://coreblog.org/ats/scbscriber-of-coreblogml
> 「インストール方法」みたいな低ーーーいところとか,「落ちている物を拾って使います」的な乞食みたいな思想から抜け出せないのでは危ないと思います。
> 趣味で使うならいいんだけどね。しかしまあ,趣味の延長ではおいしい物食べられないし,車とかプラズマテレビは買えない(笑)。
0153デフォルトの名無しさん
2006/08/30(水) 22:39:56はいはい、似てるね.良かったね。
0154デフォルトの名無しさん
2006/08/30(水) 22:39:59お前うざいぞ。
0155デフォルトの名無しさん
2006/08/30(水) 22:40:113.主な用途:urllibで連番画像DL
0156デフォルトの名無しさん
2006/08/30(水) 22:42:14>はいはい、似てるね.良かったね。
.と。が混じってる。
お遊びもほどほどにすれ。
0157デフォルトの名無しさん
2006/08/30(水) 22:43:49キンモ〜☆
0158デフォルトの名無しさん
2006/08/30(水) 22:44:43def A:
..
..
def B:
..
..
という関数が2つあったとします。これは同一人物なのでしょうか?
0159デフォルトの名無しさん
2006/08/30(水) 22:45:14俺は一度も数値計算に使ったこと無いけど、便利なのか。
0160デフォルトの名無しさん
2006/08/30(水) 22:45:38いいえ、違います。
斎藤さんと荒木さんです。
0161デフォルトの名無しさん
2006/08/30(水) 22:46:02インディーズ時代からしばじゅんのファソだった!
0162デフォルトの名無しさん
2006/08/30(水) 22:46:50作者乙
0163デフォルトの名無しさん
2006/08/30(水) 22:47:470164デフォルトの名無しさん
2006/08/30(水) 22:47:520165デフォルトの名無しさん
2006/08/30(水) 22:48:05Whitespaceとかか?
0166デフォルトの名無しさん
2006/08/30(水) 22:48:10車とプラズマテレビは月賦だ。
0167デフォルトの名無しさん
2006/08/30(水) 22:48:32こいつ一人がいなくなれば、かなり落ち着くと俺は思うwwwww
0168デフォルトの名無しさん
2006/08/30(水) 22:49:23そういう奴に限って、変な所で粘り強いから嫌だ。
0169デフォルトの名無しさん
2006/08/30(水) 22:49:31俺も正直そう思ってた・・・
0170デフォルトの名無しさん
2006/08/30(水) 22:49:38貧乏人乙彼!!!
0171デフォルトの名無しさん
2006/08/30(水) 22:52:490172デフォルトの名無しさん
2006/08/30(水) 22:56:22ありがとうございました。
0173デフォルトの名無しさん
2006/08/30(水) 22:59:56実際に計算する部分はCやFortranで書かれたコードを呼ばないとパフォーマンスが出ないんだけど、
データの入出力とかユーザインタフェース(UI)とかはC/Fortranで書くのはめんどい。
故にC/Fortranとの連携が容易で、データ入出力やUIを書くのに便利なPythonが本領を発揮するわけ。
これは数値計算に限った話ではなくて、いわゆるグルー(糊付け)言語が必要かつ有用なケースのひとつ。
処理効率のいいコンポーネントをぺたぺた張り合わせるのに超便利。
しかもPythonの場合はそういうコンポーネントが既にいっぱいある。もうウハウハ。
0174116
2006/08/30(水) 23:21:56自分を入れても少しだけど、書いてくれる人もちらほら。>>116, >>137, >>155 (?)
ありがとうございます。
0175デフォルトの名無しさん
2006/08/30(水) 23:25:27じゃ、まず俺が鬼な!
0176デフォルトの名無しさん
2006/08/30(水) 23:27:52あなた達が望もうが望むまいがこれからpythonは日本で盛り上
がっていきます。くだらないことで相手を皮肉ったり警戒する
のはやめてもっとpythonの中の話をしましょう。
何も分かっていない初心者(キチガイを除く)がここに訪れ
るかもしれません。
それに対して、人によってはこないでくれといらいらするか
もしれません。しかし、初心者には優しく時には厳しく接し
ていきましょう。
これからの日本にはみなさんの技術が必要なんですよ。まじです。
0177デフォルトの名無しさん
2006/08/30(水) 23:58:59プログラムが組めるようになりそうなのは Python かも。
昔 C を勉強したことがあるけど、賢さが足りなかったみたいw
実用プログラムを組めるようになる前に挫折…。
俺にはやっぱりプログラミングは無理だったか orz とあきらめていたけど、
チュートリアルをやってみたら、少し希望が(;´Д`)ハァハァ
まだ 200行くらいの短いスクリプトしか書いたことがないけれど、とりあえず
動くものが簡単に書けるのが(・∀・)イイ!!
それにやっぱり Python は読みやすいです。
スーパーハカーばかりじゃなくて、自分のようなへぼい Python ファンもいるですよ。
0178デフォルトの名無しさん
2006/08/30(水) 23:59:03昔はCでやっててコア部分をアセンブラ直書きしてたんだよね。それと同じこと。
要するにUIの問題。敷居が低くなるのが利点。わかり易さは武器。
0179デフォルトの名無しさん
2006/08/31(木) 00:20:51>計算のコア部分に対してはC呼んるが
それは行列計算をPythonでやっていると言うのか?w
データ入力をやってるんじゃないのか?
つか、コア部分はCを呼び出してとかって話をよく聞くけど、まじ?
俺は断然boost::python派なんだが。
0180デフォルトの名無しさん
2006/08/31(木) 00:25:360181デフォルトの名無しさん
2006/08/31(木) 00:32:551.仕事: SE (ITスペシャリスト)
2.Python歴:1年
3.主な用途: テキスト加工、分析、抽出 (シェルスクリプトで出来ないものについて), CGI
4.その他: C言語的な小文字中心の識別子とスライスの扱い易さに惚れた
0182デフォルトの名無しさん
2006/08/31(木) 00:34:01わざわざ boost で車輪の再発明をする気にはなれんと思うよ。
0183デフォルトの名無しさん
2006/08/31(木) 00:39:56それで、上の演算子の式に使える版が and,or,xorと。
0184デフォルトの名無しさん
2006/08/31(木) 00:43:04論理演算子と算術演算子の違いだよ。
0185デフォルトの名無しさん
2006/08/31(木) 00:50:24> それは行列計算をPythonでやっていると言うのか?w
もちろん。入力データの生成はそれ自体が科学技術計算だからね。
入力データとなる行列を作る処理も行列計算だったりするわけだ。
> つか、コア部分はCを呼び出してとかって話をよく聞くけど、まじ?
もちろんマジ。
例えば NumPy や SciPy には BLAS/LAPACK という有名な行列計算ライブラリの
ラッパーが含まれている。BLAS と LAPACK には参照実装の他に CPU ベンダ製の
最適化バージョンが多数あって非常に効率良く行列計算が実現できる。そういう
標準的なライブラリを Python スクリプトから難なく利用できる。
パラメタ調整→コンパイル→実行の繰り返しが必要な科学技術計算の場合、
コンパイル不要の Python だととっても楽チン。これに慣れるともう
C や Fortran でライブラリの呼び出し部分を書く気にはなれない。
とりあえずコア部分を Python に組み込んで後々楽することを考えるわけだ。
0186デフォルトの名無しさん
2006/08/31(木) 01:08:000187デフォルトの名無しさん
2006/08/31(木) 01:12:51IronPythonがリリースされることによってVBやC#のようにPythonが
MSから正式なサポートが入るのでしょうか?
現在、社内でPythonの普及をさせようと思っていて「将来的にMSのサポートがある」
というと普及にむけて上司をの説得させる大きな材料の一つとなるので、、、
ご存じの方、ご教授お願い致します。
0188デフォルトの名無しさん
2006/08/31(木) 01:25:080189デフォルトの名無しさん
2006/08/31(木) 01:42:26将来のことなんて誰にもわからないよw
少なくともMSが公式にそういうコミットをしたことはないと思う
0190デフォルトの名無しさん
2006/08/31(木) 01:44:41なるほどね、既製品を使うって意味ね。
Cを呼ぶとか難しそうに(?)聞こえたもんで、
カスタマイズした自家製モジュールの話かと誤解してしまった。
0191デフォルトの名無しさん
2006/08/31(木) 01:45:53C++ならboost::python使うと簡単に呼べるよ
0192デフォルトの名無しさん
2006/08/31(木) 01:47:00記号の方も単語の方も、数値にも式相手にも使えるのね。対話モードで使ってみた。
数値対象のときは、bit変換後に評価するかそのまま評価するかで結果が違うけど、
式が対象のときは同様に働くみたいだし。使うシーンで論理〜と算術〜って呼び分けてるんだ。
誤解解いてくれてありがとう。いずれ恥かくか行き詰まるとこだった。
0193デフォルトの名無しさん
2006/08/31(木) 01:52:11>>190 = >>179かと。
0194デフォルトの名無しさん
2006/08/31(木) 03:06:04あーいや、既存のモジュールだけじゃなく
自前のC/Fortranコードを呼ぶための拡張モジュールを自炊することもあるよ。
既存のモジュールのソースコードを見よう見まねでコピペすれば何ら難しくはない。
テキトーに setup.py を書いとくとインストーラまで作ってくれるし便利。
0195デフォルトの名無しさん
2006/08/31(木) 03:10:02まだ誤解しているような気がするぞ。
算術演算子と論理演算子には原則として互換性はないよ。
前者はビット演算、後者は真偽値演算でまったく別物。
0196デフォルトの名無しさん
2006/08/31(木) 06:10:420197デフォルトの名無しさん
2006/08/31(木) 09:03:240198デフォルトの名無しさん
2006/08/31(木) 09:04:06まずビット演算から説明しないとならない気
0199デフォルトの名無しさん
2006/08/31(木) 10:54:25Pythonってプログラムの実行しながら
修正したりできる?
対話モードでプログラムを動かしながら挙動見つつ修正できるのかな?
0200デフォルトの名無しさん
2006/08/31(木) 10:59:39まあ、できる。
0201デフォルトの名無しさん
2006/08/31(木) 11:03:00>>> import yourmodule
>>> yourmodule.yourfunc() # 何かがおかしい。修正する。
>>> import sys
>>> del sys.modules['yourmodule'] # sys.modulesからyourmoduleを削除。
>>> import yourmodule # importしなおす。
>>> yourmodule.yourfunc() # 直ってる。
単にimportし直すだけではダメ。
0202デフォルトの名無しさん
2006/08/31(木) 11:33:35それも面倒なら、簡易統合開発環境Idleから起動するという手もある。
0203デフォルトの名無しさん
2006/08/31(木) 11:41:120204デフォルトの名無しさん
2006/08/31(木) 12:24:38おれは>>200だが、実は聞き方が微妙で困ってた。
どちらにせよ、対話モードで開発もできるし、pdb(デバッガ)もあるし・・・。
まあ、できる。
0205デフォルトの名無しさん
2006/08/31(木) 12:40:21print文を埋め込んでは、対話環境で関数ごとに実行するという原始的デバッグ。
本当はunittestを使うテストファーストにあこがれてるんだけど。
皆さんはどうしてますか?
0206デフォルトの名無しさん
2006/08/31(木) 12:42:27同じく!
0207デフォルトの名無しさん
2006/08/31(木) 12:45:45気持ちを切り替えればそれほど難しくない。
unittestやテスト手法に慣れるための学習時間も必要かも。
テストファーストをはじめると,自然とテストしやすい「切り分け」をする癖がついて
設計の腕も上がると思うよ。
Pythonのコードを難なく読める中級者以上にお勧め。
0208デフォルトの名無しさん
2006/08/31(木) 13:01:12全ての作業がシームレスだよ。
>>205
pythonはC/C++なんかよりも比較的デバッガの必要性は低いけど、
それでもやっぱりデバッガ使った方が作業が早い・・・場合が多い。
0209デフォルトの名無しさん
2006/08/31(木) 13:10:46EclipseのPyDEVのデバッガ使ってるよ。
それまではEmacs + pdbを長年使ってきたけど、最近Eclipseに完全に乗り換えた。
0210デフォルトの名無しさん
2006/08/31(木) 13:20:49デバッガはたしかにいい感じの
あのコード補完機能ってどうよ
0211デフォルトの名無しさん
2006/08/31(木) 13:39:090212デフォルトの名無しさん
2006/08/31(木) 13:49:28これ?
0213205
2006/08/31(木) 15:00:49>>207
ありがとうございます。JUnitなら使ったことがあるので、Pythonでも少しずつ
導入したいと思います。動的言語のほうが単体テストの重要性は高いと思うので。
>>208
私もEmacsなんですけど、まだ全然使いこなしてないです。shellモードで
Python対話環境を立ち上げてるだけです。Emacs上でのPython開発の仕方に
ついて、どこかに良いマニュアルはないでしょうか?
>>209
Eclipseですか!あれは何でも取り込んでいくなあ。今はテキストコンソールでの
開発だから、残念ながら手を出せないんですが。
0214デフォルトの名無しさん
2006/08/31(木) 15:23:200215デフォルトの名無しさん
2006/08/31(木) 15:27:170216208
2006/08/31(木) 16:15:56python-modeつっこんで.emacsから呼ぶだけ。
こういう作業はEmacs一般の話だからあっちこっちに書かれている。
適当にコード書いてC-c C-cすれば新しいバッファに結果が表示される。
pdbはM-x pdbと打って開始。
操作方法は下。
http://www.python.jp/Zope/articles/tips/pdb-howto-2?pp=1
emacsが、「pdb?知らねーよ。」と怒ってきたら、
http://page.sourceforge.net/tricks.htm
の「Running pdb under emacs」という項目などを参考に。
(ようするにパス通すだけ?)
0218デフォルトの名無しさん
2006/08/31(木) 17:02:52>>> x,y = 1,2
>>> x==1 & y==2
False
>>> x==1 and y==2
True
数値相手どころか、式相手でも互換性がないのね。危なかった…。
直感的に分かるのは論理演算子の方でした。
リファレンスマニュアル5.8見ても、なにやってもFalse返したがる算術演算子を
式相手に使う場面は想像できませんでした。
0219デフォルトの名無しさん
2006/08/31(木) 17:09:24優先順位のちがいだな
&, ^, | は == よりも優先されるから、
x==1 & y==2 は、x== (1 & y) ==2 となる
0220デフォルトの名無しさん
2006/08/31(木) 17:11:42互換性どころの問題じゃなく両者は別物です
ビット演算について調べてください
0221デフォルトの名無しさん
2006/08/31(木) 17:23:12の桁についてANDやORを取っているのだ。
それにしても、今の若い人は普通ビット演算なんて知らないんだろうなあ。しみじみ。
0222221
2006/08/31(木) 17:30:130223デフォルトの名無しさん
2006/08/31(木) 17:32:05ずっとperlとawkとsedだったけど、ここらで一念発起してみるか
0224デフォルトの名無しさん
2006/08/31(木) 17:50:50「数値」と「式」という言葉の使い分けが気になっていたのだが、
真理値(True, False)の意味で「式」と言ってるんだね。
(ふつう式といったら数値も含む。)
&, | は整数値に対してのみ使う。float や complex は NG。
一方、and, or は多くの場合、真理値に対して使う。
比較演算子の値(比較の結果)は真理値なので and, or を使えばよい。
また、Python では伝統的に 0, None, 空タプル、空リスト、空辞書などは False 扱い、
それ以外のオブジェクトは True 扱いされる。
したがって、and, or は何でもかんでも受け付ける。
0225デフォルトの名無しさん
2006/08/31(木) 17:57:04python 付属の python-mode.el (SVN-34960)と
emacs 付属の python.el (CVS-1.45)の
どっちが最新なの?
どこがどうちがうの?
単純にどちらを使うべきなの?
0226デフォルトの名無しさん
2006/08/31(木) 18:05:35バージョンなんて気にしたことナカタ
ぶっちゃけどれでも同じ
0227208
2006/08/31(木) 18:27:07http://gunnarwrobel.de/wiki/Python.html
の言うことには、python-mode.elは今んとこスタンダードで
python.elは新しく開発されたものとか。
ファイル単位でどっちが最新かって話なら、日付を。
実はおれもあまり気にしたことがなかった。
おれのLinuxでは、pythonファイル開くと勝手にpythonモードになるからな。
これはpython.elだろな。
んで、最近Cygwin上のemacsにはpython-mode.el入れた。
0228デフォルトの名無しさん
2006/08/31(木) 18:43:450229デフォルトの名無しさん
2006/08/31(木) 18:45:220230デフォルトの名無しさん
2006/08/31(木) 18:49:30今も昔もビット演算なんて知らないのがフツーだと思われ。
0231デフォルトの名無しさん
2006/08/31(木) 18:54:33そして知ろうとしないならそれで構わないが
& と | のことは 218 は今後100年は触れないようにして欲しい
0232デフォルトの名無しさん
2006/08/31(木) 18:58:110233デフォルトの名無しさん
2006/08/31(木) 19:06:17俺はJavaも使うのでPythonの環境移行はJavaついでという感だね。
で、PyDEVのデバッガ使える。いい。
コード補完はオマケと思って過度な期待をしなければ結構便利。
0234デフォルトの名無しさん
2006/08/31(木) 19:11:18a == b == c って書けたんだ…
これまで(a == b) and (a == c)って書いてたよorz
というわけで>>218の例をやってみる。
>>> x,y = 2,3
>>> x == 2 & y == 2
True
なるほどね。
0235デフォルトの名無しさん
2006/08/31(木) 19:14:40アセンブリ言語も地質学的昔ということなんだろうか。
#組み込み系とか制御系ではまだまだ現役なんだけどな。
0236デフォルトの名無しさん
2006/08/31(木) 19:16:12(a == b) and (a == c) と書くほうが俺は好きだ。
0237デフォルトの名無しさん
2006/08/31(木) 19:16:440238デフォルトの名無しさん
2006/08/31(木) 19:19:580239デフォルトの名無しさん
2006/08/31(木) 19:41:21>>> 1+3j.real
1.0
>>> 1+3j.imag
4.0
>>>
がしばらく理解できなくて恥をかいた.
0240デフォルトの名無しさん
2006/08/31(木) 19:49:08・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・なるほどw
0241デフォルトの名無しさん
2006/08/31(木) 19:56:560242デフォルトの名無しさん
2006/08/31(木) 19:57:300243デフォルトの名無しさん
2006/08/31(木) 19:58:320244デフォルトの名無しさん
2006/08/31(木) 20:02:070245デフォルトの名無しさん
2006/08/31(木) 20:02:30かっこ わるい
0246199
2006/08/31(木) 20:07:363Dプログラミングやっててどうにも動作の仕組みがわからないんで
動作中にそれぞれ値がどうなってるか見てみたかったんです
ここで聞くのはスレ違いにも程があるっていうのはわかっていたんですが
使ってる3Dライブラリが海外産なのでドキュメントも全て英語という始末
解読を試みたものの時間がかかってかかってorz
変な質問でしたが丁寧に答えてくださり本当に助かりました
とりあえずデバックで試してみます
0247デフォルトの名無しさん
2006/08/31(木) 20:18:36基本はレイトレーシング。光学計算をやればよろしい。
# みんPy立ち読みした。明らかにはじPyの二番煎じ。コーデックの説明なんてPython依存じゃなかったし。
0248デフォルトの名無しさん
2006/08/31(木) 20:40:31なんて3Dライブラリ?
0250199
2006/08/31(木) 21:13:37Panda3Dって奴です
http://www.panda3d.org/
フリーのライブラリとしては凄いのではと思います
チュートリアル、リファレンスがかなり豊富で
ディズニーとカーネギー大学の共同開発ってのもミソかもしれません
元はディズニーのMMOゲームのエンジンとして開発されたようです
http://toontown.disney.co.jp/
ただ問題はPython弄ってるみたいなんですよね
なのでこのスレ的にはちょっと敬遠されるかもしれません
確かZopeというのも弄ってたので嫌われてるという話でしたが・・・。
0251デフォルトの名無しさん
2006/08/31(木) 21:29:02Pythonベースのシステムが全部嫌われるわけじゃない。
Zopeについては色々といいたいことがあるが、
Zopeが日本に紹介された初期に Python == Zope用の拡張言語 というような風潮があったことがあって、
それがPythonを「プログラミング言語」として利用していた層には受けが悪かったという話。
今ではそんな話も過去のこと。
なので、Panda3DぜんぜんOKと思われ。
俺はtrueSpaceというPythonでスクリプトを書ける3Dツールを使っていたこともあるので、
グラフィックス系には興味ある。
0252デフォルトの名無しさん
2006/08/31(木) 21:31:33■ このスレッドは過去ログ倉庫に格納されています