Pythonのお勉強 Part41

このエントリーをはてなブックマークに追加
1おっぱい
2デフォルトの名無しさん:2011/01/24(月) 21:31:45
クソスレ
3デフォルトの名無しさん:2011/01/24(月) 21:33:43
>>1
4デフォルトの名無しさん:2011/01/25(火) 00:58:14
import this
5デフォルトの名無しさん:2011/01/25(火) 01:02:24
   ┌─┐
   │●│
   └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘
6デフォルトの名無しさん:2011/01/25(火) 01:23:14
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所
7デフォルトの名無しさん:2011/01/25(火) 01:52:54
メンテナンス性の面で僕が気に入っている言語は Python だ。シンプルで
きれいな構文、オブジェクトのカプセル化、充実したライブラリのサポート、
そしてオプションの名前付きパラメータがある。メンテナンス性が悪い言語
の一例は Perl である。うん、僕は確かにそう言ったよ。撤回するつもりはない。
-- Bram Cohen

Python が好きなのと同じぐらいRubyが好きじゃない。Perlみたいな「TMTOWTDI」哲学が
多すぎる。Perl ほどひどくはないにしても、似たような可読性とメンテナンス性の問題が
出てくる。Ruby を使わなければならないなら使うこともできるけど、幸いそういうことはない」
-- Jonathan Ellis

Rubyの本を読んでて頭にひょこっともたげた疑問ってのは「今さら?」というものだ。
ご苦労様なこった。この言語設計者 (Matzこと教祖まつもとゆきひろ様) っていうのは
なんでわざわざこんなものを創ったんだ? たどり着く結論は毎度同じものだ。
-- Bruce Eckel

Ruby は低品質で、ゴミクズソフトが頼っているクソみたいな
インタプリタにも関わらず不当に勢いを得て今までずるずる
-- Zed Shaw

「やはり他のスクリプト言語作者とは格が違う。そもそもPerlやRubyというのは
一部のオタクどもが楽をするためだけに存在している言語で、かれら教育のことなんか何も考えてない。
しょせんかれらは狭い世界に閉じこもる運命にあるのだ。
8デフォルトの名無しさん:2011/01/25(火) 02:22:16
そうだね
9デフォルトの名無しさん:2011/01/25(火) 02:29:21
すみません
10デフォルトの名無しさん:2011/01/25(火) 02:29:31
プロテインだね
11デフォルトの名無しさん:2011/01/25(火) 04:49:20
乾電池
12デフォルトの名無しさん:2011/01/25(火) 09:27:01
python人は変態なの?
13デフォルトの名無しさん:2011/01/25(火) 09:30:39
我らpythologistはpythonを通じてpython以外のより多くのことをも学ぶものである
14デフォルトの名無しさん:2011/01/25(火) 11:20:44
クソスレ
15デフォルトの名無しさん:2011/01/25(火) 11:28:03
from Battery import Cell
16デフォルトの名無しさん:2011/01/25(火) 11:47:22
>>13
風呂敷でけぇよwww

>>15
いつまで乾電池ネタ引っ張るんだよwwwwww
17デフォルトの名無しさん:2011/01/25(火) 11:49:45
tanだけ分かっている場合のsin cosの求め方って誰か知らない?
18デフォルトの名無しさん:2011/01/25(火) 11:50:30
おっぱい を いちども みず に しぬのかなぁ

みつお
19デフォルトの名無しさん:2011/01/25(火) 11:51:41
>>17
高校生やりなおせ
20デフォルトの名無しさん:2011/01/25(火) 11:56:18
全員が数学Tの終盤をやってるわけじゃねえぞ
そもそも京大卒の文系だけど三角関数分からねえよ
21デフォルトの名無しさん:2011/01/25(火) 11:56:21
>>17

cos^2(θ) = 1 / (tan^2(θ)+1)
22デフォルトの名無しさん:2011/01/25(火) 12:00:40
お前の目の前の箱はなんのためにあるんだよ
23デフォルトの名無しさん:2011/01/25(火) 12:01:32
三角比の範囲はこの3つの公式を覚えるだけ
tan θ = sinθ/cosθ
sin^2θ + cos^2θ = 1
1 + tan^2θ = 1/cos^2θ
24デフォルトの名無しさん:2011/01/25(火) 12:02:16
Pythonお通じて乾電池の太さを尻ました
ほんとうにありがとございました
25デフォルトの名無しさん:2011/01/25(火) 12:06:50
解析学、線形代数、三角関数、統計学は
Pythologistの基礎教養やろ。
26デフォルトの名無しさん:2011/01/25(火) 12:08:44
むかしこのスレで、
ジンバルロックの話題とかやってたのが懐しい。
27デフォルトの名無しさん:2011/01/25(火) 12:17:55
集合知プログラミングはPythonなんか使ってる所がカス。
統計分野ならR使いやがれよ。
28デフォルトの名無しさん:2011/01/25(火) 12:18:27
>>20
霊長類研究所で飼われてんのか?
29デフォルトの名無しさん:2011/01/25(火) 12:23:38
MITを首席で卒業してそのまま博士号取得していきなり教授になった人以外は人間として認めません
30デフォルトの名無しさん:2011/01/25(火) 12:24:32
>>29
つ サドルなし一輪車
31デフォルトの名無しさん:2011/01/25(火) 12:32:22
dni.ru = Дни.ру
http://www.dni.ru/
32デフォルトの名無しさん:2011/01/25(火) 12:39:31
2 人中、2人の方が、「このレビューが参考になった」と投票しています。
5つ星のうち 5.0 笑えるし、考えさせられます, 2010/12/12
By みーちゃん - レビューをすべて見る
レビュー対象商品: いい年して処女なの隠して生活してます。 (単行本)
野島キウイさんのブログは昔からずっとファンだったので、書籍化は本当にうれしいです!
ブログはいろんなことが書いてあって面白いんですけど、処女だったり恋愛だったりに関係するところを中心にうまく拾い上げていたので、読みやすかったです。
「内容は笑えるエピソードばかり!?」って書いてあるだけあって、へたなギャグ漫画を読んでいるよりもおもしろい!でも最後のほうは(コメントが集中してくるあたりから)、処女とは何か?とか、考えさせられるような内容になっていました。
わたしは処女じゃないけどタイトルがきになったので買いましたが、恋愛についていろいろと振り返ってしまいました。
笑いあり感動ありで、大満足です!!



5つ星のうち 5.0 婚活中の男子の皆様, 2011/1/24
By ヒメ - レビューをすべて見る
レビュー対象商品: いい年して処女なの隠して生活してます。 (単行本)
何歳まで女子・男子という言葉を使ってよいかは別として(笑)
これから結婚相手を探そう、っていう婚活男子が読めば参考になること間違いなし。
なぜなら・・・
婚活女子の中には必ずこの本に出てくるタイプのコがいるから!
ベールに包まれていた彼女達の生態を学んでおけば、ライバル達に差をつけられるかも?!
同性として、かなり笑いながら読みましたが、女子が読むだけでは勿体ないな、と思ったのでレビューしてみました。
そんな訳で・・
婚活中の男子の皆様!
女子の取扱書の一つとして読んでおくべし!
っていうか、読んで、うまいことリードしてやってください。お願いします(笑)
33デフォルトの名無しさん:2011/01/25(火) 12:49:34
>>32
fuck
34デフォルトの名無しさん:2011/01/25(火) 12:53:32
>>32
Pythonと何か関係があるのか真面目にAmazonまで調べたぞ
どうしてくれる
35デフォルトの名無しさん:2011/01/25(火) 13:09:11
>>27
Rはアプリケーション作る環境じゃないし。
36デフォルトの名無しさん:2011/01/25(火) 13:14:18
Pythonで凄いプログラムつくってよ
20行以内で、セミコロンで命令文繋げるのなしね

優勝者には俺の凄いライブラリプレゼントしてあげるから!
37デフォルトの名無しさん:2011/01/25(火) 13:21:59
importでどうとでもなるだろ
38デフォルトの名無しさん:2011/01/25(火) 13:23:21
import os
os.system("kill -KILL >>36")
39デフォルトの名無しさん:2011/01/25(火) 13:29:19
やるならimportは標準のやつだけだな
もちろん俺はやらないけど
40デフォルトの名無しさん:2011/01/25(火) 14:06:43
では質問です。

SocketServer で接続後 RequestHandlerClass の handle の引数 self を用いて
毎回 self.client_address が取得出来ることは判ったのですが、
self.client_address[0] の値 (たとえば '127.0.0.1') を 32bit の int 値に変換するには
どうすればよいのでしょうか?
変換するのではなく直接取得する方法があればそちらでも構いません。
41デフォルトの名無しさん:2011/01/25(火) 14:12:18
42デフォルトの名無しさん:2011/01/25(火) 14:20:26
[int(d) for d in s.split('.')]
43デフォルトの名無しさん:2011/01/25(火) 14:54:03
>>40
こっちのがよさげ
IPy
http://c0re.23.nu/c0de/IPy/
(>>41 みたいに BitVector とか余計なものが要らないのと IPv4 IPv6 どっちも ok)
44デフォルトの名無しさん:2011/01/25(火) 14:56:55
この程度の処理にライブラリ必要?
45デフォルトの名無しさん:2011/01/25(火) 15:01:20
>>41-43
ありがとうございます。

>>44
エラー処理もやってくれてるのと BSD ライセンスだったので >>42 を使うことにします。
ほんとうにありがとうございました。
46デフォルトの名無しさん:2011/01/25(火) 15:03:56
def addrtoint(s):
  L = map(int, s.split('.'))
  return (L[0] << 24) + (L[1] << 16) + (L[2] << 8) + L[3])

じゃだめなん?
47デフォルトの名無しさん:2011/01/25(火) 15:08:27
atoh()とかhtoa()とか普通になかったっけ?
48デフォルトの名無しさん:2011/01/25(火) 15:15:37
socket.ntohl(x)
socket.ntohs(x)
socket.htonl(x)
socket.htons(x)
があるね
49デフォルトの名無しさん:2011/01/25(火) 15:18:52
どうみても精子です。
50デフォルトの名無しさん:2011/01/25(火) 15:22:17
>>48
それ用途違う
socket.inet_aton('127.0.0.1')
51デフォルトの名無しさん:2011/01/25(火) 15:36:43
>>50
ありがとうございます。
IPv6 で使えるかどうか気になったのでマニュアル読んでみたのですが完全に誤訳です。
ほんとうにありがとうございました。

古いのも
http://www.python.jp/doc/2.5/lib/module-socket.html
現行のも
http://www.python.jp/doc/release/library/socket.html
>socket.inet_aton(ip_string)
>socket.inet_ntoa(packed_ip)
>IPv6をサポートしません。IPv4/v6のデュアルスタックをサポートする場合は getnameinfo() を使用します。

オリジナル
http://docs.python.org/library/socket.html
52デフォルトの名無しさん:2011/01/25(火) 15:38:18
どうみても精子です。
53デフォルトの名無しさん:2011/01/25(火) 15:40:22
python.jpは見てはいけません
54デフォルトの名無しさん:2011/01/25(火) 15:41:17
数値のリストから小さい数値ベストN個を取得するには
どうすれば効率的ですか? (04年 東京大)
55見習い:2011/01/25(火) 15:45:33
56デフォルトの名無しさん:2011/01/25(火) 15:46:58
>>54
heapq
57デフォルトの名無しさん:2011/01/25(火) 15:54:04
>>56
ありがとうごぜえます
58デフォルトの名無しさん:2011/01/25(火) 19:29:53
>>56
ヒープってこういう風に使うのか。アルゴリズム調べたら勉強になったわ。
59デフォルトの名無しさん:2011/01/25(火) 20:18:24
>51
オプソなんてそんなもんなんじゃないの
気づいた人が報告して、直せる人が直すっていう
60デフォルトの名無しさん:2011/01/25(火) 20:48:25
2010年最優秀プログラミング言語にPython
ttp://hato.2ch.net/test/read.cgi/news/1295935974/
61デフォルトの名無しさん:2011/01/25(火) 20:52:19
>>60
日本でならrubyとか言ってる奴いるな、まさに情弱速報。どうせプログラミングを知らない奴だろうが
62デフォルトの名無しさん:2011/01/25(火) 22:16:11
>>60
約1ヶ月前の発表を今更breaking newsしてるのか
1ヶ月前に前スレで見たわ
63デフォルトの名無しさん:2011/01/25(火) 22:49:23
どうしてもツッコんでおきたかったんだけど、
公式の pyblosxom-1.5rc2.tar.gz を解凍すると、
フォルダ名が pybloxsom-1.5rc2 になる件
64デフォルトの名無しさん:2011/01/25(火) 23:19:42
なんで、公式に突っ込まないんだ
65デフォルトの名無しさん:2011/01/26(水) 03:30:20
単三電池をお尻の穴に入れる = 電池付きであるというPythonの意思に準じている
6663:2011/01/26(水) 08:44:39
>>64
つっこんでみる
6763:2011/01/26(水) 11:14:34
つっこんだらものすごいいきおいで返事きた
Haeeee
68デフォルトの名無しさん:2011/01/26(水) 11:24:37
毎度思うけど x はなんであの位置なんだろう(電池ネタではありません)
69デフォルトの名無しさん:2011/01/26(水) 11:59:31
>>68
sexと左手だけで入力できるようにするため。
70デフォルトの名無しさん:2011/01/26(水) 13:27:04
>>69
なるほど・・・
71デフォルトの名無しさん:2011/01/26(水) 16:26:47
またruby厨の荒らしですか?
72デフォルトの名無しさん:2011/01/26(水) 16:36:36
PySideはもう実用になりますか?
だれか教えてけろ。
73デフォルトの名無しさん:2011/01/26(水) 16:42:46
>>72
Python+QtでGUIアプリを作るのに使い始めてる。
まだごくごく初歩程度だけど、とりあえずは問題ないよ。

実装法の流儀が色々と変わってるので、(slotの扱い方とか)
公式のドキュメントをちゃんと詠むこと。
74デフォルトの名無しさん:2011/01/26(水) 16:47:45
>>72
ほとんどのAPIはちゃんと動くけど、
マニアックなことをしようとするとバグが露呈することがある、という感じ。
俺の場合、QNetworkAccessManagerの周りが腐ってて移植できない部分があった。
75デフォルトの名無しさん:2011/01/26(水) 17:33:01
2.6.2使ってるけど、日本語まわり難しい

「アプリケーション内部ではutf8だけを仕様」って規約があると仮定して
もしexample.co.jpの文字コードがShift-JISだったら、
text = urllib2.urlopen('example.co.jp').decode('shift-jis')
みたいにしたらいいの?
76デフォルトの名無しさん:2011/01/26(水) 17:37:05
>>75
Python2.6の日本語<=>utf8周りってややこしすぎるよな。
未だによく分からん。
77デフォルトの名無しさん:2011/01/26(水) 17:42:06
78デフォルトの名無しさん:2011/01/26(水) 17:43:34
>>75
「アプリケーション内部ではutf8だけを仕様」は、Pythonでは良くないと思う。
unicode型を使用、ならよくて、それだと .decode('shift-jis') でおk
79デフォルトの名無しさん:2011/01/26(水) 17:44:29
ごっちゃにするな
* Unicode: 文字セット
* UTF-8: Unicode文字列をバイト列に(可変長で)エンコードする方法
80デフォルトの名無しさん:2011/01/26(水) 17:53:03
ああそうか、unicodeか
いつもcoding:utf8ってしてるから勘違いしてた。

とりあえず入力はdecode、出力はencodeってやってみる
81デフォルトの名無しさん:2011/01/26(水) 17:56:34
Python3はopen()時にコーディングを指定できるよね。
Python2で同じようにfileオブジェクトをデコーダでwrapするにはどうすればいいの?
82デフォルトの名無しさん:2011/01/26(水) 17:59:31
日本語文字列コード問題まとめ
を参考にしてる。
83デフォルトの名無しさん:2011/01/26(水) 18:05:57
>>81
io.open("hoge.txt", encoding='utf-8') が Python3 のと同じ。ただし2.6以降。
codecsモジュールでも同じことができる。
84デフォルトの名無しさん:2011/01/26(水) 18:08:13
>>81
codecs.getreader & getwriter
85デフォルトの名無しさん:2011/01/26(水) 18:26:00
>>75-76
馬鹿には無理

っていうか u'ほげ' を UTF-8 だと思ってる香具師が大杉
部ログで堂々と嘘を撒き散らすから迷惑
86デフォルトの名無しさん:2011/01/26(水) 18:53:33
GNU/Linux以外にはQtとGTKは使わんほうがいい
というよりWinとMacOSXにはWxが使いやすい
87デフォルトの名無しさん:2011/01/26(水) 19:28:24
WebでPerlの代わりにPythonって使えるの?
88デフォルトの名無しさん:2011/01/26(水) 19:29:51
>>86
その根拠は?
89デフォルトの名無しさん:2011/01/26(水) 19:32:25
gtkはプラットフォームネイティブなルック&フィールを真似ようとすらしないから
わかるけど、Qtってなんか変だっけか?
90デフォルトの名無しさん:2011/01/26(水) 19:38:10
PerlのUTF8フラグなんかより
Pythonのstr/unicodeの方がわかりやすいと思うのだが。
違いが出るのはやっぱり情報量の差なんだろうか。
91デフォルトの名無しさん:2011/01/26(水) 20:13:33
>>89
ライセンス云々
92デフォルトの名無しさん:2011/01/26(水) 21:18:06
>>86
GTK はないな
Qt は Win/Mac でもありだと思うが
93デフォルトの名無しさん:2011/01/26(水) 21:20:18
>>90
同意

プログラムにバグがあっても文字化けしつつ間違ったまま動くのが良いか
ちゃんとバグをつぶせる情報を出してくれる例外を有難いと思うか

前者が気持ち悪いと思う人には python を薦める
94デフォルトの名無しさん:2011/01/26(水) 21:22:45
ありなしでなくて良し悪し
95デフォルトの名無しさん:2011/01/26(水) 23:43:32
Qtは、Macだと違和感のある見た目になるよ。
96デフォルトの名無しさん:2011/01/27(木) 00:01:31
Gtk3に期待
97デフォルトの名無しさん:2011/01/27(木) 01:44:29
>>95
Adobe系ソフトやOperaやSkypeはQt製アプリの代表例なんだが、
それらもおかしいかい?

近年、TkもQtもGTK+も、OSのルックアンドフィールの再現性をよくしてるよ。
98デフォルトの名無しさん:2011/01/27(木) 02:20:06
python対話モードからsqlite使ってるんだけど、create tableやselectは出来るんだが、
.showが実行できない。ドットから始まるコマンドは使えないの?
99デフォルトの名無しさん:2011/01/27(木) 02:31:57
それはsqlite3コマンドが提供してる機能であって、SQLじゃない。
100デフォルトの名無しさん:2011/01/27(木) 02:48:49
使える
101デフォルトの名無しさん:2011/01/27(木) 03:10:23
http://stackoverflow.com/questions/305378/get-list-of-tables-db-schema-dump-etc-in-sqlite-databases

select name from sqlite_master where type = 'table';
select sql from sqlite_master where type = 'table' and name = 'job';
SELECT * FROM sqlite_master;

con = sqlite3.connect('existing_db.db')
with open('dump.sql', 'w') as f:
    for line in con.iterdump():
        f.write('%s\n' % line)
