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


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

くだすれPython(超初心者用) その5



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に関しても触れられていないしね。






[ 続きを読む ] / [ 携帯版 ]

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

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