[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 09/12 00:16 / Filesize : 189 KB / Number-of Response : 952
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Pythonのお勉強 Part34



1 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 22:23:19 ]
Pythonオフィシャルサイト
www.python.org/
日本Pythonユーザ会
www.python.jp/Zope/
まとめWiki
python.rdy.jp/
関連スレ
find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python
前スレ
pc12.2ch.net/test/read.cgi/tech/1240678081/

660 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 23:08:03 ]
d = d.keys()

661 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 12:07:43 ]
いつもdictでfor文まわすのってどうやるんだったっけって調べてしまうぜ。
いちいち言語の文法をそらんじなくなって久しい。

662 名前:デフォルトの名無しさん [2009/09/05(土) 12:21:13 ]
>>660
なんでわざわざdictのkeyを取り出す必要があるんだ?

663 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 13:28:02 ]
>>662
keyの文字列自体を何かに使いたいとき

664 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 13:50:23 ]
入門書嫁。

665 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 15:33:28 ]
リファレンス嫁。

666 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 23:55:21 ]
Python + C# 最強説あらわる。これでR**yを殲滅できるぞ!
ttp://d.hatena.ne.jp/wasisan/20090905

667 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 00:01:46 ]
またRuby厨があらしてるのか

668 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 00:33:49 ]
C#イラネ
ヘジのクラスライブラリは勘弁



669 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 01:11:00 ]
どうみてもPythonもC#も被害者じゃないか

670 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 02:35:09 ]
いや、普通にPython+C#で商用プログラム書いてるところですが何か。

671 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 10:12:46 ]
>>666
変な主観で語られてもなぁw


672 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 11:30:55 ]
それと比べたらたとえ揚げ足取りであったとしても、ちゃんと文章を細かく読んでくれて、理由もつけられて、
その文章内容自体について説教・罵倒される方がはるかにましだということにあの人たちはなぜか気づかない
(多分、リアルがそれなりに充実した幸せな人たちだからだろう)。今の時代、話を聞いてくれて、まともな
ことを言ってくれる近所の頑固親父的な人なんて絶滅危惧種なのに。

まあ、普通の大人の現代(近代)社会を考えると仕方がないのかもしれないけど。よく言われることだが、社会人は
自分の利益になるケース以外では他人(特にいわゆる「バカ」)に対して注意なんてすることはないのだ。
そんなの時間がもったいない、「時は金なり」ということ(まったくいやなことだが)。

それにしても、「「バカ」であることを自己認識し自重する人たち」にとっては、現代とはなんと寂しい・辛い世界
であることか。その人たちは相手にされること、馴れ合うことすらできないのだから。



673 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 13:10:50 ]
αブロガーっぽいコピペだな

674 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 13:13:06 ]
最初の二行を読むだけで目が回ったが

675 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 13:29:13 ]
括弧が多すぎる。統合失調症の臭いがする。

676 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 14:05:16 ]
単にLISP使いなんだろ

677 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 18:18:57 ]
>>657
まいんちゃん一択

678 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 21:40:01 ]
真のLisperは括弧を省略しない



679 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 22:04:58 ]
Python使いからすると
閉じ括弧を省略できると最高なんだが

680 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 22:08:22 ]
かつて、対応する括弧までを一気に閉じるスーパー括弧というのがあってだな

681 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 22:09:27 ]
haskellの$演算子はカッコを減らすのにいい

682 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 22:22:28 ]
Python使いの口癖

オフサイド!

683 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 01:14:27 ]
「M式というのもある」と発言してうそつき呼ばわりされた屈辱の日々

684 名前:デフォルトの名無しさん [2009/09/07(月) 06:57:21 ]
最近C++一辺倒でもなと思ってPythonを使い始めたやつですが,
Pythonってのは本質的に関数言語であって,クラスシステムは
後付けっつーことですか?

self とか cls があらわになっているをの見て,
そういうもんなのかなと.

なぜPythonに手を出したかというと
普段使わなくても多重継承がないと不安だからとか
そういう理由だとまた叩かれるのかな.

685 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 07:17:35 ]
ドMの癖に
いやらしいねえこの男は

686 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 07:19:35 ]
>>684
OOP機能は最初から装備されていたそうなので、あとづけではないらしい。
そこかしこに不自然さが残るのは確か(superとか)なんだけど、許容範囲だから我慢してる。
あとPythonの作者は関数型言語をあまりよく知らないらしいから、「本質的に関数型」ではなくて「偶発的に関数型」じゃないかな。

> self とか cls があらわになっているをの見て,
> そういうもんなのかなと.

そういうもんです。違和感あるだろうけど、我慢できる範囲だと思うので、我慢して使ってください。そのうち慣れます。

687 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 08:28:42 ]
>>684
個人的にはselfとかどの名前空間なのか明示する方が分かりやすい
省略しまくる言語とか訳分からん記号使いまくる言語は氏ねとか思う

688 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 08:48:25 ]
>>687
そうじゃない。self.method()は別に構わない。
def method(self): がちょっと嫌いなだけ。



689 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 08:55:11 ]
> self とか cls があらわになっているをの見て,
> そういうもんなのかなと.

そういうもんです。
どの名前空間なのか明示する方が分かりやすいです。

慣れないうちは __init__() に self 入れ忘れて、
"引数の数があわない"
という一見変なエラーに悩まされますが、
そのうち気にならなくなります。

どちらかというとわたしは unicode/str の
encode/decode でよく悩まされました。
こちらももうすっかり慣れましたけど。

どちらも今となっては良い思い出です。

690 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 09:12:47 ]
>>688
俺も前から第一引数のselfに疑問を持っているんだが、Guidoがimplicit selfを
絶対に導入しない理由は何なの?
ちょっとググってみたが良く分からんかった。

691 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 09:15:08 ]
>>688
selfまで省略されるとお前どっから来たんだよッて俺がキレる

692 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 09:31:39 ]
書くときは冗長に思えるけど読むときには便利、と思えるかな?>self

693 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 09:53:30 ]
>>690
これは既出?
www.python.org/doc/faq/general/#why-must-self-be-used-explicitly-in-method-definitions-and-calls

694 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 10:01:34 ]
>>693
和訳。
coreblog.org/ats/translation-of-why-explicit-self-has-to-stay
どのくらい正確なのかはわからんが。

695 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 10:39:14 ]
>>693
それは読んで知ってたけど、論拠としては弱いと思ってた。

>>694
サンクス。これを読んで一応納得した。デコレータを使った時に困るのは分かるが、
半分以上はGuidoの思想上の問題のような気がする。本人が絶対にexplicit self
を無くさないと言っているのだから仕方ないが。

696 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 10:50:10 ]
Pythonのメソッドって関数みたいなもんでしょ?
逆にいつでもselfを使える前提にするほうが変だと思う。
引数とって値を返す、関数らしい構造で良いと思う。
逆にRubyでは関数はメソッドの亜種だから、関数でもわざわざselfが設定されてる。
Javaではそもそも裸の関数が無いのだからselfがあるのは納得。

697 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 10:50:53 ]
って、Javaはthisだった、ごめ

