1 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 11:20:45 ] このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますが、 お礼は Python の布教と初心者の救済をお願いします。 エラーを解決したいときはエラー表示や環境を略さずに書き込んで下さい。 騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。 次スレは >>950 辺りで 前スレ くだすれPython(超初心者用) その4 pc12.2ch.net/test/read.cgi/tech/1243160751/ 関連スレ Pythonのお勉強 Part35 pc12.2ch.net/test/read.cgi/tech/1253535109/
47 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 21:15:24 ] >>43 ,44 ありがとうございます
48 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 23:28:00 ] if not os.path.isdir(path1):
49 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 18:52:00 ] コーディングの質問じゃないんですが… 当方昔少しだけperlをかじったようなものです (文法はほとんど忘れていてアルゴリズムなら多少見れば思い出すかもしれないっていうほとんど0からと変わらないレベルです) 趣味でunix系OS上でこまごまとしたアプリを作っていきたいのですが いきなりpythonから入って大丈夫ですか? なんだか今見ると、今からperlをはじめるには欠点ばかり目立ってしまう感じがして… pythonのコードを見たらすっきりしていて気に入りました
50 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 18:58:38 ] 大丈夫v
51 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 20:13:35 ] って言ってほしいんやろ?
52 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 20:53:53 ] 初心者を虐めるな _, ,_ パーン ( ‘д‘) ⊂彡☆))Д´) >>51
53 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 00:26:44 ] 虐めるな言ってもな… 例えばはじめるのに100万入会金払わないと行けないんやったら、そりゃ慎重にもなるわ んでも、これだけ無料でばら撒かれてるんだから、自分で始めてみりゃいいじゃん ましてや、過去に経験あるんやったらインストールだって楽勝だろ?
54 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 01:57:12 ] perlに関わるとろくなことにならんな
55 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 06:38:18 ] というか、いきなり入って大丈夫かどうかという指標は、 実際にいきなり入ってみた人の結果を集めて成り立ってるわけで、 コミュニティ側からすれば、>>49 にはその2009年度版の一データになる役目が 与えられている。データを使う側ではなく。 だから答は「大丈夫かどうかを確かめたいから、さっさとやれ」。
56 名前:デフォルトの名無しさん [2009/11/02(月) 12:59:22 ] PHP使ってた奴は総じてダメだな
57 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 15:11:48 ] お勉強スレが始まった頃は perler移民ばっかりだった。
58 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 18:07:59 ] lineという文字列の変数に正規表現にマッチする部分があれば、 指定した形に置き換えて、もとのlineとしたいのですが、 どう書けばいいのでしょうか?
59 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 18:13:15 ] Pythonの文字列はイミュータブル。 lineという変数に、新しい文字列を代入することはできるが、 元の文字列を変えることはできない。
60 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 18:30:38 ] >>59 ありがとうございます。 置き換えたものをline_replaceとした場合、どのように書くのでしょうか?
61 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 18:46:28 ] import re line = '適当な文字列' line_replace = re.sub('パターン', '置き換える文字列', line) 複数の正規表現を同時に使う時は、 キャッシュが追いつかなくなるかもしれないので 事前にコンパイルしたほうがいい。 あと、第二引数には関数も指定可。
62 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 18:48:07 ] >>61 サンクスです。
63 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 21:04:21 ] 関連して質問します。 re.sub() と pat = re.complie(); pat.sub() の違いについてなんですが、 re.sub() は毎回正規表現がコンパイルされますか?内部でキャッシュとかしてるんでしょうか。 pat = re.compile(); pat.sub() のほうが望ましいのは分かるんですが、正直面倒なので、 re.sub() のほうでキャッシュしてくれるんなら re.sub() で済まそうと思ってるんですが、どうでしょうか。
64 名前:デフォルトの名無しさん mailto:sage [2009/11/02(月) 22:22:12 ] キャッシュするよ re.purge()とか参照
65 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 11:48:33 ] 要素数が range である空のリスト a を作る方法は? range = 3 のとき a = [空,空,空] のようなリストがほしい。 できますか? 後、Pythonでは空をどう表現するのですか?
66 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 11:55:20 ] r = 3 l = [ "" for i in range(r)] print l
67 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 12:03:49 ] 初心者スレで変数名に小文字のLは勘弁してたも >>65 a = [None] * 3 とか 他の言語における空をPythonでどう表現するのか知りたいのなら その言語の名前を挙げたほうがいいかも
68 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 12:35:11 ] まぎらわしいので range じゃなくて r を使うけど、 (range という関数があるため) [None for a in xrange(r)]
69 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 18:59:32 ] すごくどうでもいいことかもしれませんが エンコードの指定するときに、 # coding: utf-8 # -*- coding: utf-8 -*- どちらの書き方でもOKなんですよね? 2つの書き方の意味の違いとか、こちらの書き方のほうが望ましい、 みたいなのって何かありますか?
70 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 19:01:52 ] >>69 2.1.4 エンコード宣言 (encoding declaration) www.python.jp/doc/release/ref/encodings.html
71 名前:デフォルトの名無しさん mailto:sage [2009/11/03(火) 19:15:01 ] l = [] * 3
72 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 02:32:29 ] >>71 それだと長さ0の空リストが1つしかできない
73 名前:デフォルトの名無しさん mailto:sage [2009/11/04(水) 06:47:41 ] >>71 www.python.org/dev/peps/pep-0008/ > Names to Avoid > > Never use the characters `l' (lowercase letter el), `O' (uppercase > letter oh), or `I' (uppercase letter eye) as single character variable > names. > > In some fonts, these characters are indistinguishable from the numerals > one and zero. When tempted to use `l', use `L' instead.
74 名前:66 mailto:sage [2009/11/04(水) 18:15:47 ] >>73 かたいこというなよ・・・。
75 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 16:46:44 ] 質問です 受け取ったファイルを CRC32 値にリネームするスクリプトを作りたいのですが、 反復処理でスクリプト自身を除くにはどうすればいいのでしょうか 現在↓のような状況です(とりあえずサンプルが見つかった MD5 でやってます) import os import sys import hashlib def getMD5(file): try: m = hashlib.md5(); f = open(file,'rb') except IOError: print ("Unable to open the file",file) return for line in file: m.update(line) f.close() return m.hexdigest() argvs = sys.argv for x in argvs: ext = x.split('.')[-1] oldName = x newName = getMD5(x) + "." + ext os.rename(oldName,newName)
76 名前:75 mailto:sage [2009/11/06(金) 16:50:03 ] うぉ、ごめんなさい。インデント入ってねぇ orz   は無視されるのか
77 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 18:09:43 ] うちはちゃんと見えてるから問題なし
78 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 19:51:18 ] >>75 for x in argvs: ↓ for x in argvs[1:]:
79 名前:75 mailto:sage [2009/11/06(金) 20:36:32 ] >>78 サンクス、恐ろしく簡単な事だったんだな 大雑把に [start:end] ってことか
80 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 20:44:06 ] MD5sumの計算がしたいのなら 行単位じゃなくて固定長で数KBとか数MB単位で読んだほうがいいかもね 行毎でも結果がおかしくなることはない筈だけど やりたいことに行が関係ないし効率はよくない
81 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 20:47:38 ] 処理速度も桁違いに速くなるだろうね
82 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 20:48:11 ] >>80 ごめん、凄く非効率なのは分かってるんだけど、 見つけたサンプル適当に組み合わせて作ってる段階だから、そこまで直せない CRC32 の求め方もまだ分かってないぐらいだし
83 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 20:53:44 ] zlib.crc32
84 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 20:54:49 ] >>82 ttp://d.hatena.ne.jp/Fio/20081027/p2
85 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 20:58:36 ] print binascii.crc32("hello world") # Or, in two pieces: crc = binascii.crc32("hello") crc = binascii.crc32(" world", crc) & 0xffffffff print 'crc32 = 0x%08x' % crc
86 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 21:01:41 ] 真っ当なサンプルGJ
87 名前:75 mailto:sage [2009/11/06(金) 21:04:26 ] みんな優しいなぁ ありがとう、参考にさせて頂きます
88 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 21:08:36 ] 前は 俺は crc16 を求めたいんだよ プギャー っつー変なのもいたけどな
89 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 17:52:19 ] リストの長さを得るのになぜ len(list) なんですか? オブジェクト指向なら list.len() なのでは?
90 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 17:54:45 ] lenは関数指向だから無問題
91 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 18:05:24 ] obj.__len__()
92 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 18:10:43 ] len が py3k でも 関数のままである理由 d.hatena.ne.jp/methane/20090721/1248195293
93 名前:デフォルトの名無しさん [2009/11/07(土) 18:59:26 ] SGMLパーサーで分解したデータを外部から読むにはどうすればいいのでしょうか
94 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 19:07:34 ] どのSGMLパーサーを使ってるの? 外部ってのは具体的にどういう意味?
95 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 21:16:05 ] www.xxx.com/index.html のようなhtmlファイルを(変数).htmlのような感じで名前を変えてコピーしたいのですが どのように書けばいいでしょうか?
96 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 21:27:19 ] import os os.system(r'wget www.xxx.com/index.html -O \(%d\).html' % n)
97 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 22:39:11 ] >>95 import urllib var = 'abc' urllib.urlretrieve('www.example.com/index.html ', '%s.html' % var)
98 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 22:56:56 ] >>96 .,97 遅れました。 ありがとうございます。
99 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 00:14:21 ] path1="test" path2="/test/tmp/" if not os.path.isdir(path1): os.mkdir(path1,0777) if not os.path.isdir(path2): os.mkdir(path2,0777) testというディレクトリの下にtmpというディレクトリを作りたいです。 path2の指定が間違ってるようなのですが正しい書き方は何でしょうか?
100 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 00:41:44 ] path2 = "test/tmp/" or path2 = "./test/tmp/" www.tohoho-web.com/wwwunix.htm#AbsolutePathName
101 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 01:58:38 ] >>100 さんくす
102 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 03:56:08 ] MySQLからselect文でデータを取り出しているのですが、日本語のデータだと、 name undefined, r = ('japan', 'tokyo', '??????') IndexError: tuple index out of range みたいになってしまいます con.execute("SELECT * FROM table WHERE city = \"tokyo\" ") rs = con.fetchall() for r in rs: nation = r[1] city = r[2] name = r[3] これで取り出しているのですが、どうしたらいいですか
103 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 07:58:43 ] それで取り出せているなら問題ないんじゃないの? なにがまずいのか、さっぱりわからない。
104 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 08:38:28 ] None
105 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:58:44 ] >>103 r = ('england', 'london', 'becky')みたいな英字のみのデータは取り出せるのですが、 r = ('japan', 'tokyo', '??????')のように日本語が入っているとそこが???となって name undefined, r = ('japan', 'tokyo', '??????') IndexError: tuple index out of range というエラー文がでて止まってしまいます
106 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 17:54:23 ] name = r[3] ↓ name = r[3] if len(r) >=3 else None
107 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 19:41:00 ] >>106 多大の配列番号のミスでした すいません
108 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 10:21:43 ] エンコードを意識しようぜ サーバのデフォルトのエンコードは? クライアントのデフォルトのエンコードは?
109 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 18:23:57 ] loggingではき出されるログファイルのタイムスタンプってlogging作動中は 更新されないみたいなんだけどこのへんてこ仕様は何とかならないのかな?
110 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 19:35:34 ] >>108 エンコードの指定を間違えると例外を吐く仕様もどうかと思うけどな
111 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 19:54:50 ] Explicit is better than implicit.
112 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 20:00:49 ] DB、プログラムはutf8で、 shiftjisのファイルを開いて正規表現で抜いているんですが、 l[1].decode("Shift_JIS").encode("UTF-8") みたいな感じではダメなのでしょうか?うまくいかないので。 またDBから抽出したのをまたDBにinsertしたいとき title = r[1].encode("UTF-8") としているのですが、まずいですか?
113 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 20:02:00 ] ??
114 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 20:25:49 ] DBにinsertしたいとき自分指いいすかまで読んだ
115 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 20:40:25 ] >>111 そういう事はいい加減きわまりないリファレンスマニュアルを改善してから言えw
116 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 21:15:11 ] リファレンスのマニュアルの不備を指摘する前に、己の技術力不足を改善しろw
117 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 21:22:18 ] >>116 ( ゚Д゚)ポカーン・・・頭大丈夫?
118 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 21:23:33 ] ┐(´ー`)┌
119 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 21:25:48 ] またruby厨の荒らしですか
120 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 21:27:29 ] どこからRubyが出てくるんだよwww
121 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 21:30:44 ] >>112 > またDBから抽出したのをまたDBにinsertしたいとき 言ってることがよくわからんが、 UTF-8に変換してからDBに入れたんだろう? DBからはunicodeで戻ってくるの?
122 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 21:34:05 ] >>110 例外を吐くのは、変換できなかった時だろ。 そうでなくとも知らないうちに、 他の文字に変換されるよりはましだと思うのだが。
123 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 21:40:34 ] >>115 どこが「いい加減きわまりない」ないんだろう? ドキュメントの記述が間違っていることは見たことがないし、 もし見つけたのなら、こんな所で管を巻いてないで報告すればいい。 www.python.org/dev/contributing/
124 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 21:49:04 ] UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 113: ordinal not in range(128) args = ('ascii', 'INSERT IGNORE INTO test(name,event,mysy...\xa8\xe3\x82\xb5\xe3\x83\xb3\xe3\x82\xb0\xe3\x83\xa9\xe3\x82\xb9\xe3\x81\xa7\xe5\xa4\x89\xe8\xa3\x85 [11/10])', 113, 114, 'ordinal not in range(128)') encoding = 'ascii' end = 114 object = 'INSERT IGNORE INTO みたいな感じで帰ってきます。
125 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 22:32:39 ] title = r[1].decode("cp932").encode("UTF-8")
126 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 23:21:18 ] サングラスで変装?
127 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 23:21:56 ] >>123 1.exsampleが非常に少ない 2.表記が抽象的な所がある たとえば文字列操作あたりで見てみると Python - 3.6.1 文字列メソッド www.python.jp/doc/release/lib/string-methods.html C# - String メンバ msdn.microsoft.com/ja-jp/library/system.string_members (VS.80).aspx Pythonのドキュメントの表記って抽象的だったり表記が統一されていないところが随所にある オブジェクト指向の言語なのだからオブジェクト名で書くのが普通だと思うが 文字列?単語?"文字列=単語"で良いの?数って何?int?long? C#に限らずリファレンスマニュアルならば暗黙の了解がある内容でも明文化するのが 普通だぜ?
128 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 23:24:23 ] >>127 > 1.exsampleが非常に少ない >>116 > 2.表記が抽象的な所がある 静的型言語が好きならPython使うな
129 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 23:27:14 ] >>125 ありがとうございます。。 エラーが止まらないのですが、基本的に、文字型が違うので連結が出来ていない。 という認識でいいのでしょうか
130 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 23:33:39 ] >>127 君が >>1 にもあるような wiki かなんかで exsample を作っていけば勉強になるよ ^ ^
131 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 23:33:55 ] >>127 日本語訳の批判はこちらへどうぞ Pythonドキュメント翻訳プロジェクト www.python.jp/Zope/pythondoc_jp/
132 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 23:34:56 ] >>129 DBの種類も言わない DBの文字コードの設定がどうなってるかも言わないし調べようともしていない ソースも貼らない どしろうと?
133 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 23:38:04 ] 1つ言えることは、unicodeとstrを混ぜると高確率でエラーになる。 混ぜるな危険。
134 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 23:39:15 ] >>132 すいません。。 >>133 print type() してみるとunicodeとstrが混在してました。。 出直してきます
135 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 23:50:14 ] >>131 日本語訳の問題じゃないよ。 あえて「文字列」としているのは、原文でも string といって str, unicode その他 basestring を継承した 文字列型を区別しないで書いているから。 厳密な型を書かないのは動的型付けだから。
136 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 05:09:37 ] >>128 ドキュメントの記載が不明瞭である事と技術云々は全く関係ないだろ 組み込みスクリプト最大手のPythonで >静的型言語が好きならPython使うな はWindowsが嫌いなら使うなと言っているのと同義だなw >>135 ちゃんと分けられるじゃん。それをそのまま文書化すれば良いだけなのに 何でわざわざごちゃ混ぜにしたような書き方になっているのか理解に苦しむ basestringが〜 basestringを継承するstrが〜 basestringを継承するunicodeが〜 って書けば良いだけだろ。クラスが判る奴ならそれだけで通じる
137 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 08:27:12 ] 言ってることは正しいと思うけどOSSだと言い出しっぺの法則で終わるだけだぞ
138 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 09:27:54 ] >>136 ちゃんと分けられないよ。 誰かが勝手に追加した新しい文字列型も「文字列」に含まれるんだぜ? duck typingな動的型付け言語に慣れろ。
139 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 09:34:20 ] 公式ドキュメントは、CPythonの特定のバージョンのドキュメントだけじゃなくて、 他のPythonの処理系も含めた「Python標準ライブラリ仕様」を定めてるだけだからな。 CPythonの現在の仕様を詳しく書き下すんじゃなくて、近い将来のPythonや他のPython処理系が 満たすべき一般化された仕様を書いているから、あまり具体的な話はできない。 逆に、Pythonのドキュメントに書かれていない詳細な実装依存の仕様に依存したらいけない。
140 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 12:02:11 ] >>138 , 139 つっこみどころ多すぎだろw 多分>>136 の言っている意味をあんたらは汲み取っていないね たとえば 組み込み型には 6 つのシーケンス型があります: 文字列、ユニコード文字列、リスト、タプル、バッファ、そして xrange オブジェクトです。 この場合の「文字列」がstrで、「ユニコード文字列」がunicodeであるのは明白だ 「組み込み型」で「6つ」まで限定してる「CPythonの」ドキュメントなんだから ちなみにこれは和訳が悪いというわけでもない 原文はこう There are six sequence types: strings, Unicode strings, lists, tuples, buffers, and xrange objects. (For other containers see the built in dict, list, set, and tuple classes, and the collections module.) >>139 ご冗談を。 ならたとえばcStringIOなんて実装バリバリ意識したものについて書く必要がないし 書いてはいけない 仕様だけならStringIOだけ見せればよいだろ どう見てもあれはCPythonのドキュメントです
141 名前:140 mailto:sage [2009/11/11(水) 12:13:49 ] まあ以上を指摘した上で、俺は>>137 に同意なわけだがw オプソにMS並みのドキュメントの質を期待しても無駄だぜ 質が不満なら自分でやれやという話だ
142 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 12:15:33 ] MSのドキュメントがそんなに良いとは思えない 変なのお手本にする必要はない
143 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 12:24:30 ] 日本語しか見てないひとだね
144 名前:140 mailto:sage [2009/11/11(水) 12:30:04 ] 原文では確かにbuiltinだとは言ってないね しかし"six"と限定しているだろう basestringを意識しているのなら、なおその列挙の仕方はあいまいだし 一般名詞の"strings"と、"xrange"のような明白な特定の型を並列で混用しているのも 良い技術文書のやりかたではないね
145 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 12:30:19 ] 一般のソフトのドキュメントに比べると開発環境のはかなりいいけどね。
146 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 14:06:26 ] >>140 >>127 でstringメソッドの例を出していて、 >>138 , 139 は string メソッドで具体的な クラス名を使わない理由を説明しているのに、なんでいきなり別のドキュメントに飛ぶの?
147 名前:140 mailto:sage [2009/11/11(水) 14:41:46 ] >>146 ああすまん、別のところを見ていたみたいだね。 俺は>>127 とかとは別人だが。 つっても同じPythonスタンダードライブラリのドキュメントの話で ドキュメントの質を問う話をしてるんだから、引用箇所なんてどこでもよくね? 俺が引用したのはBuilt-in Typesのドキュメントだけど、本当にひどいよ。 Buit-in Typesというくくりの Sequence Types ― str, unicode, list, tuple, buffer, xrange というタイトルの文書なのに、 いきなり先ほどに引用したような書き出しになる。 型名がstrで、それがいわゆる文字列のための型であるとすら書かれず、strとか stringsとかいう書き方が混用されている。非常にあいまいで不親切だ。 正確性、一覧性や網羅性とった点についても不満がある。 basestringに関しても触れられていないしね。