[表示 : 全て 最新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/

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

148 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 15:18:46 ]
最新版でない、しかも有志による日本語訳に基づいた批判はフェアじゃない

149 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 19:35:16 ]
>>36

みんなのPython とかいうのがあったような気がするが。

150 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 19:39:25 ]
>>148
最新版の日本語訳されたドキュメントってどれさ
ttp://www.python.jp/doc/release/index.html
じゃないのか?

151 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 19:41:58 ]
( ´,_ゝ`)プッ

152 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 19:46:32 ]
>>149
別にチュートリアルで問題ないだろ。
あれが難しいなら、ウェブに転がってる文書読んでからでもいいし。

153 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 20:44:45 ]
畑も耕さず、種も蒔かず、雑草も抜かず、肥料も巻かず、
水もやらず、添え木もせず、収穫もせず、金も払わず、

ただ実を食う。

そんな人間にも育て方が下手だと
批判をする権利はあります。



154 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 23:03:30 ]
糞本の著者はどうしてみんぱいに粘着するの?

155 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 07:46:11 ]
海外だとこれに凄い数のレビューがついてるけどどんな本なんだろ

www.amazon.com/Python-Programming-Absolute-Beginner-Michael/dp/1435455002/ref=sr_1_1?ie=UTF8&s=books&qid=1257979488&sr=1-1

156 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 08:51:53 ]
97 of 99 people found the following review helpful:
5.0 out of 5 stars Painless way to learn programming, September 4, 2003

75 of 76 people found the following review helpful:
5.0 out of 5 stars Best first Python Book (and not just for beginners), October 12, 2003

25 of 25 people found the following review helpful:
5.0 out of 5 stars Wow! What a refreshing approach to python!, October 2, 2003

俺は遠慮しとく

157 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 08:54:41 ]
>>154
ダメな奴ほど暇なんだよ。

158 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 13:56:04 ]
俺がダメなのは全部アイツのせい。

159 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 16:36:14 ]
日本語訳の最新版ってこれじゃないの?
pythonjp.sourceforge.jp/dev/

160 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 18:51:06 ]
>>159
ちょw英語だらけだぞw
確かに2.6.x対応版みたいだが

161 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 19:25:21 ]
Pythonスクリプトをタスクトレイに常駐させることはできますか?

162 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 19:33:06 ]
>>161
タスクトレイを操作できるライブラリとGUIツールキットがあれば出来るかもね

163 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 19:34:59 ]
ctypesを使えばできる
APIはShell_NorifyIcon

ツールキットに関してはシラネ



164 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 19:46:07 ]
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8861.txt

165 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 20:43:01 ]
not enough arguments for format string
って具体的にいうとどんな感じのエラーでしょうか?

166 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 20:50:31 ]
書式化文字列の引数が足りません

167 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 21:55:40 ]
2.6と3.0が入ってる環境でPyScripterをインストールしてしまいました
PyScripterを使うと3.0で認識されます

2.6を利用して書きたいのですが、どうすればいいですか

168 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 22:12:23 ]
mysqlのテーブルの照合順序をutf8_unicode_ci
insert文に日本語が含まれる場合、insert文をunicode型にする必要がありますか?

169 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 22:43:55 ]
プログラムって何?の俺が始めるからお勧め本教えて。
まじで全然知識無い人が始める。

170 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 22:53:02 ]
>>167
PyScripter.exe --python26

171 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 22:55:34 ]
>>169
ありません

172 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 22:59:17 ]
>>170
なぜかそのコメントからヒントを得て解決しました
くだらない質問して申し訳なかったです

173 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 23:08:55 ]
>>169
具体的な目標を言ってください



174 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 23:26:20 ]
プログラムの勉強をするに当たって本を読んでも学習効果は望めない。
脳と神経でつながっている指を動かし、
キーボードを打つのが至上の勉強法。

こういってもいいだろう。
「プログラミング=キーボード叩き」

ブラインドタッチが出来ると学習曲線が格段に良くなる。
タイプが無意識行動となるので、プログラミングに意識を集中できる。

よって、君が一番最初になすべきことは、
北斗の拳で全員ぶっ飛ばすことだ。

175 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 23:38:27 ]
北斗の拳でシンに勝つところまで逝ったけど
最後だけクリアできないまま数年放置プレイ中

176 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 23:39:45 ]
今の状況で、日本語の本をメインにpythonからプログラミングに入門するのが得策といえるか。
pythonの出版物となるとかなり限られているぞ。
rails関係を除いてもまだrubyの本の方が多い
まずは入門書の入門書みたいなのがたくさん出ているjavascriptとかperl、Cあたりで
プログラミングの基礎を学んでから来たほうがいいと思う
そのレベルになればいきなり初めてのpythonを読んで問題ないし(面倒ならpythonチュートリアルでおk)

177 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 23:40:32 ]
まあ昔に比べたら天国みたいなもんなので
何でもいいんじゃないすか
ネットなんてなかったし

178 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 23:42:22 ]
皆さんの意見をまとめるとruby最強ということですね
なるほど

179 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 23:44:18 ]
rubyで入門書が多いのは
一冊ですっきりわかる良本が無いことの裏返しだろw

180 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 23:46:19 ]
いや、ruby は仕様がころころ変わってしまうから、まともな本が出せない。

181 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 23:47:29 ]
なおゲームは有料のものを購入すること。
せめて元を取らねばという気持ちが
ゲームクリアする方向に作用する。

さらに金は、お小遣いなどではなく自分で稼ぐべき。理由は先と同様。

これによって君は一段ずつ確実にピラミッドを登っていくだろう。
まるでシュウのように。

182 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 23:58:59 ]
初心者にRubyとPerlはない。絶対にない

183 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 00:12:04 ]
さて、もう一月ぐらい経っただろうか?
手が慣れたところで先に進もう。

ひょっとしたらプログラムをしたいという気持ちが
無くなっているかもしれない。
しかし、それでもいい。それでもOK。下を見てくれ。

書籍を買う(資金減少) → 読む(時間消費) → 飽きた → 脳みそ磨耗
激打を買う(資金減少) → 打つ(時間消費) → 飽きた → タイプ能力上昇

つまりタイプゲームを買うのは、本を買うよりずっとお得なのだ。



184 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 00:21:34 ]
みんなのPythonはおすすめだよ

185 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 00:59:04 ]
飽きてないならプログラミングに進みたいが、
残念ながら私にも勧めることの出来る本が無い。

ちなみに私の考える初心者向け良書とは、
読んで理解しなくてもよい本だ。

よって他の方に良さそうなものを聞くことにする。

ぐぐーる先生にお伺いしたところ、次のサイトを教えていただいた。


186 名前:検索ワードは"Python ゲーム" mailto:sage [2009/11/13(金) 01:00:44 ]
ttp://pygame.skr.jp/

  ツ 許 P  /   ,、r'";;;;;;;;;;;;;;;;;;;;;;;;;;;;;`';,、    ,r';;r"           _ノ     何
  | さ .H  L_ /;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\ ,';;/             )      と
  ル れ P  //;;/´         `' 、;;;;;;;;,,l;;'            /ヽ  と Pu
  使 る. が  /.,';/              ヽ;;;;,l;L_      .,,、,--ュ、 ';;;;;;;;;i な ki
  い の   l |;|┌--‐フ  ┌----、、   |;ヾr''‐ヽ,  ,、ィ'r-‐''''''‐ヽ ';;;;;;く  !! Wi
  ま は   i  |l ~~__´ 、   ``'__''''┘  |;;;;;l rO:、;  ´ ィ○ヽ    'i;;;;;厶,  ki
  で      l _|. <,,O,> 〉   <,,O,,>    |;;;;;| `'''"/   `'''''"´     !;;;;;;;;ヽ
  じ      ._ゝ'|.    /   、       |; ,'  /   、        |;;;;;;;;;;;;;レ、⌒Y⌒ヽ
  ゃ    「 | |    (    )       .ソ l  ,:'   _ ヽ       .|;;;;;;;//-'ノ
  ぞ     ヽヽ |    _,ニ ニ,,,,,_        ', ゞ,' '"'` '"       i;;;;;i, `' /
⌒レ'⌒ヽ厂 ̄  `| ,、ィ-‐''__'''‐-`,、     ''  ', i、-----.、       `''"i`'''l
人_,、ノL_,iノ!   ',   :i゙''''''''''`l'  ` _人__人ノ_ヽ ヾ゙゙゙゙ニニ'\        ,'  ト、,
      /    ヽ.   L__」   「 止 笑 L_ ヽ〈    i|          Vi゙、
ハ ワ  {.     ヽ.  -、、、、 '  ノ  ま い  了゙, ,ヽ===-'゙ ,'     ,   // ヽ
ハ ハ   ヽ.     ハ       )  ら が  |  ',.' ,  ̄ , '    ノ  /./    ヽ,
ハ ハ    >  /|ヽヽ、___,,,,、 'く  ん    > ヽ.  ̄´   / ,、 ' /     / \
ハ ハ   /  ノ. | ヽ       フ      /  ノ:lゝt-,-‐''" / ,.ィ゙     /

187 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 01:07:53 ]
python 2.5 以上で作られた wiki ってどんなのがありますか?
SQLite とかどんな環境でも動きますか?
インストールは簡単ですか?

188 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 02:31:42 ]
Python製で一番有名なのはMoinMoinWikiってやつ。
データベース不要。
インストールはpukiwikiよりはめんどい

189 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 03:32:59 ]
>>182
初心者にとってRubyの「日本語の資料が充実している」というのはかなり重要だよ

>>183
必死にググるのに疲れたw
Pythonの標準クラスリファレンス何処ー(・∀・ )っ/凵 ⌒☆チン

190 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 08:06:18 ]
>>185
>ちなみに私の考える初心者向け良書とは、
>読んで理解しなくてもよい本だ。

絵本より長い本読んだことないとか?
どんだけゆとりだよ(wwwwwwwwww


191 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 08:50:58 ]
畑も耕さず、種も蒔かず、雑草も抜かず、肥料も巻かず、
水もやらず、添え木もせず、収穫もせず、金も払わず、

ただ実を食う。

そんな人間にも育て方が下手だと
批判をする権利はあります。

192 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 08:53:14 ]
>>188
ありがとうございました
MoinMoinちょっとみてみます

193 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 10:44:06 ]
PythonスレでRuby薦めんなアホ



194 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 11:30:45 ]
>>191
出典あんの? 自作ポエム?

195 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 11:39:10 ]
最近ほかのスレで見たからコピペ

196 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 13:58:56 ]
おや、またruby厨の荒らしですか

197 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 14:56:41 ]
>>169
初めてのPython。オライリーが出してるやつ。
英語読めるならLearning Python。

198 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 15:06:02 ]
基地害は全部厨房用言語(ruby)にいってくれってこった

199 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 15:10:25 ]
そういう煽りするとPythonも使ってないんだろうなって思われちゃうよw

200 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 15:18:18 ]
>>198
そう言うんならBlenderにRubyを組み込んでくれw

201 名前:デフォルトの名無しさん [2009/11/13(金) 16:26:28 ]
Pythonを使ってXMLをDOMで処理したいのですが、
xml.dom とpyxml.sourceforge.net/topics/
とは違うものなのでしょうか?
またこれらはExpatのPythonバインディングとも違うものなのでしょうか?

Python 2.4 しか使えない環境で使いたいツールを
作ろうとしているのですが、どのライブラリを使うと
ポータビリティが最も高いのでしょうか?

10KB程度のそれほど大きくないXML文書を
読み込んで異なる表現のXML文書に変換するツールです。
XSLTでは処理できないような変換なので
Python を使うことを考えています。
Python は twisted でネットワークがらみの
小規模のツールを書いたことがある程度です。

202 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 16:28:34 ]
>>199
いいんだよ。他人からどう思われようが、被害が少なければそれでいい。

203 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 16:44:07 ]
lxmlって2.4で使えるっけ?



204 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 17:26:32 ]
使える

Python Package Index : lxml 2.2.4
pypi.python.org/pypi/lxml/2.2.4

205 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 17:37:38 ]
ProgrammingError: (1064, "You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syntax to use
near '\xe3\x80\x90\xe7\xb5\x8c\xe6\xb8\x88\xe3\x80\x91\xe4\xb8\xad\xe9\x96\x93\xe' at line 1")
このエラーは具体的にはどんなエラーなんでしょうか?

206 名前:デフォルトの名無しさん [2009/11/13(金) 17:46:36 ]
near の後は 【経済】中間 の UTF-8 表現


207 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 17:54:00 ]
>>206
ありがとうございます。

MySqlに日本語をinsertする場合はunicode型でないといけないのでしょうか

208 名前:デフォルトの名無しさん [2009/11/13(金) 18:02:43 ]
>>207
それはもはやPythonの話ではなくMySQLの話だな。
it.kndb.jp/entry/show/id/15
クライアントから送られるSQL文の文字コードを
指定するためにデータのベースへの接続後すぐに
set names utf8; を発行するのがいいんじゃね?


209 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 18:04:34 ]
って、UTF-8でMySQLとやりとりしたということじゃなかったのか。
インターフェイスで使う文字コードがあってさえいれば
別に他の文字コードでもいいと思うけど。

210 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 18:09:30 ]
>>207
show variables like '%char%';
で表示される円コーディングにあわせるのが正しい方法

211 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 18:12:18 ]
>>208-210
たくさんありがとうございます。
試してみます。

212 名前:210 mailto:sage [2009/11/13(金) 18:26:15 ]
あ、 >>208 見ないでレスした

[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
character_set_server=utf8
skip-character-set-client-handshake

213 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 20:29:46 ]
turtleモジュールは図形描写に誤差があるのですか?
三角形、四角形、五角形…を順番に描かせるとずれてしまいます
命令が間違っているのかもしれません・・・



from turtle import*

reset()
clear()

h=3

while h<10:
a=h
b=(a-2)*180
c=b/a
d=180-c

for i in range(a):
forward(100)
right(d)

h=h+1



214 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 20:46:33 ]
>>213
正七角形の時に角度が整数の範囲に収まらなくなるが、
int 同士の演算なので、小数点が切り捨てられている。

from __future__ import division
をコードの先頭に置くか、
c の計算を、
c = float(b) / a
に置き換える。

215 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 20:50:09 ]
>>213
ついでに
h = 3
while h < 10:
  ...

は、for i in range(3, 10): でOK

216 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 20:59:52 ]
>>213です
助かりました、ありがとうございます。

217 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 22:18:33 ]
【科学】道路に軍手が落ちているワケ、名城大研究チームが突き止める[09/11/05]

namidame.2ch.net/test/read.cgi/hidari/1257990721/




218 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 07:53:24 ]
emacsのpythonモードなんですが、

a = 3

だとaをハイライトしてくれるのですが、
a,b = 1, 2
だとaを(bも)ハイライトしてくれません。

理由が知りたいです。

219 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 08:56:36 ]
(a, b) = 1, 2
(a, b) = (1, 2)


220 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 16:13:53 ]
Class内で 最前方に二重アンダーバー __ が付いている変数やメソッドはどういう意味なのですか?



221 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 16:27:08 ]
上手く説明できた人には座布団2枚

222 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 16:33:24 ]
触るなよ絶対触るなよの略

223 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 16:37:25 ]
>>220
継承したときに、たまたま同じ変数名を使ってしまったために不幸な事故が起こるのを防ぐために、
変数名に暗黙にクラス名をつける。
継承を使わないなら、 _ は一個で良い。
あと、 __ が先頭と最後両方についているメソッドは特殊メソッド。



224 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 16:39:36 ]
ttp://www.python.jp/doc/release/tut/node11.html#SECTION0011600000000000000000

225 名前:220 mailto:sage [2009/11/14(土) 16:52:54 ]
とりあえず、C++などでいうところのprivateなインスタンス変数、と理解しておきます。


226 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 18:20:12 ]
>>225
アンダースコア1つは、C++のprivateメンバみたいなものを作るときに使う(厳密には、ネームマンぐりングされる)

前後にアンダースコア2つは、特殊メソッドを表すっていう慣例になってる。
特殊メソッドは、自分が呼び出すんじゃなくて、Pythonインタプリタによって間接的に呼び出されるメソッド。

C++のコンストラクタみたいなもの --> __init__
+演算子のオーバーロード --> __add__
JavaのtoStringみたいなもの -> __str__
len(myobj)したときの値 --> __len__
その他大量

227 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 18:26:30 ]
アンダーラインひとつはマングルされないだろう
from foo import * で取り込まれないだけ
ふたつだとマングルされる

228 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 21:15:43 ]
文字列のPythonコードをPythonから別プロセスで実行させる方法ってありますか?
ファイルにしてインタプリタを起動し直せば可能ですが出来ればファイルにしたくないので
メモリ上で処理できる方法がないか探しています

229 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 23:37:20 ]
あります

230 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 05:01:31 ]
UnicodeError: Shift_JIS decoding error: invalid character 0x878a
args = ('Shift_JIS decoding error: invalid character 0x878a',)
具体的にどんなエラーでしょうか?

231 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 06:15:45 ]
>>230
文字コードの指定を間違えてるか、入力ファイルに不正な文字が含まれていてデコードに失敗

232 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 06:20:51 ]
不正な文字じゃなくても
「〜」が入ってるとだめだったりするな

233 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 06:24:15 ]
>>> '〜'.decode('mbcs')
u'\uff5e'
>>> '〜'.decode('shift_jis')
u'\u301c'
>>> '〜'.decode('cp932')
u'\uff5e'
>>> '〜'.decode('cp932').encode('utf-8')
'\xef\xbd\x9e'
>>> '〜'.decode('shift_jis').encode('utf-8')
'\xe3\x80\x9c'



234 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 06:25:04 ]
>>230
WindowsのShift_JISは、厳密にはCP932っていうShift_JISの拡張になってるから
文字コードの指定で"cp932"を与えないと一部の特殊文字とかが読めない。
鰍チて字が読めてない。

235 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 06:40:33 ]
>>231-234
本格的なアプリを作るならともかく使い捨て程度のコードですら文字コードでトラブルというのは
良い仕様とは言えないよな・・・仕様に文句言ってもしょうがないんだけどさ
1Byte圏発のブツだとこういう事が良くあるんだよなぁ

236 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 06:49:33 ]
>>235
なんか根本的なところが間違ってる、とまではいわないまでも、考え違いをしているような気がする。
もういちどスタートラインに戻って考え直してみてはいかが?

237 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 07:36:54 ]
>>236
日本で使う言語として
print "こんにちは"
が動かないのはどうかと思うのよ

238 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 07:49:24 ]
一行目にshebangがあるとして
ソースはUTF-8で保存した上で
二行目に
# -*- coding: utf-8 -*-
すると幸せになる


239 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 09:37:53 ]
>>238
幸せになれるというかこれしないと
タイプ数アホみたいに増えるから必須だと思う

240 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 11:07:15 ]
>>235
たしかにPythonの文字コードまわりの面倒くささは尋常じゃないね

俺は一旦すべてユニコードにしてから必要なときにエンコードする
ようにしてるけど、ここまで徹底する必要あるのか?と度々思う

241 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 11:18:40 ]
そんなんじゃPython3000についてけねーぞ
標準ライブラリですら内部でstrに変換しやがるのがあるくらいだし別に徹底してない

242 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 11:36:05 ]
>>240
そこまで徹底するのが、文字化け対策として一番楽なんだよ。

>>237
動かないわけ無いだろ。
Python3では問題ないし、Python2でもソースエンコーディングとターミナルのエンコーディングが一致
していれば動く。

Python2 でターミナルのエンコーディングと違うソースエンコーディング使いたいなら、最初に
from __future__ import unicode_literals
とするか、 u"こんにちは" と書けば良い。

243 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 11:37:02 ]
>>240
正解



244 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 14:38:49 ]
>>234
ありがとうございます。。
うまくいきましたが、こんどはMS932というので引っかかってしまいました。
.decode('cp932','ignore')ってやるとあとあと困ったりしますか?

245 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 15:00:02 ]
困るかもって思うなら
www.python.jp/doc/release/lib/codec-base-classes.html#codec-base-classes
ここ見て置換させるとか
2chのdatなんてcp932/shift_jis/shift_jis_2004/shift_jisx0213のどれ使ってもエラー吐くときあるし

246 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 15:14:09 ]
>>244
これ便利 => chardet.detect()

別途インストールしないと使えない(多分)のが玉に瑕

247 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 16:29:09 ]
chardetはある程度の長さがないと役に立たんのがなあ
まあ仕組上当たり前の事なんだが
ID3タグみたいなエンコーディングどころかロケール情報もないクソフォーマット触った時は頭抱えたわ

248 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 16:38:42 ]
def decorder(u):
  if isinstance(u, unicode): return u
  for cd in ['utf-8', 'euc-jp', 'cp932', 'iso-2022-jp', 'latin-1', 'ascii']:
    try:
      u = u.decode(cd)
      break
    except UnicodeDecodeError:
      continue
  else:
    u = u.decode('latin-1', 'replace')
  return u

249 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 18:54:33 ]
>>238
それを強要する仕様を初心者向けと謳うのはどうかと思うわけだが
今時のメインシステムはWindowsでSJISだし

250 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 18:56:40 ]
とりあえずUTF-8で書いとけってのにはまだ賛同できるが
Emacsスタイルのコメントがむかつく

251 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 19:12:10 ]
>>249
なんか今日の変な発言はみんなあんたなのかも知れんが
Pythonには初心者に優しい仕組みを提供するみたいな理念はないぞ
読みやすく、バランス良くって結果がたまたま初心者にもそこそこ使いやすいって状況になっただけ

252 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 19:49:58 ]
簡単なものを複雑であるかのように見せかけてはいけない。
複雑なものを簡単であるかのように見せかけてはいけない。


253 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 19:55:57 ]
thisってんじゃねーぞ



254 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 20:23:54 ]
>>249
いや、コードページがCP932だからといって、スクリプトのエンコーディングまで
勝手にCP932だと仮定されてしまうようだとまずいだろ
スクリプトを書くのは自分だけじゃないんだぞ

日本語Windowsで実行しているからと言ってブラウザがHTMLを
全部CP932だと考えるようではまずいのと同じだ
エンコーディングなんて書いた奴しか分からない(推定はできるが)ので
指定させるのが確実で手っ取り速い、HTMLと同じだろ?

>>250
> Emacsスタイルのコメントがむかつく
別にEmacsスタイルである必要は無いよ
#coding: utf-8
とかでいい
実際には
coding[=:]\s*([-\w.]+) という正規表現で
エンコーディング指定らしきものとパターンマッチしている

255 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 20:31:28 ]
そういうことじゃなくて幸せになれるのは誰かってこと
Windowsでそこらのエディタ使ってる初心者が幸せになれるわけじゃないよね

あとPEPから正規表現抜いてくるんなら
引用元書いたほうが勉強してる人が幸せになれるよ

256 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 20:35:15 ]
WindowsっていつまでSJIS使うんだろうなwww

257 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 20:40:43 ]
C の初心者は
#include <stdio.h>

#include <studio.h>
と平気で書いたりするからな
python でも
# code: shift_jis
とか書いて動かないとか言い出す香具師が出てきてもおかしくない
「初心者」と「アホ」は区別して良いと思う


258 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 20:54:56 ]
>>254
ブラウザは実用に支障のないレベルで文字コードを自動判別してくれるぞ
そこまでは行かなくてもWindows向けインタプリタのデフォルト文字コードは
mbcsでも良いはずだ

259 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 21:00:38 ]
どうですか?
boost.cppll.jp/HEAD/libs/date_time/doc/BuildInfo.html

260 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 21:02:39 ]
スレ的にはこっちが良かったかな
boost.cppll.jp/HEAD/libs/python/doc/index.html

261 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 21:10:44 ]
>>258
> そこまでは行かなくてもWindows向けインタプリタのデフォルト文字コードは
> mbcsでも良いはずだ

それじゃ全然ダメなんだよ
他人が書いたモジュールやスクリプトのことも考えろ

mbcsの意味がCP932なのは日本語ウィンドウズの話であって
外国ではWindows-1252だったりするわけだ
Windows-1252な環境の連中の書いたモジュールやスクリプトを
CP932でデコードして動くとでも思うのか?

262 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 21:36:33 ]
>>258
誤爆する可能性のある判別法を自動適用するとかアホすぎるぞ

263 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 21:44:40 ]
ブラウザにhtmlの文字コード自動判定する機能があるからといって、それに依存して
きちんとヘッダを書かないのは間違い。
ブラウザは自動判定ミスっても間違って表示するだけだけど、
プログラムが自動判定ミスって間違って動作するとマズイだろ。



264 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 21:45:38 ]
曲がりなりにもプログラミング言語なのに
まともにHTMLすら書けないレベルの奴はさすがに相手にしてないだろw

#coding: cp932のようにソースエンコーディングを指定するのも
#include <stdio.h>とか書くのも
何かを足すときに+と書くのも
全部言語仕様であり決まりごとに過ぎんと思うが

265 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 21:50:54 ]
>>261
配布されているコードは文字コードが書いてあるんだからデフォルトの文字コードが
何になっていようが問題ないのではないかい?

266 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 21:59:59 ]
> 配布されているコードは文字コードが書いてあるんだから
運用ルールで済ませるのではなく、「確実に」強制する方法を
Pythonが選んだというだけだろ
それ以外に「確実に」強制する方法は存在しないわけだし

1byte圏の人間がどんだけ文字エンコーディングに関心を持たないかなんて
知ってるだろ
こんだけやってくれてるのはむしろ有難いと思ったほうがいいぞ

267 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:27:30 ]
そうだな、これだけ厳密にやってくれてるから、Python製で日本語でも問題起きない
アプリが多いんだよな。

268 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:45:24 ]
>>260
そこヘッダにエンコードも書いてあるのに
なんで化けるんだろう?

269 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:50:10 ]
エラーは明示的に、という設計思想だから一見文字コードのエラー(UnicodeEncode/DecodeEroor)が多いように見えるが、
どこがまずいのかを明確に指摘してくれるから俺のような初心者には逆にありがたい。

270 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:56:46 ]
>>269の2行目は「それはどこがまずいのか明確に指摘してくれるってことだから〜」にしてくれ
>>268
レスポンスヘッダがUTF-8になってるから

271 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:59:30 ]
HTTPサーバのレスポンスヘッダの方が優先されるのね。不思議

272 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:03:30 ]
>>271
ttp://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/charset.html
HTML4.0仕様の5.2.2に優先順位が書いてある
サーバレスポンスが一番優先順位が高い

273 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:32:09 ]
>>270
なるほどd
Apacheのバージョン変えたときに
AddDefaultCharset UTF-8 のままにしちゃってるパターンか
中のひと分かってるのかなぁ



274 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:33:50 ]
馬鹿よけのためにわざとやってるサイトがあるという話を聞いたことがある

275 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:44:02 ]
「原則unicodeで必要なときだけstrに変換すべき」
理想ではあるけど現実的じゃないよね

276 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:46:10 ]
utf-8派がutf-8化の強制を目的としてわざとやることはある。

277 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:46:14 ]
そう、従わない奴が多いからPython3はああいう仕様になった
そういう意味では現実的ではない

278 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 01:17:28 ]
最近はUTF-8が増えてきたとは言え文字コードの扱いなんてそれぞれの言語圏で
育った文化の上に成り立っている物だし、それをガン無視して「仕様なんだから、こうしろ」とか
言っても不満が噴出して当然だよな

日本なんかいまだにJIS、SJIS、EUC-JP、UTF-8やらが入り乱れている状態だしなw

279 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 01:21:38 ]
意味が分からん
少なくともプログラマが吐くセリフじゃない

280 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 01:26:17 ]
Unicodeには言語学者とかも係わってくるから騒ぎが大きいけど、
Pythonには不満が噴出するほど人がいない。


281 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 01:42:07 ]
プログラマなら UTF-8 一択だろ JK

282 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 01:48:08 ]
>>281
バカか?w
扱う文字コードをすべてUTF-8に統一できるわけがないだろうjk

283 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 01:55:05 ]
それはお前がおかしい。



284 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 02:14:35 ]
>>281
みたいなのがプログラマだったら大変だな
「仕様書が悪い」とか言い出しそうだw

285 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 08:59:32 ]
>>282
扱う文字コードではなく、ソースコードのエンコーディングの話をしてるんだぞ?

286 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 09:00:43 ]
意味が分からん
少なくともプログラマが吐くセリフじゃない

287 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 18:28:36 ]
SQLインジェクションやXSSの対策ですが、

XSSはGET引数を

query = cgi.escape(f.getfirst("q", "0"))

で対応しているのですが完璧でしょうか?
また、SQLインジェクションもこれでいけますか?

SQLやXSSのほかに対策すべきことはあるのでしょうか?

288 名前:デフォルトの名無しさん [2009/11/18(水) 19:27:11 ]
初心者過ぎてお恥ずかしいですが、助けてくださいorz
OSはwindowsXPです。

code.google.com/intl/ja/appengine/docs/python/gettingstarted/helloworld.html
これをやろうとしていますが、「アプリケーションのテスト」のところで、
「次のコマンドで helloworld ディレクトリまでのパスを指定し、Web サーバーを起動します。
google_appengine/dev_appserver.py helloworld/」
からわからなくなりました。
コマンドプロンプトで実行するんでしょうか。
helloworldフォルダをどこにおくべきでしょうか。どう指定するのでしょうか。

code.google.com/intl/ja/appengine/docs/python/tools/devserver.html#Running_the_Development_Web_Server
「Python 開発用サーバー」ページにある「dev_appserver.py myapp
」をcmdで打ったら「dev_appserver_main.py:410] Application configuration file not found in myapp.」のエラーになりました。
よろしくお願いいたしますorz

289 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 19:35:24 ]
>>288
>コマンドプロンプトで実行するんでしょうか。

そのとおりです。

> helloworldフォルダをどこにおくべきでしょうか。

ディレクトリ構成は
+ google_appengine/
  - dev_appserver.py
+ helloworld/
  - app.yaml
  - helloworld.py

> どう指定するのでしょうか。

まずコマンドプロンプトで「python -V」と入力したら
Python 2.5.4
みたいなのが出ることを確かめましょう。
そのあと「python google_appengine¥dev_appserver.py -p 8080 helloworld」を実行すればおけ。




290 名前:デフォルトの名無しさん [2009/11/18(水) 19:39:43 ]
>>289
ご回答どうもありがとうございます。
Python2.6.4ですが、バージョンが違うからエラーになるのでしょうかorz

291 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 19:57:29 ]
エラーメッセージをよくみようぜ。
Application configuration file not found in myapp
とあるんだから、app.yaml が myapp の下にないんじゃないの?

292 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 22:33:46 ]
>>288
さっきからマルチポストしているお馬鹿さんへ

あなたがポストするべき場所はこちらです
pc11.2ch.net/test/read.cgi/php/1243654802/
さようなら

293 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 23:25:18 ]
docs.python.org/

公式では無かったようなのですが、2.4とか2.5とかのライブラリのソースが
ハイライトされてるページが有ったと思います。
2,3年前に見た記憶がありますがどこか忘れてしまいました。
誰か知りませんか?




294 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 02:22:14 ]
コストの大きい関数、largefunctionがあったとして
if largefunction(arg): otherfunction(largefunction(arg))
と同じようなことを、関数呼び出しが重複しないように書くにはどうすればいいですか。
ローカルな一時変数を作成するのもおかしな話だと思うので。

295 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 02:36:00 ]
>>ローカルな一時変数を作成するのもおかしな話だと思うので。
おかしくないよ

296 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 02:46:06 ]
largefunctionを実行するコストよりローカル変数作るコストの方が小さいことが多い
っていうか副作用を起こす関数もあるのでlargefunctionじゃなくても普通ローカル変数作る

297 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 02:49:01 ]
おかしくないよな… 
ローカル変数に一旦取るのが普通だと思ってた。
そんな風に考える人も居るんだという勉強になりました。

298 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 02:50:23 ]
otherfunction(v) if (v = largefunction(arg)) or v else pass

299 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 02:52:56 ]
代入文は式じゃありません

300 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 02:59:43 ]
>>295-297
本人じゃないけど二行になるのが嫌って言ってるように感じる

301 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 02:59:44 ]
(lambda v: otherfunction(v) if v)(largefunction(arg))

302 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 03:01:24 ]
ダメじゃん
(lambda v: otherfunction(v) if v else None)(largefunction(arg))

303 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 03:02:05 ]
>>301
SyntaxError: invalid syntax



304 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 03:04:14 ]
lambda のコストってどんなもんなん?

305 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 04:00:20 ]
素直に3行で書きましょう

306 名前:293 mailto:sage [2009/11/19(木) 04:12:55 ]
誰か教えてくれよ!

307 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 05:06:09 ]
見たことあるよ
でも忘れたよw

308 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 05:13:24 ]
辞書でd3 = d1 + d2見たいな操作できないの? 今は以下のようにやってるんですが、不便です。
pyhotnを触り始めてまだ日が浅いので、足りない知識が多いかと思いますが、よろしくお願いします。
tmp = d1
tmp.update(d2)
d3 = tmp


309 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 05:17:35 ]
ttp://www.koders.com/python/fid90CE0CDD808CCE258E869074C8C9B17E002A531E.aspx?s=email.Message#L10

310 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 05:19:08 ]
>>308
過去スレにあったと思う

311 名前:308 mailto:sage [2009/11/19(木) 05:24:34 ]
ありがとうございます。探してみます。

312 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 05:27:00 ]
過去スレの結論は
d3 = d1
d3.update(d2)
だったような気がするw

313 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 09:43:53 ]
もしくは、
d3 = dict(d1, **d2) だっけかな。



314 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 20:29:32 ]
feedparserでパースしたtitle要素をwxpythonのListbox内に挿入したいのですが
どうすればいいのでしょうか?

315 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 08:46:18 ]
システムのパスデリミタを気にせずに、ディレクトリ名やファイル名を結合する方法はありますか?
分割する方は割りと簡単にできたのですが、結合がよくわかりません。

316 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 08:55:02 ]
os.path.append

317 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 09:01:37 ]
できました。ありがとうございます。

318 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 17:19:47 ]
os.path.join
?

319 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 22:39:04 ]
>>294
if largefunction(arg): otherfunction(0)

320 名前:320 [2009/11/20(金) 23:01:19 ]
wxPythonを使ってGUIツールを作っています。

自分の開発環境PCでは問題なく動作しているのですが、
wxPythonをインストールしていないPCで実行すると、
「ImportError: No module named wx」が出ます。

プログラムを実行させるには、
PCにwxPythonをインストールするしかないのでしょうか?

321 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 23:16:11 ]
そうだね。
ImportErrorをキャッチして
メッセージを出すのもありかも。

322 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 23:32:20 ]
py2exe

323 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 00:49:33 ]
def Plus(args):
  〜
def Hoge(cmd = 'Plus'):
  globals()[cmd](〜)
は出来るのですが、Plus関数をHogeの内部に記述するとキーが見つからないと起こられてしまいます。
globals()をlocals()に変えてもダメでした。
関数内関数を文字列で指定して実行するにはどうすればよいのでしょうか?



324 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 00:59:36 ]
駄目な方のソースも載っけてみ

325 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 01:04:15 ]
駄目な例
def Hoge(cmd = 'Plus'):
  globals()[cmd](〜)
  def Plus(args):
    〜

もしかしたらと思い、以下のようにしたらエラーになりませんでした。
def Hoge(cmd = 'Plus'):
  def Plus(args):
    〜
  globals()[cmd](〜)

先に定義しておかないとダメってことでしょうか?

326 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 01:24:31 ]
Yes
上から下に向かって実行されるから。

>  def Plus(args):
>    〜

の意味は、〜を解析してPlusという名前の関数で登録しろという意味の実行文。
実行されなければ、存在することが出来ない。

327 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 01:37:18 ]
なんか前も見た流れだな
C はコンパイラはとにかくコンパイルして
リンカが頑張って名前解決してるから
順序とかどうでも良くなってる

一方で Python の def/class は代入式だと思っていい

328 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 07:39:23 ]
>C はコンパイラはとにかくコンパイルして
>リンカが頑張って名前解決してるから
>順序とかどうでも良くなってる

いや
ヘッダがあるから大丈夫なだけで
Cも順序が逆だと
プロトタイプが無いエラーになるか
暗黙の型定義で代用される

329 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 11:29:03 ]
あるプログラム(A)の出力をpythonプログラム(B)で読み込みたいのですが
import sys
if __name__=='__main__':
  while True:
    l = sys.stdin.readline()
    if len(l) == 0: break
    print '>', l,
  print 'fin'
とした場合、(B)だけで実行すると望んだ結果が得られるのですが、
> (A) | (B)
とすると
fin
close failed in file object destructor:
Error in sys.excepthook:
Original exception was:
最後のfinだけが表示されてエラーが出てしまいます。
パイプで繋げた標準入力から1行ずつ読み込むにはどうすればいいでしょうか?

330 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 11:41:57 ]
Windowsだとパイプで変な挙動をすることがあったような
環境書いたほうがいいよ

で、もしWindowsなら > A | python B で試してみる

331 名前:329 mailto:sage [2009/11/21(土) 11:49:50 ]
環境はWindowsXP SP3です。
>>330の方法で試したら望んだ結果になりました。
ありがとうございました。

332 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 13:16:25 ]
float返すC++の関数があり、それをあるPythonのラッパーが呼び出します。
この返り値をunittestのassertEqualでテストしたいのですが、

assertEqual(3.141592, その関数())

とやると、第1引数は倍精度、第2引数は単精度になり、比較結果が一致しません。
assertAlmostEqualを使わないで、第1引数を単精度にする方法はあるでしょうか。

333 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 14:48:17 ]
それ精度の問題じゃないよ



334 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 14:52:51 ]
じゃあ何の問題なんだよ…はっきり言え

335 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 14:55:45 ]
numpyあたり単精度も扱ってくれたりしないのかな
使ったことはまったくないが

336 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 17:30:01 ]
浮動小数点数でassertEqualするのが間違いだろ

337 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:02:51 ]
間違いってことはあるまい。

浮動小数点数なんてCPUが違うと結果違うのは当たり前だし、
x86なんかFPUを使うかSSEを使うかで結果違ってくるし、
言語によっても浮動小数点数の扱いが広げ方や丸め方が違うし、
最適化のかけ方によっても結果が変わってくるし、
そういうのをテストで弾きたいって意味でしょ?

となると、弾かれたのはまさに期待通りなわけだが。

338 名前:デフォルトの名無しさん [2009/11/21(土) 19:02:29 ]
ahoが湧いてる

339 名前:デフォルトの名無しさん [2009/11/21(土) 19:06:19 ]
assertEqual('3.141592', '%8.6f' % その関数())


340 名前:332 mailto:sage [2009/11/22(日) 08:21:04 ]
ありがとうございます。

書き方が悪かったですが、第2引数は3.141592を計算した結果返すのではなく、
単精度で与えられた3.141592をそのまま単精度で返すだけです。
getterとsetterのテストをしています。

極端には、

float func(float val){ return val;}

みたいなのがあって、

assertEqual(3.141592, func(3.141592))

とやると弾かれるというわけです。

341 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 08:27:40 ]
assertEqual(func2(3.141592), func(3.141592))


342 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 13:58:31 ]
www.atmarkit.co.jp/fcoding/articles/tengoku/04/shibata_a.html

343 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 19:52:08 ]
URLから嫌な悪寒が



344 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 00:32:32 ]
本人乙

345 名前:332 mailto:sage [2009/11/23(月) 10:41:09 ]
>>341
func2のユニットテストはどうやるのでしょうか。

346 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 12:07:09 ]

今までの経緯を見ると
必ずしもリップサービスではなくて
本当にそのつもりで頑張っているような気もする。

目標10割、達成6割でOKというのが
アメリカ人の感覚なのかな。

347 名前:デフォルトの名無しさん [2009/11/23(月) 15:07:15 ]
正規表現使ってレクサ書こうとして
def lex(input):
  if re.match(r'\d+', input):
    return "digit"
  elif re.match(r'\w+', input):
    return "ident"
  elif re.match(r'[+\-*/=@&|^~]+', input):
    return "operator"
  else:
    return "error"
みたいにしようと思ったけどこれだとマッチした結果が使えない
こんなとき普通はどうするもん?

348 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 15:10:48 ]
def lex(input):
pat = (
(r'\d+', 'digit'),
(r'\w+', 'ident'),
(r'[+\-*/=@&|^~]+', 'operator'),
)
for p in pat:
m = re.match(p[0], input)
if m:
return p[1], m
else:
return "error"


349 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 15:11:49 ]
インデント消えたけど最後の else: は if じゃなくて for の else なので注意してね

350 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 17:04:38 ]
>>348
サンクス参考にしてみる

351 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 19:06:50 ]
誰かが書いたPythonのコード読んでいいところをマネしたいので
参考になるコードを知っている方いましたら教えてください
一通り入門書を読み終えた程度のものなのであまり大規模ではないものを
まずは見たいと思っています。バージョンは2でも3でも読めます
よろしくお願いします

352 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 19:21:11 ]
標準ライブラリ

353 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 19:21:50 ]
>>351
SourcrForgeで、関心がある分野(画像処理、とか)のプロジェクトのソースをダウンロード。
その次は、プロジェクトにパッチを送ってみる。
ttp://sourceforge.net/search/?type_of_search=soft&words=python



354 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 21:29:15 ]
def FeedBtn(self, event):
feedlist=[line for line in file("feedlist.txt")]
tlist = []
for feedurl in feedlist:
feed=feedparser.parse(feedurl)
for e in feed.entries:
feed.append(e.title, e.summary, e.enclosures[0].url,
e.enclosures[0].type, e.enclosures[0].length)
return tlist

self.Frame.titlelist.Clear()
self.Frame.titlelist.Appned(tlist(e.title))

何とかしてtitle一覧作りたいのですがGUIのListBoxにtitle一覧が表示されないです
ボタン押してもエラーが出ないので何が間違ってるか分からないです。

355 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 21:48:45 ]
>>351
俺も標準ライブラリ読むのがいいと思う。良くないのも多いが
あと先に言っておくけどtwistedとZopeは参考にするな

356 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 21:59:13 ]
ワープアは大変だな。

357 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 22:05:14 ]
>>354
・GUI無しで、単純にtitle一覧リストデータは得られるか?
・ListBox以外のコントロールに表示は出来るか?
・title一覧でなくて、単純なリストの項目をListBoxに追加表示できるか?

これくらい調べてきてくれ

358 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 22:05:55 ]
>>342
普通に面白かった

359 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 23:01:18 ]
なにも言ってないに等しいな

360 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 23:55:46 ]
変数の存在確認をする関数ってありますか?(phpで言うisset)

361 名前:デフォルトの名無しさん mailto:sage [2009/11/24(火) 00:24:23 ]
try:
hoge == "PHPの仕様がおかしい"
except NameError:
pass

362 名前:デフォルトの名無しさん mailto:sage [2009/11/24(火) 00:30:08 ]
方法1
 初期化しとけ

方法2
 例外を捕らえる>>361

方法3
 'hoge' in locals()


363 名前:デフォルトの名無しさん mailto:sage [2009/11/24(火) 00:56:19 ]
>>362
>>361
方法1,2は知っていたのですが、
毎回書くのは面倒くさいのでべつの方法を探していました。

3を採用してみます



364 名前:デフォルトの名無しさん mailto:sage [2009/11/24(火) 02:01:27 ]
何か知らないけどPythonのコードは例外の補足を必要とする率が極めて高い

365 名前:デフォルトの名無しさん [2009/11/24(火) 04:11:22 ]
100%と思ってた方がいい

366 名前:デフォルトの名無しさん mailto:sage [2009/11/24(火) 15:13:29 ]
みんぱいの人は中学から雑誌に原稿書いているのかぁ


それに比べておれたちときたら...orz...

367 名前:デフォルトの名無しさん mailto:sage [2009/11/24(火) 16:23:41 ]
みんなのおっぱい乙

368 名前:デフォルトの名無しさん mailto:sage [2009/11/24(火) 22:56:54 ]
>>352,>>353,>>355
ありがとうございます。参考にさせていただきます

369 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 11:53:41 ]
Editraで日本語入力ができないのですが
これはpythonのライブラリが原因だからでしょうか?
日本語を扱うソフトを作りたいのですがこれはプログラミング側でどうにもできないですよね?

370 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 13:36:31 ]
for(int i = 10; i >=0; i--)

をpythonではどう書くんでしょうか?

371 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 13:54:34 ]
>>370
for i in xrange(10, -1, -1):
>>369
Pythonライブラリというか、その下のC言語で書かれた部分の問題だと思う。

372 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 15:18:49 ]
>>371
ありがとう

373 名前:デフォルトの名無しさん [2009/11/26(木) 17:41:52 ]
パイソンって強そうな名前ですが、本当につおいのですか?
でもちょっとHでもありますが。。



374 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 17:45:57 ]
けっこうつおい。

375 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 17:46:24 ]
750 デフォルトの名無しさん [] 2009/11/26(木) 17:39:38 ID: Be:
まったくズブの素人です。
これからブイバ初めても間に合いますか?
プログライミングをでけるようになりたいから
手始めにVBAから勉強するのか迷い中です。
何か時代は.NETでブイビーも.NET
それじゃ〜ブイバももう手遅れなんでしょうか?

376 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 17:49:52 ]
>>375
バイブだのズブズブだの初めてだの、エロいレスだな。

377 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 18:41:17 ]
>>376
375のこいつ暇すぎて変なことばかりしとる

378 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 19:40:12 ]
>>373
パイロンって読むんじゃないの?

379 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 19:42:32 ]
またruby厨の荒らしっすか

380 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 20:42:05 ]
パイソンはタイソンよりつおいから自信もってw

381 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 20:48:07 ]
972 デフォルトの名無しさん [sage] Date:2009/11/23(月) 17:09:32  ID: Be:
    ID強制になるだけで静かになるよ

973 デフォルトの名無しさん [] Date:2009/11/23(月) 18:02:02  ID: Be:
    その変更はキミに任せるから提案してくれ。

974 デフォルトの名無しさん [] Date:2009/11/23(月) 18:18:58  ID: Be:
    反対するのは荒らしたい奴だけだから強行しちゃって良いよ

382 名前:デフォルトの名無しさん mailto:sage [2009/11/27(金) 15:52:29 ]
クラスの初期化と同時にプロパティをセットするにはどうやったらいいんでしょうか?
例えばC#なら
A a = new A(){ Property = xxxx }
みたいなかんじで書きたいんですが

383 名前:デフォルトの名無しさん mailto:sage [2009/11/27(金) 16:06:08 ]
自分で作ったクラスなら__init__で引数取ってプロパティをセット
そうじゃないなら諦めろ



384 名前:デフォルトの名無しさん mailto:sage [2009/11/27(金) 16:19:50 ]
**kwargs

385 名前:デフォルトの名無しさん mailto:sage [2009/11/28(土) 00:36:27 ]
functools.partial

386 名前:デフォルトの名無しさん mailto:sage [2009/11/28(土) 19:40:12 ]
def setprop(obj, **kw):
    for propname in kw:
        setattr(obj, propname, kw[propname])
        return obj

387 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 10:01:30 ]
集合知プログラミング6章のtrain関数にMeCabで分かち書きした名詞の辞書渡そうとすると
TypeError: 'dict' object is not callableで怒られる。
どうすればいいんだorz

388 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 10:17:58 ]
ソース

389 名前:デフォルトの名無しさん [2009/11/30(月) 18:04:57 ]
作成したあるライブラリを
python setup.py install
でインストールし、無事に使用できています。

しかし新しいバージョンのライブラリを同様の手順で
インストールすると古いバージョンのファイル
(もはや使っていないモジュール)が残ってしまいます。

これは手動で削除するしかないのでしょうか?
旧バージョンのアンインストール+新バージョンのインストール
という作業を自動化する方法はないのでしょうか?

390 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 18:27:37 ]
easy_installでもuninstallは出来ないよね。なんでだろ。
手動でもいいのでuninstallの方法が知りたい。

391 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 18:58:10 ]
setuptools を捨てて、 distribute + pip を使うんだ。
pip uninstall がある。

392 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 19:32:28 ]
setuptoolsは俺も正直どうかと思う
いちゃもんみたいなもんだがいつまでもバージョン1にならんし
コードも汚い

393 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 19:48:59 ]
パッケージのアンインストールは
easy_install -m packagenameして登録解除?した後
lib/site-packagesからeggまたはディレクトリを手動で削除、らしい
ほんとなんでこんなのがデファクトスタンダードになってしまったのだろうか



394 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 19:52:28 ]
インストールがイージーだから

395 名前:デフォルトの名無しさん mailto:sage [2009/11/30(月) 20:24:51 ]
>>393
そんな簡単な手順なら
easy_uninstall を作って配布してください

396 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 14:57:43 ]
>>393
ナイス情報ださんくす

397 名前:デフォルトの名無しさん [2009/12/01(火) 18:14:17 ]
透明なウィンドウを作り、その上に文字を表示する方法が分かりません。
pygameでもwxでもそれ以外でも何でもいいです。
OSはXPで、pythonのバージョンは2.6です。

一応PILを使い
myfont = ImageFont.truetype(font,size)
wsize = myfont.getsize(text)
img = Img.new('RGBA',wsize,(0,0,0,0))
draw = ImageDraw.Draw(img)
draw.text((0,0),text,fill=color,font=myfont)
img.save('temp.png')で文字画像を保存し
wxPythonで
style = wx.FRAME_NO_TASKBAR | wx.FRAME_SHAPED | wx.NO_BORDERのウィンドウを作成して
bmp = wx.BitmapFromImage(wx.Image('temp.png'))
self.SetClientSize(bmp.GetSize())
self.SetShape(wx.RegionFromBitmap(bmp))のようにしてやろうとしたのですが
背景が透明にならず、灰色になってしまいました。
画像ビューアではちゃんと背景は透明になっているのですが…。
あと、GIMPで作成した画像だとちゃんと背景が透明になります。
何が駄目なのでしょうか?

この解決方法もしくは他の良い方法があれば教えて欲しいです。
よろしくお願いします。

398 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 18:39:08 ]
アルファ付きの画像を表示しただけでウインドウまで透明になったら苦労しないよ。

399 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 19:30:45 ]
>>397
やりかた知らないけどwxPythonのサンプルにヘビ画像のウィンドウサンプルがあったから、それで出来ないかな?

400 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 20:27:00 ]
RegionFromBitmapColourで透過色指定するのは?

401 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 20:55:28 ]
>>397
この質問どこかで見たぞ?

402 名前:>>397 mailto:sage [2009/12/01(火) 20:58:11 ]
>>400の方法で出来ました。
ありがとうございました。

403 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 23:12:44 ]
>>396
ちょっとぐぐったらこんなのがあった
ttp://d.hatena.ne.jp/TaoPyPI/20090118/1232277995



404 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 06:09:26 ]
re.compile(ur'(\d*)?')
が nothing to repeatと言われます
確かに無意味な部分がある正規表現ですが、意味を解釈できないというわけでもないと思えます
wshなんかでは通りますし

それでふとした疑問なんですが
"この正規表現が間違っている" と "Pythonが気を利かせせてくれている" ではどちらがより適切な理解だと思われますか?

405 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 09:35:16 ]
エラーになるからには、Python(の正規表現ライブラリ)的には、間違ってる、
と解釈するのが妥当だろう。
解釈が一意に決まらない、というのは、場合によってはエラー扱いされて
おかしくない状況。

406 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 18:00:22 ]
Pythonはいろいろとワガママすぎる

407 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 18:45:46 ]
Rubyはすばらしい本当に素晴らしいですよ

408 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 19:13:02 ]
Pythonと違って懐の深い言語だしな

409 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 20:13:57 ]
すみません。教えてください。
呼び出されたdefの中で、誰(widget)から呼び出されたか
を知る方法って無いでしょうか。

410 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 21:03:26 ]
esp

411 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 00:30:09 ]
[[]] * n とすると中のリストの実体は一つでそれの参照がn個外のリストに入るんだな
おかげで小一時間なやんだ

412 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 09:07:34 ]
そうやって初心者はオブジェクトと参照の概念を学んでいくのさ・・・

413 名前:デフォルトの名無しさん [2009/12/04(金) 09:31:51 ]
概念は分かってても
言語によって挙動が違うからなぁ



414 名前:デフォルトの名無しさん [2009/12/04(金) 10:54:02 ]
モジュールレベルの __author__ とか __copyright__ とかって
何がどのようなドキュメンテーションシステムで使われているのか
どこで決められているんでしょうか?

PEP で docstring その他のコードの書き方、スタイルについての
ガイドラインって有りますか?

自分としては
1)PyDev (Eclipse) の補完時に追加情報として表示して欲しい
2)あとで Sphinx でドキュメント生成するかもしれない
と思っていますが、とにかく何か取り決めがあるなら
それに従っておこうと思っています。

415 名前:デフォルトの名無しさん [2009/12/04(金) 10:58:31 ]
www.python.org/dev/peps/pep-0257/
docstring conventions というのは見つけましたが、
モジュールレベルの他の属性?(__author__とか)
についての記述はありませんでした。

416 名前:デフォルトの名無しさん [2009/12/04(金) 11:02:40 ]
__version__ だけは
www.python.org/dev/peps/pep-0008/
で見つけました。あと、同様の質問を
www.velocityreviews.com/forums/t336433-__author__.html
で見つけたんですが、__version__ 以外は標準的なものじゃない
ってことのようです。でもいろんなライブラリで__author__
なんかは使われていて、何らかのガイドラインがあるのかと思っているのですが・・


417 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 11:06:44 ]
jaynes.colorado.edu/PythonGuidelines.html
こういうガイドラインもあるようですが、
特定のプロジェクトでのコード規約ではなく
Python界で広く用いられている
(そしてドキュメント生成ツールなどでも理解される)
物は何だろうと探し続けて早一時間。

418 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 11:13:17 ]
stackoverflow.com/questions/1523427/python-what-is-the-common-header-format
でも同様の質問が出てましたが、結局上に書いた

How do I organize my modules (source files)?
jaynes.colorado.edu/PythonGuidelines.html#module_formatting

をミロってことでした。
疲れ果てて心が折れそうなので__author__くらいは書いておきます。

419 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 15:47:53 ]
テキストの特定の文字をフィルタリングして表示したい時って正規表現使えばいいんですか?

420 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 20:12:30 ]
フィルタリングがどういう処理を意味するのかわからない

421 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 20:27:47 ]
伏字ってことじゃない?
password: ***** や /home/***/ みたいな

というわけで文字列メソッドの replace か
正規表現が使いたければ re.replace

422 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 20:56:16 ]
>>420
説明不足でした。
テキスト内の特定の文字だけ表示させないで残りを表示したいという意味です。

423 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 22:09:51 ]
エイホ・コラシックを実装



424 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 22:12:00 ]
>>422
正規表現置換あるんだからそれでいいじゃない

425 名前:デフォルトの名無しさん mailto:sage [2009/12/05(土) 00:00:44 ]
>>424
なるほど置き換え使えば簡単に消せるんですね
ありがとうございます

426 名前:デフォルトの名無しさん mailto:sage [2009/12/05(土) 22:31:52 ]
文字列の型は<str>で数値の型は<int>ですよね
Noneの型を記述するときの上のような書き方はないのでしょうか?
今はtype(None)で代用しています

427 名前:デフォルトの名無しさん mailto:sage [2009/12/05(土) 22:44:50 ]
import types
types.NoneType

でもhoge is Noneでいいんじゃないの?

428 名前:デフォルトの名無しさん mailto:sage [2009/12/05(土) 23:04:36 ]
['aaaaa'] -> リスト
('aaaaa') -> 文字列
('aaaaa',) -> タプル

なんかきもちわるい。
書き換えしたくない場合でもリストを使ったほうが見通しがいいと思うのは俺だけ?
タプルって辞書のキーとかイミュータブルが必要なときだけ使うという考えでもおk?

429 名前:デフォルトの名無しさん mailto:sage [2009/12/05(土) 23:15:52 ]
return(foo)って書きたくなるときがあるんだ。

430 名前:デフォルトの名無しさん mailto:sage [2009/12/05(土) 23:50:27 ]
>>427
型をリストに入れて変数の型検査を行っているので、Noneの型が必要なのです。
from types import NoneType
とすることにしました。ありがとうございました。

431 名前:デフォルトの名無しさん mailto:sage [2009/12/06(日) 00:09:19 ]
{'・ω・'}ショボーン

432 名前:デフォルトの名無しさん mailto:sage [2009/12/06(日) 03:53:56 ]
デバッグ時のみモジュール名を行頭に付けたうえで出力する関数を作ろうと考えたのですが
DDEBUG = True
def debug_print(obj):
  if DDEBUG == True:
    print '[', __name__ ,']', obj
これをdebug.pyとした場合importして使っても当然ながらつねに[ debug ]としか表示されません
コピペすれば期待通りに動くんですけれどコピペするってのもどうなんだという気がしまして
なんかうまい方法ありませんか?

自分で思いつくのはdebug_printにモジュール名用の引数を取る方法ぐらいしかありません

433 名前:デフォルトの名無しさん mailto:sage [2009/12/06(日) 04:40:26 ]
logger logging



434 名前:デフォルトの名無しさん mailto:sage [2009/12/06(日) 05:30:40 ]
>>433
おぉこんなものが
期待した以上のことができそうです
ありがとうございました

435 名前:デフォルトの名無しさん mailto:sage [2009/12/06(日) 08:48:48 ]
newcamel.logos.ic.i.u-tokyo.ac.jp/~s1s5/pukiwiki/index.php?programming%2Fpython%2Flogging
%(pathname)s ログ記録の呼び出しが行われたソースファイルの 全パス名 (取得できる場合)
%(filename)s パス名中のファイル名部分
%(module)s モジュール名 (ファイル名の名前部分)

436 名前:デフォルトの名無しさん mailto:sage [2009/12/06(日) 10:01:16 ]
>>428
統一したいだけなら
list('aaaaa')
tuple('aaaaa')

あと、リストとタプルはCでいう配列と構造体くらいには別物。

437 名前:デフォルトの名無しさん mailto:sage [2009/12/06(日) 14:32:03 ]
wxpythonを使い、
GUIの操作用ボタンと結果表示用のラベルがあり
データ処理を行うようなソフトを作っています

データ処理は時間がかかり、メインのプロセスでやってしまうとその間GUIのパネルが固まってしまうので、
データ処理はmultiprocessingを使ってサブプロセスで行うことにしました

それ自体はうまくいき、multiprocessing.Queue()を使いデータのやり取りもできたんですが,
メインプロセス側がキューのget()を呼び出して待機するわけにもいかないので(パネルが固まってしまい本末転倒)
wxPythonのTimerを使ってget(False) を呼び出すメソッドを作り、一定時間ごとにそのメソッドを呼び出しデータが来ていないか確認して、
データが来たらラベルに表示するようにしました。一応完成はしたんですが、一定時間ごとに結果がないか確認、という動作が
なんだか気持ちわるいとうか

サブプロセスのデータ処理が終わったら、それを通知するというか、終わったことをきっかけにメインプロセス側の表示処理を稼働させるというか
そういうのって出来ないもんです?

438 名前:デフォルトの名無しさん mailto:sage [2009/12/06(日) 20:51:51 ]
出来るんじゃない?

439 名前:デフォルトの名無しさん mailto:sage [2009/12/06(日) 21:34:58 ]
mainloopの中身を見てみな。

440 名前:デフォルトの名無しさん mailto:sage [2009/12/06(日) 22:33:18 ]
>>439
C++で作られた関数を呼び出すだけでした
C++を理解できないとどうにもならないという意味だったのでしょうか?

441 名前:デフォルトの名無しさん mailto:sage [2009/12/06(日) 22:50:33 ]
非同期でqueueなりpipeでメッセージ飛ばしてidleで処理するしかないんじゃない?
まあタイマーでやってるのと大差ないけど

442 名前:デフォルトの名無しさん mailto:sage [2009/12/07(月) 07:42:23 ]
>>440
>>441
すいません
Demoみてたら、GUIが固まるのを防ぐ方法がありました

ご返答ありがとうございました

443 名前:デフォルトの名無しさん [2009/12/07(月) 13:33:54 ]
<main.py>
def proc():
非デバッグ時のコード
def run():
proc()
if __name__=='__main__':
run()

<debug.py>
from main import *
def proc():
 デバッグ用のコード
if __name__=='__main__':
run()

デバッグ時のみdebug.pyでデバッグ用のコードを実行させたい
のですが、
main.py、debug.pyどちらから起動してもmain.pyの方が実行さ
れてしまいます。
importしたモジュールの関数の上書きは出来ないのでしょうか




444 名前:デフォルトの名無しさん mailto:sage [2009/12/07(月) 14:07:23 ]
import main

if __name__=='__main__':
 main.proc = proc
 main.run()

名前空間に対する理解が不十分

445 名前:デフォルトの名無しさん mailto:sage [2009/12/07(月) 14:30:05 ]
入門書嫁

446 名前:デフォルトの名無しさん [2009/12/08(火) 21:25:42 ]
wxPython付属のxrcedでGUIの作成を行っているんですが
wxListCtrlを設置するとError creating test view といわれどうしても設置してプレビューできません
どなたかこうなってしまう原因に心当たりのある方はいらっしゃらないでしょうか

そして、もしよろしければwxListCtrlを配置したxrcファイルをいただけないでしょうか

447 名前:デフォルトの名無しさん [2009/12/08(火) 22:15:25 ]
psycoの読み方ってなに?
ピーサイコ?

448 名前:デフォルトの名無しさん mailto:sage [2009/12/08(火) 22:19:47 ]
psychologyがサイコロジーだからサイコだと思う

449 名前:デフォルトの名無しさん mailto:sage [2009/12/08(火) 22:22:46 ]
pは発音しないでサイコでいんじゃね?

450 名前:デフォルトの名無しさん mailto:sage [2009/12/08(火) 23:02:10 ]
なるほど、ありがとう

451 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 00:24:49 ]
>>446
ListCtrlのStyleの設定でLC_REPORT, LC_ICONとかにチェック?

452 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 01:01:16 ]
ぷさいこ

453 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 09:10:00 ]
パイチンコだろ



454 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 13:02:54 ]
サイコガンダムで読み方を覚えた

455 名前:デフォルトの名無しさん mailto:sage [2009/12/09(水) 23:10:09 ]
>>451
やってみたのですがやっぱりエラーが出ます
これはもうxrecd投げ捨てるしかないのか・・・・・・・

456 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 00:06:08 ]
pythonのことをブログに書くと
ツネヤマとかいうトラックバックスパムが酷くて悩んでいます
どうすればいいでしょうか?

457 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 00:28:07 ]
Rubyについて書けばいいと思います

458 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 00:30:30 ]
ヤツはスパムって程でもあるまい
俺の備忘録ブログにも来るくらいだしw
嫌ならトラックバック閉じるかブログやめればおk

459 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 04:31:46 ]
そもそもブログって媒体は辞めておけ

460 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 07:49:32 ]
ツネヤマなのか?
トコヤマだと思ってたぜw

461 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 09:47:12 ]
確実に捕捉されるよね

462 名前:デフォルトの名無しさん mailto:sage [2009/12/10(木) 10:06:59 ]
トコヤマは情弱の情報源

463 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 23:32:13 ]
ジョウザンじゃないのか。
あとMoinMoin 1.9.0 Finalも取り上げておいてくれ。>中の人



464 名前:デフォルトの名無しさん mailto:sage [2009/12/13(日) 00:11:21 ]
けつまんこぼるんたす

465 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 06:13:46 ]
結局どう読むんだよw

466 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 06:18:14 ]
プロフィール

johzan

収集する男
Error : RSSが取得できませんでした。
カレンダー
<< 2009/12 >>
日 月 火 水 木 金 土
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
最新タイトル



467 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 06:24:10 ]
アルェー トコヤマだと思ってたYO

468 名前: ◆R9u5o717Q6 [2009/12/15(火) 21:51:18 ]
2.6をしようしています
python標準のsqlite3を使っているのですが
データの整合性のためselect使用時にはテーブルをロックさせるためにBEGINしたいのですが
select時に自動的にさせる、もしくは自分でbeginするにはどうしたらいいのでしょうか?
commitメソッドはあってもbeginはないのでよくわかりません

isolation_level=・・・・
というのかと最初思ったんですがこれはロックがかかるときにどういうロックがかかるかの話で
自動的にトランザクションが始まるのはあいかわらずINSERT/UPDATE/DELETE/REPLACEだけみたいで
どうしたらいいのかわかりません

469 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 23:06:04 ]
あるよ

470 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 23:06:51 ]
BEGINはロックのための機構じゃないぞ
トランジャクソンのためだぞ

471 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 23:52:10 ]
トランザクション

472 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 00:04:44 ]
Pythonのコメントでメソッドの引数とか戻り値について決まった書き方ってあるんですか?
探しても無さそうなんですが。

473 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 00:04:51 ]
ここが本スレだったら延々脱線するとこだ

>>468
Cursorオブジェクトに execute メソッドがあるから
それで begin transaction すればいけるかも
使ってるマニュアルに載ってなかったら最新版見て

あとSQLiteはスレが別にあるからここで解決しなければそっちで



474 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 00:16:22 ]
>>472
PEP 8

475 名前:472 mailto:sage [2009/12/16(水) 00:32:42 ]
>>474
ありがとうございます。
メソッドの各引数や戻り値の型を、Javadocの @param や @return
のように、決まった書き方で書けといったことは無いみたいですね。
人のソースを見た時など、理解するのが面倒な気はしますが。

476 名前:デフォルトの名無しさん [2009/12/16(水) 00:48:20 ]
あるよ

477 名前:472 mailto:sage [2009/12/16(水) 01:05:39 ]
>>476
えっ!?

478 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 05:37:59 ]
Python3だと関数アノテーションってのがあるな

479 名前:472 mailto:sage [2009/12/16(水) 07:18:48 ]
>>478
ttp://www.python.org/dev/peps/pep-3107/
これですね。よさそうですね。
やっぱり、型が何かって記述はそれ程重要視されてない感じですね。

480 名前:468 ◆R9u5o717Q6 mailto:sage [2009/12/16(水) 20:51:09 ]
>>473
executeにbegin transactionの文を送っていいのか調べてたらそもそも勘違いをしていたようです

実のところ
ttp://www.python.jp/doc/2.5/lib/sqlite3-Controlling-Transactions.html
sqlite モジュールがトランザクション状態を把握する必要があるので、
SQL の中で OR ROLLBACK や ON CONFLICT ROLLBACK を使ってはなりません。

というのを馬鹿な勘違い起こして、BEGINもダメみたいに解釈してました。
そのためbeginの代替方法ありませんかという質問に至っていました
executeにbegin transaction投げてみます
ご迷惑おかけしました

481 名前:デフォルトの名無しさん mailto:sage [2009/12/16(水) 21:28:23 ]
誰も必要とはしないけど一応結果を
Connection オブジェクトで
execute(u'begin exclusive')
すればいいだけでした

482 名前:デフォルトの名無しさん [2009/12/18(金) 04:04:03 ]
みんなのPythonを半分以上(7割くらいかな)読んだが
これってソフトを作成できるスキルが身に付いたとは思えない…
最後まで読め?

483 名前:デフォルトの名無しさん mailto:sage [2009/12/18(金) 04:38:03 ]
no



484 名前:デフォルトの名無しさん mailto:sage [2009/12/18(金) 04:38:15 ]
>>482
最後まで読まなくてもいいよ
ただページをパラパラめくって何が書いてあったか程度には把握しておくこと
あとで必要になったら読み返せばいい

で、実際に何か役に立つものを作ろうと思ったら周辺知識が必要
どんな周辺知識が必要かは作りたいソフトによる

どういうソフトを作りたいか具体的に言えば
あれを勉強しろだのこれを読めだのこのライブラリ使えだの答えが返ってくると思うよ

485 名前:デフォルトの名無しさん mailto:sage [2009/12/18(金) 10:39:28 ]
だったら読まない

486 名前:デフォルトの名無しさん mailto:sage [2009/12/18(金) 11:25:04 ]
そもそも、あの本は初歩的なことしか書いてない

487 名前:デフォルトの名無しさん mailto:sage [2009/12/18(金) 13:41:41 ]
基礎は大切ですよ

488 名前:482 [2009/12/18(金) 20:57:03 ]
>>484
ありがとうございます。
為替のメールソフト(設定のレートになったらメールを送信する)
を作りたいと思っております。

メールを送るのは調べれば大丈夫だと思います。
わからないのは為替レートを別ページなどから参照?するような工程です。
なにかアドバイスがあればお願い致します。


489 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 00:55:33 ]
ログイン付きページから参照サンプル。
ドメイン名称ってのはログインダイアログのタイトルとかに出てくる

import urllib2
auth_handler = urllib2.HTTPBasicAuthHandler()
auth_handler.add_password('ドメイン名称', 'ホスト名', 'ユーザ', 'パス')
opener = urllib2.build_opener(auth_handler)
urllib2.install_opener(opener)
data = opener.open('http://ホスト/ページ').read(100000)

あとはがんばってHTMLを解析するがよろし。

490 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 02:01:01 ]
>>488
> わからないのは為替レートを別ページなどから参照?するような工程です。
例えば自分のWebページやBlogなんかに為替レートを埋め込んで
表示したい、とかそういうこと?

そういうパーツならたくさん配布されてるからそれを使う
自前で作るのならまずは為替レートを取得するところまでやってみては
為替レート API でぐぐるといい

491 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 02:44:19 ]
本気なら
ttp://www.xignite.com/Products/Catalog.aspx
軽くなら、自分の使ってるFX業者のページを解析していればいいんじゃね?

492 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 17:58:47 ]
cursesが詳しく紹介されている日本語のサイトありませんか?

493 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 00:44:47 ]
unicode(s, 'shift-jis')
のsに丸囲み数字 -> @ が入ってるとエラーになるみたいなのですが、変換させる方法はないのでしょうか?
unicodeにも丸囲み数字はあるらしいのですが・・・・・・

sが「あいうえお@」のときのエラー内容
UnicodeDecodeError: 'shift_jis' codec can't decode bytes in position 10-11: ille
gal multibyte sequence



494 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 00:47:08 ]
何度も出てる話題だけど、 shift_jis には@なんて文字は無いからエラーになってるだけ。

お前が使っているのは Shift-JISに Microsoft の拡張が入ったもので、
cp932 とか Windows-31J とかいう名前の文字コード。

495 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 00:58:42 ]
www.nicovideo.jp/watch/sm9127380

496 名前:493 mailto:sage [2009/12/21(月) 01:00:49 ]
>>494
cp932にしたところ上手くいきました。
ありがとうございました。

497 名前:デフォルトの名無しさん [2009/12/21(月) 07:35:23 ]
Windows上でPythonで書いたスクリプトを、PythonがインストールされていないWindows PCでも動くように実行ファイル.exeにすることは可能ですか?


498 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 07:41:27 ]
py2exeとか有るよ。

499 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 07:44:07 ]
P言語
【プログラミング】
・本格的な汎用プログラミング言語には馴染めない連中が好んで使うPerl、Python、PHPあたりのあたまに「P」がつくスクリプト言語のこと。

500 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 08:37:41 ]
本スレでどうぞ

501 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 09:36:52 ]
「本物のプログラマーはパスカルを使わない」ってことだな

502 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 14:23:59 ]
ウィンドウ内外でマウスのクリックが押されている状態かどうかを取得する方法はありますか?
押された時と離された時に実行されるものでもいいです。

pyautoというものを見つけたのですがキーボードのタイピングはフック出来たのですが
マウスのクリックは出来なさそうなので(僕が理解してないだけかもしれないですが)。

よろしくお願いします。






503 名前:497 [2009/12/21(月) 18:47:45 ]
>>498
ありがとうございます。
そちらを勉強してきます。



504 名前:502 mailto:sage [2009/12/21(月) 19:40:05 ]
すいません、自己解決しました。
pyHookってモジュールで出来ました。

505 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 06:56:24 ]
C/C++の知識はあるのですが、今までインタプリタ言語を使ったことがありません。
この度新しくインタプリタ言語としてPythonを(日々の作業のお供としても役立ちそうなので)学ぼうとしているのですが、何で勉強するのがいいでしょうか。
書籍やウェブなどありそうですが、最近Pythonのメジャーバージョンアップがあったとも聞いています。
オススメを教えてください。お願いします。

506 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 07:17:46 ]
>>505
公式チュートリアルをどうぞ
www.python.jp/doc/release/tut/tut.html
わかんなかったらここで聞けば誰かが優しく教えてくれます

Pythonには2.x系列と最近出た3.x系列があるけれど、
3.xはまだ殆どの人が使ってないので安心して2.x系列を勉強してください
バージョンは2.5以上(最新版は2.6.4)なら多分間違いないです

507 名前:505 [2009/12/22(火) 11:43:01 ]
>>506
ありがとうございます。
現状につきまして
Pythonには便利なモジュールが多くあるが、まだPython 3.x系列には対応しているものが少ない
という認識でよろしいでしょうか?

508 名前:デフォルトの名無しさん [2009/12/22(火) 14:31:56 ]
www.gizmodo.jp/2009/12/post_6513.html

509 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 14:46:57 ]
新手のナンパだな

510 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 23:23:29 ]
c言語を軽くさわった程度の者です。

x = 'abcde'

x[1] → 'b' (インデクシング)
x[1:3] → 'bc' (スライス)
x[1:-1] → 'bcd' (スライス)

これの法則性がわかりません。


511 名前:510 mailto:sage [2009/12/22(火) 23:25:23 ]
のでどなたか教えていただけませんでしょうか。
よろしくお願い申し上げます。

512 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 23:37:16 ]
>510 の質問の意図がわかりません。
のでどなたか教えていただけませんでしょうか。
よろしくお願い申し上げます。

513 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 23:39:08 ]
>>508
ttp://www.youtube.com/watch?v=ihXtbB-4GWw
すげーな



514 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 23:49:27 ]
>>512
…死ねばいいのに


515 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 00:01:08 ]
x[1:-1]=x[1:len(x)-1]
こんな感じでいいか?

516 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 00:20:58 ]
>>510
x[1]はCとあんまり変わらない。これはわかるとおもう。
x[1:3]みたいにコロンで区切られてた場合はスライスといって、
文字列の(正確にはシーケンスの)一部を取得できる。
x[1:3]だと、x[1]からx[3]の手前までだから"bc"。
あと、マイナスを使えば反対から数えられるから、x[1]から最後の一つ手前までで"bcd"。
リスト関係の処理はほんとに便利にできてるので勉強して損はない。

あとインデクシングって、「インデックスをつけること」だから意味がぜんぜん違うぞ。

517 名前:デフォルトの名無しさん [2009/12/23(水) 00:23:34 ]
x[:]

518 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 00:26:26 ]
ちなみに
x[:] → 'abcde'
x[-1] → 'e'
x[:-1] → 'abcd'
x[-1:] → 'e'

519 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 00:30:15 ]
要するに、x[a:b]のときはx[a]からx[b]の一つ手前(x[b-1])までになる。
ついでに、x[a:]はx[a]から最後までで、x[:b]は最初からx[b-1]まで。

520 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 01:06:53 ]
>>110
分かりにくいだろうから、説明画像をぱぱっと作った。
ttp://up.mugitya.com/img/Lv.1_up108952.png

というか、こういう画像はどっかにもあった気がするが…。

521 名前:デフォルトの名無しさん [2009/12/23(水) 01:10:33 ]
x[n] はcとか同様n+1番目の要素
x[a:b] は要素の区切り位置でa〜bの範囲の要素集合
と考えるとラク
"qwerty"なら
| q | w | e | r | t | y |
0  1  2  3  4  5  6

522 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 03:57:06 ]
x[]

523 名前:512 mailto:sage [2009/12/23(水) 08:24:17 ]
>>515-522
大変分かりやすい解説をいただき、
皆様ありがとうございます。

インデクシングという用語につきましては
> Python入門第2回 Pythonの文法
> ttp://www.f7.ems.okayama-u.ac.jp/~yan/python/python02.html
ここからのコピペでした。。。




524 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 09:33:21 ]
インデクシング indexing で別に間違ってないよ
印を付けるのと添え字で参照する、どちらの意味かは文脈から明らかだし

docs.python.org/tutorial/datastructures.html#tuples-and-sequences
> 5.3. Tuples and Sequences
> We saw that lists and strings have many common properties,
> such as indexing and slicing operations.

あと推薦図書スレからコピペ

Python 3 プログラミング徹底入門
著:マーク・サマーフィールド(Mark Summerfield

525 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 13:01:23 ]
>>524
ありがとうございます。


526 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:20:09 ]
>>> x='abcd'
>>> x.split()
['abcd']
>>> x[:]
'abcd'
>>> x.split('')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: empty separator
>>>

['a', 'b', 'c', 'd']
というリストにしたいときはどうすればいいでしょうか?

527 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:24:46 ]
>>526
list(x)

528 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:32:46 ]
>>527
ありがとうございます
なんかオブジェクト指向っぽくないですね

529 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:42:07 ]
perl に毒されすぎワロス wwww

530 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:43:15 ]
listオブジェクトのコンストラクタにイテレータブルなオブジェクト入れたらlistに変換できる、
って話だから思いっきりオブジェクト指向だぜ。

なんでもメソッド主義ってわけじゃないのは確かだが。

531 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:48:16 ]
>>> x[:]='abcd'
>>> x
['a', 'b', 'c', 'd']

532 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:49:57 ]
そんな黒魔術いらんがな

533 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:50:12 ]
>>530
len(x)
4
これはlenオブジェクトのコンストラクタにカウンタブルなオブジェクトを入れたんですね
わかります



534 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:50:38 ]
ていうか動きすらしないよなw
引っかかった漏れ乙

535 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:53:38 ]
>>534
>>> x=[]
>>> x[:]='abcd'
>>> x
['a', 'b', 'c', 'd']
スマソ


536 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:55:34 ]
>>533
lenはオブジェクトじゃねえよw

537 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:58:02 ]
>>536
オブジェクト指向に毒されてる人を皮肉ったんだろう

というか>>535が動いて悔しい
リファレンス読んでくる

538 名前:デフォルトの名無しさん [2009/12/23(水) 14:58:48 ]
wxWizardで次のページに進ませるにはどうしたらよいのでしょうか?

def Process(self):
  e = wx.wizard.WizardEvent(wx.wizard.EVT_WIZARD_PAGE_CHANGING)
  self.wizard.ProcessEvent(e)  #

wxWizardEventオブジェクトを生成してwxWizardオブジェクトのProcessEventメソッドに
渡していますが上手くいきません。

Traceback (most recent call last):
  File "C:\Documents and Settings\user\My Documents\python\testwizard.py", line 169, in Process
    self.wizard.ProcessEvent( wx.wizard.EVT_WIZARD_PAGE_CHANGING )
  File "C:\Program Files\python\lib\site-packages\wx-2.8-msw-unicode\wx\_core.py", line 3863, in ProcessEvent
    return _core_.EvtHandler_ProcessEvent(*args, **kwargs)
TypeError: in method 'EvtHandler_ProcessEvent', expected argument 2 of type 'wxEvent &'

539 名前:538 mailto:sage [2009/12/23(水) 15:04:17 ]
ごめんなさい。エラーメッセージが別のものでした。

Traceback (most recent call last):
  File "C:\Documents and Settings\user\My Documents\python\testwizard.py", line 167, in Process
    e = wx.wizard.WizardEvent(wx.wizard.EVT_WIZARD_PAGE_CHANGING)
  File "C:\Program Files\python\lib\site-packages\wx-2.8-msw-unicode\wx\wizard.py", line 84, in __init__
    _wizard.WizardEvent_swiginit(self,_wizard.new_WizardEvent(*args, **kwargs))
TypeError: in method 'new_WizardEvent', expected argument 1 of type 'wxEventType'


540 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 15:04:56 ]
>>537
>>536 は結局 x[:]=list('abcd') ってことでは?
perl っぽいが

541 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 15:18:30 ]
なにがperlっぽいのかよく分からない

542 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 15:19:11 ]
lenが嫌ならいちいち__len__呼んでろよ。

543 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 15:52:50 ]
>>540
www.python.org/doc/2.6/reference/simple_stmts.html#assignment-statements
"If the target is a slicing:" での説明からすると、>>540 の文や

>>> x = ['a']
>>> x[:] = ['a', 'b', 'c']
>>> x
['a', 'b', 'c']

はまだ理解できるんだけど、>>535

>>> x=[]
>>> x[:]='abcd'
>>> x
['a', 'b', 'c', 'd']

は左辺と右辺の型が list と str で異なってるから
> The assigned object should be a sequence object of the same type.
に違反してエラーになりそうな気がするんだけど、そうはならない
気味悪いから誰か説明してくださいお願いします



544 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 16:08:09 ]
スライシングの右側はイテレータならなんでも良かったはず。

545 名前:544 mailto:sage [2009/12/23(水) 16:16:02 ]
日本語がおかしかった。
リストのスライシングの代入文では、右辺にイテレータブルなオブジェクトをとる。

>>> x = []
>>> x[:] = {1: 'a', 2: 'b'}
>>> x
[1, 2]


546 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 16:16:38 ]
>>544
>>> L = []
>>> L[:] = open('c:/python26/license.txt')
>>> L[:5]
['A. HISTORY OF THE SOFTWARE\n', '==========================\n', '\n', 'Python w
as created in the early 1990s by Guido van Rossum at Stichting\n', 'Mathematisch
Centrum (CWI, see www.cwi.nl) in the Netherlands\n']

本当だ。見なかったことにしよう

547 名前:544 mailto:sage [2009/12/23(水) 16:25:02 ]
なぜ見なかったことにするんだw

ストリングを一文字ずつリストに入れるには list('abcd') が一番いいと思うよ。

548 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 16:30:52 ]
可読性を最大にするなら
[x for x in 'abcd']
どうみたって1文字ずつ分解してる

549 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 18:00:29 ]
TOOWTDIはどこいった...

550 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 18:06:20 ]
      >>544を信じますか?

   信じる         → 信じない


よしこれで俺のPythonは清いままだ

551 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 18:42:50 ]
>>> x=(1,2,3)
>>> y=[0,2,4,6,8]
>>> y[1:4] = x
>>> y
[0, 1, 2, 3, 8]

これでエラーが出て欲しいと申すか

552 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 18:44:32 ]
そんなこというなら*argsだってそうだ
from __future__ import print_function
print(*open('C:\\Python26\\LICENSE.txt'))

**kwargsだってdictっぽければいい
class Kwargs(object):
def __init__(self, **kwargs): self.kw = dict(kwargs)
def __getitem__(self, name): return self.kw[name]
def keys(self): return self.kw.keys()

def dump(**kwargs): print kwargs
dump(**Kwargs(a=1))

553 名前:デフォルトの名無しさん [2009/12/23(水) 23:14:04 ]
Windows XP上で、
標準入力から入力されたパスを調べて、
1.実在するディレクトリだったらそのディレクトリとサブディレクトリの中のファイルのフルパスの一覧を標準出力に出力する。
2.実在するファイルだったらそのフルパスを標準出力に出力する。
3.実在しないパスだったらエラーを標準出力に出力する。

こんなPythonスクリプトをどなたか書いて下さいませんか?




554 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 23:44:25 ]
Python の宿題ここで答えます Part 2
pc12.2ch.net/test/read.cgi/tech/1258320456/

555 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 23:56:58 ]
>>554
ありがとうございます。
行ってきます。


556 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 06:44:33 ]
>>551
めっそうもございません
お許しください

メモ
>>> a = [0, 1, 2]
>>> a[1:2] = 'abcde'
>>> a
[0, 'a', 'b', 'c', 'd', 'e', 2]

557 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 12:05:17 ]
空飛ぶモンティパイソンを見ようと思うんだが
40thアニバーサリーBOX買っとけばいいのか?

558 名前:デフォルトの名無しさん [2009/12/24(木) 14:28:39 ]
>>538-539 おながいします

559 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 16:55:54 ]
>>538-539 おなにいします

560 名前:デフォルトの名無しさん mailto:sage [2009/12/25(金) 20:24:26 ]
test

561 名前:デフォルトの名無しさん [2009/12/26(土) 14:54:36 ]
リストaに対して
a[len(a)]

a[len(a):]
を参照したり、代入したらエラーになりますか?
それともC系みたいに未定義の動作になりますか?


562 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 14:57:37 ]
>>561
全く問題ない

Cで未定義だというのも引っかかるものがあるんだが・・・・
未定義になる例を書いてCスレで一度質問した方がいいぞ

563 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 14:58:41 ]
んなわけないだろ俺死ね
忘れて下さい



564 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 15:09:24 ]
>>561

>>> a = [1, 2, 3]
>>> a[len(a)]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range

>>> a[len(a):] = ['a', 'b', 'c']
>>> a
[1, 2, 3, 'a', 'b', 'c']

>>> a[100:] = [1]
>>> a
[1, 2, 3, 'a', 'b', 'c', 1]

スライスへの代入はちと特殊
>>544あたりでやってるからそっち読んでね

565 名前:561 mailto:sage [2009/12/26(土) 17:11:26 ]
>>562-564
ありがとうございます。
> >>> a = [1, 2, 3]
> >>> a[len(a)]

> >>> a[len(a):] = ['a', 'b', 'c']
> >>> a
> [1, 2, 3, 'a', 'b', 'c']
はわりとすんなり納得しましたが
> >>> a[100:] = [1]
> >>> a
> [1, 2, 3, 'a', 'b', 'c', 1]
はびっくりしました。
こういう仕様なんですね。


566 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 13:53:10 ]
ここでいいのかどうか分かりませんが教えてください
python で imap でメールを読んだものを html に出力すると
ヘッダ中のメールアドレスなどが <hoge@fuga.hage> になっている部分だけが
表示されません
たぶん <〜> で囲まれた部分が html のタグだとブラウザが解釈してしまうからだと思うのですが
python でこれを escape するにはどうするのが一般的でしょうか?

567 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 13:58:45 ]
>>566
str.replace
str.translate
cgi.escape
xml.sax.saxutils.escape

568 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:42:24 ]
>>> 2**10**4
19950631168807583848837421626835850838234968318861924548520089498529438830221946
63191996168403619459789933112942320912427155649134941378111759378593209632395785
とても長いので中略
70029097668650568557157505516727518899194129711337690149916181315171544007728650
57318955745092033018530484711381831540732405331903846208403642176370391155063978
90007428536721962809034779745333204683687958685802379522186291200807428195513179
48157624448298518461509704888027274721574688131594750409732115080498190455803416
826949787141316063210686391511681774304792596709376L

と表示されました。
2も10も4も普通の整数型だと思うのですが、
演算結果が自動的にlongな整数になっています。
これはどうしてでしょうか?
オーバーフローしそうになったら自動的にこうしてくれるのでしょうか?



569 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:47:23 ]
そうです

570 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:48:01 ]
>>569
ありがとうございます。
あと、
# coding: shift-jis
って書いてあるプログラムを見かけるのですが、
これはShift-JISで書いている場合は常に付けた方がよいものでしょうか?


571 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:55:11 ]
>>570
u'そうですね'
をつねに使ってるなら無意味
'そうですね'
とかやってるなら書いといた方がいい

572 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:57:43 ]
>>570

2.x系はデフォルトエンコーディングがASCIIなので、ソースコードに非ASCIIな文字を使ってるなら付ける必要あり。
>>571はダウト

573 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:57:48 ]
>>571
なるほど。
お世話になり、ありがとうございました。



574 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:58:47 ]
>>572
# coding: shift-jis
の記述じゃデフォルトエンコーディングはかわんねーだろ

575 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:59:01 ]
>>572
自分が常にこれからもShift-JISで書き続けるとして、
# coding: shift-jis
と付けている分には悪いことはありませんか?

576 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 17:04:47 ]
>>574
ソースコードのデフォルトエンコーディング。という意味でした。



577 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 17:19:29 ]
print文の後ろに,が付くか付かないかで改行されるかどうかが決まるのでしょうか?

付けると改行されず、付けないと改行される、でよろしいですか?


578 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 17:21:19 ]
>>577
はい。リファレンスマニュアルのprint文の箇所も参照してね。

579 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 17:27:25 ]
>>578
ありがとうございます。
print 文がカンマで終了していない限り、末尾には文字 "\n" が書き出されます。この仕様は、文に予約語 print がある場合のみの動作です。


580 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 17:33:07 ]
このようにprint文は特殊なので
3.0からは関数になります。

581 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 17:34:08 ]
import math

from math import *
とでは、
伝統や文化的な理由で
どちらが推奨されるとかありますか?


582 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 17:55:00 ]
>>581
一般的には前者推奨。
後者は小規模スクリプトかインタラクティブシェルで使うぐらい。

583 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 18:09:16 ]
>>582
ありがとうございます。




584 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 21:26:49 ]
Windowsで
〜.py(ttp://codepad.org/tXDoThvC)をダブルクリックした場合
これを実行すると、コマンドプロンプトが一瞬で閉じてしまいます。
(コマンドラインからpython 〜.pyとする文には大丈夫ですが。)

最後に何かキー入力を受けるまで画面を閉じないようにする
1文などありませんでしょうか?


585 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 21:28:32 ]
import os
os.system('pause')

586 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 21:44:31 ]
>>585
ありがとうございます!
まさにこれがしたかったです。


587 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 21:48:30 ]
codepadでは通るこのコード
ttp://codepad.org/6ggvcFhC

Python 2.6.4で、エラーになります。
エラーメッセージは
ttp://codepad.org/3o9Vqzu4
です。
どうしてでしょうか。。。

588 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:20:43 ]
>>587
同じディレクトリに random.py があるんじゃね?

589 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:48:06 ]
>>588
それでした。
どうもありがとうございます。

590 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:21:37 ]
 a=[3,7]
 b=a
 a=a+[2]
を実行すると
 b は [3,7]
 a は [3,7,2]
となる。他方
 a=[3,7]
 b=a
 a.append(2)
を実行した場合には
 a も b も [3,7,2]
である。

この違いにびっくりしました。
Pythonは基本的には参照を渡すのか、コピーを渡すのか、
どっちが多いですか?


591 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:34:32 ]
>>590
まず、Pythonの変数は全部参照だから、「渡す」のは全部参照。
コピーを作ってそのコピーの参照を渡すのか、元の参照を渡すのかの違いでしかない。
a = [3,7] # [3,7] というリスト (A) を作って、その参照を a に入れる
b = a # a に入っている (A) への参照を b に入れる
a = a + [2] # a + [2] で、 (A) と [2] を連結した新しいリスト (B) を作る。そしてそれを a に代入する。
a.append(2) # a が参照しているリスト (A) に、 2 という値のオブジェクトへの参照を追加する。

+ という演算子が「新しいオブジェクトを作る」という動作をしている。
# immutable な型なら、+ 演算子で新しいオブジェクトを作らずに既存のオブジェクトを使いまわすのもアリ

592 名前:>590 >505 mailto:sage [2009/12/27(日) 23:39:21 ]
>>591
あー、なるほど!
非常に分かりやすい解説ありがとうございます。
どうにもC++で型宣言を意識していたため、よく分かっておりませんでした、
ありがとうございました。


593 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 08:08:06 ]
ばっさばっさとさばいておりますな。初心者スレにふさわしい。



594 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 10:17:58 ]
ttp://codepad.org/tdwJTVZ8
この挙動も
> この不自然な結果は、Pythonが a=[[0]*3]*3 を処理するのに (内部で)
>  t=[0]*3
>  a=[t]*3
> とやった為に発生したと考えられる。
> この問題は次のようにすれば回避できる。
>  a=[0]*3
>  a[0]=[0]*3
>  a[1]=[0]*3
>  a[2]=[0]*3
こう説明がありました。
うーん。
つまり[0]*3は新しく別のリストを作っており、一方
a=[t]*3は[t, t, t]だから その場に存在しているリストは
a==[t, t, t]とt==[0, 0, 0]の2つだということですか?


595 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 10:22:35 ]
[0] * 3 は [0, 0, 0] という新しいリストを作る
[t] * 3 は [t, t, t] という新しいリストを作る

0 は immutable だから、同じオブジェクトの参照がたくさんあっても問題にならないけど、
リストは mutable だから、同じオブジェクトの参照がたくさんあると、一つを書き換えると他からの
参照にも影響を与える。

596 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 10:44:34 ]
>>595
ありがとうございます。
ttp://codepad.org/KWHJEbWb
これでxの値を7から-5に変更したら、
tは[x, x, x]で
aは[t, t, t]なので
t, aが共に変更されるのではないかと思うのですが、
実際は変更されません。
これは何故でしょうか。


597 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 11:15:04 ]
>>596
これで納得してくれるかは怪しいけど

a = 1 # 名前 a は 1 を指す
a # 名前 a を評価する。評価して得られた値は 1
b = [a, a] # 名前 b は [a, a] を評価して得たリスト [1, 1] を指す
a = 2 # 名前 a は 2 を指す
b # 名前 b は相変わらず [1, 1] を指したまま

あと a = 1 は「名前は a を指す」って代入文であって数学の等式じゃないから気をつけて
a = 1; a = 2 なんてのも Python では成立する

598 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 11:29:24 ]
>>596
リストはオブジェクトへの参照のリスト。
他の言語で参照というと変数への参照の場合があるけど、Pythonの場合は変数への参照は無い。

x = 7 # 7 という値のオブジェクト (A) を用意して、x が (A) を参照するようにする。
[x] # x が参照している (A) というオブジェクト一つを要素にしたリスト [ (A) ] を作る。このオブジェクトを(B) とする。
t = [x] * 3 # (B) を3回繰り返したリストのオブジェクトを作る。これを (C) とする。 (C) は [(A), (A), (A)] になる。 t に (C) への参照を代入する。
[t] # t が参照している (C) というオブジェクト一つを要素にしたリスト [ (C) ] つまり [ [ (A), (A), (A)] ] を作る。このオブジェクトを (D) とする。
a = [t] * 3 # (D) を3回繰り返したリストのオブジェクト [ (C), (C), (C) ] をつくる。このオブジェクトを (E) とする。

x = -5 # -5 という値のオブジェクト (F) を用意して、 x が (F) を参照するようにする。 (A) の値は変更されない。

結果として、 a が参照しているオブジェクト (E) の値は [(C), (C), (C)], t が参照しているオブジェクトは (C),
(C) の値は [(A), (A), (A)]. (A) の値は 7 のまま。

599 名前:591=595=598 mailto:sage [2009/12/28(月) 11:46:52 ]
ちなみに、>>590はどの言語の経験があるの?
ベースとなる言語があれば、その言語で言えばどういう意味か説明に使える。

>>596 を Javaで書き換えると、

Integer x = Integer.fromInt(7); // x = 7

ArrayList<Object> t = new ArrayList<Object>();
for (int i = 0; i < 3; i++) t.add(x); // t = [x] * 3

ArrayList<Object> a = new ArrayList<Object>()
for (int i = 0; i < 3; ++i) a.add(t); // a = [t] * 3

x = Integer.fromInt(-5); // x = -5

Javaが判れば、xを書き換えてもaやtに影響ないのが判ると思う。

600 名前:599 mailto:sage [2009/12/28(月) 11:52:55 ]
ごめん、 Integer.fromInt は Integer.valueOf の間違い。

JavaはPythonのオブジェクトを説明するのには向いているけど、
ここ5年以上マトモに使えてないので、文法エラーやメソッドのミスには目をつぶってくれ。

ちなみに、Pythonのオブジェクトを説明するのにJavaが向いている理由は、
整数と文字列がimmutableだから。
x = 7
y = 7
で x is y の結果が言語で規定されていない理由は、
Integer x = Integer.valueOf(7);
Integer y = Integer.valueOf(7);
x == y の結果が言語で規定されていない理由と同じ。

601 名前:590 mailto:sage [2009/12/28(月) 11:54:47 ]
みなさまありがとうございます。
私はC++プログラマです。
そのため変数の型宣言がないPythonを学び、
ところどころで困惑してお世話になっております。

とても長くなったため私の現在の認識を自分でながめるために書き出してみました。
ttp://codepad.org/MJaNWykh

Javaの経験はありませんが、ご教示いただいたJavaコードはC++な見方で
推測して拝見しました。
そことのアナロジーで解釈しても
この1.〜3.の解釈は正しいと思うのですが、
そうだとしますと
4.でt, aが変更される理由がまた分からなくなります。

どうして4.だけ変更されるのでしょうか?


602 名前:600=methane mailto:sage [2009/12/28(月) 12:12:25 ]
>>601
C++にはJavaのObject型みたいなのがないから、void*で代用するけど、こんな感じになる。 (キャストは省略)
x = 7
t = [x]*3
a = [t]*3

void *x = new int(7);

vector<void*> *t = new vector<void*>;
for (int i = 0; i < 3; ++i) t->push_back(x);

vector<void*> *a = new vector<void*>;
for (int i = 0; i < 3; ++i) a->push_back(t);

ここまでで初期状態。
じゃぁ、初期状態から t = 3.14 を C++ でいうと、
t = new double(3.14);
t が新しく別のオブジェクトをポイントするようになるだけで、 a[0]は、もともとtが指していた [7,7,7] を差し続ける。

つぎに、初期状態から a[0][0] = -5 を C++ でいうと、
(*((*a)[0]))[0] = -5;
t というポインタが指している vector オブジェクトの先頭要素を -5 に書き換えている。
で、tもaもポイントしている先は変わらないまま、tがポイントしているvectorオブジェクトの先頭要素だけを書き換えているので、
t と a の両方が影響を受ける。

603 名前:methane mailto:sage [2009/12/28(月) 12:21:08 ]
C++プログラマなら、Pythonの変数は全部C++でいうポインタ変数で、オブジェクトは全部
new やその他の手段でヒープ上に取られるという理解をすると良いと思う。

「参照」と呼んでいるのは全部ポインタのことで、

int a = 3;
int &x = a;
int *y = &a;

でいうところの a のような、変数と値が完全に束縛された存在が無い。
あとは、
a[0][0] = -5 がリスト「オブジェクトに対する変更」なのにたいして、
t = -5 がオブジェクトは全く変更されず、「ポインタ変数が別のアドレスを指すようになる」
という違いを把握できれば、一気に壁を突破できるはず。



604 名前:590 mailto:sage [2009/12/28(月) 12:27:42 ]
>>602-603methane氏
C++に例えてくださりありがとうございました。
現在必死に読んでおります。


605 名前:590 [2009/12/28(月) 12:45:51 ]
値は全て無名であると考えてよろしいですか?


606 名前:methane mailto:sage [2009/12/28(月) 12:52:35 ]
>>605
コード上に出てきた変数名と密結合しているオブジェクトが存在しないという意味であれば、すべて無名ですね。

def foo(): pass
bar = foo
del foo

したら、foo()できなくてbar()できるし、 class もモジュールもパッケージも、名前とオブジェクトの関係は全部同じです。

607 名前:590 mailto:sage [2009/12/28(月) 13:10:02 ]
おかげさまで理解できたと思います。
つまり
 ttp://uproda.2ch-library.com/lib200590.zip.shtml
こんなことになっているんですね。
(Wordファイルをzipで圧縮したもので
 DLキーはpythonです。)
この理解でよろしいでしょうか?

608 名前:methane mailto:sage [2009/12/28(月) 13:31:10 ]
>>607
5番が書きかけなのかな・・・
4番までは完全に正解。Good Job.

609 名前:590 mailto:sage [2009/12/28(月) 13:35:52 ]
>>608
5.番は
 t[0]=−5
以外は4.と相違点ありません。
a[0][0]=-5とt[0]=−5が等価であるという事を言いたかった図です。
どうでしょうか。

610 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 13:37:57 ]
>>571はダウト

611 名前:methane mailto:sage [2009/12/28(月) 13:42:55 ]
>>609
あぁ、4からコピーした後編集するの忘れてると勘違いしてました。
a[0][0] と t[0] は等価で図は完全一致で正解です。
図だと判りやすいですね。

612 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 13:44:10 ]
>>590
a=[3,7]
b=a
a=a+[2,5]
print b
print a

a=[3,7]
b=a
a.append([2,5])
print b
print a

613 名前:590 mailto:sage [2009/12/28(月) 13:45:22 ]
>>611
これでまた一つ壁を越えられた気がします。
methane氏、諸先輩方 どうもありがとうございました。




614 名前:590 mailto:sage [2009/12/28(月) 13:50:02 ]
>>612
今となっては>>590の挙動についても納得しました。
aとbが同一の値(リスト)を指しているので、
 ttp://codepad.org/btaagIKq
こんな挙動になるわけですね。

615 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 14:03:43 ]
ぬるぽ

616 名前:デフォルトの名無しさん [2009/12/28(月) 18:57:49 ]
ファイルのMD5ハッシュやSHA1ハッシュを表示するPythonスクリプト - MoreslowlyWiki
ttp://www.moreslowly.jp/mw/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81
%AEMD5%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E3%82%84SHA1%E3%83%8F%E3%83%83%E3
%82%B7%E3%83%A5%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8BPython%E3%82%B9
%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88
このプログラムで、末尾で

if __name__ == '__main__':
 ここで処理

としているのは何故でしょうか?
このif文は何を意味するのですか?

617 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 19:07:03 ]
モジュールとして他のファイルからimportされたときと
それ自身単独で実行されたときの動作を区別出来る
テストケース書くなり実行コードにするなり

618 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 19:11:29 ]
>>617
おお、
なるほど。
ありがとうございました。

619 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 23:14:44 ]
>>618
御礼言われたら照れるなあ

620 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 01:40:07 ]
他人へのお礼で照れるとは

621 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 11:06:55 ]
おなあ

622 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 11:08:59 ]
りい

623 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 23:22:19 ]
殿かよ



624 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 11:02:47 ]
師走ですから

625 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 15:48:43 ]
本年はまことにお世話になりました
来年は初心者スレから卒業したい。

626 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 00:27:24 ]
あけましておめでとう

手元の習熟メモを見ると、学んでみようと思い立ったのは2006年らしいのに、
まだまださっぱりだぜ俺…

627 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 20:58:54 ]
Python 2.6.4の(reモジュール等の)標準モジュールの中に、
ある文字列が正規表現として文法的に正しいかどうかを調べる
機能があれば教えていただけますでしょうか?


628 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 21:20:02 ]
re.compile()を通せばre.errorが飛んでくるだろ

629 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 21:44:39 ]
>>628
なるほど。
ありがとうございます。


630 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 16:50:58 ]
これから1から勉強をはじめたいと思ってます
2.6と3.0と3.1とバージョンがありますが、3.x系は不評であると聞いております
互換性を気にしないのであれば3.x系から始めても問題ないでしょうか?

631 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 16:59:15 ]
問題ないけど、まだ3.xに対応したライブラリ少ないよ

632 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 16:59:46 ]
問題ないでしょう

633 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 17:11:44 ]
ありがとうございます
PHP4みたいになると困るので3.1から始めたいと思います
英語のドキュメント読みながらやってみます



634 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 17:38:10 ]
バカがバカを育てるわけだな

635 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 17:42:51 ]
それでも2to3はPHPのバージョンアップよりは楽だと思う…

636 名前:デフォルトの名無しさん mailto:sage [2010/01/08(金) 22:00:50 ]
初めてのPython 第3版でPython3対応出来ますかね?

637 名前:デフォルトの名無しさん mailto:sage [2010/01/08(金) 23:15:51 ]
これから勉強するのに3からだとダメなの?

638 名前:デフォルトの名無しさん mailto:sage [2010/01/08(金) 23:30:47 ]
だめじゃないよ

639 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 04:47:01 ]
だめじゃなくもなくないよ

640 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 05:13:40 ]
外部ライブラリ使うとちと怖い
言語コアのみなら無問題

641 名前:デフォルトの名無しさん [2010/01/10(日) 13:57:23 ]
python.exeを起動してprint "hello world"と入力したのですが
以下の線の中の4行が表示されてしまいました

------------------------
File "stdin>", line 1
print "hello world"
               ^
SyntaxError: invalid syntax
------------------------


どなたか解決方法をご教授お願い致します

642 名前:641 mailto:sage [2010/01/10(日) 13:58:45 ]
自己解決しました
print ("hello world")って書かないとダメだったんですね

643 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 14:11:10 ]
Python3の日本語マニュアルってありませんか?



644 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 14:14:03 ]
英語くらい読めよ
中学生か?

645 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 14:21:30 ]
小学生です

646 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 14:41:41 ]
ならしょうがない
英語もろくに読めないおっさんにならないように
中学校ではちゃんと英語勉強しろよ

647 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 14:49:37 ]
釣りや騙りも見分けられるよう
空気も読めるようになった方がいいな

648 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 14:52:18 ]
>>647
いやそれは自分に言えよww

足りない頭で良く読め。
>>646の書き方はわざわざ嫌みをつけた
書き方をしているうだろ?
つまり分かってやっていることだってのが何で分からないの?


649 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 14:55:31 ]
>>648
いやそれは自分に言えよww

足りない頭で良く読め。
>>647の書き方はわざわざ嫌みをつけた
書き方をしているうだろ?
つまり分かってやっていることだってのが何で分からないの?

650 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 16:14:46 ]
RuntimeError: maximum recursion depth exceeded

651 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 16:27:12 ]
>>644
ここプログラム板
英語の板じゃないよ

652 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 16:38:29 ]
>>651
だから何?
python3の日本語ドキュメントはあるの?
ないなら、英語で読むしかないじゃん
馬鹿か?

653 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 16:39:10 ]
じゃあ翻訳してやればおk



654 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 16:42:39 ]
>>652
>>650に答えろ

655 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 16:45:19 ]
みんなどんだけストレス溜めてんだよ

656 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 16:46:10 ]
>>646
書き込む所間違えてるよ
君が書き込むべき板は厨房板だと思うよ

657 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 16:47:45 ]
なにこの低能力者板。
所詮P言語ユーザーなんてこんなレベルかwww

658 名前:648 mailto:sage [2010/01/10(日) 16:49:34 ]
>>649
悔しいからってオウム返しは自閉症のやることだよw

659 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 16:53:47 ]
ここまで643への回答ゼロ

660 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 17:00:46 ]
まぁあれだよ、需要が無いから供給が無いんじゃないか?

661 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 17:03:59 ]
>>643
まだ翻訳されてません

662 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 17:13:20 ]
>>656
嫌味なやつだけど正論だろ
英語が読めないといろいろ苦労をする
暇な学生時代にもっと勉強しとけばよかった・・・

663 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 17:15:23 ]
>>662
板違い



664 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 17:21:56 ]
日本製Rubyは英語読めない馬鹿もウェルカムだよー^^
無理してPythonなんてやってないでみんなRubyにおいで

665 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 17:24:16 ]
pythonのPyPIあたるもは、
Rubyには有るんですか?

666 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 17:39:39 ]
>>665
日本語で

667 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 17:58:39 ]
Ruby Gemsとか?

668 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 18:16:43 ]
差別発言をするような奴にろくな奴はいない

669 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 18:20:39 ]
最近キチガイが1人住み着いてから荒れてるな

670 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 18:21:22 ]
>>664
英語日本語以前に、空気読めない人間はPythonに向いてないと思う。
特定の誰かに対した嫌みではなく。

671 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 18:42:34 ]
>>668
差別発言?どこに?
>>669のことか?

672 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 18:47:35 ]
くだスレを荒らすのはやめれ

673 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 19:43:22 ]
>>672
くだスレが本当にくだらないスレになってる。



674 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 19:55:20 ]
くだすれは'くだらないスレ'であって、
'救いようのないスレ'ではない。

675 名前:> 673 mailto:sage [2010/01/10(日) 19:58:56 ]
>>674
いやそもそも、本当は
'くだらないスレ'じゃなくて
'くだらない質問をするためのスレ'
じゃないのか?

まあいいか。

676 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 20:00:19 ]
Windows XP + Python2.6です。
変数strに文字列が代入されている状態で、
Windows XPのコマンドラインを実行することはできませんか?
C言語だと
system(str);
って言うやつが相当します。

677 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 20:08:24 ]
Cのsystemと完全に一致するかは知らないけど
os.system(s)

678 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 20:09:03 ]
あとstrは組み込み関数名なので避けたほうがいいかも

679 名前:676 mailto:sage [2010/01/10(日) 20:35:33 ]
>>677-678
strを避けるべきとは知りませんでした。
ありがとうございます。

もう一つ、Windows XP + Python2.6上で。

3つの文字列str1, str2, str3があるとき、
あるプログラムX上から
 os.system(str1)
 os.system(str2)
 os.system(str3)
これらを同時に実行し、3つとも終わったら
Xを終了する
といったことは実現可能でしょうか?
実現するとしたら、どうすればできますでしょうか?
よろしくお願いします。


680 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 20:41:28 ]
subprocess を使えばよろしい

681 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 20:48:02 ]
>>679
subprocessモジュールを使う
ただしsubprocessモジュールは引数として文字列ではなく
argv形式のリストを取るので、もし元が文字列ならshlexあたりで分割汁
こんな感じだ

import shlex, subprocess

cmds = [shlex.split(s) for s in [str1, str2, str3]]
children = [subprocess.Popen(cmd) for cmd in cmds]
for p in children: p.wait()

682 名前:679 mailto:sage [2010/01/10(日) 20:57:46 ]
>681
ありがとうございます。
教えを頼りに頑張って見ます。


683 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 21:05:00 ]
>>681
ちなみに教えていただいたそのコード
のライセンスはどうすれば宜しいでしょうか?



684 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 21:06:18 ]
>>683
ライセンスかw
どうでもいいので好きに汁

685 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 21:07:54 ]
どうでもよくないよ
2chに書き込んだら2chの物になる

686 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 21:50:06 ]
>>685
プログラムのソースコードを2chに書き込んだ場合、
そのライセンスは厳密にはどうなるんだろう?
・・・ってのはどこで聞けばいいかな?


687 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 21:55:43 ]
初めて書き込む前に規約がでただろう。それを嫁

688 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 22:30:32 ]
>>643
ttp://diveintopython3-ja.rdy.jp/

ただし未完成らしい。

689 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 22:33:04 ]
>>688
ありがとうございます

690 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 22:43:41 ]
>>687
> ・投稿者は、投稿に関して発生する責任が全て投稿者に帰すことを承諾します。
> ・投稿者は、話題と無関係な広告の投稿に関して、相応の費用を支払うことを承諾します
> ・投稿者は、投稿された内容及びこれに含まれる知的財産権、(著作権法第21条ないし
> 第28条に規定される権利も含む)その他の権利につき(第三者に対して再許諾する権利
> を含みます。)、掲示板運営者に対し、無償で譲渡することを承諾します。
> ただし、投稿が別に定める削除ガイドラインに該当する場合、投稿に関する知的財産権
> その他の権利、義務は一定期間投稿者に留保されます。
> ・掲示板運営者は、投稿者に対して日本国内外において無償で非独占的に複製、公衆送信
> 、頒布及び翻訳する権利を投稿者に許諾します。また、投稿者は掲示板運営者が指定する
> 第三者に対して、一切の権利(第三者に対して再許諾する権利を含みます)
> を許諾しないことを承諾します。
> ・投稿者は、掲示板運営者あるいはその指定する者に対して、著作者人格権を一切行使しないことを承諾します。

一方、2ちゃんねるのトップページには
> 2ちゃんねるのデータの利用に関して、原則的に自由ですが、
> 2ちゃんねるのデータ自体を利用して対価を取る行為はご遠慮下さい。
> 要するに、2ちゃんねるをモニターして、お金をとってる
> マーケティング会社の方はご相談頂けないと面倒なことになるかもしれません、、、ってことです。

ということで、例えば>>681が書いたソースコードの著作権は
>>681ではなく2chにあることになる。
また利用者は対価を取らない限り>>681の意志・意向を無視して勝手にそのソースコードを使っても良いことになる、


691 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 22:48:54 ]
>>688
それマニュアルじゃないだろ(ww

692 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 22:52:06 ]
>>690
てか>>681に著作権は発生しているのかい

693 名前:690 mailto:sage [2010/01/10(日) 22:54:49 ]
>>692
どんなに短いソースコードでも、
いやソースコードですらなくコメントでも
発生しているよ。

しかも日本では著作権が発生することを拒否できないし、
著作権を放棄できない。




694 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 22:56:18 ]
>>692
ちなみに君のその短い1文にすら著作権は発生しているよ。
ただし書き込んだ瞬間からその著作権の大半が2chのものになっているけど。

695 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 22:59:10 ]
>>693
デマ乙
naoシフトを思い出すわ

696 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 22:59:36 ]
>>693
そんなDQNめいたことが法廷であったのか!
実際にあるのなら大問題になるから判例挙げてくれ
もちろん根拠となる条文もね

697 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:00:46 ]
どっちもウザい。いいかげんにしろ。

698 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:01:07 ]
print ("Hello World")

690先生の言うとおりだとこれも著作権になるわなwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
ひーーーーーーーーーーハーーーーーーーーーーーーーーーwwwwwwwwwwwwwwwwwwwwwwwwwww

699 名前:696 mailto:sage [2010/01/10(日) 23:02:51 ]
>>697
それもそうだな。吊ってくる

言うまでも無いがソースコードが著作物として認められるには創作性が必要
サンプル程度では認められない

700 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:05:08 ]
二度と戻ってくるなよ。
ママのオッパイ吸って寝ろ。

701 名前:693 mailto:sage [2010/01/10(日) 23:07:26 ]
いやいかなる短さのいかなるものでも著作権は発生するんだよ。
ただ法廷でそれを盾にして戦えるかどうかといえばまあ無理だろうがね。


702 名前:デフォルトの名無しさん [2010/01/10(日) 23:10:30 ]
例えば以下。


>>698
wの数で低能力者の程度が知れると言うが、そのとおりだな。

> print ("Hello World")
うん。発生するよ。
もう2chに書いちゃった後だからもうお前には著作権はないけど、
もし書く前だったとすると、
俺が print ("Hello World") というコードを別の所に書いたら
お前が俺を訴えることも可能。

ただし俺は当然、そのコードは俺が作った!と言い張るから
その短さなら俺が勝つことにはなるが。
要するに立証できないだけ。


703 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:11:19 ]
そろそろ法律板でやったほうがいいかも



704 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:12:46 ]
著作権論議をこのスレでやって欲しいとは思わないけど
2chに書き込んだコードに著作権がないと言い張る奴には
オープンソースから足を洗って欲しいとも思う。

705 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:15:34 ]
すでに権利が他のところにあるものを書き込んだらどうなるの、っと

706 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:16:57 ]
法律版に行けよ、OSSから足を洗ってからな

707 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:19:06 ]
良かったな>>681よ、
君のソースコード、とても人気があるぞ。

708 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:23:17 ]
>>705
あらゆる情報伝達が阻害されるな
常識の無い奴は法律かじらないで欲しいわ

709 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 00:15:59 ]
>>707
>>681だがびっくりした
要するに皆暇なんだなw


710 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 00:16:42 ]
なんでこんなに殺伐としてるんだ……

711 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 00:18:33 ]
総当たりで文字列を生成して2chに書き込むシステムを作れば著作権は崩壊する

712 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 00:36:07 ]
>>711
低能乙w

もしそれができるんなら
総当たりで文字列を生成して
自身のブログで公開すれば全て自分が著作権を握れてウマー

不可能だろ。バカじゃねぇの?お前。


713 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 00:40:24 ]
自動生成と著作権は非常に難解で高度な問題だよ



714 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 00:55:18 ]
ニートは引きこもってないで仕事しろって。
たけしが言ってた。

715 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 01:29:52 ]
>>714
連休明けたら言われたとおり仕事探すんだぞ

716 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 03:09:25 ]
連休明けとか思ってるからダメなんだよ。
すぐ行動しろや。

717 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 03:25:58 ]
仕事を探す前に法律版に行けよ(ww

718 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 10:02:19 ]
>>702
発生しねえよwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
お前naoシフト開発した池沼だろwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

719 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 10:09:21 ]
>>718
       _, ._   気持ちはわかるけど
     ( ・ω・) いくらなんでも生やしすぎだも
     ○={=}〇, 
      |:::::::::\, ', ´
   、、、、し、、`(.@)wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww



720 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 10:13:51 ]
なにこの隔離病棟

721 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 10:37:24 ]
いつからここは隔離病棟になっちまったんだ...

722 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 10:41:33 ]
質問が来ればまた正常営業に戻るよ

723 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 10:47:32 ]
ニートはしょうがないな。



724 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 10:56:47 ]
ニートは勉強会とか行ってる場合じゃないぞ。
すぐ逃げる癖をまず直さないと。

725 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 11:11:16 ]
>>718
無能が草を生やした所で
誰一人の役にも 立たないんだよwww

726 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 11:19:13 ]
てかprint ("Hello World")で著作権発生するとかネタ?それともマジで言ってる?

727 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 13:02:41 ]
普通に考えて日本では作ったら発生する。
>>726
むしろそれで発生しないという根拠をしめせ。


728 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 13:14:01 ]
草を刈る準備は万端だぞ

729 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 13:18:04 ]
根拠を求める以前に,脳内にある根拠を外に出す方法を教えてくれ

730 名前:デフォルトの名無しさん [2010/01/11(月) 18:06:24 ]
print(1)

これは誰の著作権か教えてください

731 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 18:11:15 ]
チャールズ・フロイ

732 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 18:15:03 ]
著作権は草の数に比例する。

733 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 18:16:37 ]
ふ〜ん・・・で?



734 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 18:39:46 ]
本スレが荒れるとこっちが平和になる。
逆も然り。

735 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 19:36:29 ]
730の著作権は俺にある。
文句がある奴は、730の著作権が俺にないという根拠を示せよ。

736 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 19:48:56 ]
まだやんのかよ?w

737 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 20:29:48 ]
print("こんにちは")

print("Hello Kitty")

print("こんにちは世界")

全部だれの著作権かよろ

738 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 20:31:35 ]
イラストでもつけて公開しろよ

739 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 20:35:45 ]
著作権のことだけで終わる連休
なんて生産的で有意義なんだろう!!

740 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 20:36:28 ]
>>737
ちょっとレッシグさんに聞いてくるわ

741 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 21:04:19 ]
>>737
737

742 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 23:46:03 ]
独創性の無いものに著作権は発生しませんよ
プログラム作ってる人なら常識だと思うんだけど
まあネタで騒いでるんだろうな、つられちった

743 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 23:52:49 ]
>>690の盛大な釣り
                         / ヽ
             >>690         ,/    ヽ
             . ∧_∧   ,/       ヽ
               ( ´∀`) ,/          ヽ
             (    つ@            ヽ
 .__          | | |                ヽ
 |――|        (__)_)                ヽ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|                 ヽ
/⌒\/⌒\/⌒\/⌒\|彡~゚ ゜~ ~。゜ ~ ~ ~ ~~ ~ ~~ ~ ~~ ~~ ~~
⌒\/⌒\/⌒\/⌒\/⌒\彡 〜 〜〜 〜〜 〜〜 〜 〜
                                     │
                                     │
                                     │
                  人人人人人人人       ∧J∧
                 <           >     ( / ⌒ヽ
                 < 吊られちゃった >      | |   | >>○
                 <           >      ∪ / ノ
                  ∨∨∨∨∨∨∨        | ||
                                    ∪∪ >>698



744 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 00:02:33 ]
>>693みたいなのを中高生が信じちゃうといけないから
>>698達は覚悟のうえで釣られていったんだよ・・・

745 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 00:07:47 ]
∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵。∴∵
∴∵∴∵:。∴∵∴∵∴: --─- ∴∵∴∵∴∵∴∵
∴∵゜∴∵∴∵∴∵  (___ )(___ ) >>698達 ∵。∴∵∵ ゜
∴∵∴∵∴:∵∴∵_ i/ = =ヽi ∴∵∴∵。∴∵∴
∴∵☆彡∴∵∵ //[||    」  ||] ∴:∵∴∵∴∵:∴∵
∴∵∴∵∴∵ / ヘ | |  ____,ヽ | | ∴:∵∴∵∴∵:∴∵
∴゚∴∵∴∵ /ヽ ノ    ヽ__./  ∴∵∴∵:∴∵∴∵
∴∵∴∵  く  /     三三三∠⌒> ∴:∵∴∵:∴∵
∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∵∴∵∴∵
   ∧∧   ∧∧  ∧∧   ∧∧
  (   )ゝ (   )ゝ(   )ゝ(   )ゝ 無茶しやがって・・・
   i⌒ /   i⌒ /  i⌒ /   i⌒ /
   三  |  三  |  三  |  三  |
   ∪ ∪  ∪ ∪  ∪ ∪  ∪ ∪
  三三   三三  三三  三三

746 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 02:51:38 ]
着地点が見つけられなくて逆上したか?
独創性の定義次第では、print("Hello World")にも著作権が発生するわけだが。

747 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 02:58:55 ]
>>746が裁判官あたりで法律の解釈を自由に決められるんならそうなるかもしれんな。

748 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 03:03:56 ]
>>746
なんだ、結局著作権発生するんじゃん
アンチは完全否定しろよ
くだらないAA張ってる場合じゃないぞ

749 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 03:06:11 ]
747は、746が裁判官でなくて法律の解釈を決められないことを証明する必要があるな。
頑張れ。応援しているぞ。

750 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 06:39:11 ]
というかくだらない火種が
いつの間にか複数人vs複数人の争いになってきているな。

いいぞ、もっとやれ


751 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 08:14:14 ]
定義次第ではって……そりゃ、殺人の定義次第では、道歩いただけで殺人になるよ。

752 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 08:43:32 ]
質問です

空白で区切った文字列の二番目を分割して、税をかけて文字列を書きだしたいのですが
def add_tax(astring):
....item = astring.split()
....price = int(item[1]) * 1.1
....item[1] = str(int(price))
....return " ".join(item)
>>>add_tax("Good 1000 2009/1/11)
とやっても駄目だったので
def add_tax(astring):
....item = astring()
....price = int(item[1])
....item[1] = str(price)
....return item[1]
とすると文字列をそのまま返してくるのですが
price = int(item[1]) * 1.1
としても税をかけて文字列を返してくれません
どうすればいいでしょうか
あと、一番上の関数の最後の行 return " ".join(item)は
スペースを区切り文字として、シーケンス(()の内容)連結下文字列が出来上がるとなるのですが、
エラーになってしまったのでjoin()メゾットが何をしてるのかも詳しくお願いします

Python2.6.4です

753 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 09:01:28 ]
質問キター

>>752
上のadd_taxがどう駄目だったのかわからない
入力と期待する戻り値と実際に返って来た戻り値を書いて

入力チェックとかをせず簡単に書くとすれば
>>> def add_tax(s):
... item = s.split()
... return '%s %d %s' % (item[0], int(item[1]) * 1.1, item[2])
>>> add_tax('Good 1000 2009/1/11')
'Good 1100 2009/1/11'

joinの説明はそれであってる
エラーになるならなんてエラー表示されたのか貼って



754 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 09:07:17 ]
>>748
もう釣りはいいですよ

755 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 09:08:50 ]
print(item) で、
['GOOD', 1100, '2009/01/11']  joinは失敗する、expected stringなのにintだから
['GOOD', '1100', '2009/01/11'] ならjoin出来る
ていうか出来たけどなぁ どこが違うんだろ。

>>> def add_tax(astring):
....item = astring.split()
....print(item)
....price = (int(item[1])*1.1)
....print(price)
....item[1] = str(int(price))
....print(item)
....return " ".join(item)

>>> add_tax("GOOD 1000 2009/01/11")
['GOOD', '1000', '2009/01/11']
1100.0
['GOOD', '1100', '2009/01/11']
'GOOD 1100 2009/01/11'
>>>

756 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 09:11:54 ]
>>746
中学生とか高校生かあんたは
大人がそんなこと言ってるなら終わってるな

757 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 09:12:31 ]
>>756
質問北からもうやめれ

758 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 09:18:00 ]
こんにちは
おはようございます
こんばんは
おやすみなさい


これらも著作権が発生するんですね、笑えます

759 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 09:46:56 ]
>>756
人のことはいいから、自分の痛さに敏感な人生を送ろうぜ。

760 名前:デフォルトの名無しさん [2010/01/12(火) 10:01:12 ]
集合知プログラミングのp39あたりを打ち込んでp40の

>>> clust=clusters.hcluster(data) を打つと

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "clusters.py", line 114, in hcluster
closest=distance(clust[0].vec,clust[1].vec)
TypeError: 'dict' object is not callable

とエラーが返ります。拾い読みで全部のコードを打ち込んでないのが
悪いのかもしれませんが、

closest=distance(clust[0].vec,clust[1].vec)

のclust

clust=[bicluster(rows[i],id=i) for i in range(len(rows))]
の biclusterは

class bicluster:
def __init__(self,vec,left=None,right=None,distance=0.0,id=None):
self.left=left
self.right=right
self.vec=vec
self.id=id
self.distance=distance
と打ち込んでいます。何が悪いんでしょうか教えてくだしあ。

761 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 10:18:55 ]
>>760
> closest=distance(clust[0].vec,clust[1].vec)
のdistanceが関数名やクラス名等のcallableであることを期待してるんだろう
なのに辞書だから怒られてる
あと手打ちしなくてもオライリーからソースコード落とせるはずだよ

762 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 10:21:58 ]
>>758
すばらしいポエムだ、感動した!!!
著作権をください!!!

763 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 10:44:04 ]
distance と distances が混ざっていたのが原因でした。

ところでソースコードは
d.hatena.ne.jp/shohu33/20080811/1218456689
で書かれてるところから落とせたんでしょうか、404です…
まぁ打ち込むのも勉強と思えばいいんですが。





764 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 10:54:50 ]
>>763
英語版でよければ
ttp://examples.oreilly.com/9780596529321/

765 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 11:15:28 ]
>>764
おお、ありがとうやっぱり楽な方がいいやw

766 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 11:33:58 ]
>>753
ありがとうございます
後で張ります
待っててください

767 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 12:40:47 ]
>>759
ガキはスグ反応してくれるね、フイタ

768 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 13:33:53 ]
Python 3が後方互換性を捨ててでも求めたもの
ttp://www.atmarkit.co.jp/fcoding/articles/python3/01/python301a.html

↑これ読んだら、Python2が気持ち悪くてしょうがない。
Python2.6初めてまだ3日目、2.5のチュートリアル4章まで読んだんだけど、
>>688読んで、3からやった方がいいかな?

「誰もが正しいと考える、たった1つの方法をできる限り採用する
 (There should be one―and preferably only one―obvious way to do it)」
が今や、2系と3系で2つの方法が存在してるじゃんwww
アホの子なの?まじ、きめえええwwww

769 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 13:42:13 ]
きめえならTIMTOWTDIでも驚き最小限でも好きな言語やったらいいよ
んでネタとしては本スレ向きだからそっちに書き込んでくれ

770 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 14:44:24 ]
質問です。
他の言語で言うところの「構造体」をエミュレートする場合
辞書とクラスのどちらがいいのでしょうか?
静的言語ならクラスにしとけばコンパイル時エラーになりますが
Pythonだとどちらも実行時エラーになりますし・・・

771 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 14:50:00 ]
僕はカッターナイフの形が気持ち悪くて仕方がありません。
だからいつも髪を切るときは包丁を使います。

772 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 14:54:19 ]
辞書で構造体… myunionA1['Key01'] = 33.05 みたいにするのかな。
myUnionA1.var01 = 12  みたいなほうがやっぱり構造体っぽいんじゃないかな。
作り方や使い方にしても、「変数持ってるだけのクラス」でいいと思うし。

773 名前:768 mailto:sage [2010/01/12(火) 15:01:00 ]
>>769
本スレいくわ

>>770
3日目の俺が答えてやろう。
構造体 → タプル でおk
ja.wikipedia.org/wiki/%E3%82%BF%E3%83%97%E3%83%AB



774 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 15:05:12 ]
>>770
単にデータの集合体に名前でアクセスできればいいのなら辞書かクラス
そのうち使い捨てで構わないのなら辞書、そうでないのならクラス

Cの構造体のように順序も保持したいのならnamed tuple
それか配列かタプルをクラスでラップして名前でアクセス

コンパイル時/実行時は例がないとちょっとわかんない

775 名前:752 mailto:sage [2010/01/12(火) 15:27:29 ]
>>>add_tax("Good 1000 2009/1/11)
とやっても駄目だったので

の"が足りないところは気にしないでください
これがエラーの原因ではありません
もう一度自分で関数を定義したらできました

あと>>753さん
そんな記述の仕方もあるんですね
文字列フォーマットを使って指定した文字列を挿入する処理はこれから学ぶつもりですが、大変参考になります
コッチのほうが処理が解りやすいし短いですね
join()が何をするのかはわかってはいたんですけど、スペースを埋め込んで連結した文字を作るというのが
なかなかイメージが掴めなくて苦労してました
エラーは多分タイプミスのシンタックスエラーです
ありがとうございます

776 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 15:27:35 ]
コンパイル時にできるだけ多くのエラーを拾いたいってことなら
どう書いても大差ないと思う

777 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 15:34:52 ]
>>775
" ".join(リスト) は、" ".glue(リスト) だったほうが分かりやすいと思うんだよな
スペース文字のjoinメソッドというか、スペース文字が糊になって接着するメソッド

778 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 17:23:50 ]
自分にとって分かりやすいことが、万人にとって分かりやすいこととは限らない。

779 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 20:59:53 ]
phpのarray_mapみたいなのってpythonでどの関数使えばいいのでしょうか?

780 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 21:13:04 ]
>>779
すでに定義されている関数を使うなら map、
y = map(func, x) # リストxの各要素に func を適用した結果のリストをyに代入する

専用に関数を定義するくらいなら 内包表記、
y = [z * 2 for z in x] # xの各要素に対して x * 2 した結果のリストを y に代入する

781 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 22:56:38 ]
>>780
ありがとうございます

782 名前:770 mailto:sage [2010/01/12(火) 23:52:40 ]
>>772
クラスの方が見た目的に他言語と共通してますしね

>>773
タプルはインデックスアクセスしか出来ないので・・・

>>774
>コンパイル時/実行時は例がないとちょっとわかんない
>>776さんの言ってることです。

>>776
やはりそうですか。

いろいろと意見ありがとうございました。
クラスを使えば構造体のメンバ一覧も明記できるので、辞書ではなくクラスを使うようにします。

783 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 00:41:54 ]
>>782
既出だが、 Python 2.6 以上なら namedtuple がある。
namedtuple だと作成と同時に値が固定されてしまうけどね。



784 名前:760 [2010/01/13(水) 04:41:01 ]
同じく「集合知プログラミング」で今度は10章をやっていますが、
p259の
weights,feat.nmf.factorize(v,pc=20,iter=50)
でNaNが出ます。

その上の
w,h= nmf.factorize(m1*m2,pc=3,iter=100)
は、21.99999822 とか多少誤差が出ることはありますがぴったりの時もあり
うまくいっています。

一応p247のfeedlistは吟味してp250の
>>>wordvec[0:10]が空になるものは、URL変わったのかなと思ってコメントアウトしました。
またp251のdrawdendrogramでascii以外が混ざってるっぽいエラーがでてたので、
そのフィードもコメントアウトしてデンドログラムは描画できました。

他にどこを確認すればいいでしょうか?



785 名前:760 [2010/01/13(水) 08:33:26 ]
追記です。問題の非負値行列遠視分解ですが、変数で割り算をしてるのはここだけ↓です。
h=matrix(array(h)*array(hn)/array(hd))

w=matrix(array(w)*array(wn)/array(wd))

hdとwdをprintするようにしてみましたが、
[[ 0.02011069 0.02977744 0.02906954 ..., 0.02407994 0.02889659
0.02915037]
[ 0.01446606 0.02134596 0.02148551 ..., 0.01774882 0.02021706
0.02054283]
[ 0.01723484 0.02917753 0.02718492 ..., 0.02231427 0.02644232
0.0300849 ]
...,
[ 0.01144608 0.01790515 0.01683023 ..., 0.01426036 0.01676002
0.01819174]
[ 0.00750103 0.01223539 0.01129087 ..., 0.00934213 0.01090586
0.01224102]
[ 0.00230905 0.00371431 0.00355478 ..., 0.00290677 0.00371496
0.00378571]]
[[ NaN NaN NaN ..., NaN NaN NaN]
[ NaN NaN NaN ..., NaN NaN NaN]
[ NaN NaN NaN ..., NaN NaN NaN]
...,
[ NaN NaN NaN ..., NaN NaN NaN]
[ NaN NaN NaN ..., NaN NaN NaN]
[ NaN NaN NaN ..., NaN NaN NaN]]
と言う感じです。もとの行列に0が多すぎるのがいけないのかもしれませんが、
解こうとしている問題の性格上変えようがありません。どうにかならないでしょうか?

786 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 09:31:01 ]
その程度の数の割り算でNaNになるはずはない

どっかでsqrtに負数を突っ込んでないか?

787 名前:デフォルトの名無しさん [2010/01/13(水) 18:24:53 ]
>>786
レスありがとうございます。>>764さんのURLから落とせる
nmf.pyを使っているだけなのですが、sqrtは見た目にはありません。

NumPyというパッケージを使っているのですが、それが問題でしょうか?
「集合知プログラミング」以外pythonの本は持ってなくてデバッグの
やり方とかも分かりません。Windows XP SP2 pythonのバージョンは2.6.4ですが、
なにかいい方法ありますでしょうか?

788 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 18:37:58 ]
みんPyを読んだのだが…
簡単なツールでも作りたいな
なにかお題を出してくれる人いないっすか?
もち回答とだめだし希望

789 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 23:05:30 ]
>>788
Editraの日本語入力を修正するパッチを作ってください

790 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 23:06:53 ]
>>788
RDB(MS)
SQL文で管理するコレクション型みたいなもの(SQLiteみたいな)

理由>俺が欲しい。わりとマジで

791 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 23:13:09 ]
>>788
ttp://pc12.2ch.net/test/read.cgi/tech/1258320456
ここに行ってみれば?
きっと喜ぶよ。


792 名前:デフォルトの名無しさん [2010/01/14(木) 00:34:45 ]
>>787
にもレスくだしあ;;

793 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 00:58:35 ]
>>788
ふ、ふりぃおのどらいばを・・・



794 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 01:05:24 ]
宿題スレ池ってレス以外みんなネタじゃないか

795 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 10:59:43 ]
>>794
Editraはネタじゃないです

796 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 18:33:12 ]
>>788
解答はしらないけど、
2つのディレクトリのパスを受け取って、
フォルダ構成やら中身のファイルやらが完全に一致しているかを
調べるPythonScript作ってください。



797 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 19:00:21 ]
from filecmp import dircmp
import sys

d = dircmp(sys.argv[1], sys.argv[2])
d.report()

798 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 19:32:27 ]
>>797
>〜.py aaa aaa
diff aaa aaa
って

799 名前:760 [2010/01/14(木) 19:35:22 ]
>>787 もよろしくお願いします。


800 名前:797 mailto:sage [2010/01/14(木) 19:45:48 ]
>>798
.report() じゃなくて、 .report_full_closure() ならどう?

801 名前:798 mailto:sage [2010/01/14(木) 19:59:10 ]
中身にファイルを入れないと
>dircmp.py aaa bbb
diff aaa bbb
Only in aaa : 〜
Only in bbb : 〜
Identical files : 〜
Differing files : 〜
とかの詳細って表示されないってことを今 分かりました。

これで、全部が全く等しい時に
ディレクトリとして等しいよ!って表示してくれる機能はありませんでしょうか。


802 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 20:05:01 ]
>>797
そんなのあるんだ
でもファイルの中身がちょっとだけ違ってて
サイズと日時が同じだったりしたらどうなんだろ

803 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 20:08:19 ]
>全部が全く等しい

ディレクトリ(サブディレクトリ含)単位でhash値出すとか?



804 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 20:10:40 ]
>>803
ファイルのhashは計算できるのですが、
ディレクトリのhashって計算できますか?


805 名前:801 mailto:sage [2010/01/14(木) 20:15:09 ]
>>802
ファイル名が同じで日時はことなり、内容を1バイトだけ変えたファイルは
別のファイルだと検出されました。


806 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 20:45:05 ]
>>805
それだと日時を見てるのか1バイトで引っかかったのか分からんがな

807 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 20:46:19 ]
ディレクトリのhashはファイルのhashから求めればいいんじゃないかな

808 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:07:57 ]
['a', 'b'] と [10, 20]から
{'a' : 10, 'b' : 20}を生成するみたいな方法ってありませんか?


809 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:11:30 ]
dict(zip(['a', 'b'],[10, 20]))

810 名前:760 [2010/01/15(金) 05:55:20 ]
くりかえしになりますが >>787 もホントによろしくお願いします。

811 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 06:23:26 ]
口あけて待ってるだけじゃ誰も助けてくれん罠

812 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 08:35:58 ]
>>809
ありがとう

813 名前:デフォルトの名無しさん [2010/01/15(金) 12:48:24 ]
Python3.1.1をWindows7 ultimate 64bitにインストールしたんだけど、
Fatal Python error: Py_Initialize: can't initialize sys standard streams
ImportError: No module named encodings.utf_8

とかいわれて機動出来ない。

どうすればいいか教えて!




814 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 16:14:00 ]
>>810
numpy使ってる人少ないんだよな。
matplotlibスレのやつなら知ってるかもしれない。

815 名前:760 mailto:sage [2010/01/15(金) 16:38:30 ]
>>814
スレをのぞきましたがたしかにnumpy の話題が出てますね。
ありがとうございます。逝ってきまつ。

816 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 22:52:19 ]
文字列があって2文字列処理をしていくのですが、なにか素敵な書き方はありますか?
for c in s:
 としてフラグを使い2文字たまったら処理していくようにする

StringIOとread(2)を使う

re.splitで2文字の文字列のリストにしてfor文に突っ込む

がとりあえず思いつきました

817 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 23:04:27 ]
for c1, c2 in zip(s[::2], s[1::2]) しか思いつかない

818 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 23:25:49 ]
for c1, c2 in map(None, s[::2], s[1::2])

819 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 23:26:35 ]
it = iter(s)
for c1, c2 in zip(it, it)

820 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 00:29:02 ]
for x in range(0, len(s), 2)

とすると、s[x], s[x+1]で取り出せる。

821 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 00:32:36 ]
for i in xrange(len(s) / 2):
c1, c2 = s[i*2], s[i*2 + 1]

822 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 00:33:45 ]
おまえらみんなsの文字長が奇数だったときのこと考えてるか?

823 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 00:35:56 ]
>>822
質問の条件には何も言われてないから
未定義で医院ジャマイカ



824 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 00:44:16 ]
>>822
たしかsが奇数のときは
>>817は最後の文字を無視
>>818が最後の文字とNoneのペアを作る、だったかと。

825 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 00:48:04 ]
>>819は無視。
>>820, >>821は例外だな。

826 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 00:48:33 ]
みなさんありがとうございます
いろいろ方法があるんですね
参考になりました

>>820が私的に直感的なのでこれにしておこうと思います
文字列は偶数が保証されていたのでその点も問題無かったので






827 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 00:53:00 ]
忘れた頃に何故か奇数のデータが混ざってて
例外が出て嵌ると

828 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 00:53:59 ]
スライス使えばみんな幸せ♪

829 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 02:14:39 ]
>>819
これいいね

>>> s = '0123456789'
>>> list(zip(*[iter(s), ] * 2))
[('0', '1'), ('2', '3'), ('4', '5'), ('6', '7'), ('8', '9')]
>>> s = '01234567890'
>>> list(zip(*[iter(s), ] * 2))
[('0', '1'), ('2', '3'), ('4', '5'), ('6', '7'), ('8', '9')]

しかし短くしようとするとどんどん直感的じゃなくなるんだよな

830 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 02:27:31 ]
直感性を切ってまで短くするのはPython的じゃないね。
遊びでやるのは別かもしれんが

831 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 11:53:08 ]
>>830
> 直感性を切ってまで短くするのはPython的じゃないね。
それは同意。
短いor早いのが好きならC/C++を使えと。


832 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 13:33:21 ]
perlerがこっちを見ている
仲間にしますか?[Y/N]

833 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 16:47:37 ]
こっち見んな



834 名前:デフォルトの名無しさん [2010/01/19(火) 01:22:05 ]
#!/usr/bin/env python
# coding: utf-8

import threading
import time

class hoge(threading.Thread):
def run(self):
for i in range(0, 10) :
print i
time.sleep(0.1)


for i in range(0, 10):
fuga = hoge()
fuga.start()


以前こんな感じにインスタンス生成しているのを見たことがあるんですが
同じ変数fugaを何度も使用してインスタンス生成しています
結果は予想を反して正常に動作をするんですが
こういう使い方をして問題とかは無いのでしょうか?


835 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 01:26:45 ]
( ´ ▽ ` )問題ないよ。本当だよ。

836 名前:デフォルトの名無しさん [2010/01/19(火) 01:31:31 ]
delete fuga はしないほうがいい?

837 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 01:33:02 ]
>>835
そうなんですか?
できればなぜ問題ないのか、
解説か説明しているサイトへ誘導してもらえないでしょうか?

調べ方が悪いのかググっても
見つからないのでおねがいします

838 名前:デフォルトの名無しさん [2010/01/19(火) 01:54:36 ]
>>837
ヒント: gbkr

839 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 02:16:24 ]
>>834です
あれからデストラクタを使って、インスタンスが廃棄されるタイミングを調べたらシックリすることができました。
同じ変数にインスタンス生成しても、重複したインスタンスはループを抜けると自動的に消滅して最後に生成した
インスタンスだけが残ることがわかりました。
(ただしループ内で実効した処理がループを抜けた後も残っている場合は、処理が終了するまで廃棄しない)

#!/usr/bin/env python
# coding: utf-8

import threading
import time

class hoge(threading.Thread):
def __del__(self):
print 'destructor'

def run(self):
for i in range(0, 10) :
print i
time.sleep(0.1)

for i in range(0, 10):
fuga = hoge()
fuga.start()

time.sleep(4)
print 'piyo'

>>838
すみません。ヒントの意味が分かりません

レスに答えてくれてどうもありがとうございました

840 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 02:26:56 ]
>>834です
>(ただしループ内で実効した処理がループを抜けた後も残っている場合は、処理が終了するまで廃棄しない)

これはスレッドを使用したときだけのようですね
失礼しました

841 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 03:50:23 ]
ふとした疑問なのですが
map型に対しkeys()とvalues()を実行した際、その並び順は同じと考えて大丈夫でしょうか
(もちろん両者を実行する間に変更はありません)

items()でとってzipするべきでしょうか?

842 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 04:21:14 ]
def func(**keys):
def func2(**keys):

って二つあって
funcが受け取った引数をそのままfunc2へと流したいんだがどう書いたらいい?

def func(**keys):
 func(keys)
みたいなこと




843 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 08:23:27 ]
関数を別の変数に流し込んで
x = ....
func(x)
func2(x)
じゃダメなのか?



844 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 09:27:31 ]
>>842
それで何か問題が?
名前無し引数にも対応するなら、
def func(*args, **kwargs):
  func2(*args, **kwargs)

845 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 13:44:50 ]
>>843,844
自分で試してだめだったので質問したつもりだったのですが、ご指摘の通りやり直したらきちんと動きました
前回自分で試したときなにか別の理由で動かなかったものを勘違いしていたようです
どうもすいませんでした



846 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 13:56:02 ]
class X():
 def func(self, **keys):
  print keys
 def func2(self, **keys):
  self.func(keys)

X().func2(x=10, y=20)

連投すいません
上の例だと上手くいかないのですが, どうやって渡したらいいのでしょうか?

847 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 13:58:02 ]
self.func(**keys)

848 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 13:59:09 ]
>>847
ありがとうございます

849 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 17:06:43 ]
最近みんなのPythonを購入して遊んでいるのですが、PyScripterで実行したプログラムのPython Trutle Graphics
のウィンドウをマウスで動かそうとするとフリーズしてしまいます。かるくググってみてもWindows環境では昔からある症状と
あり解決手段を見つけられませんでした。そこで質問なのですがフリーズ回避の方法はありますか?

850 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 17:12:34 ]
コマンド・プロンプトから実行する

851 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 19:45:29 ]
>>849
とりあえず外部実行でやってみろ
Alt + F9 な


852 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 20:34:44 ]
>>850
できれば軽量IDEのPyScripterを使いたかったものですから。

>>851
ありがとうございます。実行してみたところプログラムが終わるとウィンドウも閉じてしまうようで、期待した動作ではありませんでした。
設定項目も見つけられなかったので、素直にシェルを使おうと思います。

853 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 20:53:22 ]
PyScripter は RPyC を利用したリモートデバッグができる。
セットアップが少々面倒だけど、一度セットアップしたら普通の
デバッグと同じ感じに使えるはず。
ttp://plaza.rakuten.co.jp/kugutsushi/diary/200710290000/



854 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 13:16:46 ]
>>851
ウィンドウが閉じてしまうのが嫌なら、最後に
raw_input("")
でも付けたら?

855 名前:849です mailto:sage [2010/01/20(水) 15:47:57 ]
>>853
私宛てですか?正直よく分からなかったです。

>>854
標準の実行をするとTurtle Graphicsのウィンドウは消えないのですが、IDEと被って見にくいので横にずらしたい。
→マウスで動かそうとするとフリーズ。
外部実行だと図形を書きおわったらTurtle Graphicsのウィンドウが消える。
→orz
raw_input("")は外部実行では効果がなかったです。

たんに from tutle import * で簡単なサンプル動かしてるだけなので、そこまで深刻な問題ではないのですが、
みなさんありがとうございます。


856 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 17:41:34 ]
>>855
それフリーズしてるんじゃなくて
WM_PAINTが呼ばれていない
(あるいはメッセージループが回っていない)
だけだと思う
IDEのバグだろ

857 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 21:47:58 ]
>>856
詳しくはわかりませんが、Win環境のPythonとPyScripterの相性のようです。

Python標準シェルとIPythonの挙動が違う意味がわからないので質問します。

Python IPython

>>>str = u"あ" >>>str = u"あ"

>>>type(str) >>>type(str)
<type 'unicode'> <type 'unicode'>

>>>str >>>str
u'\u3042 u'\x82\xa0'

>>>print str >>>print str
あ UnicodeEncodeError:'cp932'〜〜

1.u"あ"を代入した時点で、strはUnicode文字列型になっている
2.IPythonはstr参照時にUnicode文字列型を文字列型にエンコードしなおしている

と言う理解であってますか?そしてこれはバグですか?
ttp://dsas.blog.klab.org/archives/51390187.htmlの方法で解決するみたいなんですが
正当なやりかたなのか気になります。

858 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 21:55:37 ]
すみません、体裁が…。

Python
>>>str = u"あ"
>>>type(str)
<type 'unicode'>
>>>str
u'\u3042
>>>print str


IPython
>>>str = u"あ"
>>>type(str)
<type 'unicode'>
>>>str
u'\x82\xa0'
>>>print str
UnicodeEncodeError:'cp932'〜〜



859 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 22:09:12 ]
とりあえずstrという名前の変数に代入するセンスを疑う

860 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 22:12:30 ]
>>857
IPythonのバグだと思う
リンク先の解決方法は
間違っては居ないが場当たり的だと思う

861 名前:methane mailto:sage [2010/01/20(水) 23:37:58 ]
>>857 のBlogの著者です。
Python本体のインタプリタはCで書かれていて、Python製のPythonインタプリタは
compile() 関数を通しているのが根本的な違いです。
compile() 関数にエンコーディングを渡す良い方法が無いので、ハックで対策するしかありません。
Pythonに付属のIDLEも同じ問題を抱えています。

Blogに書いているよりも良い挙動になるハックが、
https://bugs.launchpad.net/ipython/+bug/339642/comments/8
にあります。

また、この問題は Python3 になるとcompile()の仕様を変えなくても自動消滅します。
実際、Python3 の IDLE も大丈夫です。早くPython3の時代になると良いですね。

862 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 00:16:23 ]
>>861
すばらしい!!
次版のiPythonリリースには取り込まれていて欲しいですね


863 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 02:27:33 ]
>>859
確かに予約語やそれに近しい略語は使うべきではありませんでした、すみません。

>>860,>>861
ありがとうございます。このコードはIPython/iplib.pyのcompile_command()以下

source=source.encode(self.stdin_encoding)
if source[:1] in [' ', '\t']:
  source = 'if 1:\n%s' % source
if source[:1] in [u' ', u'\t']:
  source = u'if 1:\n%s' % source
source = '# coding: %s\n%s' % (self.stdin_encoding, source)

であってますか?リンク先の
+ source = '# coding: %s\n%s' % (self.stdin_encoding, source)
の+は追加の意味で、コードではないですよね?



864 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 02:40:33 ]
diff の出力だから patch に喰わせるのが吉

865 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 02:42:34 ]
compileに渡すユニコード文字列に
文字コード指定を追加してるんで
それであってる

866 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 02:46:15 ]
っつーか 「-」 の部分を追加するな www

867 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 07:31:15 ]
そこはわかっていると信じたい

868 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 12:34:09 ]
dS/dt=-βSI
dI/dt=βSI-γI
dR/dt=γI

という連立微分方程式があってβとγ求めたいんですがPythonで書くとどうなりますか?


869 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 12:59:59 ]
えっ βとγを変えて数値シミュレーションするとかじゃなくてか。

870 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 13:18:53 ]
記号微分?

871 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 14:58:55 ]
ラプラス変換してから逆行列か

872 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 17:17:05 ]
空を飛べ〜

873 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 17:25:59 ]
それはロプロス



874 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 17:44:59 ]
863です。
IPythonでもきちんとUnicodeが扱えるようになりました。
みなさま、ありがとうございました。

875 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 19:12:03 ]
失礼します。若干スレ違いかもしれませんが、質問よろしいでしょうか?

Windows で Python2.6.4&Pygame1.9.1 を使用してプログラムを組もうとしています。
その際の参考サイトとして、
ttp://www.halb-katze.jp/pygt/
ttp://pygame.skr.jp/
などを利用させていただいているのですが、どちらのサイトのスクリプトをそのまま利用しても、うまくウィンドウを開くことができません。
正確にはウィンドウは開くのですが、前者のスクリプトだと一瞬、後者でも半秒も経たないうちにプログラムが終了してしまいます。
解説を読む限りだと、能動的に終了処理をしない限りはウィンドウは開いたままのような気がするのですが、
原因おわかりであればご教授いただけませんでしょうか。

876 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 22:20:30 ]
質問が不親切だな

きっとダブルクリックでもしてるんだろ
コマンドで実行してみろ

877 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 22:39:17 ]
加齢臭がする

878 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 22:43:46 ]
晩飯はカレーだった

879 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 02:14:03 ]
今、カレーヌードル食ってる

880 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 03:22:26 ]
ここは華麗にスルーだろ

881 名前:875 mailto:sage [2010/01/22(金) 05:04:26 ]
>>876
言葉足らずでした、失礼。ウィンドウとはコマンドプロンプトの意ではなく、
pygame.display.set_mode で作成される、画像などを描画可能なウィンドウのことです。

具体的には以下のようなプログラムを走らせるのですが、
ttp://www.halb-katze.jp/pygt/pygt0100.html
while文で無限ループを作り、たとえば終了ボタンが押されるまでウィンドウは閉じないようになっているはずなのですが、
実際には、上述の通り一瞬だけ開いて終了してしまいます。

882 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 07:06:28 ]
うちは大丈夫

883 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 09:01:22 ]
python.exe二パスが通ってないとか
.pyに関連付けされてないとかではないの?
コマンドプロンプトから実行してみたら?



884 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 11:13:48 ]
>>883
長くてURLが貼れないので、お手数ですがこちらのWikiを見て貰えますか?
ttp://pygame.skr.jp/

たとえばこれの「基礎>図形を描画する」をそのまま実行した場合、
pygame.display.set_caption(u"蝗ウ蠖「縺ョ謠冗判")
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)
とのエラーは出てきますが、当該部分を"DRAW"などに置き換えれば正常に実行されます。
(UTF-8で保存はしているんですが、これは何がいけないのかな?)

対して「基礎>ウィンドウを表示する」を(日本語部分だけ訂正し)実行した場合、
特にエラー表示もないまま、起動するなり終了してしまいます。ダブルクリックの場合も一緒です。
試しに終了条件をなくしてみるなどしましたが、ループにすら入っていないのか、何の変化もありません。

いろいろと弄くっているのですが、終了してしまう場合の規則性が見えない状況です。
図形を描画するサンプルを削っていっても、どうも突然にループに入らなくなる模様です。
Pygameをインストールしなおしたところ、ループに入らなくなる条件が変わったようですが、詳細はさっぱり……。
他サイトのサンプルスクリプトなども同様です。なんなんでしょうか。

885 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 11:19:58 ]
コマンドプロンプトから実行してみたら?

886 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 11:39:58 ]
言葉足らず、重ね重ね申し訳ありません。
「ダブルクリックの場合も一緒です。」とあるように、コマンドプロンプトから実行しています。

887 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 11:41:16 ]
酸っぱいような、苦いような臭い

888 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 11:47:11 ]
>>884
>たとえばこれの「基礎>図形を描画する」をそのまま実行した場合、
>pygame.display.set_caption(u"蝗ウ蠖「縺ョ謠冗判")
>UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)
>とのエラーは出てきますが、当該部分を"DRAW"などに置き換えれば正常に実行されます。
>(UTF-8で保存はしているんですが、これは何がいけないのかな?)

なんだ pygame が unicode 通さないのか?
ソースを utf-8 で保存していて
# -*- coding: utf-8 -*-
も書いてるんなら
日本語文字列の前の u を取ってしまうか
u'日本語文字列'.encode('utf-8')
にすれば通る

889 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 11:58:27 ]
>>888
uを取った場合は正常に動作、
明示的にUTF-8に変換した場合は同じエラーとなりました。

890 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 12:42:53 ]
追伸:確かにUTF-8で保存しています

891 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 12:43:24 ]
>>888
OpenGLの方はcp932しか通さないなwwwwwwww

892 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 12:45:50 ]
>>889-890
sitecustomize.py で sys.setdefaultencoding() を変なのにしてるとか

893 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 12:47:52 ]
>>889-890
うちは大丈夫(日本語文字コードの問題はあるけどそこを直すだけで動く)



894 名前:デフォルトの名無しさん [2010/01/22(金) 12:50:19 ]
解決しました
ありがとうございました

895 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 13:34:26 ]
プログラマなら自力で勉強して解決しろよ。それが出来ない奴はいらん。

896 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 13:38:26 ]
プロのプログラマが超初心者用スレに質問に来るんですか?w

897 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 13:44:35 ]
よくあることです

898 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 13:58:24 ]
長いこと申し訳ありません……

>>892
デフォルトのまま何も弄くっていません。
特に弄くる必要はないとのことでしたが、何か設定した方がいいのでしょうか?

899 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 17:50:37 ]
>>875
WindowsVista + Python 2.5.2 + pygame 1.9.1
utf-8 で保存
u が付いてるとエラー(コンソール上で文字化け)
u'日本語'.encode('utf-8') ならサンプルすべて正常動作


900 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 18:39:19 ]
ttp://boxheadroom.com/2009/05/21/py_anime_gif2

901 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 00:38:47 ]
>>898
884の "draw_figure.py" だったら
"import sys"の後に以下の2行を追加して実行してみたらどうなる?

reload(sys)
sys.setdefaultencoding('shift_jis')

これでうまくいくなら sitecustomize.py でググれ

902 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 00:40:27 ]
あ、ごめん

reload(sys)
sys.setdefaultencoding('utf-8')

の間違い

903 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 00:48:32 ]
しかし、"UnicodeEncodeError" なんて
Python2.xの定番中の定番FAQで、自分で貼ってるwikiサイトを
サイト内検索しても解決方法が載ってるのに
ここまでダラダラ引っ張るとは・・・

もしかしてpygameの宣伝?!
・・・アンインストールしよっと



904 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 00:52:50 ]
(^ω^;)

905 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 01:30:50 ]
(-_-;)

906 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 03:49:54 ]
上に出てた人と似たような質問なんですが、python2.6.4で

# -*- coding: utf-8 -*-
a = raw_input(u"何か書く : ")
print a
input()

というファイルを実行すると、動くんだけども"何か書く"の部分が文字化けしてしまいます
sys.getdefaultencoding()だと'utf-8'になってるし、対話モードで入力すると正常に表示されます
自分にはこれ以上分からないのですが、原因となることは何か考えられますか

907 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 03:51:33 ]
はい

908 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 08:33:30 ]
>>906
まず、Pythonを動かしている環境を明示して下さい。
Windowsですか?Linuxですか?Linuxであれば "$ locale" というコマンドの実行結果は
どうなっていますか?

あと、 defaultencoding は ascii が標準です。 utf-8 にすることで unicode の扱いの
ミスによる UnicodeError を回避できますが、回避した部分はすべて utf-8 が
正しいという前提になってしまっているのでその前提が崩れると文字化けします。
文字化けの原因になるようなコードを書かないために、開発や勉強をする環境では
defaultencoding は ascii のままにしておくことをおすすめします。

909 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 08:41:39 ]
>>906
import sys
import codecs
sys.stdout = codecs.getwriter('utf-8')(sys.stdout)
これでやってみそ。

910 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 15:11:34 ]
超初歩的な質問ですいません。
なんだか初めてのプログラミングで苦戦してます。
奥が深すぎて・・・ 関数やメソッドはたくさんありますが全てを熟知していないと
使えないってわけではないですよね?
参考書を読んでますが、どこから手をつけていいのか・・・
参考書:(新しい)みんなのPythonです。
アドバイスをお願い致します。

911 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 15:54:53 ]
初めてで奥まで行くのはむりだと開き直れ

やりたいこととか自分にとって必要なこととかあるだろ

そこからやりゃいんだよ

912 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 17:16:21 ]
>>910
プログラミングを始めた動機
その本を何章まで読み終わったか

それが分かればアドバイスできるお

913 名前:910 mailto:sage [2010/01/23(土) 17:21:07 ]
動機はpythonを覚えたかったから?
8章ですかね



914 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 17:25:47 ]
Pythonを覚えたいためにPythonプログラミングを始める
手段が目的となる… それもまた人の進歩の要因なのだ

915 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 17:49:20 ]
>動機はpythonを覚えたかったから?

予想通りでワロス

916 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 18:33:08 ]
ぶっちゃけプログラミング覚えるだけでも結構楽しいからそれでええんちゃう……?
試行錯誤するのが楽しい人はさ。

>>910
むしろ全部を知らなくて済むようにリファレンスとhelp関数がある。
使いたいものがあれば調べりゃいい。

917 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 20:43:15 ]
>>908-909
環境はwindowsです(defaultencodingはasciiに戻しました)
>>909さんの方法を試しても相変わらず文字化けします

そもそもprint u"何か書く"だと正常に表示されるのにinput(u"何か書く")だと化けます
もうお手上げです(´〜`;)

918 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 21:05:07 ]
>>917
うん、プログラミング初心者は日本語(というか非ASCII)を使うなって金言があるんだ
他のことを勉強するのに時間割いたほうがいいぞ

というか化けたのならその化けた文字列を貼ってくれ

919 名前:909 mailto:sage [2010/01/23(土) 21:22:03 ]
>>917
これは大変失礼した。
import sys
import codecs
sys.stdout = codecs.getwriter(ここに端末の文字コード(Windowsならshift-jis(cp932とした方がよいかも)))(sys.stdout)
raw_input(u"くわー")
print u"ぽいうぃ"

としなければならないんだった。
こちらではこれで動いたのでこれで動かなかったら知らん。

920 名前:908 mailto:sage [2010/01/23(土) 21:43:45 ]
print が特殊なんだよな−。sys.stdout.encoding を考慮してくれる。

sys.stdout を含め、ファイル(標準入出力を含む)に対する write() は、通常エンコードが
必要になる。raw_input も write を使っているから、出力するべきエンコーディングで
エンコードされたバイト列を渡さないといけない。

ファイルにリダイレクトされたときのこととかいろいろ考えまくった場合の
お手本コードはこんな感じ。

import locale

# sys.stdout.encoding があればそれを、無ければその環境で一般的と思われる
# エンコーディングを推測したものを使う
enc = getattr(sys.stdout, 'encoding', locale.getpreferedencoding())

# unicode 文字列に enc で encode できない文字が入っていたら '?' みたいな
# 置換文字に置換する。
a = raw_input(u"くわー".encode(enc, error='replace'))

>>919 みたいに、 sys.stdout を unicode が出力できるようにしてしまうのも
1つの手。ただし、こんどはバイト文字列を出力できなくなる(ascii文字だけなら
なんとかなるけど)から、プログラム全体に渡ってそのポリシーを貫く必要がある。

921 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 23:59:39 ]
どうせPython3でデフォルトがユニコード文字列になるんだから
初心者は何も考えずにsitecustomize.py作って
『非asciiはu''』って覚えた方が手っ取り早いと思う

『日本語を表示したいだけなのに
ロケールやらコーデックやらめんどくせ〜』
ってなっちゃわないか?


922 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 00:03:23 ]
>>918-920
回答ありがとうございます

# -*- coding: utf-8 -*-
import sys
import locale
enc = getattr(sys.stdout, 'encoding', locale.getpreferredencoding())
a = raw_input(u"くわー".encode(enc, 'replace'))
print a

で文字化けなく表示出来ました!encの中身はcp932になってました
1日悩んだ問題がやっと解決・・・ありがとうございました

923 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 00:34:35 ]
はじぱいはエンコードについてほとんど書いてないから糞だよね。



924 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 00:46:41 ]
事細かに書くと『うゎ、Pythonめんどくせっ』ってなっちゃうからな

必要最低限のことは書いてあって
外部とやり取りする際には、必ず、decode、encodeを使って
明示的に文字コードを指定あげて、内部ではユニコード文字列で扱う
といった趣旨のことは書いてある

・・・うん、充分めんどいね

925 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 01:15:33 ]
ASCII文字でしか書かれていないファイルhoge.txtがありまして、
改行コードはCR+LFです。

これを元にして
改行コードがCRでそれ以外の内容は同じファイルpiyo.txtと、
改行コードがLFでそれ以外の内容は同じファイルfuga.txt
を作りたいのですが、Pythonではどうすれば良いでしょうか?

文字コード変換は調べて見つかるのですが、
肝心の改行コード変換が見つかりませんでした。

どうかよろしくお願い申し上げます。

926 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 01:30:46 ]
バイナリモードで扱うのが移植性が高くて簡単かな
contents = open("hoge.txt", "rb").read()
open("piyo.txt", "wb").write(contents.replace("\r\n", "\r"))
open("fuga.txt", "wb").write(contents.replace("\r\n", "\n"))

927 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 02:00:51 ]
>>924
でも暗黙的な扱いになると、いざバグった場合に対処しづらかったり

928 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 02:42:22 ]
>>924
>外部とやり取りする際には、必ず、decode、encodeを使って
>明示的に文字コードを指定あげて、内部ではユニコード文字列で扱う
>といった趣旨のことは書いてある
>
>・・・うん、充分めんどいね

言いたいことは判るがその発言はどうかと思う

>>927

perl とか php って糞だよね


929 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 07:10:42 ]
>>927
確かに
でも、お手軽にやっつけたいからスクリプトを使うのに
コンソールに日本語表示するのがダルすぎる

shift-jisに含まれないユニコード文字を扱おうとすると
更に訳わからん

>>927
う〜ん、煽るつもりはなかったんだけど。。。

930 名前:908 mailto:sage [2010/01/24(日) 09:27:21 ]
>>929
>でも、お手軽にやっつけたいからスクリプトを使うのに
Python はスクリプトとしても使えるというだけで、スクリプト用言語ではなく
本格的なアプリケーションやシステムにも適したプログラミング言語だから

>コンソールに日本語表示するのがダルすぎる
いや、ファイル入出力はたしかに下手に隠蔽するべきではないけど、
画面出力では print を使って簡単に unicode を表示できるようになってる。
(で、ファイルにリダイレクトするときちんと UnicodeEncodeError になる)

だから、コンソール上で手軽に使う raw_input も、printと同じで
sys.stdout.encoding を見て自動でエンコーディングするべきだと思うよ。
実際、Python3 でも raw_input はバイト列じゃなくて文字列を受け取るしね。
バグ報告してみるよ。

931 名前:925 mailto:sage [2010/01/24(日) 11:57:29 ]
>>926
ありがとうございます。
助かりました。

932 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 12:48:12 ]
'2010-01-01 01:01:01'という日付文字列から日付オブジェクトを作成するために

from datetime import datetime
date = datetime.strptime'2010-01-01 01:01:01'), '%Y-%m-%d %H:%:M:%S')

のようにすると思いますが、

'2010-01-01 01:01:01.11111'のようなmicrosecondを含めた日付文字列から
生成するためには、文字列フォーマットをどのように指定すればいいでしょう??

933 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 13:11:46 ]
>>932
date = datetime.strptime('2010-01-01 01:01:01', '%Y-%m-%d %H:%M:%S.%f')



934 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 13:19:21 ]
>>930
>バグ報告してみるよ。

すばらすぃ!期待してる!!

>>929
>shift-jisに含まれないユニコード文字を扱おうとすると

どのみち、cmd.exeではPython経由じゃ素直に表示できないし
ファイルに書き込んだり、作ったりならいけるんだけどねぇ

>>932, 933
ちょっと修正
dt = datetime.strptime('2010-01-01 01:01:01.123456', '%Y-%m-%d %H:%M:%S.%f')
microsecondが書式指定文字列に入ったのはPython2.6以降なんで注意
docs.python.org/library/datetime.html#strftime-behavior


935 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 14:01:34 ]
u"うにこど".sub(u"う", u"あ、う")

こんな漢字でUnicode文字列を置換しようとすると
'unicode' object has no attribute 'sub'
って言われてしまいます。

Unicode文字列を置換するにはどうすればよいでしょうか?

936 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 14:04:37 ]
subじゃなくてreplace。たぶんre.subと間違えてるんじゃないかな

937 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 14:04:39 ]
>>> print u'うにこど'.replace(u'う',u'あ、う')
あ、うにこど

938 名前:937 mailto:sage [2010/01/24(日) 14:05:29 ]
吊ってきまつ

939 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 14:09:28 ]
>>936
あー間違えてました。
すみません。
ありがとうございました。

940 名前:デフォルトの名無しさん [2010/01/24(日) 16:28:03 ]
Pylons使ってるんですが、checkboxの複数の値が取れなくて困ってます。
たとえば、
<input type="checkbox" name="hoge_cd" value="1"/>
<input type="checkbox" name="hoge_cd" value="2"/>
<input type="checkbox" name="hoge_cd" value="4"/>
こういうので、二番目と三番目をチェックした状態でsubmitしたら['2','4']と
受け取れることを期待してるんですが、
request.POST['hoge_id']すると最後にチェックされた4だけが取れるという状態です。
Validatorが邪魔してるのかと思い、Validator外しても結果は同じでした。

むろん、
<input type="checkbox" name="hoge_cd1" value="1"/>
<input type="checkbox" name="hoge_cd2" value="2"/>
<input type="checkbox" name="hoge_cd3" value="4"/>
こうやれば楽なんですが個数が可変だった際のことを考えるとこの方法は使いたくありません。
どうやったらリストで取得できるのでしょうか。


941 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 16:28:52 ]
ミス。request.POST['hoge_id']じゃなくてrequest.POST['hoge_cd']でした。

942 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 16:50:22 ]
nameを共通にしてidを変えたら?
つか、frameworkの問題じゃなくてhtmlの話では?

943 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 16:58:13 ]
<input type="checkbox" name="hoge_cd[]" value="1"/>
<input type="checkbox" name="hoge_cd[]" value="2"/>
<input type="checkbox" name="hoge_cd[]" value="4"/>



944 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 17:11:42 ]
>>942
ID変えても変化ないですね。
>>943
それでrequest.POST['hoge_cd']で受け取ろうとするとKeyErrorになるんですよ。
先に書くべきでした、すみません。

request.POST.keys()でPOSTを吐かせたら、
hoge_cd
hoge_cd
hoge_cd
とでてきました。popさせて受け取ってみます。

945 名前:940 mailto:sage [2010/01/24(日) 17:19:54 ]
解決。
request.POST.iteritems()でキー探して取得できました。
お騒がせしました。なんか解決方法が泥臭い気はするんですが。

946 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 17:22:00 ]
html は糞だからな

947 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 18:22:32 ]
>>942
これはframeworkの問題
サーバ側でPOSTに格納された変数をどう解釈するかってだけ
Pylonは触ったこと無いけど、フォームの生成からframeworkに則ってやるべきだと思う
手で書いてるから『個数が可変・・・』とか気にすることになる
リストなりdictなりにまとめてPylon側で処理できる・・・んじゃない?

948 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 19:09:31 ]
処理できる・・・のか?

949 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 19:35:50 ]
処理できる・・・はず

950 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 19:36:36 ]
処理できる・・・かもしれない

951 名前:940 mailto:sage [2010/01/24(日) 19:40:32 ]
947の意見はもっともだと思う。
が、個人的には
・たかだかHTMLの部品作るのになんで余計なことを覚えなきゃいけないんだw
・テンプレートだけでデザイン側が成立しないと不便で仕方ない。
という2点を理由に避けたいところ。
それゆえに<li py:for="foo()">${bar}</li>みたいなのがあるわけですし。

952 名前:932 mailto:sage [2010/01/24(日) 20:49:22 ]
>>934
ありがとうございます。2.6から%fがサポートされてるんですね。。
GoogleAppEngineが2.5だったんでなんとか自作してみました。

あんまり需要ないと思いますが晒しておきます。。

def str2datetime(datestr):
''' 日付文字列をdatetimeオブジェクトに変換する
'''
date = datetime.strptime(datestr[0:14], '%Y%m%d%H%M%S')
ms = timedelta(microseconds=int(datestr[15:]))
return date + ms

print str2datetime('20100124123045.001927')
- 結果 -
2010-01-24 12:30:45.001927

953 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 20:49:29 ]
ajax にして pylons + smartclient 使ったら幸せになれるお




954 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 21:15:41 ]
Pythonモジュール用のaproposってないですか?
キーワードを入れると、それに関連するモジュールやメソッドを一覧表示してくれる
というような…

955 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 22:09:21 ]
pydocはちょっと違うか

956 名前:947 mailto:sage [2010/01/24(日) 22:29:58 ]
>>951
どっちがどれだけ歩み寄るかってのは
新規frramework導入時には、必ず、ついて回るからねぇ
そこら辺は、お任せするしかないね

>>952
ちょっとガチガチすぎないか?
俺だったら
def str2datetime(datestr, datefmt):
 if datestr.find(".") == -1:
  return datetime.strptime(datestr, datefmt)
 else:
  datestr, us = datestr.split(".")
  return datetime.strptime(datestr, datefmt) + timedelta(microseconds=int(us))
ぐらいかなぁ・・・あんま変わらんかw

957 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 22:33:40 ]
>>954,955
これよくね?
・anything-ipython.el
www.emacswiki.org/emacs/anything-ipython.el

最近はなんでもanythingにしておけば幸せだよね



958 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 22:36:39 ]
改めて見るとreturnが無駄に2つ有って気持ち悪いな
def str2datetime(datestr, datefmt):
 if datestr.find(".") == -1:
  us = '0'
 else:
  datestr, us = datestr.split(".")
 return datetime.strptime(datestr, datefmt) + timedelta(microseconds=int(us))
微妙だwww

959 名前:デフォルトの名無しさん [2010/01/25(月) 15:21:38 ]
m[a][i] = (m[a][i] == m[b][i]) ? 0:1

Cだとこれでいけるんだがpythonで書くとすればどうすればいいの?
真偽値のやりかたがよくわからん

960 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 15:34:08 ]
>>959
Pythonには
条件 ? 真の時 : 偽の時
のような三項演算子は無い。
代わりに、
真の時 if 条件 else 偽の時
という形の文を使う。
この場合だと、
m[a][i] = 0 if m[a][i] == m[b][i] else 1
となる。真偽値を代入したいなら、
true,falseの代わりにTrue,Falseを用いて、
m[a][i] = False if m[a][i] == m[b][i] else True
とする。

961 名前:デフォルトの名無しさん [2010/01/25(月) 15:56:38 ]
m[a][i] = (m[a][i] == m[b][i]) ? 0:1
m[a] = map(lambda x, y: 0 if x == y else 1, zip(m[a], m[b]))

962 名前:デフォルトの名無しさん [2010/01/25(月) 15:59:44 ]
m[a][i] = Not (m[a][i] == m[b][i])

963 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 16:14:48 ]
test



964 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 16:36:00 ]
↓ここって管理人不在?
ttp://python.rdy.jp/

965 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:42:03 ]
a = [a0, a1, a2]
f.__call__(a) # fは引数を3個とる関数
というように、引数をリストで指定して
関数を__call__したいのですが、どうすればいいでしょうか?

966 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:48:24 ]
f.__call__(*a)

967 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:48:35 ]
f(*a)

968 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:50:56 ]
f.__call__(*a)
つーか
f(*a)
でいいじゃん

969 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:59:11 ]
>>966-968
ありがとうございます!

970 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 00:07:01 ]
>>960
aruyo?

971 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 01:44:00 ]
みんPyまだ半分くらい読んだだけだが…え?だから?って感じです。
全部読めば、それなりのコードなりが書けたりするんですかね(汗
文系の俺には無理な分野なのか(涙

972 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 02:58:03 ]
「みんpy」は既にpython知ってる人が眺めるための本
初心者は「はじpy」の方が良いと(一部の人に)言われている
なお「恥py」という似非本があるので要注意

973 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 03:04:44 ]
初心者につまらない本を買わせるなよ



974 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 03:08:16 ]
みんpyはかなり初心者向けじゃないの?
はじpyとか意味あるの?

マジレス、初心者にはみんpy以外は無駄な感じ。

975 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 03:19:08 ]
web の tutorial で充分

976 名前:デフォルトの名無しさん [2010/01/27(水) 04:52:47 ]
>>972-975
つまり、もう少し読み進めてみます。
簡単なコードとか見るのも勉強になりますよね
いいサイトとかありますか?

977 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 05:58:38 ]
ない

978 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 07:23:02 ]
もしかして、読んだり見てるだけで
実際にスクリプト書いてないの?

979 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 10:44:40 ]
>>971
つまり、たったこれだけしか内容なくてPythonちょろすぎじゃね?
ではなくて、一体どうしたらいいのかすらわからないみたいなことですか

980 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 11:54:05 ]
>文系の俺には無理な分野なのか(涙

文系かどうかは関係ない
お前がアホなだけ

981 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 12:54:17 ]
ttp://inventwithpython.com/
これでゲーム作って遊んでればそのうち覚えるよ
英語だけど10歳のガキにも読めるように書かれてるから多分大丈夫
無料だしね

982 名前:デフォルトの名無しさん [2010/01/27(水) 15:02:52 ]
>>861のハック入れると、
SyntaxError: unknown encoding: cp932 (<ipython console>, line 0)
が出てしまうんじゃがなぜじゃろう・・・?
cp932のコーデックがないわけじゃないんだが・・・
utf8にしようが何にしようがダメなんだ

983 名前:デフォルトの名無しさん [2010/01/27(水) 15:06:26 ]
自己解決した。すぐ上の
source=source.encode(self.stdin_encoding)
をコメントアウトしたままだったorz



984 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 23:00:19 ]
972と972が存在を主張する一部の人の将来が不安

985 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 02:25:32 ]
>>983
謝罪しろw

986 名前:デフォルトの名無しさん [2010/01/28(木) 14:44:20 ]
>>985
おわびにjython用のms932コーデックでもさらそうと思ったんだが、
ブログとか持ってないんだよな。
どっかいいサイトないかしらん

987 名前:デフォルトの名無しさん [2010/01/28(木) 14:45:46 ]
jythonでIPython動かしたらIJythonになるんだろうか

988 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 19:04:49 ]
>>986
コード貼りたいだけならPastebinとかあるよ。


989 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 21:37:51 ]
次スレを

990 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 21:46:48 ]
じゃあ
次スレは >>992を踏んだ人が。


991 名前:デフォルトの名無しさん [2010/01/28(木) 22:44:05 ]
立てた
くだすれPython(超初心者用) その6
pc12.2ch.net/test/read.cgi/tech/1264686181/

992 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 02:12:57 ]
これはいい早漏乙

993 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 02:18:51 ]
print "うめ"



994 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 02:57:39 ]
>>989
日本は義務教育で基礎法学を教えないからわかってない人が多いみたいだけど、権利と義務は表裏一体、つまりワンセットなんだよ
例えば「生きる」という権利には「働く」という義務が伴なう。これは習っていなくたって誰でも常識で分かると思うけど
社会の中のあらゆる権利にはそれと対になる義務が存在するということ
戦後の日本人はこの表裏一体を勘違いして、自分の権利は相手の側から見ると義務なんだ、などと言う訳の解らない屁理屈を唱えて
相手(多くの場合国家)に対して一方的に権利を主張、すなわち義務の履行を求める者が多い
いわゆるプロ市民と呼ばれる者達だ
日本人が彼らのような人間(一方的に権利を主張するだけの個体がそもそも人間の定義を満たすのかどうかは疑問だが − 個人的見解を述べれば否と断言すべきであろう。
「ヒト」は社会を構成する生き物である。社会の成員となって初めて「人間」なのだ。そのために「教育」が必要なのである)に違和感を覚えないのは
もちろんマスコミの罪でもあるけど元を糾せば教育にも決して原因が無い訳ではない

995 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 03:00:18 ]
どこ誤爆w

996 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 03:08:13 ]
そういえばこないだ本屋でみんPy改訂版見たら>>26がマジで載ってた
他人のピクルスを笑ってる場合じゃないと思った

997 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 08:26:06 ]
> 日本は義務教育で基礎法学を教えないからわかってない人が多いみたいだけど、権利と義務は表裏一体、つまりワンセットなんだよ

デマ乙

998 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 09:16:28 ]
ぼくはパイソンを使っているのですが、どうすれば彼女ができますか?
ちなみにブサイクデブで、ちょっとしたことでイライラします。
あとヘンなメガネかけてます。

999 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 09:24:15 ]
メガネ買い換えろよwwww

1000 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 09:54:11 ]
1000なら一生童貞

1001 名前:1001 [Over 1000 Thread]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。






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

前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