698 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 10:51:49 ]
>>695
>デコレータを使った時に困るのは分かるが、

自分はここがよくわからないんだけど、だれか解説たのむ。

以下引用:
> メソッドがデコレートされたときに,self引数が渡されるかどうかを知ることはできない。
> というのは,デコレータはメソッドをスタティックメソッドに変えることもあるし(この場合selfはない),
> クラスメソッドに変えることもあるし(この場合は,selfの変わりにクラスオブジェクトが渡される),
> まったく違ったことをすることもできる
> (@staticmethodや@classmethodと同じ働きをするデコレータをPythonで書くことは希だと思うが)。
> つまり,デコレータが何をするかを知り得なければ,メソッドに明示的にselfが定義されているかどうかを知ることができないのである。



699 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 10:55:19 ]
>>696
> 逆にいつでもselfを使える前提にするほうが変だと思う。
>>694のリンク先を読めば分かるが、そんなことは誰も主張してない。

700 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 11:08:55 ]
>699
しってるよw 俺の感想を言っただけ。

701 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 11:13:11 ]
見苦しい言い訳だな。妄想は自分の脳内で完結させろ

702 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 11:13:57 ]
>>698
デコレータは関数を引数にとって「何か」を返す関数。
クラス宣言の中でデコレータを使うと、デコレータの返したモノがクラスのメンバになる。
そうするとコンパイル時に「何か」を決定できないので暗黙の引数を追加できない。

703 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 11:30:51 ]
>>701
それ自体が>>699の誤読の見苦しい言い訳であり
脳内からはみ出たお前の妄想じゃんw

704 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 12:10:27 ]
>>696
classと無関係なただの関数はself書かなくていいよ

705 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 12:13:24 ]
お前は何が言いたいんだ

706 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 12:15:07 ]
基地外が暴れだしたか

707 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 12:22:47 ]
今更selfがなくなると違和感ありまくり。

708 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 12:44:13 ]
解説ありがとうございます。でもやっぱりわからない。

>>702
>デコレータは関数を引数にとって「何か」を返す関数。
>クラス宣言の中でデコレータを使うと、デコレータの返したモノがクラスのメンバになる。

↑これはわかる。↓これがわかんない。

>そうするとコンパイル時に「何か」を決定できないので暗黙の引数を追加できない。

・コンパイル時に「何か」を決定することと、暗黙の引数を追加することに、どういう関係がありますか?
・コンパイル時ではなく実行時に決定するのではだめでしょうか。
・暗黙の引数を、追加するのではなく最初から追加しておけばいいように思うけど、それだとまずいでしょうか。


だれか時間のある人教えてください!






709 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 12:45:54 ]
オナニー言語やね

710 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 14:42:38 ]
低脳はPHPがRubyをやればいいよね

711 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 14:54:08 ]
またRuby厨が荒らしてるのか
まったく・・・

712 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 18:04:02 ]
>>698
デコレータは関数を関数に変換するもの(最近はクラスもできるが)。

self必須にすることで関数とメソッドはほぼ互換になる
>foo.meth(arg) == C.meth(foo, arg)
ここで、C.methは関数扱いできる。

メソッドが関数として扱えるので、
メソッドのデコレータは関数のデコレータを作るのと同じやり方でできる。

逆にself省略できるようにしたらメソッドのデコレータを作るのが難しくなると思う。

713 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 18:20:37 ]
>>712
若干の冗長性が柔軟性を生むいい例だね。
Pythonは仕様の簡潔性が特徴のスクリプト言語なわけで。
(予約語や特殊な文法が少ない)

714 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 18:33:22 ]
>>712
厳密に言うと、デコレータの出力は関数とは限らないよね。
@property
def foo(self):...
みたいにすると、 foo は foo.__get__() というメソッドが定義されたオブジェクトになる。

715 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 18:37:47 ]
すげー今更だけどこれって紹介されてたっけ?

Python 3.0開発者ガイド:コア言語の変更点
Python 3.0の主要な言語機能
codezine.jp/article/detail/4051

Python 3.0開発者ガイド:数値、文字列、データ
codezine.jp/article/detail/4052

716 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 18:41:09 ]
>>714
いや、まぁそこら辺は厳密性を犠牲にして説明しやすくしたということで(ry

717 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 19:08:14 ]
codezineの翻訳はクソ

718 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 02:33:13 ]
>>717
神降臨
書き換えてこい



719 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 09:37:04 ]
reportlabでpdfを作ると
同じものを作っても作るたびに
出来るファイルのサイズが違うのですが
こんなもんなのでしょうか?
pdfデータに日時が入ってるのかな

720 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 10:24:59 ]
帝国ピストンはMLで質問しろよ

721 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 11:47:07 ]
動的に渡す関数(メソッド内で関数を定義して戻り値で返すような)って、
自由変数の束縛はいったいどうやるんだ?

そういうことをやりたいときはグローバル変数使うかクラス使うかしかないんだろうか……。

722 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 12:31:53 ]
やってからいえ

関数の呼び出し->local名前空間の生成->関数オブジェクト生成->local名前空間の解放->関数オブジェクト返る
関数オブジェクトから参照してる変数は上位の名前空間が消えてもクロージャな参照が残ってるからGCに回収されずに使える

723 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 15:21:31 ]
>>やってからいえ
その言葉をそのまま返そう。

外側のメソッド[A]で定義した関数内関数[B]で[A]のローカル変数aを[B]内で使用しようとしたとき、
[B]内でそのままaと書くと未定義参照エラーになる。
かといって[B]の引数で与えても値渡しなのでa自体を書き換えることはできないよね。

724 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 15:32:29 ]
python3 nonlocal

725 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 15:38:48 ]
>>> def fa():
...  a=3
...  def fb():
...   a=5
...   print a
...  print a
...  return fb
...
>>> b=fa()
3
>>> b()
5


726 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 15:42:35 ]
nonlocalをpython2.xで模倣するときは
・L=[x]みたいにリストにして、L[0]に対する操作にする
・f.x = xのように関数の属性にして、f.xに対する操作にする

727 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 15:53:18 ]
>>725

>>> def fa():
... a=3
... def fb():
... a+=5
... print a
... print a
... return fb
...
>>> b=fa()
3
>>> b()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 4, in fb
UnboundLocalError: local variable 'a' referenced before assignment
>>>

728 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 16:05:07 ]
>>726
ですよねー。

ふと調べてみたらそれについて記述したページを見つけたよ。
www.shido.info/py/py1_comment.html

実際にやってみたら
関数内関数[B]の中だけじゃなくて、
外側のメソッド[A]の側でも配列参照してあげないと
変更後の値にアクセスできないね。
実用にはなるんだけど不便だ……。

ともあれ、やり方がわかったよ。ありがとう。



729 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 18:11:51 ]
>>726
>>> def fa():
...  a=3
...  def fb():
...   fa.a+=5
...   print fa.a
...  print a
...  return fb
...
>>> b=fa()
3
>>> b()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 4, in fb
AttributeError: 'function' object has no attribute 'a'


