09/01/16 06:33:45
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、
お礼は Python の布教と初心者の救済をお願いします。
エラーを解決したいときはエラー表示や環境を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>980 辺りで
前スレ
くだすれPython(超初心者用) その2
スレリンク(tech板)
関連スレ
Pythonのお勉強 Part31
スレリンク(tech板)
2:デフォルトの名無しさん
09/01/16 06:34:11
◆関連リンク
Python の Home Page
URLリンク(www.python.org)
Python 日本語ドキュメント - Pythonistaのお友達
URLリンク(www.python.jp)
最新版直リン - 2.Xが推奨。3.Xはライブラリやドキュメントが使えないことも
URLリンク(www.python.org)
Python のコーディングガイド PEP8
URLリンク(www.python.org)
Python のコーディングガイド PEP8 - 日本語訳
URLリンク(www.oldriver.org)
日本語文字列コード問題まとめ
URLリンク(python.matrix.jp)
インタラクティブモードのエンコード
URLリンク(python.matrix.jp)
3:デフォルトの名無しさん
09/01/16 06:35:15
テンプレを多少改変しました。あと色々あるのでしょうが python.jp と書籍へのリンクは日本語ドキュメントをのぞいて省きました。
文句とかテンプレ改良とか次スレに向けてぼちぼちやっていきましょう。
4:デフォルトの名無しさん
09/01/16 07:08:12
//
/ / パカッ
//⌒)∩__∩
/.| .| ノ ヽ
/ | | ● ● |
/ | 彡 ( _●_) ミ まピョーん☆
/ | ヽ |∪| /_
// │ ヽノ \/
" ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
5:デフォルトの名無しさん
09/01/16 07:15:04
>>3
ありがとう!!
GJ!!!!
6:デフォルトの名無しさん
09/01/16 14:28:12
2.5.2 on FreeBSD環境です
5つの値を任意に変えられる関数は、なんでしょうか?
import sys
print sys.getfilesystemencoding()
print sys.stdin.encoding
print sys.stdout.encoding
print sys.stderr.encoding
print sys.getdefaultencoding()
実行結果
US-ASCII
US-ASCII
US-ASCII
US-ASCII
ascii
7:デフォルトの名無しさん
09/01/16 15:47:29
>> sys.getfilesystemencoding()
プラットフォームと言語に依存しているはずで通常は変更する必要はない
>> sys.stdin.encoding
>> sys.stdout.encoding
>> sys.stderr.encoding
環境依存でPythonランタイムや埋め込んでいるアプリケーションが用意する。stdin/stdout/stderrは上書きできる
>> sys.getdefaultencoding()
sitecustomize.py で sys.setdefaultencoding()
できれば >>3 の後ろ2つも参照してくれ
8:デフォルトの名無しさん
09/01/16 15:48:05
× できれば >>3 の後ろ2つも参照してくれ
○ できれば >>2 の後ろ2つも参照してくれ
9:デフォルトの名無しさん
09/01/16 16:45:09
日本語のエンコードについて教えてください。
お願いします。
10:デフォルトの名無しさん
09/01/16 17:21:38
>>7,8
うーん
>>7
> >> sys.stdin.encoding
> >> sys.stdout.encoding
> >> sys.stderr.encoding
> 環境依存でPythonランタイムや埋め込んでいるアプリケーションが用意する。stdin/stdout/stderrは上書きできる
具体的な例文を書いてもらえませんか?
ググっても、例文が出てこなくて、困っています
とりあえず、sitecustomize.pyに下のを書いてみた
軽く試したところ、思うように動作するので、この設定で騙し騙しやってみようと思います
reがちゃんと動くのか、まだ試してないけど・・・
from encodings import aliases
aliases.aliases['us_ascii'] = 'euc_jp'
import sys
sys.setdefaultencoding('euc_jp')
11:デフォルトの名無しさん
09/01/16 20:46:14
if x == undefined:
x = "Foo"
みたいなことがしたいんですがどうすればいいですか?
x = x or "Foo"
x or x = "Foo"
x = x if x else "Foo"
if not x:
x = "Foo"
if x != None:
x = "Foo"
どれもダメでした
LLって難しい…
12:デフォルトの名無しさん
09/01/16 21:04:18
>>> vars().has_key('hoge')
False
>>> hoge=4
>>> vars().has_key('hoge')
True
13:デフォルトの名無しさん
09/01/16 21:05:52
>>4
14:デフォルトの名無しさん
09/01/16 22:05:10
ユニコード相当の8ビット文字列とユニコード文字列はなぜ別に扱われるのですか。
15:デフォルトの名無しさん
09/01/16 22:10:51
UnicodeとUTF-8の違いは?
スレリンク(tech板)
16:デフォルトの名無しさん
09/01/17 04:01:52
Ubuntu on VMware、クソワロタ
2週間ぐらいpython on cygwinと日本語関係で悩んでいたけど
あっさり解決しそうだw
VMware用仮想マシン | Ubuntu Japanese Team
URLリンク(www.ubuntulinux.jp)
>>前スレの942
>Cygwinを使う明確な理由があるならともかく
>そうでないならUnix環境の劣化コピー
もっともだけど、なんかなあと思っていたけど
求めていた解が前スレの942のまんまでした
17:デフォルトの名無しさん
09/01/17 04:08:06
>>16
VirtualBoxでもUbuntuのイメージが用意されてるよ。
VMWareより、VirtualBoxの方がデスクトップ弄ってる時は素直に動いてくれる。
18:デフォルトの名無しさん
09/01/17 04:33:35
>>17
そうだね
VirtualBoxは、サクサク動作でいいよね
いや、それがVMWareもかなりすんなり使えて、ビックリしている
VMwareのバージョンは、1年前ぐらいのヤツなんだけどなあ
Cent OSとか、いろいろ試したときにこんな機能あったっけかな・・・
プログラミングとあんまり関係ないけど、サウンド関係とかも使えるのが好きなんだよなあ
動作は、ちょっともっさりだけど、触り慣れているVMWareにします
19:デフォルトの名無しさん
09/01/17 06:16:20
Ubuntuは馬鹿用だからなぁ
20:デフォルトの名無しさん
09/01/17 06:18:15
coLinuxとかandLinuxが高速
21:デフォルトの名無しさん
09/01/17 06:19:17
すれち
22:デフォルトの名無しさん
09/01/17 09:01:30
希望の動作した
23:デフォルトの名無しさん
09/01/17 13:14:29
常駐させるならcoLinuxだな。
24:デフォルトの名無しさん
09/01/18 01:13:17
>>4
こんなAAで爆笑してしまった・・
25:デフォルトの名無しさん
09/01/18 05:06:54
∫x/x-1 dx
t=x-1とし
∴x=t+1 また dt=dx
∫t+1/t dt
=∫1+(1/t) dt
=t + log|t|
=x-1 + log(x-1)
正答は最初に部分分数分解してx + log(x-1)ですが
上記の場合なにが違ってるんでしょうか?
26:デフォルトの名無しさん
09/01/18 08:02:42
誤爆乙
27:デフォルトの名無しさん
09/01/18 09:08:30
誤爆じゃありませんが。
何が違っているんでしょうか。
28:デフォルトの名無しさん
09/01/18 10:08:53
積分定数
29:デフォルトの名無しさん
09/01/18 13:05:24
答えが出せないってことは、Pythonスレの人のレベルが相当低いんですねえ。
ありがとうございました。
30:デフォルトの名無しさん
09/01/18 13:40:23
正しい板に質問を投げることができない奴が来るくらい低いな。
31:デフォルトの名無しさん
09/01/18 13:47:45
>>28 が答えだということも分からないくらいレベルが低いようだな。
32:デフォルトの名無しさん
09/01/18 13:59:24
最近、本当に知りたくて質問してる人の割合が低すぎる気が
33:デフォルトの名無しさん
09/01/18 17:18:41
>>25
=∫1+(1/t) dt
=t + log|t| + C
=x-1 + log(x-1) + C
=x + log(x-1) + C
34:デフォルトの名無しさん
09/01/18 22:08:28
『Pythonで学ぶ大学数学』って本があったら面白そうと思ってしまった。
35:デフォルトの名無しさん
09/01/18 23:03:40
英語だったら、ありそうだね
36:デフォルトの名無しさん
09/01/18 23:31:50
スクリプトファイルとモジュールの違いは何ですか?
教えてください。
37:デフォルトの名無しさん
09/01/18 23:52:06
Pythonでは同じ扱いです
関数も何も定義せず、
べた書きしてたらモジュールにはなりえない
(オブジェクトへのリファレンスは除く)
38:デフォルトの名無しさん
09/01/19 04:11:08
Pythonでtestfirstコード書くのに標準的なのはありますか
39:デフォルトの名無しさん
09/01/19 17:29:49
ちょっといいですか
40:デフォルトの名無しさん
09/01/19 18:03:15
>>39
おまえはだめだ
41:デフォルトの名無しさん
09/01/19 18:22:23
>>1の和訳チュートリヤルに嘘ばっかり書いてあるな
print 'Hello, world!'
ってやってもエラーになる
嘘ばっかだなと思って
英語のほうを見たら
print ('Hello, world!')
って書いてあったので
そのとおりやったらできた。
>>1はうそつき超汚染人だ!
42:デフォルトの名無しさん
09/01/19 18:26:26
3.0乙
43:デフォルトの名無しさん
09/01/19 18:26:36
そりゃまあ 2.X 用のチュートリアルだからな
44:デフォルトの名無しさん
09/01/19 18:35:43
>>41
チュートリアルにprint 'Hello, world!'なんて書かせる項目なんてなかったと思うが
というか、普通にprint 'Hello, world!'で通るだろ
あと嘘ばっかりについてkwsk上げてもらおうか
45:デフォルトの名無しさん
09/01/19 18:36:45
>>38
doctestとか
>>41
1に和訳へのリンクなんてないけどな
46:デフォルトの名無しさん
09/01/19 18:39:03
>>41
スレリンク(tech板:264-266番)
47:デフォルトの名無しさん
09/01/19 18:40:37
>>44
2厨乙
48:デフォルトの名無しさん
09/01/19 19:00:01
>>46
>39
49:デフォルトの名無しさん
09/01/19 19:11:01
2.xでprint文を使うとして、一応、3.0のことも考えて
L = ('spam',('pypy','thth'))
print(L)
と書いたほうがいいの?
50:デフォルトの名無しさん
09/01/19 19:12:44
def print(hoge):
print hoge
51:デフォルトの名無しさん
09/01/19 19:40:03
>>50
予約語
52:デフォルトの名無しさん
09/01/19 19:51:15
2to3で変換できるからそのままでいいと思うが、
2.6なら from __future__ import print_function してもよい
53:デフォルトの名無しさん
09/01/19 19:57:30
print_function 使ってる場合
2to3で変換されますか
54:デフォルトの名無しさん
09/01/19 21:06:22
・What’s New In Python 3.0 ? Python v3.1a0 documentation
URLリンク(docs.python.org)
・Python3000 - TSNETWiki on TextWorld
URLリンク(text.world.coocan.jp)
・もっと知りたいPython3000:第1回 Python 3.0の思想と意義|gihyo.jp … 技術評論社
URLリンク(gihyo.jp)
> また,3.x系の開発と共に,少なくとも数年は2.xの開発が続くことが予告されています。
> Guido自身,「Python 3が広まるのは3.1か,もしかしたら3.2の頃だろう」と言っています。
> ユーザの移行に関しても,明確なビジョンが示されています。
・「Python 3.0」の正式版がリリース--Python 2シリーズとは非互換 - builder by ZDNet Japan
URLリンク(builder.japan.zdnet.com)
55:デフォルトの名無しさん
09/01/19 23:16:11
騙り多すぎだなこの板。
56:デフォルトの名無しさん
09/01/20 12:15:52
URLリンク(webpy.org)
ここのサンプルの f = register_form() の意味が分かりません.
一般に class A のインスタンス a を呼び出す a() と
Python ではどんな意味があるのでしょうか?
インスタンスのアドレス(参照というかハンドルのIDみたいなもの?)は
変わっているようです.ということはクローンが得られてるのでしょうか?
C++ のように operator() をオーバーロードして
ファンクタになっているということなのでしょうか?
57:デフォルトの名無しさん
09/01/20 12:19:28
すんまそん、パッケージのソースながめたら
def __call__(self, x=None):
o = copy.deepcopy(self)
if x: o.validates(x)
return o
って書いてありました。子ね俺。
58:デフォルトの名無しさん
09/01/20 12:47:43
You should not die.
59:デフォルトの名無しさん
09/01/20 16:48:25
importってなんなの?しぬの?
60:デフォルトの名無しさん
09/01/20 20:03:00
importanceの略です
61:デフォルトの名無しさん
09/01/20 20:05:23
impotenceですねわかります
62:デフォルトの名無しさん
09/01/20 20:55:11
3文字の総当り
chars = 'abcdefg'
for char1 in chars:
for char2 in chars:
for char3 in chars:
word = char1+char2+char3
print word
これを
word_list = create_word_list(3, 'abcdefg')
word_list = create_word_list(4, 'hijklmnop')
のような感じで好きな長さで生成する関数「create_word_list」をどうかきますか?
知恵を貸してください。よろしくおねがいします。
63:デフォルトの名無しさん
09/01/20 21:31:24
2.6/3.0ならitertools.combinations
64:デフォルトの名無しさん
09/01/20 22:04:23
URLリンク(www.usamimi.info)
ここの187-193で拾った
>>> def combi(a, b):
... if isinstance(a[0], tuple):
... return [x + (y,) for x in a for y in b]
... else:
... return [(x, y) for x in a for y in b]
...
>>> def combination(*l):
... return reduce(combi, l)
...
>>> def create_word_list(n, s):
... l=[xrange(len(s)) for i in xrange(n)]
... c=combination(*l)
... return [''.join([s[i] for i in t]) for t in c]
...
>>> create_word_list(2, 'abc')
['aa', 'ab', 'ac', 'ba', 'bb', 'bc', 'ca', 'cb', 'cc']
>>> create_word_list(3, 'abcd')
['aaa', 'aab', 'aac', 'aad', 'aba', 'abb', 'abc', 'abd',
'aca', 'acb', 'acc', 'acd', 'ada', 'adb', 'adc', 'add',
'baa', 'bab', 'bac', 'bad', 'bba', 'bbb', 'bbc', 'bbd',
'bca', 'bcb', 'bcc', 'bcd', 'bda', 'bdb', 'bdc', 'bdd',
'caa', 'cab', 'cac', 'cad', 'cba', 'cbb', 'cbc', 'cbd',
'cca', 'ccb', 'ccc', 'ccd', 'cda', 'cdb', 'cdc', 'cdd',
'daa', 'dab', 'dac', 'dad', 'dba', 'dbb', 'dbc', 'dbd',
'dca', 'dcb', 'dcc', 'dcd', 'dda', 'ddb', 'ddc', 'ddd']
65:62
09/01/21 00:22:26
>>63
ごめんなさい、バージョン思いっきり忘れてました。2.5を使用してます。
>>64
すごすぎます。
内容がまったく理解できてないけど、実現できました。
ありがとうございます!
66:デフォルトの名無しさん
09/01/21 08:04:39
あるクラス変数が定義されているかどうかを調べるのって
どうすればいいのでしょうか?
__init__ の中で、あるクラス変数が定義されていなければ
そこで定義する、既に定義されていたらなにもしない、
という挙動をしたいと思っています。
「定義」という言葉が適切かどうかわかりませんが・・
67:デフォルトの名無しさん
09/01/21 08:47:58
>>> class a:
... hoge=2
... def __init__(self):
... print a.__dict__.has_key('hoge')
... print a.__dict__.has_key('fuga')
...
>>> class a:
... hoge=2
... def __init__(self):
... fuga=3
... print a.__dict__.has_key('hoge')
... print a.__dict__.has_key('fuga')
... print a.__dict__.has_key('hage')
...
>>> b=a()
True
False
False
68:デフォルトの名無しさん
09/01/21 08:54:52
>>66
スレリンク(tech板:21-27番)
69:デフォルトの名無しさん
09/01/21 09:02:33
>>> class a:
... hoge=2
... def __init__(self):
... fuga=3
... self.hage=4
... print a.__dict__.has_key('hoge')
... print a.__dict__.has_key('fuga')
... print a.__dict__.has_key('hage')
... print a.__dict__.has_key('moge')
... print self.__dict__.has_key('hoge')
... print self.__dict__.has_key('fuga')
... print self.__dict__.has_key('hage')
... print self.__dict__.has_key('moge')
... print self.__class__.__dict__.has_key('hoge')
... print self.__class__.__dict__.has_key('fuga')
... print self.__class__.__dict__.has_key('hage')
... print self.__class__.__dict__.has_key('moge')
...
>>> b=a()
True
False
False
False
False
False
True
False
True
False
False
False
70:デフォルトの名無しさん
09/01/21 09:25:21
has_keyはもうやめよーぜ
71:デフォルトの名無しさん
09/01/21 10:05:07
>>> l=['hoge','fuga','hage','moge']
>>> class a:
... hoge=2
... def __init__(self):
... fuga=3
... self.hage=4
... print [k in a.__dict__ for k in l]
... print [k in self.__dict__ for k in l]
... print [k in self.__class__.__dict__ for k in l]
...
>>> b=a()
[True, False, False, False]
[False, False, True, False]
[True, False, False, False]
こうですか?
72:デフォルトの名無しさん
09/01/21 10:10:22
>>> l=['hoge','fuga','hage','moge']
>>> class a:
... hoge=2
... def __init__(self):
... fuga=3
... self.hage=4
... print [k in a.__dict__ for k in l]
... print [k in self.__dict__ for k in l]
... print [k in self.__class__.__dict__ for k in l]
... print [k in vars() for k in l]
...
>>> b=a()
[True, False, False, False]
[False, False, True, False]
[True, False, False, False]
[False, True, False, False]
>>> 'fuga' in vars()
False
fugaは何処へ消えたんだろうと思った俺アフォ杉orz
73:デフォルトの名無しさん
09/01/21 11:33:25
>>> [hasattr(a, k) for k in l]
[True, False, False, False]
>>> [hasattr(b, k) for k in l]
[True, False, True, False]
74:デフォルトの名無しさん
09/01/21 13:29:20
なんかみんなすごいねw
その遊びについていけね
75:デフォルトの名無しさん
09/01/21 22:38:07
>>65
spamメールのアドレス生成とか
パスワードクラッキングとかに
使われそうですねだめですよ
76:デフォルトの名無しさん
09/01/22 01:46:53
ただの組み合わせ演算のコードだろ。
素因数分解のコードの質問でもしたら「RSAの解読に使われそうですね」
とか言うのか?w
77:デフォルトの名無しさん
09/01/22 02:06:42
そうですね
RSAはあと2年もたないと言われていますが
78:デフォルトの名無しさん
09/01/22 09:05:46
>>77
> RSAはあと2年もたないと言われていますが
ソース。てか何ビットのRSA?
79:デフォルトの名無しさん
09/01/22 11:30:08
2010問題のこと?
80: ◆UNKOVIP9RM
09/01/22 14:32:44
RSAのソース出してみろよこら
md5と勘違いしてね?
81: ◆UNKOVIP9RM
09/01/22 14:43:21
ソースだせばいいのか
(`・ω・´)つ URLリンク(www.flickr.com)
とっとけ。
82: ◆UNKOVIP9RM
09/01/22 14:44:49
URLリンク(itpro.nikkeibp.co.jp)
「1024ビット以下の・・・」ってのが抜けてました。
ごめんなさい。
吊ってきます。
83: ◆UNKOVIP9RM
09/01/22 14:45:53
>>82
分かったならよし
84: ◆UNKOVIP9RM
09/01/22 14:48:04
>>83
おまえうざい
85:デフォルトの名無しさん
09/01/22 15:52:47
Python/Tkでソースの間違いを見つけられないのですが、
探してもらってもいいですか?
86: ◆UNKOVIP9RM
09/01/22 16:59:17
うんこ食わせろ
87:デフォルトの名無しさん
09/01/22 23:22:12
”” ””
 ̄  ̄
,,
88:デフォルトの名無しさん
09/01/23 18:29:44
辞書やリストを str() で文字列として表示させるとき
(あるいは print 「文」で表示するとき)
文字列をシングルクォートではなくダブルクォートで
囲ませる方法ってありませんか?
そういう出力をするように __str__() を再定義
するしかないものでしょうか?
89:デフォルトの名無しさん
09/01/23 18:53:13
>>> s={'abc':'def','ghi':['jkl','mno'],"pqr":["stu"],"vwx":"yz"}
>>> s
{'pqr': ['stu'], 'abc': 'def', 'vwx': 'yz', 'ghi': ['jkl', 'mno']}
>>> import json
>>> json.write(s)
'{"pqr":["stu"],"abc":"def","vwx":"yz","ghi":["jkl","mno"]}'
90:デフォルトの名無しさん
09/01/23 18:56:43
ううむ,json っすか.
import json となると 2.6 系にしなきゃだめか・・・
検討してみます.ありがとうございました.
91:デフォルトの名無しさん
09/01/23 20:43:44
URLリンク(pypi.python.org)
92:デフォルトの名無しさん
09/01/23 21:30:35
>>90
ごめん 2.5 で↓これ入れて使ってた
python-json 3.4
URLリンク(pypi.python.org)
メリットはソースが json.py しかないのでインストールする手間が不要w
日本語はUTF-8しか通らないみたいだけど
json.read, json.write しか使わない分には充分いけてる
93:デフォルトの名無しさん
09/01/23 21:42:52
みんなのpythonを読んだあと、
次に何を読んだらいいですか?
中級ぐらいの参考書ってありますか?
94:デフォルトの名無しさん
09/01/23 22:18:40
実技
95:デフォルトの名無しさん
09/01/23 22:37:28
>>93
なんでそんなに読みたいの? 何が目的?
96:デフォルトの名無しさん
09/01/23 22:45:09
>>93
黒い方
97:デフォルトの名無しさん
09/01/23 23:04:43
あの、みんなのpythonに書かれている標準ライブラリってそれを利用するのに必要な基礎知識がなかったとしても必ず覚えるべきなんでしょうか。
もしその作業が後回しにしてもとりあえずは支障のない程度のものであるのでしたら標準ライブラリについての勉強を後回しにして他の勉強を始めたいのですけれども
98:デフォルトの名無しさん
09/01/23 23:09:38
いちいち覚える必要ねえよそんなもん
必要に応じてリファレンスマニュアル見て使えりゃ十分だろ
99:デフォルトの名無しさん
09/01/23 23:19:31
有難う御座います。気が晴れました
100:デフォルトの名無しさん
09/01/23 23:52:50
setuptools でスクリプトとして a.py を指定してしまうと
easy_install で /usr/bin/ 直下に a.py がコピーされて,
アンインストールしたい時に困りませんか?
easy_install ってアンインストールの機能は
提供してくれていませんよね?
101:デフォルトの名無しさん
09/01/24 00:36:41
easy_uninstall
102:デフォルトの名無しさん
09/01/24 05:20:45
>>97
覚える必要ないけどライブラリリファレンスのインデックスだけでも
目を通しておくと後で損しないかも
103:デフォルトの名無しさん
09/01/24 05:56:32
何故以下のプログラムでabcdと並ばないのか教えてください
import Tkinter as Tk
class unko:
def __init__(self):
self.root = Tk.Tk()
frame = Tk.Frame(self.root)
l = Tk.Label(frame, text="a ")
l.grid(row=0, column=0, stick=Tk.N+Tk.E+Tk.S+Tk.W)
l = Tk.Label(frame, text="b ")
l.grid(row=1, column=0, stick=Tk.N+Tk.E+Tk.S+Tk.W)
login_button = Tk.Button(text="c")
login_button.grid(row=2, columnspan=2, stick=Tk.N+Tk.E+Tk.S+Tk.W)
l = Tk.Label(frame, text="d ")
l.grid(row=3, column=0, stick=Tk.N+Tk.E+Tk.S+Tk.W)
frame.grid(row=1, padx=2, pady=2, stick=Tk.N+Tk.E+Tk.S+Tk.W)
def main(self):
self.root.mainloop()
if __name__ == "__main__":
unko().main()
104:デフォルトの名無しさん
09/01/24 07:20:30
>>103
login_button = Tk.Button(text="c")
↓
login_button = Tk.Button(frame, text="c")
105:デフォルトの名無しさん
09/01/24 08:38:14
0.txt 、 1.txt 、 2.txt ・・・ x.txt
というテキストファイルを新規に作ってそこに何か書き込みたいんですけど、どうしたらいいでしょうか?
0~xまで
open('0.txt','w+')
open('1.txt','w+')
open('2.txt','w+')
...
って書き込むのは避けたいんです
106:デフォルトの名無しさん
09/01/24 08:45:33
[open("%d.txt" % i, 'w+') for i in range(x)]
107:デフォルトの名無しさん
09/01/24 08:49:33
文字列に簡易的なスクランブルをかけるライブラリーってありますか?
本格的なものでなくてかまわないのですが。
自分のデスクトップ検索に不用意に引っ掛からないようにしたいだけなので。
単純にbase64でも掛けておけとも考えたのですがもう少し冗長度を下げたいです。
108:デフォルトの名無しさん
09/01/24 10:07:24
>数学的思考法
1 答えはあるので、問題の条件を吟味して、解法を見抜いてしまう
2 大抵は厨房の幾何問題で解けてしまう
3 答え合わせをする
>数学者的思考法
1 たいていは答えがでないほうがおおい
2 くりかえされた手法はあっさりすてる
3 べつのみかたで問題をたてなおす
109:デフォルトの名無しさん
09/01/24 10:51:42
>>106
ダンケ
110:デフォルトの名無しさん
09/01/24 20:23:41
>>107
英数字のみならrot13とか
日本語文字混じるならurllib.quoteとか
111:デフォルトの名無しさん
09/01/24 20:57:33
>>107
zlibで圧縮
112:デフォルトの名無しさん
09/01/24 20:58:13
>>107
適当な定数で xor
113:デフォルトの名無しさん
09/01/24 23:13:15
かとるみてえかべ並らかぎみ
114:デフォルトの名無しさん
09/01/24 23:33:24
文字の境界を判別する処理ってどのように作りますか?
115:デフォルトの名無しさん
09/01/25 00:04:22
もうちょっと曖昧でない表現を頼む
116:デフォルトの名無しさん
09/01/25 00:55:39
文字/の/境界/を/判別/する/処理/ってどのように/作/りますか/?
もうちょっと/曖昧/でない/表現/を/頼/む
ということ
それとも
文字の/境界を/判別する/処理って/どのように/作り/ます/か/?
もうちょっと/曖昧でない/表現を/頼む
ということ
117:デフォルトの名無しさん
09/01/25 01:00:17
形態要素解析+Pythonでググっ鱈こんなのが出て来た
URLリンク(d.hatena.ne.jp)
URLリンク(d.hatena.ne.jp)
スレリンク(tech板:727-772番)
スレリンク(tech板)
URLリンク(www2.atpages.jp)
URLリンク(www.paken.org)
118:デフォルトの名無しさん
09/01/25 01:16:07
MeCab
119:デフォルトの名無しさん
09/01/25 01:20:39
>>115
エンコードされた日本語の文字の処理です。
文字列を分割したり置換するときに文字の境界を適切に判別しないと文字化け
が起こると聞いたので詳しく知りたいです。
120:デフォルトの名無しさん
09/01/25 01:44:24
>>119
Unicodeにすればおk
121:デフォルトの名無しさん
09/01/25 13:53:52
>>119
Ruby/Perl/PHPはそうらしいけどPythonは2.5以降なら大丈夫
122:デフォルトの名無しさん
09/01/25 15:37:59
Pythonの内部使用文字リテラルをUnicodeにするっていう
移行手順は比較的すんなりいったけど、↑の三言語はけっこうめんどくさい
123:デフォルトの名無しさん
09/01/25 17:22:45
そんなわけない。特にRubyは利用者のことを考えた
スムーズな移行方法をとってる。pythonより上。
124:デフォルトの名無しさん
09/01/25 17:24:21
kwsk plz
125:デフォルトの名無しさん
09/01/25 18:14:01
>>123
俺も知りたい
126:デフォルトの名無しさん
09/01/25 18:48:40
てーか、CSI(Code Set Independent)を墨守してI18N化したLLってRuby以外にあるのか?
127:デフォルトの名無しさん
09/01/25 19:12:27
Python3
128:デフォルトの名無しさん
09/01/25 19:25:47
CSIってBSDのCitrusとかでやってる奴だよな
PerlやPythonはUCSベースだからCSIではないっしょ
129:デフォルトの名無しさん
09/01/25 19:30:13
内部コードとして特定の文字コードが仮定できないと
現実的には不便極まりないように思えるが……
130:デフォルトの名無しさん
09/01/25 19:58:28
Ruby厨ってどうしてこんなに気持ち悪いの・・・
131:デフォルトの名無しさん
09/01/25 20:04:15
python厨のが気持ち悪いよ。日本で使ってる人いないのになんでつかうの
132:デフォルトの名無しさん
09/01/25 20:09:32
Rubyでもshebangのあとに
# -*- coding: utf-8 -*-
書いてるコード見るけど
書いた方が良いというか書くべきなんだよね?
133:デフォルトの名無しさん
09/01/25 20:10:50
内部使用文字リテラルとは無関係
134:デフォルトの名無しさん
09/01/25 20:12:51
誰か日本語処理の比較して
php5,perl6,python3,ruby1.9
135:デフォルトの名無しさん
09/01/25 20:14:26
>>104
遅くなりましたがどうもありがとうございました。
136:デフォルトの名無しさん
09/01/26 00:06:05
データの性質によって処理の内容を変える仕組みとは具体的にどういうことですか?
137:デフォルトの名無しさん
09/01/26 00:43:16
3 + 6 -> 9
'A'+'B' -> 'AB'
138:デフォルトの名無しさん
09/01/26 07:49:30
お勧めのOSを教えてください
139:デフォルトの名無しさん
09/01/26 08:17:50
FreeBSD
140:デフォルトの名無しさん
09/01/26 08:23:46
>>139
はあ?あなたもしかしてRuby厨ですか?
141:デフォルトの名無しさん
09/01/26 09:15:01
すまん
Rubyスレと間違えたw
142:デフォルトの名無しさん
09/01/26 10:10:24
PythonのUnicode文字列は、UTF-16とUTF-32の2種類あるよ。
UTF-32は、1 code point = 1文字 になってるけど、UTF-16だと
サロゲートペアのときに 2 code point = 1文字 になるから注意が必要。
この問題は、Windowsの~W系APIとか、Javaや.NETの文字列も
同じ問題を抱えている。
というか、Windowsの~W系APIとの親和性や、Javaや.NETでの
効率を考えて、UTF-16を許可しているという面もある。
143:デフォルトの名無しさん
09/01/26 10:11:06
「2種類ある」というのは、Pythonをビルドするときの設定で選べるって事ね。
Pythonを使うときに2種類から選べるわけではない。
144:デフォルトの名無しさん
09/01/26 12:59:19
sys.maxunicode
UCS-2かUCS-4かがわかる
145:デフォルトの名無しさん
09/01/26 13:21:19
しかし、なんでUnicodeみたいな糞仕様作ったんだろうな。
146:デフォルトの名無しさん
09/01/26 14:42:31
その前の仕様がShiftJISみたいなクソ仕様とかEUCみたいな
日本語と中国語の区別がつかない仕様とかISO-2022みたいな
無闇に拡張性ばかりある仕様とかそんなのばかりだったから
147:デフォルトの名無しさん
09/01/26 14:50:59
無理だって言ってるのに
2バイト固定長の文字コードにしようとしたから。
148:デフォルトの名無しさん
09/01/26 15:14:54
Rubyだけだよなあ、安全に文字コード扱える言語は。
149:デフォルトの名無しさん
09/01/26 15:57:44
もう20年も経ったんだからそろそろ見直すべき
150:デフォルトの名無しさん
09/01/26 16:02:44
YEN SIGN問題
Shift_JISではJIS X 0201における円記号 "\" が0x5Cに置かれている。
これをUnicodeのマッピングに合わせるとYEN SIGN (U+00A5) にマップされる。
しかし、0x5CはASCIIではバックスラッシュ "\" に相当し、
C言語などのエスケープシーケンスに使われる事から、
この文字のコードを変更すると問題が起きる。
そのためUnicodeを利用するアプリケーションはU+007F以下のコードに関しては
移動させないという暗黙のルールができている。
そうなると、Unicode環境では円記号がバックスラッシュの表示に
変わってしまうように思われるが、これは日本語用のフォントデータの
0x5Cの位置には円記号の字形を当ててしまうことで対処している。
これによって、それまでの文字コードを使用していたときと同じ感覚で
円記号を用いることができる。
この問題は日本語環境に限った事ではない。もともと、ISO646上で0x5Cを
含む数種の文字は自由領域(バリアント)として各国での定義を認めていた。
そのため、日本語以外でもASCIIでバックスラッシュに相当するコードに
異なる記号を当てているケースが多い。例えば、韓国ではウォン記号
(WON SIGN, U+20A9, "₩") である。
151:デフォルトの名無しさん
09/01/26 16:04:16
WAVE DASH - FULLWIDTH TILDE問題
JIS X 0221規定のJIS X 0208とJIS X 0221の対応表では、
波ダッシュはWAVE DASH (U+301C, "〜") に対応させているが、
マイクロソフトはWindowsのShift_JISとUnicodeの変換テーブルを作成する際に、
JIS X 0208において1区33点に割り当てられている波ダッシュ "〜" を、
Unicodeにおける全角チルダ (FULLWIDTH TILDE, U+FF5E, "~") に割り当てたため不整合が生じる。
この結果、Mac OS等のJIS X 0221準拠のShift_JIS ⇔ Unicode変換テーブルをもつ処理系と、
Windowsとの間でUnicodeデータをやり取りする場合、文字化けを起こすことになる。
そこでWindows以外のOS上で動くアプリケーションの中には、CP932という名前で
マイクロソフト仕様のShift_JISコード体系を別途用意して対応しているケースが多い。
この原因とされているUnicode仕様書の例示字形の問題に関しては、
波ダッシュ#Unicodeに関連する問題を参照すること。
また、マイクロソフトは同様にEM DASH (U+2014, "—") をHORIZONTAL BAR (U+2015, "―") に、
DOUBLE VERTICAL LINE (U+2016, "‖") をPARALLEL TO (U+2225, "∥") に、
MINUS SIGN (U+2212, "−") をFULLWIDTH HYPHEN-MINUS (U+FF0D, "-") に
割り当てており、これらの変換時にも問題が起こる。Windows VistaやMicrosoft Office 2007に
付属するIMEパッドの文字一覧におけるJIS X 0213の面区点の表示は、上記の文字についても
JISで規定されているものと同じマッピングを使用している。
152:デフォルトの名無しさん
09/01/26 16:05:53
無理やり2バイトに当て嵌めようとしたとかそういうレベルじゃなくて
それ以前のもっと根源的な問題
(従来のいくつかの文字コードでの問題点がなんら改善されていない)
153:デフォルトの名無しさん
09/01/26 16:07:32
へんな文字コードをさらに増やしただけ
154:デフォルトの名無しさん
09/01/26 17:18:32
pythonがだめな言語であることがよくわかりました。
155:デフォルトの名無しさん
09/01/26 18:43:29
これから始めようと思ってるんだけど2.6と3.0どっちがいいの?
156:デフォルトの名無しさん
09/01/26 18:49:48
>>155
好き勝手できるのなら3.0
157:デフォルトの名無しさん
09/01/26 19:21:36
2.5
158:デフォルトの名無しさん
09/01/26 19:40:47
2.6
159:デフォルトの名無しさん
09/01/26 19:45:47
2.71828182845904523536
160:デフォルトの名無しさん
09/01/26 19:51:24
e
161:デフォルトの名無しさん
09/01/26 20:29:51
METAFONT乙
162:デフォルトの名無しさん
09/01/26 20:32:14
またruby厨が荒らしてるのか
163:デフォルトの名無しさん
09/01/26 21:17:09
またruby厨が荒らしてるのか
164:デフォルトの名無しさん
09/01/26 21:22:20
py乙
165:デフォルトの名無しさん
09/01/26 21:23:04
しかし、なんでUnicodeみたいな糞仕様作ったんだろうな。
166:デフォルトの名無しさん
09/01/26 21:25:40
python.jp のサイトの python ダウンロードリンクは
どう読んでも python 初心者向けなのに初心者用じゃない説明
日本語を扱うために別途 codec ダウンロードが必要な気がしてくる
167:デフォルトの名無しさん
09/01/26 21:32:25
「初めてのかたへ」とあるから「Pythonのダウンロード」行ってみると
URLリンク(www.python.jp)
ここの左側のコンテンツに目立つように
「日本語環境用インストーラ(Win32)・・・」
っていうのがあって嫌でも目に入ってくる
URLリンク(www.python.jp)
もうこれを入れなきゃ恥じマラ内みたいな
どっかに断り書きが一言でもあれば
不要だということが分かって良いのに
168:デフォルトの名無しさん
09/01/26 21:40:43
頼むから少しは>>2を見てくれ
169:デフォルトの名無しさん
09/01/26 21:51:57
馬鹿ですね分かります
170:デフォルトの名無しさん
09/01/26 21:53:57
頼むから少しは>>2を見てくれ
171:デフォルトの名無しさん
09/01/26 21:56:18
>>167
まあそれは言いがかりだけど
ダウンロードページ左のコンテンツの内容が古過ぎなのは同意
Python for Windows Extensions なんか見ても
URLリンク(www.python.jp)
2.3までしかないしww
やる気あんのか?とは思う
172:デフォルトの名無しさん
09/01/26 21:57:19
頼むから少しは>>2を見てくれ
173:デフォルトの名無しさん
09/01/26 22:03:28
日本語のエンコードについて教えてください。
お願いします。
174:デフォルトの名無しさん
09/01/26 22:06:01
はじぱい 第2版 (2004/11) \5,040
URLリンク(www.amazon.co.jp)
はじぱい原著 3rd Edition (2008/07/16) $26.39
URLリンク(www.amazon.com)
日本語の第3版って安価で出る予定ある?
175:デフォルトの名無しさん
09/01/26 22:28:20
またruby厨が荒らしてるのか
176:デフォルトの名無しさん
09/01/26 22:34:32
>>144
>>> import sys
>>> sys.maxunicode
65535
177:デフォルトの名無しさん
09/01/26 22:46:27
>maxunicode
>Unicode文字の最大のコードポイントを示す整数。この値は、オプション設定
>でUnicode文字の保存形式としてUSC-2とUCS-4のいずれを指定したかによって
>異なります。
178:デフォルトの名無しさん
09/01/26 22:50:36
UCS-2 だな
179:デフォルトの名無しさん
09/01/27 01:37:32
for a in range(10):
return a
でエラーが出るのはなぜですか?
180:デフォルトの名無しさん
09/01/27 01:51:55
SyntaxError? IndentationError?
181:デフォルトの名無しさん
09/01/27 07:00:08
またruby厨が荒らしてるのか
182:デフォルトの名無しさん
09/01/27 09:51:27
>>180
SyntaxErrorです。
183:デフォルトの名無しさん
09/01/27 09:59:39
>>> for a in range(10):
... return a
...
File "<stdin>", line 2
SyntaxError: 'return' outside function
184:デフォルトの名無しさん
09/01/27 11:57:07
>>182
意味がわかりません。
>>183
なんですかそれ?
185:デフォルトの名無しさん
09/01/27 15:36:37
>>184
SyntaxErrorです。
186:デフォルトの名無しさん
09/01/27 15:58:28
for a in range(10):
yield a
でエラーが出るのはなぜですか?
187:デフォルトの名無しさん
09/01/27 16:54:47
>>185
エスワインタックスエッロラー?
なんですかそれ?
188:デフォルトの名無しさん
09/01/28 13:24:24
++++[>++++[>+++++>++++>+++++>+++++<<<<-]<-]>>-----.>+.>+++.>-.
189:デフォルトの名無しさん
09/01/29 02:22:55
Python好きなんだけど命名規則はそろえてほしい
190:デフォルトの名無しさん
09/01/29 03:16:26
関数やメソッド名にCamelcase使っちゃいけないのはどうして?
_を使うよりもタイプしやすいんだけどな。
191:デフォルトの名無しさん
09/01/29 03:54:23
自分しか使わないんだったら使えばいい
192:デフォルトの名無しさん
09/01/29 05:57:24
BeautifulSoupとかキャメルなのが気になる
あと_で区切るとこと区切らないとこってなんか決まりある?
dict.has_keyは区切ってるのにdict.iterkeysとか区切らないのはなんで?
193:デフォルトの名無しさん
09/01/29 08:21:54
きちんとした命名規則に則ってるのは3.0のライブラリからだろ
2.Xまでは標準ライブラリですらバラバラだし
BeautifulSoupとかの野良ライブラリは従う必要ない
has_keyは3.0で廃止だから存在を忘れろ
194:デフォルトの名無しさん
09/01/29 16:07:38
python でオブジェクトがある属性を持つかどうかって
どのようにして調べるのが良いのでしょうか?
__dict__ にしてキーを持つかどうかですか?
195: ◆UNKOVIP9RM
09/01/29 16:15:55
>>194
下駄を履けば良いんじゃない
196: ◆UNKOVIP9RM
09/01/29 16:25:34
>>195
おまえもしかしてgetattrのことか?
197: ◆UNKOVIP9RM
09/01/29 16:26:12
>>196
だったらなんだよカス
198:デフォルトの名無しさん
09/01/29 16:35:38
↑こういうのって草民ってやつ?
ほんとうにきもちわるいんだねはきそう
199:デフォルトの名無しさん
09/01/29 18:01:33
モンティパイソン精神を忘れるな!
200:デフォルトの名無しさん
09/01/30 06:25:13
pydoc で関数の引数に対する説明も表示させるって
できるんでしょうか?関数を定義するときに
それぞれの引数に対するドキュメント文字列(docstring)を
設定できればいいなと思っているのですが。
201:デフォルトの名無しさん
09/01/30 07:02:28
func("ほげほげほげほげ", ["はげはげはげはげ", "長い文字列長い長い"], xxx="シシシシシシシシシシ", yyy="パパパパパパパパパパパパパパ"
のように、しばしば文や関数呼び出しが長くなることがありますが、
これは途中で改行していいんでしょうか?というのは Python って
インデントが意味を持つので、じゃぁ適当に改行したとして
インデントはどうすりゃいいんだよ!と悩んでいます。
202:デフォルトの名無しさん
09/01/30 08:06:58
>>> '
SyntaxError: EOL while scanning single-quoted string
>>> "
SyntaxError: EOL while scanning single-quoted string
>>> """
"""
'\n'
>>> (
)
()
>>> [
]
[]
>>> {
}
{}
>>> int(
1
)
1
203:デフォルトの名無しさん
09/01/30 08:47:00
>>> def hoge(fuga, hage):
... '''hoge(fuga:FUGA, hage:HAGE)HOGE'''
... return 1
...
>>> help(hoge)
Help on function hoge in module __main__:
hoge(fuga, hage)
hoge(fuga:FUGA, hage:HAGE)HOGE
204:デフォルトの名無しさん
09/01/30 08:51:44
>>201
問題なし
>>> def func(a, b, xxx='hoge', yyy='fuga'):
... print a, b, xxx, yyy
...
>>> func("ほげほげほげほげ", ["はげはげはげはげ", "長い文字列長い長い"], xxx="シ
シシシシシシシシシ", yyy="パパパパパパパパパパパパパパ")
ほげほげほげほげ ['\x82\xcd\x82\xb0\x82\xcd\x82\xb0\x82\xcd\x82\xb0\x82\xcd\x82\
xb0', '\x92\xb7\x82\xa2\x95\xb6\x8e\x9a\x97\xf1\x92\xb7\x82\xa2\x92\xb7\x82\xa2'
] シシシシシシシシシシ パパパパパパパパパパパパパパ
>>> func("ほげほげほげほげ", ["はげはげはげはげ",
... "長い文字列長い長い"
... ], xxx="シシシシシシシシシシ",
... yyy="パパパパパパパパパパパパパパ")
ほげほげほげほげ ['\x82\xcd\x82\xb0\x82\xcd\x82\xb0\x82\xcd\x82\xb0\x82\xcd\x82\
xb0', '\x92\xb7\x82\xa2\x95\xb6\x8e\x9a\x97\xf1\x92\xb7\x82\xa2\x92\xb7\x82\xa2'
] シシシシシシシシシシ パパパパパパパパパパパパパパ
>>>
俺はそんなことよりもインタラクティブモードで
リストの日本語が出ないことの方が問題だと思っている
205:デフォルトの名無しさん
09/01/30 13:02:15
>>> ["はげはげ"]
['\x82\xcd\x82\xb0\x82\xcd\x82\xb0']
>>> print str(_).decode("string-escape")
['はげはげ']
>>> [u"はげはげ"]
[u'\u306f\u3052\u306f\u3052']
>>> print str(_).decode("unicode-escape")
[u'はげはげ']
3.0なら
>>> ["はげはげ"]
['はげはげ']
206:デフォルトの名無しさん
09/01/30 13:17:36
thx!
207:デフォルトの名無しさん
09/01/30 13:20:16
str() と repr() はどうちがうのですか?
208:デフォルトの名無しさん
09/01/30 13:24:35
TerboGearでわからない所があるので、教えてください。
209:デフォルトの名無しさん
09/01/30 13:34:14
つ
URLリンク(python.g.hatena.ne.jp)
URLリンク(jutememo.blogspot.com)
URLリンク(jutememo.blogspot.com)
URLリンク(jutememo.blogspot.com)
URLリンク(d.hatena.ne.jp)
URLリンク(programming-magic.com)
URLリンク(www.python.jp)
210:デフォルトの名無しさん
09/01/30 13:35:21
>>208
難題?
211: ◆UNKOVIP9RM
09/01/30 13:47:02
>>210
なんだい?
とかけてみた
212: ◆UNKOVIP9RM
09/01/30 13:54:10
モンティパイソン精神ってなんだよ。
見たけど、人生適当で良いんだなぐらいしか思わなかったんだけど。
213:デフォルトの名無しさん
09/01/30 14:07:16
人生は航海の連続です
214:デフォルトの名無しさん
09/01/30 14:13:00
・人の中で浮いてしまう
・幼児期は他の子と遊ぶより一人遊びが好きだった
・同年齢の人と波長が合わない
・人との接し方のマナーやルールがよくわからない
・意図せず人を傷つけて嫌われてしまう
・暗黙のルールにいつまでたっても気づけない
・変なところで積極的すぎる
・自分の関心のあることだけを一方的にしゃべり、しゃべり終えたら満足して相手の話をきけない
・会話が長続きしない
・話し方が簡潔でなく回りくどい
・曖昧なこと、ファジーなことが苦手
・細かいところにこだわる
・独り言を言う
・駄洒落や語呂合わせが好き
・融通がきかない
・電車、河や水の流れ、風にゆれる草木、雲などを延々と見続ける
・こだわりが強すぎる
・柔軟性に乏しい
・予想外の事態に対処ができない
・コレクション癖が普通より強い
・機械的記憶力が優れていることが多い
・自分の行動パターンに沿えない時は不機嫌になる
・ものまね遊びが好き
・ビデオやDVDに録画しまくって見ない
・模倣して習得することは苦手だが、模倣なしに自分一人でやると出来る
・独学でないと学べない
215: ◆UNKOVIP9RM
09/01/30 14:36:55
>>214
これがモンティの精神か
なるほど
216:デフォルトの名無しさん
09/01/30 14:38:20
わかってんじゃん
217:デフォルトの名無しさん
09/01/30 15:32:57
TurboGearsとpysqliteを組み合わせて使っているのですが、
tg-admin sql create とコマンドプロンプトでコマンドを打っても、
This command to be run from inside a project directoryと出て、
devdata.sqliteを生成できません。どうしたらいいでしょうか?
218:デフォルトの名無しさん
09/01/30 15:57:38
超初心者ですがGoogleカレンダーみたいなWebアプリを
作りたいんですが・・・・
カレンダーの日付の場所をクリックすると吹き出しみたいのが
出てきて、予定の詳細を入力できるような感じです。
Pythonだけで作れるんでしょうか?
JavaScriptとかと組み合わせないと無理なんでしょうか?
219: ◆UNKOVIP9RM
09/01/30 15:58:16
URLリンク(www.atmarkit.co.jp)
あっちゃんが語る
220: ◆UNKOVIP9RM
09/01/30 15:59:49
>>218
まずpythonインタプリタが動くブラウザを作るんだよ。
221:デフォルトの名無しさん
09/01/30 16:22:07
>>218
最低限HTML、CSS、JavaScript、CGIの知識
その他ウェブサーバ、データベースについての知識も欲しい
222:デフォルトの名無しさん
09/01/30 17:07:12
HTTPもな
223:デフォルトの名無しさん
09/01/30 18:52:04
アプリケーションの設定ファイルってどこに保存するのが
いいんだろうなぁ。どこでも同じ設定になるようにって
以前 Googel Base に保存するような変り種のアプリを
Python で作ったことがあったんだけど、認証無しで
見れるところに保存するのもなぁとおもってやめた。
ローカルで使うアプリケーションもあまねくウェブ
インターフェイスを備えて、ブラウザのクッキーに
蓄積するなんてことも考えたけど、面倒でやめた。
結局は $HOME/.hogehoge になるのかねぇ。
224:デフォルトの名無しさん
09/01/30 19:18:37
>>214
なかなかいい奴だな
225:デフォルトの名無しさん
09/01/30 20:01:02
だったらGoogleCalendar使えばいいじゃん
GoogleCalendar用PythonAPIは公開されてるよ
226:デフォルトの名無しさん
09/01/30 20:41:36
def combi(a, b):
return [x + (y,) if isinstance(a[0], tuple) else (x, y) for x in a for y in b]
combi(combi('0123', '0123'), '0123')
[('0', '0', '0'), ('0', '0', '1'), ('0', '0', '2'), ('0', '0', '3'), ('0', '1', '0'), ('0', '1', '1'), ...,
...,
('3', '3', '1'), ('3', '3', '2'), ('3', '3', '3')]
これを
'0123'の桁が大きくても逐次結果が出てくるように
def combi(a, b):
for x in a:
for y in b:
if isinstance(a[0], tuple):
yield x + (y,)
else:
yield (x, y)
と書き換えました
combi('012', '012')
<generator object at 0x009BAE40>
[t for t in combi('012', '012')]
[('0', '0'), ('0', '1'), ('0', '2'), ('1', '0'), ('1', '1'), ('1', '2'), ('2', '0'), ('2', '1'), ('2', '2')]
までは結果が得られたのですが
[t for t in combi(combi('012', '012'), '012')]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 4, in combi
TypeError: 'generator' object is unsubscriptable
なぜこうなるのでしょうか?
227:デフォルトの名無しさん
09/01/30 20:44:09
[t for t in combi([s for s in combi('012', '012')], '012')]
[('0', '0', '0'), ('0', '0', '1'), ('0', '0', '2'),
('0', '1', '0'), ('0', '1', '1'), ('0', '1', '2'),
('0', '2', '0'), ('0', '2', '1'), ('0', '2', '2'),
('1', '0', '0'), ('1', '0', '1'), ('1', '0', '2'),
('1', '1', '0'), ('1', '1', '1'), ('1', '1', '2'),
('1', '2', '0'), ('1', '2', '1'), ('1', '2', '2'),
('2', '0', '0'), ('2', '0', '1'), ('2', '0', '2'),
('2', '1', '0'), ('2', '1', '1'), ('2', '1', '2'),
('2', '2', '0'), ('2', '2', '1'), ('2', '2', '2')]
228:デフォルトの名無しさん
09/01/31 01:32:42
>>227
ありがとうございました
229:デフォルトの名無しさん
09/01/31 18:31:15
作ったものをEXEファイルにするときはどのツールを使うのが一番いいんでしょうか?
230:デフォルトの名無しさん
09/01/31 19:43:00
py2exe が便利だと思うけど
一部下位のモジュールを上に引き上げてくるようなパッケージ
(たとえば pyasn1 とか pysnmp とか)が含まれてると
うまくいかない(それらのモジュールを含め損ねる)ね。
標準のライブラリだけをつかってるなら余裕。
231:デフォルトの名無しさん
09/01/31 20:07:36
>>230
pygameはどう?
232:デフォルトの名無しさん
09/02/01 20:07:58
クラスの__inti__ってなんで初期化っていうのですか?
アトリビュートに値を代入しているだけだとおもうですが。
233:デフォルトの名無しさん
09/02/01 20:36:01
>>232
ということはアトリビュートを初期化してるでしょ?
234:デフォルトの名無しさん
09/02/01 23:52:14
そもそも初期化ってなんだろうね
__inti__とはどういう関係があるんだろう
235:デフォルトの名無しさん
09/02/02 00:32:51
僕は至って真面目に質問してるので、回答お願いします
236:デフォルトの名無しさん
09/02/02 00:39:12
inchをローマ字して訓令式で綴ったのですねわかります
237:デフォルトの名無しさん
09/02/02 00:40:47
__inti__って何?今2.4勉強途中だからわからないんだけど、新仕様なの?
238:デフォルトの名無しさん
09/02/02 00:41:07
>>235
そんな事言われても・・・
239:デフォルトの名無しさん
09/02/02 02:54:53
真面目に質問してるんだからいい加減答えろよksども
240: ◆UNKOVIP9RM
09/02/02 11:09:09
>>239
おまえもな
241:デフォルトの名無しさん
09/02/02 11:23:44
__init__の間違いでしょう。
242: ◆UNKOVIP9RM
09/02/02 13:10:27
>>241
優しいな。
243: ◆UNKOVIP9RM
09/02/02 15:34:44
おまいらモンティなんちゃらがヨウツベで公開されるらしいぞ
URLリンク(www.gizmodo.jp)
244:デフォルトの名無しさん
09/02/02 18:59:18
Pythonに興味を持って調べはじめたPHPユーザです。
最近、Pythonの本を図書館でいくつか見てみたんですが、どれもコンソールからの
入出力とかばっかりで、Webアプリケーションをつくるための情報が見つらず困り中です。
LLを覚える際には、大体Webアプリ制作に興味があってそのために1個覚えるというのが
よくある流れだと思いますが、少なくとも日本だとそれに応える情報源がPHPやPerlに
比べて圧倒的に見つかりにくい気がします。
そこで2点質問なのですが、
1、こういう本はあるんですが(内容が浅いので不評のようです)、ほかにあります?
URLリンク(www.amazon.co.jp)
2、欧米だと、なぜPythonは人気なんでしょうか?
(Civ4とかスタンドアローンで使われてるのは知ってますが、Webアプリ制作用としても
Googleなどで人気ある理由がわかりません。サーバの環境構築など、PHPやPerlの
方が導入が簡単に思われるのですが。)
ご意見おまちしています。
245:デフォルトの名無しさん
09/02/02 19:20:56
あの……すいません
1~100までの素数を返させたいのですが、なかなかうまくいきません
知恵を貸していただけませんか
以下が途中までのプログラムです
なぜか、これだと素数以外の数が返されてしまうんです
できれば特殊な関数とかは使いたくないんです
#-*- coding: utf-8 -*-
#1~100までの数の素数を割り出す
import time
while True:
for i in range(100):#Iを割り出す数とする
if i == 99:#iが99になったら終了
break
else:
for o in range(2,i):
p = i % o
if p == 0:#あまりがでなかったら(1とその数自身以外で割りきれてしまったら)
print i
time.sleep(0.5)
break
else:
continue
break
246:デフォルトの名無しさん
09/02/02 19:22:49
あ、すいませんインデントが……orz
247: ◆UNKOVIP9RM
09/02/02 19:23:11
>>244
amazonでDjangoって本を検索しる
248:デフォルトの名無しさん
09/02/02 19:25:00
import time
while True:
for i in range(100):#Iを割り出す数とする
if i == 99:#iが99になったら終了
break
else:
for o in range(2,i):
p = i % o
if p == 0:#あまりがでなかったら(1とその数自身以外で割りきれてしまったら)
print i
time.sleep(0.5)
break
else:
continue
break
249: ◆UNKOVIP9RM
09/02/02 19:26:05
>>244
ちゅうかね。Django1.0のチュートリアルを一通り読めば、なんでもできるよ。
URLリンク(djangoproject.jp)
あと最近ググルさんが公開したチュートリアル。
URLリンク(code.google.com)
これだけ嫁ばじゅうぶんのようなきがす。
250: ◆UNKOVIP9RM
09/02/02 19:39:52
>>245>>248
URLリンク(d.hatena.ne.jp)
251:デフォルトの名無しさん
09/02/02 19:41:56
ありがとうございます!!
252:デフォルトの名無しさん
09/02/02 20:06:54
Google App Engine の Django は 1.0 なんでしょうか?
253:デフォルトの名無しさん
09/02/02 20:23:48
URLリンク(code.google.com)
>利便性のため、App Engine には Django Web アプリケーション フレームワーク
>バージョン 0.96.1 が同梱されています。
254:デフォルトの名無しさん
09/02/02 20:41:58
関数オブジェクトってどういうものですか?
255:デフォルトの名無しさん
09/02/02 20:49:56
Google App EngineってDjangoで作ってあるんですか?
256:デフォルトの名無しさん
09/02/02 21:37:30
Django使っても良いし使わなくても良い
257:デフォルトの名無しさん
09/02/03 08:42:34
ウィジェットってPython的にどういうモノなんでしょうか?
258:デフォルトの名無しさん
09/02/03 20:24:58
wxWidgets
↓
wxPython
259:デフォルトの名無しさん
09/02/03 22:58:40
なんでpythonなんか勉強するの?
ZOPEとか使っちゃうの?
PLONEとか使っちゃうの?
redhatのインストーラーとか作っちゃうの?
260:デフォルトの名無しさん
09/02/03 23:04:09
>>259
初心者向けって言われたからとりあえずpythonやってるだけ
261:デフォルトの名無しさん
09/02/04 00:12:54
何でもできる汎用スクリプト言語というと、
Perl, Python, Rubyあたりになると思うけど、
この中でコードが一番読みやすそうだと思ったから。
262:デフォルトの名無しさん
09/02/04 02:17:19
Lispなんかどうだい?
括弧は怖くない、友達だよ!
263:デフォルトの名無しさん
09/02/04 02:55:56
Lispはやっといて損はないよな。
ただ続けないとすぐ忘れてしまうけど。
264:デフォルトの名無しさん
09/02/04 05:54:40
Syntax が一種類しかないから楽<Lisp
265:デフォルトの名無しさん
09/02/04 09:15:53
Pythonではモジュールの __version__ や __author__ は pydoc
で認識されますが、パッケージでも同様なのでしょうか?
たとえばパッケージの __init__.py で __version__ などを
指定しておけば、それは pydoc が認識してドキュメントを
作成してくれるのでしょうか?
266:デフォルトの名無しさん
09/02/04 09:31:50
Lisp って基本構造は
(A B C)
しかなくて
(A B (a b c))
になってたり
(A (a b c) C)
になってたり
(A (i j k) (a b (x y z)))
になってたりするだけだと思う
それが分かってやっと読めるようになったかもって感じ
書けないけど
267:265
09/02/04 10:55:42
すんません,話しの流れをぶったぎって.
p1/__init__.py
p1/m1.py
のようにパッケージ p1 とモジュール m1 を作ってます.
import p1 で p1/__init__.py が呼び出されます.
import p1.m1 でモジュール m1 が使えます.
m1 の中で単に一行 v1 = "abc" と書くと,
v1 は m1 というモジュールの中でのグローバルスコープになりますよね?
そして名前空間としては p1.m1 にあって,
p1.m1.v1 という名前で参照することができます.
普通は __init__.py では変数の定義など書かないのかもしれませんが,
p1/__init__.py で v2 = "def" と書いたとすると,それは
度のスコープになるんでしょうか?
実際にやってみると名前空間としては p1 の下にあるので
p1.v2 として参照できます.
このとき p1.v2 のスコープは
パッケージをインポートしたモジュールから見て
どうなるのでしょうか?
C++メインだったので,名前空間はファイルシステムとは関係なく
明示的に指定するということに慣れているのと,パッケージという
システムが理解できていません.
268:265
09/02/04 11:13:04
やはりPythonにおけるパッケージシステムの概念が
分かっていなかったようです.パッケージシステムと
import において何が内部で行われているのかについて
勉強し直してきます・・・
URLリンク(www.python.org)
269:デフォルトの名無しさん
09/02/04 11:30:45
みんなのpythonを読んだ後って初めてのpythonを読む必要ってありますか?
270:デフォルトの名無しさん
09/02/04 11:32:18
ないです。クックブックがいいよ
271:デフォルトの名無しさん
09/02/04 12:05:41
同じ要素の繰り返しからなるリストを生成する
シンプルな記述方法はあるでしょうか?
123,5 という入力から [123,123,123,123,123]
というリストを得たいと思っています。
ジェネレータで5回生成するようにもしてみたのですが
ワンライナーでほんもの?のリストを得たいです。
272:デフォルトの名無しさん
09/02/04 12:10:05
[123] * 5
273:デフォルトの名無しさん
09/02/04 12:10:19
も、もしかして
5 * [123]
で終わりっすか?
もしそうなら死にたい。
そんなことに気付かなかった自分に絶望した。
274:デフォルトの名無しさん
09/02/04 12:10:42
鬱だ
275:デフォルトの名無しさん
09/02/04 12:30:50
MySQLdbで辞書のキーと値に基づいて自動的に
SELECTクエリを発行してくれる関数ってあります?
たとえば {"col1":"111", "col2":"222"}
から "SELECT myid FROM mytable WHERE col1="111" AND col2="222"
を生成してくれれば便利だなと思うのですが。
276:デフォルトの名無しさん
09/02/04 16:48:14
>>266
Lispの基本要素はS式だろ
277:デフォルトの名無しさん
09/02/04 16:51:24
[1,2,3,4] * 4
がどうして[1,2,3,4,1,2,3,4,1,2,3,4]になるんだろうね
ベクトルの定数倍になってほしい
278:デフォルトの名無しさん
09/02/04 17:08:45
ベクトルじゃなくてシーケンスだからしょうがない
279:デフォルトの名無しさん
09/02/04 17:09:58
a * 4 = a + a + a + a
こういう事だと思う。
文字列とか連結リストオブジェクト同士を足すとそうなる。
280:デフォルトの名無しさん
09/02/04 17:23:59
'SELECT myid FROM mytable WHERE col1=%(col1) AND col2=%(col2)' % vars()
281:デフォルトの名無しさん
09/02/04 17:29:34
>>277
>>> map(operator.mul, [1,2,3,4], [4]*4)
[4, 8, 12, 16]
282:デフォルトの名無しさん
09/02/04 17:50:48
和とかスカラーの積の場合は単純だけど、
リスト*リストだと内積をとるべきなのか外積をとるべきなのか迷うなあ
いやベクトルの要素同士を掛けてベクトルを返すというのもありなのか
行列を考えるとさらに面倒だな
やはり現状のが自然か
283:デフォルトの名無しさん
09/02/04 18:30:01
URLリンク(www.iba.t.u-tokyo.ac.jp)
URLリンク(www.atmarkit.co.jp)
URLリンク(www.atmarkit.co.jp)
URLリンク(www.atmarkit.co.jp)
URLリンク(www.atmarkit.co.jp)
URLリンク(www.atmarkit.co.jp)
284:デフォルトの名無しさん
09/02/04 20:50:22
プログラムでいう「受ける」とはどういう意味ですか?
285:デフォルトの名無しさん
09/02/04 20:58:45
典型的には関数やメソッドなどの戻り値(返り値)を変数に代入することです
>>> 'a,b,c'.split(',') # メソッドの返り値を受けずに捨てている
['a', 'b', 'c']
>>> result = 'a,b,c'.split(',') # 返り値を受ける
>>> result
['a', 'b', 'c']
286:デフォルトの名無しさん
09/02/04 21:47:19
_/ ̄ ̄~\-、
rイ/ ̄ ̄ ̄\ 丶丶
{ミ/// // 丶 丶| |
Y LLハLLハLL丶 || |
| V● ィ●丶 6)|
|f⌒ (_ ⌒i イ |
|| トェェェイ | | し
/||\  ̄ ノ| し彡
`ノノ//`ー―-′丶ヾ\
/| //
(/ ヽ___/ \ノ
287:デフォルトの名無しさん
09/02/04 23:35:54
内積の求め方ってこれであってますか?
reduce(lambda x,y: x+y, map(operator.mul,[1,2,3],[4,5,6]))
288:デフォルトの名無しさん
09/02/05 00:59:26
それで合ってるけど
sum(map(operator.mul, [1,2,3], [4,5,6]))
でもいいよ
289:デフォルトの名無しさん
09/02/05 02:04:52
numpy.dot
290:デフォルトの名無しさん
09/02/05 03:16:32
URLリンク(www.python.org)の定数の項で
Constants
Constants are usually declared on a module level and written in all
capital letters with underscores separating words. Examples include
MAX_OVERFLOW and TOTAL.
とあるけど、module levelって何のこと?
291:デフォルトの名無しさん
09/02/05 11:47:54
>>285
「例外クラスを受ける」の「受ける」も同じことが言えますか?
292:デフォルトの名無しさん
09/02/05 12:09:47
>>291
それは多分「try節で送出された例外をexcept節で捕捉する」の意。
293:デフォルトの名無しさん
09/02/05 16:50:21
>>287
reduce(operator.add,map(operator.mul,[1,2,3],[4,5,6]))
294:デフォルトの名無しさん
09/02/05 17:16:38
>>292
ありがとうございます。
では、「例外を受けるクラス」はどういう意味ですか?
295:デフォルトの名無しさん
09/02/05 17:33:25
tryが書いてあるメソッドを持つクラスのことです
296:デフォルトの名無しさん
09/02/05 17:45:21
英語講座だか日本語講座になってきたな
297:デフォルトの名無しさん
09/02/05 18:12:46
URLリンク(ana.20ch.net)
298:デフォルトの名無しさん
09/02/05 22:49:13
ある科学計算をさせるpackage(以降pyhoge)を作成しようと思っているんですが、
その計算で使用する数値テーブルも同梱しようと思っています。
.pyの中にべた書きするのは大変なので、
table.datのようなASCIIファイルを同梱する予定です。
このような場合、setup.pyにはtable.datをどのように処理させればいいのでしょうか。
URLリンク(www.python.org)
を読むと.py以外の配布物も含められるようなのですが、
site-packages/pyhoge/以下を指定する方法はあるのでしょうか。
またできたとして、site-packages/pyhoge以下のファイルを、
.pyの中から指定させるようにするには、.pyをどのように書いておけばいいでしょうか。
299:デフォルトの名無しさん
09/02/05 23:05:49
過去ログ読まずに質問して申し訳ないがRubyのpとかppみたいなオブジェクトの中身を表示してくれる関数ってPythonにはあるの?
300:デフォルトの名無しさん
09/02/05 23:11:35
URLリンク(www.python.org)
301:デフォルトの名無しさん
09/02/05 23:12:31
>>299
ありますよ
302:デフォルトの名無しさん
09/02/05 23:14:48
>>301
すんません、関数名を教えてください。後はぐぐります。
303:デフォルトの名無しさん
09/02/05 23:37:17
>>302
p?
URLリンク(docs.python.org)
URLリンク(docs.python.org)
pp?
URLリンク(docs.python.org)
304:デフォルトの名無しさん
09/02/05 23:41:36
>>303
㌧クスです。
305:デフォルトの名無しさん
09/02/06 12:13:21
class Hoge(object):
def __init__(self, arr):
self.arr = arr
みたいなclassを作るときに、arrがlistだったりすると、
>>> arr = [1, 2, 3]
>>> h = Hoge(arr)
>>> h.arr
[1, 2, 3]
>>> arr[0] = 10
>>> h.arr
[10, 2, 3]
のように中身が変わることがありますよね。
C++のように値渡しにしておきたい場合は、
copy.copyを多用すればいいんでしょうか。
306:デフォルトの名無しさん
09/02/06 12:29:31
一般的に、型チェックはどの程度真面目にやるものなのでしょうか。
もちろん用途によるのですが、Python使いの人の流儀としての一般論です。
正しい型を引数に渡すかはユーザ次第と考えるのか、
ユーザが間違った引数を渡したときは丁寧に教えてあげるのか。
307:デフォルトの名無しさん
09/02/06 15:15:12
>>305
self.arr = list(arr)
>>306的な意味も兼ねる。
308: ◆UNKOVIP9RM
09/02/06 15:50:54
URLリンク(itpro.nikkeibp.co.jp)
ruby厨・・・
309: ◆UNKOVIP9RM
09/02/06 15:55:21
なんでpythonの勉強会で円陣を組まないのかが全く分かりません。
勉強会はエンジンを組むべきだし。
310:デフォルトの名無しさん
09/02/06 19:12:40
s = "1 2 3"
f = float(s.split())
みたいにやって、fが[1, 2, 3]となるようにしたいのですが、
どのような方法があるでしょうか。
311:デフォルトの名無しさん
09/02/06 19:53:46
ここにあるソースをパクって、データベースにはMySQLで作ったDBにはアクセスできるようになったんだけど
URLリンク(www.etemonkey.com)
これをもう一歩進化(?)させて、何かのブラウザでやりたいんだけど、どーやってやるの?
MySQLに動物のDBがあったとして、ブラウザのテキストボックスに「象」って入れて実行ボタンおすと
その下に、象のデータがピコーンって表示される感じにしたい
312:デフォルトの名無しさん
09/02/06 20:16:23
>>> s = "1 2 3"
>>> [float(i) for i in s.split()]
[1.0, 2.0, 3.0]
>>> map(float, s.split())
[1.0, 2.0, 3.0]
>>> [int(i) for i in s.split()]
[1, 2, 3]
>>> map(int, s.split())
[1, 2, 3]
313:デフォルトの名無しさん
09/02/06 22:13:04
ちぃ map もう覚えた
314:デフォルトの名無しさん
09/02/07 00:18:04
Pythonって、for文の中でreturnしても大丈夫なんだっけ?
315:デフォルトの名無しさん
09/02/07 00:20:26
ok
yieldもok
316:デフォルトの名無しさん
09/02/07 00:22:32
thanks!
317:デフォルトの名無しさん
09/02/07 01:10:09
jk
318:デフォルトの名無しさん
09/02/07 01:19:08
なるほど
ありがとうございました
319:デフォルトの名無しさん
09/02/07 01:26:21
IDLEからF5で実行して右上の×で終了させると
ウィンドウだけじゃなくIDLEも終了しちゃうんだけどどうすればいいんですか?
320:デフォルトの名無しさん
09/02/07 03:42:52
再起動
321:デフォルトの名無しさん
09/02/07 09:07:54
Python使いの諸君!
速く2chでタブが表示されるように左翼活動を開始せよ!
322:デフォルトの名無しさん
09/02/07 11:40:32
>>321
言ってる意味が分からない
323:デフォルトの名無しさん
09/02/07 11:43:12
2ちゃんでタブのインデントが崩れないようにしようぜ、と言ってるのかと
324:デフォルトの名無しさん
09/02/07 11:47:49
それはHTMLの仕様上どうしようもないような
pre使うとAAに影響出るし
2chの規模を考えると埋め込みコードとかの重そうな機能追加は望み薄
325:デフォルトの名無しさん
09/02/07 12:15:16
Python使いの諸君!
速く2chでタブが表示されるように左翼活動を開始せよ!
326:デフォルトの名無しさん
09/02/07 12:39:22
thread.start_new_thread(func,())
で生成したスレッドの中でさらにスレッドを作ろうとするとエラーになります。
これは仕様なのでしょうか
327:デフォルトの名無しさん
09/02/07 12:52:28
投稿の行の先頭に
#!
があったらそれ以降はそのレスだけ
pre適用してもいいんじゃね?
328:デフォルトの名無しさん
09/02/07 12:53:54
いらん機能追加して脆弱性が生じても困るので勘弁。
329:デフォルトの名無しさん
09/02/07 12:57:35
すみません。仕様なのでしょうか。
330:デフォルトの名無しさん
09/02/07 13:14:14
>>326
>エラーを解決したいときはエラー表示や環境を略さずに書き込んで下さい。
331:319
09/02/07 13:55:08
説明不足でした
実行してるファイルだけ終了したいんだけどどうすればいいんですか?
332:デフォルトの名無しさん
09/02/07 14:20:39
複雑だと思うならつかわなきゃいいんじゃねーの?
なんでアホはあるもの全部使わなきゃ気がすまねーの?
333:デフォルトの名無しさん
09/02/07 14:30:29
Windows 版の Python で pydoc どうやって起動すんの?
python.exe -m pydoc なの?
334:デフォルトの名無しさん
09/02/07 14:58:16
try-exception以外に変数が存在するかどうかをテストする方法はありますか?
335:デフォルトの名無しさん
09/02/07 15:03:45
こんなん?
>>> a = 1
>>> 'a' in vars()
True
>>> 'b' in vars()
False
336:デフォルトの名無しさん
09/02/07 15:15:10
in locals()
337:デフォルトの名無しさん
09/02/07 15:17:14
おおそんな手が!
でもインスタンス変数に対してはどうやったら・・
blenderが必ずしもすべてのインスタンス変数を生成しているわけではないので
アクセスするとトラップばっかりなんですよね。
嫌らしい事に条件によって生成されたりされなかったりなので
これを回避しようとするとtry-exceptだらけになってすごいことになる。
とりあえずvars()を調べてみます。
任意のインスタンスのインスタンス変数にも適用できるスマートな方法があったら教えて頂きたく・・
338:デフォルトの名無しさん
09/02/07 15:27:59
>>> 'sort' in dir([1,2,3])
True
>>> 'read' in dir([1,2,3])
False
間違ってるかもしれないからエロい人のレスも待ってね
339:デフォルトの名無しさん
09/02/07 15:34:31
ああボケてた。>>338はスルーで
340:デフォルトの名無しさん
09/02/07 15:59:56
>>337
ありますよ
341:デフォルトの名無しさん
09/02/07 16:06:08
>>337
getattr
342:341
09/02/07 16:06:43
hasattrだった
343:デフォルトの名無しさん
09/02/07 16:07:49
getattr(インスタンス,メソッド,無かった場合に返す値)
無かった場合に返す値が定義されてないとエラー返す。
344:デフォルトの名無しさん
09/02/07 16:17:29
>>342
ばっちりですた。
これでいってみようと思います。ありがとうございました!
if hasattr(aMesh , 'dgre'):
print aMesh.dgre
else:
print '普通セットされないよ'
345:デフォルトの名無しさん
09/02/07 18:52:59
print getattr(aMesh , 'dgre', '普通セットされないよ')
346:デフォルトの名無しさん
09/02/07 19:48:33
>>319
Tkinterのアプリを作っている?
もしそうなら IDLE からではなく別途実行するのがいいかと。
IDLE も Tkinter で作られていて
自作アプリが異常終了したりすると IDLE も巻き込まれて死ぬことが多い。
予め開いたコマンドプロンプト(DOS 窓)から実行するのがオヌヌメ。
(例えば Windows だと .py のダブルクリックでも実行できるけど
異常終了したときエラーメッセージを読む前に DOS 窓が閉じてしまうから。)
347:デフォルトの名無しさん
09/02/07 19:56:46
なるほど
ありがとうございました
348:デフォルトの名無しさん
09/02/07 21:56:00
universal feed parser使ってる人いる?
パースした結果を普通のpythonオブジェクトに変換できないかな?
パース結果が<class 'feedparser.FeedParserDict'>で戻ってくるのでjsonにうまく変換できない。。。
349:デフォルトの名無しさん
09/02/07 23:16:11
>>348
そのFeedParserDictとやらは新しいpythonならdictを継承してるから
「普通のpythonオブジェクト」として振舞うはず。
しかし、アイテムとして持ってるものの中でjsonでシリアライズできないものは
全て自前で変換コードを書く必要がある。
URLリンク(docs.python.org)
350:デフォルトの名無しさん
09/02/07 23:43:33
>>349
うん。dictを継承してるから普通にシリアライズできると思ったんだが出来なかったので
何かやり方があるんじゃないかと思って聞いてみた。
まあ現実に出来てないんだから変換コードを書くしかないんだろうな。
踏ん切りついた。ありがとう。
ちなみにPython2.5でjsonライブラリは
URLリンク(pypi.python.org) のを使った。
351:350
09/02/08 14:22:17
解決したので自己レス。
どうやらjsonライブラリがよくなかったみたい。
URLリンク(deron.meranda.us) をつかったら
特に変換コードを書かなくてもシリアライズできた。
352:デフォルトの名無しさん
09/02/08 15:22:19
そういうことがあるだな。
353:デフォルトの名無しさん
09/02/08 15:40:58
なるほど
ありがとうございました
354:デフォルトの名無しさん
09/02/08 16:38:35
a = {"123":"abc"}
str(a)
で出力される文字列が普通にjsonだったらいいのに・・・
355:デフォルトの名無しさん
09/02/08 17:01:22
JSONって"でないとだめなの?
'でもいける?
356:デフォルトの名無しさん
09/02/08 17:02:52
だめですよ
357:デフォルトの名無しさん
09/02/08 20:40:14
SocketServerを使ってサーバーを作ったのですが今接続しているクライアント全てに同じメッセージを送る方法が分かりません。
ご教示のほどよろしくお願いします。
358:デフォルトの名無しさん
09/02/08 22:30:20
>>355-356
だよな。
読む方は下手にevalすると危ない気もするけど、
書く方はてがるに str() でJSONになればべんりなのにな。
359:デフォルトの名無しさん
09/02/08 22:42:36
a = [{"123":"abc"}, 4, 5, {"hage":"fuga",'suka':'pontan',"piyo":[123,456]}]
str(a).replace("'",'"')
↓
[{"123": "abc"}, 4, 5, {"suka": "pontan", "hage": "fuga", "piyo": [123, 456]}]
360:デフォルトの名無しさん
09/02/08 22:44:03
>>> a = {"12'3":"ab'c"}
>>> str(a).replace("'",'"')
'{"12"3": "ab"c"}'
361:デフォルトの名無しさん
09/02/08 22:46:19
>>> a = {"12'3":"ab'c"}
>>> str(a)
'{"12\'3": "ab\'c"}'
362:デフォルトの名無しさん
09/02/08 23:12:31
おもしろいやつらだなお前らは
363:デフォルトの名無しさん
09/02/08 23:19:38
でもこれだとTrue -> true, False - > false, None-> 'none'
ができてねえぞ
364:デフォルトの名無しさん
09/02/08 23:22:43
俺のやることにいちいち口を出さないでほしい。
ここは初心者スレなのだから間違えたとしても許される。
365:デフォルトの名無しさん
09/02/08 23:23:44
json.dumpsが標準になったんだから使えよ
366:デフォルトの名無しさん
09/02/08 23:32:55
なぜ昔からあるstrを使わない?
367:デフォルトの名無しさん
09/02/08 23:40:16
|
|
∩___∩ |
| ノ _, ,_ ヽ (( | プラプラ
/ ● ● | (=)
| ( _●_) ミ _ (⌒) J ))
彡、 |∪| ノ
⊂⌒ヽ / ヽノ ヽ /⌒つ
\ ヽ / ヽ /
\_,,ノ |、_ノ
368:デフォルトの名無しさん
09/02/09 00:29:59
for i in range(1,101):print"Fizz"*(i%3<1)+"Buzz"*(i%5<1)or i
こういうふうに"*"をprintの中で使う場合について解説しているサイトを教えてください。
入門書を一冊読んだのですが、上記のような使い方については書かれていませんでした。たぶん。
369:デフォルトの名無しさん
09/02/09 00:32:41
"Fizz"*1 表示
"Fizz"*0 非表示
になってるだけ。
"hoge"*2 -> hogehoge
たぶん。
370:デフォルトの名無しさん
09/02/09 00:37:18
>>368
> "*"をprintの中で使う場合について
こういう条件付けはあまり意味がないな
print文の構文は
print 式,式...
または
print >>式 式,式...
だ(正確な定義はリファレンスマニュアル参照)
つまりprint文では任意の式が使えるから使っているだけのことで、
この場合は式 "Fizz"*(i%3<1)+"Buzz"*(i%5<1)or iを評価した値が印字される
371:デフォルトの名無しさん
09/02/09 00:39:10
*での繰り返しについてってことならチュートリアルにもあるね
URLリンク(www.python.jp)
372:368
09/02/09 01:05:10
>>369-371
ご教示ありがとうございます。
*が特別な意味を持っていて、たとえば
"Fizz" if i%3<1 else ""
のelse以降を省略したような意味で使われているのかと思ったのですが、
ただ掛けていただけだったんですね。
373:デフォルトの名無しさん
09/02/09 02:33:21
そう思ってても問題ないよ今回の場合は
374:デフォルトの名無しさん
09/02/09 17:52:44
amazonのHTMLを解析するプログラムを組んでいるんですが、
正規表現がうまくいきません。
re_word = re.compile(r'href.*?/dp/.*?>')
リンクに/dp/が含む行だけを抜き出しいのですが、
うまく抜き出せません。
正規表現はチェッカーを使ったところ正しいようです。
for m in re_word.finditer(htmlcontent):
print m.group(0)
何か使い方が悪いでしょうか
python2.5
375:デフォルトの名無しさん
09/02/09 18:51:41
何がやりたいのか、どんなエラーが出たかなどちゃんと書かないと分からないよ
コード例も断片じゃなくてちゃんと動くものを書こうね
こういう処理はちゃんとしたHTMLパーサを使うのが定石(ElementTree, lxmlなどで調べて)
ちゃんと動いてるみたいだけどどこがおかしいの
#!/usr/bin/python
import re, urllib
htmlcontent = urllib.urlopen("URLリンク(www.amazon.com)<)">
href="URLリンク(www.amazon.com)">
href="URLリンク(www.amazon.com)">
href="URLリンク(www.amazon.com)">
376:デフォルトの名無しさん
09/02/09 18:54:55
ElementTreeをHTMLパーサとか言うのは勘弁してください
377:デフォルトの名無しさん
09/02/09 18:56:17
re.compile(r'href[^<>]*?/dp/[^<>]*?>')
378:デフォルトの名無しさん
09/02/09 19:08:43
HTML -> HTMLParser(html.parser@3.0)
XML -> xml.parsers.expat, xml.dom, xml.sax, xml.etree.ElementTree, lxml(推奨)
lxmlはwell-formedでないXMLもうまく扱える。
これで合ってますかね。
379:デフォルトの名無しさん
09/02/09 23:10:38
dictionaryのkeyに可変なインスタンスを登録することができないのですが、
同様な機能はどっかの標準パッケージにあるでしょうか。
例えば
class Nuclei(object):
def __init__(self, A, Z):
self.A = A
self.Z = Z
というような、質量数と原子番号を保持するものがあるとします。
原子の周期表をdictionaryで作るとして、
d = {}
d[Nuclei(2, 1)] = 0.0015 # 例えば重水素の存在比を登録
のようにしたとき、再び
>>> d[Nuclei(2, 1)]
0.0015
と取り出せるようにしたいのですが。
380:デフォルトの名無しさん
09/02/09 23:45:25
from collections import namedtuple # 2.6 feature
Nuclei = namedtuple("Nuclei", "A Z")
381:デフォルトの名無しさん
09/02/10 02:21:03
>>380
ありがとうございます。
2.5までしか使えない環境なので、
__hash__を定義して解決しました。
382:デフォルトの名無しさん
09/02/10 08:04:53
そんな機能があったとは。
おまえら物知りだなぁ。
383:デフォルトの名無しさん
09/02/10 10:56:35
モジュールが豊富にあるので
個々人で全てを把握しきれるとは思えないからな。
一応namedtupleについては追加するとか
一部(ML)で話題にあがったりしたが。
384:374
09/02/10 11:08:40
>>375 >>376 >>377 >>378
テキストのエンコードとか変更して色々やってたら抜き出せました。
色々とご教授頂き、ありがとうございました
385:デフォルトの名無しさん
09/02/10 14:21:29
BeautifulSoupを使っているんですが、
<div class="hoge">this soup is beautiful</div> (1)
とあった場合
this soup is beautiful
を抜き出すにはどうすればいいのでしょうか?
(1)まで抜きだしはできていてclassつきの場合のやり方がわかりません。
(1)を格納している変数はsoupsとすると
soups["div"]に近い形で抽出できると思うんですが、
よろしければ教えていただけませんか?
386:デフォルトの名無しさん
09/02/10 14:36:40
>>385
Tagの子要素はcontentsで取れるんで、単に
soups.contents[0]
でいいんじゃないか
クラスはNavigableStringになる
387:385
09/02/10 15:30:50
>>386
意図どおり、取れました。
ありがとうございます!。
388:デフォルトの名無しさん
09/02/10 20:11:59
pythonをUSBメモリに入れてMsysで使いたいです
389:デフォルトの名無しさん
09/02/10 23:33:47
pymixiって今配布されているバージョン動きますか?
BeautifulSoupのエラーなのか, Pymixiのエラーなのか, Mixiのタグが変わったのか切り分け中です。
390:デフォルトの名無しさん
09/02/12 17:06:54
pycompleteを探していて、python-modeと一緒に入ってると聞いたのですが、
最新版らしき
URLリンク(launchpad.net)
には入ってませんでした
どっかにありませんか?
391:390
09/02/12 17:11:39
自己解決しました
392:デフォルトの名無しさん
09/02/12 19:32:36
pythonからwindowsのコマンドを実行することはできますか?
またできるのなら方法を教えてください
393:デフォルトの名無しさん
09/02/12 19:54:16
>>392
import os
394:デフォルトの名無しさん
09/02/12 20:04:32
どうしてpythonにはpopenがいっぱいあるのはなぜですか?
395:デフォルトの名無しさん
09/02/12 20:16:45
>>394
そのとおりです
396:デフォルトの名無しさん
09/02/12 20:22:10
3=9-6
397:デフォルトの名無しさん
09/02/12 20:29:48
愚民が権力握っても 不正や腐敗がはびこるだけよ♪
398:デフォルトの名無しさん
09/02/12 21:52:56
>>394
そのうち消えるから安心しろ
399: ◆UNKOVIP9RM
09/02/12 22:57:52
>>394-395
ちょっとわからんかった。。。
400:デフォルトの名無しさん
09/02/13 16:53:11
人生は後払い
401:デフォルトの名無しさん
09/02/14 02:42:21
python3000ってpymacs使える?
402:デフォルトの名無しさん
09/02/14 16:34:44
無理 あきらめろ
403:デフォルトの名無しさん
09/02/14 18:40:42
辞書のコピーってのは、やっぱりimport copy使うか、バラして自力でやるしかないでしょうかね?
d = {なんとか}で、
c = { d.items() }みたいな感じで簡単に書くのは無理でしょうか?
404:デフォルトの名無しさん
09/02/14 18:50:46
dict(d)
405:デフォルトの名無しさん
09/02/14 19:21:37
>>404
ありがとうございます!
もっと簡単な方法があったんですね。
406:デフォルトの名無しさん
09/02/14 21:43:20
d.copy() でもいい
407: ◆UNKOVIP9RM
09/02/15 20:57:05
URLリンク(itpro.nikkeibp.co.jp)
日本は新興国だろ
408:デフォルトの名無しさん
09/02/16 13:50:58
URLリンク(galprop.stanford.edu)
に置いてある、
URLリンク(galprop.stanford.edu)
の中のpp_meson.fをf2pyにかけたいのですが、
$ f2py -c -m pp_meson pp_meson.f
をやると大量のエラーが出ます。
running build
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands --compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
running build_src
building extension "untitled" sources
f2py options: []
f2py:> /var/folders/wH/wHx7+EnOGj8QSwsYqxTqmE+++TI/-Tmp-/tmpYvDAdM/src.macosx-10.5-i386-2.5/untitledmodule.c
(略)
File "/Library/Python/2.5/site-packages/numpy-1.2.1-py2.5-macosx-10.5-i386.egg/numpy/f2py/crackfortran.py", line 2072, in analyzevars
for k in implicitrules[ln0].keys():
KeyError: '1'
どのような修正を加えて走らせ直せば良いのでしょうか。
OS X 10.5.6 + gfortran
Linux g77 3.3.5
のどちらでも同じ症状です。Python 2.5 + numpy 1.2.1を使っています。
409:408
09/02/16 18:23:29
どうやらf2pyは継続行をうまく扱えないようで、
1行目 !comment
& 2行目
みたいに書いてあるところのコメントを取り除けばいいようです。
410:デフォルトの名無しさん
09/02/16 20:15:59
site-packages/my_package
site-packages/my_package/__init__.py
site-packages/my_package/module1.py
site-packages/my_package/module2.so
のような構成でパッケージを作りました。
__init__.pyには、
from module1 import *
from module2 import *
とだけ書いてあります。しかし、
$ python
>>> import my_package
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "my_package/__init__.py", line 8, in <module>
from module2 import *
ImportError: No module named module2
となってしまいます。どこを直せば、module2.soを読みに行ってくれるのでしょうか。
python 2.5.1をOS X 10.5.6で使用しています。
411:410
09/02/16 20:16:54
追記
$ cd site-packages/my_package
$ python
>>> import module2
とやると、ちゃんと動きます。
412:410
09/02/16 20:46:46
あ、嘘。できた。
413:デフォルトの名無しさん
09/02/17 21:44:34
例1)
>>>wordlist = ["H","K","L"]
>>>[word.lower() for word in wordlist]
['h', 'k', 'l']
例2)
>>> x = [1,2,3,4,]
>>>[x for x in x if x % 2 == 0]
[2, 4]
例1を
>>>[for word in wordlist word.lower()]
例2を
>>>[if x % 2 == 0 x for x in x]
とやると、動きませんでした。
forの部分を前に書く場合と後ろに書く場合があるような気がするのですが、
どういった決まりがあるのでしょうか。
414:デフォルトの名無しさん
09/02/17 21:58:36
>>413
構文はリファレンスマニュアルに書いてある
URLリンク(docs.python.org)
かな
まあ簡単に言うとyieldしたい式は必ず先頭(forの前)に
書かなければならないような構文になっている
415:デフォルトの名無しさん
09/02/18 06:03:47
Python ではマルチスレッド化しても複数コアを使うことはなくて(なんかGILとか言うらしい)、
複数使うにはマルチプロセスにすれば可能
という理解であってます?
416:デフォルトの名無しさん
09/02/18 10:49:47
まちがってるよ。Ruby使えば問題かいけつ。
417:デフォルトの名無しさん
09/02/18 11:24:05
いい加減にしろRuby厨!
巣から出てくるな!
あんなパクリだらけで出来の悪い言語なんか信者以外使わないわ
418:デフォルトの名無しさん
09/02/18 11:53:08
まぁまぁ
419:デフォルトの名無しさん
09/02/18 12:00:59
こうしてみるとRubyって存在そのものが悪だな
まぁ作った奴からしてアレだしw
ひたすら他の言語をDisりまくりだもんな、そりゃ嫌われるわ
420:デフォルトの名無しさん
09/02/18 12:19:32
だが、そこがいい
421:デフォルトの名無しさん
09/02/18 16:30:58
>>415
おk
URLリンク(ja.wikipedia.org)
422:デフォルトの名無しさん
09/02/19 00:44:24
>>421
ありがとう
423:デフォルトの名無しさん
09/02/19 20:09:31
自分で作成したモジュールの同梱データファイルを使いたいときに、
mydata = pkg_resources.resource_filename("my_module", "data/data.txt")
としてパスを取得しています。
しかしこの方法だとpkg_resourcesを入れる必要があるため、
他の人のマシンにmy_moduleを入れた場合にすぐに動きません。
この他に、データファイルのパスを簡単に取得する方法があるのでしょうか。
424:デフォルトの名無しさん
09/02/19 20:18:09
データファイルをモジュール化する。
425:デフォルトの名無しさん
09/02/19 21:53:18
os.path.join(os.path.dirname(__import__("my_module").__file__), "data/data.txt")
426:デフォルトの名無しさん
09/02/19 23:21:08
ありがとうございました
427:デフォルトの名無しさん
09/02/21 03:34:21
すごいくだらないんですけど
PyPy Pychinko以外になんか卑猥なのあります?
428:デフォルトの名無しさん
09/02/21 15:06:40
え?どこが卑隈なの?
429:デフォルトの名無しさん
09/02/21 15:56:05
o2.py
430:デフォルトの名無しさん
09/02/21 19:26:29
AutoComplete.elをwindowsのMeadowで使ってる人いません?
rope のインストールの仕方教えて臭い
431:デフォルトの名無しさん
09/02/21 19:37:13
つURLリンク(www.youtube.com)
432:デフォルトの名無しさん
09/02/22 04:02:27
>>430
pythonユーザはMeadow率が低いみたい.
俺も以前,このスレでpdbがらみの質問したけど
まともなレスが無かったよ.
素直にeclipseを使うことをお勧めする.
emacsキーバインドもあるから,移行はそんなにつらくない・・・かもしれない.
とか言ってる俺自体,Meadowとの相性の悪さにウンザリして
Python触らなくなっちゃったけどね.
下手に高機能な分,動かないときは絶望的ってイメージ.
433:デフォルトの名無しさん
09/02/22 04:11:08
つか,このスレでたまに出てくるRuby厨は
Python厨の騙りじゃねw
まぁ,どっちでもいいけどさ.
国内でのライブラリやツール類の開発者(成果物?)は
Ruby >>> Python
ですよね.
当然,世界レベルで見たら
Perlに変わってLinuxのシステムツールの地位を獲得している
Pythonの方が圧倒的だけど,やっぱり,国内じゃ弱い.
まぁ,何が言いたいかってぇと,ブログなんかに書き散らかすんじゃなくて
有用な情報が一元的に収集されてるといいなぁ・・・ってことです.
434:430
09/02/22 05:19:23
自己解決しました
setup.pyを実行じゃだめで、easy_install入れたらできました。
>>432
まぁ私は困ってないのでこのままMeadowを使おうとおもいます
参考までになにが不満だったかお聞かせください
435:デフォルトの名無しさん
09/02/22 05:58:36
>>434
gdbインターフェースでpdbを使いたかったんですが
俺には無理でした。
436:デフォルトの名無しさん
09/02/22 09:12:29
>>432,434
Windows用のGNU Emacsを使うという手は?
437:デフォルトの名無しさん
09/02/22 11:24:38
>>436
確かに、Win32 emacsでやりたいことはできるんですが
Meadowとの細かい差分が気になって…
せめてマウスカーソル消去に対応して欲しかった。
438:デフォルトの名無しさん
09/02/22 14:05:35
boost.pythonスキだぁ
439:デフォルトの名無しさん
09/02/23 15:46:55
質問です。
osはwindowsxp、Pythonは2.6.1を使っています。
PyAudioというモジュールをインストールして
waveファイルをいじろうとしているのですが、
waveファイルを再生しようとしてPyAudio配布元の
Exampleソースのように書いて動かしてみると
普通に動きました(waveファイルが再生された)
●PyAudio配布元URLリンク(people.csail.mit.edu)
●wave再生のexampleソースURLリンク(people.csail.mit.edu)
今度は再生のときの音量をいじってみようと
モジュールの説明をつらつらと見てみたのですが
どのようにいじれば音量をコントロールできるかわからないです。
どなたかわかる方いらっしゃいませんか?。。。。。
●PyAudioモジュールドキュメント
URLリンク(people.csail.mit.edu)