102デフォルトの名無しさん:2011/01/27(木) 03:24:41
103デフォルトの名無しさん:2011/01/27(木) 03:49:43
やはり今の時代、Rubyがホットだな
104デフォルトの名無しさん:2011/01/27(木) 03:53:35
そんなもん、Pythonからダンプしてどうすんだよ。
105デフォルトの名無しさん:2011/01/27(木) 04:11:46
python.orgの左メニューのDOWNLOADの下に "下?" てでてんだけどなにこれ。
106デフォルトの名無しさん:2011/01/27(木) 04:14:00
ああやっぱり文字化けしたな
中国語でダウンロードっていう意味の文字らしいんだが
107デフォルトの名無しさん:2011/01/27(木) 04:25:43
>>102
>>> import subprocess
>>> p = subprocess.Popen(['sqlite3', 'hoge.db'], shell=False, bufsize=0, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
>>> si, so, se = (p.stdin, p.stdout, p.stderr)
>>> si.write('.show\r\n.quit\r\n')
>>> so.read()
' echo: off\r\n explain: off\r\n headers: off\r\n mode: list\r\nnullvalue: ""\r\n output: stdout\r\nseparator: "|"\r\n width: \r\n'
108角電池:2011/01/27(木) 04:42:43
なんで中国語が
109デフォルトの名無しさん:2011/01/27(木) 06:45:51
下哉
http://python.org/getit
ここ逝くの怖い
110デフォルトの名無しさん:2011/01/27(木) 06:48:06
ttp://python.org/getit/
ttp://python.org/download/

どっちも同じところに飛ぶっぽいけど
虫ゴキ人利用者が急増してるの鴨試練
111デフォルトの名無しさん:2011/01/27(木) 09:20:35
>>105
「下栽」って出た。Google Chrome
112デフォルトの名無しさん:2011/01/27(木) 10:04:13
そんなことよりpython.jpはやく直せよ
113デフォルトの名無しさん:2011/01/27(木) 15:47:20
Pythonの文字コードについてまともに説明しているサイトや書籍がほとんど無いのが悪いんだよなあ
sys.setdefaultencoding()が云々って書いてある物は絶対に信用するなよ
114角電池:2011/01/27(木) 15:52:05
そうそう、この国は、教育的な情報を出す人があんまりいないのが問題。
初心者を叩いてはならぬ。
115デフォルトの名無しさん:2011/01/27(木) 16:10:03
>>113
site.pyでsys.setdefaultencoding()を
呼び出しておくのが一番の近道だけどね。
116デフォルトの名無しさん:2011/01/27(木) 16:12:32
>>115
またここにも被害者が1人・・・
117デフォルトの名無しさん:2011/01/27(木) 16:13:53
それだと根本的な解決(or理解)になってなさそう。
118デフォルトの名無しさん:2011/01/27(木) 16:26:51
標準入出力が端末かリダイレクトかでロケールを使う/使わないが変わるのがいみふ
119デフォルトの名無しさん:2011/01/27(木) 16:31:35
http://docs.python.org/howto/unicode.html
これ翻訳がされてない。
120デフォルトの名無しさん:2011/01/27(木) 16:39:50
>>118
だって端末は文字コードが指定されてるけど、
一般的なファイルディスクリプタに対しては文字コードを勝手に決めるわけにはいかないし。
121デフォルトの名無しさん:2011/01/27(木) 16:57:00
>>116,117
だってどうせ自分しか使わないんだから、
latinな人たちの常識に合わせる必要ないじゃない。
こうやっておけば、自分のスクリプトでの手間が、少し減る。
122デフォルトの名無しさん:2011/01/27(木) 17:04:03
>>119
じゃあしようぜ
123デフォルトの名無しさん:2011/01/27(木) 17:28:16
>>120
ではpython3でロケール使うようになったのはなぜ
124デフォルトの名無しさん:2011/01/27(木) 17:43:49
>>121
煽るつもりは毛頭無いけど、やっぱり理解できてないじゃないか
そのうち俺が解説サイト作ってやるから気長に待ってろ
125デフォルトの名無しさん:2011/01/27(木) 17:48:17
>>122
長いからちょっとキツい。
126デフォルトの名無しさん:2011/01/27(木) 18:08:15
Python3をつかえばみんな解決。
127デフォルトの名無しさん:2011/01/27(木) 18:11:38
GAEのwebappを書いた人はUTF-8を前提にしてるっぽいな。
気をつければ他の文字コードでもやれないことはないが
ベースのWebObはまともなのにどうしてこうなった ( ^ω^
128デフォルトの名無しさん:2011/01/27(木) 18:14:37
エキスパートPythonプログラミングにUnicodeの章があって、
setdefaultencoding を非推奨にしている。
129デフォルトの名無しさん:2011/01/27(木) 18:53:55
リバースエンジニアリングって本どう?
入門書読んだぐらいだけど嫁ますか?
130デフォルトの名無しさん:2011/01/27(木) 19:28:24
>>129
日本語が理解出来れば嫁ます
131デフォルトの名無しさん:2011/01/27(木) 19:41:28
『デフォルトエンコーディングを設定するには、インタプリタ起動時に
読み込まれるsitecustomizeモジュールを作成して、その中で設定する必要があります。モジュール
の検索パスが設定されているディレクトリにsitecustomize.pyを作成し、次のように記述します。
import sys
sys.setdefaultencoding('utf-8')
 ただし、この設定をすると、同じインタプリタを使っているすべてのPythonプログラムが影響を
受けてしまいます。そのため、virtualenvを使ってそのアプリケーションのための独立した環境を
作って、その環境の中のsitecustomize.pyを修正するとよいでしょう。』
エキスパートPythonプログラミング, Tarek Ziade'著, 稲田直也ほか訳, ASCII, pp.398
132デフォルトの名無しさん:2011/01/27(木) 19:48:17
>>125
長いから英語で読むほうがキツい。
133デフォルトの名無しさん:2011/01/27(木) 19:50:35
>>pp.398
p.398からどこまでの引用でつか?
134デフォルトの名無しさん:2011/01/27(木) 19:51:23
>>131
p.397
「しかし、デフォルトエンコーディングをUTF-8に設定することですべての問題が
解決されるわけではありません。むしろ、例外が発生しなくなることで問題が隠されてしまい、
問題を見逃したり、解決に時間がかかってしまう可能性すらあります。
また、アプリケーションを利用する人がデフォルトエンコーディングに何を
設定しているのかを仮定することもできないので、開発者はデフォルトの'ascii'
のままのPythonで開発するべきです。

Unicode対応が不完全なアプリケーションを利用する場合に、UnicodeErrorを回避する
手段として、デフォルトエンコーディングを変更する方法を紹介しておきます。」

あくまでもワークアラウンドとして紹介しているだけで、この章のほかの部分は
setdefaultencoding('utf-8') に頼らずにUnicode対応するための方法が書いてある。
135デフォルトの名無しさん:2011/01/27(木) 19:54:49
日本語の解説サイトにpythonのユニコードオブジェクトと
ユニコード(utf-8,utf-16 etc)を同じものだと説明してる
のがあってスゲー混乱したのを思い出したw
136デフォルトの名無しさん:2011/01/27(木) 20:16:24
UCSとUTFは違う。
137デフォルトの名無しさん:2011/01/27(木) 21:15:03
>>127
BigTable が原因だと思う
138デフォルトの名無しさん:2011/01/27(木) 21:21:40
>>113 >>115 >>121 >>128

>>131 は大嘘

reload sys; sys.setdefaultencoding('utf-8')
なり
reload sys; sys.setdefaultencoding('cp932')
なり
しないといかん
ttp://d.hatena.ne.jp/perezvon/20070715/1184469534

>>134
もちろん自己責任でね

>>135
それきっと漏れが見て混乱したサイトと同じだろう
死ねばいいのに
139デフォルトの名無しさん:2011/01/27(木) 21:24:47
>>127
あれはひどいよな
GAE 普及に失敗した原因のひとつだよ
140デフォルトの名無しさん:2011/01/27(木) 21:26:18
>>135
そういうのに限って検索上位に出てたりするんだよね
141デフォルトの名無しさん:2011/01/27(木) 21:33:30
>>138
sitecustomize.pyの中では呼ぶことが出来る
ttp://d.hatena.ne.jp/SumiTomohiko/20070120/1169300624
142デフォルトの名無しさん:2011/01/27(木) 21:37:23
>>138
ド素人すぎないか?お前w
143デフォルトの名無しさん:2011/01/27(木) 21:37:24
クーパかわいいよクーパ
144138:2011/01/27(木) 21:38:27
>>141
ごめん
言葉が足りなかった

sitecustomize.py の中で呼ぶとそこの python 環境全体に害を及ぼすけど

reload sys; sys.setdefaultencoding('cp932')
ならそのプログラムだけに影響がとどまるから
初心者には後者の方がお薦めなんだよ

もちろん初心者じゃないひとは setdefaultencoding に期待しないコードを書けるよねってことで
145デフォルトの名無しさん:2011/01/27(木) 21:40:22
>>138
あと、reloadは関数なので()をつけないとだめだぞ
146デフォルトの名無しさん:2011/01/27(木) 21:40:34
>>138
Python は -s オプションを指定しないと、起動時に site モジュールを読みこむ。
site モジュールは、 sitecustomize モジュールを読みこんだ後、
del sys.setdefaultencoding
する。
reload sys したら setdefaultencoding が復活するけど、わざわざ消しているのは
内部的に不整合が起こる可能性があるからで、良くない。
sitecustomize が読みこまれるタイミングで setdefaultencoding を実行するのが正しい。
147デフォルトの名無しさん:2011/01/27(木) 21:42:11
>>144
p.398
「ただし、この設定をすると、同じインタプリタを使っているすべてのPython
プログラムが影響を受けてしまいます。そのため、 virtualenv を使ってその
アプリケーションのための独立した環境を作って、その環境の中の sitecustomize.py
を修正すると良いでしょう。」
148138:2011/01/27(木) 21:43:57
>>145
ああごめん
そうだったね
149デフォルトの名無しさん:2011/01/27(木) 21:45:22
>>146
-sじゃねよ、-Sだよ
-s : don't add user site directory to sys.path; also PYTHONNOUSERSITE
-S : don't imply 'import site' on initialization
150デフォルトの名無しさん:2011/01/27(木) 21:46:21
>>147
そもそも特定のエンコードに依存したコードを書いてる方がおかしい訳で
他人に使ってもらうときにわざわざsitecustomize.pyを書き換えてくれって
注意書き書かれたpythonコードとかにお目にかかったことが無いんだが
151デフォルトの名無しさん:2011/01/27(木) 21:46:25
sys.setdefaultencoding()云々って言っている奴は絶対に信用するなよ
152デフォルトの名無しさん:2011/01/27(木) 21:47:36
>>138
↑こいつみたいな奴が被害を拡大させるんだよ
お前の間違ったオナニー理論を垂れ流すな
153デフォルトの名無しさん:2011/01/27(木) 21:47:59
>>141
そこの解決方法を実践すると
>>135 みたいな馬鹿が再生産されるから良くない
154153:2011/01/27(木) 21:48:46
馬鹿なのは >>135 じゃなくて >>135 の言っているサイトのひとが馬鹿っていう意味です
155デフォルトの名無しさん:2011/01/27(木) 21:51:28
sys.setdefaultencoding() 書き換えるのは初心者のすること
156デフォルトの名無しさん:2011/01/27(木) 21:54:02
>>134
>あくまでもワークアラウンドとして紹介しているだけで、この章のほかの部分は
>setdefaultencoding('utf-8') に頼らずにUnicode対応するための方法が書いてある。

禿げしく同意だけどsys.setdefaultencoding()
もっと具体的に書いた方が良いんじゃないかな?
157デフォルトの名無しさん:2011/01/27(木) 21:55:23
sys.setdefaultencoding()云々って言っている奴は絶対に信用するなよ
158デフォルトの名無しさん:2011/01/27(木) 22:00:34
>>138
>しかしながら、実行時にdefaultencodingを変更するのは禁じ手中の禁じ手です。
>Pythonのユニコードの扱いを理解していれば、通常は全く困ることがありませんし、
>困ることがあるのはPythonのユニコードの扱いを理解していない人間が書いたライブラリやフレームワーク、
>もしくは、出入力のエンコーディングに、asciiやutf-8等の特定のエンコーディングを想定している
>ライブラリ・フレームワークを使いたい場合くらいのものです。
159デフォルトの名無しさん:2011/01/27(木) 22:03:50
>>135
そのサイトの中の人はうっかり自分で
sys.setdefaultencoding('utf-8')
設定してたのをすっかり忘れていたんだろう
160デフォルトの名無しさん:2011/01/27(木) 22:06:02
とりあえずsys.setdefaultencodingを設定しとけっていうスタンスの本/入門書って
どれくらい出回ってるんだろうね
161デフォルトの名無しさん:2011/01/27(木) 22:06:13
sys.setdefaultencoding()云々って言っている奴は絶対に信用するなよ
162デフォルトの名無しさん:2011/01/27(木) 22:08:22
>>160
日本語の書籍なら殆ど全てと言っても過言ではない
163デフォルトの名無しさん:2011/01/27(木) 22:08:38
ttp://python.matrix.jp/tips/string/encoding.html
このサイト割と信じてたんだけど、段々不安になってきた。
これで合ってるの?助けてハッカーなおまいら
164デフォルトの名無しさん:2011/01/27(木) 22:09:24
>>150
だよな
他人のdefaultencodingなんて判らないんだから
自分の環境のencodingを他人に強制するような
プログラミングはしたくない
165デフォルトの名無しさん:2011/01/27(木) 22:12:01
>>163
そこはまともだよ
166デフォルトの名無しさん:2011/01/27(木) 22:14:00
>>163
書いてあることに間違いはないが、後半は本質が理解できていないのか
間違った知識を誘導しかねない内容になっている

でもやっぱり sys.setdefaultencoding()云々って言っているから信用できない
逆を言えば、sys.setdefaultencoding()は絶対に使ってはいけない命令文だと覚えておくのだな
167138:2011/01/27(木) 22:18:27
>>158
当然そこは読んでますよ

だから >>144
>もちろん初心者じゃないひとは setdefaultencoding に期待しないコードを書けるよねってことで
と書いてます

>>138 にも
>もちろん自己責任でね
と書いてます
168デフォルトの名無しさん:2011/01/27(木) 22:18:40
「テキストファイルはバイト列であり、文字列ではない」
という認識が必要。
169デフォルトの名無しさん:2011/01/27(木) 22:19:54
>>166
【9】 方針の選択肢
確かにここは読まない方がいいな
170デフォルトの名無しさん:2011/01/27(木) 22:20:54
>>159 >>164 >>166
自分で sys.setdefaultencoding() いじってしまうと
気付かない間に自分自身が環境依存コード書く癖がついてしまうのでいくない
171デフォルトの名無しさん:2011/01/27(木) 22:21:14
>>138 はまともでしょ。約一名が変なレスをしただけ。
172デフォルトの名無しさん:2011/01/27(木) 22:22:15
>>127
GAEって最低だな
173デフォルトの名無しさん:2011/01/27(木) 22:23:36
>>168
Python3 だと違うけど
>「テキストファイルはバイト列であり、文字列ではない」
それをバージョンを明記せずにいつまでも強調するのは
新たな火種になりかねない
174デフォルトの名無しさん:2011/01/27(木) 22:23:56
>>171
sys.setdefaultencoding()のやり方を説明している時点でおかしいだろう
sys.setdefaultencoding()は使用禁止なんだよ

俺がそう決めた
175デフォルトの名無しさん:2011/01/27(木) 22:25:32
これってあれだな。
おせっかい機能(デフォルトエンコーディング)が、
余計にユーザの理解を妨害するって例だな。

やはりexplicitであることは大事だ。
176デフォルトの名無しさん:2011/01/27(木) 22:25:35
>>150
そりゃ本人が不注意なんだから注意書きなんか書く訳が無かろう
177デフォルトの名無しさん:2011/01/27(木) 22:25:50
難しいことはよくわかりませんが

Python2のUnicode文字列は加工するには便利だけど
バイト文字列に変換せず入出力したら死ぬかもよ

という認識で今まで生きてきました
178デフォルトの名無しさん:2011/01/27(木) 22:27:13
sys.setdefaultencoding() なんか死ねばいいのに
179デフォルトの名無しさん:2011/01/27(木) 22:27:54
Pythonの文字コード界隈について僭越ながら説明をしてみます。
間違いがあったら完膚なきまでに叩きのめしてくださいm(_ _)m

Pythonユーザが意識しなければいけない文字コードは大雑把に以下の3種類に分類できます。
1. ソースファイルの文字コード
2. Stringオブジェクトの文字コード
3. (Pythonの)Unicodeオブジェクト
180デフォルトの名無しさん:2011/01/27(木) 22:28:10
>>173
いや、Pythonの文字列/バイト列の話じゃなくて、一般論として言った。
181デフォルトの名無しさん:2011/01/27(木) 22:29:00
1. ソースファイルの文字コード

Pythonインタープリタは、特に指定がなければ「ソースファイルはASCIIで記述されている」
と解釈します。

だから、コードに次のようなASCIIでは扱えない文字が含まれているとエラーになります。
# 日本語のコメント
s = '日本語の文字列'
>> SyntaxError: Non-ASCII character...

そこで、ASCII以外の文字コードでソースを記述するときには、ファイルの先頭で以下の
ような書式で文字コードを明示することになっています。
# -*- coding: utf-8 -*- とか
# -*- coding: sjis -*-

この時にどのような基準で文字コードを選べばよいかというと
「ソースに含まれる"目に見える"文字すべてをサポートする文字コード」であれば問題ありません。

例えば、次のようなコードを含むファイルであれば日本語とハングルをサポートするUTF-8
などを選択する必要があるし
print u'감사합니다' # 2chでは表示されないかも...
print u'ありがとう'
ASCIIでサポートされる文字・記号と、日本語文字の一部だけを含むファイルであればsjisや
euc-jpでも構いません。

注意していただきたいのは、ソースの文字コード選択の基準は、あくまでも
「ソースに含まれる"目に見える"文字」だということです。
例えば「ハングルを含むファイル名のファイルを扱いたいんだけど...」という場合には
  1. f = file('감사합니다.txt', 'r') # 2chでは表示されないかも... のようにソースに直接記述する
  2. os.walk()などによってファイル名を取得する
の二通りが考えられますが2.の例ではソースファイルにハングルの文字は記述されていない
のでハングルをサポートする文字コードを選択する必要はありません。
182デフォルトの名無しさん:2011/01/27(木) 22:29:57
>>179
ファイルパス
183デフォルトの名無しさん:2011/01/27(木) 22:31:09
2. Stringオブジェクトの文字コード

ソースに次のようなコードが記述されていた場合、変数sに代入される値はソースファイルの
文字コードに依存します。
s = "うんこ"

つまり、
UTF-8で記述され、ソースファイルの先頭に # -*- coding: utf-8 -*- という記述があれば
変数sにはUTF-8で'うんこ'に対応する \xe3\x81\x86\xe3\x82\x93\xe3\x81\x93 が代入され、
Shift-JISで記述され、ソースファイルの先頭に # -*- coding: sjis -*- という記述があれば
変数sにはShift-JISで'うんこ'に対応する \x82\xa4\x82\xf1\x82\xb1 が代入されます。

実際に次のような2つのファイルを使ってこのことを確かめることができます。
> sjis_unko.py
# -*- coding: sjis -*-
# Shift-JISで保存すること
sjis_unko = 'うんこと漢字'

> utf8_unko.py
# -*- coding: utf-8 -*-
# UTF-8で保存すること
from sjis_unko import sjis_unko
utf8_unko = 'うんこと漢字'
if sjis_unko == utf8_unko:
print '同じうんこだ!'
  # utf8_unko は \xe3\x81\x86\xe3\x82\x93\xe3\x81\x93 であり
  # sjis_unko は \x82\xa4\x82\xf1\x82\xb1 だから
  # ここは実行されない
184デフォルトの名無しさん:2011/01/27(木) 22:32:18
>>179,181
長い
3行にまとめろ
長文書く奴は社会で成功しない
185デフォルトの名無しさん:2011/01/27(木) 22:33:35
>>184
わかった
しかし
内容的に_
186デフォルトの名無しさん:2011/01/27(木) 22:33:42
もう英語以外廃止すればいいじゃん。
187デフォルトの名無しさん:2011/01/27(木) 22:34:13
アフォはほっといて続けてくれ
188デフォルトの名無しさん:2011/01/27(木) 22:35:03
3. (Pythonの)Unicodeオブジェクト

PythonのUnicodeオブジェクトとは、簡単に表現すると「Python専用の万能文字コード」です。
UTF-8とかUTF-16のようなUnicodeとは完全に(と言い切っていいのかは知らないけど)無関係です。

先程「2. Stringオブジェクトの文字コード」で説明したように
s = 'うんこ'
と記述してStringオブジェクトを生成した場合には、変数に代入される値はソースファイルの
文字コードに依存するのでした。
だから、Shift-JISで記述されたソースからUTF-8で記述されたソースに変数をインポートする
と、先にも挙げた次のようなことが起こってしまいます。
if sjis_unko == utf8_unko:
print '同じうんこだ!'
  # ソース上は同じに見える文字列も、Pythonが解釈すると
  # utf8_unko は \xe3\x81\x86\xe3\x82\x93\xe3\x81\x93 であり
  # sjis_unko は \x82\xa4\x82\xf1\x82\xb1 だから
  # ここは実行されない

そこで登場するのがUnicodeオブジェクトです。
Pythonでは'や"の前にuをつけるとUnicodeオブジェクトを生成することができます。
us = u'うんこ'
こうして作成されたUnicodeオブジェクトは「ソースファイルの文字コードに依存せず
常に一定の値を保持」します。

つまり、
UTF-8で記述されたソース中であろうが、Shift-JISで記述されたソース中であろうが
us = u'うんこ'
と書けば、常に変数usには \u3046\u3093\u3053 という全く同じ値が代入されるのです。
189デフォルトの名無しさん:2011/01/27(木) 22:35:12
>>179
>1. ソースファイルの文字コード

u'ほげ' って書いたときに、UNICODE オブジェクトだということを意識出来るかどうか。
unicode('ほげ') と同じものか別物か。(defaultencoding() を必要とするかしないか。)
(不親切なサイトのせいで自分は当初これが UTF-8 だと勘違いしていた。)

結局 3. は 1. に影響を受けるし、2. も 1. に影響を受けているし、
どこか一部を理解したつもりで全体が判ったつもりになってると痛い目にあう。
190デフォルトの名無しさん:2011/01/27(木) 22:35:20
>>179,181
お前のブログでやれよ
191デフォルトの名無しさん:2011/01/27(木) 22:36:08
人に読ませる文章にうんことか書く神経がわからない
192デフォルトの名無しさん:2011/01/27(木) 22:36:24
ここが俺のブログだ。
193デフォルトの名無しさん:2011/01/27(木) 22:38:32
うんこisフリーダムの精神を理解できてない奴がいるとは世も末よのぅ
194デフォルトの名無しさん:2011/01/27(木) 22:38:44
>>179,181,188
お前才能ないよ
Python向いてない
俺にはよくわかる
195デフォルトの名無しさん:2011/01/27(木) 22:40:56
結構前にいたな、ひたすら長文投下する奴。誰からも必要とされてないのにまだ生きてたのか
196デフォルトの名無しさん:2011/01/27(木) 22:41:23
馬鹿には無理
197デフォルトの名無しさん:2011/01/27(木) 22:42:12
おい、空気読めない子をいじめるな
198デフォルトの名無しさん:2011/01/27(木) 22:43:02
>>188
>こうして作成されたUnicodeオブジェクトは「ソースファイルの文字コードに依存せず
>常に一定の値を保持」します。

「*ファイルの先頭で例の書式で文字コードが明示されている場合に限り*ソースファイルの文字コードに依存せず常に一定の値を保持」
199デフォルトの名無しさん:2011/01/27(木) 22:44:32
>>198
お前は何を言っているんだ?
200デフォルトの名無しさん:2011/01/27(木) 22:45:07
ソースファイルの文字コードに依存してるだろ
201デフォルトの名無しさん:2011/01/27(木) 22:45:32
少しはお役に立ちたいと思って頑張って調べてまとめたのに...
ゥェ─。゚゚(ノ´Å`ヾ。)゚゚。─ン
202デフォルトの名無しさん:2011/01/27(木) 22:46:12
もっとレベルのたかいPythonコミュニティーを教えてください
僕はもう疲れました
203デフォルトの名無しさん:2011/01/27(木) 22:46:26
また犠牲者が増えるのか
204デフォルトの名無しさん:2011/01/27(木) 22:46:58
>>201
泣くなブログに書け
そしてURLを貼れ
話はそこからだ
205デフォルトの名無しさん:2011/01/27(木) 22:47:10
ひどい有様だ
206デフォルトの名無しさん:2011/01/27(木) 22:47:41
>>202
java-ja
207デフォルトの名無しさん:2011/01/27(木) 22:48:01
>>199
ttp://python.matrix.jp/tips/string/encoding.html
のコメント欄見てみろ。
208デフォルトの名無しさん:2011/01/27(木) 22:48:08
209デフォルトの名無しさん:2011/01/27(木) 22:48:39
科学技術計算しかしない俺には関係のない話だな。
210デフォルトの名無しさん:2011/01/27(木) 22:49:50
>>209
文字列処理なんかやってる奴らは下等だよな。
211デフォルトの名無しさん:2011/01/27(木) 22:50:40
日本語処理は黒魔術
プログラミングの文字はASCIIに限定すべきと思っている俺にも関係の無い話だ
212デフォルトの名無しさん:2011/01/27(木) 22:50:41
>>209-210
自作自演、カッコ悪いよ
213デフォルトの名無しさん:2011/01/27(木) 22:52:35
おいクソ
214デフォルトの名無しさん:2011/01/27(木) 22:52:41
>>179
    ___
   ,;f     ヽ         
  i:         i   ありがたやありがたや
  |        |  ///;ト,
  |    ^  ^ ) ////゙l゙l;   
  (.  >ノ(、_, )ヽ、} l   .i .! |   
  ,,∧ヽ !-=ニ=- | │   | .|
/\..\\`ニニ´ !, {   .ノ.ノ
/  \ \ ̄ ̄ ̄../   / .|
215デフォルトの名無しさん:2011/01/27(木) 22:53:04
・sys.setdefaultencoding()は使用禁止
・エンコーディングとキャラセットを理解する
・入出力するエンコードは自分で都度指定する
216デフォルトの名無しさん:2011/01/27(木) 22:53:46
>>215
これでFA
217デフォルトの名無しさん:2011/01/27(木) 22:54:35
>>181 >>183 >>188 >>201
    ___
   ,;f     ヽ         
  i:         i   ありがたやありがたや
  |        |  ///;ト,
  |    ^  ^ ) ////゙l゙l;   
  (.  >ノ(、_, )ヽ、} l   .i .! |   
  ,,∧ヽ !-=ニ=- | │   | .|
/\..\\`ニニ´ !, {   .ノ.ノ
/  \ \ ̄ ̄ ̄../   / .|
    ___
   ,;f     ヽ         
  i:         i   ありがたやありがたや
  |        |  ///;ト,
  |    ^  ^ ) ////゙l゙l;   
  (.  >ノ(、_, )ヽ、} l   .i .! |   
  ,,∧ヽ !-=ニ=- | │   | .|
/\..\\`ニニ´ !, {   .ノ.ノ
/  \ \ ̄ ̄ ̄../   / .|
    ___
   ,;f     ヽ         
  i:         i   ありがたやありがたや
  |        |  ///;ト,
  |    ^  ^ ) ////゙l゙l;   
  (.  >ノ(、_, )ヽ、} l   .i .! |   
  ,,∧ヽ !-=ニ=- | │   | .|
/\..\\`ニニ´ !, {   .ノ.ノ
/  \ \ ̄ ̄ ̄../   / .|
218デフォルトの名無しさん:2011/01/27(木) 22:55:28
人生の敗北者でも低能でも無能でもワーキングプアでも使えるPythnoのお勉強
219デフォルトの名無しさん:2011/01/27(木) 22:57:10
>>215
まさにその通りだけど具体的にどうすればいいのか理解できない人がこのスレには多そうだ
220デフォルトの名無しさん:2011/01/27(木) 22:57:18
>>218
おひさしぶりです
221デフォルトの名無しさん:2011/01/27(木) 22:57:37
>>214,>>217
ありがとう。ありがとう。マジでありがとう。
さっきとは別の意味でゥェ─。゚゚(ノ´Å`ヾ。)゚゚。─ン
222デフォルトの名無しさん:2011/01/27(木) 22:57:47
(^o^)/オヤスミー
223デフォルトの名無しさん:2011/01/27(木) 23:02:34
>>182
>ファイルパス

これについては、直接記述するときは
path = u"ファイル名.jpg"
として一旦Unicodeオブジェクトにしてから、必要なときに
適当な文字コードに戻してあげればよいかと↓
fsenc = sys.getfilesystemencoding()
f = file(path.decode(fsenc), 'r')
224デフォルトの名無しさん:2011/01/27(木) 23:02:48
プログラマのための文字コード技術入門
http://www.amazon.co.jp/dp/477414164X
これを読めばいいんじゃないか? 俺は読んでないけど。
225223:2011/01/27(木) 23:05:05
大嘘でした;;;

>f = file(path.decode(fsenc), 'r')
f = file(path.encode(fsenc), 'r')
226デフォルトの名無しさん:2011/01/27(木) 23:06:07
>>223-224
馬鹿には無理
227デフォルトの名無しさん:2011/01/27(木) 23:06:44
>>224
このスレの人が求めてるのはソレじゃないんだよね
pythonまわりの文字コードの扱いが知りたいわけね
228デフォルトの名無しさん:2011/01/27(木) 23:08:52
>>218とか>>226あたりは自分が理解できないことを他人が理解できてる
ことがよっぽど悔しいんだねw
229デフォルトの名無しさん:2011/01/27(木) 23:12:24
>>184
>長文書く奴は社会で成功しない
成功してないお前が言っても説得力なさすぎるよね
230デフォルトの名無しさん:2011/01/27(木) 23:13:59
>>229 ワロタ
231デフォルトの名無しさん:2011/01/27(木) 23:16:01
>>228
どうやったらそういう意味になるだよ
232デフォルトの名無しさん:2011/01/27(木) 23:16:44
Pythonは社会不適合者も暖かく包みこんでくれます。
233デフォルトの名無しさん:2011/01/27(木) 23:18:17
Pythonの内部処理ってUCS-2? UCS~4?
234デフォルトの名無しさん:2011/01/27(木) 23:18:48
>どうやったらそういう意味になるだよ
なるだよ、と言われてもね...
235232:2011/01/27(木) 23:20:19
だからPythonはオレをも暖かく包みこんでくれます。
236デフォルトの名無しさん:2011/01/27(木) 23:22:38
>>235
自虐ネタは自分のブログでどうぞ
237デフォルトの名無しさん:2011/01/27(木) 23:23:57
238デフォルトの名無しさん:2011/01/27(木) 23:24:49
角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角
電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電
池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池
角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角
電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電
池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池
角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角
電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電
池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池
角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角
電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電
池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池
239デフォルトの名無しさん:2011/01/27(木) 23:26:43
>最近の多くのLinuxディストリビューションでは
>UCS4版のPythonがついてきます

へぇ、贅沢だな。
240デフォルトの名無しさん:2011/01/27(木) 23:46:31
嵐のあとの静けさ。
241デフォルトの名無しさん:2011/01/27(木) 23:54:14
ほんとPythonやってる奴はラベルが低い
242241:2011/01/27(木) 23:56:06
ほんとPythonやってる俺はラベルが低い
243デフォルトの名無しさん:2011/01/28(金) 00:09:57
Webアプリなんか内部がutf-8前提でなにが悪いかわからん。
244デフォルトの名無しさん:2011/01/28(金) 00:10:23
ディレクトリに対して指定した文字列で始まるファイルがあるか確認したいのですが、どうすればいいでしょうか?
指定した文字列で始まるファイルがあれば、そのファイル名の一覧を取得したいです。
245デフォルトの名無しさん:2011/01/28(金) 00:12:01
[filename.startswith('kakudenchi') for filename in os.listdir(dirname)]
246デフォルトの名無しさん:2011/01/28(金) 00:14:04
>>244
適宜直してください

#-*- coding: utf-8 -*-
from os import walk
import os.path

rootDir = u'/'
c = u'検索したい文字列'
for root, dirs, files in walk(rootDir):
    for fname in files:
        if fname.startswith(c):
            print os.path.join(root, fname)
247デフォルトの名無しさん:2011/01/28(金) 00:16:46
>>245
248デフォルトの名無しさん:2011/01/28(金) 00:26:30
リバタリアニズムとは古い自由主義。
現代のような、民主・社会・資本主義とは非常に相性が悪く、
私的所有権を基づいて議論されるので社会(共産)主義は論外であるので
古くから左派と言われているが民主主義国家では左派でも右派でもある。
リベラリズムとは近代の自由主義。
政府・社会の介入を最低限認めながらも、
最大限の自由と権利を主張する思想。
ネット社会ではこれに加え、別の社会を形成したことで
確立した思想が存在する(ハッカー文化)

ハッカー文化とは自由と共同体主義を混ぜあわせた思想・文化である。
一般的に社会・共産主義と勘違いされているが、
実際には私的所有権を重んじる中で、コミュニティと共存共栄する。
特に勘違いしている俗称・Crackerは、Warez(usenet)というコミュニティを介して
新たなアナーキズムであり自由主義を作り上げている(反政)
249デフォルトの名無しさん:2011/01/28(金) 00:34:42
walkなんてあったんだ初めて知ったよ。

そういうのってどうやって探してくるの?
250デフォルトの名無しさん:2011/01/28(金) 00:36:31
>>247
あ、ほんとだ。失礼しました

import os
[os.path.join(DIRNAME, filename) for filename in os.listdir(DIRNAME)
if filename.startswith(PREFIX)]
251デフォルトの名無しさん:2011/01/28(金) 00:37:15
>>248
違う。ネット社会の本質はアナーキーだよ
252デフォルトの名無しさん:2011/01/28(金) 00:39:02
やはり時代はRubyか
253デフォルトの名無しさん:2011/01/28(金) 00:40:40
>>244
#-*- coding: utf-8 -*-
from os import listdir, walk
import os.path
from os.path import isfile

# s:   検索したい文字列
# top: 検索対象のディレクトリ
# r:   再帰的に検索するときはTrue
def getFnamesStartsWith(s, top=u'./', r=True):
    ret = []
    if r:
        for root, dirs, files in walk(top):
            for fname in files:
                if fname.startswith(s):
                    ret.append(os.path.join(root, fname))
    else:
        for path in listdir(top):
            if isfile(path) and path.startswith(s):
                ret.append(os.path.join(top, path))
    return ret

>>249
マニュアルの関係ありそうなところをつまみ食いしてたら見つけました
254デフォルトの名無しさん:2011/01/28(金) 00:42:57
>>251
違う。角電池の本質はアナニーだよ
255デフォルトの名無しさん:2011/01/28(金) 00:44:33
>>249
偉大なるググレカス諸氏の教えに従って
「python ディレクトリ 再帰」
みたいな感じで検索するといいお

マニュアルから入ると覚えることが多すぎてパンクするけど
ググリながら必要なとこだけちょびちょび覚えていくと意外と楽
256デフォルトの名無しさん:2011/01/28(金) 00:46:15
質問者は、サブディレクトリまで見たいとは言ってないわけだが。
257デフォルトの名無しさん:2011/01/28(金) 00:46:51
楽天のisweb焚書で初心者の頃世話になったページが
あちこち消えて悲しい
258デフォルトの名無しさん:2011/01/28(金) 00:47:27
>>256

>walkなんてあったんだ初めて知ったよ。

>そういうのってどうやって探してくるの?

に答えただけなわけだが。
259デフォルトの名無しさん:2011/01/28(金) 00:54:40
>>243
webappの場合
body = body.encode('utf-8')
みたいなコードが「フレームワーク自体」の中に含まれてるから困る。
文字通りハードコーディングしてある(
260デフォルトの名無しさん:2011/01/28(金) 01:04:20
なんで角電池アナニストの巣窟になってんの、ここ?
261デフォルトの名無しさん:2011/01/28(金) 01:07:52
>>259
なんか変な動きをすると思ったら
それが原因か
262デフォルトの名無しさん:2011/01/28(金) 01:16:16
Pythonでプログラミングしようとしている奴らがバカなだけ。
263デフォルトの名無しさん:2011/01/28(金) 01:18:03
>>262
Pythonの文字コード周りがgdgdなのは確かだが(まともになったのは3000以降)
全否定したら始まらないだろ。
264デフォルトの名無しさん:2011/01/28(金) 01:23:52
>>262
馬鹿はお前だろ
265デフォルトの名無しさん:2011/01/28(金) 01:29:28
全体的に精神年齢が低いスレですね。
266デフォルトの名無しさん:2011/01/28(金) 01:31:44
電池
267デフォルトの名無しさん:2011/01/28(金) 01:42:55
角電池って12Vだから、ケツに入れたら少々危いんじゃないかな。
268デフォルトの名無しさん:2011/01/28(金) 02:53:43
最近ruby厨の荒らしが活発だな
269デフォルトの名無しさん:2011/01/28(金) 03:00:49
djangoがrailsと比べてどうしたって?
270デフォルトの名無しさん:2011/01/28(金) 03:30:34
どじゃんぐりころころどじゃんぐりこ
271デフォルトの名無しさん:2011/01/28(金) 03:58:08
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
272デフォルトの名無しさん:2011/01/28(金) 06:01:08
↑未だにこの手の嵐をする奴がいるとは驚きだ
ガチ過ぎるから今日にでも精神科を受診すること!
273デフォルトの名無しさん:2011/01/28(金) 06:04:59
>>262
よっぽどの苦境に立たされてるんですねわかります
でもそれはお前が低学歴・無能だからでありpythonのせいではない

だからpythonを叩くのはお門違いw
274デフォルトの名無しさん:2011/01/28(金) 07:21:33
>>271
こんな2ch黎明期のギャグに遭遇するとは思わなんだ
275デフォルトの名無しさん:2011/01/28(金) 07:52:11
関数を定義するときにいつも迷うんだけど
1. 返り値はUnicodeオブジェクトに固定
2. 返り値は引数のtypeに応じて変動
のどっちがいいの?

def add_world(s):
    return s + u'world'

def add_world(s):
    return s + 'world'
276デフォルトの名無しさん:2011/01/28(金) 08:05:42
def add_world(s):
    return '%sworld' % s
277デフォルトの名無しさん:2011/01/28(金) 08:10:11
def add_world(s):
  u = u'ほげ'
  return s + (u.encode(sys.getdefaultencoding()) if isinstance(s, str) else u)
278デフォルトの名無しさん:2011/01/28(金) 08:16:19
Unicode文字列で受けてUnicode文字列を返すのがシンプルでいいじゃないか
何か落とし穴でもあったっけ
279デフォルトの名無しさん:2011/01/28(金) 08:16:42
優劣は状況によるんだろうけど2.はめんどくさいね
マルチバイト文字がからむ操作(splitするとか、joinするとか)が必要なら
内部ではすべてUnicodeオブジェクトにする必要があるけど返り値は引数と
同じtypeにしなくちゃいけないでしょ

def add_world(s):
    enc = chardet.detect(s)['encoding'])
    # さらっとchardet使ったけど、なぜpythonには標準で文字コードを判別する
    # 仕組みがないんだ?これ困るよね
    unis = s.decode(enc)
    unis = unis + u'世界'
    if isinstance(s, str):
        return unis.encode(enc)
    else:
        return unis
280デフォルトの名無しさん:2011/01/28(金) 08:38:08
結局>>278
なんでもかんでもUnicodeオブジェクトにしてしまえばおk

># さらっとchardet使ったけど、なぜpythonには標準で文字コードを判別する
># 仕組みがないんだ?これ困るよね
ただし↑故に「じゃあどの文字コードでdecodeしたらいいのよ(泣)」という
悩みはつきない。特にオレのような初心者は
281デフォルトの名無しさん:2011/01/28(金) 08:53:34
そもそもunicodeオブジェクトしか受け取らない
282デフォルトの名無しさん:2011/01/28(金) 12:24:09
全部ユニコード→
strしか受け付けないライブラリとかなかったっけ
283デフォルトの名無しさん:2011/01/28(金) 12:55:16
>>263
ちがうべ、ぜんぜんぐでぐでじゃねーよ
理解していない奴が多すぎて
そいつらの作ったライブラリーが糞か
もしくは、そう思うお前が糞かのどちらかだ
284デフォルトの名無しさん:2011/01/28(金) 13:00:32
Ruby is the best language of the universe.
Ruby is the best language of the universe.
Ruby is the best language of the universe.
Ruby is the best language of the universe.
Ruby is the best language of the universe.
Ruby is the best language of the universe.
Ruby is the best language of the universe.
Ruby is the best language of the universe.
Ruby is the best language of the universe.
Ruby is the best language of the universe.
Ruby is the best language of the universe.
285デフォルトの名無しさん:2011/01/28(金) 13:54:22
文字コードの自動判別は機械学習的なアプローチが必要だから、
標準ライブラリに入れるようなシロモノじゃないんだよねー。
286デフォルトの名無しさん:2011/01/28(金) 14:05:56
>>285
その考え方は、battery includedの考え方じゃないなあ。
287デフォルトの名無しさん:2011/01/28(金) 14:34:23
自動判別なんて
ブラウザ作るみたいな特殊用途にしか使わないだろ。
288デフォルトの名無しさん:2011/01/28(金) 16:01:20
>>282
GAE
289デフォルトの名無しさん:2011/01/28(金) 16:26:45
ひどいサイトの例
ttp://www.ianlewis.org/jp/doctest-unicode-error

乱暴な人用
def toUnicode(s, encodingList=['utf-8', 'euc-jp', 'cp932', 'iso-2022-jp', 'ascii']):
  for enc in encodingList:
    try:
      u = unicode(s, enc)
      return u
    except UnicodeError:
      pass
  else:
    raise UnicodeError, 'codec can\'t decode: "' + s + '"'
290デフォルトの名無しさん:2011/01/28(金) 17:02:34
質問でしゅ。
buffer型ってどんなときに使うんですか。
291デフォルトの名無しさん:2011/01/28(金) 20:19:10
>>290
C言語とのインターフェイスの為にあるような型だからそれが要求されている関数で使う
C言語を呼び出したりしない限り自作のPythonプログラムでその型を使うことはない
292デフォルトの名無しさん:2011/01/28(金) 20:40:36
>>290
import numpy
x = numpy.array([1,2,3])
open('hoge.bin', 'wb').write(x)
293デフォルトの名無しさん:2011/01/28(金) 22:45:36
a = [1,2,4,3]
for x in a.sort():
print x

なんでダメなの?
294デフォルトの名無しさん:2011/01/28(金) 22:55:46
aを直接ソートしてNoneを返すから
ソート済みのリストを返してほしかったらsorted(a)
295デフォルトの名無しさん:2011/01/29(土) 00:01:31
>>293
インデントしていないからダメ
296デフォルトの名無しさん:2011/01/29(土) 00:05:18
補完できない奴は安価越しに見ろよ
297デフォルトの名無しさん:2011/01/29(土) 00:19:21
>>288
あれはstrの文字コードがutf-8推奨なだけで
unicodeも普通に使える
298デフォルトの名無しさん:2011/01/29(土) 00:22:06
>>287
あとテキストエディタとか。

IDLEはどうしてるんかね。
299デフォルトの名無しさん:2011/01/29(土) 00:28:24
>>297
え?
ログ出力したり
メール送信したりするときは?
300デフォルトの名無しさん:2011/01/29(土) 02:02:11
google.appengine.api.mailはunicode渡すと
utf-8として送るようになってるっぽい。
301デフォルトの名無しさん:2011/01/29(土) 02:04:07
GAEってどうやってpythonだとeclipseのプラグイン使えない?
302デフォルトの名無しさん:2011/01/29(土) 02:08:15
日本語でおk
303デフォルトの名無しさん:2011/01/29(土) 02:08:38
どうやって開発してるの。pythonだとeclipseのプラグイン使えない?
304デフォルトの名無しさん:2011/01/29(土) 04:05:20
eclipseがないとコード書けないひとって
305デフォルトの名無しさん:2011/01/29(土) 04:17:55
Unix環境使えよ。
306デフォルトの名無しさん:2011/01/29(土) 06:37:43
>>303
PyDevがGAE SDKをサポートしているだろ
307デフォルトの名無しさん:2011/01/29(土) 09:35:24
Python 2.6.5で、小数点以下の表示を6桁に制限する方法はありますか?

floatクラスの__str__, __repr__をオーバーライド(?)して、
class float(float):
 def __str__(self):
  return "%.5lf" % self
 def __repr__(self):
  return "%.5lf" % self

#ここから先、変更不可
num1 = float(1/7.0)
num2 = 1/7.0
print num1
print num2
print (num1, num2)

とすると、
0.14286
0.142857142857
(0.14286, 0.14285714285714285)
と表示されるのですが、num2も 0.14286 と表示されるような方法を教えてください。
308デフォルトの名無しさん:2011/01/29(土) 10:10:58
>>307
num1 = 1/7.0
num2 = str(1/7.0)
print str(num1)
print num2
print tuple([str(x) for x in [num1, num2]])
raise SystemExit
#ここから先、変更不可
num1 = float(1/7.0)
num2 = 1/7.0
print num1
print num2
print (num1, num2)
309デフォルトの名無しさん:2011/01/29(土) 11:26:16
>>307
> num1 = float(1/7.0)
これは現在のモジュールの float で

> num2 = 1/7.0
こっちは組み込みの float を使うから、無理。
(__builtin__.float = float としても使われない)


310デフォルトの名無しさん:2011/01/29(土) 11:57:01
>>309
そういう仕組だったのですね。勉強になりました。
丁寧な回答有り難うございます。
311デフォルトの名無しさん:2011/01/29(土) 13:55:23
>>306
知らんが
312デフォルトの名無しさん:2011/01/29(土) 18:46:39
     __
     P P |
   |┃┃「 |
.    ̄/ニ7 /
    |   ||ーへ
    |   ||/\ \
    ――-
313デフォルトの名無しさん:2011/01/30(日) 01:20:52
(^o^)/ おやすみー
314デフォルトの名無しさん:2011/01/30(日) 14:03:38
PythonにてPyGTKの勉強をしているのですが、EclipseでPyGTKを便利に使うプラグインなどはありませんか?
315デフォルトの名無しさん:2011/01/30(日) 15:20:51
>>314
PySideでQtを使って、
Qt Createrインストールしてその中のQt DesignerでUIのデザインしたほうがずっと楽。
316デフォルトの名無しさん:2011/01/30(日) 15:27:54
なにこれポトペタ?
317デフォルトの名無しさん:2011/01/30(日) 15:31:07
毎回思うんだがポトペタってどこから出てきた用語なんだろ
語源が謎のままで困る
318デフォルトの名無しさん:2011/01/30(日) 15:37:13
「ポト」っと落として「ペタ」と貼り付ける
319デフォルトの名無しさん:2011/01/30(日) 15:39:51
>>318
そうなんだよ書いた直後に気づいたんだよ。言い訳がましいけど
でもありがとう
320デフォルトの名無しさん:2011/01/30(日) 15:50:33
GTKはクソ。
321デフォルトの名無しさん:2011/01/30(日) 16:14:02
クソの理由書かないと、単に使いこなせなかったかわいそうな奴だと思われるだけだよ。
322デフォルトの名無しさん:2011/01/30(日) 16:19:22
GTKが使いやすくて俺感涙
323デフォルトの名無しさん:2011/01/30(日) 16:21:54
324デフォルトの名無しさん:2011/01/30(日) 16:41:54
>>323
情報が古い上に間違っている典型的な駄目サイトじゃないかよ
325デフォルトの名無しさん:2011/01/30(日) 16:47:55
利用者数で言えばQtの方が圧倒してる
GTKもいいけど人柱(特に日本では)覚悟しないとダメ
初心者なら特にドキュメントが限られてるのでPyGTKはおすすめしない
326デフォルトの名無しさん:2011/01/30(日) 16:49:49
ドキュメントが限られてる?なにそれ日本語の事いってるのwww
まあそのレベルの人は大変だよね
327デフォルトの名無しさん:2011/01/30(日) 16:50:14
このスレの推奨GUIライブラリは
Qt一押しになったんでよろしく
328デフォルトの名無しさん:2011/01/30(日) 16:50:54
>>325
利用者数はよく分からないけど、
実際のところ、GTK+製アプリってGPLのを除いたらほとんど無いんだよね。
対して、Qtは著名なソフトウェア製品が山のようにある。
329デフォルトの名無しさん:2011/01/30(日) 17:06:24
日本語ならRubyでいいじゃない
330デフォルトの名無しさん:2011/01/30(日) 17:20:32
>>328
その著名ソフトを山のようにリストにしてくれないか
Qtのサイト行っても著名ソフトは数えられるほどしかリストになってなくて困る
331デフォルトの名無しさん:2011/01/30(日) 17:25:52
GTKだと、ルック&フィール的な問題で
Linuxのアプリケーションしか書く気がしないのと、
APIの設計がQtに比べて汚ない。
あくまで個人的な感想。
332デフォルトの名無しさん:2011/01/30(日) 17:27:22
333デフォルトの名無しさん:2011/01/30(日) 17:29:28
>>332
そのなかで僕が知ってるソフトは10個もないんですけど
全部著名なソフトなのですか?
334デフォルトの名無しさん:2011/01/30(日) 17:31:00
こういう馬鹿な議論が行われるから
言語もGUIツールキットも宗教戦争に関わったら負け
自分で使いたいものを使えばいい
335デフォルトの名無しさん:2011/01/30(日) 17:32:35
>>332
数あるGTKで造られたソフトウェアを棚に上げてそれだけの数で山ほどとは、Qt使いの力量がわかる一覧でですね
336デフォルトの名無しさん:2011/01/30(日) 17:36:59
>>333,335
Adobe各製品とOperaとSkypeはQt製だぞ。
337デフォルトの名無しさん:2011/01/30(日) 17:37:32
だからなに?

としかいいようがないwww
338デフォルトの名無しさん:2011/01/30(日) 17:38:16
>>336
operaはqtやめたよ
339デフォルトの名無しさん:2011/01/30(日) 17:39:27
あと、各製品じゃなくて極一部な
>>332にはAlbumしかのってないけど、PhotoshopElementsも使ってる

340デフォルトの名無しさん:2011/01/30(日) 17:40:20
>>335
はいはい
341デフォルトの名無しさん:2011/01/30(日) 17:48:00
>>314のレスになぜか急にQtが出てきて、それ以後も必死に根拠のない主観を繰り返す。
Qtユーザはなぜそれ程にGTKを嫌うの?がんばってQt覚えたんだから、GTK使ってる人が憎いの?

>>325
どこからその利用者は計測したの?
GNOMEを標準採用しているLinuxディストリビューションが多いから、
圧倒的にGTKを使ってるユーザが多いと思うのだが。
豊富とはいわないがPyGTKには十分なマニュアルがあるでしょ。
342デフォルトの名無しさん:2011/01/30(日) 17:50:41
>>341
314のレスに答えたのは俺だが、利用者数なんかは知らんし、別にどうでもいい。

GTK+とQtを両方使った上でQtの方がいいと思うから勧めてるだけ。
GTK+(PyGTK)を勧めたいなら、質問に応えてあげればいいじゃん。
なんで煽るの?
343デフォルトの名無しさん:2011/01/30(日) 17:52:14
GTK信者って死んじゃえばいいのに
344デフォルトの名無しさん:2011/01/30(日) 17:54:17
GTKは良い入門書がないんだよね
QtとPyQtはあるからそれでQtにしちゃった
345デフォルトの名無しさん:2011/01/30(日) 17:58:19
簡単に言うと、ここで騒いでいるオマエらは
英語読めないから日本語環境が充実している方を選択しましたって事だろう

頭悪すぎる
346デフォルトの名無しさん:2011/01/30(日) 18:00:02
率直な意見だけど
>>331 の言う通りなんだよね
347デフォルトの名無しさん:2011/01/30(日) 18:02:15
>>342
>>341はPyGTKのEclipseプラグインがないか聞いてるのに、なぜQtかつEclipseを使わないレスになったの?
質問に対しての回答になってないでしょ?
PyGTK勉強してる人にQt勧めてなにかどうメリットがあると思うの?
ドイツ語勉強してて教材の質問してる人に英語の勉強すすめるか?

良かれと思って言ったことならすまん。俺の頭ではどう考えても頭が悪すぎたからレスしただけ。
俺は別にPyGTKをすすめるつもりもないし、Eclipseも使ってないからレスしない(できない)だけだ。
知ってるからと言って質問の内容と違う回答をするのは、おせっかいじゃなくて単なる邪魔だからね。
348デフォルトの名無しさん:2011/01/30(日) 18:04:56
GTK リソース使いすぎ
Eclipse メモリ使いすぎ
349デフォルトの名無しさん:2011/01/30(日) 18:06:35
例えが悪かったな、身近な例で出したつもりだったがドイツ語やってない人からしたら身近じゃなかった。

Python勉強してて教材の質問してる人に、Rubyの勉強すすめるか?

に置き換えてくれ。
これならこのスレッドにいる人間には自分の立場になって考えられるだろう。
350デフォルトの名無しさん:2011/01/30(日) 18:07:37
Qtが絡むとGTK宗教戦争とかライセンス問題とか
意味の無い議論ほど盛り上がるのはなぜ?
351デフォルトの名無しさん:2011/01/30(日) 18:08:54
>>349
>Python勉強してて教材の質問してる人に、Rubyの勉強すすめるか?
そこは違うだろ

今回のケースの場合
>Ruby勉強してて教材の質問してる人に、Pythonの勉強すすめるか?
だわな
そしてもちろん答えは Yes, we can!
352デフォルトの名無しさん:2011/01/30(日) 18:09:26
>>347
別にPythonの開発はEclipseだけが唯一のIDEじゃないし(Javaのようにね)
用途によって開発ツールは選べばいいんじゃね?

確かに質問の直接の答えにはってないが、ベターと思われる回答をした。
それをどう扱うかは質問者の自由だろ。
353デフォルトの名無しさん:2011/01/30(日) 18:10:33
>>351
フイタ

Rubyの方が先に触ったけど、仕事でPythonを扱ってからは
もっぱらPython党だ。

Yes, we can!
354デフォルトの名無しさん:2011/01/30(日) 18:10:38
>>350
そういうナンセンスな議論が大好きな奴が多いんだろう
355デフォルトの名無しさん:2011/01/30(日) 18:10:43
>>347 はアスペっぽいな
356デフォルトの名無しさん:2011/01/30(日) 18:13:15
とりあえずここは質問者の意図そっちのけのレスをした
>>315を三角木馬の刑にするということでおさめようじゃないか
357デフォルトの名無しさん:2011/01/30(日) 18:14:05
>>352
お前に質問をした回答をどう扱うかは質問者の自由だろ
文句言うなよ
358デフォルトの名無しさん:2011/01/30(日) 18:19:45
>>356
漏れ >>315 じゃないけど
>>315 より先に >>314 見てたら
>>315 と同じレスしてた自信がある
359デフォルトの名無しさん:2011/01/30(日) 18:20:09
やっぱりncursesが最強だよなぁ。
360デフォルトの名無しさん:2011/01/30(日) 18:20:41
GTKはGNUが自分のためだけに作ったもんだよ
だから基本的にはGNUアプリにしか使われない
Gnomeを挙げる人がいるけどブーメラン
361デフォルトの名無しさん:2011/01/30(日) 18:21:21
GTK の G って GNU の G かと思ってたら違うんだね
362デフォルトの名無しさん:2011/01/30(日) 18:31:32
GTKはGIMPのために作ったんだろ
GTKの前はlesstifを使っていたような気がする
363デフォルトの名無しさん:2011/01/30(日) 18:39:07
GTKで画面設計をGladeでやろうとしたら
バグる固まる落ちるソース汚い再利用出来ない
何一つ良いこと無かったのを思い出した

QtCreator使ったときは普通に動いただけなのになぜか感動した
364デフォルトの名無しさん:2011/01/30(日) 19:03:40
QtもLGPLになったしな。
365デフォルトの名無しさん:2011/01/30(日) 19:09:54
ところで、Python + Qt or GTKでLinux以外のアプリケーションを作るってそんなに頻繁にあるのか?
Pythonでアプリケーションを作ってそこそこ長いつもりだが、そういう仕事がきたことがない。

もちろん、趣味でもつくろうと思ったことない。
366デフォルトの名無しさん:2011/01/30(日) 19:10:32
人の趣味に口出しするなよ
367デフォルトの名無しさん:2011/01/30(日) 19:15:55
>>365
Linuxというより、クロスプラットフォームなアプリを作りやすい。
ベンダー依存なコード部分を書く場面がほとんど無いからな。
368デフォルトの名無しさん:2011/01/30(日) 19:16:54
GTKでベンダー依存なコードってどんなコード?
369デフォルトの名無しさん:2011/01/30(日) 19:23:54
Android で先に動いてくれた方を採用するとしよう
370デフォルトの名無しさん:2011/01/30(日) 19:33:37
>>368
IME(FEP)を操作するところとか。
371デフォルトの名無しさん:2011/01/30(日) 19:35:23
他には
372デフォルトの名無しさん:2011/01/30(日) 19:39:08
>>363
どんだけお前は無能なんだ
そんな事皆無だぜw
373デフォルトの名無しさん:2011/01/30(日) 19:39:17
374デフォルトの名無しさん:2011/01/30(日) 19:56:53
PageRankアルゴリズムは正しい
375デフォルトの名無しさん:2011/01/30(日) 21:50:14
>>328
GPLのを除く理由が分からん。
Linuxデスクトップ使いだが、QtよりGTK+の方がむしろよく使われてるイメージだし、
かつてはフリーのQtはGPLしかなかったから、それが障害になってQtよりもGTK+の方が好んで使われていたかと。
376314:2011/01/30(日) 21:51:20
私の質問で荒れてしまったようで申し訳ありません。

何名かの方におっしゃっていただいているように、PyGTKを勉強しておりますのでQtや他の言語の大体案ではなく、
PyGTKのEclipseプラグインがあれば教えていただきたいと思い質問させていただきました。

ご回答がないようですので、プラグインはないと考えたほうがよろしいでしょうか?
377デフォルトの名無しさん:2011/01/30(日) 21:52:20
Qt信者の痛さは凄いよな
378デフォルトの名無しさん:2011/01/30(日) 21:54:05
>>377
そういうのでまた荒れる。死んでくれ。
379デフォルトの名無しさん:2011/01/30(日) 22:14:06
Qtを使ってる人にwxなりGTKをすすめる人はあまりいないが、
wxなりGTKなりを使ってる人を見つけたら、とりあえずQtじゃないことを馬鹿にしてQtを強要するのがQt信者

本人がQtを使ってるかどうかは関係ない。使ってなくてもQtは万能だと信じてやまない
380デフォルトの名無しさん:2011/01/30(日) 22:20:29
>>376
これで足りるのかわからないけど
http://faq.pygtk.org/index.py?req=show&file=faq23.043.htp
381デフォルトの名無しさん:2011/01/30(日) 22:33:46
中間をとってwxってことですね
問題もなくPythonとの親和性も高いようですし
382デフォルトの名無しさん:2011/01/31(月) 00:18:11
>>105
グレートファイアウォール対策らしい

svn log -r 13591 https://svn.python.org/www/trunk/beta.python.org
------------------------------------------------------------------------
r13591 | georg.brandl | 2011-01-25 06:36:13 +0900 (Tue, 25 Jan 2011) | 1 line

Add Chinese-language download link leading to the alias /getit that is not blocked by the Great Firewall of China.
------------------------------------------------------------------------
383デフォルトの名無しさん:2011/01/31(月) 02:07:35
いまどきGTKはダサいよね
Python勉強してる人にわざわざGTK薦めるなんて
C#勉強してる人にMFC薦めるようなもんだよ
384デフォルトの名無しさん:2011/01/31(月) 02:08:10
頭悪そうだなお前
385デフォルトの名無しさん:2011/01/31(月) 02:09:25
>>381,383
オレはQt党だけど、wxもシンプルでいいな。
XMLでデザインのテンプレートも書けるし、スクリプト向けだ。
386デフォルトの名無しさん:2011/01/31(月) 02:13:20
http://www.ojuba.org/wiki/docs/wxpython
ここは
PyGTK > wxPython > PyQt > Tkinter
みたいな感じ
387デフォルトの名無しさん:2011/01/31(月) 02:18:00
>>386
こんな良サイトがあるなんて知らなかった
本当にありがとう
388デフォルトの名無しさん:2011/01/31(月) 02:18:31
英語でおk
389デフォルトの名無しさん:2011/01/31(月) 02:54:33
読めん
っつーか右オフサイドw
390デフォルトの名無しさん:2011/01/31(月) 02:57:27
>>386
PyQtのサイトよりも判りやすい
391デフォルトの名無しさん:2011/01/31(月) 03:11:12
縦長すぎw
207回もスクロールボタンを押したぞ
392デフォルトの名無しさん:2011/01/31(月) 03:27:50
>>386
テトリスやってしまった
難しいすぎる orz
393デフォルトの名無しさん:2011/01/31(月) 07:20:40
>>386
http://zetcode.com/wxpython/ が元サイトのようだな。
アラビア語なんて読めねーよ。
394デフォルトの名無しさん:2011/01/31(月) 18:40:44
zetcodeは良いサイト。
395デフォルトの名無しさん:2011/01/31(月) 18:57:14
Ий сет
396デフォルトの名無しさん:2011/01/31(月) 19:13:35
おばけのQt太郎。
397デフォルトの名無しさん:2011/01/31(月) 19:15:42
2ちゃんねるの数十%は>>396みたいなレスなんだろうな
398デフォルトの名無しさん:2011/01/31(月) 19:27:51
http://www.pocoo.org/
こいつら良い仕事してる。
399デフォルトの名無しさん:2011/01/31(月) 20:37:25
最近気づいたけど
pyscripterのバージョン上がってるんだね。
誰か使ってる?
400デフォルトの名無しさん:2011/01/31(月) 20:47:05
http://www.youtube.com/watch?v=fmyNZZnnvFQ
こいつら良い仕事してる。
401デフォルトの名無しさん:2011/01/31(月) 22:26:35
俺はクソみたいな仕事してる。
402デフォルトの名無しさん:2011/01/31(月) 22:32:50
GTKは糞
403デフォルトの名無しさん:2011/01/31(月) 23:02:47
WSGIクライアントは
どのサーバで動かすのがおすすめですか?
404デフォルトの名無しさん:2011/01/31(月) 23:42:25
Werkzeug
405デフォルトの名無しさん:2011/01/31(月) 23:56:31
>>404
使ってみます。
406デフォルトの名無しさん:2011/02/01(火) 00:21:23
Qtは下痢
407デフォルトの名無しさん:2011/02/01(火) 00:35:52
Pythonで変数の値の文字列が数字だけか英数字か調べたいのですが、
なにかいい方法はありませんか?
現在はint()して例外の有無で検査しているのですが、
もっとほかの方法はないでしょうか?
408デフォルトの名無しさん:2011/02/01(火) 00:41:05
409デフォルトの名無しさん:2011/02/01(火) 00:41:16
>>> "0721919".isdigit()
True
410407:2011/02/01(火) 00:45:40
そんな便利なメソッドがそろっているのですね
ありがとうございました
411デフォルトの名無しさん:2011/02/01(火) 02:59:05
>>407
'-' が付いてたらどうなるの?
412デフォルトの名無しさん:2011/02/01(火) 07:11:20
>>411
爆発します
413デフォルトの名無しさん:2011/02/01(火) 17:15:58
Unladen Swallowって死んだの?
414デフォルトの名無しさん:2011/02/01(火) 17:39:49
>>413
中の人は、休眠中であって終了したわけじゃないって言ってる。
415デフォルトの名無しさん:2011/02/01(火) 18:01:45
LLVMにしてもあんま速くならないから飽きたのかな...
416デフォルトの名無しさん:2011/02/01(火) 18:11:44
Googleの他のお仕事が忙しいって
417デフォルトの名無しさん:2011/02/01(火) 18:15:13
オイシイメソッドを教えて下さい
418デフォルトの名無しさん:2011/02/02(水) 12:53:42
>>411
Σ('-';
419デフォルトの名無しさん:2011/02/02(水) 13:21:32
質問なんだけど

文字列からクラスを指定する方法教えてください
420デフォルトの名無しさん:2011/02/02(水) 13:26:52
__import__
421デフォルトの名無しさん:2011/02/02(水) 13:32:46

geyattr
422デフォルトの名無しさん:2011/02/02(水) 13:37:30
mo = __import__('turtle', {}, {}, [])
cls = getattr(mo, 'Turtle')
t = cls()
t.forward(100)

423デフォルトの名無しさん:2011/02/02(水) 14:04:30
ありがとうございます
424デフォルトの名無しさん:2011/02/02(水) 14:06:43
どうみてもgayです
425デフォルトの名無しさん:2011/02/02(水) 16:44:54
>>423
どういたしまして
426デフォルトの名無しさん:2011/02/02(水) 17:31:29
gaslighting
427デフォルトの名無しさん:2011/02/02(水) 22:22:22
2009/07/24 企業内失業者が607万人に、経済財政白書
2009/07/25 正規と非正規で2.5倍の所得差、経済財政白書
2009/10/11 生活保護、7月は過去最多の124万世帯
2009/10/20 日本の貧困率は15.7%、先進国ワースト2位
2009/12/22 日本の労働生産性、OECD30カ国中20位、先進7カ国中最下位
2010/01/26 自殺者12年連続で3万人超す 09年
2010/02/11 国の借金、872兆円と過去最大に
2010/03/04 生活保護世帯、130万世帯を突破
2010/04/10 昨年度の全勤労者平均給与年収は300万未満、厚労省発表
2010/04/22 「成果主義」で信頼感や意欲低下、企業活力研究所
2010/05/13 自殺者数12年連続で3万超、若年層自殺率が過去最悪
2010/05/17 正社員雇用でもワープア拡がる
2010/05/24 退職強要「新卒切り」横行、無計画のツケを新人に
2010/06/12 生活保護134万世帯で過去最多
2010/06/29 労働者の23%がワープアに、なお欧州は8%
2010/06/30 日本の人口当たりの自殺者数、OECD加盟国で二位
2010/07/24 ひきこもり70万人、予備軍155万人 内閣府推計
2010/08/10 国の借金が過去最大、遂に900兆円超す
2010/08/12 生活保護世帯が135万世帯で過去最多
2010/08/21 完全失業者349万人、長期化の傾向で一年超失業は118万人
2010/09/05 日本の一人当たりGDP、台湾に抜かれる
428デフォルトの名無しさん:2011/02/03(木) 00:14:29
(^o^))))))))>-
< < < < < <
429デフォルトの名無しさん:2011/02/03(木) 08:04:02
過疎
430デフォルトの名無しさん:2011/02/03(木) 10:17:37
二つもいらねーんだよ
くだすれと合流しろ
どうせレベルなんて変わらんし
431デフォルトの名無しさん:2011/02/03(木) 12:00:31
2chはゴミ溜めなので、
いくつスレを立てても問題ないと考えられる。
432デフォルトの名無しさん:2011/02/03(木) 13:32:24
おもすれPythonでも作ってみるかな
433デフォルトの名無しさん:2011/02/03(木) 15:24:52
やっぱり複数あると荒らしもやりにくいのね>>430
434デフォルトの名無しさん:2011/02/04(金) 00:22:13
現在TSVでデータを保存するプログラムを制作しているのですが、pickleを知り便利さにびっくりしております。