730 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 18:14:10 ]
>>728-729
>>> def fa():
...  fa.a=3
...  def fb():
...   fa.a+=5
...   print fa.a
...  print fa.a
...  return fb
...
>>> b=fa()
3
>>> b()
8
>>>


731 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 18:40:00 ]
>>727 >>729-730
Pythonのニシキヘビ共が、タチコマみたいな会話してるみたいで萌えたw

732 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 03:07:25 ]
pprintを使ってて、読めなくなった日本語をそのまま、読めるようにしたい。

>>> k=dict(hoge=u"欝")
>>> k
{'hoge': u'\u6b1d'}
>>> r=pprint.pformat(k)
>>> r
"{'hoge': u'\\u6b1d'}"
>>>
これを、pprintのフォーマットを保持したまま
"{'hoge': u'欝'}"
みたいに人が読める形に、出来ませんか?


733 名前:732 mailto:sage [2009/09/09(水) 03:22:29 ]
自己レス
一旦unicode化して、"unicode-escape"を使えば行けた。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import pprint
d=dict(hoge=u'欝')
k=pprint.pformat(d)
print k
>>>{'hoge': u'\u6b1d'}
u=unicode(k,'utf-8')
print u.decode('unicode-escape')
>>>{'hoge': u'欝'}

配列の中に入った日本語とかも効くようだ。

734 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 07:20:56 ]
関係ないけど /usr/bin/env を使うのは環境依存でハマる事があるからあまり良くない気が。

735 名前:デフォルトの名無しさん [2009/09/09(水) 12:17:23 ]
環境依存ではまらないように設けた仕組みだろうに、
環境依存で動かないなんて本末転倒だな。


736 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 12:20:34 ]
> /usr/bin/env を使うのは環境依存でハマる

具体的に詳しく。

/usr/bin/env が無くて /bin/env とか、
PATHの設定に問題が、とか?

737 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 12:30:11 ]
/usr/local/bin/env

738 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 13:07:17 ]
>>734
おれも詳しく知りたい。

 #!/usr/bin/python
 #!/usr/local/bin/python

はよくなくて

 #!/usr/bin/env python

とするほうがいいとずっと思ってたんだけど、違うの?





739 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 13:17:43 ]
734は相当劣悪な環境を使っているに違いない。激しく同情する。

740 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 13:20:49 ]
レンタルサーバで使えない

741 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 13:21:17 ]
HOME以下に自分でビルドしたPythonをインストールしてパスを通してるとき、
/usr/bin/meld とかディストリビューションのアプリが #!/usr/bin/env 使ってて
軒並み動かなくなったなぁ。

742 名前:デフォルトの名無しさん [2009/09/09(水) 15:49:53 ]
ターミナルから起動して使うと、なぜか出力が最後にまとめて行われてしまいます。
バッファリング周りを自分なりに調べて試してみたのですが、改善しません。
教えていただけるとうれしいです _ _

#!/usr/bin/env python -u
import sys

for line in sys.stdin:
  line = line.rstrip()
  if line:
    print "true"
  else:
    print "false"
  sys.stdout.flush()


743 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 15:54:45 ]
>>741
どうでもいいところでハマってそれを自慢したがるド変態のM夫君っているものですね。

744 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 16:07:48 ]
質問の本題とは関係ないのだが、

> #!/usr/bin/env python -u

shebang で複数の引数を渡そうとした場合の動作は移植性がない。

745 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 16:36:04 ]
>>743
でもこの場合は、単に君が、どうでもいいところで「こいつは自慢してるんだろう」と誤読する
キチガイなだけでは?

746 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 16:45:37 ]
#!/usr/bin/python

にすればいいじゃん?

747 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 17:06:46 ]
python2.6.2/python3.1.1 ○バッファされない ×バッファされる
× py2 sys.stdin
○ py2 sys.iter(stdin.readline, None)
○ py3 sys.stdin
○ py3 sys.iter(stdin.readline, None)

ファイルのf.next()は効率のために先読みするんだけど、それが原因かな。
py3でどこが変更されたかはよくわからなかった

748 名前:747 mailto:sage [2009/09/09(水) 17:07:36 ]
訂正。
× py2 sys.stdin
○ py2 iter(sys.stdin.readline, None)
○ py3 sys.stdin
○ py3 iter(sys.stdin.readline, None)



749 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 17:08:49 ]
出力がバッファリングされてるんじゃなくて、

> for line in sys.stdin:

これのために、入力が終わるまで実行が止まってる。

for line in iter(sys.stdin.readline, ""):

こうする。

750 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 17:21:07 ]
ああpy3kのf.__next__は単純にf.readlineを呼び出すだけみたいだ。
ドキュメントには先読みすると書いてあるけど、たぶんこれはドキュメントのバグ。

751 名前:742 mailto:sage [2009/09/09(水) 17:36:41 ]
>>744 ありがとうございます、勉強になります!
>>747-750
ありがとうございます、出来ました!
バッファリングの問題じゃなかったんですね、お恥ずかしい。

752 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 17:49:21 ]
>>745
変態のくせにプライドだけ高いなんてどんだけひとりぼっち君。

753 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 18:00:03 ]
>>752
今度の設定はプライドか。ってか俺は>>741ではないし。
なんか君のキャラ設定って、鏡に映った君自身っぽい。

754 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 19:31:14 ]
>>753
>なんか君のキャラ設定って、鏡に映った君自身っぽい。


755 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 19:52:00 ]
自分のキャラ設定は鏡に映った自分自身という、再帰的新感覚キャラ「なんか君」

756 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:06:07 ]
てっきりスルーされると思ったらそうでもなかった。
env の話はこのへん分かりやすかったです。
ya.maya.st/d/200606c.html#d20060625

757 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 22:23:02 ]
情けないようで逞しくもある

758 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 22:45:56 ]
俺はUnix系の環境持ってないから分からんけど

#!python

だとダメなの?



759 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 23:48:18 ]
堂々巡り開始

760 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 12:56:13 ]
>>758
#!./python

761 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 13:48:03 ]
emacsでpython編集してたら、なんか嫌になった
netbeansにしようかなあ

762 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 14:44:37 ]
>>760
えーと、どゆこと?
パスが必須ってこと?
それとも、そういう意味に解釈されてしまうってこと?

763 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 15:35:12 ]
>>761
バイナリをテキストエディタで編集しちゃダメですよ。

764 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 15:40:31 ]
slimeだったらタグファイル作らなくてもタグジャンプしてくれたり、
何も設定しないデフォルトでほとんど何でもできちゃうのに
python.elが貧弱すぎる

765 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 15:44:17 ]
うちのCentOSのPythonは
/usr/bin/python 2.3 (プレインストール)
/usr/local/bin/python 2.5 (自分でコンパイル)
が入ってる
ちなみに /usr/bin/python を 2.5 で上書きしてしまうと
yum が動かなくなるのでこうしてる
自分の shell の path は /usr/local/bin/python が先なので
#!/usr/bin/env python
と書いても大丈夫なような気がするけど
自前のスクリプトは
#!/usr/local/bin/python
で作ってるよ

766 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 17:51:22 ]
stow使ってる

