1 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 19:09:55 ] Pythonオフィシャルサイト www.python.org/ 日本Pythonユーザ会 www.python.jp/Zope/ まとめWiki python.rdy.jp/ 関連スレ find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python 前スレ pc11.2ch.net/test/read.cgi/tech/1223543412/
802 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 17:22:40 ] すみませんが、質問です。 ジェネレータを通常のリストに変換する簡潔な方法は無いでしょうか? ジェネレータが逐次返してくる値を全部まとめたリストを得たいのです。
803 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 17:40:37 ] >>802 [ e for e in G ]
804 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 17:40:42 ] list
805 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 17:54:45 ] >>804 おお、こんなクラスが。ありがとうございました。 > Help on class list in module __builtin__: > > class list(object) > | list() -> new list > | list(sequence) -> new list initialized from sequence's items >>803 リスト内包表記もかなり簡潔ですね。
806 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 17:56:49 ] >>791 早速ありがとうございます!! でも実行すると最後にエラー出てました EnumWindowsCallback = CFUNCTYPE(c_int, c_int, c_int) ↓ EnumWindowsCallback = WINFUNCTYPE(c_int, c_int, c_int) でエラー出なくなりました >>794 きれいなコードですね ありがとうございました!!
807 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 18:21:56 ] >>796 駄本の著者だな
808 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 18:54:21 ] 景品表示法的にグレーな本書いた人ね
809 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 19:05:47 ] ttp://www.amazon.co.jp/dp/4777513688 続編は内容的にガッカリらしい
810 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 21:15:32 ] 恥ぱい
811 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 21:27:53 ] 中身がハッカーズ大辞典やアンサイクロペディアみたいなノリだったら あのタイトルでも許せたんだけどな。
812 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 05:52:00 ] イテレータから、n 個ずつとってまとめたタプルを 次々返すようなジェネレータって標準モジュール内にないですかね? itertools 内を見回しても見当たらないんですけど・・・ 結構使う機能なので、使うたびにジェネレータ定義するの面倒だし、 この機能だけのためにモジュール定義するのとかも面倒だし、 標準モジュール内であると楽なんですが・・・
813 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 06:03:34 ] あの、回答まだでしょうか?
814 名前:デフォルトの名無しさん [2008/12/27(土) 08:06:33 ] 正月休みです
815 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 10:03:05 ] from 俺のitertools import pair def pair(iterable, count): """ >>> list(pair(range(10), 3)) [(0, 1, 2), (3, 4, 5), (6, 7, 8), (9,)] """ iterable = iter(iterable) stop = False while not stop: y = () try: for i in range(count): y += (iterable.next(), ) except StopIteration: stop = True if y: yield y
816 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 10:46:00 ] >>812 > この機能だけのためにモジュール定義するのとかも面倒だし、 Pythonのモジュール作るのは別に面倒じゃないと思うんだが…… つーかPythonのスクリプトって特別な呪文を唱えずとも全部モジュールとして 使えるわけだし、せいぜい既存のモジュールとファイル名がかぶらないようにだけ 注意しとけばいい PYTHONPATH, PYTHONSTARTUP, sitecustomize.pyなどの手段で sys.pathに自分用スクリプトディレクトリを加えておくといいぞ Pythonみたいにモジュールが使いやすい言語でコードの再利用を考えないのは損だ
817 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 11:47:56 ] >>815 >>816 分かりました。 myitertools.py みたいなのを作ってやってみようと思います。
818 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 11:57:00 ] ちょっと違うけど短くかけるな def pair(iterable, n): return izip(*[iter(iterable)]*n)
819 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 11:58:45 ] うへ,tuple って immutable っていうから += みたいなのはなしかと思い込んでた…
820 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 12:25:32 ] a += b って a = a + b として処理されるんでないの
821 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 12:26:35 ] もちろんそうだよ。
822 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 12:27:53 ] >>820 __iadd__()がある場合は__iadd__()で処理される 無い場合は、__add()__を用いて処理される immutableの場合は当然__iadd__()なんてものはないから 普通に__add()__を用いて新しいオブジェクトが作られる
823 名前:822 mailto:sage [2008/12/27(土) 12:28:50 ] なんだ__add()__ってw まあ意味分かるよね、ごめん
824 名前:デフォルトの名無しさん [2008/12/27(土) 21:48:30 ] >>> zip(*[iter(range(10))]*3) [(0, 1, 2), (3, 4, 5), (6, 7, 8)] >>> zip(*[iter(range(10))]*4) [(0, 1, 2, 3), (4, 5, 6, 7)]
825 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 22:14:25 ] >>815 >>818 >>824 この場合は末尾の扱いってどうすべきなのかな
826 名前:デフォルトの名無しさん [2008/12/28(日) 00:07:52 ] 用途によって末尾が必要な場合・不要な場合があるけど、 tupleで返す場合の戻り値は >>824 のように固定長にすべきじゃないかな。 また、>>815 は、while ループ一巡辺り最大で tuple += tuple で count - 1個, (iterable.next(), ) で count 個の不要な一時tupleオブジェクトが作成される。 この場合の作業変数はlistを使う方がベター。
827 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 05:15:16 ] 余りが出たら、最後をデフォルト値で埋めてみる def padpairs(iterable, n, default=None): x = chain(iter(iterable), repeat(default, n-1)) return pair(x, n) # pair は >>818 の奴 >>> list(padpairs(range(10),3)) [(0, 1, 2), (3, 4, 5), (6, 7, 8), (9, None, None)] >>> list(padpairs(range(10),4)) [(0, 1, 2, 3), (4, 5, 6, 7), (8, 9, None, None)]
828 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 10:12:17 ] 2.6以上ならizip_longestが使える
829 名前:デフォルトの名無しさん [2008/12/28(日) 10:32:42 ] >>827 GJ
830 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 15:09:27 ] >>828 2.5でもmap使えばいいだろ
831 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 15:35:12 ] 愚直にitertools.isliceで。 import itertools def pair(iterable, count): it = iter(iterable) while 1: a = tuple(itertools.islice(it, count)) if not a: break yield a print list(pair(range(10), 3))
832 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 16:46:42 ] 俺も考えてみたけど、>>824 のシンプルさには敵わないな >>> import itertools >>> make_taker = lambda xs, n: lambda: tuple(itertools.islice(xs, n)) >>> iter_take = lambda xs, n: iter(make_taker(iter(xs), n), ()) >>> list(iter_take(range(10), 3)) [(0, 1, 2), (3, 4, 5), (6, 7, 8), (9,)]
833 名前:デフォルトの名無しさん [2008/12/28(日) 19:14:36 ] see also itertoolsのドキュメント内 izip と 例 の grouper関数
834 名前:デフォルトの名無しさん [2008/12/29(月) 00:37:20 ] >>830 mapだとイテレータや巨大なリスト等を扱うとき困る。itertools.imapだと末尾の扱いが若干異なる。 3.0 のbuiltinのmap はitertools.imap相当なので、mapで長さの異なるリストを扱っている場合は3.0への移植の際に注意が必要。 例えば、下のコードは 2.x と 3.0 で結果が異なる。 >>> list(map(lambda *xs:xs, *[iter(range(10))]*3))
835 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 01:42:21 ] >>832 nが大きな数になる時を考慮するなら、こっち(islice)の方が効率良さそう。 元質問からは少し外れるけど、file-likeオブジェクトや文字列の場合。 try: from io import StringIO except ImportError: from StringIO import StringIO def split_nbyte(stream, n): return iter(lambda :stream.read(n),"") def split_nbyte_str(s, n): return group_nbyte(StringIO(s), n)
836 名前:デフォルトの名無しさん [2008/12/29(月) 08:17:15 ] ie = win32com.client.Dispatch('InternetExplorer.Application') ie.Navigate('www.google.co.jp/ ') ie.Visible = True while ie.busy: time.sleep(1) q = ie.document.all('q') q.Value = 'python' btnG = ie.document.all('btnG') btnG.click() これでGoogleの検索が出来ることが分かったのですが 検索結果を取り出す方法が良く分かりません どうすれば出来ますか
837 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 08:32:37 ] print ie.document.body.innerHTML
838 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 08:53:40 ] っつーか urllib2 じゃいかんのか なにがしたいのかによるが
839 名前:デフォルトの名無しさん [2008/12/29(月) 09:06:23 ] エラーが出ます><
840 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 11:12:01 ] Python3.0なんですが、urllib2がインポートできないのでそうしました。 あきらかに日本語ドキュメントがおかしいです。存在しません。
841 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 11:14:54 ] >>840 py3k の使用はもうちょっと待ったほうがいいって。
842 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 11:18:50 ] 今の日本語ドキュメントは2.5用
843 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 11:24:02 ] 3.0ではurllib周り大刷新してたはず
844 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 12:00:25 ] こんなところで質問する人間が使うバージョンじゃない。> 3.0
845 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 12:16:30 ] 正式リリースされているんだからもっとレスがついていいと思う
846 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 12:42:20 ] 英語読めない奴は2.5系使うのがいいよ。
847 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 12:43:50 ] 英語読めても各種ライブラリを自分で移植したりビルドする気のない奴は(ry
848 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 12:57:35 ] 正式リリースされたからってすぐ飛びつくもんじゃない。 メーカー製品みたいに、ドキュメントからサポート体制からリリースに合わせて 全力で整えてるわけじゃないんだから。
849 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 12:59:05 ] 3.0から入るのも良いけれど、その場合は日本語ドキュメントはアテにならないから 英語ドキュメント読まないと。
850 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 18:34:58 ] 怒濤の勢いで止めとけレスがw
851 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 19:15:45 ] 僕はパイソンを使う権利が無い、資格が無いという事ですね。 こんなだから日本のPythonユーザの数は少ないんじゃないでしょうか。 明らかにおかしい。
852 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 19:27:26 ] どのバージョンも好きに使う権利があるが、 2.5.2がふさわしい。むしろ2.5.2のThe King。
853 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 19:32:18 ] >>851 出たばかりだから枯れてないし、情報も出回ってないから、 古いの使っとけ、というアドバイスをそこまで曲解するほうがおかしい。
854 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 19:38:22 ] >>851 は荒らしだろ、相手にするなよ。 でも>>851 の親がイカれた奴なのは確かだ。
855 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 19:40:42 ] >>854 相手するなよ
856 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 19:47:43 ] ろくにwhat's newも読まずに最新のバージョンを使って、urllib2がインポートできない からとwin32comを使い、3.0は止めとけばと言われれば僻み丸出しとか馬鹿なの?
857 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 20:31:39 ] まあそう煽るなよ 初心者ならドキュメントの類を隅々まで読んでいないのも 一番新しい正式リリース版をインストールするのも、別に不思議なことじゃない >>851 はいつもの釣りだろ
858 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 20:33:32 ] まあ普通にバカだわな
859 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 20:45:17 ] >>852 っ2.5.4
860 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 22:27:45 ] またruby厨の降臨かよ
861 名前:デフォルトの名無しさん [2008/12/29(月) 22:47:04 ] >>847 Ruby使うのやめてPythonにしたのは 各種ライブラリがそろってて Rubyみたく自分で移植しなくてもよかったから いまさらPy3kでライブラリ移植する必要が出てくるなら Ruby使ってた方がまし
862 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 22:48:08 ] マニュアルの類は読まないってのが世間一般の常識として浸透してるから そう目ゴジラ立てて怒らんとってくれ。
863 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 22:48:56 ] アドバイスだよ
864 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 23:00:10 ] アドバンスなら大いに結構
865 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 23:00:48 ] なんかレベルというより年齢層が高くなってきたな。
866 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 23:06:28 ] >>861 ならRuby使ってればいいじゃない 誰も君に強制はせんよ
867 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 23:19:43 ] エンドユーザーならまだしも開発者がマニュアル読まないとかバカですって言ってるようなもんだろ
868 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 23:20:47 ] >>867 もう3.0の仕様を隅々まで把握してんのか? すげーな
869 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 00:12:19 ] >>861 Pythonは、2.x の間は下位互換性を大事にバージョンアップしてきたし、 2.x -> 3.y は下位互換性失われるけど、 3.x -> 3.y はまた互換性をできるだけ 確保しながらバージョンアップしていく。 Rubyだと、1.8->1.9 でも、 1.9->2.0 でも、きっと互換性の問題出るよ。
870 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 00:28:41 ] >>868 差分があるしね
871 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 00:34:38 ] >>868 必要に応じてマニュアルを読む事とマニュアル全てを把握している事は別
872 名前:デフォルトの名無しさん [2008/12/30(火) 01:06:39 ] >>869 1.8.6→1.8.7でも互換性の問題あるし、 1.8.6でも仕様を替えて互換性がなくなったこともあった。
873 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 01:35:53 ] Rubyの問題は仕様が明示されていないことだ。 互換性の問題があるのかどうかすら分からないのだ。 こんな言語を仕事に使おうと思う奴は馬鹿かアホかキチガイだと思う。
874 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 01:39:47 ] Python仕事に使ってんのか いいな
875 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 01:45:02 ] 3.0 始める人は、What's new, PEP3000 と 2to3 くらいは把握しておいた方がいいと思う。 ライブラリで移動したものも捕捉してくれる。>2to3 - from urllib2 import urlopen + from urllib.request import urlopen ところで、googleでの検索なら API 使ったほうかいいんじゃないかな。 google 検索を urllib でやる場合、UserAgent 等を設定しないといけないので注意。 また、自前で検索結果をパースする場合 BeautifulSoup 使いたいなら 3.0 だとまだちょっと手間がかかる (windowsユーザにとって)。先日のリリース で BeautifulSoup も 3.0 に対応したみたいだけど、 パッケージ内に diff や パッチを当てるto3.sh が含まれているだけなので、自分でパッチ当てないといけないみたいだし。
876 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 02:07:46 ] まあその辺は元からのPythonユーザや、このスレ見てる人にはわかってることでしょ Pythonとやらを試してみっか、と考えた大量の新規ユーザが 地雷にはまってるだろうことは想像に難くないが
877 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 03:03:52 ] >>876 ライブラリが対応しているかどうかはプロジェクトのページを見れば書いて あるし、まだほとんどのlinuxディストリビューションでは3.0は標準でイン ストールされていない。その状況には同意しかねる。 それに公式のダウンロードページにもこう書いてある。 > Note that both Python 2.6 and 3.0 are considered stable production > releases, but if you don't know which version to use, start with > Python 2.6 since more existing third party software is compatible > with Python 2 than Python 3 right now. ここであえて3.0を選ぼうという初心者が大量にいるとは思えない。
878 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 03:11:25 ] そんなことはスルーor知らずに3.0選んでこそ真の初心者とも言えるがな
879 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 03:28:55 ] 初心者ならLinux使ってないだろうし 良く知らない言語をちょっと試すかってときに わざわざ英文なんて読まないよな
880 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 03:34:32 ] ttp://japanese.joelonsoftware.com/uibook/chapters/6.html
881 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 04:10:14 ] 日本語ドキュメント、書籍、等の外部のリソースの事も考えると 公式サイトの勧めているバージョンが、必ずしも全てのユーザに合ってるとは限らないってのが現状じゃない? いくら互換性があるといっても、(2.x系)例えば windowsユーザだと、ライブラリのインストールで ビルド済のインストーラが必要なユーザ層等もいるはずだし。 今は、若干 Python のリリースが先行してる時期だと思う。 早くどれかのバージョンに収束して欲しいという意味を込めても、 出来るだけ新しい安定版を勧めたいとこだけど... その辺(これからどのバージョンを使うか)の認識って皆どうなんだろう?
882 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 04:16:00 ] とりあえず、自分の認識をまとめて書き出してみる。(突っ込み歓迎) これからPythonを試してみる人 ライブラリ類が必要 -> 2.x 日本語ドキュメントも必要 -> 2.5 レンタルサーバで使いたい -> 2.4 が無難? これから新規にライブラリを書く既存Pythonユーザ 2.xユーザを考慮するなら -> 2.6 ベースでコード書いて2to3 新規にアプリケーションを書く人 ライブラリが必要なら -> 2.x 過去の遺産なんていらない -> 3.0 こんなアドバイス必要ない -> 複数バージョンをインストール済
883 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 04:39:04 ] >>866 国語力ないですねw
884 名前:デフォルトの名無しさん [2008/12/30(火) 05:32:48 ] これからPythonを試してみる人 -> 3.x ライブラリ類が必要 -> 2.6.x 日本語ドキュメントも必要 -> 2.6.x レンタルサーバで使いたい -> 2.6.x これから新規にライブラリを書く既存Pythonユーザ -> 3.x 2.xユーザを考慮するなら -> 2.6.x ベースでコード書いて2to3 新規にアプリケーションを書く人 -> 3.x ライブラリが必要なら -> 2.6.x こんなアドバイス必要ない -> どうせ読んでないだろうから何も言いません
885 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 05:44:29 ] いろいろ、ごにょごにょしようとすると、 ライブラリ便利だなぁ、、
886 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 06:06:17 ] ライブラリの力を自分の能力と勘違いしてしまいますよね
887 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 07:17:39 ] >>879 なら、本、買えよ 中央図書館で借りてこいや
888 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 07:29:43 ] いるいる 勘違いした香具師
889 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 07:39:06 ] >>879 > 初心者なら(略)読まないよな 帰国子女初心者の僕に対する挑戦と受け取りますた
890 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 07:57:41 ] BeautifulSoup Release 3.1.0 (2008/12/27) 2.4/3.0 のハイブリッド版。新しい機能の追加等はなし。3つの後方非互換が在り。 1. str()や__str__の振舞が変わる。-> バイト文字を得るにはencode()/unicode文字を得るには decode() を使う。 2. SGMLParserベースからHTMLParserベースに変更。(sgmllibが標準からなくなるため) 此れにより、壊れた HTML文書 を扱えなくなる。 将来のバージョンでは、速度と壊れたHTML文書の扱いのトレードオフで、パーサを選択できるようにする予定。 3. (Python3で) 属性中のエンティティの扱いで、パース時にunicode文字に変換されることがある。 例: <a href="crummy.com?sacré&bleu "> -> Python 3 では é が "\xe9" に。
891 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 08:27:42 ] 3.0対応版出すの早いな。GJ
892 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 08:33:57 ] ライブラリなかったら他の言語使うし
893 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 09:22:13 ] ライブラリ使わない開発なんてあるのか? Hello Python!レベル?
894 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 12:01:18 ] 帰国子女って変な用語だよな 帰国子士にすべき
895 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 13:11:55 ] 谷底から這い上がってきた感じがする
896 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 17:20:59 ] 僕も全然始めたばっかりの初心者だけど 3.0でUnicodeが云々で日本語の扱いがより簡単になった (2系程複雑じゃない?)から3.0から始めたいなぁ、とか思ったよ。
897 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 17:29:39 ] 今でもUnicodeEncode(Decode)Errorを見るとため息が出る。
898 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 17:37:04 ] UnicodeEncode(Decode)Error 慣れれば原因想像つくんだけど 途方に暮れてる人も多いんじゃないかな
899 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 17:42:28 ] 初心者にもいろいろいるだろう Perlから来た人 COBOLから来た人 FORTRANから来た人 とかの「他言語の経験のあるPython初心者」とか Linux?何それおいしいの?な「Linux初心者&Python初心者」とか プログラミング言語?何それおいしいの?っていうかWindowsって何?とか
900 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 18:38:37 ] >>896 >3.0でUnicodeが云々で日本語の扱いがより簡単になった より簡単になった? ご冗談はよしてください。
901 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 20:08:41 ] バイト列とユニコード文字列が別にあって でも両方にほぼ同じメソッドがあって(encode, decodeまで) でも中身は別物なので使い分けないといけない という状況が解消されたんだから 「より簡単になった」と言っていいと思うよ
902 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 20:47:36 ] 「マシになった」と言うべき