そこで、今後データの保存にはpickleを利用しようと考えているのですが、
pickleのメリットやデメリットとしてどのようなものがあるのでしょうか?

435デフォルトの名無しさん:2011/02/04(金) 00:39:52
pickleってシリアライズとかの処理をしてる分遅いんかいな
436デフォルトの名無しさん:2011/02/04(金) 01:07:23
メリット: おてがる
デメリット: 出力したデータはPythonでしか読めない。
437デフォルトの名無しさん:2011/02/04(金) 01:11:43
>>433
>>430じゃないけど、俺もヲチするスレは一個の方が楽
違いのないスレ二つヲチするのは苦痛
438デフォルトの名無しさん:2011/02/04(金) 01:13:56
UbuntuLinuxでPythonの勉強をしているのですが、別の環境に持って行くと

<type 'exceptions.UnicodeDecodeError'>

というエラーが出たりします。
これはドのようなエラーになるのでしょうか?
439デフォルトの名無しさん:2011/02/04(金) 01:14:43
>>434
そこで JSON ですよ
440デフォルトの名無しさん:2011/02/04(金) 01:15:33
>>438
sitecustomize.py の setdefaultencoding('UTF-8') で
441デフォルトの名無しさん:2011/02/04(金) 01:16:53
>>438
書いてあるじゃないか
442デフォルトの名無しさん:2011/02/04(金) 01:23:02
sys.setdefaultencoding()云々って言っている奴は絶対に信用するなよ
443デフォルトの名無しさん:2011/02/04(金) 01:24:20
え?なんで?
444デフォルトの名無しさん:2011/02/04(金) 01:28:51
>>440
嫌がらせかよ
445デフォルトの名無しさん:2011/02/04(金) 01:33:07
またお前か
446443:2011/02/04(金) 01:33:42
おいおい、だからなんでなんだい?
ちなみに俺は>>440じゃないよ
447デフォルトの名無しさん:2011/02/04(金) 01:56:13
理由の説明もできないのに偉そうなことほざくバカが増えたな
448デフォルトの名無しさん:2011/02/04(金) 01:57:01
なんたってプログラミング言語ランキング1位だからね
449デフォルトの名無しさん:2011/02/04(金) 02:03:08
書き捨てコード用に手間を省くために使うなら
別に構わないだろ>setdefaultencoding