767 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 03:05:13 ]
>>761
kondoはどうよ?emacsキーバインディングもある
www.activestate.com/komodo_edit/

768 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 03:35:09 ]
>>767
もちつけw



769 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 11:01:20 ]
こども? 近藤さん?

770 名前:デフォルトの名無しさん [2009/09/11(金) 11:35:07 ]
Python 3 シリーズを将来使うために
今 2.3 とかで動かしているスクリプトを
メンテのたびに 2.6 に移し始めてます.
以降のためのガイドライン(from future importとか)
のページってありませんか?

出来れば日本語だとうれしい・・

771 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 12:02:29 ]
>>770
>出来れば日本語だとうれしい・・

Rubyなら日本語の情報が盛りだくさん!

772 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 12:13:59 ]
>>761
Editraはどうよ?viキーバインディングもある
editra.org/

773 名前:デフォルトの名無しさん [2009/09/11(金) 13:21:08 ]
eggファイルってWindowsのPythonでも使える?

774 名前:デフォルトの名無しさん [2009/09/11(金) 16:07:04 ]
つかえましたすまそ

775 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 17:18:07 ]
eggファイルといえば、site-packageにはいったeggが
展開もされずにそのまま動いてて、どうしてコレで動くんだろ?
って思ったことはあるな。

776 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 17:26:28 ]
Pythonのimportは拡張することが出来て、zipファイルからimportする拡張がデフォルトで入っている。
非圧縮zipだとファイルシステムからstatする時間が要らなくなるので通常ファイルのモジュールよりも
高速にロードできる。

777 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 17:30:00 ]
777

778 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 18:16:23 ]
Windows版2.5.1で試したことあるが
python.exeとpython25.dllだけあれば
後は全部zipに入れても動くよw
zipの中身適当に絞り込んだやつと、exeとdllを、未だUSBに入れてあるわ〜



779 名前:デフォルトの名無しさん [2009/09/11(金) 18:38:46 ]
Python でメモリがつがつ使うプログラム書くと,
当然ながら仮想メモリまで食いつぶしていきますよね?
せめて自分がどれくらいメモリを使っているかくらいは
知りたいのですが,OSに依存しないメモリ使用量の
取得方法ってあるでしょうか?

メモリ上にデータをキャッシュするようなアプリを書いていて
最終的にはスラッシングが起こりだしたらキャッシュの量を
減らすというような処理を行いたいと思っています.
最終的には.

780 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 19:06:40 ]
>>OSに依存しないメモリ使用量の取得方法
ざっと探してみたけどないので君が作るといい

781 名前:デフォルトの名無しさん [2009/09/11(金) 20:26:46 ]
easy_install は便利だけど同じパッケージの新しいバージョンをインストールしても
上書きしていくだけなんだよね?古いバージョンのアンインストールをきれいにやってから
新しいバージョンのパッケージをインストールしてくれないものだろうか?

782 名前:デフォルトの名無しさん [2009/09/11(金) 20:32:06 ]
俺もピートン勉強すっかな

783 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 22:29:18 ]
>>772
日本語を入力するまでは満足してました。

784 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 23:09:59 ]
>>779
どれぐらいのメモリを使ったらスラッシングが始まるのかがOSに依存すると思うのですが。


785 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 23:18:02 ]
>>784
それは別にOS依存しててもいいのでは?
大事なのはスラッシングが起こったことが検知できるかどうかでしょ。

786 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 00:09:53 ]
ああいえばじょうゆう。
んなことできる訳ねーダロカス

787 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 00:18:06 ]
むしろスラッシングが起こったことをアプリ側に分からないようにするのが近代的なOS設計だと思うんだが。
それに逆らってどうする。

788 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 05:36:22 ]
>>787
スラッシングがおこってもプロセスが実行しつづけられるようにするのは近代的なOSの設計だといえるけど、
スラッシングが起こったことを検出できない、検出させないのは、別に近代的でもなんでもない。
検出できるような設計にしたら近代的でなくなるのか?そんなわけない。



789 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 08:34:37 ]
今年はじょうゆう14年か

790 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 11:30:03 ]
>>788
で? Pythonのプログラムが書きにくいからってOSの開発者に文句を言うつもりか?

791 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 11:31:32 ]
>>788
は気にくわないことすべてに文句つけそうで怖い。

792 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 13:21:38 ]
788の方がまっとうな考えだな。
にちゃんは半可通が多数決で正しい答を出すから恐いw


793 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 13:31:19 ]
>>790
間違いを指摘されたからといって怒るなよ。
なんで
> Pythonのプログラムが書きにくいからってOSの開発者に文句を言うつもりか?
ということになるんだ?意味わかんねー。
別に間違っててもいいじゃんか。指摘されたら修正すればいいだけ。
間違いを認めようとせず、ごまかすためにキレるほうが格好悪いぞ。

794 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 13:39:55 ]
まぁ、かと言って、全く非の打ち所のない言語もまだないからな。
その中でPythonはかなり使いやすい部類だと思う。

795 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 13:42:47 ]
摩訶不思議なコードを書いて俺SUGEEEしてる人が少ないのが良い

796 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 14:02:05 ]
つか当初の質問のレベルが低すぎるだけじゃね。

797 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 14:04:38 ]
>>795
摩訶不思議なコードを書くのは
そうでもしないと今流行りの機能が実装できない(C++の謎なテンプレートとか)か、
変なコードのほうが高速だったり(末尾再帰とか)
ミスが起こりにくかったりする(if(0==x){〜とか)

とか、そんな事情がある。
Pythonはそもそもそういうのが起こらないように設計されてるからなー

798 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 14:06:36 ]
最初はメモリ使用量とスラッシングの話だったのに
気づかないまま別の方向に向かっているおまいらがすき



799 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 15:38:21 ]
zope.interfaceが"要らない"ことに気付くまで1年かかった

800 名前:デフォルトの名無しさん [2009/09/12(土) 17:07:43 ]
Windows で IDLE を起動してただ exit() と打つと
Python IDLE "The program is still running! Do you want to kill it?
っていうダイアログボックスがでてくるんだけどこれはバグ?

Windows Vista Business 上で Python 2.5, 2.6, 3.1 で確認しました

801 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 18:30:00 ]
ばかじゃないのおまえ

802 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 18:54:01 ]
>>792

x 半可通が多数決で正しい答を出す

o 半可通が多数決で出した答を正しいと思い込む


803 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 18:56:27 ]
>>792の意図するところはこっちだろう
o 半可通が多数決で「正しい」答を出す

804 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 18:56:50 ]
何をもってしてバグとするんだ?

805 名前:デフォルトの名無しさん [2009/09/12(土) 20:04:53 ]
print __builtins__ の結果と

import __main__
print __main__.__builtins__ の結果が違うのはなぜでしょうか?

たとえば __builtins__.__dict__ はありますが
__main__.__builtins__.__dict__ はありません

806 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 20:20:47 ]
>>805
処理系のソースコード調べて考えろ。

807 名前:デフォルトの名無しさん [2009/09/12(土) 20:32:48 ]
>>806
アドバイスありがとうございます
CPythonのコードはまだ読んでいませんがIDLEのコードを読んでいます。
lib\idlelib\AutoComple.py の中に

