くだすれPython(超初心者用) その5
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2009/10/24(土) 11:20:45もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、
お礼は Python の布教と初心者の救済をお願いします。
エラーを解決したいときはエラー表示や環境を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>950 辺りで
前スレ
くだすれPython(超初心者用) その4
http://pc12.2ch.net/test/read.cgi/tech/1243160751/
関連スレ
Pythonのお勉強 Part35
http://pc12.2ch.net/test/read.cgi/tech/1253535109/
0002デフォルトの名無しさん
2009/10/24(土) 11:21:29│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘ おっぱい!おっぱい!
0003デフォルトの名無しさん
2009/10/24(土) 11:22:33これはどう見てもおかしいだろ。 まず、主語が2。で動詞がget。
2が単数形だとしたら、getsにしないとおかしい上に、目的語がない。
直訳すると「2が得る」 何を得るんだよ!!!いいかげんにしろ。
それを言うなら
I get 2. だろ。しかも現在形だし。 過去形、いや現在完了形ぐらいまともに使ってくれよ。
I've got 2. 少しはましになって来たが、まだ気に入らない。その2だ。
いったいお前は何を手に入れたんだ?2という数字か?
違うだろ、手に入れたのは2番目のレスだろ。
どうも日本人は数詞と序数詞の区別がよく分かっていない節がある。
これらを踏まえて、正しくは
I've got the second responce of this thread.
ここでtheにも注目してもらいたい。このスレの2ってのは
特定の、このレスだけなんだから。だからaでも無冠詞でも なく、the second responceなんだ。
もう一度おさらいしてやる。
I've got the second responce of this thread.
0004デフォルトの名無しさん
2009/10/24(土) 11:23:14Python の Home Page
http://www.python.org/
Python 日本語ドキュメント - Pythonistaのお友達
http://www.python.jp/doc/release/
最新版直リン - 2.Xが推奨。3.Xはライブラリやドキュメントが使えないことも
http://www.python.org/download/
Python のコーディングガイド PEP8
http://www.python.org/dev/peps/pep-0008/
Python のコーディングガイド PEP8 - 日本語訳
http://www.oldriver.org/python/pep-0008j.html
日本語文字列コード問題まとめ
http://python.matrix.jp/tips/string/encoding.html
インタラクティブモードのエンコード
http://python.matrix.jp/tips/compatibility/interact_encoding.html
0005デフォルトの名無しさん
2009/10/24(土) 11:40:280006デフォルトの名無しさん
2009/10/24(土) 12:23:070007デフォルトの名無しさん
2009/10/24(土) 15:01:53くだすれってどういう意味?
0008デフォルトの名無しさん
2009/10/24(土) 19:06:26ところで、質問よろしいでしょうか
Fortranの実数(0.158073523876293e-2とか)を出力したファイルを
Pythonから浮動小数点実数として読み込むコードを書いているのですが、
次のようなエラーが出てしまいます。
Traceback (most recent call last):
File "./read.py", line 14, in <module>
numbers = [ float(item) for item in itemList ]
ValueError: invalid literal for float(): 0.1000000E+00 0.4225156E+01 0.1327376E-01 0.2886351E-01
正しく読み込むためには、どう書けば良いか教えてください。自分が書いたのは↓のとおりです。
import re
myRegExp = re.compile('^\s*#')
fname = open('loss.tl-dat', 'r')
for lines in fname:
if myRegExp.match(lines):
print 'match!'
else:
itemList = lines.split('\t')
numbers = [ float(item) for item in itemList ]
print numbers
0009デフォルトの名無しさん
2009/10/24(土) 19:10:320010デフォルトの名無しさん
2009/10/24(土) 19:17:11itemList = lines.split()
0011デフォルトの名無しさん
2009/10/24(土) 19:35:19ありがとうございました!
0012デフォルトの名無しさん
2009/10/24(土) 19:40:53↓
0.10000000000000001
これはどうすればいいのでしょうか?
0013デフォルトの名無しさん
2009/10/24(土) 20:02:05B. 浮動小数点演算、その問題と制限
http://www.python.jp/doc/nightly/tut/node16.html
11. 標準ライブラリミニツアー - その 2
http://www.python.jp/doc/nightly/tut/node13.html#SECTION0013800000000000000000
0014デフォルトの名無しさん
2009/10/24(土) 23:29:22pyscripterまで閉じちまうんだが・・・
だれかこんな漏れを救ってくれ
0015デフォルトの名無しさん
2009/10/24(土) 23:32:48ファイル処理を勉強中で、試しにやろうとしたこと(下記)ができません。
・一日の為替の変動を表示する。
・usdjp.txt内には以下の内容が記載されております。
日付 高値 安値の順に記載されております。
2009年10月23日 92.13 91.28
2009年10月22日 91.70 90.77
2009年10月21日 91.28 90.49
・高値-安値を表示させたい。
試しに書いたのがエラーで実行できない。
#! /usr/bin/python
#codein:utf-8
f=open("usdjp.txt","r")
for i in f.readlines():
a=i.split()
print i
b=int(a[1]) - int(a[2])
print b
※インデントがうまく表示されていないかもしれませんが、やってます。
b=int(a[1]) - int(a[2]) でエラー発生
ValueError: invalid literal for int() with base 10: '92.13'
0016デフォルトの名無しさん
2009/10/24(土) 23:40:240017デフォルトの名無しさん
2009/10/24(土) 23:51:251.pythonで実行ファイルを作るときにVBみたいにランタイムとかそういうのって必要ですか?
2.負荷が高い処理を作るとき、HSPとどちらが実行速度が早いですか?
0018デフォルトの名無しさん
2009/10/24(土) 23:58:282. 変わらない
0019デフォルトの名無しさん
2009/10/25(日) 00:01:5778
>>> int('78.9')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '78.9'
>>> float('78.9')
78.900000000000006
>>> float('78')
78.0
>>> isinstance('78', int)
False
>>> isinstance('78.9', float)
False
>>> '78'.isdigit()
True
>>> '78.9'.isdigit()
False
intかfloatかわからないものを
intはint
floatはfloatで取得したいのですが
0020デフォルトの名無しさん
2009/10/25(日) 00:06:01msvcrのランタイムはいるだろ
0021デフォルトの名無しさん
2009/10/25(日) 00:11:23intに変換、ValueErrorならfloat
0022デフォルトの名無しさん
2009/10/25(日) 00:15:19最初に int または float のときに int に変換してみるということだと思うのですが
isdigit が int のときしか True にならないので
>>> float('0.789e+2')
78.900000000000006
>>> float('0.789g+2')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for float(): 0.789g+2
の ValueError のときと区別したいのです
0023デフォルトの名無しさん
2009/10/25(日) 00:20:54>>> for n in s:
... try:
... r = int(n)
... print 'integer', r
... except ValueError:
... try:
... r = float(n)
... print 'float', r
... except ValueError:
... print 'not a number', n
...
integer 78
float 78.9
float 78.9
not a number 0.789g+2
0024デフォルトの名無しさん
2009/10/25(日) 00:25:15>>> f = [('integer', int), ('float', float)]
>>> for n in s:
... for c in f:
... try:
... r = c[1](n)
... print c[0], r
... break
... except ValueError:
... continue
... else:
... print 'not a number', n
...
integer 78
float 78.9
float 78.9
not a number 0.789g+2
0025デフォルトの名無しさん
2009/10/25(日) 01:23:161行目、ありがとう
0026デフォルトの名無しさん
2009/10/26(月) 01:45:29Pythonで10から100までの最小の素数を求めようと思い、以
下のようなコードを書き始めました。20まで書いたところで力
尽きて、関数を使えば簡単に書けることを思いつきました。
以下のコードを参考に、最小公倍数を求める関数を作り、10か
ら100までの最小公倍数を表示してください。
>>> n = 10
>>> for c in range(2, n):
... if n%c == 0:
... break
... if c == n:
... print 1
... else:
... print c
...
2
>>> n = 11
>>> for c in range(2, n):
... if n%c == 0:
:
この問題に対して質問です
まず、何をするプログラムですか?
問題文の意味から分かりません。何をするプログラムかわかれば
わかる気もするのですが、初心者なもので
問題読解からつまってしまう初心者ですがご教示お願いします
0027デフォルトの名無しさん
2009/10/26(月) 01:51:22インデントがうまく表示されていないみたいですが
本当はインデントされています
それと、解答例はこんなかんじです
>>> def leastcommon(n):
... for c in range(2, n):
... if n%c == 0:
... break
... if c == n-1:
... return 1
... else:
... return c
...
>>> for n in range(10, 100):
... print leastcommon(n)
0028デフォルトの名無しさん
2009/10/26(月) 02:01:100029デフォルトの名無しさん
2009/10/26(月) 02:40:04素数でググレ
あと引用するならアレンジしないでそのまま書き写してくれ
コードも間違いが無いかチェックして
0030デフォルトの名無しさん
2009/10/26(月) 03:22:14コードのほうはLinuxからだとインデントがうまく表示
できないみたいなので、Winから書き込みます
以下、そのコードです
<参考コード>
>>> n = 10
>>> for c in range(2, n):
... if n%c == 0:
... break
... if c == n:
... print 1
... else:
... print c
...
2
>>> n = 11
>>> for c in range(2, n):
... if n%c == 0:
:
<解答例>
>>> def leastcommon(n):
... for c in range(2, n):
... if n%c == 0:
... break
... if c == n-1:
... return 1
... else:
... return c
...
>>> for n in range(10, 100):
... print leastcommon(n)
0031デフォルトの名無しさん
2009/10/26(月) 03:26:39またインデントささってませんね
すみませんもうこれでお願いします
0032デフォルトの名無しさん
2009/10/26(月) 03:51:500033デフォルトの名無しさん
2009/10/26(月) 03:56:53>まず、何をするプログラムですか?
>問題文の意味から分かりません。何をするプログラムかわかれば
>わかる気もするのですが、初心者なもので
その本初心者向けじゃないから今すぐ窓から投げ捨てろw
っつーか問題文の意味を聞くならこんなところで聞かずに
本人に聞けよ
LL温泉の紹介ページを作ったら煩悩丸出しの内容になったでござるの巻
ttp://coreblog.org/ats
0034デフォルトの名無しさん
2009/10/26(月) 04:23:37でなければ酷過ぎる
0035デフォルトの名無しさん
2009/10/26(月) 05:11:31問題文もひどければ解答例もひどいなあ
解答例からみると10から99までの数字のそれぞれの割り切れる最小の数を表示する何か
0036デフォルトの名無しさん
2009/10/26(月) 08:44:530037デフォルトの名無しさん
2009/10/26(月) 12:59:15"私のIDは" + id + "です。年は" + year + "です。"
みたいにしてやると思うのですが、正しい、書き方はどうなのでしょうか?
0038デフォルトの名無しさん
2009/10/26(月) 13:05:58''.join("私のIDは", id, "です。年は", str(year), "です。"]
または
"私のIDは%sです。年は%sです。" % (id, year)
0039デフォルトの名無しさん
2009/10/26(月) 13:32:120040デフォルトの名無しさん
2009/10/26(月) 13:32:55''.join(["私のIDは", id, "です。年は", str(year), "です。"])
0041デフォルトの名無しさん
2009/10/26(月) 13:33:45効率が悪くなるのも初めて知りましたw
さんくすです
0042デフォルトの名無しさん
2009/10/26(月) 20:37:390043デフォルトの名無しさん
2009/10/26(月) 21:01:39http://docs.python.org/library/stdtypes.html?highlight=str.encode#str.encode
0044デフォルトの名無しさん
2009/10/26(月) 21:02:34の前にこれ
http://docs.python.org/library/stdtypes.html?highlight=str.decode#str.decode
0045デフォルトの名無しさん
2009/10/26(月) 21:09:06if os.path.isdir(path1)=='False':
処理〜
でいいのでしょうか?うまく動いてないので。
0046デフォルトの名無しさん
2009/10/26(月) 21:14:14isdirの戻り値は True か False 。
'True' や 'False' などの文字列ではない。
0047デフォルトの名無しさん
2009/10/26(月) 21:15:24ありがとうございます
0048デフォルトの名無しさん
2009/10/26(月) 23:28:000049デフォルトの名無しさん
2009/11/01(日) 18:52:00当方昔少しだけperlをかじったようなものです
(文法はほとんど忘れていてアルゴリズムなら多少見れば思い出すかもしれないっていうほとんど0からと変わらないレベルです)
趣味でunix系OS上でこまごまとしたアプリを作っていきたいのですが
いきなりpythonから入って大丈夫ですか?
なんだか今見ると、今からperlをはじめるには欠点ばかり目立ってしまう感じがして…
pythonのコードを見たらすっきりしていて気に入りました
0050デフォルトの名無しさん
2009/11/01(日) 18:58:380051デフォルトの名無しさん
2009/11/01(日) 20:13:350052デフォルトの名無しさん
2009/11/01(日) 20:53:53_, ,_ パーン
( ‘д‘)
⊂彡☆))Д´) >>51
0053デフォルトの名無しさん
2009/11/02(月) 00:26:44例えばはじめるのに100万入会金払わないと行けないんやったら、そりゃ慎重にもなるわ
んでも、これだけ無料でばら撒かれてるんだから、自分で始めてみりゃいいじゃん
ましてや、過去に経験あるんやったらインストールだって楽勝だろ?
0054デフォルトの名無しさん
2009/11/02(月) 01:57:120055デフォルトの名無しさん
2009/11/02(月) 06:38:18実際にいきなり入ってみた人の結果を集めて成り立ってるわけで、
コミュニティ側からすれば、>>49にはその2009年度版の一データになる役目が
与えられている。データを使う側ではなく。
だから答は「大丈夫かどうかを確かめたいから、さっさとやれ」。
0056デフォルトの名無しさん
2009/11/02(月) 12:59:220057デフォルトの名無しさん
2009/11/02(月) 15:11:48perler移民ばっかりだった。
0058デフォルトの名無しさん
2009/11/02(月) 18:07:59指定した形に置き換えて、もとのlineとしたいのですが、
どう書けばいいのでしょうか?
0059デフォルトの名無しさん
2009/11/02(月) 18:13:15lineという変数に、新しい文字列を代入することはできるが、
元の文字列を変えることはできない。
0060デフォルトの名無しさん
2009/11/02(月) 18:30:38ありがとうございます。
置き換えたものをline_replaceとした場合、どのように書くのでしょうか?
0061デフォルトの名無しさん
2009/11/02(月) 18:46:28line = '適当な文字列'
line_replace = re.sub('パターン', '置き換える文字列', line)
複数の正規表現を同時に使う時は、
キャッシュが追いつかなくなるかもしれないので
事前にコンパイルしたほうがいい。
あと、第二引数には関数も指定可。
0062デフォルトの名無しさん
2009/11/02(月) 18:48:07サンクスです。
0063デフォルトの名無しさん
2009/11/02(月) 21:04:21re.sub() と pat = re.complie(); pat.sub() の違いについてなんですが、
re.sub() は毎回正規表現がコンパイルされますか?内部でキャッシュとかしてるんでしょうか。
pat = re.compile(); pat.sub() のほうが望ましいのは分かるんですが、正直面倒なので、
re.sub() のほうでキャッシュしてくれるんなら re.sub() で済まそうと思ってるんですが、どうでしょうか。
0064デフォルトの名無しさん
2009/11/02(月) 22:22:12re.purge()とか参照
0065デフォルトの名無しさん
2009/11/03(火) 11:48:33range = 3 のとき
a = [空,空,空] のようなリストがほしい。
できますか?
後、Pythonでは空をどう表現するのですか?
0066デフォルトの名無しさん
2009/11/03(火) 11:55:20l = [ "" for i in range(r)]
print l
0067デフォルトの名無しさん
2009/11/03(火) 12:03:49>>65
a = [None] * 3 とか
他の言語における空をPythonでどう表現するのか知りたいのなら
その言語の名前を挙げたほうがいいかも
0068デフォルトの名無しさん
2009/11/03(火) 12:35:11(range という関数があるため)
[None for a in xrange(r)]
0069デフォルトの名無しさん
2009/11/03(火) 18:59:32エンコードの指定するときに、
# coding: utf-8
# -*- coding: utf-8 -*-
どちらの書き方でもOKなんですよね?
2つの書き方の意味の違いとか、こちらの書き方のほうが望ましい、
みたいなのって何かありますか?
0070デフォルトの名無しさん
2009/11/03(火) 19:01:522.1.4 エンコード宣言 (encoding declaration)
http://www.python.jp/doc/release/ref/encodings.html
0071デフォルトの名無しさん
2009/11/03(火) 19:15:010072デフォルトの名無しさん
2009/11/04(水) 02:32:29それだと長さ0の空リストが1つしかできない
0073デフォルトの名無しさん
2009/11/04(水) 06:47:41http://www.python.org/dev/peps/pep-0008/
> Names to Avoid
>
> Never use the characters `l' (lowercase letter el), `O' (uppercase
> letter oh), or `I' (uppercase letter eye) as single character variable
> names.
>
> In some fonts, these characters are indistinguishable from the numerals
> one and zero. When tempted to use `l', use `L' instead.
0075デフォルトの名無しさん
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)
007675
2009/11/06(金) 16:50:03&nbsp; は無視されるのか
0077デフォルトの名無しさん
2009/11/06(金) 18:09:430078デフォルトの名無しさん
2009/11/06(金) 19:51:18for x in argvs:
↓
for x in argvs[1:]:
0080デフォルトの名無しさん
2009/11/06(金) 20:44:06行単位じゃなくて固定長で数KBとか数MB単位で読んだほうがいいかもね
行毎でも結果がおかしくなることはない筈だけど
やりたいことに行が関係ないし効率はよくない
0081デフォルトの名無しさん
2009/11/06(金) 20:47:380082デフォルトの名無しさん
2009/11/06(金) 20:48:11ごめん、凄く非効率なのは分かってるんだけど、
見つけたサンプル適当に組み合わせて作ってる段階だから、そこまで直せない
CRC32 の求め方もまだ分かってないぐらいだし
0083デフォルトの名無しさん
2009/11/06(金) 20:53:440084デフォルトの名無しさん
2009/11/06(金) 20:54:49ttp://d.hatena.ne.jp/Fio/20081027/p2
0085デフォルトの名無しさん
2009/11/06(金) 20:58:36# Or, in two pieces:
crc = binascii.crc32("hello")
crc = binascii.crc32(" world", crc) & 0xffffffff
print 'crc32 = 0x%08x' % crc
0086デフォルトの名無しさん
2009/11/06(金) 21:01:41008775
2009/11/06(金) 21:04:26ありがとう、参考にさせて頂きます
0088デフォルトの名無しさん
2009/11/06(金) 21:08:36俺は crc16 を求めたいんだよ プギャー
っつー変なのもいたけどな
0089デフォルトの名無しさん
2009/11/07(土) 17:52:19len(list)
なんですか?
オブジェクト指向なら
list.len()
なのでは?
0090デフォルトの名無しさん
2009/11/07(土) 17:54:450091デフォルトの名無しさん
2009/11/07(土) 18:05:240092デフォルトの名無しさん
2009/11/07(土) 18:10:43http://d.hatena.ne.jp/methane/20090721/1248195293
0093デフォルトの名無しさん
2009/11/07(土) 18:59:260094デフォルトの名無しさん
2009/11/07(土) 19:07:34外部ってのは具体的にどういう意味?
0095デフォルトの名無しさん
2009/11/07(土) 21:16:05のようなhtmlファイルを(変数).htmlのような感じで名前を変えてコピーしたいのですが
どのように書けばいいでしょうか?
0096デフォルトの名無しさん
2009/11/07(土) 21:27:19os.system(r'wget http://www.xxx.com/index.html -O \(%d\).html' % n)
0097デフォルトの名無しさん
2009/11/07(土) 22:39:11import urllib
var = 'abc'
urllib.urlretrieve('http://www.example.com/index.html', '%s.html' % var)
0098デフォルトの名無しさん
2009/11/07(土) 22:56:56遅れました。
ありがとうございます。
0099デフォルトの名無しさん
2009/11/08(日) 00:14:21path2="/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の指定が間違ってるようなのですが正しい書き方は何でしょうか?
0100デフォルトの名無しさん
2009/11/08(日) 00:41:44or
path2 = "./test/tmp/"
http://www.tohoho-web.com/wwwunix.htm#AbsolutePathName
0101デフォルトの名無しさん
2009/11/08(日) 01:58:38さんくす
0102デフォルトの名無しさん
2009/11/08(日) 03:56:08name 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]
これで取り出しているのですが、どうしたらいいですか
0103デフォルトの名無しさん
2009/11/08(日) 07:58:43なにがまずいのか、さっぱりわからない。
0104デフォルトの名無しさん
2009/11/08(日) 08:38:280105デフォルトの名無しさん
2009/11/08(日) 14:58:44r = ('england', 'london', 'becky')みたいな英字のみのデータは取り出せるのですが、
r = ('japan', 'tokyo', '??????')のように日本語が入っているとそこが???となって
name undefined, r = ('japan', 'tokyo', '??????')
IndexError: tuple index out of range
というエラー文がでて止まってしまいます
0106デフォルトの名無しさん
2009/11/08(日) 17:54:23↓
name = r[3] if len(r) >=3 else None
0107デフォルトの名無しさん
2009/11/08(日) 19:41:00多大の配列番号のミスでした
すいません
0108デフォルトの名無しさん
2009/11/09(月) 10:21:43サーバのデフォルトのエンコードは?
クライアントのデフォルトのエンコードは?
0109デフォルトの名無しさん
2009/11/10(火) 18:23:57更新されないみたいなんだけどこのへんてこ仕様は何とかならないのかな?
0110デフォルトの名無しさん
2009/11/10(火) 19:35:34エンコードの指定を間違えると例外を吐く仕様もどうかと思うけどな
0111デフォルトの名無しさん
2009/11/10(火) 19:54:500112デフォルトの名無しさん
2009/11/10(火) 20:00:49shiftjisのファイルを開いて正規表現で抜いているんですが、
l[1].decode("Shift_JIS").encode("UTF-8")
みたいな感じではダメなのでしょうか?うまくいかないので。
またDBから抽出したのをまたDBにinsertしたいとき
title = r[1].encode("UTF-8")
としているのですが、まずいですか?
0113デフォルトの名無しさん
2009/11/10(火) 20:02:000114デフォルトの名無しさん
2009/11/10(火) 20:25:490115デフォルトの名無しさん
2009/11/10(火) 20:40:25そういう事はいい加減きわまりないリファレンスマニュアルを改善してから言えw
0116デフォルトの名無しさん
2009/11/10(火) 21:15:110117デフォルトの名無しさん
2009/11/10(火) 21:22:18( ゚Д゚)ポカーン・・・頭大丈夫?
0118デフォルトの名無しさん
2009/11/10(火) 21:23:330119デフォルトの名無しさん
2009/11/10(火) 21:25:480120デフォルトの名無しさん
2009/11/10(火) 21:27:290121デフォルトの名無しさん
2009/11/10(火) 21:30:44> またDBから抽出したのをまたDBにinsertしたいとき
言ってることがよくわからんが、
UTF-8に変換してからDBに入れたんだろう?
DBからはunicodeで戻ってくるの?
0122デフォルトの名無しさん
2009/11/10(火) 21:34:05例外を吐くのは、変換できなかった時だろ。
そうでなくとも知らないうちに、
他の文字に変換されるよりはましだと思うのだが。
0123デフォルトの名無しさん
2009/11/10(火) 21:40:34どこが「いい加減きわまりない」ないんだろう?
ドキュメントの記述が間違っていることは見たことがないし、
もし見つけたのなら、こんな所で管を巻いてないで報告すればいい。
http://www.python.org/dev/contributing/
0124デフォルトの名無しさん
2009/11/10(火) 21:49:04args = ('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
みたいな感じで帰ってきます。
0125デフォルトの名無しさん
2009/11/10(火) 22:32:390126デフォルトの名無しさん
2009/11/10(火) 23:21:180127デフォルトの名無しさん
2009/11/10(火) 23:21:561.exsampleが非常に少ない
2.表記が抽象的な所がある
たとえば文字列操作あたりで見てみると
Python - 3.6.1 文字列メソッド
http://www.python.jp/doc/release/lib/string-methods.html
C# - String メンバ
http://msdn.microsoft.com/ja-jp/library/system.string_members(VS.80).aspx
Pythonのドキュメントの表記って抽象的だったり表記が統一されていないところが随所にある
オブジェクト指向の言語なのだからオブジェクト名で書くのが普通だと思うが
文字列?単語?"文字列=単語"で良いの?数って何?int?long?
C#に限らずリファレンスマニュアルならば暗黙の了解がある内容でも明文化するのが
普通だぜ?
0128デフォルトの名無しさん
2009/11/10(火) 23:24:23> 1.exsampleが非常に少ない
>>116
> 2.表記が抽象的な所がある
静的型言語が好きならPython使うな
0129デフォルトの名無しさん
2009/11/10(火) 23:27:14ありがとうございます。。
エラーが止まらないのですが、基本的に、文字型が違うので連結が出来ていない。
という認識でいいのでしょうか
0130デフォルトの名無しさん
2009/11/10(火) 23:33:39君が >>1 にもあるような wiki かなんかで
exsample を作っていけば勉強になるよ ^ ^
0131デフォルトの名無しさん
2009/11/10(火) 23:33:55日本語訳の批判はこちらへどうぞ
Pythonドキュメント翻訳プロジェクト
http://www.python.jp/Zope/pythondoc_jp/
0132デフォルトの名無しさん
2009/11/10(火) 23:34:56DBの種類も言わない
DBの文字コードの設定がどうなってるかも言わないし調べようともしていない
ソースも貼らない
どしろうと?
0133デフォルトの名無しさん
2009/11/10(火) 23:38:04混ぜるな危険。
0134デフォルトの名無しさん
2009/11/10(火) 23:39:15すいません。。
>>133
print type()
してみるとunicodeとstrが混在してました。。
出直してきます
0135デフォルトの名無しさん
2009/11/10(火) 23:50:14日本語訳の問題じゃないよ。
あえて「文字列」としているのは、原文でも string といって str, unicode その他 basestring を継承した
文字列型を区別しないで書いているから。
厳密な型を書かないのは動的型付けだから。
0136デフォルトの名無しさん
2009/11/11(水) 05:09:37ドキュメントの記載が不明瞭である事と技術云々は全く関係ないだろ
組み込みスクリプト最大手のPythonで
>静的型言語が好きならPython使うな
はWindowsが嫌いなら使うなと言っているのと同義だなw
>>135
ちゃんと分けられるじゃん。それをそのまま文書化すれば良いだけなのに
何でわざわざごちゃ混ぜにしたような書き方になっているのか理解に苦しむ
basestringが〜
basestringを継承するstrが〜
basestringを継承するunicodeが〜
って書けば良いだけだろ。クラスが判る奴ならそれだけで通じる
0137デフォルトの名無しさん
2009/11/11(水) 08:27:120138デフォルトの名無しさん
2009/11/11(水) 09:27:54ちゃんと分けられないよ。
誰かが勝手に追加した新しい文字列型も「文字列」に含まれるんだぜ?
duck typingな動的型付け言語に慣れろ。
0139デフォルトの名無しさん
2009/11/11(水) 09:34:20他のPythonの処理系も含めた「Python標準ライブラリ仕様」を定めてるだけだからな。
CPythonの現在の仕様を詳しく書き下すんじゃなくて、近い将来のPythonや他のPython処理系が
満たすべき一般化された仕様を書いているから、あまり具体的な話はできない。
逆に、Pythonのドキュメントに書かれていない詳細な実装依存の仕様に依存したらいけない。
0140デフォルトの名無しさん
2009/11/11(水) 12:02:11つっこみどころ多すぎだろ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のドキュメントです
0141140
2009/11/11(水) 12:13:49オプソにMS並みのドキュメントの質を期待しても無駄だぜ
質が不満なら自分でやれやという話だ
0142デフォルトの名無しさん
2009/11/11(水) 12:15:33変なのお手本にする必要はない
0143デフォルトの名無しさん
2009/11/11(水) 12:24:300144140
2009/11/11(水) 12:30:04しかし"six"と限定しているだろう
basestringを意識しているのなら、なおその列挙の仕方はあいまいだし
一般名詞の"strings"と、"xrange"のような明白な特定の型を並列で混用しているのも
良い技術文書のやりかたではないね
0145デフォルトの名無しさん
2009/11/11(水) 12:30:190146デフォルトの名無しさん
2009/11/11(水) 14:06:26>>127でstringメソッドの例を出していて、 >>138, 139 は string メソッドで具体的な
クラス名を使わない理由を説明しているのに、なんでいきなり別のドキュメントに飛ぶの?
0147140
2009/11/11(水) 14:41:46ああすまん、別のところを見ていたみたいだね。
俺は>>127とかとは別人だが。
つっても同じPythonスタンダードライブラリのドキュメントの話で
ドキュメントの質を問う話をしてるんだから、引用箇所なんてどこでもよくね?
俺が引用したのはBuilt-in Typesのドキュメントだけど、本当にひどいよ。
Buit-in Typesというくくりの
Sequence Types ― str, unicode, list, tuple, buffer, xrange
というタイトルの文書なのに、
いきなり先ほどに引用したような書き出しになる。
型名がstrで、それがいわゆる文字列のための型であるとすら書かれず、strとか
stringsとかいう書き方が混用されている。非常にあいまいで不親切だ。
正確性、一覧性や網羅性とった点についても不満がある。
basestringに関しても触れられていないしね。
0148デフォルトの名無しさん
2009/11/11(水) 15:18:460149デフォルトの名無しさん
2009/11/11(水) 19:35:16みんなのPython とかいうのがあったような気がするが。
0150デフォルトの名無しさん
2009/11/11(水) 19:39:25最新版の日本語訳されたドキュメントってどれさ
ttp://www.python.jp/doc/release/index.html
じゃないのか?
0151デフォルトの名無しさん
2009/11/11(水) 19:41:580152デフォルトの名無しさん
2009/11/11(水) 19:46:32別にチュートリアルで問題ないだろ。
あれが難しいなら、ウェブに転がってる文書読んでからでもいいし。
0153デフォルトの名無しさん
2009/11/11(水) 20:44:45水もやらず、添え木もせず、収穫もせず、金も払わず、
ただ実を食う。
そんな人間にも育て方が下手だと
批判をする権利はあります。
0154デフォルトの名無しさん
2009/11/11(水) 23:03:300155デフォルトの名無しさん
2009/11/12(木) 07:46:11http://www.amazon.com/Python-Programming-Absolute-Beginner-Michael/dp/1435455002/ref=sr_1_1?ie=UTF8&s=books&qid=1257979488&sr=1-1
0156デフォルトの名無しさん
2009/11/12(木) 08:51:535.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
俺は遠慮しとく
0157デフォルトの名無しさん
2009/11/12(木) 08:54:41ダメな奴ほど暇なんだよ。
0158デフォルトの名無しさん
2009/11/12(木) 13:56:040159デフォルトの名無しさん
2009/11/12(木) 16:36:14http://pythonjp.sourceforge.jp/dev/
0160デフォルトの名無しさん
2009/11/12(木) 18:51:06ちょw英語だらけだぞw
確かに2.6.x対応版みたいだが
0161デフォルトの名無しさん
2009/11/12(木) 19:25:210162デフォルトの名無しさん
2009/11/12(木) 19:33:06タスクトレイを操作できるライブラリとGUIツールキットがあれば出来るかもね
0163デフォルトの名無しさん
2009/11/12(木) 19:34:59APIはShell_NorifyIcon
ツールキットに関してはシラネ
0164デフォルトの名無しさん
2009/11/12(木) 19:46:070165デフォルトの名無しさん
2009/11/12(木) 20:43:01って具体的にいうとどんな感じのエラーでしょうか?
0166デフォルトの名無しさん
2009/11/12(木) 20:50:310167デフォルトの名無しさん
2009/11/12(木) 21:55:40PyScripterを使うと3.0で認識されます
2.6を利用して書きたいのですが、どうすればいいですか
0168デフォルトの名無しさん
2009/11/12(木) 22:12:23insert文に日本語が含まれる場合、insert文をunicode型にする必要がありますか?
0169デフォルトの名無しさん
2009/11/12(木) 22:43:55まじで全然知識無い人が始める。
0170デフォルトの名無しさん
2009/11/12(木) 22:53:02PyScripter.exe --python26
0171デフォルトの名無しさん
2009/11/12(木) 22:55:34ありません
0172デフォルトの名無しさん
2009/11/12(木) 22:59:17なぜかそのコメントからヒントを得て解決しました
くだらない質問して申し訳なかったです
0173デフォルトの名無しさん
2009/11/12(木) 23:08:55具体的な目標を言ってください
0174デフォルトの名無しさん
2009/11/12(木) 23:26:20脳と神経でつながっている指を動かし、
キーボードを打つのが至上の勉強法。
こういってもいいだろう。
「プログラミング=キーボード叩き」
ブラインドタッチが出来ると学習曲線が格段に良くなる。
タイプが無意識行動となるので、プログラミングに意識を集中できる。
よって、君が一番最初になすべきことは、
北斗の拳で全員ぶっ飛ばすことだ。
0175デフォルトの名無しさん
2009/11/12(木) 23:38:27最後だけクリアできないまま数年放置プレイ中
0176デフォルトの名無しさん
2009/11/12(木) 23:39:45pythonの出版物となるとかなり限られているぞ。
rails関係を除いてもまだrubyの本の方が多い
まずは入門書の入門書みたいなのがたくさん出ているjavascriptとかperl、Cあたりで
プログラミングの基礎を学んでから来たほうがいいと思う
そのレベルになればいきなり初めてのpythonを読んで問題ないし(面倒ならpythonチュートリアルでおk)
0177デフォルトの名無しさん
2009/11/12(木) 23:40:32何でもいいんじゃないすか
ネットなんてなかったし
0178デフォルトの名無しさん
2009/11/12(木) 23:42:22なるほど
0179デフォルトの名無しさん
2009/11/12(木) 23:44:18一冊ですっきりわかる良本が無いことの裏返しだろw
0180デフォルトの名無しさん
2009/11/12(木) 23:46:190181デフォルトの名無しさん
2009/11/12(木) 23:47:29せめて元を取らねばという気持ちが
ゲームクリアする方向に作用する。
さらに金は、お小遣いなどではなく自分で稼ぐべき。理由は先と同様。
これによって君は一段ずつ確実にピラミッドを登っていくだろう。
まるでシュウのように。
0182デフォルトの名無しさん
2009/11/12(木) 23:58:590183デフォルトの名無しさん
2009/11/13(金) 00:12:04手が慣れたところで先に進もう。
ひょっとしたらプログラムをしたいという気持ちが
無くなっているかもしれない。
しかし、それでもいい。それでもOK。下を見てくれ。
書籍を買う(資金減少) → 読む(時間消費) → 飽きた → 脳みそ磨耗
激打を買う(資金減少) → 打つ(時間消費) → 飽きた → タイプ能力上昇
つまりタイプゲームを買うのは、本を買うよりずっとお得なのだ。
0184デフォルトの名無しさん
2009/11/13(金) 00:21:340185デフォルトの名無しさん
2009/11/13(金) 00:59:04残念ながら私にも勧めることの出来る本が無い。
ちなみに私の考える初心者向け良書とは、
読んで理解しなくてもよい本だ。
よって他の方に良さそうなものを聞くことにする。
ぐぐーる先生にお伺いしたところ、次のサイトを教えていただいた。
0186検索ワードは"Python ゲーム"
2009/11/13(金) 01:00:44ツ 許 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-,-‐''" / ,.ィ゙ /
0187デフォルトの名無しさん
2009/11/13(金) 01:07:53SQLite とかどんな環境でも動きますか?
インストールは簡単ですか?
0188デフォルトの名無しさん
2009/11/13(金) 02:31:42データベース不要。
インストールはpukiwikiよりはめんどい
0189デフォルトの名無しさん
2009/11/13(金) 03:32:59初心者にとってRubyの「日本語の資料が充実している」というのはかなり重要だよ
>>183
必死にググるのに疲れたw
Pythonの標準クラスリファレンス何処ー(・∀・ )っ/凵 ⌒☆チン
0190デフォルトの名無しさん
2009/11/13(金) 08:06:18>ちなみに私の考える初心者向け良書とは、
>読んで理解しなくてもよい本だ。
絵本より長い本読んだことないとか?
どんだけゆとりだよ(wwwwwwwwww
0191デフォルトの名無しさん
2009/11/13(金) 08:50:58水もやらず、添え木もせず、収穫もせず、金も払わず、
ただ実を食う。
そんな人間にも育て方が下手だと
批判をする権利はあります。
0192デフォルトの名無しさん
2009/11/13(金) 08:53:14ありがとうございました
MoinMoinちょっとみてみます
0193デフォルトの名無しさん
2009/11/13(金) 10:44:060194デフォルトの名無しさん
2009/11/13(金) 11:30:45出典あんの? 自作ポエム?
0195デフォルトの名無しさん
2009/11/13(金) 11:39:100196デフォルトの名無しさん
2009/11/13(金) 13:58:560197デフォルトの名無しさん
2009/11/13(金) 14:56:41初めてのPython。オライリーが出してるやつ。
英語読めるならLearning Python。
0198デフォルトの名無しさん
2009/11/13(金) 15:06:020199デフォルトの名無しさん
2009/11/13(金) 15:10:250200デフォルトの名無しさん
2009/11/13(金) 15:18:18そう言うんならBlenderにRubyを組み込んでくれw
0201デフォルトの名無しさん
2009/11/13(金) 16:26:28xml.dom とhttp://pyxml.sourceforge.net/topics/
とは違うものなのでしょうか?
またこれらはExpatのPythonバインディングとも違うものなのでしょうか?
Python 2.4 しか使えない環境で使いたいツールを
作ろうとしているのですが、どのライブラリを使うと
ポータビリティが最も高いのでしょうか?
10KB程度のそれほど大きくないXML文書を
読み込んで異なる表現のXML文書に変換するツールです。
XSLTでは処理できないような変換なので
Python を使うことを考えています。
Python は twisted でネットワークがらみの
小規模のツールを書いたことがある程度です。
0202デフォルトの名無しさん
2009/11/13(金) 16:28:34いいんだよ。他人からどう思われようが、被害が少なければそれでいい。
0203デフォルトの名無しさん
2009/11/13(金) 16:44:070204デフォルトの名無しさん
2009/11/13(金) 17:26:32Python Package Index : lxml 2.2.4
http://pypi.python.org/pypi/lxml/2.2.4
0205デフォルトの名無しさん
2009/11/13(金) 17:37:38check 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")
このエラーは具体的にはどんなエラーなんでしょうか?
0206デフォルトの名無しさん
2009/11/13(金) 17:46:360207デフォルトの名無しさん
2009/11/13(金) 17:54:00ありがとうございます。
MySqlに日本語をinsertする場合はunicode型でないといけないのでしょうか
0208デフォルトの名無しさん
2009/11/13(金) 18:02:43それはもはやPythonの話ではなくMySQLの話だな。
http://it.kndb.jp/entry/show/id/15
クライアントから送られるSQL文の文字コードを
指定するためにデータのベースへの接続後すぐに
set names utf8; を発行するのがいいんじゃね?
0209デフォルトの名無しさん
2009/11/13(金) 18:04:34インターフェイスで使う文字コードがあってさえいれば
別に他の文字コードでもいいと思うけど。
0210デフォルトの名無しさん
2009/11/13(金) 18:09:30show variables like '%char%';
で表示される円コーディングにあわせるのが正しい方法
0211デフォルトの名無しさん
2009/11/13(金) 18:12:18たくさんありがとうございます。
試してみます。
0212210
2009/11/13(金) 18:26:15[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
character_set_server=utf8
skip-character-set-client-handshake
0213デフォルトの名無しさん
2009/11/13(金) 20:29:46三角形、四角形、五角形…を順番に描かせるとずれてしまいます
命令が間違っているのかもしれません・・・
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
0214デフォルトの名無しさん
2009/11/13(金) 20:46:33正七角形の時に角度が整数の範囲に収まらなくなるが、
int 同士の演算なので、小数点が切り捨てられている。
from __future__ import division
をコードの先頭に置くか、
c の計算を、
c = float(b) / a
に置き換える。
0215デフォルトの名無しさん
2009/11/13(金) 20:50:09ついでに
h = 3
while h < 10:
...
は、for i in range(3, 10): でOK
0216デフォルトの名無しさん
2009/11/13(金) 20:59:52助かりました、ありがとうございます。
0217デフォルトの名無しさん
2009/11/13(金) 22:18:33http://namidame.2ch.net/test/read.cgi/hidari/1257990721/
0218デフォルトの名無しさん
2009/11/14(土) 07:53:24a = 3
だとaをハイライトしてくれるのですが、
a,b = 1, 2
だとaを(bも)ハイライトしてくれません。
理由が知りたいです。
0219デフォルトの名無しさん
2009/11/14(土) 08:56:36(a, b) = (1, 2)
0220デフォルトの名無しさん
2009/11/14(土) 16:13:530221デフォルトの名無しさん
2009/11/14(土) 16:27:080222デフォルトの名無しさん
2009/11/14(土) 16:33:240223デフォルトの名無しさん
2009/11/14(土) 16:37:25継承したときに、たまたま同じ変数名を使ってしまったために不幸な事故が起こるのを防ぐために、
変数名に暗黙にクラス名をつける。
継承を使わないなら、 _ は一個で良い。
あと、 __ が先頭と最後両方についているメソッドは特殊メソッド。
0224デフォルトの名無しさん
2009/11/14(土) 16:39:360225220
2009/11/14(土) 16:52:540226デフォルトの名無しさん
2009/11/14(土) 18:20:12アンダースコア1つは、C++のprivateメンバみたいなものを作るときに使う(厳密には、ネームマンぐりングされる)
前後にアンダースコア2つは、特殊メソッドを表すっていう慣例になってる。
特殊メソッドは、自分が呼び出すんじゃなくて、Pythonインタプリタによって間接的に呼び出されるメソッド。
C++のコンストラクタみたいなもの --> __init__
+演算子のオーバーロード --> __add__
JavaのtoStringみたいなもの -> __str__
len(myobj)したときの値 --> __len__
その他大量
0227デフォルトの名無しさん
2009/11/14(土) 18:26:30from foo import * で取り込まれないだけ
ふたつだとマングルされる
0228デフォルトの名無しさん
2009/11/14(土) 21:15:43ファイルにしてインタプリタを起動し直せば可能ですが出来ればファイルにしたくないので
メモリ上で処理できる方法がないか探しています
0229デフォルトの名無しさん
2009/11/14(土) 23:37:200230デフォルトの名無しさん
2009/11/15(日) 05:01:31args = ('Shift_JIS decoding error: invalid character 0x878a',)
具体的にどんなエラーでしょうか?
0231デフォルトの名無しさん
2009/11/15(日) 06:15:45文字コードの指定を間違えてるか、入力ファイルに不正な文字が含まれていてデコードに失敗
0232デフォルトの名無しさん
2009/11/15(日) 06:20:51「〜」が入ってるとだめだったりするな
0233デフォルトの名無しさん
2009/11/15(日) 06:24:15u'\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'
0234デフォルトの名無しさん
2009/11/15(日) 06:25:04WindowsのShift_JISは、厳密にはCP932っていうShift_JISの拡張になってるから
文字コードの指定で"cp932"を与えないと一部の特殊文字とかが読めない。
�鰍チて字が読めてない。
0235デフォルトの名無しさん
2009/11/15(日) 06:40:33本格的なアプリを作るならともかく使い捨て程度のコードですら文字コードでトラブルというのは
良い仕様とは言えないよな・・・仕様に文句言ってもしょうがないんだけどさ
1Byte圏発のブツだとこういう事が良くあるんだよなぁ
0236デフォルトの名無しさん
2009/11/15(日) 06:49:33なんか根本的なところが間違ってる、とまではいわないまでも、考え違いをしているような気がする。
もういちどスタートラインに戻って考え直してみてはいかが?
0237デフォルトの名無しさん
2009/11/15(日) 07:36:54日本で使う言語として
print "こんにちは"
が動かないのはどうかと思うのよ
0238デフォルトの名無しさん
2009/11/15(日) 07:49:24ソースはUTF-8で保存した上で
二行目に
# -*- coding: utf-8 -*-
すると幸せになる
0239デフォルトの名無しさん
2009/11/15(日) 09:37:53幸せになれるというかこれしないと
タイプ数アホみたいに増えるから必須だと思う
0240デフォルトの名無しさん
2009/11/15(日) 11:07:15たしかにPythonの文字コードまわりの面倒くささは尋常じゃないね
俺は一旦すべてユニコードにしてから必要なときにエンコードする
ようにしてるけど、ここまで徹底する必要あるのか?と度々思う
0241デフォルトの名無しさん
2009/11/15(日) 11:18:40標準ライブラリですら内部でstrに変換しやがるのがあるくらいだし別に徹底してない
0242デフォルトの名無しさん
2009/11/15(日) 11:36:05そこまで徹底するのが、文字化け対策として一番楽なんだよ。
>>237
動かないわけ無いだろ。
Python3では問題ないし、Python2でもソースエンコーディングとターミナルのエンコーディングが一致
していれば動く。
Python2 でターミナルのエンコーディングと違うソースエンコーディング使いたいなら、最初に
from __future__ import unicode_literals
とするか、 u"こんにちは" と書けば良い。
0243デフォルトの名無しさん
2009/11/15(日) 11:37:02正解
0244デフォルトの名無しさん
2009/11/15(日) 14:38:49ありがとうございます。。
うまくいきましたが、こんどはMS932というので引っかかってしまいました。
.decode('cp932','ignore')ってやるとあとあと困ったりしますか?
0245デフォルトの名無しさん
2009/11/15(日) 15:00:02http://www.python.jp/doc/release/lib/codec-base-classes.html#codec-base-classes
ここ見て置換させるとか
2chのdatなんてcp932/shift_jis/shift_jis_2004/shift_jisx0213のどれ使ってもエラー吐くときあるし
0246デフォルトの名無しさん
2009/11/15(日) 15:14:09これ便利 => chardet.detect()
別途インストールしないと使えない(多分)のが玉に瑕
0247デフォルトの名無しさん
2009/11/15(日) 16:29:09まあ仕組上当たり前の事なんだが
ID3タグみたいなエンコーディングどころかロケール情報もないクソフォーマット触った時は頭抱えたわ
0248デフォルトの名無しさん
2009/11/15(日) 16:38:42if 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
0249デフォルトの名無しさん
2009/11/15(日) 18:54:33それを強要する仕様を初心者向けと謳うのはどうかと思うわけだが
今時のメインシステムはWindowsでSJISだし
0250デフォルトの名無しさん
2009/11/15(日) 18:56:40Emacsスタイルのコメントがむかつく
0251デフォルトの名無しさん
2009/11/15(日) 19:12:10なんか今日の変な発言はみんなあんたなのかも知れんが
Pythonには初心者に優しい仕組みを提供するみたいな理念はないぞ
読みやすく、バランス良くって結果がたまたま初心者にもそこそこ使いやすいって状況になっただけ
0252デフォルトの名無しさん
2009/11/15(日) 19:49:58複雑なものを簡単であるかのように見せかけてはいけない。
0253デフォルトの名無しさん
2009/11/15(日) 19:55:570254デフォルトの名無しさん
2009/11/15(日) 20:23:54いや、コードページがCP932だからといって、スクリプトのエンコーディングまで
勝手にCP932だと仮定されてしまうようだとまずいだろ
スクリプトを書くのは自分だけじゃないんだぞ
日本語Windowsで実行しているからと言ってブラウザがHTMLを
全部CP932だと考えるようではまずいのと同じだ
エンコーディングなんて書いた奴しか分からない(推定はできるが)ので
指定させるのが確実で手っ取り速い、HTMLと同じだろ?
>>250
> Emacsスタイルのコメントがむかつく
別にEmacsスタイルである必要は無いよ
#coding: utf-8
とかでいい
実際には
coding[=:]\s*([-\w.]+) という正規表現で
エンコーディング指定らしきものとパターンマッチしている
0255デフォルトの名無しさん
2009/11/15(日) 20:31:28Windowsでそこらのエディタ使ってる初心者が幸せになれるわけじゃないよね
あとPEPから正規表現抜いてくるんなら
引用元書いたほうが勉強してる人が幸せになれるよ
0256デフォルトの名無しさん
2009/11/15(日) 20:35:150257デフォルトの名無しさん
2009/11/15(日) 20:40:43#include <stdio.h>
を
#include <studio.h>
と平気で書いたりするからな
python でも
# code: shift_jis
とか書いて動かないとか言い出す香具師が出てきてもおかしくない
「初心者」と「アホ」は区別して良いと思う
0258デフォルトの名無しさん
2009/11/15(日) 20:54:56ブラウザは実用に支障のないレベルで文字コードを自動判別してくれるぞ
そこまでは行かなくてもWindows向けインタプリタのデフォルト文字コードは
mbcsでも良いはずだ
0259デフォルトの名無しさん
2009/11/15(日) 21:00:38http://boost.cppll.jp/HEAD/libs/date_time/doc/BuildInfo.html
0260デフォルトの名無しさん
2009/11/15(日) 21:02:39http://boost.cppll.jp/HEAD/libs/python/doc/index.html
0261デフォルトの名無しさん
2009/11/15(日) 21:10:44> そこまでは行かなくてもWindows向けインタプリタのデフォルト文字コードは
> mbcsでも良いはずだ
それじゃ全然ダメなんだよ
他人が書いたモジュールやスクリプトのことも考えろ
mbcsの意味がCP932なのは日本語ウィンドウズの話であって
外国ではWindows-1252だったりするわけだ
Windows-1252な環境の連中の書いたモジュールやスクリプトを
CP932でデコードして動くとでも思うのか?
0262デフォルトの名無しさん
2009/11/15(日) 21:36:33誤爆する可能性のある判別法を自動適用するとかアホすぎるぞ
0263デフォルトの名無しさん
2009/11/15(日) 21:44:40きちんとヘッダを書かないのは間違い。
ブラウザは自動判定ミスっても間違って表示するだけだけど、
プログラムが自動判定ミスって間違って動作するとマズイだろ。
0264デフォルトの名無しさん
2009/11/15(日) 21:45:38まともにHTMLすら書けないレベルの奴はさすがに相手にしてないだろw
#coding: cp932のようにソースエンコーディングを指定するのも
#include <stdio.h>とか書くのも
何かを足すときに+と書くのも
全部言語仕様であり決まりごとに過ぎんと思うが
0265デフォルトの名無しさん
2009/11/15(日) 21:50:54配布されているコードは文字コードが書いてあるんだからデフォルトの文字コードが
何になっていようが問題ないのではないかい?
0266デフォルトの名無しさん
2009/11/15(日) 21:59:59運用ルールで済ませるのではなく、「確実に」強制する方法を
Pythonが選んだというだけだろ
それ以外に「確実に」強制する方法は存在しないわけだし
1byte圏の人間がどんだけ文字エンコーディングに関心を持たないかなんて
知ってるだろ
こんだけやってくれてるのはむしろ有難いと思ったほうがいいぞ
0267デフォルトの名無しさん
2009/11/15(日) 22:27:30アプリが多いんだよな。
0268デフォルトの名無しさん
2009/11/15(日) 22:45:24そこヘッダにエンコードも書いてあるのに
なんで化けるんだろう?
0269デフォルトの名無しさん
2009/11/15(日) 22:50:10どこがまずいのかを明確に指摘してくれるから俺のような初心者には逆にありがたい。
0270デフォルトの名無しさん
2009/11/15(日) 22:56:46>>268
レスポンスヘッダがUTF-8になってるから
0271デフォルトの名無しさん
2009/11/15(日) 22:59:300272デフォルトの名無しさん
2009/11/15(日) 23:03:30ttp://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/charset.html
HTML4.0仕様の5.2.2に優先順位が書いてある
サーバレスポンスが一番優先順位が高い
0273デフォルトの名無しさん
2009/11/15(日) 23:32:09なるほど�d
Apacheのバージョン変えたときに
AddDefaultCharset UTF-8 のままにしちゃってるパターンか
中のひと分かってるのかなぁ
0274デフォルトの名無しさん
2009/11/15(日) 23:33:500275デフォルトの名無しさん
2009/11/15(日) 23:44:02理想ではあるけど現実的じゃないよね
0276デフォルトの名無しさん
2009/11/15(日) 23:46:100277デフォルトの名無しさん
2009/11/15(日) 23:46:14そういう意味では現実的ではない
0278デフォルトの名無しさん
2009/11/16(月) 01:17:28育った文化の上に成り立っている物だし、それをガン無視して「仕様なんだから、こうしろ」とか
言っても不満が噴出して当然だよな
日本なんかいまだにJIS、SJIS、EUC-JP、UTF-8やらが入り乱れている状態だしなw
0279デフォルトの名無しさん
2009/11/16(月) 01:21:38少なくともプログラマが吐くセリフじゃない
0280デフォルトの名無しさん
2009/11/16(月) 01:26:17Pythonには不満が噴出するほど人がいない。
0281デフォルトの名無しさん
2009/11/16(月) 01:42:070282デフォルトの名無しさん
2009/11/16(月) 01:48:08バカか?w
扱う文字コードをすべてUTF-8に統一できるわけがないだろうjk
0283デフォルトの名無しさん
2009/11/16(月) 01:55:050284デフォルトの名無しさん
2009/11/16(月) 02:14:35みたいなのがプログラマだったら大変だな
「仕様書が悪い」とか言い出しそうだw
0285デフォルトの名無しさん
2009/11/16(月) 08:59:32扱う文字コードではなく、ソースコードのエンコーディングの話をしてるんだぞ?
0286デフォルトの名無しさん
2009/11/16(月) 09:00:43少なくともプログラマが吐くセリフじゃない
0287デフォルトの名無しさん
2009/11/16(月) 18:28:36XSSはGET引数を
query = cgi.escape(f.getfirst("q", "0"))
で対応しているのですが完璧でしょうか?
また、SQLインジェクションもこれでいけますか?
SQLやXSSのほかに対策すべきことはあるのでしょうか?
0288デフォルトの名無しさん
2009/11/18(水) 19:27:11OSはwindowsXPです。
http://code.google.com/intl/ja/appengine/docs/python/gettingstarted/helloworld.html
これをやろうとしていますが、「アプリケーションのテスト」のところで、
「次のコマンドで helloworld ディレクトリまでのパスを指定し、Web サーバーを起動します。
google_appengine/dev_appserver.py helloworld/」
からわからなくなりました。
コマンドプロンプトで実行するんでしょうか。
helloworldフォルダをどこにおくべきでしょうか。どう指定するのでしょうか。
http://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
0289デフォルトの名無しさん
2009/11/18(水) 19:35:24>コマンドプロンプトで実行するんでしょうか。
そのとおりです。
> 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」を実行すればおけ。
0290デフォルトの名無しさん
2009/11/18(水) 19:39:43ご回答どうもありがとうございます。
Python2.6.4ですが、バージョンが違うからエラーになるのでしょうかorz
0291デフォルトの名無しさん
2009/11/18(水) 19:57:29Application configuration file not found in myapp
とあるんだから、app.yaml が myapp の下にないんじゃないの?
0292デフォルトの名無しさん
2009/11/18(水) 22:33:46さっきからマルチポストしているお馬鹿さんへ
あなたがポストするべき場所はこちらです
http://pc11.2ch.net/test/read.cgi/php/1243654802/
さようなら
0293デフォルトの名無しさん
2009/11/18(水) 23:25:18公式では無かったようなのですが、2.4とか2.5とかのライブラリのソースが
ハイライトされてるページが有ったと思います。
2,3年前に見た記憶がありますがどこか忘れてしまいました。
誰か知りませんか?
0294デフォルトの名無しさん
2009/11/19(木) 02:22:14if largefunction(arg): otherfunction(largefunction(arg))
と同じようなことを、関数呼び出しが重複しないように書くにはどうすればいいですか。
ローカルな一時変数を作成するのもおかしな話だと思うので。
0295デフォルトの名無しさん
2009/11/19(木) 02:36:00おかしくないよ
0296デフォルトの名無しさん
2009/11/19(木) 02:46:06っていうか副作用を起こす関数もあるのでlargefunctionじゃなくても普通ローカル変数作る
0297デフォルトの名無しさん
2009/11/19(木) 02:49:01ローカル変数に一旦取るのが普通だと思ってた。
そんな風に考える人も居るんだという勉強になりました。
0298デフォルトの名無しさん
2009/11/19(木) 02:50:230299デフォルトの名無しさん
2009/11/19(木) 02:52:560300デフォルトの名無しさん
2009/11/19(木) 02:59:43本人じゃないけど二行になるのが嫌って言ってるように感じる
0301デフォルトの名無しさん
2009/11/19(木) 02:59:440302デフォルトの名無しさん
2009/11/19(木) 03:01:24(lambda v: otherfunction(v) if v else None)(largefunction(arg))
0303デフォルトの名無しさん
2009/11/19(木) 03:02:05SyntaxError: invalid syntax
0304デフォルトの名無しさん
2009/11/19(木) 03:04:140305デフォルトの名無しさん
2009/11/19(木) 04:00:200306293
2009/11/19(木) 04:12:550307デフォルトの名無しさん
2009/11/19(木) 05:06:09でも忘れたよw
0308デフォルトの名無しさん
2009/11/19(木) 05:13:24pyhotnを触り始めてまだ日が浅いので、足りない知識が多いかと思いますが、よろしくお願いします。
tmp = d1
tmp.update(d2)
d3 = tmp
0309デフォルトの名無しさん
2009/11/19(木) 05:17:350310デフォルトの名無しさん
2009/11/19(木) 05:19:08過去スレにあったと思う
0311308
2009/11/19(木) 05:24:340312デフォルトの名無しさん
2009/11/19(木) 05:27:00d3 = d1
d3.update(d2)
だったような気がするw
0313デフォルトの名無しさん
2009/11/19(木) 09:43:53d3 = dict(d1, **d2) だっけかな。
0314デフォルトの名無しさん
2009/11/19(木) 20:29:32どうすればいいのでしょうか?
0315デフォルトの名無しさん
2009/11/20(金) 08:46:18分割する方は割りと簡単にできたのですが、結合がよくわかりません。
0316デフォルトの名無しさん
2009/11/20(金) 08:55:020317デフォルトの名無しさん
2009/11/20(金) 09:01:370318デフォルトの名無しさん
2009/11/20(金) 17:19:47?
0319デフォルトの名無しさん
2009/11/20(金) 22:39:04if largefunction(arg): otherfunction(0)
0320320
2009/11/20(金) 23:01:19自分の開発環境PCでは問題なく動作しているのですが、
wxPythonをインストールしていないPCで実行すると、
「ImportError: No module named wx」が出ます。
プログラムを実行させるには、
PCにwxPythonをインストールするしかないのでしょうか?
0321デフォルトの名無しさん
2009/11/20(金) 23:16:11ImportErrorをキャッチして
メッセージを出すのもありかも。
0322デフォルトの名無しさん
2009/11/20(金) 23:32:200323デフォルトの名無しさん
2009/11/21(土) 00:49:33〜
def Hoge(cmd = 'Plus'):
globals()[cmd](〜)
は出来るのですが、Plus関数をHogeの内部に記述するとキーが見つからないと起こられてしまいます。
globals()をlocals()に変えてもダメでした。
関数内関数を文字列で指定して実行するにはどうすればよいのでしょうか?
0324デフォルトの名無しさん
2009/11/21(土) 00:59:360325デフォルトの名無しさん
2009/11/21(土) 01:04:15def Hoge(cmd = 'Plus'):
globals()[cmd](〜)
def Plus(args):
〜
もしかしたらと思い、以下のようにしたらエラーになりませんでした。
def Hoge(cmd = 'Plus'):
def Plus(args):
〜
globals()[cmd](〜)
先に定義しておかないとダメってことでしょうか?
0326デフォルトの名無しさん
2009/11/21(土) 01:24:31上から下に向かって実行されるから。
> def Plus(args):
> 〜
の意味は、〜を解析してPlusという名前の関数で登録しろという意味の実行文。
実行されなければ、存在することが出来ない。
0327デフォルトの名無しさん
2009/11/21(土) 01:37:18C はコンパイラはとにかくコンパイルして
リンカが頑張って名前解決してるから
順序とかどうでも良くなってる
一方で Python の def/class は代入式だと思っていい
0328デフォルトの名無しさん
2009/11/21(土) 07:39:23>リンカが頑張って名前解決してるから
>順序とかどうでも良くなってる
いや
ヘッダがあるから大丈夫なだけで
Cも順序が逆だと
プロトタイプが無いエラーになるか
暗黙の型定義で代用される
0329デフォルトの名無しさん
2009/11/21(土) 11:29:03import 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行ずつ読み込むにはどうすればいいでしょうか?
0330デフォルトの名無しさん
2009/11/21(土) 11:41:57環境書いたほうがいいよ
で、もしWindowsなら > A | python B で試してみる
0332デフォルトの名無しさん
2009/11/21(土) 13:16:25この返り値をunittestのassertEqualでテストしたいのですが、
assertEqual(3.141592, その関数())
とやると、第1引数は倍精度、第2引数は単精度になり、比較結果が一致しません。
assertAlmostEqualを使わないで、第1引数を単精度にする方法はあるでしょうか。
0333デフォルトの名無しさん
2009/11/21(土) 14:48:170334デフォルトの名無しさん
2009/11/21(土) 14:52:510335デフォルトの名無しさん
2009/11/21(土) 14:55:45使ったことはまったくないが
0336デフォルトの名無しさん
2009/11/21(土) 17:30:010337デフォルトの名無しさん
2009/11/21(土) 18:02:51浮動小数点数なんてCPUが違うと結果違うのは当たり前だし、
x86なんかFPUを使うかSSEを使うかで結果違ってくるし、
言語によっても浮動小数点数の扱いが広げ方や丸め方が違うし、
最適化のかけ方によっても結果が変わってくるし、
そういうのをテストで弾きたいって意味でしょ?
となると、弾かれたのはまさに期待通りなわけだが。
0338デフォルトの名無しさん
2009/11/21(土) 19:02:290339デフォルトの名無しさん
2009/11/21(土) 19:06:190340332
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))
とやると弾かれるというわけです。
0341デフォルトの名無しさん
2009/11/22(日) 08:27:400342デフォルトの名無しさん
2009/11/22(日) 13:58:310343デフォルトの名無しさん
2009/11/22(日) 19:52:080344デフォルトの名無しさん
2009/11/23(月) 00:32:320346デフォルトの名無しさん
2009/11/23(月) 12:07:09今までの経緯を見ると
必ずしもリップサービスではなくて
本当にそのつもりで頑張っているような気もする。
目標10割、達成6割でOKというのが
アメリカ人の感覚なのかな。
0347デフォルトの名無しさん
2009/11/23(月) 15:07:15def 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"
みたいにしようと思ったけどこれだとマッチした結果が使えない
こんなとき普通はどうするもん?
0348デフォルトの名無しさん
2009/11/23(月) 15:10:48pat = (
(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"
0349デフォルトの名無しさん
2009/11/23(月) 15:11:490350デフォルトの名無しさん
2009/11/23(月) 17:04:38サンクス参考にしてみる
0351デフォルトの名無しさん
2009/11/23(月) 19:06:50参考になるコードを知っている方いましたら教えてください
一通り入門書を読み終えた程度のものなのであまり大規模ではないものを
まずは見たいと思っています。バージョンは2でも3でも読めます
よろしくお願いします
0352デフォルトの名無しさん
2009/11/23(月) 19:21:110353デフォルトの名無しさん
2009/11/23(月) 19:21:50SourcrForgeで、関心がある分野(画像処理、とか)のプロジェクトのソースをダウンロード。
その次は、プロジェクトにパッチを送ってみる。
ttp://sourceforge.net/search/?type_of_search=soft&words=python
0354デフォルトの名無しさん
2009/11/23(月) 21:29:15feedlist=[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一覧が表示されないです
ボタン押してもエラーが出ないので何が間違ってるか分からないです。
0355デフォルトの名無しさん
2009/11/23(月) 21:48:45俺も標準ライブラリ読むのがいいと思う。良くないのも多いが
あと先に言っておくけどtwistedとZopeは参考にするな
0356デフォルトの名無しさん
2009/11/23(月) 21:59:130357デフォルトの名無しさん
2009/11/23(月) 22:05:14・GUI無しで、単純にtitle一覧リストデータは得られるか?
・ListBox以外のコントロールに表示は出来るか?
・title一覧でなくて、単純なリストの項目をListBoxに追加表示できるか?
これくらい調べてきてくれ
0358デフォルトの名無しさん
2009/11/23(月) 22:05:55普通に面白かった
0359デフォルトの名無しさん
2009/11/23(月) 23:01:180360デフォルトの名無しさん
2009/11/23(月) 23:55:460361デフォルトの名無しさん
2009/11/24(火) 00:24:23hoge == "PHPの仕様がおかしい"
except NameError:
pass
0362デフォルトの名無しさん
2009/11/24(火) 00:30:08初期化しとけ
方法2
例外を捕らえる>>361
方法3
'hoge' in locals()
0363デフォルトの名無しさん
2009/11/24(火) 00:56:19>>361
方法1,2は知っていたのですが、
毎回書くのは面倒くさいのでべつの方法を探していました。
3を採用してみます
0364デフォルトの名無しさん
2009/11/24(火) 02:01:270365デフォルトの名無しさん
2009/11/24(火) 04:11:220366デフォルトの名無しさん
2009/11/24(火) 15:13:29それに比べておれたちときたら...orz...
0367デフォルトの名無しさん
2009/11/24(火) 16:23:410368デフォルトの名無しさん
2009/11/24(火) 22:56:54ありがとうございます。参考にさせていただきます
0369デフォルトの名無しさん
2009/11/26(木) 11:53:41これはpythonのライブラリが原因だからでしょうか?
日本語を扱うソフトを作りたいのですがこれはプログラミング側でどうにもできないですよね?
0370デフォルトの名無しさん
2009/11/26(木) 13:36:31をpythonではどう書くんでしょうか?
0371デフォルトの名無しさん
2009/11/26(木) 13:54:34for i in xrange(10, -1, -1):
>>369
Pythonライブラリというか、その下のC言語で書かれた部分の問題だと思う。
0372デフォルトの名無しさん
2009/11/26(木) 15:18:49ありがとう
0373デフォルトの名無しさん
2009/11/26(木) 17:41:52でもちょっとHでもありますが。。
0374デフォルトの名無しさん
2009/11/26(木) 17:45:570375デフォルトの名無しさん
2009/11/26(木) 17:46:24まったくズブの素人です。
これからブイバ初めても間に合いますか?
プログライミングをでけるようになりたいから
手始めにVBAから勉強するのか迷い中です。
何か時代は.NETでブイビーも.NET
それじゃ〜ブイバももう手遅れなんでしょうか?
0376デフォルトの名無しさん
2009/11/26(木) 17:49:52バイブだのズブズブだの初めてだの、エロいレスだな。
0377デフォルトの名無しさん
2009/11/26(木) 18:41:17375のこいつ暇すぎて変なことばかりしとる
0378デフォルトの名無しさん
2009/11/26(木) 19:40:12パイロンって読むんじゃないの?
0379デフォルトの名無しさん
2009/11/26(木) 19:42:320380デフォルトの名無しさん
2009/11/26(木) 20:42:050381デフォルトの名無しさん
2009/11/26(木) 20:48:07ID強制になるだけで静かになるよ
973 デフォルトの名無しさん [] Date:2009/11/23(月) 18:02:02 ID: Be:
その変更はキミに任せるから提案してくれ。
974 デフォルトの名無しさん [] Date:2009/11/23(月) 18:18:58 ID: Be:
反対するのは荒らしたい奴だけだから強行しちゃって良いよ
0382デフォルトの名無しさん
2009/11/27(金) 15:52:29例えばC#なら
A a = new A(){ Property = xxxx }
みたいなかんじで書きたいんですが
0383デフォルトの名無しさん
2009/11/27(金) 16:06:08そうじゃないなら諦めろ
0384デフォルトの名無しさん
2009/11/27(金) 16:19:500385デフォルトの名無しさん
2009/11/28(土) 00:36:270386デフォルトの名無しさん
2009/11/28(土) 19:40:12for propname in kw:
setattr(obj, propname, kw[propname])
return obj
0387デフォルトの名無しさん
2009/11/30(月) 10:01:30TypeError: 'dict' object is not callableで怒られる。
どうすればいいんだorz
0388デフォルトの名無しさん
2009/11/30(月) 10:17:580389デフォルトの名無しさん
2009/11/30(月) 18:04:57python setup.py install
でインストールし、無事に使用できています。
しかし新しいバージョンのライブラリを同様の手順で
インストールすると古いバージョンのファイル
(もはや使っていないモジュール)が残ってしまいます。
これは手動で削除するしかないのでしょうか?
旧バージョンのアンインストール+新バージョンのインストール
という作業を自動化する方法はないのでしょうか?
0390デフォルトの名無しさん
2009/11/30(月) 18:27:37手動でもいいのでuninstallの方法が知りたい。
0391デフォルトの名無しさん
2009/11/30(月) 18:58:10pip uninstall がある。
0392デフォルトの名無しさん
2009/11/30(月) 19:32:28いちゃもんみたいなもんだがいつまでもバージョン1にならんし
コードも汚い
0393デフォルトの名無しさん
2009/11/30(月) 19:48:59easy_install -m packagenameして登録解除?した後
lib/site-packagesからeggまたはディレクトリを手動で削除、らしい
ほんとなんでこんなのがデファクトスタンダードになってしまったのだろうか
0394デフォルトの名無しさん
2009/11/30(月) 19:52:280395デフォルトの名無しさん
2009/11/30(月) 20:24:51そんな簡単な手順なら
easy_uninstall を作って配布してください
0396デフォルトの名無しさん
2009/12/01(火) 14:57:43ナイス情報ださんくす
0397デフォルトの名無しさん
2009/12/01(火) 18:14:17pygameでも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で作成した画像だとちゃんと背景が透明になります。
何が駄目なのでしょうか?
この解決方法もしくは他の良い方法があれば教えて欲しいです。
よろしくお願いします。
0398デフォルトの名無しさん
2009/12/01(火) 18:39:080399デフォルトの名無しさん
2009/12/01(火) 19:30:45やりかた知らないけどwxPythonのサンプルにヘビ画像のウィンドウサンプルがあったから、それで出来ないかな?
0400デフォルトの名無しさん
2009/12/01(火) 20:27:000401デフォルトの名無しさん
2009/12/01(火) 20:55:28この質問どこかで見たぞ?
0403デフォルトの名無しさん
2009/12/01(火) 23:12:44ちょっとぐぐったらこんなのがあった
ttp://d.hatena.ne.jp/TaoPyPI/20090118/1232277995
0404デフォルトの名無しさん
2009/12/03(木) 06:09:26が nothing to repeatと言われます
確かに無意味な部分がある正規表現ですが、意味を解釈できないというわけでもないと思えます
wshなんかでは通りますし
それでふとした疑問なんですが
"この正規表現が間違っている" と "Pythonが気を利かせせてくれている" ではどちらがより適切な理解だと思われますか?
0405デフォルトの名無しさん
2009/12/03(木) 09:35:16と解釈するのが妥当だろう。
解釈が一意に決まらない、というのは、場合によってはエラー扱いされて
おかしくない状況。
0406デフォルトの名無しさん
2009/12/03(木) 18:00:220407デフォルトの名無しさん
2009/12/03(木) 18:45:460408デフォルトの名無しさん
2009/12/03(木) 19:13:020409デフォルトの名無しさん
2009/12/03(木) 20:13:57呼び出されたdefの中で、誰(widget)から呼び出されたか
を知る方法って無いでしょうか。
0410デフォルトの名無しさん
2009/12/03(木) 21:03:260411デフォルトの名無しさん
2009/12/04(金) 00:30:09おかげで小一時間なやんだ
0412デフォルトの名無しさん
2009/12/04(金) 09:07:340413デフォルトの名無しさん
2009/12/04(金) 09:31:51言語によって挙動が違うからなぁ
0414デフォルトの名無しさん
2009/12/04(金) 10:54:02何がどのようなドキュメンテーションシステムで使われているのか
どこで決められているんでしょうか?
PEP で docstring その他のコードの書き方、スタイルについての
ガイドラインって有りますか?
自分としては
1)PyDev (Eclipse) の補完時に追加情報として表示して欲しい
2)あとで Sphinx でドキュメント生成するかもしれない
と思っていますが、とにかく何か取り決めがあるなら
それに従っておこうと思っています。
0415デフォルトの名無しさん
2009/12/04(金) 10:58:31docstring conventions というのは見つけましたが、
モジュールレベルの他の属性?(__author__とか)
についての記述はありませんでした。
0416デフォルトの名無しさん
2009/12/04(金) 11:02:40http://www.python.org/dev/peps/pep-0008/
で見つけました。あと、同様の質問を
http://www.velocityreviews.com/forums/t336433-__author__.html
で見つけたんですが、__version__ 以外は標準的なものじゃない
ってことのようです。でもいろんなライブラリで__author__
なんかは使われていて、何らかのガイドラインがあるのかと思っているのですが・・
0417デフォルトの名無しさん
2009/12/04(金) 11:06:44こういうガイドラインもあるようですが、
特定のプロジェクトでのコード規約ではなく
Python界で広く用いられている
(そしてドキュメント生成ツールなどでも理解される)
物は何だろうと探し続けて早一時間。
0418デフォルトの名無しさん
2009/12/04(金) 11:13:17でも同様の質問が出てましたが、結局上に書いた
How do I organize my modules (source files)?
http://jaynes.colorado.edu/PythonGuidelines.html#module_formatting
をミロってことでした。
疲れ果てて心が折れそうなので__author__くらいは書いておきます。
0419デフォルトの名無しさん
2009/12/04(金) 15:47:530420デフォルトの名無しさん
2009/12/04(金) 20:12:300421デフォルトの名無しさん
2009/12/04(金) 20:27:47password: ***** や /home/***/ みたいな
というわけで文字列メソッドの replace か
正規表現が使いたければ re.replace
0422デフォルトの名無しさん
2009/12/04(金) 20:56:16説明不足でした。
テキスト内の特定の文字だけ表示させないで残りを表示したいという意味です。
0423デフォルトの名無しさん
2009/12/04(金) 22:09:510424デフォルトの名無しさん
2009/12/04(金) 22:12:00正規表現置換あるんだからそれでいいじゃない
0425デフォルトの名無しさん
2009/12/05(土) 00:00:44なるほど置き換え使えば簡単に消せるんですね
ありがとうございます
0426デフォルトの名無しさん
2009/12/05(土) 22:31:52Noneの型を記述するときの上のような書き方はないのでしょうか?
今はtype(None)で代用しています
0427デフォルトの名無しさん
2009/12/05(土) 22:44:50types.NoneType
でもhoge is Noneでいいんじゃないの?
0428デフォルトの名無しさん
2009/12/05(土) 23:04:36('aaaaa') -> 文字列
('aaaaa',) -> タプル
なんかきもちわるい。
書き換えしたくない場合でもリストを使ったほうが見通しがいいと思うのは俺だけ?
タプルって辞書のキーとかイミュータブルが必要なときだけ使うという考えでもおk?
0429デフォルトの名無しさん
2009/12/05(土) 23:15:520430デフォルトの名無しさん
2009/12/05(土) 23:50:27型をリストに入れて変数の型検査を行っているので、Noneの型が必要なのです。
from types import NoneType
とすることにしました。ありがとうございました。
0431デフォルトの名無しさん
2009/12/06(日) 00:09:190432デフォルトの名無しさん
2009/12/06(日) 03:53:56DDEBUG = True
def debug_print(obj):
if DDEBUG == True:
print '[', __name__ ,']', obj
これをdebug.pyとした場合importして使っても当然ながらつねに[ debug ]としか表示されません
コピペすれば期待通りに動くんですけれどコピペするってのもどうなんだという気がしまして
なんかうまい方法ありませんか?
自分で思いつくのはdebug_printにモジュール名用の引数を取る方法ぐらいしかありません
0433デフォルトの名無しさん
2009/12/06(日) 04:40:260434デフォルトの名無しさん
2009/12/06(日) 05:30:40おぉこんなものが
期待した以上のことができそうです
ありがとうございました
0435デフォルトの名無しさん
2009/12/06(日) 08:48:48%(pathname)s ログ記録の呼び出しが行われたソースファイルの 全パス名 (取得できる場合)
%(filename)s パス名中のファイル名部分
%(module)s モジュール名 (ファイル名の名前部分)
0436デフォルトの名無しさん
2009/12/06(日) 10:01:16統一したいだけなら
list('aaaaa')
tuple('aaaaa')
あと、リストとタプルはCでいう配列と構造体くらいには別物。
0437デフォルトの名無しさん
2009/12/06(日) 14:32:03GUIの操作用ボタンと結果表示用のラベルがあり
データ処理を行うようなソフトを作っています
データ処理は時間がかかり、メインのプロセスでやってしまうとその間GUIのパネルが固まってしまうので、
データ処理はmultiprocessingを使ってサブプロセスで行うことにしました
それ自体はうまくいき、multiprocessing.Queue()を使いデータのやり取りもできたんですが,
メインプロセス側がキューのget()を呼び出して待機するわけにもいかないので(パネルが固まってしまい本末転倒)
wxPythonのTimerを使ってget(False) を呼び出すメソッドを作り、一定時間ごとにそのメソッドを呼び出しデータが来ていないか確認して、
データが来たらラベルに表示するようにしました。一応完成はしたんですが、一定時間ごとに結果がないか確認、という動作が
なんだか気持ちわるいとうか
サブプロセスのデータ処理が終わったら、それを通知するというか、終わったことをきっかけにメインプロセス側の表示処理を稼働させるというか
そういうのって出来ないもんです?
0438デフォルトの名無しさん
2009/12/06(日) 20:51:510439デフォルトの名無しさん
2009/12/06(日) 21:34:580440デフォルトの名無しさん
2009/12/06(日) 22:33:18C++で作られた関数を呼び出すだけでした
C++を理解できないとどうにもならないという意味だったのでしょうか?
0441デフォルトの名無しさん
2009/12/06(日) 22:50:33まあタイマーでやってるのと大差ないけど
0442デフォルトの名無しさん
2009/12/07(月) 07:42:23>>441
すいません
Demoみてたら、GUIが固まるのを防ぐ方法がありました
ご返答ありがとうございました
0443デフォルトの名無しさん
2009/12/07(月) 13:33:54def 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したモジュールの関数の上書きは出来ないのでしょうか
?
0444デフォルトの名無しさん
2009/12/07(月) 14:07:23if __name__=='__main__':
main.proc = proc
main.run()
名前空間に対する理解が不十分
0445デフォルトの名無しさん
2009/12/07(月) 14:30:050446デフォルトの名無しさん
2009/12/08(火) 21:25:42wxListCtrlを設置するとError creating test view といわれどうしても設置してプレビューできません
どなたかこうなってしまう原因に心当たりのある方はいらっしゃらないでしょうか
そして、もしよろしければwxListCtrlを配置したxrcファイルをいただけないでしょうか
0447デフォルトの名無しさん
2009/12/08(火) 22:15:25ピーサイコ?
0448デフォルトの名無しさん
2009/12/08(火) 22:19:470449デフォルトの名無しさん
2009/12/08(火) 22:22:460450デフォルトの名無しさん
2009/12/08(火) 23:02:100451デフォルトの名無しさん
2009/12/09(水) 00:24:49ListCtrlのStyleの設定でLC_REPORT, LC_ICONとかにチェック?
0452デフォルトの名無しさん
2009/12/09(水) 01:01:160453デフォルトの名無しさん
2009/12/09(水) 09:10:000454デフォルトの名無しさん
2009/12/09(水) 13:02:540455デフォルトの名無しさん
2009/12/09(水) 23:10:09やってみたのですがやっぱりエラーが出ます
これはもうxrecd投げ捨てるしかないのか・・・・・・・
0456デフォルトの名無しさん
2009/12/10(木) 00:06:08ツネヤマとかいうトラックバックスパムが酷くて悩んでいます
どうすればいいでしょうか?
0457デフォルトの名無しさん
2009/12/10(木) 00:28:070458デフォルトの名無しさん
2009/12/10(木) 00:30:30俺の備忘録ブログにも来るくらいだしw
嫌ならトラックバック閉じるかブログやめればおk
0459デフォルトの名無しさん
2009/12/10(木) 04:31:460460デフォルトの名無しさん
2009/12/10(木) 07:49:32トコヤマだと思ってたぜw
0461デフォルトの名無しさん
2009/12/10(木) 09:47:120462デフォルトの名無しさん
2009/12/10(木) 10:06:590463デフォルトの名無しさん
2009/12/11(金) 23:32:13あとMoinMoin 1.9.0 Finalも取り上げておいてくれ。>中の人
0464デフォルトの名無しさん
2009/12/13(日) 00:11:210465デフォルトの名無しさん
2009/12/15(火) 06:13:460466デフォルトの名無しさん
2009/12/15(火) 06:18:14johzan
収集する男
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
最新タイトル
0467デフォルトの名無しさん
2009/12/15(火) 06:24:100468 ◆R9u5o717Q6
2009/12/15(火) 21:51:18python標準のsqlite3を使っているのですが
データの整合性のためselect使用時にはテーブルをロックさせるためにBEGINしたいのですが
select時に自動的にさせる、もしくは自分でbeginするにはどうしたらいいのでしょうか?
commitメソッドはあってもbeginはないのでよくわかりません
isolation_level=・・・・
というのかと最初思ったんですがこれはロックがかかるときにどういうロックがかかるかの話で
自動的にトランザクションが始まるのはあいかわらずINSERT/UPDATE/DELETE/REPLACEだけみたいで
どうしたらいいのかわかりません
0469デフォルトの名無しさん
2009/12/15(火) 23:06:040470デフォルトの名無しさん
2009/12/15(火) 23:06:51トランジャクソンのためだぞ
0471デフォルトの名無しさん
2009/12/15(火) 23:52:100472デフォルトの名無しさん
2009/12/16(水) 00:04:44探しても無さそうなんですが。
0473デフォルトの名無しさん
2009/12/16(水) 00:04:51>>468
Cursorオブジェクトに execute メソッドがあるから
それで begin transaction すればいけるかも
使ってるマニュアルに載ってなかったら最新版見て
あとSQLiteはスレが別にあるからここで解決しなければそっちで
0474デフォルトの名無しさん
2009/12/16(水) 00:16:22PEP 8
0475472
2009/12/16(水) 00:32:42ありがとうございます。
メソッドの各引数や戻り値の型を、Javadocの @param や @return
のように、決まった書き方で書けといったことは無いみたいですね。
人のソースを見た時など、理解するのが面倒な気はしますが。
0476デフォルトの名無しさん
2009/12/16(水) 00:48:200478デフォルトの名無しさん
2009/12/16(水) 05:37:590479472
2009/12/16(水) 07:18:48ttp://www.python.org/dev/peps/pep-3107/
これですね。よさそうですね。
やっぱり、型が何かって記述はそれ程重要視されてない感じですね。
0480468 ◆R9u5o717Q6
2009/12/16(水) 20:51:09executeに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投げてみます
ご迷惑おかけしました
0481デフォルトの名無しさん
2009/12/16(水) 21:28:23Connection オブジェクトで
execute(u'begin exclusive')
すればいいだけでした
0482デフォルトの名無しさん
2009/12/18(金) 04:04:03これってソフトを作成できるスキルが身に付いたとは思えない…
最後まで読め?
0483デフォルトの名無しさん
2009/12/18(金) 04:38:030484デフォルトの名無しさん
2009/12/18(金) 04:38:15最後まで読まなくてもいいよ
ただページをパラパラめくって何が書いてあったか程度には把握しておくこと
あとで必要になったら読み返せばいい
で、実際に何か役に立つものを作ろうと思ったら周辺知識が必要
どんな周辺知識が必要かは作りたいソフトによる
どういうソフトを作りたいか具体的に言えば
あれを勉強しろだのこれを読めだのこのライブラリ使えだの答えが返ってくると思うよ
0485デフォルトの名無しさん
2009/12/18(金) 10:39:280486デフォルトの名無しさん
2009/12/18(金) 11:25:040487デフォルトの名無しさん
2009/12/18(金) 13:41:410488482
2009/12/18(金) 20:57:03ありがとうございます。
為替のメールソフト(設定のレートになったらメールを送信する)
を作りたいと思っております。
メールを送るのは調べれば大丈夫だと思います。
わからないのは為替レートを別ページなどから参照?するような工程です。
なにかアドバイスがあればお願い致します。
0489デフォルトの名無しさん
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を解析するがよろし。
0490デフォルトの名無しさん
2009/12/19(土) 02:01:01> わからないのは為替レートを別ページなどから参照?するような工程です。
例えば自分のWebページやBlogなんかに為替レートを埋め込んで
表示したい、とかそういうこと?
そういうパーツならたくさん配布されてるからそれを使う
自前で作るのならまずは為替レートを取得するところまでやってみては
為替レート API でぐぐるといい
0491デフォルトの名無しさん
2009/12/19(土) 02:44:19ttp://www.xignite.com/Products/Catalog.aspx
軽くなら、自分の使ってるFX業者のページを解析していればいいんじゃね?
0492デフォルトの名無しさん
2009/12/20(日) 17:58:470493デフォルトの名無しさん
2009/12/21(月) 00:44:47のsに丸囲み数字 -> �@ が入ってるとエラーになるみたいなのですが、変換させる方法はないのでしょうか?
unicodeにも丸囲み数字はあるらしいのですが・・・・・・
sが「あいうえお�@」のときのエラー内容
UnicodeDecodeError: 'shift_jis' codec can't decode bytes in position 10-11: ille
gal multibyte sequence
0494デフォルトの名無しさん
2009/12/21(月) 00:47:08お前が使っているのは Shift-JISに Microsoft の拡張が入ったもので、
cp932 とか Windows-31J とかいう名前の文字コード。
0495デフォルトの名無しさん
2009/12/21(月) 00:58:420497デフォルトの名無しさん
2009/12/21(月) 07:35:230498デフォルトの名無しさん
2009/12/21(月) 07:41:270499デフォルトの名無しさん
2009/12/21(月) 07:44:07【プログラミング】
・本格的な汎用プログラミング言語には馴染めない連中が好んで使うPerl、Python、PHPあたりのあたまに「P」がつくスクリプト言語のこと。
0500デフォルトの名無しさん
2009/12/21(月) 08:37:410501デフォルトの名無しさん
2009/12/21(月) 09:36:520502デフォルトの名無しさん
2009/12/21(月) 14:23:59押された時と離された時に実行されるものでもいいです。
pyautoというものを見つけたのですがキーボードのタイピングはフック出来たのですが
マウスのクリックは出来なさそうなので(僕が理解してないだけかもしれないですが)。
よろしくお願いします。
0503497
2009/12/21(月) 18:47:45ありがとうございます。
そちらを勉強してきます。
0504502
2009/12/21(月) 19:40:05pyHookってモジュールで出来ました。
0505デフォルトの名無しさん
2009/12/22(火) 06:56:24この度新しくインタプリタ言語としてPythonを(日々の作業のお供としても役立ちそうなので)学ぼうとしているのですが、何で勉強するのがいいでしょうか。
書籍やウェブなどありそうですが、最近Pythonのメジャーバージョンアップがあったとも聞いています。
オススメを教えてください。お願いします。
0506デフォルトの名無しさん
2009/12/22(火) 07:17:46公式チュートリアルをどうぞ
http://www.python.jp/doc/release/tut/tut.html
わかんなかったらここで聞けば誰かが優しく教えてくれます
Pythonには2.x系列と最近出た3.x系列があるけれど、
3.xはまだ殆どの人が使ってないので安心して2.x系列を勉強してください
バージョンは2.5以上(最新版は2.6.4)なら多分間違いないです
0507505
2009/12/22(火) 11:43:01ありがとうございます。
現状につきまして
Pythonには便利なモジュールが多くあるが、まだPython 3.x系列には対応しているものが少ない
という認識でよろしいでしょうか?
0508デフォルトの名無しさん
2009/12/22(火) 14:31:560509デフォルトの名無しさん
2009/12/22(火) 14:46:570510デフォルトの名無しさん
2009/12/22(火) 23:23:29x = 'abcde'
x[1] → 'b' (インデクシング)
x[1:3] → 'bc' (スライス)
x[1:-1] → 'bcd' (スライス)
これの法則性がわかりません。
0511510
2009/12/22(火) 23:25:23よろしくお願い申し上げます。
0512デフォルトの名無しさん
2009/12/22(火) 23:37:16のでどなたか教えていただけませんでしょうか。
よろしくお願い申し上げます。
0513デフォルトの名無しさん
2009/12/22(火) 23:39:08ttp://www.youtube.com/watch?v=ihXtbB-4GWw
すげーな
0514デフォルトの名無しさん
2009/12/22(火) 23:49:27…死ねばいいのに
0515デフォルトの名無しさん
2009/12/23(水) 00:01:08こんな感じでいいか?
0516デフォルトの名無しさん
2009/12/23(水) 00:20:58x[1]はCとあんまり変わらない。これはわかるとおもう。
x[1:3]みたいにコロンで区切られてた場合はスライスといって、
文字列の(正確にはシーケンスの)一部を取得できる。
x[1:3]だと、x[1]からx[3]の手前までだから"bc"。
あと、マイナスを使えば反対から数えられるから、x[1]から最後の一つ手前までで"bcd"。
リスト関係の処理はほんとに便利にできてるので勉強して損はない。
あとインデクシングって、「インデックスをつけること」だから意味がぜんぜん違うぞ。
0517デフォルトの名無しさん
2009/12/23(水) 00:23:340518デフォルトの名無しさん
2009/12/23(水) 00:26:26x[:] → 'abcde'
x[-1] → 'e'
x[:-1] → 'abcd'
x[-1:] → 'e'
0519デフォルトの名無しさん
2009/12/23(水) 00:30:15ついでに、x[a:]はx[a]から最後までで、x[:b]は最初からx[b-1]まで。
0520デフォルトの名無しさん
2009/12/23(水) 01:06:53分かりにくいだろうから、説明画像をぱぱっと作った。
ttp://up.mugitya.com/img/Lv.1_up108952.png
というか、こういう画像はどっかにもあった気がするが…。
0521デフォルトの名無しさん
2009/12/23(水) 01:10:33x[a:b] は要素の区切り位置でa〜bの範囲の要素集合
と考えるとラク
"qwerty"なら
| q | w | e | r | t | y |
0 1 2 3 4 5 6
0522デフォルトの名無しさん
2009/12/23(水) 03:57:060523512
2009/12/23(水) 08:24:17大変分かりやすい解説をいただき、
皆様ありがとうございます。
インデクシングという用語につきましては
> Python入門第2回 Pythonの文法
> ttp://www.f7.ems.okayama-u.ac.jp/~yan/python/python02.html
ここからのコピペでした。。。
0524デフォルトの名無しさん
2009/12/23(水) 09:33:21印を付けるのと添え字で参照する、どちらの意味かは文脈から明らかだし
http://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
0525デフォルトの名無しさん
2009/12/23(水) 13:01:23ありがとうございます。
0526デフォルトの名無しさん
2009/12/23(水) 14:20:09>>> 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']
というリストにしたいときはどうすればいいでしょうか?
0527デフォルトの名無しさん
2009/12/23(水) 14:24:46list(x)
0528デフォルトの名無しさん
2009/12/23(水) 14:32:46ありがとうございます
なんかオブジェクト指向っぽくないですね
0529デフォルトの名無しさん
2009/12/23(水) 14:42:070530デフォルトの名無しさん
2009/12/23(水) 14:43:15って話だから思いっきりオブジェクト指向だぜ。
なんでもメソッド主義ってわけじゃないのは確かだが。
0531デフォルトの名無しさん
2009/12/23(水) 14:48:16>>> x
['a', 'b', 'c', 'd']
0532デフォルトの名無しさん
2009/12/23(水) 14:49:570533デフォルトの名無しさん
2009/12/23(水) 14:50:12len(x)
4
これはlenオブジェクトのコンストラクタにカウンタブルなオブジェクトを入れたんですね
わかります
0534デフォルトの名無しさん
2009/12/23(水) 14:50:38引っかかった漏れ乙
0535デフォルトの名無しさん
2009/12/23(水) 14:53:38>>> x=[]
>>> x[:]='abcd'
>>> x
['a', 'b', 'c', 'd']
スマソ
0536デフォルトの名無しさん
2009/12/23(水) 14:55:34lenはオブジェクトじゃねえよw
0537デフォルトの名無しさん
2009/12/23(水) 14:58:02オブジェクト指向に毒されてる人を皮肉ったんだろう
というか>>535が動いて悔しい
リファレンス読んでくる
0538デフォルトの名無しさん
2009/12/23(水) 14:58:48def 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 &'
0539538
2009/12/23(水) 15:04:17Traceback (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'
0540デフォルトの名無しさん
2009/12/23(水) 15:04:56>>536 は結局 x[:]=list('abcd') ってことでは?
perl っぽいが
0541デフォルトの名無しさん
2009/12/23(水) 15:18:300542デフォルトの名無しさん
2009/12/23(水) 15:19:110543デフォルトの名無しさん
2009/12/23(水) 15:52:50http://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.
に違反してエラーになりそうな気がするんだけど、そうはならない
気味悪いから誰か説明してくださいお願いします
0544デフォルトの名無しさん
2009/12/23(水) 16:08:090545544
2009/12/23(水) 16:16:02リストのスライシングの代入文では、右辺にイテレータブルなオブジェクトをとる。
>>> x = []
>>> x[:] = {1: 'a', 2: 'b'}
>>> x
[1, 2]
0546デフォルトの名無しさん
2009/12/23(水) 16:16:38>>> 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 http://www.cwi.nl) in the Netherlands\n']
本当だ。見なかったことにしよう
0547544
2009/12/23(水) 16:25:02ストリングを一文字ずつリストに入れるには list('abcd') が一番いいと思うよ。
0548デフォルトの名無しさん
2009/12/23(水) 16:30:52[x for x in 'abcd']
どうみたって1文字ずつ分解してる
0549デフォルトの名無しさん
2009/12/23(水) 18:00:290550デフォルトの名無しさん
2009/12/23(水) 18:06:20信じる → 信じない
よしこれで俺のPythonは清いままだ
0551デフォルトの名無しさん
2009/12/23(水) 18:42:50>>> y=[0,2,4,6,8]
>>> y[1:4] = x
>>> y
[0, 1, 2, 3, 8]
これでエラーが出て欲しいと申すか
0552デフォルトの名無しさん
2009/12/23(水) 18:44:32from __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))
0553デフォルトの名無しさん
2009/12/23(水) 23:14:04標準入力から入力されたパスを調べて、
1.実在するディレクトリだったらそのディレクトリとサブディレクトリの中のファイルのフルパスの一覧を標準出力に出力する。
2.実在するファイルだったらそのフルパスを標準出力に出力する。
3.実在しないパスだったらエラーを標準出力に出力する。
こんなPythonスクリプトをどなたか書いて下さいませんか?
0554デフォルトの名無しさん
2009/12/23(水) 23:44:25http://pc12.2ch.net/test/read.cgi/tech/1258320456/
0555デフォルトの名無しさん
2009/12/23(水) 23:56:58ありがとうございます。
行ってきます。
0556デフォルトの名無しさん
2009/12/24(木) 06:44:33めっそうもございません
お許しください
メモ
>>> a = [0, 1, 2]
>>> a[1:2] = 'abcde'
>>> a
[0, 'a', 'b', 'c', 'd', 'e', 2]
0557デフォルトの名無しさん
2009/12/24(木) 12:05:1740thアニバーサリーBOX買っとけばいいのか?
0558デフォルトの名無しさん
2009/12/24(木) 14:28:390559デフォルトの名無しさん
2009/12/24(木) 16:55:540560デフォルトの名無しさん
2009/12/25(金) 20:24:260561デフォルトの名無しさん
2009/12/26(土) 14:54:36a[len(a)]
や
a[len(a):]
を参照したり、代入したらエラーになりますか?
それともC系みたいに未定義の動作になりますか?
0562デフォルトの名無しさん
2009/12/26(土) 14:57:37全く問題ない
Cで未定義だというのも引っかかるものがあるんだが・・・・
未定義になる例を書いてCスレで一度質問した方がいいぞ
0563デフォルトの名無しさん
2009/12/26(土) 14:58:41忘れて下さい
0564デフォルトの名無しさん
2009/12/26(土) 15:09:24>>> 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あたりでやってるからそっち読んでね
0565561
2009/12/26(土) 17:11:26ありがとうございます。
> >>> 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]
はびっくりしました。
こういう仕様なんですね。
0566デフォルトの名無しさん
2009/12/27(日) 13:53:10python で imap でメールを読んだものを html に出力すると
ヘッダ中のメールアドレスなどが <[email protected]> になっている部分だけが
表示されません
たぶん <〜> で囲まれた部分が html のタグだとブラウザが解釈してしまうからだと思うのですが
python でこれを escape するにはどうするのが一般的でしょうか?
0567デフォルトの名無しさん
2009/12/27(日) 13:58:45str.replace
str.translate
cgi.escape
xml.sax.saxutils.escape
0568デフォルトの名無しさん
2009/12/27(日) 16:42:2419950631168807583848837421626835850838234968318861924548520089498529438830221946
63191996168403619459789933112942320912427155649134941378111759378593209632395785
とても長いので中略
70029097668650568557157505516727518899194129711337690149916181315171544007728650
57318955745092033018530484711381831540732405331903846208403642176370391155063978
90007428536721962809034779745333204683687958685802379522186291200807428195513179
48157624448298518461509704888027274721574688131594750409732115080498190455803416
826949787141316063210686391511681774304792596709376L
と表示されました。
2も10も4も普通の整数型だと思うのですが、
演算結果が自動的にlongな整数になっています。
これはどうしてでしょうか?
オーバーフローしそうになったら自動的にこうしてくれるのでしょうか?
0569デフォルトの名無しさん
2009/12/27(日) 16:47:230570デフォルトの名無しさん
2009/12/27(日) 16:48:01ありがとうございます。
あと、
# coding: shift-jis
って書いてあるプログラムを見かけるのですが、
これはShift-JISで書いている場合は常に付けた方がよいものでしょうか?
0571デフォルトの名無しさん
2009/12/27(日) 16:55:11u'そうですね'
をつねに使ってるなら無意味
'そうですね'
とかやってるなら書いといた方がいい
0572デフォルトの名無しさん
2009/12/27(日) 16:57:432.x系はデフォルトエンコーディングがASCIIなので、ソースコードに非ASCIIな文字を使ってるなら付ける必要あり。
>>571はダウト
0573デフォルトの名無しさん
2009/12/27(日) 16:57:48なるほど。
お世話になり、ありがとうございました。
0574デフォルトの名無しさん
2009/12/27(日) 16:58:47# coding: shift-jis
の記述じゃデフォルトエンコーディングはかわんねーだろ
0575デフォルトの名無しさん
2009/12/27(日) 16:59:01自分が常にこれからもShift-JISで書き続けるとして、
# coding: shift-jis
と付けている分には悪いことはありませんか?
0576デフォルトの名無しさん
2009/12/27(日) 17:04:47ソースコードのデフォルトエンコーディング。という意味でした。
0577デフォルトの名無しさん
2009/12/27(日) 17:19:29付けると改行されず、付けないと改行される、でよろしいですか?
0578デフォルトの名無しさん
2009/12/27(日) 17:21:19はい。リファレンスマニュアルのprint文の箇所も参照してね。
0579デフォルトの名無しさん
2009/12/27(日) 17:27:25ありがとうございます。
print 文がカンマで終了していない限り、末尾には文字 "\n" が書き出されます。この仕様は、文に予約語 print がある場合のみの動作です。
0580デフォルトの名無しさん
2009/12/27(日) 17:33:073.0からは関数になります。
0581デフォルトの名無しさん
2009/12/27(日) 17:34:08と
from math import *
とでは、
伝統や文化的な理由で
どちらが推奨されるとかありますか?
0582デフォルトの名無しさん
2009/12/27(日) 17:55:00一般的には前者推奨。
後者は小規模スクリプトかインタラクティブシェルで使うぐらい。
0583デフォルトの名無しさん
2009/12/27(日) 18:09:16ありがとうございます。
0584デフォルトの名無しさん
2009/12/27(日) 21:26:49〜.py(ttp://codepad.org/tXDoThvC)をダブルクリックした場合
これを実行すると、コマンドプロンプトが一瞬で閉じてしまいます。
(コマンドラインからpython 〜.pyとする文には大丈夫ですが。)
最後に何かキー入力を受けるまで画面を閉じないようにする
1文などありませんでしょうか?
0585デフォルトの名無しさん
2009/12/27(日) 21:28:32os.system('pause')
0586デフォルトの名無しさん
2009/12/27(日) 21:44:31ありがとうございます!
まさにこれがしたかったです。
0587デフォルトの名無しさん
2009/12/27(日) 21:48:30ttp://codepad.org/6ggvcFhC
が
Python 2.6.4で、エラーになります。
エラーメッセージは
ttp://codepad.org/3o9Vqzu4
です。
どうしてでしょうか。。。
0588デフォルトの名無しさん
2009/12/27(日) 22:20:43同じディレクトリに random.py があるんじゃね?
0589デフォルトの名無しさん
2009/12/27(日) 22:48:06それでした。
どうもありがとうございます。
0590デフォルトの名無しさん
2009/12/27(日) 23:21:37b=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は基本的には参照を渡すのか、コピーを渡すのか、
どっちが多いですか?
0591デフォルトの名無しさん
2009/12/27(日) 23:34:32まず、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 な型なら、+ 演算子で新しいオブジェクトを作らずに既存のオブジェクトを使いまわすのもアリ
0592>590 >505
2009/12/27(日) 23:39:21あー、なるほど!
非常に分かりやすい解説ありがとうございます。
どうにもC++で型宣言を意識していたため、よく分かっておりませんでした、
ありがとうございました。
0593デフォルトの名無しさん
2009/12/28(月) 08:08:060594デフォルトの名無しさん
2009/12/28(月) 10:17:58この挙動も
> この不自然な結果は、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つだということですか?
0595デフォルトの名無しさん
2009/12/28(月) 10:22:35[t] * 3 は [t, t, t] という新しいリストを作る
0 は immutable だから、同じオブジェクトの参照がたくさんあっても問題にならないけど、
リストは mutable だから、同じオブジェクトの参照がたくさんあると、一つを書き換えると他からの
参照にも影響を与える。
0596デフォルトの名無しさん
2009/12/28(月) 10:44:34ありがとうございます。
ttp://codepad.org/KWHJEbWb
これでxの値を7から-5に変更したら、
tは[x, x, x]で
aは[t, t, t]なので
t, aが共に変更されるのではないかと思うのですが、
実際は変更されません。
これは何故でしょうか。
0597デフォルトの名無しさん
2009/12/28(月) 11:15:04これで納得してくれるかは怪しいけど
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 では成立する
0598デフォルトの名無しさん
2009/12/28(月) 11:29:24リストはオブジェクトへの参照のリスト。
他の言語で参照というと変数への参照の場合があるけど、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 のまま。
0599591=595=598
2009/12/28(月) 11:46:52ベースとなる言語があれば、その言語で言えばどういう意味か説明に使える。
>>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に影響ないのが判ると思う。
0600599
2009/12/28(月) 11:52:55JavaはPythonのオブジェクトを説明するのには向いているけど、
ここ5年以上マトモに使えてないので、文法エラーやメソッドのミスには目をつぶってくれ。
ちなみに、Pythonのオブジェクトを説明するのにJavaが向いている理由は、
整数と文字列がimmutableだから。
x = 7
y = 7
で x is y の結果が言語で規定されていない理由は、
Integer x = Integer.valueOf(7);
Integer y = Integer.valueOf(7);
x == y の結果が言語で規定されていない理由と同じ。
0601590
2009/12/28(月) 11:54:47私はC++プログラマです。
そのため変数の型宣言がないPythonを学び、
ところどころで困惑してお世話になっております。
とても長くなったため私の現在の認識を自分でながめるために書き出してみました。
ttp://codepad.org/MJaNWykh
Javaの経験はありませんが、ご教示いただいたJavaコードはC++な見方で
推測して拝見しました。
そことのアナロジーで解釈しても
この1.〜3.の解釈は正しいと思うのですが、
そうだとしますと
4.でt, aが変更される理由がまた分からなくなります。
どうして4.だけ変更されるのでしょうか?
0602600=methane
2009/12/28(月) 12:12:25C++には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 の両方が影響を受ける。
0603methane
2009/12/28(月) 12:21:08new やその他の手段でヒープ上に取られるという理解をすると良いと思う。
「参照」と呼んでいるのは全部ポインタのことで、
int a = 3;
int &x = a;
int *y = &a;
でいうところの a のような、変数と値が完全に束縛された存在が無い。
あとは、
a[0][0] = -5 がリスト「オブジェクトに対する変更」なのにたいして、
t = -5 がオブジェクトは全く変更されず、「ポインタ変数が別のアドレスを指すようになる」
という違いを把握できれば、一気に壁を突破できるはず。
0605590
2009/12/28(月) 12:45:510606methane
2009/12/28(月) 12:52:35コード上に出てきた変数名と密結合しているオブジェクトが存在しないという意味であれば、すべて無名ですね。
def foo(): pass
bar = foo
del foo
したら、foo()できなくてbar()できるし、 class もモジュールもパッケージも、名前とオブジェクトの関係は全部同じです。
0607590
2009/12/28(月) 13:10:02つまり
ttp://uproda.2ch-library.com/lib200590.zip.shtml
こんなことになっているんですね。
(Wordファイルをzipで圧縮したもので
DLキーはpythonです。)
この理解でよろしいでしょうか?
0609590
2009/12/28(月) 13:35:525.番は
t[0]=−5
以外は4.と相違点ありません。
a[0][0]=-5とt[0]=−5が等価であるという事を言いたかった図です。
どうでしょうか。
0610デフォルトの名無しさん
2009/12/28(月) 13:37:570611methane
2009/12/28(月) 13:42:55あぁ、4からコピーした後編集するの忘れてると勘違いしてました。
a[0][0] と t[0] は等価で図は完全一致で正解です。
図だと判りやすいですね。
0612デフォルトの名無しさん
2009/12/28(月) 13:44:10a=[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
0614590
2009/12/28(月) 13:50:02今となっては>>590の挙動についても納得しました。
aとbが同一の値(リスト)を指しているので、
ttp://codepad.org/btaagIKq
こんな挙動になるわけですね。
0615デフォルトの名無しさん
2009/12/28(月) 14:03:430616デフォルトの名無しさん
2009/12/28(月) 18:57:49ttp://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文は何を意味するのですか?
0617デフォルトの名無しさん
2009/12/28(月) 19:07:03それ自身単独で実行されたときの動作を区別出来る
テストケース書くなり実行コードにするなり
0618デフォルトの名無しさん
2009/12/28(月) 19:11:29おお、
なるほど。
ありがとうございました。
0619デフォルトの名無しさん
2009/12/28(月) 23:14:44御礼言われたら照れるなあ
0620デフォルトの名無しさん
2009/12/29(火) 01:40:070621デフォルトの名無しさん
2009/12/29(火) 11:06:550622デフォルトの名無しさん
2009/12/29(火) 11:08:590623デフォルトの名無しさん
2009/12/29(火) 23:22:190624デフォルトの名無しさん
2009/12/30(水) 11:02:470625デフォルトの名無しさん
2009/12/31(木) 15:48:43来年は初心者スレから卒業したい。
0626デフォルトの名無しさん
2010/01/01(金) 00:27:24手元の習熟メモを見ると、学んでみようと思い立ったのは2006年らしいのに、
まだまださっぱりだぜ俺…
0627デフォルトの名無しさん
2010/01/01(金) 20:58:54ある文字列が正規表現として文法的に正しいかどうかを調べる
機能があれば教えていただけますでしょうか?
0628デフォルトの名無しさん
2010/01/01(金) 21:20:020629デフォルトの名無しさん
2010/01/01(金) 21:44:39なるほど。
ありがとうございます。
0630デフォルトの名無しさん
2010/01/05(火) 16:50:582.6と3.0と3.1とバージョンがありますが、3.x系は不評であると聞いております
互換性を気にしないのであれば3.x系から始めても問題ないでしょうか?
0631デフォルトの名無しさん
2010/01/05(火) 16:59:150632デフォルトの名無しさん
2010/01/05(火) 16:59:460633デフォルトの名無しさん
2010/01/05(火) 17:11:44PHP4みたいになると困るので3.1から始めたいと思います
英語のドキュメント読みながらやってみます
0634デフォルトの名無しさん
2010/01/05(火) 17:38:100635デフォルトの名無しさん
2010/01/05(火) 17:42:510636デフォルトの名無しさん
2010/01/08(金) 22:00:500637デフォルトの名無しさん
2010/01/08(金) 23:15:510638デフォルトの名無しさん
2010/01/08(金) 23:30:470639デフォルトの名無しさん
2010/01/10(日) 04:47:010640デフォルトの名無しさん
2010/01/10(日) 05:13:40言語コアのみなら無問題
0641デフォルトの名無しさん
2010/01/10(日) 13:57:23以下の線の中の4行が表示されてしまいました
------------------------
File "stdin>", line 1
print "hello world"
^
SyntaxError: invalid syntax
------------------------
どなたか解決方法をご教授お願い致します
0642641
2010/01/10(日) 13:58:45print ("hello world")って書かないとダメだったんですね
0643デフォルトの名無しさん
2010/01/10(日) 14:11:100644デフォルトの名無しさん
2010/01/10(日) 14:14:03中学生か?
0645デフォルトの名無しさん
2010/01/10(日) 14:21:300646デフォルトの名無しさん
2010/01/10(日) 14:41:41英語もろくに読めないおっさんにならないように
中学校ではちゃんと英語勉強しろよ
0647デフォルトの名無しさん
2010/01/10(日) 14:49:37空気も読めるようになった方がいいな
0648デフォルトの名無しさん
2010/01/10(日) 14:52:18いやそれは自分に言えよww
足りない頭で良く読め。
>>646の書き方はわざわざ嫌みをつけた
書き方をしているうだろ?
つまり分かってやっていることだってのが何で分からないの?
0649デフォルトの名無しさん
2010/01/10(日) 14:55:31いやそれは自分に言えよww
足りない頭で良く読め。
>>647の書き方はわざわざ嫌みをつけた
書き方をしているうだろ?
つまり分かってやっていることだってのが何で分からないの?
0650デフォルトの名無しさん
2010/01/10(日) 16:14:460651デフォルトの名無しさん
2010/01/10(日) 16:27:12ここプログラム板
英語の板じゃないよ
0652デフォルトの名無しさん
2010/01/10(日) 16:38:29だから何?
python3の日本語ドキュメントはあるの?
ないなら、英語で読むしかないじゃん
馬鹿か?
0653デフォルトの名無しさん
2010/01/10(日) 16:39:100654デフォルトの名無しさん
2010/01/10(日) 16:42:39>>650に答えろ
0655デフォルトの名無しさん
2010/01/10(日) 16:45:190656デフォルトの名無しさん
2010/01/10(日) 16:46:10書き込む所間違えてるよ
君が書き込むべき板は厨房板だと思うよ
0657デフォルトの名無しさん
2010/01/10(日) 16:47:45所詮P言語ユーザーなんてこんなレベルかwww
0659デフォルトの名無しさん
2010/01/10(日) 16:53:470660デフォルトの名無しさん
2010/01/10(日) 17:00:460661デフォルトの名無しさん
2010/01/10(日) 17:03:59まだ翻訳されてません
0662デフォルトの名無しさん
2010/01/10(日) 17:13:20嫌味なやつだけど正論だろ
英語が読めないといろいろ苦労をする
暇な学生時代にもっと勉強しとけばよかった・・・
0663デフォルトの名無しさん
2010/01/10(日) 17:15:23板違い
0664デフォルトの名無しさん
2010/01/10(日) 17:21:56無理してPythonなんてやってないでみんなRubyにおいで
0665デフォルトの名無しさん
2010/01/10(日) 17:24:16Rubyには有るんですか?
0666デフォルトの名無しさん
2010/01/10(日) 17:39:39日本語で
0667デフォルトの名無しさん
2010/01/10(日) 17:58:390668デフォルトの名無しさん
2010/01/10(日) 18:16:430669デフォルトの名無しさん
2010/01/10(日) 18:20:390670デフォルトの名無しさん
2010/01/10(日) 18:21:22英語日本語以前に、空気読めない人間はPythonに向いてないと思う。
特定の誰かに対した嫌みではなく。
0671デフォルトの名無しさん
2010/01/10(日) 18:42:34差別発言?どこに?
>>669のことか?
0672デフォルトの名無しさん
2010/01/10(日) 18:47:350673デフォルトの名無しさん
2010/01/10(日) 19:43:22くだスレが本当にくだらないスレになってる。
0674デフォルトの名無しさん
2010/01/10(日) 19:55:20'救いようのないスレ'ではない。
0676デフォルトの名無しさん
2010/01/10(日) 20:00:19変数strに文字列が代入されている状態で、
Windows XPのコマンドラインを実行することはできませんか?
C言語だと
system(str);
って言うやつが相当します。
0677デフォルトの名無しさん
2010/01/10(日) 20:08:24os.system(s)
0678デフォルトの名無しさん
2010/01/10(日) 20:09:030679676
2010/01/10(日) 20:35:33strを避けるべきとは知りませんでした。
ありがとうございます。
もう一つ、Windows XP + Python2.6上で。
3つの文字列str1, str2, str3があるとき、
あるプログラムX上から
os.system(str1)
os.system(str2)
os.system(str3)
これらを同時に実行し、3つとも終わったら
Xを終了する
といったことは実現可能でしょうか?
実現するとしたら、どうすればできますでしょうか?
よろしくお願いします。
0680デフォルトの名無しさん
2010/01/10(日) 20:41:280681デフォルトの名無しさん
2010/01/10(日) 20:48:02subprocessモジュールを使う
ただし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()
0682679
2010/01/10(日) 20:57:46ありがとうございます。
教えを頼りに頑張って見ます。
0683デフォルトの名無しさん
2010/01/10(日) 21:05:00ちなみに教えていただいたそのコード
のライセンスはどうすれば宜しいでしょうか?
0684デフォルトの名無しさん
2010/01/10(日) 21:06:18ライセンスかw
どうでもいいので好きに汁
0685デフォルトの名無しさん
2010/01/10(日) 21:07:542chに書き込んだら2chの物になる
0686デフォルトの名無しさん
2010/01/10(日) 21:50:06プログラムのソースコードを2chに書き込んだ場合、
そのライセンスは厳密にはどうなるんだろう?
・・・ってのはどこで聞けばいいかな?
0687デフォルトの名無しさん
2010/01/10(日) 21:55:430688デフォルトの名無しさん
2010/01/10(日) 22:30:32ttp://diveintopython3-ja.rdy.jp/
ただし未完成らしい。
0689デフォルトの名無しさん
2010/01/10(日) 22:33:04ありがとうございます
0690デフォルトの名無しさん
2010/01/10(日) 22:43:41> ・投稿者は、投稿に関して発生する責任が全て投稿者に帰すことを承諾します。
> ・投稿者は、話題と無関係な広告の投稿に関して、相応の費用を支払うことを承諾します
> ・投稿者は、投稿された内容及びこれに含まれる知的財産権、(著作権法第21条ないし
> 第28条に規定される権利も含む)その他の権利につき(第三者に対して再許諾する権利
> を含みます。)、掲示板運営者に対し、無償で譲渡することを承諾します。
> ただし、投稿が別に定める削除ガイドラインに該当する場合、投稿に関する知的財産権
> その他の権利、義務は一定期間投稿者に留保されます。
> ・掲示板運営者は、投稿者に対して日本国内外において無償で非独占的に複製、公衆送信
> 、頒布及び翻訳する権利を投稿者に許諾します。また、投稿者は掲示板運営者が指定する
> 第三者に対して、一切の権利(第三者に対して再許諾する権利を含みます)
> を許諾しないことを承諾します。
> ・投稿者は、掲示板運営者あるいはその指定する者に対して、著作者人格権を一切行使しないことを承諾します。
一方、2ちゃんねるのトップページには
> 2ちゃんねるのデータの利用に関して、原則的に自由ですが、
> 2ちゃんねるのデータ自体を利用して対価を取る行為はご遠慮下さい。
> 要するに、2ちゃんねるをモニターして、お金をとってる
> マーケティング会社の方はご相談頂けないと面倒なことになるかもしれません、、、ってことです。
ということで、例えば>>681が書いたソースコードの著作権は
>>681ではなく2chにあることになる。
また利用者は対価を取らない限り>>681の意志・意向を無視して勝手にそのソースコードを使っても良いことになる、
0691デフォルトの名無しさん
2010/01/10(日) 22:48:54それマニュアルじゃないだろ(ww
0692デフォルトの名無しさん
2010/01/10(日) 22:52:06てか>>681に著作権は発生しているのかい
0693690
2010/01/10(日) 22:54:49どんなに短いソースコードでも、
いやソースコードですらなくコメントでも
発生しているよ。
しかも日本では著作権が発生することを拒否できないし、
著作権を放棄できない。
0694デフォルトの名無しさん
2010/01/10(日) 22:56:18ちなみに君のその短い1文にすら著作権は発生しているよ。
ただし書き込んだ瞬間からその著作権の大半が2chのものになっているけど。
0695デフォルトの名無しさん
2010/01/10(日) 22:59:10デマ乙
naoシフトを思い出すわ
0696デフォルトの名無しさん
2010/01/10(日) 22:59:36そんなDQNめいたことが法廷であったのか!
実際にあるのなら大問題になるから判例挙げてくれ
もちろん根拠となる条文もね
0697デフォルトの名無しさん
2010/01/10(日) 23:00:460698デフォルトの名無しさん
2010/01/10(日) 23:01:07690先生の言うとおりだとこれも著作権になるわなwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
ひーーーーーーーーーーハーーーーーーーーーーーーーーーwwwwwwwwwwwwwwwwwwwwwwwwwww
0700デフォルトの名無しさん
2010/01/10(日) 23:05:08ママのオッパイ吸って寝ろ。
0701693
2010/01/10(日) 23:07:26ただ法廷でそれを盾にして戦えるかどうかといえばまあ無理だろうがね。
0702デフォルトの名無しさん
2010/01/10(日) 23:10:30>>698
wの数で低能力者の程度が知れると言うが、そのとおりだな。
> print ("Hello World")
うん。発生するよ。
もう2chに書いちゃった後だからもうお前には著作権はないけど、
もし書く前だったとすると、
俺が print ("Hello World") というコードを別の所に書いたら
お前が俺を訴えることも可能。
ただし俺は当然、そのコードは俺が作った!と言い張るから
その短さなら俺が勝つことにはなるが。
要するに立証できないだけ。
0703デフォルトの名無しさん
2010/01/10(日) 23:11:190704デフォルトの名無しさん
2010/01/10(日) 23:12:462chに書き込んだコードに著作権がないと言い張る奴には
オープンソースから足を洗って欲しいとも思う。
0705デフォルトの名無しさん
2010/01/10(日) 23:15:340706デフォルトの名無しさん
2010/01/10(日) 23:16:570707デフォルトの名無しさん
2010/01/10(日) 23:19:06君のソースコード、とても人気があるぞ。
0708デフォルトの名無しさん
2010/01/10(日) 23:23:17あらゆる情報伝達が阻害されるな
常識の無い奴は法律かじらないで欲しいわ
0709デフォルトの名無しさん
2010/01/11(月) 00:15:59>>681だがびっくりした
要するに皆暇なんだなw
0710デフォルトの名無しさん
2010/01/11(月) 00:16:420711デフォルトの名無しさん
2010/01/11(月) 00:18:330712デフォルトの名無しさん
2010/01/11(月) 00:36:07低能乙w
もしそれができるんなら
総当たりで文字列を生成して
自身のブログで公開すれば全て自分が著作権を握れてウマー
不可能だろ。バカじゃねぇの?お前。
0713デフォルトの名無しさん
2010/01/11(月) 00:40:240714デフォルトの名無しさん
2010/01/11(月) 00:55:18たけしが言ってた。
0715デフォルトの名無しさん
2010/01/11(月) 01:29:52連休明けたら言われたとおり仕事探すんだぞ
0716デフォルトの名無しさん
2010/01/11(月) 03:09:25すぐ行動しろや。
0717デフォルトの名無しさん
2010/01/11(月) 03:25:580718デフォルトの名無しさん
2010/01/11(月) 10:02:19発生しねえよwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
お前naoシフト開発した池沼だろwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
0719デフォルトの名無しさん
2010/01/11(月) 10:09:21_, ._ 気持ちはわかるけど
( ・ω・) いくらなんでも生やしすぎだも
○={=}〇,
|:::::::::\, ', ´
、、、、し、、`(.@)wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
0720デフォルトの名無しさん
2010/01/11(月) 10:13:510721デフォルトの名無しさん
2010/01/11(月) 10:37:240722デフォルトの名無しさん
2010/01/11(月) 10:41:330723デフォルトの名無しさん
2010/01/11(月) 10:47:320724デフォルトの名無しさん
2010/01/11(月) 10:56:47すぐ逃げる癖をまず直さないと。
0725デフォルトの名無しさん
2010/01/11(月) 11:11:16無能が草を生やした所で
誰一人の役にも 立たないんだよwww
0726デフォルトの名無しさん
2010/01/11(月) 11:19:130727デフォルトの名無しさん
2010/01/11(月) 13:02:41>>726
むしろそれで発生しないという根拠をしめせ。
0728デフォルトの名無しさん
2010/01/11(月) 13:14:010729デフォルトの名無しさん
2010/01/11(月) 13:18:040730デフォルトの名無しさん
2010/01/11(月) 18:06:24これは誰の著作権か教えてください
0731デフォルトの名無しさん
2010/01/11(月) 18:11:150732デフォルトの名無しさん
2010/01/11(月) 18:15:030733デフォルトの名無しさん
2010/01/11(月) 18:16:370734デフォルトの名無しさん
2010/01/11(月) 18:39:46逆も然り。
0735デフォルトの名無しさん
2010/01/11(月) 19:36:29文句がある奴は、730の著作権が俺にないという根拠を示せよ。
0736デフォルトの名無しさん
2010/01/11(月) 19:48:560737デフォルトの名無しさん
2010/01/11(月) 20:29:48print("Hello Kitty")
print("こんにちは世界")
全部だれの著作権かよろ
0738デフォルトの名無しさん
2010/01/11(月) 20:31:350739デフォルトの名無しさん
2010/01/11(月) 20:35:45なんて生産的で有意義なんだろう!!
0740デフォルトの名無しさん
2010/01/11(月) 20:36:28ちょっとレッシグさんに聞いてくるわ
0741デフォルトの名無しさん
2010/01/11(月) 21:04:19737
0742デフォルトの名無しさん
2010/01/11(月) 23:46:03プログラム作ってる人なら常識だと思うんだけど
まあネタで騒いでるんだろうな、つられちった
0743デフォルトの名無しさん
2010/01/11(月) 23:52:49/ ヽ
>>690 ,/ ヽ
. ∧_∧ ,/ ヽ
( ´∀`) ,/ ヽ
( つ@ ヽ
.__ | | | ヽ
|――| (__)_) ヽ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| ヽ
/⌒\/⌒\/⌒\/⌒\|彡~゚ ゜~ ~。゜ ~ ~ ~ ~~ ~ ~~ ~ ~~ ~~ ~~
⌒\/⌒\/⌒\/⌒\/⌒\彡 〜 〜〜 〜〜 〜〜 〜 〜
│
│
│
人人人人人人人 ∧J∧
< > ( / ⌒ヽ
< 吊られちゃった > | | | >>○
< > ∪ / ノ
∨∨∨∨∨∨∨ | ||
∪∪ >>698達
0744デフォルトの名無しさん
2010/01/12(火) 00:02:33>>698達は覚悟のうえで釣られていったんだよ・・・
0745デフォルトの名無しさん
2010/01/12(火) 00:07:47∴∵∴∵:。∴∵∴∵∴: --─- ∴∵∴∵∴∵∴∵
∴∵゜∴∵∴∵∴∵ (___ )(___ ) >>698達 ∵。∴∵∵ ゜
∴∵∴∵∴:∵∴∵_ i/ = =ヽi ∴∵∴∵。∴∵∴
∴∵☆彡∴∵∵ //[|| 」 ||] ∴:∵∴∵∴∵:∴∵
∴∵∴∵∴∵ / ヘ | | ____,ヽ | | ∴:∵∴∵∴∵:∴∵
∴゚∴∵∴∵ /ヽ ノ ヽ__./ ∴∵∴∵:∴∵∴∵
∴∵∴∵ く / 三三三∠⌒> ∴:∵∴∵:∴∵
∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∵∴∵∴∵
∧∧ ∧∧ ∧∧ ∧∧
( )ゝ ( )ゝ( )ゝ( )ゝ 無茶しやがって・・・
i⌒ / i⌒ / i⌒ / i⌒ /
三 | 三 | 三 | 三 |
∪ ∪ ∪ ∪ ∪ ∪ ∪ ∪
三三 三三 三三 三三
0746デフォルトの名無しさん
2010/01/12(火) 02:51:38独創性の定義次第では、print("Hello World")にも著作権が発生するわけだが。
0747デフォルトの名無しさん
2010/01/12(火) 02:58:550748デフォルトの名無しさん
2010/01/12(火) 03:03:56なんだ、結局著作権発生するんじゃん
アンチは完全否定しろよ
くだらないAA張ってる場合じゃないぞ
0749デフォルトの名無しさん
2010/01/12(火) 03:06:11頑張れ。応援しているぞ。
0750デフォルトの名無しさん
2010/01/12(火) 06:39:11いつの間にか複数人vs複数人の争いになってきているな。
いいぞ、もっとやれ
0751デフォルトの名無しさん
2010/01/12(火) 08:14:140752デフォルトの名無しさん
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です
0753デフォルトの名無しさん
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の説明はそれであってる
エラーになるならなんてエラー表示されたのか貼って
0754デフォルトの名無しさん
2010/01/12(火) 09:07:17もう釣りはいいですよ
0755デフォルトの名無しさん
2010/01/12(火) 09:08:50['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'
>>>
0756デフォルトの名無しさん
2010/01/12(火) 09:11:54中学生とか高校生かあんたは
大人がそんなこと言ってるなら終わってるな
0757デフォルトの名無しさん
2010/01/12(火) 09:12:31質問北からもうやめれ
0758デフォルトの名無しさん
2010/01/12(火) 09:18:00おはようございます
こんばんは
おやすみなさい
これらも著作権が発生するんですね、笑えます
0759デフォルトの名無しさん
2010/01/12(火) 09:46:56人のことはいいから、自分の痛さに敏感な人生を送ろうぜ。
0760デフォルトの名無しさん
2010/01/12(火) 10:01:12>>> 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
と打ち込んでいます。何が悪いんでしょうか教えてくだしあ。
0761デフォルトの名無しさん
2010/01/12(火) 10:18:55> closest=distance(clust[0].vec,clust[1].vec)
のdistanceが関数名やクラス名等のcallableであることを期待してるんだろう
なのに辞書だから怒られてる
あと手打ちしなくてもオライリーからソースコード落とせるはずだよ
0762デフォルトの名無しさん
2010/01/12(火) 10:21:58すばらしいポエムだ、感動した!!!
著作権をください!!!
0763デフォルトの名無しさん
2010/01/12(火) 10:44:04ところでソースコードは
http://d.hatena.ne.jp/shohu33/20080811/1218456689
で書かれてるところから落とせたんでしょうか、404です…
まぁ打ち込むのも勉強と思えばいいんですが。
0764デフォルトの名無しさん
2010/01/12(火) 10:54:50英語版でよければ
ttp://examples.oreilly.com/9780596529321/
0765デフォルトの名無しさん
2010/01/12(火) 11:15:28おお、ありがとうやっぱり楽な方がいいやw
0766デフォルトの名無しさん
2010/01/12(火) 11:33:58ありがとうございます
後で張ります
待っててください
0767デフォルトの名無しさん
2010/01/12(火) 12:40:47ガキはスグ反応してくれるね、フイタ
0768デフォルトの名無しさん
2010/01/12(火) 13:33:53ttp://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
0769デフォルトの名無しさん
2010/01/12(火) 13:42:13んでネタとしては本スレ向きだからそっちに書き込んでくれ
0770デフォルトの名無しさん
2010/01/12(火) 14:44:24他の言語で言うところの「構造体」をエミュレートする場合
辞書とクラスのどちらがいいのでしょうか?
静的言語ならクラスにしとけばコンパイル時エラーになりますが
Pythonだとどちらも実行時エラーになりますし・・・
0771デフォルトの名無しさん
2010/01/12(火) 14:50:00だからいつも髪を切るときは包丁を使います。
0772デフォルトの名無しさん
2010/01/12(火) 14:54:19myUnionA1.var01 = 12 みたいなほうがやっぱり構造体っぽいんじゃないかな。
作り方や使い方にしても、「変数持ってるだけのクラス」でいいと思うし。
0773768
2010/01/12(火) 15:01:00本スレいくわ
>>770
3日目の俺が答えてやろう。
構造体 → タプル でおk
http://ja.wikipedia.org/wiki/%E3%82%BF%E3%83%97%E3%83%AB
0774デフォルトの名無しさん
2010/01/12(火) 15:05:12単にデータの集合体に名前でアクセスできればいいのなら辞書かクラス
そのうち使い捨てで構わないのなら辞書、そうでないのならクラス
Cの構造体のように順序も保持したいのならnamed tuple
それか配列かタプルをクラスでラップして名前でアクセス
コンパイル時/実行時は例がないとちょっとわかんない
0775752
2010/01/12(火) 15:27:29とやっても駄目だったので
の"が足りないところは気にしないでください
これがエラーの原因ではありません
もう一度自分で関数を定義したらできました
あと>>753さん
そんな記述の仕方もあるんですね
文字列フォーマットを使って指定した文字列を挿入する処理はこれから学ぶつもりですが、大変参考になります
コッチのほうが処理が解りやすいし短いですね
join()が何をするのかはわかってはいたんですけど、スペースを埋め込んで連結した文字を作るというのが
なかなかイメージが掴めなくて苦労してました
エラーは多分タイプミスのシンタックスエラーです
ありがとうございます
0776デフォルトの名無しさん
2010/01/12(火) 15:27:35どう書いても大差ないと思う
0777デフォルトの名無しさん
2010/01/12(火) 15:34:52" ".join(リスト) は、" ".glue(リスト) だったほうが分かりやすいと思うんだよな
スペース文字のjoinメソッドというか、スペース文字が糊になって接着するメソッド
0778デフォルトの名無しさん
2010/01/12(火) 17:23:500779デフォルトの名無しさん
2010/01/12(火) 20:59:530780デフォルトの名無しさん
2010/01/12(火) 21:13:04すでに定義されている関数を使うなら map、
y = map(func, x) # リストxの各要素に func を適用した結果のリストをyに代入する
専用に関数を定義するくらいなら 内包表記、
y = [z * 2 for z in x] # xの各要素に対して x * 2 した結果のリストを y に代入する
0781デフォルトの名無しさん
2010/01/12(火) 22:56:38ありがとうございます
0782770
2010/01/12(火) 23:52:40クラスの方が見た目的に他言語と共通してますしね
>>773
タプルはインデックスアクセスしか出来ないので・・・
>>774
>コンパイル時/実行時は例がないとちょっとわかんない
>>776さんの言ってることです。
>>776
やはりそうですか。
いろいろと意見ありがとうございました。
クラスを使えば構造体のメンバ一覧も明記できるので、辞書ではなくクラスを使うようにします。
0783デフォルトの名無しさん
2010/01/13(水) 00:41:54既出だが、 Python 2.6 以上なら namedtuple がある。
namedtuple だと作成と同時に値が固定されてしまうけどね。
0784760
2010/01/13(水) 04:41:01p259の
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以外が混ざってるっぽいエラーがでてたので、
そのフィードもコメントアウトしてデンドログラムは描画できました。
他にどこを確認すればいいでしょうか?
0785760
2010/01/13(水) 08:33:26h=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が多すぎるのがいけないのかもしれませんが、
解こうとしている問題の性格上変えようがありません。どうにかならないでしょうか?
0786デフォルトの名無しさん
2010/01/13(水) 09:31:01どっかでsqrtに負数を突っ込んでないか?
0787デフォルトの名無しさん
2010/01/13(水) 18:24:53レスありがとうございます。>>764さんのURLから落とせる
nmf.pyを使っているだけなのですが、sqrtは見た目にはありません。
NumPyというパッケージを使っているのですが、それが問題でしょうか?
「集合知プログラミング」以外pythonの本は持ってなくてデバッグの
やり方とかも分かりません。Windows XP SP2 pythonのバージョンは2.6.4ですが、
なにかいい方法ありますでしょうか?
0788デフォルトの名無しさん
2010/01/13(水) 18:37:58簡単なツールでも作りたいな
なにかお題を出してくれる人いないっすか?
もち回答とだめだし希望
0789デフォルトの名無しさん
2010/01/13(水) 23:05:30Editraの日本語入力を修正するパッチを作ってください
0790デフォルトの名無しさん
2010/01/13(水) 23:06:53RDB(MS)
SQL文で管理するコレクション型みたいなもの(SQLiteみたいな)
理由>俺が欲しい。わりとマジで
0791デフォルトの名無しさん
2010/01/13(水) 23:13:09ttp://pc12.2ch.net/test/read.cgi/tech/1258320456
ここに行ってみれば?
きっと喜ぶよ。
0792デフォルトの名無しさん
2010/01/14(木) 00:34:45にもレスくだしあ;;
0793デフォルトの名無しさん
2010/01/14(木) 00:58:35ふ、ふりぃおのどらいばを・・・
0794デフォルトの名無しさん
2010/01/14(木) 01:05:240795デフォルトの名無しさん
2010/01/14(木) 10:59:43Editraはネタじゃないです
0796デフォルトの名無しさん
2010/01/14(木) 18:33:12解答はしらないけど、
2つのディレクトリのパスを受け取って、
フォルダ構成やら中身のファイルやらが完全に一致しているかを
調べるPythonScript作ってください。
0797デフォルトの名無しさん
2010/01/14(木) 19:00:21import sys
d = dircmp(sys.argv[1], sys.argv[2])
d.report()
0798デフォルトの名無しさん
2010/01/14(木) 19:32:27>〜.py aaa aaa
diff aaa aaa
って
0799760
2010/01/14(木) 19:35:220801798
2010/01/14(木) 19:59:10>dircmp.py aaa bbb
diff aaa bbb
Only in aaa : 〜
Only in bbb : 〜
Identical files : 〜
Differing files : 〜
とかの詳細って表示されないってことを今 分かりました。
これで、全部が全く等しい時に
ディレクトリとして等しいよ!って表示してくれる機能はありませんでしょうか。
0802デフォルトの名無しさん
2010/01/14(木) 20:05:01そんなのあるんだ
でもファイルの中身がちょっとだけ違ってて
サイズと日時が同じだったりしたらどうなんだろ
0803デフォルトの名無しさん
2010/01/14(木) 20:08:19ディレクトリ(サブディレクトリ含)単位でhash値出すとか?
0804デフォルトの名無しさん
2010/01/14(木) 20:10:40ファイルのhashは計算できるのですが、
ディレクトリのhashって計算できますか?
0806デフォルトの名無しさん
2010/01/14(木) 20:45:05それだと日時を見てるのか1バイトで引っかかったのか分からんがな
0807デフォルトの名無しさん
2010/01/14(木) 20:46:190808デフォルトの名無しさん
2010/01/15(金) 00:07:57{'a' : 10, 'b' : 20}を生成するみたいな方法ってありませんか?
0809デフォルトの名無しさん
2010/01/15(金) 00:11:300810760
2010/01/15(金) 05:55:200811デフォルトの名無しさん
2010/01/15(金) 06:23:260812デフォルトの名無しさん
2010/01/15(金) 08:35:58ありがとう
0813デフォルトの名無しさん
2010/01/15(金) 12:48:24Fatal Python error: Py_Initialize: can't initialize sys standard streams
ImportError: No module named encodings.utf_8
とかいわれて機動出来ない。
どうすればいいか教えて!
0814デフォルトの名無しさん
2010/01/15(金) 16:14:00numpy使ってる人少ないんだよな。
matplotlibスレのやつなら知ってるかもしれない。
0816デフォルトの名無しさん
2010/01/15(金) 22:52:19for c in s:
としてフラグを使い2文字たまったら処理していくようにする
StringIOとread(2)を使う
re.splitで2文字の文字列のリストにしてfor文に突っ込む
がとりあえず思いつきました
0817デフォルトの名無しさん
2010/01/15(金) 23:04:270818デフォルトの名無しさん
2010/01/15(金) 23:25:490819デフォルトの名無しさん
2010/01/15(金) 23:26:35for c1, c2 in zip(it, it)
0820デフォルトの名無しさん
2010/01/16(土) 00:29:02とすると、s[x], s[x+1]で取り出せる。
0821デフォルトの名無しさん
2010/01/16(土) 00:32:36c1, c2 = s[i*2], s[i*2 + 1]
0822デフォルトの名無しさん
2010/01/16(土) 00:33:450823デフォルトの名無しさん
2010/01/16(土) 00:35:56質問の条件には何も言われてないから
未定義で医院ジャマイカ
0824デフォルトの名無しさん
2010/01/16(土) 00:44:16たしかsが奇数のときは
>>817は最後の文字を無視
>>818が最後の文字とNoneのペアを作る、だったかと。
0825デフォルトの名無しさん
2010/01/16(土) 00:48:04>>820, >>821は例外だな。
0826デフォルトの名無しさん
2010/01/16(土) 00:48:33いろいろ方法があるんですね
参考になりました
>>820が私的に直感的なのでこれにしておこうと思います
文字列は偶数が保証されていたのでその点も問題無かったので
0827デフォルトの名無しさん
2010/01/16(土) 00:53:00例外が出て嵌ると
0828デフォルトの名無しさん
2010/01/16(土) 00:53:590829デフォルトの名無しさん
2010/01/16(土) 02:14:39これいいね
>>> 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')]
しかし短くしようとするとどんどん直感的じゃなくなるんだよな
0830デフォルトの名無しさん
2010/01/16(土) 02:27:31遊びでやるのは別かもしれんが
0831デフォルトの名無しさん
2010/01/16(土) 11:53:08> 直感性を切ってまで短くするのはPython的じゃないね。
それは同意。
短いor早いのが好きならC/C++を使えと。
0832デフォルトの名無しさん
2010/01/16(土) 13:33:21仲間にしますか?[Y/N]
0833デフォルトの名無しさん
2010/01/16(土) 16:47:370834デフォルトの名無しさん
2010/01/19(火) 01:22:05# 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を何度も使用してインスタンス生成しています
結果は予想を反して正常に動作をするんですが
こういう使い方をして問題とかは無いのでしょうか?
0835デフォルトの名無しさん
2010/01/19(火) 01:26:450836デフォルトの名無しさん
2010/01/19(火) 01:31:310837デフォルトの名無しさん
2010/01/19(火) 01:33:02そうなんですか?
できればなぜ問題ないのか、
解説か説明しているサイトへ誘導してもらえないでしょうか?
調べ方が悪いのかググっても
見つからないのでおねがいします
0838デフォルトの名無しさん
2010/01/19(火) 01:54:36ヒント: gbkr
0839デフォルトの名無しさん
2010/01/19(火) 02:16:24あれからデストラクタを使って、インスタンスが廃棄されるタイミングを調べたらシックリすることができました。
同じ変数にインスタンス生成しても、重複したインスタンスはループを抜けると自動的に消滅して最後に生成した
インスタンスだけが残ることがわかりました。
(ただしループ内で実効した処理がループを抜けた後も残っている場合は、処理が終了するまで廃棄しない)
#!/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
すみません。ヒントの意味が分かりません
レスに答えてくれてどうもありがとうございました
0840デフォルトの名無しさん
2010/01/19(火) 02:26:56>(ただしループ内で実効した処理がループを抜けた後も残っている場合は、処理が終了するまで廃棄しない)
これはスレッドを使用したときだけのようですね
失礼しました
0841デフォルトの名無しさん
2010/01/19(火) 03:50:23map型に対しkeys()とvalues()を実行した際、その並び順は同じと考えて大丈夫でしょうか
(もちろん両者を実行する間に変更はありません)
items()でとってzipするべきでしょうか?
0842デフォルトの名無しさん
2010/01/19(火) 04:21:14def func2(**keys):
って二つあって
funcが受け取った引数をそのままfunc2へと流したいんだがどう書いたらいい?
def func(**keys):
func(keys)
みたいなこと
0843デフォルトの名無しさん
2010/01/19(火) 08:23:27x = ....
func(x)
func2(x)
じゃダメなのか?
0844デフォルトの名無しさん
2010/01/19(火) 09:27:31それで何か問題が?
名前無し引数にも対応するなら、
def func(*args, **kwargs):
func2(*args, **kwargs)
0845デフォルトの名無しさん
2010/01/19(火) 13:44:50自分で試してだめだったので質問したつもりだったのですが、ご指摘の通りやり直したらきちんと動きました
前回自分で試したときなにか別の理由で動かなかったものを勘違いしていたようです
どうもすいませんでした
0846デフォルトの名無しさん
2010/01/19(火) 13:56:02def func(self, **keys):
print keys
def func2(self, **keys):
self.func(keys)
X().func2(x=10, y=20)
連投すいません
上の例だと上手くいかないのですが, どうやって渡したらいいのでしょうか?
0847デフォルトの名無しさん
2010/01/19(火) 13:58:020848デフォルトの名無しさん
2010/01/19(火) 13:59:09ありがとうございます
0849デフォルトの名無しさん
2010/01/19(火) 17:06:43のウィンドウをマウスで動かそうとするとフリーズしてしまいます。かるくググってみてもWindows環境では昔からある症状と
あり解決手段を見つけられませんでした。そこで質問なのですがフリーズ回避の方法はありますか?
0850デフォルトの名無しさん
2010/01/19(火) 17:12:340851デフォルトの名無しさん
2010/01/19(火) 19:45:29とりあえず外部実行でやってみろ
Alt + F9 な
0852デフォルトの名無しさん
2010/01/19(火) 20:34:44できれば軽量IDEのPyScripterを使いたかったものですから。
>>851
ありがとうございます。実行してみたところプログラムが終わるとウィンドウも閉じてしまうようで、期待した動作ではありませんでした。
設定項目も見つけられなかったので、素直にシェルを使おうと思います。
0853デフォルトの名無しさん
2010/01/19(火) 20:53:22セットアップが少々面倒だけど、一度セットアップしたら普通の
デバッグと同じ感じに使えるはず。
ttp://plaza.rakuten.co.jp/kugutsushi/diary/200710290000/
0854デフォルトの名無しさん
2010/01/20(水) 13:16:46ウィンドウが閉じてしまうのが嫌なら、最後に
raw_input("")
でも付けたら?
0855849です
2010/01/20(水) 15:47:57私宛てですか?正直よく分からなかったです。
>>854
標準の実行をするとTurtle Graphicsのウィンドウは消えないのですが、IDEと被って見にくいので横にずらしたい。
→マウスで動かそうとするとフリーズ。
外部実行だと図形を書きおわったらTurtle Graphicsのウィンドウが消える。
→orz
raw_input("")は外部実行では効果がなかったです。
たんに from tutle import * で簡単なサンプル動かしてるだけなので、そこまで深刻な問題ではないのですが、
みなさんありがとうございます。
0856デフォルトの名無しさん
2010/01/20(水) 17:41:34それフリーズしてるんじゃなくて
WM_PAINTが呼ばれていない
(あるいはメッセージループが回っていない)
だけだと思う
IDEのバグだろ
0857デフォルトの名無しさん
2010/01/20(水) 21:47:58詳しくはわかりませんが、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の方法で解決するみたいなんですが
正当なやりかたなのか気になります。
0858デフォルトの名無しさん
2010/01/20(水) 21:55:37Python
>>>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'〜〜
0859デフォルトの名無しさん
2010/01/20(水) 22:09:120860デフォルトの名無しさん
2010/01/20(水) 22:12:30IPythonのバグだと思う
リンク先の解決方法は
間違っては居ないが場当たり的だと思う
0861methane
2010/01/20(水) 23:37:58Python本体のインタプリタはCで書かれていて、Python製のPythonインタプリタは
compile() 関数を通しているのが根本的な違いです。
compile() 関数にエンコーディングを渡す良い方法が無いので、ハックで対策するしかありません。
Pythonに付属のIDLEも同じ問題を抱えています。
Blogに書いているよりも良い挙動になるハックが、
https://bugs.launchpad.net/ipython/+bug/339642/comments/8
にあります。
また、この問題は Python3 になるとcompile()の仕様を変えなくても自動消滅します。
実際、Python3 の IDLE も大丈夫です。早くPython3の時代になると良いですね。
0862デフォルトの名無しさん
2010/01/21(木) 00:16:23すばらしい!!
次版のiPythonリリースには取り込まれていて欲しいですね
0863デフォルトの名無しさん
2010/01/21(木) 02:27:33確かに予約語やそれに近しい略語は使うべきではありませんでした、すみません。
>>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)
の+は追加の意味で、コードではないですよね?
0864デフォルトの名無しさん
2010/01/21(木) 02:40:330865デフォルトの名無しさん
2010/01/21(木) 02:42:34文字コード指定を追加してるんで
それであってる
0866デフォルトの名無しさん
2010/01/21(木) 02:46:150867デフォルトの名無しさん
2010/01/21(木) 07:31:150868デフォルトの名無しさん
2010/01/21(木) 12:34:09dI/dt=βSI-γI
dR/dt=γI
という連立微分方程式があってβとγ求めたいんですがPythonで書くとどうなりますか?
0869デフォルトの名無しさん
2010/01/21(木) 12:59:590870デフォルトの名無しさん
2010/01/21(木) 13:18:530871デフォルトの名無しさん
2010/01/21(木) 14:58:550872デフォルトの名無しさん
2010/01/21(木) 17:17:050873デフォルトの名無しさん
2010/01/21(木) 17:25:590874デフォルトの名無しさん
2010/01/21(木) 17:44:59IPythonでもきちんとUnicodeが扱えるようになりました。
みなさま、ありがとうございました。
0875デフォルトの名無しさん
2010/01/21(木) 19:12:03Windows で Python2.6.4&Pygame1.9.1 を使用してプログラムを組もうとしています。
その際の参考サイトとして、
ttp://www.halb-katze.jp/pygt/
ttp://pygame.skr.jp/
などを利用させていただいているのですが、どちらのサイトのスクリプトをそのまま利用しても、うまくウィンドウを開くことができません。
正確にはウィンドウは開くのですが、前者のスクリプトだと一瞬、後者でも半秒も経たないうちにプログラムが終了してしまいます。
解説を読む限りだと、能動的に終了処理をしない限りはウィンドウは開いたままのような気がするのですが、
原因おわかりであればご教授いただけませんでしょうか。
0876デフォルトの名無しさん
2010/01/21(木) 22:20:30きっとダブルクリックでもしてるんだろ
コマンドで実行してみろ
0877デフォルトの名無しさん
2010/01/21(木) 22:39:170878デフォルトの名無しさん
2010/01/21(木) 22:43:460879デフォルトの名無しさん
2010/01/22(金) 02:14:030880デフォルトの名無しさん
2010/01/22(金) 03:22:260881875
2010/01/22(金) 05:04:26言葉足らずでした、失礼。ウィンドウとはコマンドプロンプトの意ではなく、
pygame.display.set_mode で作成される、画像などを描画可能なウィンドウのことです。
具体的には以下のようなプログラムを走らせるのですが、
ttp://www.halb-katze.jp/pygt/pygt0100.html
while文で無限ループを作り、たとえば終了ボタンが押されるまでウィンドウは閉じないようになっているはずなのですが、
実際には、上述の通り一瞬だけ開いて終了してしまいます。
0882デフォルトの名無しさん
2010/01/22(金) 07:06:280883デフォルトの名無しさん
2010/01/22(金) 09:01:22.pyに関連付けされてないとかではないの?
コマンドプロンプトから実行してみたら?
0884デフォルトの名無しさん
2010/01/22(金) 11:13:48長くて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をインストールしなおしたところ、ループに入らなくなる条件が変わったようですが、詳細はさっぱり……。
他サイトのサンプルスクリプトなども同様です。なんなんでしょうか。
0885デフォルトの名無しさん
2010/01/22(金) 11:19:580886デフォルトの名無しさん
2010/01/22(金) 11:39:58「ダブルクリックの場合も一緒です。」とあるように、コマンドプロンプトから実行しています。
0887デフォルトの名無しさん
2010/01/22(金) 11:41:160888デフォルトの名無しさん
2010/01/22(金) 11:47:11>たとえばこれの「基礎>図形を描画する」をそのまま実行した場合、
>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')
にすれば通る
0889デフォルトの名無しさん
2010/01/22(金) 11:58:27uを取った場合は正常に動作、
明示的にUTF-8に変換した場合は同じエラーとなりました。
0890デフォルトの名無しさん
2010/01/22(金) 12:42:530891デフォルトの名無しさん
2010/01/22(金) 12:43:24OpenGLの方はcp932しか通さないなwwwwwwww
0892デフォルトの名無しさん
2010/01/22(金) 12:45:50sitecustomize.py で sys.setdefaultencoding() を変なのにしてるとか
0893デフォルトの名無しさん
2010/01/22(金) 12:47:52うちは大丈夫(日本語文字コードの問題はあるけどそこを直すだけで動く)
0894デフォルトの名無しさん
2010/01/22(金) 12:50:19ありがとうございました
0895デフォルトの名無しさん
2010/01/22(金) 13:34:260896デフォルトの名無しさん
2010/01/22(金) 13:38:260897デフォルトの名無しさん
2010/01/22(金) 13:44:350898デフォルトの名無しさん
2010/01/22(金) 13:58:24>>892
デフォルトのまま何も弄くっていません。
特に弄くる必要はないとのことでしたが、何か設定した方がいいのでしょうか?
0899デフォルトの名無しさん
2010/01/22(金) 17:50:37WindowsVista + Python 2.5.2 + pygame 1.9.1
utf-8 で保存
u が付いてるとエラー(コンソール上で文字化け)
u'日本語'.encode('utf-8') ならサンプルすべて正常動作
0900デフォルトの名無しさん
2010/01/22(金) 18:39:190901デフォルトの名無しさん
2010/01/23(土) 00:38:47884の "draw_figure.py" だったら
"import sys"の後に以下の2行を追加して実行してみたらどうなる?
reload(sys)
sys.setdefaultencoding('shift_jis')
これでうまくいくなら sitecustomize.py でググれ
0902デフォルトの名無しさん
2010/01/23(土) 00:40:27reload(sys)
sys.setdefaultencoding('utf-8')
の間違い
0903デフォルトの名無しさん
2010/01/23(土) 00:48:32Python2.xの定番中の定番FAQで、自分で貼ってるwikiサイトを
サイト内検索しても解決方法が載ってるのに
ここまでダラダラ引っ張るとは・・・
もしかしてpygameの宣伝?!
・・・アンインストールしよっと
0904デフォルトの名無しさん
2010/01/23(土) 00:52:500905デフォルトの名無しさん
2010/01/23(土) 01:30:500906デフォルトの名無しさん
2010/01/23(土) 03:49:54# -*- coding: utf-8 -*-
a = raw_input(u"何か書く : ")
print a
input()
というファイルを実行すると、動くんだけども"何か書く"の部分が文字化けしてしまいます
sys.getdefaultencoding()だと'utf-8'になってるし、対話モードで入力すると正常に表示されます
自分にはこれ以上分からないのですが、原因となることは何か考えられますか
0907デフォルトの名無しさん
2010/01/23(土) 03:51:330908デフォルトの名無しさん
2010/01/23(土) 08:33:30まず、Pythonを動かしている環境を明示して下さい。
Windowsですか?Linuxですか?Linuxであれば "$ locale" というコマンドの実行結果は
どうなっていますか?
あと、 defaultencoding は ascii が標準です。 utf-8 にすることで unicode の扱いの
ミスによる UnicodeError を回避できますが、回避した部分はすべて utf-8 が
正しいという前提になってしまっているのでその前提が崩れると文字化けします。
文字化けの原因になるようなコードを書かないために、開発や勉強をする環境では
defaultencoding は ascii のままにしておくことをおすすめします。
0909デフォルトの名無しさん
2010/01/23(土) 08:41:39import sys
import codecs
sys.stdout = codecs.getwriter('utf-8')(sys.stdout)
これでやってみそ。
0910デフォルトの名無しさん
2010/01/23(土) 15:11:34なんだか初めてのプログラミングで苦戦してます。
奥が深すぎて・・・ 関数やメソッドはたくさんありますが全てを熟知していないと
使えないってわけではないですよね?
参考書を読んでますが、どこから手をつけていいのか・・・
参考書:(新しい)みんなのPythonです。
アドバイスをお願い致します。
0911デフォルトの名無しさん
2010/01/23(土) 15:54:53やりたいこととか自分にとって必要なこととかあるだろ
そこからやりゃいんだよ
0912デフォルトの名無しさん
2010/01/23(土) 17:16:21プログラミングを始めた動機
その本を何章まで読み終わったか
それが分かればアドバイスできるお
0913910
2010/01/23(土) 17:21:078章ですかね
0914デフォルトの名無しさん
2010/01/23(土) 17:25:47手段が目的となる… それもまた人の進歩の要因なのだ
0915デフォルトの名無しさん
2010/01/23(土) 17:49:20予想通りでワロス
0916デフォルトの名無しさん
2010/01/23(土) 18:33:08試行錯誤するのが楽しい人はさ。
>>910
むしろ全部を知らなくて済むようにリファレンスとhelp関数がある。
使いたいものがあれば調べりゃいい。
0917デフォルトの名無しさん
2010/01/23(土) 20:43:15環境はwindowsです(defaultencodingはasciiに戻しました)
>>909さんの方法を試しても相変わらず文字化けします
そもそもprint u"何か書く"だと正常に表示されるのにinput(u"何か書く")だと化けます
もうお手上げです(´〜`;)
0918デフォルトの名無しさん
2010/01/23(土) 21:05:07うん、プログラミング初心者は日本語(というか非ASCII)を使うなって金言があるんだ
他のことを勉強するのに時間割いたほうがいいぞ
というか化けたのならその化けた文字列を貼ってくれ
0919909
2010/01/23(土) 21:22:03これは大変失礼した。
import sys
import codecs
sys.stdout = codecs.getwriter(ここに端末の文字コード(Windowsならshift-jis(cp932とした方がよいかも)))(sys.stdout)
raw_input(u"くわー")
print u"ぽいうぃ"
としなければならないんだった。
こちらではこれで動いたのでこれで動かなかったら知らん。
0920908
2010/01/23(土) 21:43:45sys.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文字だけなら
なんとかなるけど)から、プログラム全体に渡ってそのポリシーを貫く必要がある。
0921デフォルトの名無しさん
2010/01/23(土) 23:59:39初心者は何も考えずにsitecustomize.py作って
『非asciiはu''』って覚えた方が手っ取り早いと思う
『日本語を表示したいだけなのに
ロケールやらコーデックやらめんどくせ〜』
ってなっちゃわないか?
0922デフォルトの名無しさん
2010/01/24(日) 00:03:23回答ありがとうございます
# -*- 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日悩んだ問題がやっと解決・・・ありがとうございました
0923デフォルトの名無しさん
2010/01/24(日) 00:34:350924デフォルトの名無しさん
2010/01/24(日) 00:46:41必要最低限のことは書いてあって
外部とやり取りする際には、必ず、decode、encodeを使って
明示的に文字コードを指定あげて、内部ではユニコード文字列で扱う
といった趣旨のことは書いてある
・・・うん、充分めんどいね
0925デフォルトの名無しさん
2010/01/24(日) 01:15:33改行コードはCR+LFです。
これを元にして
改行コードがCRでそれ以外の内容は同じファイルpiyo.txtと、
改行コードがLFでそれ以外の内容は同じファイルfuga.txt
を作りたいのですが、Pythonではどうすれば良いでしょうか?
文字コード変換は調べて見つかるのですが、
肝心の改行コード変換が見つかりませんでした。
どうかよろしくお願い申し上げます。
0926デフォルトの名無しさん
2010/01/24(日) 01:30:46contents = 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"))
0927デフォルトの名無しさん
2010/01/24(日) 02:00:51でも暗黙的な扱いになると、いざバグった場合に対処しづらかったり
0928デフォルトの名無しさん
2010/01/24(日) 02:42:22>外部とやり取りする際には、必ず、decode、encodeを使って
>明示的に文字コードを指定あげて、内部ではユニコード文字列で扱う
>といった趣旨のことは書いてある
>
>・・・うん、充分めんどいね
言いたいことは判るがその発言はどうかと思う
>>927
perl とか php って糞だよね
0929デフォルトの名無しさん
2010/01/24(日) 07:10:42確かに
でも、お手軽にやっつけたいからスクリプトを使うのに
コンソールに日本語表示するのがダルすぎる
shift-jisに含まれないユニコード文字を扱おうとすると
更に訳わからん
>>927
う〜ん、煽るつもりはなかったんだけど。。。
0930908
2010/01/24(日) 09:27:21>でも、お手軽にやっつけたいからスクリプトを使うのに
Python はスクリプトとしても使えるというだけで、スクリプト用言語ではなく
本格的なアプリケーションやシステムにも適したプログラミング言語だから
>コンソールに日本語表示するのがダルすぎる
いや、ファイル入出力はたしかに下手に隠蔽するべきではないけど、
画面出力では print を使って簡単に unicode を表示できるようになってる。
(で、ファイルにリダイレクトするときちんと UnicodeEncodeError になる)
だから、コンソール上で手軽に使う raw_input も、printと同じで
sys.stdout.encoding を見て自動でエンコーディングするべきだと思うよ。
実際、Python3 でも raw_input はバイト列じゃなくて文字列を受け取るしね。
バグ報告してみるよ。
0932デフォルトの名無しさん
2010/01/24(日) 12:48:12from 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を含めた日付文字列から
生成するためには、文字列フォーマットをどのように指定すればいいでしょう??
0933デフォルトの名無しさん
2010/01/24(日) 13:11:46date = datetime.strptime('2010-01-01 01:01:01', '%Y-%m-%d %H:%M:%S.%f')
0934デフォルトの名無しさん
2010/01/24(日) 13:19:21>バグ報告してみるよ。
すばらすぃ!期待してる!!
>>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以降なんで注意
http://docs.python.org/library/datetime.html#strftime-behavior
0935デフォルトの名無しさん
2010/01/24(日) 14:01:34こんな漢字でUnicode文字列を置換しようとすると
'unicode' object has no attribute 'sub'
って言われてしまいます。
Unicode文字列を置換するにはどうすればよいでしょうか?
0936デフォルトの名無しさん
2010/01/24(日) 14:04:370937デフォルトの名無しさん
2010/01/24(日) 14:04:39あ、うにこど
0938937
2010/01/24(日) 14:05:290939デフォルトの名無しさん
2010/01/24(日) 14:09:28あー間違えてました。
すみません。
ありがとうございました。
0940デフォルトの名無しさん
2010/01/24(日) 16:28:03たとえば、
<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"/>
こうやれば楽なんですが個数が可変だった際のことを考えるとこの方法は使いたくありません。
どうやったらリストで取得できるのでしょうか。
0941デフォルトの名無しさん
2010/01/24(日) 16:28:520942デフォルトの名無しさん
2010/01/24(日) 16:50:22つか、frameworkの問題じゃなくてhtmlの話では?
0943デフォルトの名無しさん
2010/01/24(日) 16:58:13<input type="checkbox" name="hoge_cd[]" value="2"/>
<input type="checkbox" name="hoge_cd[]" value="4"/>
0944デフォルトの名無しさん
2010/01/24(日) 17:11:42ID変えても変化ないですね。
>>943
それでrequest.POST['hoge_cd']で受け取ろうとするとKeyErrorになるんですよ。
先に書くべきでした、すみません。
request.POST.keys()でPOSTを吐かせたら、
hoge_cd
hoge_cd
hoge_cd
とでてきました。popさせて受け取ってみます。
0945940
2010/01/24(日) 17:19:54request.POST.iteritems()でキー探して取得できました。
お騒がせしました。なんか解決方法が泥臭い気はするんですが。
0946デフォルトの名無しさん
2010/01/24(日) 17:22:000947デフォルトの名無しさん
2010/01/24(日) 18:22:32これはframeworkの問題
サーバ側でPOSTに格納された変数をどう解釈するかってだけ
Pylonは触ったこと無いけど、フォームの生成からframeworkに則ってやるべきだと思う
手で書いてるから『個数が可変・・・』とか気にすることになる
リストなりdictなりにまとめてPylon側で処理できる・・・んじゃない?
0948デフォルトの名無しさん
2010/01/24(日) 19:09:310949デフォルトの名無しさん
2010/01/24(日) 19:35:500950デフォルトの名無しさん
2010/01/24(日) 19:36:360951940
2010/01/24(日) 19:40:32が、個人的には
・たかだかHTMLの部品作るのになんで余計なことを覚えなきゃいけないんだw
・テンプレートだけでデザイン側が成立しないと不便で仕方ない。
という2点を理由に避けたいところ。
それゆえに<li py:for="foo()">${bar}</li>みたいなのがあるわけですし。
0952932
2010/01/24(日) 20:49:22ありがとうございます。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
0953デフォルトの名無しさん
2010/01/24(日) 20:49:290954デフォルトの名無しさん
2010/01/24(日) 21:15:41キーワードを入れると、それに関連するモジュールやメソッドを一覧表示してくれる
というような…
0955デフォルトの名無しさん
2010/01/24(日) 22:09:210956947
2010/01/24(日) 22:29:58どっちがどれだけ歩み寄るかってのは
新規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
0957デフォルトの名無しさん
2010/01/24(日) 22:33:40これよくね?
・anything-ipython.el
http://www.emacswiki.org/emacs/anything-ipython.el
最近はなんでもanythingにしておけば幸せだよね
0958デフォルトの名無しさん
2010/01/24(日) 22:36:39def str2datetime(datestr, datefmt):
if datestr.find(".") == -1:
us = '0'
else:
datestr, us = datestr.split(".")
return datetime.strptime(datestr, datefmt) + timedelta(microseconds=int(us))
微妙だwww
0959デフォルトの名無しさん
2010/01/25(月) 15:21:38Cだとこれでいけるんだがpythonで書くとすればどうすればいいの?
真偽値のやりかたがよくわからん
0960デフォルトの名無しさん
2010/01/25(月) 15:34:08Pythonには
条件 ? 真の時 : 偽の時
のような三項演算子は無い。
代わりに、
真の時 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
とする。
0961デフォルトの名無しさん
2010/01/25(月) 15:56:38m[a] = map(lambda x, y: 0 if x == y else 1, zip(m[a], m[b]))
0962デフォルトの名無しさん
2010/01/25(月) 15:59:440963デフォルトの名無しさん
2010/01/25(月) 16:14:480964デフォルトの名無しさん
2010/01/25(月) 16:36:00ttp://python.rdy.jp/
0965デフォルトの名無しさん
2010/01/25(月) 17:42:03f.__call__(a) # fは引数を3個とる関数
というように、引数をリストで指定して
関数を__call__したいのですが、どうすればいいでしょうか?
0966デフォルトの名無しさん
2010/01/25(月) 17:48:240967デフォルトの名無しさん
2010/01/25(月) 17:48:350968デフォルトの名無しさん
2010/01/25(月) 17:50:56つーか
f(*a)
でいいじゃん
0969デフォルトの名無しさん
2010/01/25(月) 17:59:11ありがとうございます!
0970デフォルトの名無しさん
2010/01/26(火) 00:07:01aruyo?
0971デフォルトの名無しさん
2010/01/27(水) 01:44:00全部読めば、それなりのコードなりが書けたりするんですかね(汗
文系の俺には無理な分野なのか(涙
0972デフォルトの名無しさん
2010/01/27(水) 02:58:03初心者は「はじpy」の方が良いと(一部の人に)言われている
なお「恥py」という似非本があるので要注意
0973デフォルトの名無しさん
2010/01/27(水) 03:04:440974デフォルトの名無しさん
2010/01/27(水) 03:08:16はじpyとか意味あるの?
マジレス、初心者にはみんpy以外は無駄な感じ。
0975デフォルトの名無しさん
2010/01/27(水) 03:19:080976デフォルトの名無しさん
2010/01/27(水) 04:52:47つまり、もう少し読み進めてみます。
簡単なコードとか見るのも勉強になりますよね
いいサイトとかありますか?
0977デフォルトの名無しさん
2010/01/27(水) 05:58:380978デフォルトの名無しさん
2010/01/27(水) 07:23:02実際にスクリプト書いてないの?
0979デフォルトの名無しさん
2010/01/27(水) 10:44:40つまり、たったこれだけしか内容なくてPythonちょろすぎじゃね?
ではなくて、一体どうしたらいいのかすらわからないみたいなことですか
0980デフォルトの名無しさん
2010/01/27(水) 11:54:05文系かどうかは関係ない
お前がアホなだけ
0981デフォルトの名無しさん
2010/01/27(水) 12:54:17これでゲーム作って遊んでればそのうち覚えるよ
英語だけど10歳のガキにも読めるように書かれてるから多分大丈夫
無料だしね
0982デフォルトの名無しさん
2010/01/27(水) 15:02:52SyntaxError: unknown encoding: cp932 (<ipython console>, line 0)
が出てしまうんじゃがなぜじゃろう・・・?
cp932のコーデックがないわけじゃないんだが・・・
utf8にしようが何にしようがダメなんだ
0983デフォルトの名無しさん
2010/01/27(水) 15:06:26source=source.encode(self.stdin_encoding)
をコメントアウトしたままだったorz
0984デフォルトの名無しさん
2010/01/27(水) 23:00:190985デフォルトの名無しさん
2010/01/28(木) 02:25:32謝罪しろw
0986デフォルトの名無しさん
2010/01/28(木) 14:44:20おわびにjython用のms932コーデックでもさらそうと思ったんだが、
ブログとか持ってないんだよな。
どっかいいサイトないかしらん
0987デフォルトの名無しさん
2010/01/28(木) 14:45:460988デフォルトの名無しさん
2010/01/28(木) 19:04:49コード貼りたいだけならPastebinとかあるよ。
0989デフォルトの名無しさん
2010/01/28(木) 21:37:510990デフォルトの名無しさん
2010/01/28(木) 21:46:48次スレは >>992を踏んだ人が。
0991デフォルトの名無しさん
2010/01/28(木) 22:44:05くだすれPython(超初心者用) その6
http://pc12.2ch.net/test/read.cgi/tech/1264686181/
0992デフォルトの名無しさん
2010/01/29(金) 02:12:570993デフォルトの名無しさん
2010/01/29(金) 02:18:510994デフォルトの名無しさん
2010/01/29(金) 02:57:39日本は義務教育で基礎法学を教えないからわかってない人が多いみたいだけど、権利と義務は表裏一体、つまりワンセットなんだよ
例えば「生きる」という権利には「働く」という義務が伴なう。これは習っていなくたって誰でも常識で分かると思うけど
社会の中のあらゆる権利にはそれと対になる義務が存在するということ
戦後の日本人はこの表裏一体を勘違いして、自分の権利は相手の側から見ると義務なんだ、などと言う訳の解らない屁理屈を唱えて
相手(多くの場合国家)に対して一方的に権利を主張、すなわち義務の履行を求める者が多い
いわゆるプロ市民と呼ばれる者達だ
日本人が彼らのような人間(一方的に権利を主張するだけの個体がそもそも人間の定義を満たすのかどうかは疑問だが − 個人的見解を述べれば否と断言すべきであろう。
「ヒト」は社会を構成する生き物である。社会の成員となって初めて「人間」なのだ。そのために「教育」が必要なのである)に違和感を覚えないのは
もちろんマスコミの罪でもあるけど元を糾せば教育にも決して原因が無い訳ではない
0995デフォルトの名無しさん
2010/01/29(金) 03:00:180996デフォルトの名無しさん
2010/01/29(金) 03:08:13他人のピクルスを笑ってる場合じゃないと思った
0997デフォルトの名無しさん
2010/01/29(金) 08:26:06デマ乙
0998デフォルトの名無しさん
2010/01/29(金) 09:16:28ちなみにブサイクデブで、ちょっとしたことでイライラします。
あとヘンなメガネかけてます。
0999デフォルトの名無しさん
2010/01/29(金) 09:24:151000デフォルトの名無しさん
2010/01/29(金) 09:54:1110011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。