もちろん何を意味するものか理解せずに設定したら
後でもっと大きなトラブルにぶち当たる可能性が高くなるけど、
そんな設定は他にも色々ある。
450443:2011/02/04(金) 02:11:23
何がいけないの?
サイトのマルチバイトのデフォルトエンコーディング設定をしているんだよね
書き捨てとかじゃないでしょ?
451デフォルトの名無しさん:2011/02/04(金) 02:24:45
sys.setdefaultencoding()云々って言っている奴は絶対に信用するなよ
452デフォルトの名無しさん:2011/02/04(金) 02:27:29
Unicodeの扱いとかUnicodeDecodeErrorの正しい対策の仕方とかまとめられた本って、
エキスパートPythonプログラミング以外には無いのかな?
エキPyは入門者向けじゃないし、Unicode章だけバラ売りしてくれたら良いのに。
453デフォルトの名無しさん:2011/02/04(金) 02:28:57
エンコードの設定はsetdefaultencoding()でやるって言い出した奴の罪は重いな
情弱共が面白いように引っ掛かって糞コードを量産してやがる
454デフォルトの名無しさん:2011/02/04(金) 02:29:59
書き捨てのときも、codecs.openとかio.open使えばいいから、
setdefaultencodingを使う必要はな
455443:2011/02/04(金) 02:33:36
>>451
お前みたいな奴をバカって言うんだよ。理由が理解できないのに分かったふりするんだから。
>>452
持ってるし読んでる
>>453-454
いけないとは誰も言ってない
デフォルトのエンコーディングに依存したコードを書くと可搬性がなくなると言っているだけ
456デフォルトの名無しさん:2011/02/04(金) 02:37:34
>>455
可搬性wwwww
問題の本質が分からない馬鹿は凄いこと言い出すなww

これ次スレからテンプレにいれようぜ

sys.setdefaultencoding()は使用禁止
sys.setdefaultencoding()云々って言っている奴は絶対に信用するなよ
457デフォルトの名無しさん:2011/02/04(金) 02:37:58
それで良いんじゃないの。

でも、
>>デフォルトのエンコーディングに依存したコードを書くと可搬性がなくなると言っているだけ
言ってねーじゃん。
458デフォルトの名無しさん:2011/02/04(金) 02:38:35
なんとなくSMTPが7bitしか扱えないことを思い出した。
459デフォルトの名無しさん:2011/02/04(金) 02:39:15
>>456
こいつはもっと馬鹿。
460デフォルトの名無しさん:2011/02/04(金) 02:39:17
pass
461デフォルトの名無しさん:2011/02/04(金) 02:41:36
>>455みたいなレベルの低い奴がPythonコミュニティーの足を引っ張っているのは確定的に明らか
462443:2011/02/04(金) 02:42:06
可搬性でなければなんと言えばいいの?
現在の環境で問題なくても別の環境で問題が発生するんじゃないのかい?
サイトで固有の設定に依存する他のアプリに問題があるとかそれはその設定を使う以上自明だよ
463443:2011/02/04(金) 02:44:15
結局まともに理由に触れてるの俺だけじゃね?
464デフォルトの名無しさん:2011/02/04(金) 02:45:41
入出力先のエンコーディングを決めうちしたら普通まずいだろ。
今見てる2chだって未だにShift_JISだぜい?
465デフォルトの名無しさん:2011/02/04(金) 02:46:01
>>443
お前はUTF-8をデフォルトエンコードに設定するとエラーが出ないと思っているのか?
お目出たい奴だな

何で馬鹿にされているのかもうちょっと勉強してこいよ
466デフォルトの名無しさん:2011/02/04(金) 02:46:37
pass
467デフォルトの名無しさん:2011/02/04(金) 02:47:36
エンコーディングとキャラセットの区別もできてないんだろうなぁ
468デフォルトの名無しさん:2011/02/04(金) 02:48:07
旧帝大以下の低能はレスするなよ!
469デフォルトの名無しさん:2011/02/04(金) 02:52:14
>>465
また誤魔化して知ったかぶりですか?
きちんと書いてればエラーは出ないと思うよ
出るならきちんと説明してみなよ
>>467
encodingとcharsetって明確に区別してないよ普通
エンコーディングはバイト列、ち文字セットは文字集合と言えばいいの?
違うなら具体的に説明してみなよ
>>468
留学はしてないな
470デフォルトの名無しさん:2011/02/04(金) 02:53:17
__get__
__set__
__del__
471デフォルトの名無しさん:2011/02/04(金) 02:54:45
>>469
もういいよ。うっとうしい。
分かってる人はちゃんと分かってるから。アホにかまうな。
472デフォルトの名無しさん:2011/02/04(金) 02:54:54
time.sleep or sys.exit(1)
473デフォルトの名無しさん:2011/02/04(金) 02:55:32
>>469
マジでお前馬鹿なんだな
お前の中ではUTF-8はどんな文字コードとも相互変換できる魔法のエンコードなんだろうwww
474デフォルトの名無しさん:2011/02/04(金) 02:57:28
pass
475デフォルトの名無しさん:2011/02/04(金) 02:57:38
>>473
たぶんお前が一番アホ。
476デフォルトの名無しさん:2011/02/04(金) 02:58:34
sys.setdefaultencoding()云々って言っている奴は絶対に信用するなよ
これ言い出した奴はわかってるな
477デフォルトの名無しさん:2011/02/04(金) 02:59:00
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所研究所
478デフォルトの名無しさん:2011/02/04(金) 02:59:27
RuntimeError: fatal error has occured in this thread.
479デフォルトの名無しさん:2011/02/04(金) 02:59:54
>>476
うむ、その一言につきる
480デフォルトの名無しさん:2011/02/04(金) 03:00:50
setdefaultencodingとunicodeとutf-8をNGワードにした。
481デフォルトの名無しさん:2011/02/04(金) 03:02:25
Pythonのお弁当 Part41
482デフォルトの名無しさん:2011/02/04(金) 03:03:29
ここまで俺の自作自演。
483デフォルトの名無しさん:2011/02/04(金) 03:05:27
484デフォルトの名無しさん:2011/02/04(金) 03:05:28
sys.setdefaultencoding()云々って言っている奴は絶対に信用するなよ
485デフォルトの名無しさん:2011/02/04(金) 03:07:35
setdefaultencodingより大切なものがお前らの人生には無いのか。
486デフォルトの名無しさん:2011/02/04(金) 03:08:16
>>471
しばらく黙ってみたよ。確かにこの人いかれてるな。
487デフォルトの名無しさん:2011/02/04(金) 03:09:32
setdefaultencodingするぐらいなら死を選ぶね
488デフォルトの名無しさん:2011/02/04(金) 03:10:01
絶対に負けられない戦いがsetdefaultencoding()にはある。
489デフォルトの名無しさん:2011/02/04(金) 03:11:47
まとめWikiに適当な解説記事でも書いてそっち参照にすればいいんじゃないの
読まない奴はそれで弾ける
490デフォルトの名無しさん:2011/02/04(金) 03:12:49
林: まさかとは思いますが、この「setdefaultencoding」とは、
あなたの想像上の存在にすぎないのではないでしょうか。
491デフォルトの名無しさん:2011/02/04(金) 03:14:02
「sys.setdefaultencoding()は使用禁止です」って>>1に追加して詳細をまとめWikiだな
冗談抜きでこれ以上馬鹿が量産されるのは忍びない
492デフォルトの名無しさん:2011/02/04(金) 03:17:53
どれもこれもバベルの塔を建てようとしたのが悪いんや。
493デフォルトの名無しさん:2011/02/04(金) 03:18:44
sys.setdefaultencoding()設定する香具師はド素人
494デフォルトの名無しさん:2011/02/04(金) 03:24:39
セックス...
495438:2011/02/04(金) 04:18:11
それで私はどうしたらいいのでしょうか?

Cheetahで文章のテンプレートを使っているのですが、
その読み込みの行でエラーが出ているようです。
496デフォルトの名無しさん:2011/02/04(金) 05:23:00
それだけで聞くなら好きにすればいいんじゃないの?としか言えない
君の場合は質問の難易度以前に質問内容そのものが明確じゃないのが問題
497デフォルトの名無しさん:2011/02/04(金) 06:12:48
「それだけで聞くなら好きにすればいい」ってどういう意味ですか?
日本語がわかりません;;
498デフォルトの名無しさん:2011/02/04(金) 06:50:21
その質問内容ならそういう回答でも回答になっているということ
もしもっと別の回答を期待しているならそれなりに何を聞きたいのか
質問内容を考えること
499デフォルトの名無しさん:2011/02/04(金) 07:29:38
どの文字コードもUnicodeに変換して操作すればいいんまよね?
500デフォルトの名無しさん:2011/02/04(金) 07:38:04
>>498
なってないだろw
辞書ひいてみ
501デフォルトの名無しさん:2011/02/04(金) 09:02:07
>>495
今しがた自分も全く同じところでハマってた
cheetahのバージョン下げてみ
502デフォルトの名無しさん:2011/02/04(金) 10:26:22
http://www.cheetahtemplate.org/docs/users_guide_html/users_guide.html#SECTION0001310000000000000000
まさかこれをしてないってことは無いよな…

UnicodeDecodeError とは、バイト列(何らかのエンコーディングでエンコードされた
文字列)を、エンコーディングを指定しないでデコードしようとしたときに発生する
エラー。
で、おまいさんの質問の仕方だと、どこでどんな風にこのエラーが出たのかが
一切不明。Cheetahの話も今はじめて出てきたしな。

最低限、スタックトレースくらいは書くこと。
初心者のうちは問題を発生させるソースコードもどこかに張ってリンクすること。
503501:2011/02/04(金) 11:17:39
すまん
別の書き込みと混同してて俺の書き込みが間違いだ

cheetahの話は全く出てきてないな
504デフォルトの名無しさん:2011/02/04(金) 12:32:24
いまどきCheetahはないよ
505デフォルトの名無しさん:2011/02/04(金) 12:55:01
嘘は口の虚だ
√(-a)では一般的に成り立たない式でも
虚数iによって√i^2(-a)として成り立たせる
それと同じであんたは嘘を嘘で誤魔化しているのだよ
506デフォルトの名無しさん:2011/02/04(金) 12:55:11
>>504
もっと具体的に書いてあげなよ。ここはお勉強スレなんだから。

Pythonでテンプレートエンジンの紹介といったらこんなところだけど、
http://labs.unoh.net/2007/05/python_1.html
http://lab.hde.co.jp/2009/01/pythonmako.html

どれがおすすめかしら。
507505:2011/02/04(金) 12:57:45
スレ間違えました
508デフォルトの名無しさん:2011/02/04(金) 13:57:57
親切すぎるな
推測までして回答なんてバカバカしい
1から10まで全部説明させ、これ以外の回答がない状態になるまで詰めてから
純粋にググッても分からない部分だけを質問させればいいのに

お勉強スレなんだから
509デフォルトの名無しさん:2011/02/04(金) 14:10:20
Jinja2がおすすめ。
510デフォルトの名無しさん:2011/02/04(金) 14:11:33
>>508
ゴタクはどうでもいいから、Cheetahに代わるテンプレートエンジン教えれ。
511デフォルトの名無しさん:2011/02/04(金) 14:34:06
>>510
ゴタクじゃないよ
とても重要な話

そもそもそんなのググればいくらでも出てくるだろう
512デフォルトの名無しさん:2011/02/04(金) 14:58:58
Jinja2
513デフォルトの名無しさん:2011/02/04(金) 15:28:22
ごたくとごとく
514デフォルトの名無しさん:2011/02/04(金) 15:31:22
ごとくがないとフライパンや鍋が安定しないからな
515デフォルトの名無しさん:2011/02/04(金) 16:55:39
[00 10 01] [1010] [0010] [00101010] [01]
516デフォルトの名無しさん:2011/02/04(金) 17:35:41
めかぶおいしいです。
517デフォルトの名無しさん:2011/02/04(金) 17:55:08
239506c13ac28902424ed7058805f2574d4b5828ea6f45.27064009
変換して文字にしてくれ・・・  .は.のままだと思うんだが
518デフォルトの名無しさん:2011/02/04(金) 18:02:50
>>515
きゅう とう しつ で あっー
519デフォルトの名無しさん:2011/02/04(金) 21:28:34
英語教育だけじゃなくて、
日本はすべての科目の教育がクソなんだと思う。
520デフォルトの名無しさん:2011/02/04(金) 21:38:45
日教組が左傾化の一途だから仕方ないよ
でも英語教育は義務教育範囲内じゃあどうしようもない
その後に大学で文理が別れるからそこから教養の差
521デフォルトの名無しさん:2011/02/04(金) 21:48:11
be used to like here: I am used to fuck your ass.
neutralized factions: Oracle is as good as steal.
supposed to wake: I got your balls, four of that is dick and eyes.

これが分かれば英語は完璧
522デフォルトの名無しさん:2011/02/04(金) 22:34:27
Python2と3とでソースを分けた場合、どのように配布すればいいでしょうか。
具体的には、Python2用の元ソースと、2to3コマンドでPython3用に変換したソースとを、どのようにパッケージ化すればいいのかわからず困ってます。

foobar2.py # Python2用
foobar3.py # Python3用

パッケージ自体を、Foo2-1.0.0.tar.gz と Foo3-1.0.0.tar.gz に分けるのが簡単でしょうか。
523デフォルトの名無しさん:2011/02/04(金) 22:36:33
subversion
524デフォルトの名無しさん:2011/02/04(金) 22:47:21
cheetah使ってるけど、なんでダメなんだ?
525デフォルトの名無しさん:2011/02/04(金) 22:51:47
526デフォルトの名無しさん:2011/02/05(土) 00:00:28
Pythonのお仕事がない。なんで。
527デフォルトの名無しさん:2011/02/05(土) 00:15:15
twitter見てたらたまに求人流れてくるよね。英語などで。
528デフォルトの名無しさん:2011/02/05(土) 00:35:54
仕事は自分で創るもんだよ
529デフォルトの名無しさん:2011/02/05(土) 02:02:02
PyGTKを勉強しています。
一定時間毎に特定の処理をさせたいのですが、sleepを使うとGUIも固まってしまいます。