import __main__
中略
namespace = __main__.__dict__.copy()
namespace.update(__main__.__builtins__.__dict__)

というコードがあって、__main__.__builtins__.__dict__
の意味が分からず悩んでいます。

808 名前:805=807 [2009/09/12(土) 20:52:19 ]
>>806
たびたびすみません,原因が分かりました.
EclipseのPyDevで開発しているのですが,
デバッグモードで動かすと __builtins__ は dict です.
通常モードで動かすと __builtins__ は module です.
デバッグモードではこのような違いが随所にあったのが原因でした.

なお,PyDev のソースを読んだところたしかに pydevd.py で
そのような違いが表れていることが分かりました.
eclipse-pydev.sourcearchive.com/documentation/1.0.3-1ubuntu1/pydevd_8py-source.html



809 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 21:19:57 ]
なんかあさってだな

810 名前:805=807 mailto:sage [2009/09/12(土) 21:50:14 ]
>>809
スレを汚してしまってすみませんでした

811 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 22:05:33 ]
そういう意味ではない

812 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 07:39:27 ]
python2.6でpy2exeを使いmechanizeをimportしたスクリプトをexe化したいのですが
なにやら色んな物がないといわれます。で色んなもを入れたり、パス変更したりして
対応したのですが
dummy.Processというモジュールだけ見つかりません。
(python2.6/Lib/multipurocessingの中にprocess.pyがあったので/Lib/dummy/process.py
と置いてみましたがダメでした)
easy_installを試しましたがダメでした。
対処法もしくはdummy.Processがどこにあるかわかる方いますか?


813 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 08:09:46 ]
/Lib/dummy/process.py
->
/Lib/dummy/Process.py

814 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 08:17:23 ]
from multiprocessing.dummy import Process

815 名前:812 mailto:sage [2009/09/13(日) 09:27:34 ]
>>813
それでやってみましたがダメでした
>>814
自作スクリプト内ではdummy.processをimportしておらず、mechanize内でもimportされていなかったので
どのスクリプトのimportをそのように書き換えるのかわかりません

で、なぜかLib/multiprocessing/dummy/processとするとdummy.processは通りました
しかし、また新たにmultiprocessingが必要(?)でて
easy_installすると
こんどはmultiprocessing._mmap25とwin32processが必要といわれ。。。
なんだかきりがないように感じられたので諦めます
すいませんでした

816 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 14:03:24 ]
なんでPythonはRubyの文法を盗んでるのでしょうか

817 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 14:04:32 ]
具体例を挙げてください。

818 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:00:45 ]
defなんてそうだよね



819 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:02:40 ]
Rubyのが先に世に出たのに後からでたPythonが元祖語ってるという皮肉

820 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:11:03 ]
ttp://ja.wikipedia.org/wiki/Python
登場時期 1990年
ttp://ja.wikipedia.org/wiki/Ruby
登場時期 1995年

821 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:11:18 ]
>>819
アホか。Pythonの初出が1991年でRubyが1993年だろ。調べてから言え。
それから、RubyとPythonがどっちが優れてるかなんてフレームの元なのでやめたほうがいい。
用途によって使いやすいほうを使えば十分。

822 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:14:59 ]
>>818
いまだとBooとかScalaとかあるけど
PythonやRubyの前って関数定義にdef使ってるのってないのかな

823 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:32:01 ]
Assembly
BASIC
C
...
O
Python
Q
Ruby
S
...
Z


824 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:36:47 ]
スルー

825 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 18:01:43 ]
>>822
BASIC

826 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 18:38:10 ]
procedure hogehoge
function hogehoge

827 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 18:50:59 ]
>>825
DEF FN……懐かしい。

828 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 11:25:01 ]
Python2.5.2ですが、ユニコードって内部的には一律一文字2バイトで表現されていると思って良いのでしょうか?
C拡張でユニコードを扱う関数を作りたいんですが、Cでどのようにユニコード文字のバイト区切りを判断すれば良いのか分からなくて。




829 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 11:41:21 ]
ユニコード文字のバイト区切り?

830 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 12:09:04 ]
たぶん、Pythonでの扱い以前にUnicodeの基礎知識が不足していると思われ

831 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 12:15:39 ]
UnicodeとUTF-8の違いは?
pc12.2ch.net/test/read.cgi/tech/1177930957/

832 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 12:22:32 ]
欠けている部分があるので分からないわけですが、
基本知識はあると思ってるのですが...
そもそもUTF-8なんて話してません、ユニコードそのものの話です。
pythonにおいてunicode()で生成したユニコードのインスタンスをCレベルで操作したいという話です。
初期のUnicodeが16ビット固定長だった事は知っています。
しかし現在は21ビットにまで拡張されています。
ということは16ビットでは不足するケースがあるわけで、
原理的に固定長決め打ちというわけにはいかないはずです。
また、pythonのレベルからはunicode文字列の実バイト数を知るメソッドが見付けられませんでした。


833 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 12:23:50 ]
あ、>>832は、コードポイントをそのまま二進数で表現していると推測しています。


834 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 12:28:16 ]
また、BMPだけならば16ビット固定でも良いのでしょうが、
Pythonのunicodeobject.hやunicodectype.cには
UCS2、UCS4という文字列が両方とも含まれているので、
16ビット固定なのか32ビット固定なのか良く分かりません。


835 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 12:30:07 ]
2バイト固定や4バイト固定と知っているならそうと、どちらかなら判別方法を教えてくれればいいのに、わざわざUTF-8を持ち出して混乱させようとするなんて、ほんとににちゃんねるってのは根性悪いですね。
さようなら。


836 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 12:34:52 ]
さようなら

837 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 13:10:56 ]
>>> u=u'日本語'
>>> u
u'\u65e5\u672c\u8a9e'
>>> s=u.str()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'unicode' object has no attribute 'str'
>>> s=str(u)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)
>>> l=u.split()
>>> l
[u'\u65e5\u672c\u8a9e']
>>> l=u.split(u'')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: empty separator

uを
s='\x65\xe5\x67\x2c\x8a\x9e'
または
l=[0x65,0xe5,0x67,0x2c,0x8a,0x9e]
というバイト列にしたいのですが
どのような方法があるでしょうか?


838 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 13:16:32 ]
>>> u=u'日本語'
>>> u
u'\u65e5\u672c\u8a9e'
>>> l = []
>>> for i in u:
...      n = ord(i)
...      l.extend((n >> 8, n & 0xff))
...
>>> l
[101, 229, 103, 44, 138, 158]
>>> map(hex, l)
['0x65', '0xe5', '0x67', '0x2c', '0x8a', '0x9e']




839 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 13:26:59 ]
>>834
len(u'\U00010000')

840 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 13:49:25 ]
>>838
thx!

>>> u=u'日本語'
>>> map(hex, reduce(lambda x, y: x + [ord(y) >> 8, ord(y) & 0xff], u, []))
['0x65', '0xe5', '0x67', '0x2c', '0x8a', '0x9e']


841 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 13:51:27 ]
おいおい。
sys.setdefaultencoding()で文字コードを再設定してやるのが先だろ?
むちゃくちゃやってやがるな……。

842 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 13:55:33 ]
>>828

843 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 15:54:14 ]
もう手遅れかもしれんが、Pythonとunicodeについて。
Pythonのビルドオプションで、unicodeはUTF-16とUCS4が選択できる。
デフォルトではUTF-16になっていて、これはWindowsでUnicodeファイル名を
そのまま扱えたり、.NET や JVM のUTF-16文字列と互換性があったりと、
相互運用性が求められるときに便利。

でも、一文字を1カウントで扱いたいという要求もよくあり、 .NET/JVM/WindowsAPI などとの
相互運用性が求められない分野ではUCS4が使われることもある。
たとえばFedoraやUbuntuなんかのPythonはUCS4でビルドされている。

844 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 20:02:10 ]
import sys
sys.argv.append("-n")
from idlelib.PyShell import main
main()

スクリプトの最後にこう書けばIDLEのインターフェイスを
立ち上げることができるんだけど,その時 Tk の
メニューを隠すとかできないもんかなぁ.

PyShell のコード自体に手を入れることはしたくない.

845 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 22:22:58 ]
しかし、ほんとユニコードってうんこ仕様だな。
まさに誰得だよ、これ。

846 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 22:32:35 ]
>>845
まあ欠点も色々あるが、結局Unicodeほど便利な文字コードも無いからな。
特にWebアプリはUTF-8で統一してしまうのが一番簡単。

847 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 23:08:02 ]
UTF-8はBOMをつけてはいけないという仕様にしてくれてれば殆ど困らなかったのになぁ。

848 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 23:26:21 ]
むしろ日本人ならBOMに理解を示そうよ。
一番BOMの恩恵受けるのは日本なんだし。



849 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 23:42:04 ]
UTF-16ならBELEあるからBOMの必要性がわかるが、
なんでUTF-8にBOMが必要なんだ?

いやとあるスレで、SJISやEUCテキストとの識別を容易にするために
BOM付きUTF-8を提案したのは俺だったりするのだが。

850 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 23:52:04 ]
BOMはトラブルの元って認識なんだが。

851 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 00:12:02 ]
Pythonやっぱつかえねーなー

852 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 00:20:26 ]
BOMはPython関係ねー

853 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 00:37:51 ]
やっぱRubyだなー

854 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 00:38:04 ]
UTF-8でソース書くときは
いつも付けてるが。

855 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 00:45:08 ]
>>850
BOM のせいで shebang がどうさしないとか

856 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 00:49:52 ]
PythonやPerl、Lispはやってて面白いし使える言語だがRubyだけは使いたくないな
存在価値も無いし

857 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 02:53:36 ]
Rubyしかありえねえだろ。日本だぞここは

858 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 03:19:11 ]
俺にとって四国は海外なので無問題。



859 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 03:20:32 ]
四国と何の関係があるの?

860 名前:858 mailto:sage [2009/09/15(火) 04:05:24 ]
松江って四国にあると勘違いしちゃった。テヘ

861 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 05:39:33 ]
松山と間違えたわけか

862 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 07:48:27 ]
>>843
ありがとうございます、助かります。
ヘッダやライブラリの何かの変数でどちらか判定できそうかと思ったんですが、
そこまでは分かりませんでした。
でも、debian sid x86_64ですが、UCS2っぽいです。
UCS2だとwchar_tを使っているみたいなのでなんとかなりそうです。
ctypes.c_wchar_pも使えそう。


863 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 08:12:56 ]
withステートメントの意義が分からない

864 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 08:36:39 ]
スレッドの同期オブジェクトをwithで使えるクラスを書いておくと、めーっちゃ便利。

def something(self):
 通常の処理

 with SynqObj(self.lock):
  クリティカルセクションな作業
 
 通常の処理

865 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 09:12:14 ]
>>862
関係ないかもしれないけど gcc で wchar_t って UCS-4 相当というか4バイトじゃなかったっけ?

866 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 10:39:39 ]
>>862
pyconfig.hに
Py_UNICODE_SIZEってのがある

867 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 10:48:49 ]
>>860-861
中国はパスポートが必要


868 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 10:50:14 ]
>>864
thx!



869 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 11:40:05 ]
あれ、with lock: ... って書けるよね。threadingでもthreadでも

870 名前:デフォルトの名無しさん [2009/09/15(火) 12:00:28 ]
with 構文の as は何のため?

871 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 12:33:02 ]
reStructuredTextをはがしてPlain Textにするモジュールってありますか?

872 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 13:18:30 ]
>>869
ああ、864は複数のスレッドの呼び分けをログで確認するためにラッパーを介しているだけだから。キニスンナ。
普通はlockオブジェクトを直にwith呼び出ししてかまわない。

>>870
Python 2.6のリリースノート読め!

873 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 13:44:36 ]
>>871
ttp://stackoverflow.com/questions/1192632/how-to-convert-restructuredtext-to-plain-text

874 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 14:08:01 ]
>>873
サンキュー。
でもドキュメント無いからソースよめってことね…。

875 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 14:29:11 ]
shebangのこと忘れてたよ

876 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 14:38:22 ]
rst2xxx -> xxx2txt みたいな経路でいけないかな?

877 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 16:39:11 ]
Pyhton3.0以降の言語仕様を日本語で解説してるサイトや書籍ってある?

3.0以降の資料が少なすぎて、勉強がさっぱり進まない
やはり英語を覚えるのが先なのか・・・

878 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 17:24:52 ]
腐るほどあるような気が
Python3.0でググるよりPython3000のほうが多いかも



879 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 18:29:18 ]
オライリーの第3版初めてのPythonの中でちょっとだけ触れられている

880 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 18:37:56 ]
>>878
うーん、一部を解説したものしか見つからない
できたら3.1までの仕様変更点を全て網羅している
解説が欲しいんだけど

881 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 18:56:31 ]
>>880
Python 3.0/3.1のリリースノートを読むのが結局一番早いよ。
Pythonはこの辺とても丁寧。

ところで、
IronPythonに向いた軽量なO/Rマッパーが見当たらなかったので
『100行ちょっとのやる気のないPython製O/Rマッパー』をベースに
実装してみたんだけど、試してみたい人います?

一応、Python/IronPython両用です。

882 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 19:25:58 ]
>>877
読んでみたけど
ttp://docs.python.org/3.1/whatsnew/3.0.html
ttp://docs.python.org/3.1/whatsnew/3.1.html
これくらいのボリュームなら自動翻訳でもかなり役立つと思うが。

# この先、仕事でプログラムするなら英語は何れ必要となるだろうからガンバレ
# 最近の翻訳は中国語から順に整備される傾向があるからな・・・

883 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 19:35:40 ]
>>866
確かにありました。
4になっていました。

>>865
sizeofで確認したところ確かに4バイトでした。
pyconfig.hの記述と一致してます。
UCS2って2バイトだと思ってましたが、
実装上はwchar_tで表現するので4バイトになってるってことなんでしょうか。
UCS4は元が4バイトですよね。
とりあえずPythonではunicode一文字は4バイトと思って良いのかな。
ほんとunicodeとその周辺のエンコーディングはよく分かりません。