GUIを固まらせずに一定時間毎に処理を走らせる方法はありませんか?
530デフォルトの名無しさん:2011/02/05(土) 02:16:43
>>529
タイマー使うんじゃないんかね。
それから、この問題はPythonじゃなくてGTK+の範疇ね。
531デフォルトの名無しさん:2011/02/05(土) 02:45:19
threading.Thread
532デフォルトの名無しさん:2011/02/05(土) 02:46:22
なんでもスレッドで片付けようとするやつって馬鹿だよね
533デフォルトの名無しさん:2011/02/05(土) 02:59:52
誰もなんでもスレッドで片付けようとしてなくね?
534デフォルトの名無しさん:2011/02/05(土) 03:10:35
すみません
ついでなので聞いちゃいます
たとえば socket の処理をしたいときに
TCPServer と ThreadingMixIn を組み合わせて使うケースと
asyncore で片付けるケースとか
twisted とか
色々やり方があるみたいなのですが
どういう場合にどれを使うと良いみたいな指針ってありますか?
535デフォルトの名無しさん:2011/02/05(土) 03:15:11
GUIフレームワークとスレッドは相性悪いんじゃあなかったかな
536デフォルトの名無しさん:2011/02/05(土) 03:25:38
>>543
エスパーな俺がおっしゃるには
クライアント数が少ないならasyncoreが手っ取り早くていい

というか「君はどれが好き?」みたいな質問するのはどうかと思うぜ
まともな質問をしないとまともな解答は帰ってこない
だがまともな質問をしてもまともな解答が帰ってくるとは限らない
537デフォルトの名無しさん:2011/02/05(土) 03:31:55
>>543がどんなやつか楽しみだな
538デフォルトの名無しさん:2011/02/05(土) 03:33:08
ロングパスか
539デフォルトの名無しさん:2011/02/05(土) 03:34:48
流石エスパーだなwww
540デフォルトの名無しさん:2011/02/05(土) 03:49:55
安定のksk
541デフォルトの名無しさん:2011/02/05(土) 04:03:31
まったくおまいらときたら
期待通りの期待外れな回答寄越しやがって
542デフォルトの名無しさん:2011/02/05(土) 05:44:21
GTKはクソ
543デフォルトの名無しさん:2011/02/05(土) 08:45:36
MacでGUIアプリを作ろうと思ってます。
Objective-Cで書いてもいいんですがPythonで書いておけば後々Winやlinuxに移植するのも簡単だったりするんでしょうか?
544デフォルトの名無しさん:2011/02/05(土) 09:38:09
wktkで待ってたらこの有様とか、今日は安静に過ごそう
545デフォルトの名無しさん:2011/02/05(土) 11:24:13
>>543
お前には失望した
546デフォルトの名無しさん:2011/02/05(土) 12:47:52
>>543
がっかりだ
547デフォルトの名無しさん:2011/02/05(土) 12:52:20
>>543
このクソッタレ野郎!
548デフォルトの名無しさん:2011/02/05(土) 13:15:44
vipでやれ草い
549デフォルトの名無しさん:2011/02/05(土) 15:06:46
openIdList += list(set(totalList)-set(openIdList+closeIdList))
(リストの中身はint型)

ってコードなんだけどopenIdListが10万件を超えたらすごいもっさりしてきた
速くするアイデアがあったらギボンヌ。
550デフォルトの名無しさん:2011/02/05(土) 15:33:39
>>549
openIdListは、set型じゃダメ?
openIdSet += set(totalList) - set(closeIdList)
だと、少しはマシになるかと思うのだけど。
551デフォルトの名無しさん:2011/02/05(土) 15:38:51
1. アルゴリズム全体を見なおす
2. listをすべてsetにする
3. 集合演算(union, intersection, etc.)をつかう
552549:2011/02/05(土) 15:40:29
>>550
set型でもOKです。試してみます。
リスト方が馴染みがあったんであまり考えずに使ってました。
553デフォルトの名無しさん:2011/02/05(土) 15:42:28
openset, totalset, closedsetにしたほうがいい。
554デフォルトの名無しさん:2011/02/05(土) 15:45:50
>>529
gobject.timeout_add
555549:2011/02/05(土) 16:23:08
>>550,551,553
皆のアドバイスを参考に、全部set型にして
openSet |= (totalSet-closeSet)
にしたらかなり速くなりました。
ありがとう。
556デフォルトの名無しさん:2011/02/05(土) 16:32:44
>>555
そんなに大量のデータを扱うんだったら、
素のままのPythonじゃなくて、
数値計算向けのライブラリをPython越しに使ったほうがいいかもね。
例は示せないけど、調べたら出てくるんじゃない?
557デフォルトの名無しさん:2011/02/05(土) 16:47:56
numpyとかはベクトル化できないと速くならんよ。
558デフォルトの名無しさん:2011/02/05(土) 19:51:58
そこでORACLEですよ
559デフォルトの名無しさん:2011/02/05(土) 19:55:36
黙れ小僧。お前にSunが救えるか。
560デフォルトの名無しさん:2011/02/05(土) 20:01:51
クスっときた
561デフォルトの名無しさん:2011/02/05(土) 20:20:31
NoSQL! NoSQL!
562デフォルトの名無しさん:2011/02/05(土) 20:27:06
署名する前に終わってたのを思い出した
563デフォルトの名無しさん:2011/02/06(日) 01:01:21
oracle(w)= tiwtflt^iπ
564デフォルトの名無しさん:2011/02/06(日) 01:08:53
今日はバトルロワイヤルスレが熱かったな
565デフォルトの名無しさん:2011/02/06(日) 01:23:38
ああいう議論で何が得られるんだろ。
コンパイラ理論の教科書でも読んでたほうがマシ。
566デフォルトの名無しさん:2011/02/06(日) 01:32:49
Python 2.6用のスクリプトを書くときに、Python 3.0を意識してしておいたほうが良いことってありますか?
567デフォルトの名無しさん:2011/02/06(日) 01:36:40
>>566
Python 3.0系へ移植可能性を考慮するときの注意点は
公式ドキュメントでまとめられてるよ。
568デフォルトの名無しさん:2011/02/06(日) 01:40:48
>>566
マジレスするとないと思う
3年後はわからないが少なくともあと数年は3は存在を無視しておいておk
569デフォルトの名無しさん:2011/02/06(日) 01:41:40
少しづつ__future__が増える
570デフォルトの名無しさん:2011/02/06(日) 02:03:29
Python3とIPv6の類似性について。
571デフォルトの名無しさん:2011/02/06(日) 02:07:39
>>568
なるほど。
「このスクリプトは2.6用です。」的な文言を分かりやすく書いておけば十分かしら。
572デフォルトの名無しさん:2011/02/06(日) 02:18:00
573デフォルトの名無しさん:2011/02/06(日) 04:09:03
>>570
Python2は枯渇しない
574デフォルトの名無しさん:2011/02/06(日) 04:39:33
>>565
参加してた人だけど。あれは議論なんかじゃないよ。
議論は、意見押し付けるよりも聞くのを主にしないと成り立たないし、双方が価値のある意見持ってないと成り立たない。
あれは議論とは違って何も得られない。
575デフォルトの名無しさん:2011/02/06(日) 07:49:54
>>573
枯渇はしないけど、衰退するかもよ。
576デフォルトの名無しさん:2011/02/06(日) 08:42:01
日本人ならとっととver3を使うべき
ライブラリが対応してない?
お前らも移植に貢献しろ
577566:2011/02/06(日) 10:08:59
みんな回答ありがとう。
>>576の言うように Python 3.xを使うべきなんだろうけど、
システムがPython2.6以下を要求している場合は個人の影響力では難しいです(´・ω・`)
578デフォルトの名無しさん:2011/02/06(日) 11:27:34
組み込みLinuxでスクリプト言語を使う必要があるのですが、pythonって重いのでしょうか。

579デフォルトの名無しさん:2011/02/06(日) 11:31:27
580デフォルトの名無しさん:2011/02/06(日) 11:33:35
>>578
そんな事を聞くようなやつがどういう組み込みができるんだ
581デフォルトの名無しさん:2011/02/06(日) 11:39:06
>>580
ご心配なく。
582デフォルトの名無しさん:2011/02/06(日) 11:41:32
ターゲットで python 動かすってこと?

そもそも「スクリプト言語を使う必要」の理由は?
583デフォルトの名無しさん:2011/02/06(日) 11:41:35
Python2.5からSQLite3が標準ライブラリに入ってるとのことですが、
標準ライブラリということは、Python2.5以降には確実に入っているのですか?

データの保存にTSV,Pickle,SQLiteで悩んでおります。
データが大きくなった時のことを考えるとSQLiteが最善かと考えているのですが、
ほかに何か選択肢はありますか?
584デフォルトの名無しさん:2011/02/06(日) 11:45:31
>>582
>ターゲットで python 動かすってこと?
はい、そうです。

X86 Linux で動作している python の資産を
ハードが安価なARM系のハードで動作させるのが目的なんです。
585デフォルトの名無しさん:2011/02/06(日) 11:47:04
CPUはCortex -A8 600MHzです。
586デフォルトの名無しさん:2011/02/06(日) 11:48:20
>>584
AndroidでPythonその他のスクリプト言語を動かすプロジェクトがあるよ。
パフォーマンスは自分で試してみるべし。
人に聞いたところで実測してダメだったらダメなんだから、
最初から自分で試したほうが早いよ。
587デフォルトの名無しさん:2011/02/06(日) 11:50:27
ばらばらだな>TSV,Pickle,SQLite
588デフォルトの名無しさん:2011/02/06(日) 11:51:04
ところで、なぜ試さずに聞いた?
比較対象もなく、なにが軽量なのかも明示しない。

挙句の果てにCPUだけ掲示。
組み込み技術者ならCPUだけ掲示しても意味がないことわかるだろ?
それがわからないなら、どうせできないから質問しても無駄。
589デフォルトの名無しさん:2011/02/06(日) 12:28:19
掲示じゃなくて提示か 日本語がわけわからんくなった
590デフォルトの名無しさん:2011/02/06(日) 12:31:50
>>584
>X86 Linux で動作している python の資産を
>ハードが安価なARM系のハードで動作させるのが目的なんです。

そういうことなら、選択肢はないと思うぞ。
まず試してみて、遅かったら遅いところをCに移植するとか工夫するしかないでしょ。
591デフォルトの名無しさん:2011/02/06(日) 15:05:24
みずから医学部や看護学部に (親に行かされるのでなく) 志願して
行くような人は、その学問の「社会性」というものをすこしは認識
していそうである。しかし工学部へ、とくに情報系の分野へ行く連中
はどうなのか。ただひたすら「オモチャをいじっているのが楽しい」だけ
の人が多いんじゃないか? アホな連中が、やれ facebook だ twitter だ
cloud だ、と騒ぐのを
592デフォルトの名無しさん:2011/02/06(日) 15:09:16
ひょうたんから駒とも申しますし
古くはゲームの移植からOSやらプログラミング言語が生まれる世界ですから
まあ次からはスレタイ読んでね
593デフォルトの名無しさん:2011/02/06(日) 15:19:39
コピペに反応すんなや
594デフォルトの名無しさん:2011/02/06(日) 15:27:30
スマートフォンを買う人間の気が知れん。
595デフォルトの名無しさん:2011/02/06(日) 15:29:39
他人の買い物になんだかんだと言うやつの気が知れん。
596デフォルトの名無しさん:2011/02/06(日) 16:22:08
Pythonは社会的な言語だぉ♪
597デフォルトの名無しさん:2011/02/06(日) 16:47:28
他人の考えにとやかく言うやつの気がしれん
598デフォルトの名無しさん:2011/02/06(日) 17:02:48
(お約束だが) オマエモナ〜
599デフォルトの名無しさん:2011/02/06(日) 19:22:08
IT土方定年終わったから
まさに工学部の情報系の受験してるんだけど
なんか問題あるの・・
600デフォルトの名無しさん:2011/02/06(日) 19:28:41
定年いくつだよ
601デフォルトの名無しさん:2011/02/06(日) 19:30:26
俺の職場は38
602デフォルトの名無しさん:2011/02/06(日) 19:32:16
受験は通信制とか?
603デフォルトの名無しさん:2011/02/06(日) 19:33:26
おそらくアグネス大学だろう
604デフォルトの名無しさん:2011/02/06(日) 19:56:18
留学した友達が、向こうは定年までプログラマできるって言ってた。
元技術職の人間に管理職やらせる日本はクソで非効率なうんこ。
605デフォルトの名無しさん:2011/02/06(日) 20:07:01
潰し目的で管理職させるんじゃないの
606デフォルトの名無しさん:2011/02/06(日) 20:29:50
中小は管理職やってる奴らに面接されるから悪循環
607デフォルトの名無しさん:2011/02/06(日) 20:44:13
エスイーとかエスアイとかいう謎の和製英語作った奴死ねよ。
608デフォルトの名無しさん:2011/02/06(日) 20:47:27
ごめん、俺だわ。まさかこんなに広まるとは思わなかったが
609デフォルトの名無しさん:2011/02/06(日) 20:52:42
このスレの住民は笑いのセンスが高いと思う
610デフォルトの名無しさん:2011/02/06(日) 20:55:50
GTKはクソ
611デフォルトの名無しさん:2011/02/06(日) 21:06:03
GUIにおけるMVCその他のデザインパターンを列挙してる記事があって、
http://matarillo.com/general/uipatterns.php

面白そうだったのでPythonでサンプルを作ってみた。
http://knivez.homelinux.org/~spro/python/mvcsample.zip

感想とか聞かせて。
612デフォルトの名無しさん:2011/02/06(日) 21:10:40
これはひどい
613デフォルトの名無しさん:2011/02/06(日) 21:16:28
>>586
今更だが、Linux OS + Dalvik VM + Python実装 のサンドイッチ状のオーバーヘッドがバカっぽいのでやめれ
とりあえずターゲット機でビルドして要らぬところを削ってくのが定石やね
614デフォルトの名無しさん:2011/02/06(日) 21:16:29
>>611
os.system("rm -rf /") とかしてそうで怖い。
615デフォルトの名無しさん:2011/02/06(日) 21:16:48
不合格
616デフォルトの名無しさん:2011/02/06(日) 21:18:32
>611

要努力
617デフォルトの名無しさん:2011/02/06(日) 21:18:42
>>611
グロ注意
618デフォルトの名無しさん:2011/02/06(日) 21:19:29
ソースコードがutf-8で、readmeがcp932なあたりで泣いた
619デフォルトの名無しさん:2011/02/06(日) 21:19:35
いきなりZIPに直リンとか
親の顔をみてみたい
620デフォルトの名無しさん:2011/02/06(日) 21:19:40
再提出レベルだろ
621デフォルトの名無しさん:2011/02/06(日) 21:20:28
抽象化がいまいち過ぎる
622デフォルトの名無しさん:2011/02/06(日) 21:21:19
GTKはクソ
623デフォルトの名無しさん:2011/02/06(日) 21:21:56
pass
624デフォルトの名無しさん:2011/02/06(日) 21:24:18
モデルビューのほうが好き。
コントローラは要らない子。
625デフォルトの名無しさん:2011/02/06(日) 21:24:41
Qtはゴミ
626デフォルトの名無しさん:2011/02/06(日) 21:25:49
中小暮らすが無いね
627デフォルトの名無しさん:2011/02/06(日) 21:26:39
インターフェースが糞実装
628デフォルトの名無しさん:2011/02/06(日) 21:28:13
質問ってのは自分で調べても分からないことを聞くのが常識だと思うんだけど、
世の中そういう常識が通じない奴が増えてるんだろうね。

そういう奴は、ただ自分の時間を節約する(本当に節約になるかどうかは疑問だが)
ために他人を利用することを何とも思わないんだろう。
629デフォルトの名無しさん:2011/02/06(日) 21:29:27
聞きたい人がいて
答えたい人がいて

その為の場所がある

この簡単な仕組みが
理解できないんだろ

学習能力 or 意欲のないやつに無理に教えることはないよな
630デフォルトの名無しさん:2011/02/06(日) 21:29:36
All your base is belong to us.
631デフォルトの名無しさん:2011/02/06(日) 21:30:46
コントローラって何のためにあるんだ。
632デフォルトの名無しさん:2011/02/06(日) 21:31:29
>>630
All your base are belong to us. だろうが
このド素人が!
633デフォルトの名無しさん:2011/02/06(日) 21:33:22
All your basis are belong to us.
634デフォルトの名無しさん:2011/02/06(日) 21:33:37
>>631
三権分立のため
635デフォルトの名無しさん:2011/02/06(日) 21:33:49
おもいコントローラしれんのみちを
636デフォルトの名無しさん:2011/02/06(日) 21:35:56
それがそんなに重要なのかね?
637デフォルトの名無しさん:2011/02/06(日) 21:37:08
何かものすごい知ったかぶりを見た気がする
638デフォルトの名無しさん:2011/02/06(日) 21:37:51
そんなことより磯野〜野球やろうぜ
639デフォルトの名無しさん:2011/02/06(日) 21:38:08
メタプログラミングは
魔術みたいなもので、
ビックリすることが
できるようになる。
       ----Matz
640デフォルトの名無しさん:2011/02/06(日) 21:40:11
馬鹿には無理
641デフォルトの名無しさん:2011/02/06(日) 21:41:06
EADMはQtだよなマジで糞
642デフォルトの名無しさん:2011/02/06(日) 21:42:16
変な文化だよな。常にself付けておけば間違いも無くなるのに。
643デフォルトの名無しさん:2011/02/06(日) 21:44:49
メタプログラミングのやりすぎには注意しましょう。
644デフォルトの名無しさん:2011/02/06(日) 21:45:16
Qtは糞
645デフォルトの名無しさん:2011/02/06(日) 21:45:38
単一電池
646デフォルトの名無しさん:2011/02/06(日) 21:46:36
2chに名前を出して書いているってことは構ってくれって言っているものだから、
構って当たり前
647デフォルトの名無しさん:2011/02/06(日) 21:47:23
rubyの人はすぐ言語戦争に話を持って行きたがる
建設的な話できない
648デフォルトの名無しさん:2011/02/06(日) 21:49:34
答えたい人がいなくなったオカン
649デフォルトの名無しさん:2011/02/06(日) 21:52:10
Webアプリケーションはデプロイが簡単ってだけで
あとはクソみたいな側面しかない。
AJAX(笑) HTML5(笑)
650デフォルトの名無しさん:2011/02/06(日) 21:53:20
なんのスレだよ。
みんなキーワードだけ拾って、適当なこと言ってるだけやないけ。
分裂しすぎや。統合失調症なのではないか。
651デフォルトの名無しさん:2011/02/06(日) 21:53:25
(.+)+
これってどういう意味を表している?

(任意の文字の1文字以上の繰り返し)の繰り返しなので

すももももももももものうち の場合
(す)(ももももももももも)(の)(う)(ち)
とヒットするに違いない

>>> import re
>>> r = re.compile(r'(.+)+')
>>> m = r.match(u'すももももももももものうち')
>>> print repr(m.group()).decode('unicode-escape')
u'すももももももももものうち'
>>> print repr(m.group(0)).decode('unicode-escape')
u'すももももももももものうち'
>>> print repr(m.group(1)).decode('unicode-escape')
u'すももももももももものうち'
>>> print repr(m.group(2)).decode('unicode-escape')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: no such group
652デフォルトの名無しさん:2011/02/06(日) 21:58:12
>>651
そんな意味にはならんよ。
1文字以上の文字列すべてにマッチする。
653デフォルトの名無しさん:2011/02/06(日) 22:05:00
>>651
グループに*+をつけてもダメ。
654デフォルトの名無しさん:2011/02/06(日) 22:12:42
>>> import re
>>> def p(r, u):
... print repr([c for c in re.search(r, u).group()]).decode('unicode-escape')
...
>>> u=u'すももももももももものうち'
>>> p(r'(.+)+', u)
[u'す', u'も', u'も', u'も', u'も', u'も', u'も', u'も', u'も', u'も', u'の', u'う', u'ち']
>>> p(r'(.){1,1}', u)
[u'す']
>>> p(r'(.){1,3}', u)
[u'す', u'も', u'も']
>>> p(r'(.){2,3}', u)
[u'す', u'も', u'も']
>>> p(r'(.)\1', u)
[u'も', u'も']
>>> p(r'(.)\1\1', u)
[u'も', u'も', u'も']
>>> p(r'(.)\1{1,1}', u)
[u'も', u'も']
>>> p(r'(.)\1{2,6}', u)
[u'も', u'も', u'も', u'も', u'も', u'も', u'も']
>>> p(r'(.)\1{2,8}', u)
[u'も', u'も', u'も', u'も', u'も', u'も', u'も', u'も', u'も']
>>> p(r'(.)\1{2,9}', u)
[u'も', u'も', u'も', u'も', u'も', u'も', u'も', u'も', u'も']
>>> p(r'(.)\1{2,100}', u)
[u'も', u'も', u'も', u'も', u'も', u'も', u'も', u'も', u'も']
655デフォルトの名無しさん:2011/02/06(日) 22:19:38
正規表現ではムリ。

>>> import itertools
>>> s="すもももももももものうち"
>>> list(list(e[1]) for e in itertools.groupby(s))
[['す'], ['も', 'も', 'も', 'も', 'も', 'も', 'も', 'も'], ['の'], ['う'], ['ち']]
656デフォルトの名無しさん:2011/02/06(日) 22:19:45
>>> r = re.compile(r'(.)\1*')
>>> m = r.finditer(u'すももももももももものうち')
>>> for i in m:
... print i.group(0)
...

ももももももももも



>>>
657デフォルトの名無しさん:2011/02/06(日) 22:23:03
>>650
おもしろい思想だな、1スレ=1人格という考え方か?

1スレが多人数で投稿しているのだから分散して当たり前だと思うんだが
そういう発想ができることに素直に感心したわ
658デフォルトの名無しさん:2011/02/06(日) 22:23:37
>>> print repr([c.group() for c in re.finditer(r'(.)\1*', u'すももももももももものうち')]).decode('unicode-escape')
[u'す', u'ももももももももも', u'の', u'う', u'ち']
659デフォルトの名無しさん:2011/02/06(日) 22:24:51
>>656 >>658
ありがとうございました
660デフォルトの名無しさん:2011/02/06(日) 22:27:01
相変わらずココはラベルが低いな
661デフォルトの名無しさん:2011/02/06(日) 22:28:19
>>657
いやそんなマジレスしなくても
662デフォルトの名無しさん:2011/02/06(日) 22:28:50
漏れの書いたコードはラベル高すぎて誰にも理解されない
663デフォルトの名無しさん:2011/02/06(日) 22:29:42
ラベルの正しい発音はレーベル
664デフォルトの名無しさん:2011/02/06(日) 22:35:20
どっちかっつーとレイベル
ttp://dictionary.reference.com/browse/label
665デフォルトの名無しさん:2011/02/06(日) 22:37:56
なにこのひとこわい……
666デフォルトの名無しさん:2011/02/06(日) 22:40:48
>>665
英語が喋れなくて外人が怖い人?
667デフォルトの名無しさん:2011/02/06(日) 22:45:04
なんでラベルって言うんだ。ドイツ語由来とかかな。
668デフォルトの名無しさん:2011/02/06(日) 22:52:55
明治の人はローマ字読みで適当に音を当てていたから。
669デフォルトの名無しさん:2011/02/06(日) 23:03:31
(water)
670デフォルトの名無しさん:2011/02/06(日) 23:44:13
ここの人はグリーンオニオンを玉ねぎとか言いそうで怖い
671デフォルトの名無しさん:2011/02/07(月) 00:49:46
2.5以降なら確実にSQLiteは使えると考えていいんですか?
672デフォルトの名無しさん:2011/02/07(月) 01:11:43
SQLiteがインストールされていないとつかえますん
673デフォルトの名無しさん:2011/02/07(月) 01:14:58
使えるだろ
674デフォルトの名無しさん:2011/02/07(月) 01:19:59
Linuxならパッケージマネージャが勝手にインストールするし、
Windows用のバイナリにもバンドルされてるよ。
675671:2011/02/07(月) 01:39:45
すみません。質問し直します。

Pythonでプログラムの制作をかんがえているのですが、データの保存にSQLiteを使うかどうか悩んでおります。
SQLiteはPython2.5で標準モジュールになったとのことですが、標準モジュールということはPython2.5が
インストールされている環境(レンタルサーバ等)では確実に使えるのでしょうか?

広い環境で使えるプログラムの制作をしたいと思っているので、
環境に依存するようであれば他の方法も考えようかと思っております。
676デフォルトの名無しさん:2011/02/07(月) 01:40:59
>>673
え?
677デフォルトの名無しさん:2011/02/07(月) 01:55:35
>>675
というか、もう3.1や2.7が出てる状況で2.5未満てどこのロートル環境よ。
別にそれで問題ないんじゃないの。
ただしPythonはデータの永続化のやり方が何通りもあるから、
SQLiteだけが唯一の解ではないけどね。
678デフォルトの名無しさん:2011/02/07(月) 01:58:56
>>672
なんで嘘を書くの?
679デフォルトの名無しさん:2011/02/07(月) 02:01:41
>>675
2.5以上なら普通は使えるはず。
試しにさくらのサーバで調べたらsqlite3モジュール使えたよ。
680デフォルトの名無しさん:2011/02/07(月) 02:01:59
>>675
>SQLiteはPython2.5で標準モジュールになったとのことですが、標準モジュールということはPython2.5が
>インストールされている環境(レンタルサーバ等)では確実に使えるのでしょうか?

基本的には yes
Python が SQLite3 を内蔵している
っていうか FireBird とかと違ってただのファイルアクセスだから
鯖自身に SQLite がインストールされていなくても問題ない
681671:2011/02/07(月) 02:09:32
>>677
2.5未満のところはわからないですが、GAEやさくらインターネットが2.5を使っているので
2.5以降でかんがえようかと思い、SQLiteを候補にしました。
他にデータの永続化にはどのようなものがあるでしょうか?
どれくらいの規模のデータになるかはユーザ次第なのですが、データの参照は検索が多くなるため
SQLiteを考えたのですが、ほかにいいものがあればお教え頂ければと思います。

>>680
ありがとうございます。
サーバのSQLiteを利用しているのではなくて、Pythonに組み込まれているのですね。
調べていたのですがそういった情報がなくわかっていませんでした。
682デフォルトの名無しさん:2011/02/07(月) 02:56:04
GAEはSQLite使わない
BigTable
683デフォルトの名無しさん:2011/02/07(月) 08:37:31
>>677
>というか、もう3.1や2.7が出てる状況で2.5未満てどこのロートル環境よ。

この世間知らずめが。
CentOS5が2.4使っているせいで、世のレンタルサーバは2.4が標準なんだよ。
さくらはFreeBSD使っているからバージョンが新しいけど、
xreaなんて2.3だぜ、いい加減アップデートしろっての。
684デフォルトの名無しさん:2011/02/07(月) 08:39:07
BigTableってオープンソースじゃないの?
685デフォルトの名無しさん:2011/02/07(月) 09:01:45
>683
書こうと思ったら先に書かれていたでござるの巻
686デフォルトの名無しさん:2011/02/07(月) 09:31:33
>>683
ソースからいれればいいじゃん
687デフォルトの名無しさん:2011/02/07(月) 10:05:51
権限もない人様のサーバーにインスコするとか
>>686は相当な腕前を持ったハッカーと見受けられる
688デフォルトの名無しさん:2011/02/07(月) 10:23:14
>>687
通常のユーザー権でもHOMEディレクトリ以下にインストールするのは普通にできる。
ただ、sshすらできない場合や、各種 -devel パッケージがインストールされてないと
結構面倒。
689デフォルトの名無しさん:2011/02/07(月) 10:32:21
>>683
スマンな。
ウチはGentoo Linux使ってるから、Pythonのバージョンは自由に決められるんだ。

# ただしGentoo/portageシステムの根幹に関わってるのでそう簡単には変えられないが
690デフォルトの名無しさん:2011/02/07(月) 11:24:07
>>688
すげえなぁ。
相当なスーパーハッカーですね。

お金払うんでインストールしてもらえませんか?
691デフォルトの名無しさん:2011/02/07(月) 12:15:21
コマンドラインからpythonを動かしてるけどPHPより遅いものなの?
692デフォルトの名無しさん:2011/02/07(月) 12:20:18
サーバサイドではPHPに負けるかもね
ただPHPは小規模でしか使えないでしょ
693デフォルトの名無しさん:2011/02/07(月) 12:27:27
ん?
俺さくらのレンタルサーバ使ってるが、Python2.6入ってるぞ。
694デフォルトの名無しさん:2011/02/07(月) 12:29:09
PixivもmixiもWikipediaもPHPだけどね。

PHPが速いのはPHP自体が速いのではなく、
Webサーバーの中にモジュールとして
一体化してるからスクリプトの起動が早いだけ。

サーバーサイドのPythonはRubyと似た感があるけど、実際のところどうなのかな。
サーバーサイドRubyなぞオレに取っては悪夢以外の何者でもないが、
PythonだとPypyやJythonやらあるし……。
695デフォルトの名無しさん:2011/02/07(月) 12:30:17
李白乙
696デフォルトの名無しさん:2011/02/07(月) 12:31:49
CGIとして動かすならPHPのが圧倒的だろうな
ダンジョーかGAE
697693:2011/02/07(月) 12:35:18
あと、/home/<ユーザー名> 下になら色々とインストールできると思うんだが
698デフォルトの名無しさん:2011/02/07(月) 13:00:35
>>697
すごいね
口だけでならなんとも言えるからね

lolipopにPython3を入れてくれないか
699デフォルトの名無しさん:2011/02/07(月) 13:01:15
いやコードをDOSから呼び出してちょっとしたマクロ用に使ってるからモジュールもCGIも関係ない話だけど
pythonで書いたコードは起動の時点で遅いの
700デフォルトの名無しさん:2011/02/07(月) 13:03:03
DOS(笑
遅いなら使うのやめなよ
701デフォルトの名無しさん:2011/02/07(月) 13:06:02
DOSでPythonが動くとは初耳だな
Windows9xに2系を移植したのか? まだ1系使ってるの?
702デフォルトの名無しさん:2011/02/07(月) 13:13:11
タプル内に数値とunicode文字列の要素が混在しているのですが、
これを"UTF-8"なリストにしたいと考えております。

現在はループでタプル内のデータを全てunicode()し、それをもう一度.encode( )しているのですが、
なにか効率的な方法や一括で行う方法はありませんか?
703デフォルトの名無しさん:2011/02/07(月) 13:43:58
[((type(x) is unicode and x) or unicode(x)).encode('utf-8') for x in t]
キモス
foo if cond else barが使えれば、unicode().encode()したくないということか
704デフォルトの名無しさん:2011/02/07(月) 13:58:29
1) ワンライナー
[x.encode('utf-8') if isinstance(x, unicode) else bytes(x) for x in t]

2) 関数作る
def _toutf8(x):
    if isinstance(x, unicode):
        return x.encode('utf-8')
    return bytes(x)

Python2.5以前に対応したいなら bytes の代わりに str を使うこと。
705デフォルトの名無しさん:2011/02/07(月) 14:03:15
なんでbytesする必要があるんだ?
706デフォルトの名無しさん:2011/02/07(月) 14:34:43
>>701
こんなスレに居てコマンドラインから呼び出し方も知らないのかI?
707デフォルトの名無しさん:2011/02/07(月) 14:44:47
[{'int': str, 'str': str, 'unicode': lambda u: u.encode('utf-8')}[type(x).__name__](x) for x in (u'あいう', 123, 555, u'えお', 'かき')]

[{'int': str, 'str': lambda s: s.decode(sys.getdefaultencoding()).encode('utf-8'), 'unicode': lambda u: u.encode('utf-8')}[type(x).__name__](x) for x in (u'あいう', 123, 555, u'えお', 'かき')]
708デフォルトの名無しさん:2011/02/07(月) 15:25:11
>>706
コマンドラインとはコマンドプロンプトのことを言ってるのか?
このスレにいてコマンドプロンプトがDOSと勘違いしてるの?
709デフォルトの名無しさん:2011/02/07(月) 15:29:22
そんな古臭い16bit時代の用語でもめんなよ
710デフォルトの名無しさん:2011/02/07(月) 15:29:59
煽り合いはよせ。
ここはPythonのお勉強スレなんだから。
711693:2011/02/07(月) 16:17:48
>>698
ロリポは持ってるけどちかっぱプランに入ってないから勘弁してくれ。
さくらはやってみたらPython3.0入った。
712デフォルトの名無しさん:2011/02/07(月) 16:24:37
>>705
>>702 で、 「タプル内に数値とunicode文字列の要素が混在している」と
書かれているので、数値をUTF-8化するのに bytes を使っている。
厳密に言えばASCII化しているが、ASCII⊂UTF-8なので。
713デフォルトの名無しさん:2011/02/07(月) 16:51:49
>>693 >>698
なんでこいつこんなに否定的なの?
ビルド時に--prefix=$HOME/local とかするだけじゃん。
714デフォルトの名無しさん:2011/02/07(月) 16:54:27
>>690 >>698 か。
715693:2011/02/07(月) 18:17:59
あ、すごくどうでもいいことだけどPython2.6入ってるってのはデフォで入ってたって意味で、
別に自分で2.6入れたわけじゃないから。
3.0は今さっき入れたけど
716デフォルトの名無しさん:2011/02/07(月) 20:12:48
GAE使うためにactivepython2.5使ってるんですが

import turtleのあと
kame = turtle.Turtle()で定義したあと、
Attribute error: Turtle instance has no attribute "undo"

Attribute error: Turtle instance has no attribute "shape"
などのエラーが出てしまいます。
forwardやbackwardはできるのですが、できないメソッド?があります

これはどうすれば解決できますか?

717716:2011/02/07(月) 20:20:42
activepythonを使っている理由はなぜか公式が鯖落ちしててつながらないからです
718デフォルトの名無しさん:2011/02/07(月) 20:28:13
>>716
少なくとも今は公式繋がるな。
繋がらないと鯖落ちは=じゃないから一応注意。

で、turtleは、Python2.6で大幅に拡張された。
多分 undo なんてメソッドは Python 2.5 にはないんだろう。
719デフォルトの名無しさん:2011/02/07(月) 20:34:42
>>718
>少なくとも今は公式繋がるな。
>繋がらないと鯖落ちは=じゃないから一応注意。
これはどういうことでしょうか?

むむ。2.6いれてやってみることにします
とりあえず練習なので必要なときには2.5に戻す・・・でいいのかな
720デフォルトの名無しさん:2011/02/07(月) 20:52:16
>>719
複数バージョン同時インストールして使い分けできるよ。
c:\Python26\python と c:\Python25\python で。
721デフォルトの名無しさん:2011/02/07(月) 21:00:08
GAE SDKは2.6でも動いたはず
722デフォルトの名無しさん:2011/02/07(月) 22:11:54
>>689はマイナーなGentooを使っているがためにCentOSの状況を知らなかったという悲しい子。
>>686はレンタルサーバでも自前コンパイルができるのがあたりまえと思っている世間知らずな悲しい子。
>>693は683がせっかく「さくらは〜」と書いてあるのに日本語が読めない悲しい子。
723デフォルトの名無しさん:2011/02/07(月) 22:14:45
みんな世間が悪いんや
724デフォルトの名無しさん:2011/02/07(月) 22:26:02
>>720
おお!ありがとうございます
それでやってみます

>>721
え、そうなんですか?じゃあ2.6に統一してしまったほうがいいのかな
725デフォルトの名無しさん:2011/02/07(月) 22:43:02
>>721
GAE SDKで動いてもGAEのバージョンが2.5なら意味ないだろ
726デフォルトの名無しさん:2011/02/07(月) 23:19:02
>>725
何で意味がないの?
727デフォルトの名無しさん:2011/02/08(火) 01:31:08
Python2.4ってちょっと古い?
728デフォルトの名無しさん:2011/02/08(火) 01:37:49
>>727
python-2.4.1が出たのが2005-03-30だから
猛烈に古いな。

ソフトウェアの世界で言えばだが。
729デフォルトの名無しさん:2011/02/08(火) 01:41:21
>>728
Linuxで標準で入ってたから使おうかと思ったけど2.7にするか。
どうもありがとう。
730デフォルトの名無しさん:2011/02/08(火) 01:51:27
いつのlinuxだよ
731デフォルトの名無しさん:2011/02/08(火) 01:58:48
>>730
CentOSじゃないの
732デフォルトの名無しさん:2011/02/08(火) 05:30:35
>>722
うちはさくらのVPSだけど
ソースから2.5入れて使ってる
733デフォルトの名無しさん:2011/02/08(火) 09:02:47
VPSに入るのはあたりまえだろ。
レンタルスペースってのが何か考えてみろ。
734デフォルトの名無しさん:2011/02/08(火) 09:07:13
735デフォルトの名無しさん:2011/02/08(火) 09:13:18
>>733
コンパイルしたバイナリーもっていくだけだろう
アホかお前は
736デフォルトの名無しさん:2011/02/08(火) 09:38:54
>>735
え、ローカルでコンパイルしたバイナリがどのレンタルサーバでも動くと思ってるの?
じゃあ
ロリポップ
ライブドア
チカッパ
ドメインキング
サーバクィーン
ロケットサーバ
あたりでうごく、Python2.6か2.7のバイナリを用意してもらえますか?
ちなみに自分には無理なので、735さんひとつお願いしますよ。
737デフォルトの名無しさん:2011/02/08(火) 09:41:48
過疎板で煽り合いして楽しいか?
738デフォルトの名無しさん:2011/02/08(火) 09:46:48
本人たちは楽しそうだな
739デフォルトの名無しさん:2011/02/08(火) 09:47:26
configureオプションくれ
740デフォルトの名無しさん:2011/02/08(火) 10:19:35
>>735
>コンパイルしたバイナリーもっていくだけだろう
>アホかお前は

相手をアホよばわりするくらいだから、レンタルサーバで動くようなバイナリを
コンパイルすることは、735にとっては朝飯前なんだろう。
世の中はまだWindowsしか持ってないという人は多いし、自前でコンパイルできる
だけの環境を整えることができる人は少ないから、そういう人達にとっては、
レンタルサーバで動作する新しめのPythonバイナリを用意してもらえるとすごく助かる。

つまりだ、735は今から英雄になるのでよろしく。みんなもリクエストだすといいよ。
741デフォルトの名無しさん:2011/02/08(火) 10:30:19
無能君が必死だなwwwwwwwwwwwwwwwwwwwwwwwwwww
742デフォルトの名無しさん:2011/02/08(火) 10:35:27
743デフォルトの名無しさん:2011/02/08(火) 10:36:22
Unix系の環境ではソースからビルドが当たり前だったのは過去の話なんだなあ
744デフォルトの名無しさん:2011/02/08(火) 10:41:13
高尚な文化を維持するために馬鹿を排除するのは正しい対応だ
745デフォルトの名無しさん:2011/02/08(火) 10:42:45
そういうスレでやれ
746デフォルトの名無しさん:2011/02/08(火) 10:45:43
せっかくconfigureなんてバカチョン機構用意されんのに
それを使いこなせないことを自慢してるのに驚いた

ただのユーザならそれでいいが、プログラマなら確かに馬鹿にされても仕方ないな
747デフォルトの名無しさん:2011/02/08(火) 11:11:08
初心者ですけどpython3.1入れてます
まずいですか?
748デフォルトの名無しさん:2011/02/08(火) 11:12:53
get a yum!
749デフォルトの名無しさん:2011/02/08(火) 11:27:49
というか、VMwareでウェブサーバーで使われてる環境を再現して、
その中でビルドしてtarballにして展開するだけだろ。
別に難しくないよ。

環境ったって同じディストリで、
ディストリのバージョンを合わせるだけで十分のはず。

つまらないことで煽り合いイクない。
みんなもっとPythonについて語ろうぜ。
750デフォルトの名無しさん:2011/02/08(火) 12:05:53
えっ
751750:2011/02/08(火) 12:08:50
すいませんスレ間違えました
752デフォルトの名無しさん:2011/02/08(火) 14:02:02
レンタルサーバと同じ環境でビルドしてホームに置いても動かんだろw
動いたとしたらそれはレンタルサーバの脆弱性。
好き勝手やらせないための制限だろ。
753デフォルトの名無しさん:2011/02/08(火) 14:06:16
>>752
うは!アホ発見w
754デフォルトの名無しさん:2011/02/08(火) 14:10:56
そんなことより$HOMEに置いたものを呼び出したとしても、サーバによって実行権限が違うんだぞ?
制限と言えば、レンタルサーバによっては呼び出せるコマンド(参照できるファイル)すら完全に制限されてるし。
サーバとどうやって連携するつもりなんだ?依存ファイルごとフルで環境入れるのか?libcから?

とりあえず動いてるものを見せてくれよ。
ロリポップならお試しで10日間無料で使えるから。
755デフォルトの名無しさん:2011/02/08(火) 14:28:55
もう少し勉強してこいよ
それにいい機会だから恥ずかしいレスする前に自分でやってみてはどうだろうか
756デフォルトの名無しさん:2011/02/08(火) 15:21:47
>>755
ということは動くこと確認して言ってるんだよね?
そのURIを教えてくれるだけでいいんだから、教えてくれない?
757デフォルトの名無しさん:2011/02/08(火) 15:33:39
>>756
何で自分で試そうとしないの?たいした手間じゃないでしょう
758デフォルトの名無しさん:2011/02/08(火) 15:41:05
試したから言ってるんですが?
759デフォルトの名無しさん:2011/02/08(火) 15:43:22
試そうにもあまりも無知でできないんだろうw
760デフォルトの名無しさん:2011/02/08(火) 15:44:31
全員本格的なバカか自演なのか?
どこで、とか、どうやって、とかがなければ可能とも不可能とも言えないだろう
761デフォルトの名無しさん:2011/02/08(火) 15:47:03
ろりぽっぷにpython2.6いれたよ
ぜんぜんうごくよ
762デフォルトの名無しさん:2011/02/08(火) 15:48:27
はい、お馬鹿さんひとり。どうやってが抜けましたね。
763デフォルトの名無しさん:2011/02/08(火) 15:49:41
え?おしえてあげたら俺にいくらくれるの?
764デフォルトの名無しさん:2011/02/08(火) 15:59:00
別にただじゃ書けないなら書かんでもいいよ
ただ他人が確認できない様なことこんなとこに書いたって意味ないでしょ
ただの妄言なら自分の日記にでも書いてろって話
765デフォルトの名無しさん:2011/02/08(火) 16:00:07
馬鹿の癖に偉そうだなw
766デフォルトの名無しさん:2011/02/08(火) 16:07:11
別に誰もが思ってることを書いただけだよ
プログラミングなんてこの板ではみんなできるんだよ
設置なんかに他人の助言なんて不要
ただ事実だけなら他人の無駄な作業を減らせるから書いておいても意味はある
実際やってみないと分からないこととか信ぴょう性の低い書き込みとかは無駄
767デフォルトの名無しさん:2011/02/08(火) 16:09:52
馬鹿には無理
768デフォルトの名無しさん:2011/02/08(火) 16:11:44
どんなバカには何が無理なんだよ。お前ほんとにバカだな。
相手すんのも馬鹿らしくなってきた。
769デフォルトの名無しさん:2011/02/08(火) 16:12:14
>>766
お目出たい発想だな
自分のケツぐらい自分で拭けよ
770デフォルトの名無しさん:2011/02/08(火) 16:15:01
>実際やってみないと分からないこととか
そう思っているのはたぶんお前だけだってw
レスするなら「僕はおつむが弱くてよくわからないから教えて下さい」だろう?
771デフォルトの名無しさん:2011/02/08(火) 16:19:30
本当に試したのか?具体的な環境と手順をあげてみろよ
それで出来なかったのなら*お前*には無理だったんだろう
772デフォルトの名無しさん:2011/02/08(火) 16:23:55
ああ、最後に俺のレス番だけ書いとくわ。
>>760 >>762 >>764 >>766 >>768
ほかは俺じゃないので当たるなよ。そいじゃ。
773デフォルトの名無しさん:2011/02/08(火) 16:51:01
誰だか分かんないな
自演してそうだし
この話に加わるものはIP出してね
自演してる人は出せないよね
774デフォルトの名無しさん:2011/02/08(火) 16:54:57
IPだせるの?fusianasan?
775デフォルトの名無しさん:2011/02/08(火) 16:55:58
>>773
まずお前が出せよw
776デフォルトの名無しさん:2011/02/08(火) 16:56:20
fusianasanって書くか山崎渉
777デフォルトの名無しさん:2011/02/08(火) 16:57:03
どうでもいい。
pythonの話をしようぜ。
778デフォルトの名無しさん:2011/02/08(火) 17:03:03
この流れの続きをしたい人はIP表示して続きをしてくださいね
この流れと関係ない話題は普通にやってください
779デフォルトの名無しさん:2011/02/08(火) 17:05:20
Pythonのソース中に含まれるdocstringを抜き出して
HTMLで出力してくれるシンプルなツールを教えてたも
$ pdoc2html -r *.py hoge.html
みたいな感じで使えるのがいい

すひんくすとか大掛かりなのはやめてね
780デフォルトの名無しさん:2011/02/08(火) 17:43:59
>>779
$ pydoc -w string
で、 string.html に string モジュールのドキュメントが書かれる。

ブラウザで見るのが目的なら、ファイルに落とさなくても、
$ pydoc -p 8000
して、 http://localhost:8000/ を見たらいい。
781デフォルトの名無しさん:2011/02/08(火) 17:50:18
>>780
ありがとう超ありがとう
782デフォルトの名無しさん:2011/02/08(火) 20:05:34
ほんとはできないのに、「できる」とかっこつけちゃった手前、ひっこみが
つかなくなってしまった。
「具体的な手順を」をいわれたけど、自分で試したわけでもないし、なにより
ほんとにやってみてできないことがわかってしまったら、自分が間違っている
ことが判明してしまうから、こわくてできない。
とりあえず、「自分で試せよ、簡単なんだからそのくらいできるだろ」と
言い続けることで、ごまかすことにしておく。

ほんとはできると思うんだけど、万が一うまくいかなくて、自分のほうが間違い
だったことになるのだけはどうしても避けたい。そのためには、なるべく相手に
やらせるようにして、絶対に自分ではやらないこと。そうすれば、自分が正しい
ことの証明はできなくても、間違っていることも証明されないし、なにより
相手がやってみてできなかったらそれは相手を馬鹿にできる材料になるし。

そんなわけで、きょうも自分では手を動かさず、煽るだけにするよ。
だいたい自分で手を動かすような性格だったら、自宅警備なんてしてないよ。
わかってくれよそのくらい。
783デフォルトの名無しさん:2011/02/08(火) 20:10:43
784デフォルトの名無しさん:2011/02/08(火) 21:11:41
xreaの無料コースでpython2.5をコンパイルしてみた
無料コースだとプロセス30秒制限とHDD50MB制限があるので
コンパイル途中でshellが固まって完了しない
とりあえず一週間のお試しコースがあったので申し込んで
コンパイルしたらちゃんと最後まで完了してインストール成功
一週間後は契約せず無料コースにもどったけど
pythonスクリプト自体はちゃんと動いてくれた
ただし50MB制限quotaで何かのファイルがいくつか失われたらしく
import出来ないライブラリとかが出現したのは内緒
785デフォルトの名無しさん:2011/02/08(火) 21:14:41
ケチ過ぎるだろ
786デフォルトの名無しさん:2011/02/08(火) 22:16:57
782の香ばしい話しはこれくらい?
ちょっと気を付けて作ったバイナリくらいどこへでも普通にもっていくのにね。
787デフォルトの名無しさん:2011/02/08(火) 22:40:45
>>782
どんだけ君は無能なんだ
Pythonが馬鹿専用言語とおもわれるからもう来ないでくれるかな
788デフォルトの名無しさん:2011/02/08(火) 23:17:25
pass
789デフォルトの名無しさん:2011/02/08(火) 23:19:52
>>782
これって「できる」を「できない」に言い替えたら>>782自身の事だよね
790デフォルトの名無しさん:2011/02/09(水) 00:44:49
そもそもレンタルサーバ()笑いだろ
791デフォルトの名無しさん:2011/02/09(水) 00:49:22
それはちょっと笑いのツボがずれてる
792デフォルトの名無しさん:2011/02/09(水) 02:37:02
自鯖でPythonが今は旬
793デフォルトの名無しさん:2011/02/09(水) 09:17:32
下手な煉鯖借りるより VPS の方が安い時代だからな
794デフォルトの名無しさん:2011/02/09(水) 13:04:15
レンタルサーバとVPSは用途が違うと思うのだが、
レンタルサーバは管理を業者に完全に頼めるのが利点でしょ。

そこに勝手なバイナリ入れられたりするのは業者の完全なミス。
795デフォルトの名無しさん:2011/02/09(水) 13:50:49
その理論だとほとんど全ての業者はミスしてる事になるな
796デフォルトの名無しさん:2011/02/09(水) 15:58:12
その業者をリストアップしてくれないか?
10個くらいでいいから。
797デフォルトの名無しさん:2011/02/09(水) 16:09:06
お前らレンタルサーバスレへ行けよ。
ここはPythonスレだから。
798デフォルトの名無しさん:2011/02/09(水) 16:15:36
>>794 >>796
残念な人はもうこのスレに来ないで下さい。お願いします。
799デフォルトの名無しさん:2011/02/09(水) 18:03:25
Pythonに付属のサーバーがあるのを知らないのか
800デフォルトの名無しさん:2011/02/09(水) 20:11:39
>>797
判ってないな
801デフォルトの名無しさん:2011/02/10(木) 05:25:20
んで、ここまででレンタルサーバにインストールできた人はいないのね。
802デフォルトの名無しさん:2011/02/10(木) 05:52:09
>>801
CGIが使えるサーバならほぼ何処でもインストールできるぜ。
むしろその程度も出来ないのなら技術者としては終わっている。
803デフォルトの名無しさん:2011/02/10(木) 05:57:13
チャレンジしてできないと言っている人は、できない証拠を示すことができないが、
チャレンジして出来ると言っている人は、できた成果物の証拠を示すことが出来る。

なのになぜその証拠を示さないのか。
804デフォルトの名無しさん:2011/02/10(木) 06:03:42
>>803
できないの?
805デフォルトの名無しさん:2011/02/10(木) 06:04:58
>>803
悪魔の証明だからでそ
806デフォルトの名無しさん:2011/02/10(木) 06:30:04
>>803
何故できないのか不思議で仕方ない。
807デフォルトの名無しさん:2011/02/10(木) 08:10:06
Python使えるレンタル鯖少ないな
808デフォルトの名無しさん:2011/02/10(木) 08:12:38
>>803
要するに自分じゃビルドできないからクレクレという訳か
809デフォルトの名無しさん:2011/02/10(木) 10:33:24
>>801,>>803
またお前か…そろそろ自分の無能さに気づけよw
810デフォルトの名無しさん:2011/02/10(木) 10:36:10
uwscみたいにマウスを動かして左クリックをさせる動作ってpythonで出来ますか?
python マウス 自動化で検索してもそれらしいのが出てこないので不可能な気がしてきます
811デフォルトの名無しさん:2011/02/10(木) 10:53:47
ここらへん。ただWindows APIの知識が必要かも
http://www.daniweb.com/forums/post1188467.html#post1188467
812デフォルトの名無しさん:2011/02/10(木) 11:01:05
>>810
試したわけじゃないが、これでどうよ。
http://pypi.python.org/pypi/PyMouse/1.0

ライブラリを探すときはまずpypiで。
813デフォルトの名無しさん:2011/02/10(木) 11:03:38
どなたかたすけてください
python3.1.3です
↓はbox.pyって名前でファイルに保存しました
import ctypes
user32 = ctypes.CDLL('user32.dll')
user32.MessageBoxW(0, 'abc', 'dd',0,0)
DOS画面からpython box.pyでを実行するとメッセージボックスが出るんですが↓のエラーが出ました
Traceback (most recent call last):
File "mouse.py", line 3, in <module>
user32.MessageBoxW(0, 'abc', 'dd',0,0)
ValueError: Procedure called with not enough arguments (16 bytes missing) or wro
ng calling convention
どうしたらエラーが消せるのでしょうか?
814デフォルトの名無しさん:2011/02/10(木) 11:06:19
>user32 = ctypes.CDLL('user32.dll')

ちがくね?
815デフォルトの名無しさん:2011/02/10(木) 11:08:25
すいません
import ctypes
ctypes.windll.user32.MessageBoxA(0, 'Hello, World!', 'Message', 0)
で動きました
816デフォルトの名無しさん:2011/02/10(木) 11:11:07
>>813
つ ctypes.WinDLL('user32.dll').MessageBoxW(0, u'abc', u'dd', 0)
817デフォルトの名無しさん:2011/02/10(木) 11:12:08
>>815
ctypes.windll.user32.MessageBoxW(0, u'abc', u'dd', 0)
818デフォルトの名無しさん:2011/02/10(木) 11:14:34
__stdcall と __cdecl の違いだね
819デフォルトの名無しさん:2011/02/10(木) 11:16:33
>>811
ありがとうございます
import win32api
import win32con
def click(x,y):
win32api.SetCursorPos((x,y))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, x, y, 0, 0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, x, y, 0, 0)
click(100, 100) # simulate mouse click at 100px, 100px
で実行するとモジュールがないと怒られるので
import ctypes
import win32con
def click(x,y):
win32api.SetCursorPos((x,y))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, x, y, 0, 0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, x, y, 0, 0)
click(100, 100) # simulate mouse click at 100px, 100px
と書いてみましたが今度はwind32conが無いと言われてしまいました
どなたかお力を貸してください
820デフォルトの名無しさん:2011/02/10(木) 11:19:37
cygwinだとwindllとかないが
cdllでWin32APIもいけるっぽいんだよな
なんでなんだろう
821デフォルトの名無しさん:2011/02/10(木) 11:20:27
こんなクズどもの質問には答えて俺の質問には答えないのですね
早くレンタルサーバにインストールしてみろって
822デフォルトの名無しさん:2011/02/10(木) 11:30:48
>>819
win32api/conはこれに入ってるはずだけどうろ覚えなのでぐぐって確認してね
http://sourceforge.net/projects/pywin32/
823デフォルトの名無しさん:2011/02/10(木) 11:34:34
>>819
812だが、なぜ自分で実装することにこだわる?
PyMouseを実際に動かしてみたが、これで動いたぞ。

import pymouse
p = pymouse.PyMouse()
# マウス移動
p.move(0,0)
# 左ダブルクリック
p.press(10, 10);p.release(10, 10); p.press(10, 10);p.release(10, 10)
824デフォルトの名無しさん:2011/02/10(木) 11:36:40
そこに山があるから
825デフォルトの名無しさん:2011/02/10(木) 11:37:41
>>824
それを車の再実装という。
826デフォルトの名無しさん:2011/02/10(木) 11:40:49
>>825
車の再発明じゃね?

まあ、なんでも、いいですけれど。
827デフォルトの名無しさん:2011/02/10(木) 11:41:44
>>822
ありがとうございます
こちらも見てみます

>>812
すみませんでしたレスを読みもれてしまってました
ありがとうございます

>>823
ありがとうございます
ダウンロードしてみたのですが、pymouseをどこにインストールしたら良いのか使い方が(汗)
828デフォルトの名無しさん:2011/02/10(木) 11:44:19
>>821
だからIP書けって。興味ないんだよ。そんな話。
staticリンクは共有ライブラリやDLLが必要ないってことくらいみんな知ってるんだよ。
前提知識としてOSがどう動くかとか知ってるから。本当にうざい。

>>826
車輪だろ...
829デフォルトの名無しさん:2011/02/10(木) 11:45:51
.>828
うるせえよwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
簡単な質問にはほいほい群がってきて俺の質問には答えられねえってか?wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
素直に負けを認めればいいんだよばか
830デフォルトの名無しさん:2011/02/10(木) 11:49:01
>>829
すまない、実は知ったかしてた
俺の負けだ
831デフォルトの名無しさん:2011/02/10(木) 11:49:26
>>827
python setup.py
を実行するのが一番の基本。
だがWindowsだと色々とエコシステムが不足してるので
easy_installを使うと簡単。

ちなみにPyMouseのWindows実装はpyhookも足りないのでそれも必要になる。
そのときにswig.exeが必要になるのでそれも入れる。
832デフォルトの名無しさん:2011/02/10(木) 11:50:43
>>829
マジでconfigure実行してmakeとタイプするだけで
Pythonインタプリタ作れるんだが?
ごちゃごちゃ言ってないで試せよ。
833828:2011/02/10(木) 11:52:47
>>830
誰だよあんた...
834デフォルトの名無しさん:2011/02/10(木) 11:54:52
どうでもいいこと延々やってるからお引き取りしてもらおうとしたんだろ
835デフォルトの名無しさん:2011/02/10(木) 11:57:06
元々pythonのバージョンの話なんだし、
どんどん書き込んで勢い1位にしろ

お、python人気じゃん→やってみるか→発展
計画通り(ニヤリ
836デフォルトの名無しさん:2011/02/10(木) 11:58:32
荒れてる or 基地外のいる一位は逆効果
837デフォルトの名無しさん:2011/02/10(木) 12:00:30
>>832
ローカルにインストールするならそれでいいけど、共有サーバだから困ってるって話だろ。
sshできるわけでもないし、makeしたら時間がかかってプロセス殺されるし。
ローカルでコンパイルするにしても、サーバと同じ環境を用意できるわけでもない。

おれは、sshできないなら共有サーバでコンパイルするのは難しいと思うけど、
簡単って主張しているやつは本気なのかな。
./configure --prefix=/home/username/local としただけで、それはその
ユーザのホームディレクトリでしか動かないから、バイナリの配布しても
意味ないはずだし。
838デフォルトの名無しさん:2011/02/10(木) 12:02:00
>>831
ありがとうございます
どうやらぼくの力は限界を超えてます
今回は諦めたいと思います

回答くださった方々、ありがとうございます
839デフォルトの名無しさん:2011/02/10(木) 12:03:37
>>823
横からだけど頂いた
ありがとう
840デフォルトの名無しさん:2011/02/10(木) 12:04:03
>>837
IP表示しろ。もうこのスレこいつの隔離スレでいいよ。
841デフォルトの名無しさん:2011/02/10(木) 12:06:41
>>837
いや、だから、
サーバーの環境と合わせるったって
普通はLinuxのディストリとそのバージョンを
合わせるだけで十分じゃんって前書いたし。
SSH使えるならサーバー内でビルドすればいいし、
できないようならミラー環境作ってそこでビルドしたものを転送かければいい。

というか、レンタルサーバーを真面目に運用するなら
ミラー環境くらい作っておくべき。
今回のような話がなかったとしてもだ。
842デフォルトの名無しさん:2011/02/10(木) 12:06:48
>>831
>ちなみにPyMouseのWindows実装はpyhookも足りないのでそれも必要になる。
>そのときにswig.exeが必要になるのでそれも入れる。

pyhook のインストーラは exe 版があるから swig.exe は不要
ttp://sourceforge.net/projects/pyhook/files/pyhook/1.5.1/
843デフォルトの名無しさん:2011/02/10(木) 12:08:41
>>823
俺の環境だとPython3.xではPyMouseを修正しないと動きそうも無いんだが
動作環境はバージョンいくつ?
844デフォルトの名無しさん:2011/02/10(木) 12:08:45
>>837
VPS鯖の方が共有鯖より安くて高性能な時代に何言ってんだお前
845デフォルトの名無しさん:2011/02/10(木) 12:09:32
延々自演が続くスレになりました。ありがとうございました。
846デフォルトの名無しさん:2011/02/10(木) 12:11:49
>>838
いやいや、そこで諦めるのは実にもったいないよ。

PythonはPerl、Rubyと同じように、
ライブラリを使いこなしてなんぼのもの。
インタプリタ単体だったら実力の半分も発揮できてない。

WindowsなんだったらActivePythonをインストールするれば、
easy_install.exeは最初から入ってるはずだよ。

だから今回の場合の話なら
easy_install pymouse
easy_install pyhook
をコマンドライン上で実行するだけ。
pyhookのインストールにswigが必要なことは前回書いたけど。
847デフォルトの名無しさん:2011/02/10(木) 12:15:03
>>843
Python 2.6.6だった。

Python3系はまだまだライブラリが無くて当たり前の状態なので、
動かなくったっていちいち文句言わないほうがいいよ。
それに、どうせ言うなら作者に直接言ったらどうだい。
848デフォルトの名無しさん:2011/02/10(木) 12:17:09
>>842
easy_installが最初からそれ(exe版のPythonライブラリインストーラー)を拾ってくれたら
世話ないんだがなー。
もうオレはソースビルドで入れてしまったから役に立たないけど、
PyMouseを使いたいほかのやつは参考になるだろう。
849843:2011/02/10(木) 12:17:42
横から首を突っ込んで申し訳ないが
Python3.1使ってる場合はpyhookは使えないって認識でおk?
850デフォルトの名無しさん:2011/02/10(木) 12:18:54
>>841
だから、サーバと同じ環境を用意するのが難しいってことでしょ。
君には簡単なのかもしれないけど。

> というか、レンタルサーバーを真面目に運用するなら
> ミラー環境くらい作っておくべき。
そんなことを真面目にするユーザが共有サーバなんか使うわけないじゃん。
だれもが君みたいなオタクじゃないんだよ。
たとえば君の知り合いの女の子がパイソンでサイトを作りたいと言い出したとき、
サーバのLinuxのバージョンを調べてそれとまったく同じ環境をローカルに作れと
言うのか?
言いそうだなあ。オタクなら。ここぞとばかりに自分の知識をしゃべりそう。

>>844
VPSは月額1000円だけど、共有サーバなら年で1000円だよ。
851デフォルトの名無しさん:2011/02/10(木) 12:21:01
はあ?w
VPSはサーバ管理は契約者が行うだろ?w
共有サーバは運営が管理するだろ?
安いのはそこだろ?どあほがwwwwwwwwwwwwwwwwwwwwww
852デフォルトの名無しさん:2011/02/10(木) 12:25:38
>>850
自分オリジナルの
Pythonインタプリタを共有サーバーに
入れて動かそうという手法自体が、
既に十分にオタク的発想だと思うがな。

論理的でない反論はやるほうが恥ずかしいもんだぜ。

Pythonの話をしようぜ。共有サーバーの話したいならそういうスレへ行け。
853デフォルトの名無しさん:2011/02/10(木) 12:29:16
>言いそうだなあ。オタクなら。ここぞとばかりに自分の知識をしゃべりそう。

当然
854デフォルトの名無しさん:2011/02/10(木) 12:32:28
まあgeekってオタクって訳されたりするしカッコイイよ
とにかくレンタルサーバーのどうでもいい話をするお馬鹿さんたちはIP付けてね
855デフォルトの名無しさん:2011/02/10(木) 12:35:06
geekよりもnerdだろ語感的に
856デフォルトの名無しさん:2011/02/10(木) 12:39:13
>>855
google先生に言ってくれ
857デフォルトの名無しさん:2011/02/10(木) 12:50:01
>>850
馬鹿には無理
858デフォルトの名無しさん:2011/02/10(木) 12:53:33
>>857
自演君さあ、いい加減IP付けてよ
859デフォルトの名無しさん:2011/02/10(木) 13:05:10
2chって規制で人減り過ぎて自滅への道を歩んでるよね
あと自演厨ばかりになってホントつまらん
860デフォルトの名無しさん:2011/02/10(木) 15:03:53
ゆとりは本当に屑しかいないのう
自分ができない事は他人も絶対できないと思ってるんだろうな
861デフォルトの名無しさん:2011/02/10(木) 15:13:26
差別主義者は議論力が著しく低いから
人格攻撃しかできないんだな
862デフォルトの名無しさん:2011/02/10(木) 15:27:10
863デフォルトの名無しさん:2011/02/10(木) 20:48:01
名前解決について教えてください
>a = 1
>def f():
> print a
>f()
は1が表示されるのですが、
>a = 1
>def f():
> print a
> a = 10
>f()
だと、
UnboundLocalError: local variable 'a' referenced before assignment
になります
どのような言語規則によって、この違いが出てくるのでしょうか

Python 2.7を使っています
864デフォルトの名無しさん:2011/02/10(木) 20:50:09
変数aが関数より先に定義されてるから、関数内部で定義することはできない
関数の外で定義されたaをグローバル変数とか言う

後は詳しい人たのんます↓
865デフォルトの名無しさん:2011/02/10(木) 20:54:59
下記のコード動いて、表示結果は10になります
>a = 1
>def f():
> a = 10
> print a
>f()
866デフォルトの名無しさん:2011/02/10(木) 20:58:45
>>864
いやいやいやいや。違うから。
嘘教えちゃいかんよ。

a = 1のaと
a = 10のaが違う変数だから。
で、print aがa=10より前の行にあるから、
代入されるより先に参照されてるとエラーが出てる。

で、a=10が無いときにprint aが正常に動くのは、
外のスコープのaがf()内で束縛されるから。
aのメソッドを呼んだり属性を変更したりはできるけど、
代入で入れ替えたりはそのままじゃできないんじゃないかな。
__module__ とか使わないと。
867デフォルトの名無しさん:2011/02/10(木) 21:00:44
868デフォルトの名無しさん:2011/02/10(木) 21:08:26
関数定義内での代入の有無によって、
ローカル変数はあらかじめ束縛されることになるんでしょうか

Pythonで、ローカル変数が束縛される条件は何ですか
869デフォルトの名無しさん:2011/02/10(木) 21:11:17
>>868
むしろ、ローカルな関数内で外の変数を
直接代入するコードとか書くほうがおかしいから。
870デフォルトの名無しさん:2011/02/10(木) 21:12:14
>>867
ありがとうございます。
試したところ、代入以外の次のコードでも同様のエラーとなるようです
>a = 1
>def f():
> print a
> def a(): pass
>f()
871デフォルトの名無しさん:2011/02/10(木) 21:14:56
>>869
コーディングスタイルとしてのご指摘はごもっともですが、
単に言語上の規格について知りたいと思っています
872デフォルトの名無しさん:2011/02/10(木) 21:20:49
873デフォルトの名無しさん:2011/02/10(木) 21:23:34
>>872
ありがとうこざいます
読んでみます
874デフォルトの名無しさん:2011/02/10(木) 21:56:03
a = 1
def f():
 a = 10

f()
print a

これではっきりするだろ
875デフォルトの名無しさん:2011/02/11(金) 00:58:01
import dis
dis.dis(f)

してみると、もっとよく分かるかも。
876デフォルトの名無しさん:2011/02/11(金) 08:08:09
>>> import dis
>>> a = 1
>>> def f():
... a = 10
...
>>> dis.dis(f)
  2 0 LOAD_CONST 1 (10)
              3 STORE_FAST 0 (a)
              6 LOAD_CONST 0 (None)
              9 RETURN_VALUE

>>> def c():
... print a
...
>>> dis.dis(c)
  2 0 LOAD_GLOBAL 0 (a)
              3 PRINT_ITEM
              4 PRINT_NEWLINE
              5 LOAD_CONST 0 (None)
              8 RETURN_VALUE
877デフォルトの名無しさん:2011/02/11(金) 08:09:18
>>> def d():
... print a
... a = 10
...
>>> dis.dis(d)
  2 0 LOAD_FAST 0 (a)
              3 PRINT_ITEM
              4 PRINT_NEWLINE

  3 5 LOAD_CONST 1 (10)
              8 STORE_FAST 0 (a)
             11 LOAD_CONST 0 (None)
             14 RETURN_VALUE

>>> def e():
... a = 10
... print a
...
>>> dis.dis(e)
  2 0 LOAD_CONST 1 (10)
              3 STORE_FAST 0 (a)

  3 6 LOAD_FAST 0 (a)
              9 PRINT_ITEM
             10 PRINT_NEWLINE
             11 LOAD_CONST 0 (None)
             14 RETURN_VALUE

つまりどういうことです?
878デフォルトの名無しさん:2011/02/11(金) 10:42:48
>>782
>「具体的な手順を」をいわれたけど、自分で試したわけでもないし、なにより
>ほんとにやってみてできないことがわかってしまったら、自分が間違っている
>ことが判明してしまうから、こわくてできない。

ワラタ
HIKIKOMORIオタクの気持ちってこういうことなのね。
あれだけ「簡単にできる」といいながら誰も手順を示さないのはなんでだろうとおもってたけど、
あれか、示さないのじゃなくて示せないのか。

でもこれ、おっさんのほうにも多くない?うちの上司もこんなのなんだけど。
「絶対にできるはずだ!」「どうやってやるんですか?」「そんなことは自分で考えろ!」
毎日がこんな調子。なんでこんなにバカなんだろうと思ってたけど、>>782見てなんか悟った。
879デフォルトの名無しさん:2011/02/11(金) 13:57:23
>>877
In [3]: def f():
...: print a

In [5]: dis.dis(f)
2 0 LOAD_GLOBAL 0 (a)
3 PRINT_ITEM
4 PRINT_NEWLINE
5 LOAD_CONST 0 (None)
8 RETURN_VALUE

>>872のリンク先にある
> ブロック(block)は、Python のプログラムテキストからなる断片で、一つの実行単位となるものです。モジュール、関数本体、そしてクラス定義はブロックです。
> 関数ブロック内で名前の定義を行った場合、その名前に対して別の束縛を行っているブロックを除いた、関数内の全てのブロックを含むようにスコープが拡張されます。

によると、定義位置より後ろからじゃなくて、定義を含んだブロック(この場合は関数本体)全体で、aはグローバルじゃなくてローカルなスコープとして扱われるってことでいいのかな。
880デフォルトの名無しさん:2011/02/11(金) 14:06:14
>>782は2ちゃんねるのテンプレとして残しておくべき名作
881デフォルトの名無しさん:2011/02/11(金) 14:06:46
>>879
それでOK
882デフォルトの名無しさん:2011/02/11(金) 14:50:10
>>878
>でもこれ、おっさんのほうにも多くない?うちの上司もこんなのなんだけど。
>「絶対にできるはずだ!」「どうやってやるんですか?」「そんなことは自分で考えろ!」
>毎日がこんな調子。なんでこんなにバカなんだろうと思ってたけど、>>782見てなんか悟った。

どうみてもおまえがばかです。ほんとうにありがとうございました。
883デフォルトの名無しさん:2011/02/11(金) 16:08:03
>>782

>>878
って同一人物なんだろうな。悲しすぎる...
884デフォルトの名無しさん:2011/02/11(金) 16:11:22
煽っても何も出る訳ないのにな
885デフォルトの名無しさん:2011/02/11(金) 16:15:52
>>878
ここまでゴミ屑な奴もなかなか珍しい
886デフォルトの名無しさん:2011/02/11(金) 16:26:47
Pythonのバイトコードってなんかしょぼい。
887デフォルトの名無しさん:2011/02/11(金) 16:27:55
>>883
ついでに >>880 も入れてやれ。
888デフォルトの名無しさん:2011/02/11(金) 18:57:47
今からPython勉強しようと思うけど、まだ2.nのほうがよいのかな?
そろそろ3でも不自由しない?
できるなら3を勉強したいんだけど。
889デフォルトの名無しさん:2011/02/11(金) 19:02:56
>>888
2.6または2.7をPython3の文法で使うのが一番いいと思う
890デフォルトの名無しさん:2011/02/11(金) 19:11:00
python本家って落ちてる?
891デフォルトの名無しさん:2011/02/11(金) 20:12:35
落ちてない。
下載も相変わらずだ。
892デフォルトの名無しさん:2011/02/11(金) 20:30:24
>>889
ありがとう。
そんなことできるの?
893デフォルトの名無しさん:2011/02/11(金) 22:02:48
できるだけwith文を使うとか、そういうことでしょ。
894デフォルトの名無しさん:2011/02/11(金) 22:08:15
バイト文字列を扱うときは必ず b"foobar" と書いて、
そうじゃないときは必ず u"ほげほげ" と書くとか、
バイト文字列にスライスじゃないインデックスアクセスをしたときの
動作が異なるから、バイト文字列にインデックスアクセスするなら
arrayかbytearrayを使うとかetcetc...

とにかく、2to3 が変換をミスるパターンを避ける。
895デフォルトの名無しさん:2011/02/11(金) 22:27:27
__future__の出番のようだな
896デフォルトの名無しさん:2011/02/11(金) 23:24:17
__future__は使うべきでない
897デフォルトの名無しさん:2011/02/11(金) 23:33:50
>>896
新規に書くスクリプトじゃ使いまくってるけど、ダメなの?
898デフォルトの名無しさん:2011/02/11(金) 23:40:19
もうそろそろ、CentOS用のrpmを作らないプロジェクトではPython 2.4を
切り捨てられるようになってきたから、from __future__ import with_statement
使いまくれるね。
unicode_literal は 2.5 まで切り捨てるから、debian lenny まで切り捨て対象に
なってしまう。2.5切りが本格的にできるのは来年からかな。
なので、 b"foo" と u"ほげ" を使い分けることで 2to3 対応したいなら、
来年まで Python3 には手を出さないほうが良い。
899デフォルトの名無しさん:2011/02/12(土) 01:49:15
去年も来年まで〜だったよなw
900デフォルトの名無しさん:2011/02/12(土) 19:54:47
10年後の世界を見てきたけど、Python2が全盛だった。
901デフォルトの名無しさん:2011/02/12(土) 21:18:24
明日3.2がくるぞー
3.2までくれば、3も普及するはず
902デフォルトの名無しさん:2011/02/12(土) 22:59:32
>>900
おかえり〜
903デフォルトの名無しさん:2011/02/12(土) 23:33:29
パイパン
904デフォルトの名無しさん:2011/02/13(日) 04:32:09
辞書表現の評価順序について、
http://docs.python.org/release/2.7/reference/expressions.html#evalorder
のリファレンスでは、
{expr1: expr2, expr3: expr4}
となっているのですが、
def f(i):
print i
return i

{f(1):f(2), f(3):f(4)}
を実行すると、
2
1
4
3
となります
これは、リファレンスの間違いでしょうか、それとも実装のバグでしょうか?
905デフォルトの名無しさん:2011/02/13(日) 04:42:18
>>904
いや、それがdict (辞書型)の仕様だから。
何でもかんでもバグにすんな。初心者にありがち。
906デフォルトの名無しさん:2011/02/13(日) 04:43:23
>>905
すみませんが、仕様はどちらにありますか
907デフォルトの名無しさん:2011/02/13(日) 04:55:09
>>906
これだな。

http://docs.python.org/library/stdtypes.html

CPython implementation detail: Keys and values are listed
in an arbitrary order which is non-random, varies across Python implementations,
and depends on the dictionary’s history of insertions and deletions.

辞書型のkeyの順序が保証されないなんてことは
いちいち当たり前すぎて、それが仕様に書いてあるかなんて考えもしなかったわ。

Pythonは丁寧に作られてるからたまたま書いてあったけど、
言語処理系なんて「実装が仕様」なんてことはままあるからね。
908デフォルトの名無しさん:2011/02/13(日) 05:10:28
>>907の親切さに感動した!
909デフォルトの名無しさん:2011/02/13(日) 05:22:29
俺は仕様じゃなくて実装依存だと思っていたが仕様だったのけ?
910デフォルトの名無しさん:2011/02/13(日) 05:30:28
>>907
調べていただいてありがとうございます
ですが、それはitemsメソッドの仕様であって、
{}表現の評価順序の仕様とは異なります
911デフォルトの名無しさん:2011/02/13(日) 05:31:05
というか>>904は辞書のキーと値に副作用を伴う式を指定した場合に
どういう順番で評価されるかって話であって
>>907はitems()がどういうリストを返すかという話とは関係ないと思う

リファレンスの記述ミスっぽい気もするがどうなんだろう
912911:2011/02/13(日) 05:32:01
ああそうね重複したうえに副作用云々はいらなかったね
くすん
913デフォルトの名無しさん:2011/02/13(日) 05:38:25
>>910
「{}表現」というのはdict型の組み込みコンストラクタなわけ。
で、それの仕様は別のところに書いてあるよ。
書いた順に登録されていって、keyが重複していても問題ない、だったかな。

で、そうやって初期化した後で、取り出さないといけないでしょ。
取り出す段階で、keyの順序は保証されないと907で言ってるわけ。
914デフォルトの名無しさん:2011/02/13(日) 05:55:40
>書いた順に登録されていって、keyが重複していても問題ない
keyの登録順や、取り出す段階についてではなく、
{key:value, ...}と書いたときに、keyとvalueのどちらが先に評価(計算)されるかが、
>>904のリファレンスに書いてあることです
それが、実際に動かした結果と異なっているようだったので質問させていただきました
915デフォルトの名無しさん:2011/02/13(日) 06:02:20
http://docs.python.org/reference/expressions.html#dictionary-displays
> If a comma-separated sequence of key/datum pairs is given,
> they are evaluated from left to right to define the entries of the dictionary:
> each key object is used as a key into the dictionary to store the corresponding
> datum. This means that you can specify the same key multiple times in the
> key/datum list, and the final dictionary’s value for that key will be the last one given.

キーとデータのペア単位で左から右に評価されるということかなあ
なので、あるペアを注目した際にキーよりデータが先に評価されることもありうると
916デフォルトの名無しさん:2011/02/13(日) 06:32:38
>>915
>なので、あるペアを注目した際にキーよりデータが先に評価されることもありうると
その評価の順序について説明してあるのが、その文章の
5.14節
http://docs.python.org/reference/expressions.html#evaluation-order
(>>904のリンクで示した箇所)なのですが…
917デフォルトの名無しさん:2011/02/13(日) 06:34:07
Pythonのコーディング規約PEP8に気に入らない所があるんだけど、
やっぱりこれって従わないと駄目かなあ?Pythonの文化的に。

皆さんはPEP8通りにコーディングしていますか?
918デフォルトの名無しさん:2011/02/13(日) 06:45:46
>>917
もっと具体的に
919デフォルトの名無しさん:2011/02/13(日) 06:54:11
>>916
ああ、すまん。全然読み誤っていた。

できあがったdictの内部の話をしてるんじゃなくて、
{}表現によるdictコンストラクタの評価順序の話をしてたのね。

仕様ドキュメント読んでソースコード読め、で終わりそうだな。

Pythonプログラマとしてヒトコト言わせてもらえば、
そんな重箱の隅をつつくような細かい仕様に依存したコードは書くべきではないし、
ひいては考慮してはダメ。

なぜならそんな細かい仕様をプログラマ誰でも理解してるわけではないし、
プログラムはなるべく平易に書くというPythonのポリシーにも反する。
920917:2011/02/13(日) 06:57:28
色々あるけど、一番はimportの所。

> モジュールは以下に示すような順番でまとめておく。

> 1. 標準ライブラリの import
> 2. 関連するサードパーティの import
> 3. アプリケーションやライブラリ独自の import

これ反対の方がいいんじゃないかと。何故かというと、importリストは
モジュール間の依存関係を表していて、importリストを見れば、大体そのモジュール
が何をしたいのかがわかる。で、上の1~3の中で一番欲しい情報は3で1が一番要らない。

import sysとかimport loggingとかが一番上に書いてあっても、大した情報にならないが
一番上にimport pygameとかimport test.unitsとか(これらは2だけど)書いてあれば
あ、ゲームね、とかテストね、とか一瞬でわかる。

これって俺が特殊な訳じゃなくて、他の言語なら大体こっちの順番だと思うんだよね。
規約にはいちいち書いてないけど。

あと2001年に作られた規約に従うってのもなーみたいな所も。

まあ、これらは趣味な問題かもしれないからどうでも良くて、みんながPEP8に従ってコード
を書くか否かが知りたい。
921デフォルトの名無しさん:2011/02/13(日) 07:00:37
>>920
一般的なライブラリ読み込みの宣言から順番に書くのが、
Pythonに限らずプログラミング言語の常識。
C/C++やC#なんかのソースコードを読んでごらん。
922デフォルトの名無しさん:2011/02/13(日) 07:01:46
天然すなあ
923デフォルトの名無しさん:2011/02/13(日) 07:02:48
>>919
コーディングについてはもっともですが、言語の規約としてどうなのか知りたいと思っています
ソースコードは動かした通りになっているはずですが、
提示したリファレンス以外に、正しい仕様書があるのなら教えていただきたいのです
924デフォルトの名無しさん:2011/02/13(日) 07:04:55
>>923
だから、仕様ドキュメント読んでソースコード読め。

なんかSIに作らせたみたいな仕様でっかちな
システムか何かと勘違いしてないかい?

仕様ありきで言語を作ってるんじゃなくて、
ニーズがあってプログラム書いて、そのあとで仕様としてまとめてるんだよ。
もちろん、PEPの形で使用が提案されることも多々あるわけだけど。
925デフォルトの名無しさん:2011/02/13(日) 07:13:45
>>920
名前がぶつかったりとか気にならないならそれでいいんじゃない?w

漏れはどっちかというとimportに関しては従ってる方
100%じゃないけど
926デフォルトの名無しさん:2011/02/13(日) 07:20:59
927デフォルトの名無しさん:2011/02/13(日) 07:22:43
928デフォルトの名無しさん:2011/02/13(日) 07:23:56
>>926
CPython処理系のバグだけれども、もう直せないということですね
ありがとうございます
929917:2011/02/13(日) 07:35:14
>>921
え、本当?今いくつかCのコード見てみたけどそんなことはなかったぞ。
まあ、結構バラバラなだけってのが多いが。
C#は分からないんだけど、そうなのかな。

むしろ、今dist-packages(Ubuntu)にデフォで入ってたPythonのコード見たら
(2)とか(3)が上にあるやつの方が多いっぽい。

ということはPEP8の浸透率は微妙なんだな。ちょっと安心した。
930デフォルトの名無しさん:2011/02/13(日) 07:36:00
>>927
なるほど。開発陣もバグと認めてるわけね。
しかし、どのログを見ても修正した形で完結してるようなのに、
未だに直ってないというのはどういう事だろう?
931デフォルトの名無しさん:2011/02/13(日) 07:41:44
>>929
とりあえず、手元でzlib、ffmpeg、そしてmercurialのソースコードを
ちょっと見てみたけど、いずれも一般的なライブラリから読み込みやってたぞ?
視野が狭いんじゃないのかい。

ちなみにzlibはgzputs.hを読んでるけどその中でそうなってる。
ffmpegはconfig.hが最初になってるけどこれはconfigureスクリプトで差し替えるため。

思い込みはよくないな。
932デフォルトの名無しさん:2011/02/13(日) 07:47:15
>>930
一度は直したけど再発したとかかなあ。正直よくわかんない
あとJythonの名前が出てきたので試してみた

Jython 2.5.1 (Release_2_5_1:6813, Sep 26 2009, 13:47:54)
[OpenJDK 64-Bit Server VM (Sun Microsystems Inc.)] on java1.6.0_20
Type "help", "copyright", "credits" or "license" for more information.
>>> def foo(n): print n,
...
>>> {foo(0): foo(1), foo(2): foo(3), foo(4): foo(5)}
0 1 2 3 4 5 {None: None}
933917:2011/02/13(日) 08:01:54
>>931
俺が見たのはemacsとzshでemacsはバラバラでzshは特殊なライブラリが
ほぼ上だった。931が見たのはそうだったのなら、たぶんCでは
統一されてないということでしょ。

後どうして俺がこれに突っかかったのかというと、Rubyでは特殊なライブラリを上に
することの方が多いから。ちなみにRubyインタプリタ自体のコードは完全に
特殊なライブラリが上。

だから、質問しておいて何だけど、少なくとも一般的なライブラリを上に
するのは「常識」ではないと思う。

ってかmercurialってPythonだったんだ。すげえなPython。
934デフォルトの名無しさん:2011/02/13(日) 08:11:43
>>933
それ、Rubyの常識をPythonで持ち込むな、で終わらなくね?
Pythonでは一般的なライブラリから順番に書くお約束。
935917:2011/02/13(日) 08:19:33
933の書き方が悪かった。Rubyの経験は反発する理由ではなくて
質問するきっかけになっただけ。
ってかRubyって火薬だね (笑) 二度と他言語スレでこの4文字は書かねえ。

Pythonのお約束は当然PEP8なんだろうから知ってるよ。ただ920に書いた理由で
従いたくないから、質問してみた。

Pythonってコーディング規約をかなり守るイメージがあるから、俺も守らないとダメ
かなあと思ったんだけど、そうでもないらしいので安心したという話。
936デフォルトの名無しさん:2011/02/13(日) 08:24:35
>>935
そうであったとしても、やはりおすすめしかねるな。
Pythonのimport文はD言語のimport構文と違って、
あれは実行文なんだよ。

つまりimport文を解釈した段階で読み込み処理と__module__空間への登録が行われる。
なので、単純にプログラマの好みで自由に書き換えていい部分じゃない。

Pythonでゲーム作ったことあるけど、この辺の順序に悩まされたことあるから。
途中で実行文であることに気づいて、標準のやり方で全部統一したよ。
937デフォルトの名無しさん:2011/02/13(日) 08:41:16
>>936
いや、もし問題が出るならそうするよ (笑) 順番が違うときにプログラムの内容が
変わったらそれは規約の話じゃないじゃん。

順序が問題になるのは、ロードパス関連とか動的インポートのときでしょ?
規約通りだったとしても問題があるときはあるし、そのときは反対にするのだから
同じことだよ。

そもそもプログラマの好みを制限するのが規約なんだから、自由に書き換えては
いけないところは規約にはならないよ。
938デフォルトの名無しさん:2011/02/13(日) 08:54:12
自分ひとりでやってるならオレオレ規約でいいし、
複数人でやってるなら多数決で規約決めればいい。
939デフォルトの名無しさん:2011/02/13(日) 11:25:43
937の意見に全面的に賛成。
import sysよりimport oreoreのほうが先にきてほしい。
import oreoreよりimport sysのほうを先にもってくる理由は、PEP8には書かれてなさげ。
理由が明らかになってない規約に無条件に従う必要はない。

940デフォルトの名無しさん:2011/02/13(日) 11:27:14
>>937
変わったら、とか、規約だから自由にしていいとか、そういうレベルの話じゃないんだよ。
実際に、挙動が変わってしまうわけ。

既存のモジュールをimportするというのは
そのモジュールの空間でモジュールのグローバルスコープのプログラムを実行する
# ただし if __name__ == '__main__': の箇所を除く
のと同じこと。
手続き的な部分なんだから順番が違ったら意味が変わってくるのは当然だろ?

ここまで言って分からないなら、もう勝手にすればいい。
そのかわり、お伺いなんて立てるのはやめるんだな。会話が成立してないんだから。
941デフォルトの名無しさん:2011/02/13(日) 11:28:17
あとPEP8に
import は通常、別々の行に配置するべきである。
という規約があるんだけど、これも理由が書かれてない。
理由が書かれてない規約って説得力ないよね。
import sys
import os
import re
とかだるすぎるからいつも
import sys, os, re
にしてるわ。
942デフォルトの名無しさん:2011/02/13(日) 11:30:26
>>940
実際に挙動が変わる例を出してみて。
今までそんな経験ないんだけど。
943デフォルトの名無しさん:2011/02/13(日) 11:32:00
>>941
プログラムの各行はなるべく簡潔であるべきというPython全体のポリシーと、
1つのモジュールから複数の識別子をimportする場合があるから。

例:
from distutils.core import setup, Extension

import文をまとめて稼げる行数なんてたかが知れてるんだから、
全体のやり方に合わせて平易に書けばいいんだよ。
944デフォルトの名無しさん:2011/02/13(日) 11:34:22
>>942
互いのモジュールに依存するモジュールのペアを
書いたりするとそうなることがあるよ。
まあ、そういう書き方はできうる限り避けるべきだけどね。

当然ながら標準ライブラリでそんな例はないはずだけど。
945デフォルトの名無しさん:2011/02/13(日) 11:37:10
>>941
fromやasが混在すると分かりにくくなるからだろう
946デフォルトの名無しさん:2011/02/13(日) 11:39:31
>>939
>理由が明らかになってない規約に無条件に従う必要はない。

だから一人でやってるなら勝手にやればいい。
複数でやってるなら、他人が見辛いから標準にあわせるべき。

小学生でもわかることだと思うが...。
947デフォルトの名無しさん:2011/02/13(日) 12:45:42
>>944
だから問題になる例をだせっていってるだろ。
「そうなることがある」というんだから、そうなる例を見せれば、みんな納得するんだよ。

>>945
import sys, os, re
from glob import glob as _glob
分かりにくいか?まったくそうは思わないけど。
948デフォルトの名無しさん:2011/02/13(日) 13:01:23
コーディングスタイルなんて理由曖昧だろ。
スペース3つじゃなくて4つにする理由だって、メソッドの第一引数の名前をselfにする理由だって特にない。

だからこそ、みんながわかりやすいように、共通のルール決めましょうって言ってるんだろ
949デフォルトの名無しさん:2011/02/13(日) 13:03:50
>>947
お前がどう思うかなんて、どーでもいい
950デフォルトの名無しさん:2011/02/13(日) 13:08:56
別にいいんじゃね
ルールなんて書き捨てオナニーコードには不要
951デフォルトの名無しさん:2011/02/13(日) 14:05:12
A Foolish Consistency is the Hobgoblin of Little Minds
PEP8で一番大事なとこはここ
952デフォルトの名無しさん:2011/02/13(日) 15:33:11
>>947
こういうコードの書き方ってどう思う?
ttp://code.djangoproject.com/attachment/ticket/2407/CGI.2.py
953デフォルトの名無しさん:2011/02/13(日) 15:39:30
インスタンス変数ってアンダースコア付けるべき?
self._hoge みたいな
954デフォルトの名無しさん:2011/02/13(日) 15:50:22

    『NHK日本のこれから〜無縁社会〜』、Twitter使って自作自演疑惑
    http://togetter.com/li/100095


    過去の例

    【テレビ】テレ朝『ウソバスター!』ネタ元のブログは番組側による「仕込み」
    …制作会社は過去にフジ『あるある』も制作[01/11]
    http://anchorage.2ch.net/test/read.cgi/mnewsplus/1231643442/l50
    【マスコミ】テレビ朝日、「ネットは嘘だらけ!」
    番組用のやらせブログで1ヶ月間ウソ放置…テレ朝「元のブログが何かは答えません!」
    http://mamono.2ch.net/test/read.cgi/newsplus/1231851066/l50

    自民党政権では

    【マスコミ】「ネタ元ブログを自作」のテレ朝に厳重注意 総務省
    http://tsushima.2ch.net/test/read.cgi/newsplus/1238482216/l50
955デフォルトの名無しさん:2011/02/13(日) 16:01:34
>>954
この番組見てたけど、誰かが別アカ作ってtweetしただけだと思う。
何を騒いでいるんだろう。
956デフォルトの名無しさん:2011/02/13(日) 18:39:56
Qtは糞
957デフォルトの名無しさん:2011/02/13(日) 18:44:46
GTKは産業廃棄物。
958デフォルトの名無しさん:2011/02/13(日) 18:46:27
Tkは身障用
959デフォルトの名無しさん:2011/02/13(日) 19:10:02
たしかにQtは酷い
960デフォルトの名無しさん:2011/02/13(日) 20:13:40
>>951
座布団どぞー
961デフォルトの名無しさん:2011/02/13(日) 21:25:18
>>940
お前の言ってることを極端な例にすると、こんな感じになるぞ。

--
import sys
import os

import os
import sys
は意味が違う。
--

確かにロードの順番は変わるからプログラムの内部的な
動作は変わるが、外から見たときの動作は同じでしょ。つまり意味は同じ。
もし意味が変わってしまうというならライブラリの設計ミス。

悪いけど、
> # ただし if __name__ == '__main__': の箇所を除く
こういうこと書いてる時点でインタプリタの動作の仕組みわかってないだろ。
defの中身は呼び出さなければ実行されないし、if __name__...に限らず、
if Falseになる部分もどれも実行されないよ。whileやらexceptやらも全部同じ。
962デフォルトの名無しさん:2011/02/13(日) 21:32:34
だんだん突っ込み所が増えてきたけど、決定的な墓穴を掘らないとやる気でない
963デフォルトの名無しさん:2011/02/13(日) 21:37:14
アッー!
964デフォルトの名無しさん:2011/02/13(日) 21:37:44
勝手にすればいいじゃん
そうしない理由はなんだ
965デフォルトの名無しさん:2011/02/13(日) 21:38:30
たかゆきおつ
あとはまったりヲチするだけだ

http://bugs.python.org/issue11205
966961:2011/02/13(日) 21:40:13
>>940
>>936を読んでお前がやっていたことが想像できたわ。ゲーム作ったとき、
トップレベルに画面描画とかの処理書いただろ。それじゃあ駄目だよ。
モジュールの使い方間違ってる。処理はちゃんと関数の中に書きなさい。
そうすれば、importの順番に悩まされなくなるでしょう。
967デフォルトの名無しさん:2011/02/13(日) 21:42:59
>>964
僕すごく正しいこと言ってるんだから、みんなそうすべきだよ。
そうでしょ?


とでも思ってるんだろ。

放置しかないと思うけど。
968917:2011/02/13(日) 21:49:14
>>967
俺のこと?上の方で趣味だからどうでもいいって書いたよ。
ただ、俺は縛られたくないのだ。

Pythonistaって皮肉な人多いのかな?そういうレスが多い気がする。
ああ、これも皮肉か。
969デフォルトの名無しさん:2011/02/13(日) 21:50:17
我流もみんなでやれば怖くないか
みんなでやれば怖くないのは事実かも知れんが
ちゃんとドキュメント化してくれよ。2ちゃんじゃなくて物申すところがあるだろう
ちゃんとした反論もそこに期待しろよ。ここで俺ツエーしても仕方ないだろ
970デフォルトの名無しさん:2011/02/13(日) 21:52:05
一人でやるのに対して、誰も縛ってねーw
971917:2011/02/13(日) 21:57:30
>>969
まじかよ、何なんだこのラッシュ。みんなに勧めてる訳じゃないよ。

Pythonってコーディング規約守らないとぶっ殺されそうなイメージあったから、
みんな守ってるのかきいてみただけだって。そしたら、思った程PEP8は守られて
ないようだから、おkおkって思っただけ。

色々書いたのは、kwskって言われたから守りたくない理由を書いた。

俺的にはコーディング規約はプロジェクト単位で統一されてれば良くて、
言語全体で統一されてる必要はないんじゃないかと思ってる。だからPEP8みたいな
存在は個人的には嫌い。たとえ完全無欠の規約だったとしても。
972デフォルトの名無しさん:2011/02/13(日) 21:58:22
おまいはPEP8を「最初から」嫁
973デフォルトの名無しさん:2011/02/13(日) 22:00:42
誰にぶっ殺されるんだよ。頭おかしいんじゃないか
974917:2011/02/13(日) 22:01:51
> スタイルガイドは一貫性に関わるものであり、重要なのは規定される一貫性
> である。プロジェクト内の一貫性は、もっと重要である。モジュールや関数
> 内部での一貫性は、更に重要である。

もしかしてPEP8って参考程度の規約?そうなの?まじで?
もしそうだったら俺歓喜。皆さんすみませんでした。
975デフォルトの名無しさん:2011/02/13(日) 22:03:33
死ね
976デフォルトの名無しさん:2011/02/13(日) 22:09:12
977デフォルトの名無しさん:2011/02/13(日) 22:14:22
なんだもう終わったの?

一言だけ老婆心で言わせてもらうと、正直俺もPEP8のすべてに従うべきだと思わないし
Pythonicであることにこだわりを持とうという気にもならない
より良いスタイルの模索は個人レベルでは常に続けるべきだと思う

importの順番に限って言えば、自作ライブラリだけ使っていて、自分で責任が負える範囲ならimportする順番は好きにすれば良いと思ってる
ただ、野良ライブラリを使わざるを得ない場合や文句を言いにくい人が作ったライブラリを使用する場合は十分に気を付けるべきだと思う
class宣言で無茶する奴がいないとも限らないのだから
978デフォルトの名無しさん:2011/02/13(日) 22:19:35
pass
979デフォルトの名無しさん:2011/02/14(月) 00:27:22
>>961
それは同じだけど、例えば
from math import *
from cmath import *

from cmath import *
from math import *
は意味が違うよ。

# 絶対に守らないといけない規約だったらそれはスタイルじゃなくて文法だっての。
# メソッドの第一引数をselfにするのも、文法じゃなくてスタイルだから、他のでもいいけど、
# そういうことする人のコードは読みたくないな。
980デフォルトの名無しさん:2011/02/14(月) 00:28:51
>>917 って頭悪そうだよね
981デフォルトの名無しさん:2011/02/14(月) 00:33:30
いきなり名前空間汚しまくる例を持ち出す>>979よりかはマシだと思う
982デフォルトの名無しさん:2011/02/14(月) 00:38:06
>>979
だれもそんなくだらん例は問題にしてないだろ。
import aaa
import bbb

import bbb
import aaa
が違う挙動になるような例をだせっての。
983デフォルトの名無しさん:2011/02/14(月) 01:23:12
webフレームワークで嵌ったのがあったな
importでカスタマイズ設定を引っ張ってんのかね
984デフォルトの名無しさん:2011/02/14(月) 01:50:31
settings.py
www
985デフォルトの名無しさん:2011/02/14(月) 06:10:08
>>> import sys, os, locale
>>> print os.path.join(os.getcwd().decode('cp932'), 'hoge.txt')
C:\表\hoge.txt
>>> print os.path.join(os.getcwd(), 'hoge.txt')
C:\表hoge.txt
>>> print os.path.join(os.getcwd().decode(locale.getpreferredencoding()), 'hoge.txt')
C:\表\hoge.txt
>>> print os.path.join(os.getcwd().decode(sys.getdefaultencoding()), 'hoge.txt')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0x95 in position 16: ordinal not in range(128)
>>>
これの2つ目の結果ってバグでしょうか?
986デフォルトの名無しさん:2011/02/14(月) 06:15:56
ダメ文字でググれ
987デフォルトの名無しさん:2011/02/14(月) 06:17:16
環境書けYO

表の最後のバイトがバックスラッシュだろうから
os.getcwd() の返り値がバイト文字列ならそうなっておかしくないんじゃないか
988デフォルトの名無しさん:2011/02/14(月) 06:24:54
つgetcwdu
989デフォルトの名無しさん:2011/02/14(月) 06:38:53
>>988
出来ました
ありがとうございました
990デフォルトの名無しさん:2011/02/14(月) 06:46:34
pass
991デフォルトの名無しさん:2011/02/14(月) 06:48:36
>>947
import sys, os, re

import os, sys, re
だと
どっちが良いでしょうか?
992デフォルトの名無しさん:2011/02/14(月) 06:52:53
もういいよ。
993デフォルトの名無しさん:2011/02/14(月) 07:01:19
994デフォルトの名無しさん:2011/02/14(月) 07:32:27
ERROR:修行が足りません(Lv=1)。しばらくたってから投稿してください。

冒険の書規制

【暫定仕様2011/02/10 01:30頃版】
・対象ISPは、e-mobile.ne.jp、panda-world.ne.jp、cims.jp、asahi-net.or.jp、dion.ne.jp、ap.so-net.ne.jp、infoweb.ne.jp、vectant.ne.jp
 (ただし、qb7サーバはテストのため全ISPが対象)
・書き込み時にCookieを持っていないとCookieが渡されてLv=1からスタート
・●なしだと24時間で1つレベルが上がるらしい
・●持ちは前回レベルアップから10分以上経って書き込むと1つレベルが上がる(Lv=30までの特例?)
・レベルに応じて連投規制される(取りあえず実況系が多いhayabusaサーバは除外)
 Lv=2未満 120秒 Lv=3 60秒 Lv=4〜5 45秒 Lv=6〜7 30秒 Lv=8〜19 15秒 Lv=20以上 5秒
・レベルに応じてスレ立て規制される(hayabusaサーバは除外?)
 Lv=5未満は●もちでもスレ立て不可
・対象ISPから書くとき、本文に「!ninja」を含めるとレベルが表示される
・Cookieの有効期間は最終書き込みから約2年。Cookieを消すとLv=1からやりなおし
・適切にCookieを処理できる環境であれば、IPアドレスが変わってもレベルが下がることはない
・まだ実験中なので、今後何度もレベルのリセットがかかる(現段階で必死のレベル上げは無駄)
・将来的には、悪さをした奴はレベルダウンじゃ、ピンポイント規制じゃシステムになるといいな
冒険の書(Lv=5,xxxPT)
995デフォルトの名無しさん:2011/02/14(月) 07:38:43
import 角電池
996デフォルトの名無しさん:2011/02/14(月) 07:42:12
メンテナンス性の面で僕が気に入っている言語は Python だ。シンプルで
きれいな構文、オブジェクトのカプセル化、充実したライブラリのサポート、
そしてオプションの名前付きパラメータがある。メンテナンス性が悪い言語
の一例は Perl である。うん、僕は確かにそう言ったよ。撤回するつもりはない。
-- Bram Cohen

Python が好きなのと同じぐらいRubyが好きじゃない。Perlみたいな「TMTOWTDI」哲学が
多すぎる。Perl ほどひどくはないにしても、似たような可読性とメンテナンス性の問題が
出てくる。Ruby を使わなければならないなら使うこともできるけど、幸いそういうことはない」
-- Jonathan Ellis

Rubyの本を読んでて頭にひょこっともたげた疑問ってのは「今さら?」というものだ。
ご苦労様なこった。この言語設計者 (Matzこと教祖まつもとゆきひろ様) っていうのは
なんでわざわざこんなものを創ったんだ? たどり着く結論は毎度同じものだ。
-- Bruce Eckel

Ruby は低品質で、ゴミクズソフトが頼っているクソみたいな
インタプリタにも関わらず不当に勢いを得て今までずるずる
-- Zed Shaw

「やはり他のスクリプト言語作者とは格が違う。そもそもPerlやRubyというのは
一部のオタクどもが楽をするためだけに存在している言語で、かれら教育のことなんか何も考えてない。
しょせんかれらは狭い世界に閉じこもる運命にあるのだ。
997デフォルトの名無しさん:2011/02/14(月) 07:42:47
>>995
Error: TooDangerousToInsertException
998デフォルトの名無しさん:2011/02/14(月) 07:44:43
我らpythonistaはpythonを通じてpythonより多くのことをも学ぶものである

三角比の範囲はこの3つの公式を覚えるだけ
tan θ = sinθ/cosθ
sin^2θ + cos^2θ = 1
1 + tan^2θ = 1/cos^2θ
999デフォルトの名無しさん:2011/02/14(月) 07:58:42
sin(α 士 β) = sinαcosβ 士 cosαsinβ
cos(α 士 β) = cosαcosβ 干 sinαsinβ
tan(α 士 β) = (tanα 士 tanβ) / (1 干 tanαtanβ)

sin2θ = 2sinθcosθ
cos2θ = cos^2θ - sin^2θ = 2cos^2θ - 1 = 1 - 2sin^2θ
tan2θ = 2tanθ / (1 - tan^2θ)
1000デフォルトの名無しさん:2011/02/14(月) 08:00:58
1000なら今年もPythonistaはチョコ抜き
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。