884 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 19:40:43 ]
>>881
柴田さん乙

885 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 19:47:36 ]
pyconfig.hはautoconfなんかで出力してんじゃないの

886 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 20:37:03 ]
>>883
ucs4を使うかutf-16を使うかはconfigureオプションで指定して、
sizeof(wchar_t) == 4 && ucs4 の場合か、 sizeof(wchar_t) == 2 && utf-16 の場合にのみ
wchar_t を使う・・・という仕様だった気がする。
Pythonの拡張モジュールを作るときには、wchar_tを直接使うんじゃなくて、
Py_UNICODE を使う。
docs.python.org/c-api/unicode.html#Py_UNICODE

887 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 22:00:25 ]
>>886
あー、なるほど・・・
とりあえずLinux(gcc)ではi686でもamd64でもwchar_tがあり、
>>865さんの指摘どおり両方とも4バイトでした。

UCS4の場合にはどちらもwchar_tで4バイトですが、
UCS2(UTF-16)の場合にはwchar_tと不一致なので
unsigned shortが使われるようです。
これも両方共2バイトでした。

ということで、Linux(gcc)ではUCS2ならばunsigned shortで2バイト、
UCS4ならばwchar_tで4バイトということですね。
最近のLinuxディストリビューションではUCS4が多いらしいです。
Debian sidでもそうです。

Py_UNICODEを使った方が良いのだと思いますが、
Cで書く部分はできるだけPython独立にしておいて
ctypesからそれを利用したいので、
とりあえずwchar_tを使うことにします。

でもimmutableだからなのか、unicodeをそのまま渡して
中身を変更するような事はすぐにはできないっぽいです。
create_unicode_bufferを使うしかなさそうです。


888 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 22:08:01 ]
boostPython



889 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 00:13:28 ]
>>881
プププ、クソ本の著者乙(wwWwwwwWWWwwwWwWwww

890 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 00:15:28 ]
>>884,889
いや、当の著者の再配布許可が出たところなんだけど。
別に信じないならいいけどさ。

891 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 00:37:33 ]
884と889は低脳。
みんぱいの人に嫉妬するクソ本作者。

892 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 00:52:06 ]
またruby房の嫌がらせか

893 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 09:03:24 ]
大抵の謎の書き込みは >892 で納得できちゃうね

894 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 09:47:25 ]
Pythonスレはスルー力が有って良いと思う

895 名前:デフォルトの名無しさん [2009/09/16(水) 10:48:56 ]
何か書こうと思ったんだけど忘れた

896 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 12:09:33 ]
逃げるなよ。

897 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 12:27:59 ]
逃げるが勝ちだな

898 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 12:41:43 ]
逃げちゃだめだ



899 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 18:05:00 ]
>>888
ひょっとしてctypesよりboost.pythonの方が良いっていう意味のレスですか?
そうでないとしても、それをきっかけにしてboost.pythonも検討してみました。

boost.pythonとしては、まだunicode文字列を引数としてどう受け渡すのか
方式が定まってないっぽいんですが、とりあえずPyObject* opとして受け取って
PyUnicode_AS_DATA(op)でconst char*として実際のデータバッファのアドレスを取り出して、
それをwchar_t*にキャストして自作のC++関数などに渡せば良さそうです。
C++ではwchar_t*として扱うPython独立なプログラムとして作成して、
引数を渡すところだけはこの変換をするために一枚かぶせる感じです。
unicodeの実装がwchar_tではない場合には困るんすが、C++だし、
とりあえずテンプレート使っておけば後々それほど困らないでしょうし。

これでunicode文字列をC++の中で書き換えることもできました。
boost.pythonって、ほんとに楽にC++とやりとりできますね。


900 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 18:42:02 ]
>>897
働いたら負けだよな。

901 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 19:30:48 ]
俺が逃げるまで逃げるなよ

902 名前:デフォルトの名無しさん [2009/09/17(木) 06:49:55 ]
はやくにげてえーーーー

903 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 11:18:04 ]
boost.python前提になると他の言語からも使えるdllにならない

904 名前:デフォルトの名無しさん [2009/09/17(木) 11:28:50 ]
Eclipse で Java 開発環境と mingw による C言語での開発
環境をスタンドアロンで持ち歩いてるんですが,
PyDev と Python 実行環境もそんなことができればなぁ
と思ってます.Windows 環境です.

Windows の Python はレジストリに何か登録しているよう
なんで,そういうポータブルなことは難しいでしょうか?

905 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 11:54:05 ]
portablepython.com/
公式からもリンクされてるからそんなに怪しいものでは無いと思う。
公式からのリンク:python.org/download/

906 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 20:32:24 ]
>>903
まずはC++で(Pythonその他から)独立したクラスを作っておけばいいんじゃないですか?


907 名前:デフォルトの名無しさん [2009/09/17(木) 21:24:45 ]
unittest.TextTestRunner で複数のテストを次々と実行するトキ,
最初に発生した例外でストップしてほしいんですが,できますか?

908 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 05:57:29 ]
emacsのpython-mode.elで、ユニコードリテラル中にエスケープせずに文字を書くのと、
エスケープコードを書くのとで、py-execute-bufferの際に別物にされてしまう。
(素のバイトストリング扱いになるらしい)

C-x C-f foo.py
#!/usr/bin/python
# -*- mode: python-mode; coding: utf-8 -*-

print u'あ' == u'\u3042'

C-c C-c => False

$ python foo.py
True

どうしたものか。



909 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 08:15:29 ]
sys.getdefaultencoding()

910 名前:908 mailto:sage [2009/09/19(土) 04:44:02 ]
sys.getdefaultencoding() は環境によらず ascii を返すので原因は違うところにあるようだ。
ちなみに locale.getdefaultlocale() はいつでも ('en_US', 'UTF8') が帰る。
C-c ! で ipython を出しておいて C-c C-cすれば普通にターミナルからやるのと同じ挙動に
なったので、それでいいことにしたわ。

911 名前:デフォルトの名無しさん [2009/09/19(土) 09:48:33 ]
循環参照してしまうとそのオブジェクトはプロセスの
終了まで解放されない?

class ClassA(object):
    def __init__(self):
        import sys
        sys.stderr.write("ClassA.__init__(...) %s\n" % str(self))
    def __del__(self):
        import sys
        sys.stderr.write("ClassA.__del__(...) %s\n" % str(self))


class ClassC(object):
    def __init__(self):
        import sys
        sys.stderr.write("ClassC.__init__(...) %s\n" % str(self))
        self.a1 = ClassA()
        self.a2 = ClassA()
        self.a1.a2 = self.a2
        self.a2.a1 = self.a1

    def __del__(self):
        import sys
        sys.stderr.write("ClassC.__del__(...) %s\n" % str(self))

これで ClassC のインスタンスを作ると,
ClassA.__del__ は永遠に呼び出されない.
せめてプロセスの終了時には呼び出されると思ってた.

912 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 09:57:26 ]
ふうむ,ガベージコレクタが __del__ の
呼び出し順を決定できないからか.
そもそもデストラクタがあるのに循環参照が
起きるような設計をするなということだよな.

913 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 10:45:10 ]
>>908
C-x C-f foo.py
#!/usr/bin/python
# -*- mode: python-mode; coding: utf-8 -*-

print u'あ' == u'\u3042', hex(ord(u'あ')), u'あ'.encode('utf8')

C-c C-c => False (どうなりますか?)

914 名前:908 mailto:sage [2009/09/19(土) 17:52:16 ]
>>913
C-c C-c => False 0x20
と出ます。u'あ'.encode('utf8') はエラーも出さずに飲み込まれてしまっているみたい。ちなみに
print u'あ’ -> なにも表示されない、
print u'\u3042' -> UnicodeEncodeError: 'ascii' codec can't encode character u'\u3042'...
となる。あらかじめC-c ! でipythonのバッファを出しておけばこれらの問題は起きない。


915 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 19:40:27 ]
>>911
そういうのって明示的に循環参照削除するメソッド作って呼び出すもんじゃないの?
と最近Pythonに興味もったPerl使いが言ってみる。

Perlだと参照を弱める(リファレンスカウント減らす)方法あるけど、
Pythonだと似たような方法有るのかな。

916 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 19:57:07 ]
del

917 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 19:58:55 ]
boost だと weak_ref とかの弱参照なスマートポインタがあるよな

918 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 20:00:17 ]
Pythonにもweak_refあるけど、やっぱり明示的に参照切るほうが多いかな。
weak_refは余計なコストかかるし。



919 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 20:08:20 ]
>>915
www.python.jp/doc/2.4/ext/refcounts.html

これ、絶対入ってるよね。
(文中の『デフォルトでは入っています』に対するレス)

920 名前:デフォルトの名無しさん mailto:sae [2009/09/19(土) 22:27:55 ]
infopile思ったより本格的だった
朝から使ってたけど普通に常用メーラで行けそう

921 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 22:40:02 ]
C++は元々が自前でメモリ管理しなきゃいけないから余計にああいうの欲しくなるけど
最低限で済むPythonではやはり最低限で良いと思うやね

922 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 22:54:52 ]
>>920
宣伝乙

923 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 23:47:44 ]
>>920
Windowsだけなんだっけ?

924 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 23:35:03 ]
>>> L=[]
>>> L[:]
[]
>>> L[:]=[1,2,3]
>>> L
[1, 2, 3]

リストの初期化がなんか違和感が…
納得できん

925 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 23:43:30 ]
2つのクラス同士でクラスオブジェクト同士を相互参照したい場合、
class Topic:
 child = Reply

class Reply:
 parent = Topic

なんて書いてたら、当然2行目で未定義識別子の参照でエラーになる。
これって、2つの定義を相互参照なしに定義した後で、classmethodを明示的に呼び出して
動的に結びつけるしか方法がないよね?

用途としては自作の軽量ORMライブラリを作ってるところで、
オブジェクト化したテーブル同士の親子関係を表現しようとしている。
で、例えばTopicから連結されてるReplyのインスタンスが欲しいので何らかの形で事前に教えておく必要がある、と。

926 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 23:51:30 ]
class Topic:
    pass

class Reply:
    pass

Topic.child = Reply
Reply.parent = Topic

927 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 00:01:17 ]
>>924
それ、初期化じゃなくて代入だから・・・

928 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 00:38:33 ]




929 名前:デフォルトの名無しさん [2009/09/21(月) 01:38:05 ]
>>924
の思考に違和感が

930 名前:デフォルトの名無しさん [2009/09/21(月) 01:40:50 ]
class Topic:
 children = []

class Reply:
 parent = Topic

Topic.children.append(Reply)

931 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 09:21:42 ]
>>924
入門書嫁。

932 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 09:34:48 ]
>>924は何に対して違和感を感じているんだろう
配列が伸び縮みすることになのか
要素の範囲を指定して代入することになのか
L[:] ってなんかきんもー、なのか

933 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 10:42:30 ]
>>> l=[9,8,7,6]
>>> l
[9, 8, 7, 6] <- 普通
>>> l[1:]=[3,4,5]
>>> l
[9, 3, 4, 5] <- 普通
>>> l[1:]=[2,1]
>>> l
[9, 2, 1] <- きもい
>>> l[:]=0
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can only assign an iterable <- 微妙
>>> l[:]=[0,0]
>>> l
[0, 0] <- きもい


934 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 10:47:29 ]
[1:]=の結果に違和感覚えないのに[:]の結果に違和感覚える理由が解らん

935 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 11:08:09 ]
>>933
スライスの代入で左辺と右辺のリストの要素数が
一致していなくても構わない(右辺にあわせて伸び縮みする)のが気持ち悪いってこと?
だったらリンクリストでも勉強すれば違和感なくなるんじゃないかね

936 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 13:53:54 ]
>>934
>>> l[1:]=[2,1]
>>> l
[9, 2, 1] <- きもい

937 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 14:02:18 ]
だから入門書読めよ低脳。

938 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 14:14:12 ]
バカだなあ。



939 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 14:31:56 ]
つーか、それがキモイならスライスの意味ないだろとw

940 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 17:05:35 ]
>>> l[1:]=[3,4,5]
>>> l
[9, 3, 4, 5] <- 普通
>>> l[1:]=[2,1]
>>> l
[9, 2, 1] <- きもい

このきもいと普通の違いがわからん
要素が1個減ったらきもい?何か見落としてるんだろうか・・・

941 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 17:42:29 ]
C言語の配列かなんかと勘違いしてるんじゃね?
抽象度の高い操作を理解できないとか

942 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 18:08:31 ]
スライスの代入ってあんまりやんないからどうでもいいや

943 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 20:57:09 ]
python の配列って中身はリストなんですか?

と思ったら
L=[]
で L に代入してるな orz

944 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 21:06:25 ]
変数名がL,M,Nではじまる場合にはリストなんだよ。


945 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 21:12:52 ]
>>941
あぁ。3要素のときはreplaceに見えるからきもくないのか
よくわかったありがとう

946 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 21:13:33 ]
Pythonのお勉強 Part35
pc12.2ch.net/test/read.cgi/tech/1253535109/

947 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 21:30:13 ]
>>943
質問の意味がよくわからないが、
Pythonのリストはメモリ上の連続領域を利用した配列型のリスト
(C++のstd::vectorやJavaのArrayListの類)

いわゆる連結リストではないので途中に挿入する操作には弱い。

948 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 23:45:44 ]
>>942
直感的に思えないから、俺もあまり使わないな。
冗長でも、新しいリストを作ってしまうな



949 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 02:10:54 ]
>>948

>>947 の言う通りなら新しく作りなおしてもそんなに速度は変わらなさそうですね

950 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 10:35:41 ]
実装は連続メモリ型かも知れんが
表向きリストのような動作をするように設計されてんだろうな

951 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 12:59:51 ]
from VideoCapture import Device

cam = Device()
cam.saveSnapshot('image.jpg')







[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<189KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef