トップページ⇒tech
1001コメント281KB

Pythonのお勉強 Part41

レス数が1000を超えています。これ以上書き込みはできません。
0001おっぱい2011/01/24(月) 21:26:51
Pythonオフィシャルサイト
http://www.python.org/
日本Pythonユーザ会
http://www.python.jp/Zope/
まとめWiki
http://python.rdy.jp/
関連スレ
http://find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python
前スレ
http://hibari.2ch.net/test/read.cgi/tech/1288342460/l50
0002デフォルトの名無しさん2011/01/24(月) 21:31:45
クソスレ
0003デフォルトの名無しさん2011/01/24(月) 21:33:43
>>1乙
0004デフォルトの名無しさん2011/01/25(火) 00:58:14
import this
0005デフォルトの名無しさん2011/01/25(火) 01:02:24
   ┌─┐
   │●│
   └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘
0006デフォルトの名無しさん2011/01/25(火) 01:23:14
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

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

                  京都大学霊長類研究所
0007デフォルトの名無しさん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というのは
一部のオタクどもが楽をするためだけに存在している言語で、かれら教育のことなんか何も考えてない。
しょせんかれらは狭い世界に閉じこもる運命にあるのだ。
0008デフォルトの名無しさん2011/01/25(火) 02:22:16
そうだね
0009デフォルトの名無しさん2011/01/25(火) 02:29:21
すみません
0010デフォルトの名無しさん2011/01/25(火) 02:29:31
プロテインだね
0011デフォルトの名無しさん2011/01/25(火) 04:49:20
乾電池
0012デフォルトの名無しさん2011/01/25(火) 09:27:01
python人は変態なの?
0013デフォルトの名無しさん2011/01/25(火) 09:30:39
我らpythologistはpythonを通じてpython以外のより多くのことをも学ぶものである
0014デフォルトの名無しさん2011/01/25(火) 11:20:44
クソスレ
0015デフォルトの名無しさん2011/01/25(火) 11:28:03
from Battery import Cell
0016デフォルトの名無しさん2011/01/25(火) 11:47:22
>>13
風呂敷でけぇよwww

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

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

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



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

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

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

>>44
エラー処理もやってくれてるのと BSD ライセンスだったので >>42 を使うことにします。
ほんとうにありがとうございました。
0046デフォルトの名無しさん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])

じゃだめなん?
0047デフォルトの名無しさん2011/01/25(火) 15:08:27
atoh()とかhtoa()とか普通になかったっけ?
0048デフォルトの名無しさん2011/01/25(火) 15:15:37
socket.ntohl(x)
socket.ntohs(x)
socket.htonl(x)
socket.htons(x)
があるね
0049デフォルトの名無しさん2011/01/25(火) 15:18:52
どうみても精子です。
0050デフォルトの名無しさん2011/01/25(火) 15:22:17
>>48
それ用途違う
socket.inet_aton('127.0.0.1')
0051デフォルトの名無しさん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
0052デフォルトの名無しさん2011/01/25(火) 15:38:18
どうみても精子です。
0053デフォルトの名無しさん2011/01/25(火) 15:40:22
python.jpは見てはいけません
0054デフォルトの名無しさん2011/01/25(火) 15:41:17
数値のリストから小さい数値ベストN個を取得するには
どうすれば効率的ですか? (04年 東京大)
0055見習い2011/01/25(火) 15:45:33
宿題は宿題スレで
http://hibari.2ch.net/test/read.cgi/tech/1258320456/
0056デフォルトの名無しさん2011/01/25(火) 15:46:58
>>54
heapq
0057デフォルトの名無しさん2011/01/25(火) 15:54:04
>>56
ありがとうごぜえます
0058デフォルトの名無しさん2011/01/25(火) 19:29:53
>>56
ヒープってこういう風に使うのか。アルゴリズム調べたら勉強になったわ。
0059デフォルトの名無しさん2011/01/25(火) 20:18:24
>51
オプソなんてそんなもんなんじゃないの
気づいた人が報告して、直せる人が直すっていう
0060デフォルトの名無しさん2011/01/25(火) 20:48:25
2010年最優秀プログラミング言語にPython
ttp://hato.2ch.net/test/read.cgi/news/1295935974/
0061デフォルトの名無しさん2011/01/25(火) 20:52:19
>>60
日本でならrubyとか言ってる奴いるな、まさに情弱速報。どうせプログラミングを知らない奴だろうが
0062デフォルトの名無しさん2011/01/25(火) 22:16:11
>>60
約1ヶ月前の発表を今更breaking newsしてるのか
1ヶ月前に前スレで見たわ
0063デフォルトの名無しさん2011/01/25(火) 22:49:23
どうしてもツッコんでおきたかったんだけど、
公式の pyblosxom-1.5rc2.tar.gz を解凍すると、
フォルダ名が pybloxsom-1.5rc2 になる件
0064デフォルトの名無しさん2011/01/25(火) 23:19:42
なんで、公式に突っ込まないんだ
0065デフォルトの名無しさん2011/01/26(水) 03:30:20
単三電池をお尻の穴に入れる = 電池付きであるというPythonの意思に準じている
0066632011/01/26(水) 08:44:39
>>64
つっこんでみる
0067632011/01/26(水) 11:14:34
つっこんだらものすごいいきおいで返事きた
Haeeee
0068デフォルトの名無しさん2011/01/26(水) 11:24:37
毎度思うけど x はなんであの位置なんだろう(電池ネタではありません)
0069デフォルトの名無しさん2011/01/26(水) 11:59:31
>>68
sexと左手だけで入力できるようにするため。
0070デフォルトの名無しさん2011/01/26(水) 13:27:04
>>69
なるほど・・・
0071デフォルトの名無しさん2011/01/26(水) 16:26:47
またruby厨の荒らしですか?
0072デフォルトの名無しさん2011/01/26(水) 16:36:36
PySideはもう実用になりますか?
だれか教えてけろ。
0073デフォルトの名無しさん2011/01/26(水) 16:42:46
>>72
Python+QtでGUIアプリを作るのに使い始めてる。
まだごくごく初歩程度だけど、とりあえずは問題ないよ。

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

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

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

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

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

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

近年、TkもQtもGTK+も、OSのルックアンドフィールの再現性をよくしてるよ。
0098デフォルトの名無しさん2011/01/27(木) 02:20:06
python対話モードからsqlite使ってるんだけど、create tableやselectは出来るんだが、
.showが実行できない。ドットから始まるコマンドは使えないの?
0099デフォルトの名無しさん2011/01/27(木) 02:31:57
それはsqlite3コマンドが提供してる機能であって、SQLじゃない。
0100デフォルトの名無しさん2011/01/27(木) 02:48:49
使える
0101デフォルトの名無しさん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)
0102デフォルトの名無しさん2011/01/27(木) 03:24:41
>>101
http://www.tuyudaku.net/sqlite/help.html
0103デフォルトの名無しさん2011/01/27(木) 03:49:43
やはり今の時代、Rubyがホットだな
0104デフォルトの名無しさん2011/01/27(木) 03:53:35
そんなもん、Pythonからダンプしてどうすんだよ。
0105デフォルトの名無しさん2011/01/27(木) 04:11:46
python.orgの左メニューのDOWNLOADの下に "下?" てでてんだけどなにこれ。
0106デフォルトの名無しさん2011/01/27(木) 04:14:00
ああやっぱり文字化けしたな
中国語でダウンロードっていう意味の文字らしいんだが
0107デフォルトの名無しさん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'
0108角電池2011/01/27(木) 04:42:43
なんで中国語が
0109デフォルトの名無しさん2011/01/27(木) 06:45:51
下哉
http://python.org/getit
ここ逝くの怖い
0110デフォルトの名無しさん2011/01/27(木) 06:48:06
ttp://python.org/getit/
ttp://python.org/download/

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

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

あくまでもワークアラウンドとして紹介しているだけで、この章のほかの部分は
setdefaultencoding('utf-8') に頼らずにUnicode対応するための方法が書いてある。
0135デフォルトの名無しさん2011/01/27(木) 19:54:49
日本語の解説サイトにpythonのユニコードオブジェクトと
ユニコード(utf-8,utf-16 etc)を同じものだと説明してる
のがあってスゲー混乱したのを思い出したw
0136デフォルトの名無しさん2011/01/27(木) 20:16:24
UCSとUTFは違う。
0137デフォルトの名無しさん2011/01/27(木) 21:15:03
>>127
BigTable が原因だと思う
0138デフォルトの名無しさん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
それきっと漏れが見て混乱したサイトと同じだろう
死ねばいいのに
0139デフォルトの名無しさん2011/01/27(木) 21:24:47
>>127
あれはひどいよな
GAE 普及に失敗した原因のひとつだよ
0140デフォルトの名無しさん2011/01/27(木) 21:26:18
>>135
そういうのに限って検索上位に出てたりするんだよね
0141デフォルトの名無しさん2011/01/27(木) 21:33:30
>>138
sitecustomize.pyの中では呼ぶことが出来る
ttp://d.hatena.ne.jp/SumiTomohiko/20070120/1169300624
0142デフォルトの名無しさん2011/01/27(木) 21:37:23
>>138
ド素人すぎないか?お前w
0143デフォルトの名無しさん2011/01/27(木) 21:37:24
クーパかわいいよクーパ
01441382011/01/27(木) 21:38:27
>>141
ごめん
言葉が足りなかった

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

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

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

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

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

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

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

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

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

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

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

Pythonユーザが意識しなければいけない文字コードは大雑把に以下の3種類に分類できます。
1. ソースファイルの文字コード
2. Stringオブジェクトの文字コード
3. (Pythonの)Unicodeオブジェクト
0180デフォルトの名無しさん2011/01/27(木) 22:28:10
>>173
いや、Pythonの文字列/バイト列の話じゃなくて、一般論として言った。
0181デフォルトの名無しさん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.の例ではソースファイルにハングルの文字は記述されていない
のでハングルをサポートする文字コードを選択する必要はありません。
0182デフォルトの名無しさん2011/01/27(木) 22:29:57
>>179
ファイルパス
0183デフォルトの名無しさん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 だから
  # ここは実行されない
0184デフォルトの名無しさん2011/01/27(木) 22:32:18
>>179,181
長い
3行にまとめろ
長文書く奴は社会で成功しない
0185デフォルトの名無しさん2011/01/27(木) 22:33:35
>>184
わかった
しかし
内容的に�_
0186デフォルトの名無しさん2011/01/27(木) 22:33:42
もう英語以外廃止すればいいじゃん。
0187デフォルトの名無しさん2011/01/27(木) 22:34:13
アフォはほっといて続けてくれ
0188デフォルトの名無しさん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 という全く同じ値が代入されるのです。
0189デフォルトの名無しさん2011/01/27(木) 22:35:12
>>179
>1. ソースファイルの文字コード

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

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

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

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

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

へぇ、贅沢だな。
0240デフォルトの名無しさん2011/01/27(木) 23:46:31
嵐のあとの静けさ。
0241デフォルトの名無しさん2011/01/27(木) 23:54:14
ほんとPythonやってる奴はラベルが低い
02422412011/01/27(木) 23:56:06
ほんとPythonやってる俺はラベルが低い
0243デフォルトの名無しさん2011/01/28(金) 00:09:57
Webアプリなんか内部がutf-8前提でなにが悪いかわからん。
0244デフォルトの名無しさん2011/01/28(金) 00:10:23
ディレクトリに対して指定した文字列で始まるファイルがあるか確認したいのですが、どうすればいいでしょうか?
指定した文字列で始まるファイルがあれば、そのファイル名の一覧を取得したいです。
0245デフォルトの名無しさん2011/01/28(金) 00:12:01
[filename.startswith('kakudenchi') for filename in os.listdir(dirname)]
0246デフォルトの名無しさん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)
0247デフォルトの名無しさん2011/01/28(金) 00:16:46
>>245
?
0248デフォルトの名無しさん2011/01/28(金) 00:26:30
リバタリアニズムとは古い自由主義。
現代のような、民主・社会・資本主義とは非常に相性が悪く、
私的所有権を基づいて議論されるので社会(共産)主義は論外であるので
古くから左派と言われているが民主主義国家では左派でも右派でもある。
リベラリズムとは近代の自由主義。
政府・社会の介入を最低限認めながらも、
最大限の自由と権利を主張する思想。
ネット社会ではこれに加え、別の社会を形成したことで
確立した思想が存在する(ハッカー文化)

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

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

import os
[os.path.join(DIRNAME, filename) for filename in os.listdir(DIRNAME)
if filename.startswith(PREFIX)]
0251デフォルトの名無しさん2011/01/28(金) 00:37:15
>>248
違う。ネット社会の本質はアナーキーだよ
0252デフォルトの名無しさん2011/01/28(金) 00:39:02
やはり時代はRubyか
0253デフォルトの名無しさん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
マニュアルの関係ありそうなところをつまみ食いしてたら見つけました
0254デフォルトの名無しさん2011/01/28(金) 00:42:57
>>251
違う。角電池の本質はアナニーだよ
0255デフォルトの名無しさん2011/01/28(金) 00:44:33
>>249
偉大なるググレカス諸氏の教えに従って
「python ディレクトリ 再帰」
みたいな感じで検索するといいお

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

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

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

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

だからpythonを叩くのはお門違いw
0274デフォルトの名無しさん2011/01/28(金) 07:21:33
>>271
こんな2ch黎明期のギャグに遭遇するとは思わなんだ
0275デフォルトの名無しさん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'
0276デフォルトの名無しさん2011/01/28(金) 08:05:42
def add_world(s):
    return '%sworld' % s
0277デフォルトの名無しさん2011/01/28(金) 08:10:11
def add_world(s):
  u = u'ほげ'
  return s + (u.encode(sys.getdefaultencoding()) if isinstance(s, str) else u)
0278デフォルトの名無しさん2011/01/28(金) 08:16:19
Unicode文字列で受けてUnicode文字列を返すのがシンプルでいいじゃないか
何か落とし穴でもあったっけ
0279デフォルトの名無しさん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
0280デフォルトの名無しさん2011/01/28(金) 08:38:08
結局>>278。
なんでもかんでもUnicodeオブジェクトにしてしまえばおk

># さらっとchardet使ったけど、なぜpythonには標準で文字コードを判別する
># 仕組みがないんだ?これ困るよね
ただし↑故に「じゃあどの文字コードでdecodeしたらいいのよ(泣)」という
悩みはつきない。特にオレのような初心者は
0281デフォルトの名無しさん2011/01/28(金) 08:53:34
そもそもunicodeオブジェクトしか受け取らない
0282デフォルトの名無しさん2011/01/28(金) 12:24:09
全部ユニコード→
strしか受け付けないライブラリとかなかったっけ
0283デフォルトの名無しさん2011/01/28(金) 12:55:16
>>263
ちがうべ、ぜんぜんぐでぐでじゃねーよ
理解していない奴が多すぎて
そいつらの作ったライブラリーが糞か
もしくは、そう思うお前が糞かのどちらかだ
0284デフォルトの名無しさん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.
0285デフォルトの名無しさん2011/01/28(金) 13:54:22
文字コードの自動判別は機械学習的なアプローチが必要だから、
標準ライブラリに入れるようなシロモノじゃないんだよねー。
0286デフォルトの名無しさん2011/01/28(金) 14:05:56
>>285
その考え方は、battery includedの考え方じゃないなあ。
0287デフォルトの名無しさん2011/01/28(金) 14:34:23
自動判別なんて
ブラウザ作るみたいな特殊用途にしか使わないだろ。
0288デフォルトの名無しさん2011/01/28(金) 16:01:20
>>282
GAE
0289デフォルトの名無しさん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 + '"'
0290デフォルトの名無しさん2011/01/28(金) 17:02:34
質問でしゅ。
buffer型ってどんなときに使うんですか。
0291デフォルトの名無しさん2011/01/28(金) 20:19:10
>>290
C言語とのインターフェイスの為にあるような型だからそれが要求されている関数で使う
C言語を呼び出したりしない限り自作のPythonプログラムでその型を使うことはない
0292デフォルトの名無しさん2011/01/28(金) 20:40:36
>>290
import numpy
x = numpy.array([1,2,3])
open('hoge.bin', 'wb').write(x)
0293デフォルトの名無しさん2011/01/28(金) 22:45:36
a = [1,2,4,3]
for x in a.sort():
print x

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

IDLEはどうしてるんかね。
0299デフォルトの名無しさん2011/01/29(土) 00:28:24
>>297
え?
ログ出力したり
メール送信したりするときは?
0300デフォルトの名無しさん2011/01/29(土) 02:02:11
google.appengine.api.mailはunicode渡すと
utf-8として送るようになってるっぽい。
0301デフォルトの名無しさん2011/01/29(土) 02:04:07
GAEってどうやってpythonだとeclipseのプラグイン使えない?
0302デフォルトの名無しさん2011/01/29(土) 02:08:15
日本語でおk
0303デフォルトの名無しさん2011/01/29(土) 02:08:38
どうやって開発してるの。pythonだとeclipseのプラグイン使えない?
0304デフォルトの名無しさん2011/01/29(土) 04:05:20
eclipseがないとコード書けないひとって
0305デフォルトの名無しさん2011/01/29(土) 04:17:55
Unix環境使えよ。
0306デフォルトの名無しさん2011/01/29(土) 06:37:43
>>303
PyDevがGAE SDKをサポートしているだろ
0307デフォルトの名無しさん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 と表示されるような方法を教えてください。
0308デフォルトの名無しさん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)
0309デフォルトの名無しさん2011/01/29(土) 11:26:16
>>307
> num1 = float(1/7.0)
これは現在のモジュールの float で

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

もちろん、趣味でもつくろうと思ったことない。
0366デフォルトの名無しさん2011/01/30(日) 19:10:32
人の趣味に口出しするなよ
0367デフォルトの名無しさん2011/01/30(日) 19:15:55
>>365
Linuxというより、クロスプラットフォームなアプリを作りやすい。
ベンダー依存なコード部分を書く場面がほとんど無いからな。
0368デフォルトの名無しさん2011/01/30(日) 19:16:54
GTKでベンダー依存なコードってどんなコード?
0369デフォルトの名無しさん2011/01/30(日) 19:23:54
Android で先に動いてくれた方を採用するとしよう
0370デフォルトの名無しさん2011/01/30(日) 19:33:37
>>368
IME(FEP)を操作するところとか。
0371デフォルトの名無しさん2011/01/30(日) 19:35:23
他には
0372デフォルトの名無しさん2011/01/30(日) 19:39:08
>>363
どんだけお前は無能なんだ
そんな事皆無だぜw
0373デフォルトの名無しさん2011/01/30(日) 19:39:17
GOOGLE 変索
http://www.google.co.jp/search?q=%E5%8F%A3%E5%86%85
0374デフォルトの名無しさん2011/01/30(日) 19:56:53
PageRankアルゴリズムは正しい
0375デフォルトの名無しさん2011/01/30(日) 21:50:14
>>328
GPLのを除く理由が分からん。
Linuxデスクトップ使いだが、QtよりGTK+の方がむしろよく使われてるイメージだし、
かつてはフリーのQtはGPLしかなかったから、それが障害になってQtよりもGTK+の方が好んで使われていたかと。
03763142011/01/30(日) 21:51:20
私の質問で荒れてしまったようで申し訳ありません。

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

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

本人がQtを使ってるかどうかは関係ない。使ってなくてもQtは万能だと信じてやまない
0380デフォルトの名無しさん2011/01/30(日) 22:20:29
>>376
これで足りるのかわからないけど
http://faq.pygtk.org/index.py?req=show&file=faq23.043.htp
0381デフォルトの名無しさん2011/01/30(日) 22:33:46
中間をとってwxってことですね
問題もなくPythonとの親和性も高いようですし
0382デフォルトの名無しさん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.
------------------------------------------------------------------------
0383デフォルトの名無しさん2011/01/31(月) 02:07:35
いまどきGTKはダサいよね
Python勉強してる人にわざわざGTK薦めるなんて
C#勉強してる人にMFC薦めるようなもんだよ
0384デフォルトの名無しさん2011/01/31(月) 02:08:10
頭悪そうだなお前
0385デフォルトの名無しさん2011/01/31(月) 02:09:25
>>381,383
オレはQt党だけど、wxもシンプルでいいな。
XMLでデザインのテンプレートも書けるし、スクリプト向けだ。
0386デフォルトの名無しさん2011/01/31(月) 02:13:20
http://www.ojuba.org/wiki/docs/wxpython
ここは
PyGTK > wxPython > PyQt > Tkinter
みたいな感じ
0387デフォルトの名無しさん2011/01/31(月) 02:18:00
>>386
こんな良サイトがあるなんて知らなかった
本当にありがとう
0388デフォルトの名無しさん2011/01/31(月) 02:18:31
英語でおk
0389デフォルトの名無しさん2011/01/31(月) 02:54:33
読めん
っつーか右オフサイドw
0390デフォルトの名無しさん2011/01/31(月) 02:57:27
>>386
PyQtのサイトよりも判りやすい
0391デフォルトの名無しさん2011/01/31(月) 03:11:12
縦長すぎw
207回もスクロールボタンを押したぞ
0392デフォルトの名無しさん2011/01/31(月) 03:27:50
>>386
テトリスやってしまった
難しいすぎる orz
0393デフォルトの名無しさん2011/01/31(月) 07:20:40
>>386
http://zetcode.com/wxpython/ が元サイトのようだな。
アラビア語なんて読めねーよ。
0394デフォルトの名無しさん2011/01/31(月) 18:40:44
zetcodeは良いサイト。
0395デフォルトの名無しさん2011/01/31(月) 18:57:14
Ий сет
0396デフォルトの名無しさん2011/01/31(月) 19:13:35
おばけのQt太郎。
0397デフォルトの名無しさん2011/01/31(月) 19:15:42
2ちゃんねるの数十%は>>396みたいなレスなんだろうな
0398デフォルトの名無しさん2011/01/31(月) 19:27:51
http://www.pocoo.org/
こいつら良い仕事してる。
0399デフォルトの名無しさん2011/01/31(月) 20:37:25
最近気づいたけど
pyscripterのバージョン上がってるんだね。
誰か使ってる?
0400デフォルトの名無しさん2011/01/31(月) 20:47:05
http://www.youtube.com/watch?v=fmyNZZnnvFQ
こいつら良い仕事してる。
0401デフォルトの名無しさん2011/01/31(月) 22:26:35
俺はクソみたいな仕事してる。
0402デフォルトの名無しさん2011/01/31(月) 22:32:50
GTKは糞
0403デフォルトの名無しさん2011/01/31(月) 23:02:47
WSGIクライアントは
どのサーバで動かすのがおすすめですか?
0404デフォルトの名無しさん2011/01/31(月) 23:42:25
Werkzeug
0405デフォルトの名無しさん2011/01/31(月) 23:56:31
>>404
使ってみます。
0406デフォルトの名無しさん2011/02/01(火) 00:21:23
Qtは下痢
0407デフォルトの名無しさん2011/02/01(火) 00:35:52
Pythonで変数の値の文字列が数字だけか英数字か調べたいのですが、
なにかいい方法はありませんか?
現在はint()して例外の有無で検査しているのですが、
もっとほかの方法はないでしょうか?
0408デフォルトの名無しさん2011/02/01(火) 00:41:05
好きなメソッドをどうぞ。
ttp://www.python.jp/doc/release/library/stdtypes.html#str.isalnum
0409デフォルトの名無しさん2011/02/01(火) 00:41:16
>>> "0721919".isdigit()
True
04104072011/02/01(火) 00:45:40
そんな便利なメソッドがそろっているのですね
ありがとうございました
0411デフォルトの名無しさん2011/02/01(火) 02:59:05
>>407
'-' が付いてたらどうなるの?
0412デフォルトの名無しさん2011/02/01(火) 07:11:20
>>411
爆発します
0413デフォルトの名無しさん2011/02/01(火) 17:15:58
Unladen Swallowって死んだの?
0414デフォルトの名無しさん2011/02/01(火) 17:39:49
>>413
中の人は、休眠中であって終了したわけじゃないって言ってる。
0415デフォルトの名無しさん2011/02/01(火) 18:01:45
LLVMにしてもあんま速くならないから飽きたのかな...
0416デフォルトの名無しさん2011/02/01(火) 18:11:44
Googleの他のお仕事が忙しいって
0417デフォルトの名無しさん2011/02/01(火) 18:15:13
オイシイメソッドを教えて下さい
0418デフォルトの名無しさん2011/02/02(水) 12:53:42
>>411
Σ('-';
0419デフォルトの名無しさん2011/02/02(水) 13:21:32
質問なんだけど

文字列からクラスを指定する方法教えてください
0420デフォルトの名無しさん2011/02/02(水) 13:26:52
__import__
0421デフォルトの名無しさん2011/02/02(水) 13:32:46
と
geyattr
0422デフォルトの名無しさん2011/02/02(水) 13:37:30
mo = __import__('turtle', {}, {}, [])
cls = getattr(mo, 'Turtle')
t = cls()
t.forward(100)

0423デフォルトの名無しさん2011/02/02(水) 14:04:30
ありがとうございます
0424デフォルトの名無しさん2011/02/02(水) 14:06:43
どうみてもgayです
0425デフォルトの名無しさん2011/02/02(水) 16:44:54
>>423
どういたしまして
0426デフォルトの名無しさん2011/02/02(水) 17:31:29
gaslighting
0427デフォルトの名無しさん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、台湾に抜かれる
0428デフォルトの名無しさん2011/02/03(木) 00:14:29
(^o^))))))))>-
< < < < < <
0429デフォルトの名無しさん2011/02/03(木) 08:04:02
過疎
0430デフォルトの名無しさん2011/02/03(木) 10:17:37
二つもいらねーんだよ
くだすれと合流しろ
どうせレベルなんて変わらんし
0431デフォルトの名無しさん2011/02/03(木) 12:00:31
2chはゴミ溜めなので、
いくつスレを立てても問題ないと考えられる。
0432デフォルトの名無しさん2011/02/03(木) 13:32:24
おもすれPythonでも作ってみるかな
0433デフォルトの名無しさん2011/02/03(木) 15:24:52
やっぱり複数あると荒らしもやりにくいのね>>430
0434デフォルトの名無しさん2011/02/04(金) 00:22:13
現在TSVでデータを保存するプログラムを制作しているのですが、pickleを知り便利さにびっくりしております。

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

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

<type 'exceptions.UnicodeDecodeError'>

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

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

これ次スレからテンプレにいれようぜ
↓
sys.setdefaultencoding()は使用禁止
sys.setdefaultencoding()云々って言っている奴は絶対に信用するなよ
0457デフォルトの名無しさん2011/02/04(金) 02:37:58
それで良いんじゃないの。

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

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

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

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

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

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

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

cheetahの話は全く出てきてないな
0504デフォルトの名無しさん2011/02/04(金) 12:32:24
いまどきCheetahはないよ
0505デフォルトの名無しさん2011/02/04(金) 12:55:01
嘘は口の虚だ
√(-a)では一般的に成り立たない式でも
虚数iによって√i^2(-a)として成り立たせる
それと同じであんたは嘘を嘘で誤魔化しているのだよ
0506デフォルトの名無しさん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

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

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

そもそもそんなのググればいくらでも出てくるだろう
0512デフォルトの名無しさん2011/02/04(金) 14:58:58
Jinja2
0513デフォルトの名無しさん2011/02/04(金) 15:28:22
ごたくとごとく
0514デフォルトの名無しさん2011/02/04(金) 15:31:22
ごとくがないとフライパンや鍋が安定しないからな
0515デフォルトの名無しさん2011/02/04(金) 16:55:39
[00 10 01] [1010] [0010] [00101010] [01]
0516デフォルトの名無しさん2011/02/04(金) 17:35:41
めかぶおいしいです。
0517デフォルトの名無しさん2011/02/04(金) 17:55:08
239506c13ac28902424ed7058805f2574d4b5828ea6f45.27064009
変換して文字にしてくれ・・・  .は.のままだと思うんだが
0518デフォルトの名無しさん2011/02/04(金) 18:02:50
>>515
きゅう とう しつ で あっー
0519デフォルトの名無しさん2011/02/04(金) 21:28:34
英語教育だけじゃなくて、
日本はすべての科目の教育がクソなんだと思う。
0520デフォルトの名無しさん2011/02/04(金) 21:38:45
日教組が左傾化の一途だから仕方ないよ
でも英語教育は義務教育範囲内じゃあどうしようもない
その後に大学で文理が別れるからそこから教養の差
0521デフォルトの名無しさん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.

これが分かれば英語は完璧
0522デフォルトの名無しさん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 に分けるのが簡単でしょうか。
0523デフォルトの名無しさん2011/02/04(金) 22:36:33
subversion
0524デフォルトの名無しさん2011/02/04(金) 22:47:21
cheetah使ってるけど、なんでダメなんだ?
0525デフォルトの名無しさん2011/02/04(金) 22:51:47
>>522
こういうの使えば?
http://packages.python.org/distribute/python3.html
0526デフォルトの名無しさん2011/02/05(土) 00:00:28
Pythonのお仕事がない。なんで。
0527デフォルトの名無しさん2011/02/05(土) 00:15:15
twitter見てたらたまに求人流れてくるよね。英語などで。
0528デフォルトの名無しさん2011/02/05(土) 00:35:54
仕事は自分で創るもんだよ
0529デフォルトの名無しさん2011/02/05(土) 02:02:02
PyGTKを勉強しています。
一定時間毎に特定の処理をさせたいのですが、sleepを使うとGUIも固まってしまいます。

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

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

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

0579デフォルトの名無しさん2011/02/06(日) 11:31:27
http://stackoverflow.com/questions/240996/anyone-using-python-for-embedded-projects
0580デフォルトの名無しさん2011/02/06(日) 11:33:35
>>578
そんな事を聞くようなやつがどういう組み込みができるんだ
0581デフォルトの名無しさん2011/02/06(日) 11:39:06
>>580
ご心配なく。
0582デフォルトの名無しさん2011/02/06(日) 11:41:32
ターゲットで python 動かすってこと?

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

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

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

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

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

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

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

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

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

その為の場所がある

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

学習能力 or 意欲のないやつに無理に教えることはないよな
0630デフォルトの名無しさん2011/02/06(日) 21:29:36
All your base is belong to us.
0631デフォルトの名無しさん2011/02/06(日) 21:30:46
コントローラって何のためにあるんだ。
0632デフォルトの名無しさん2011/02/06(日) 21:31:29
>>630
All your base are belong to us. だろうが
このド素人が!
0633デフォルトの名無しさん2011/02/06(日) 21:33:22
All your basis are belong to us.
0634デフォルトの名無しさん2011/02/06(日) 21:33:37
>>631
三権分立のため
0635デフォルトの名無しさん2011/02/06(日) 21:33:49
おもいコントローラしれんのみちを
0636デフォルトの名無しさん2011/02/06(日) 21:35:56
それがそんなに重要なのかね?
0637デフォルトの名無しさん2011/02/06(日) 21:37:08
何かものすごい知ったかぶりを見た気がする
0638デフォルトの名無しさん2011/02/06(日) 21:37:51
そんなことより磯野〜野球やろうぜ
0639デフォルトの名無しさん2011/02/06(日) 21:38:08
メタプログラミングは
魔術みたいなもので、
ビックリすることが
できるようになる。
       ----Matz
0640デフォルトの名無しさん2011/02/06(日) 21:40:11
馬鹿には無理
0641デフォルトの名無しさん2011/02/06(日) 21:41:06
EADMはQtだよなマジで糞
0642デフォルトの名無しさん2011/02/06(日) 21:42:16
変な文化だよな。常にself付けておけば間違いも無くなるのに。
0643デフォルトの名無しさん2011/02/06(日) 21:44:49
メタプログラミングのやりすぎには注意しましょう。
0644デフォルトの名無しさん2011/02/06(日) 21:45:16
Qtは糞
0645デフォルトの名無しさん2011/02/06(日) 21:45:38
単一電池
0646デフォルトの名無しさん2011/02/06(日) 21:46:36
2chに名前を出して書いているってことは構ってくれって言っているものだから、
構って当たり前
0647デフォルトの名無しさん2011/02/06(日) 21:47:23
rubyの人はすぐ言語戦争に話を持って行きたがる
建設的な話できない
0648デフォルトの名無しさん2011/02/06(日) 21:49:34
答えたい人がいなくなったオカン
0649デフォルトの名無しさん2011/02/06(日) 21:52:10
Webアプリケーションはデプロイが簡単ってだけで
あとはクソみたいな側面しかない。
AJAX(笑) HTML5(笑)
0650デフォルトの名無しさん2011/02/06(日) 21:53:20
なんのスレだよ。
みんなキーワードだけ拾って、適当なこと言ってるだけやないけ。
分裂しすぎや。統合失調症なのではないか。
0651デフォルトの名無しさん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
0652デフォルトの名無しさん2011/02/06(日) 21:58:12
>>651
そんな意味にはならんよ。
1文字以上の文字列すべてにマッチする。
0653デフォルトの名無しさん2011/02/06(日) 22:05:00
>>651
グループに*+をつけてもダメ。
0654デフォルトの名無しさん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'も']
0655デフォルトの名無しさん2011/02/06(日) 22:19:38
正規表現ではムリ。

>>> import itertools
>>> s="すもももももももものうち"
>>> list(list(e[1]) for e in itertools.groupby(s))
[['す'], ['も', 'も', 'も', 'も', 'も', 'も', 'も', 'も'], ['の'], ['う'], ['ち']]
0656デフォルトの名無しさん2011/02/06(日) 22:19:45
>>> r = re.compile(r'(.)\1*')
>>> m = r.finditer(u'すももももももももものうち')
>>> for i in m:
... print i.group(0)
...
す
ももももももももも
の
う
ち
>>>
0657デフォルトの名無しさん2011/02/06(日) 22:23:03
>>650
おもしろい思想だな、1スレ=1人格という考え方か?

1スレが多人数で投稿しているのだから分散して当たり前だと思うんだが
そういう発想ができることに素直に感心したわ
0658デフォルトの名無しさん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'ち']
0659デフォルトの名無しさん2011/02/06(日) 22:24:51
>>656 >>658
ありがとうございました
0660デフォルトの名無しさん2011/02/06(日) 22:27:01
相変わらずココはラベルが低いな
0661デフォルトの名無しさん2011/02/06(日) 22:28:19
>>657
いやそんなマジレスしなくても
0662デフォルトの名無しさん2011/02/06(日) 22:28:50
漏れの書いたコードはラベル高すぎて誰にも理解されない
0663デフォルトの名無しさん2011/02/06(日) 22:29:42
ラベルの正しい発音はレーベル
0664デフォルトの名無しさん2011/02/06(日) 22:35:20
どっちかっつーとレイベル
ttp://dictionary.reference.com/browse/label
0665デフォルトの名無しさん2011/02/06(日) 22:37:56
なにこのひとこわい……
0666デフォルトの名無しさん2011/02/06(日) 22:40:48
>>665
英語が喋れなくて外人が怖い人?
0667デフォルトの名無しさん2011/02/06(日) 22:45:04
なんでラベルって言うんだ。ドイツ語由来とかかな。
0668デフォルトの名無しさん2011/02/06(日) 22:52:55
明治の人はローマ字読みで適当に音を当てていたから。
0669デフォルトの名無しさん2011/02/06(日) 23:03:31
(water)
0670デフォルトの名無しさん2011/02/06(日) 23:44:13
ここの人はグリーンオニオンを玉ねぎとか言いそうで怖い
0671デフォルトの名無しさん2011/02/07(月) 00:49:46
2.5以降なら確実にSQLiteは使えると考えていいんですか?
0672デフォルトの名無しさん2011/02/07(月) 01:11:43
SQLiteがインストールされていないとつかえますん
0673デフォルトの名無しさん2011/02/07(月) 01:14:58
使えるだろ
0674デフォルトの名無しさん2011/02/07(月) 01:19:59
Linuxならパッケージマネージャが勝手にインストールするし、
Windows用のバイナリにもバンドルされてるよ。
06756712011/02/07(月) 01:39:45
すみません。質問し直します。

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

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

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

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

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

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

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

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

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

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

現在はループでタプル内のデータを全てunicode()し、それをもう一度.encode( )しているのですが、
なにか効率的な方法や一括で行う方法はありませんか?
0703デフォルトの名無しさん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()したくないということか
0704デフォルトの名無しさん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 を使うこと。
0705デフォルトの名無しさん2011/02/07(月) 14:03:15
なんでbytesする必要があるんだ?
0706デフォルトの名無しさん2011/02/07(月) 14:34:43
>>701
こんなスレに居てコマンドラインから呼び出し方も知らないのかI?
0707デフォルトの名無しさん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'えお', 'かき')]
0708デフォルトの名無しさん2011/02/07(月) 15:25:11
>>706
コマンドラインとはコマンドプロンプトのことを言ってるのか?
このスレにいてコマンドプロンプトがDOSと勘違いしてるの?
0709デフォルトの名無しさん2011/02/07(月) 15:29:22
そんな古臭い16bit時代の用語でもめんなよ
0710デフォルトの名無しさん2011/02/07(月) 15:29:59
煽り合いはよせ。
ここはPythonのお勉強スレなんだから。
07116932011/02/07(月) 16:17:48
>>698
ロリポは持ってるけどちかっぱプランに入ってないから勘弁してくれ。
さくらはやってみたらPython3.0入った。
0712デフォルトの名無しさん2011/02/07(月) 16:24:37
>>705
>>702 で、 「タプル内に数値とunicode文字列の要素が混在している」と
書かれているので、数値をUTF-8化するのに bytes を使っている。
厳密に言えばASCII化しているが、ASCII⊂UTF-8なので。
0713デフォルトの名無しさん2011/02/07(月) 16:51:49
>>693 >>698
なんでこいつこんなに否定的なの?
ビルド時に--prefix=$HOME/local とかするだけじゃん。
0714デフォルトの名無しさん2011/02/07(月) 16:54:27
>>690 >>698 か。
07156932011/02/07(月) 18:17:59
あ、すごくどうでもいいことだけどPython2.6入ってるってのはデフォで入ってたって意味で、
別に自分で2.6入れたわけじゃないから。
3.0は今さっき入れたけど
0716デフォルトの名無しさん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はできるのですが、できないメソッド?があります

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

そんなわけで、きょうも自分では手を動かさず、煽るだけにするよ。
だいたい自分で手を動かすような性格だったら、自宅警備なんてしてないよ。
わかってくれよそのくらい。
0783デフォルトの名無しさん2011/02/08(火) 20:10:43
>>782

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

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

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

ライブラリを探すときはまずpypiで。
0813デフォルトの名無しさん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
どうしたらエラーが消せるのでしょうか?
0814デフォルトの名無しさん2011/02/10(木) 11:06:19
>user32 = ctypes.CDLL('user32.dll')

ちがくね?
0815デフォルトの名無しさん2011/02/10(木) 11:08:25
すいません
import ctypes
ctypes.windll.user32.MessageBoxA(0, 'Hello, World!', 'Message', 0)
で動きました
0816デフォルトの名無しさん2011/02/10(木) 11:11:07
>>813
つ ctypes.WinDLL('user32.dll').MessageBoxW(0, u'abc', u'dd', 0)
0817デフォルトの名無しさん2011/02/10(木) 11:12:08
>>815
ctypes.windll.user32.MessageBoxW(0, u'abc', u'dd', 0)
0818デフォルトの名無しさん2011/02/10(木) 11:14:34
__stdcall と __cdecl の違いだね
0819デフォルトの名無しさん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が無いと言われてしまいました
どなたかお力を貸してください
0820デフォルトの名無しさん2011/02/10(木) 11:19:37
cygwinだとwindllとかないが
cdllでWin32APIもいけるっぽいんだよな
なんでなんだろう
0821デフォルトの名無しさん2011/02/10(木) 11:20:27
こんなクズどもの質問には答えて俺の質問には答えないのですね
早くレンタルサーバにインストールしてみろって
0822デフォルトの名無しさん2011/02/10(木) 11:30:48
>>819
win32api/conはこれに入ってるはずだけどうろ覚えなのでぐぐって確認してね
http://sourceforge.net/projects/pywin32/
0823デフォルトの名無しさん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)
0824デフォルトの名無しさん2011/02/10(木) 11:36:40
そこに山があるから
0825デフォルトの名無しさん2011/02/10(木) 11:37:41
>>824
それを車の再実装という。
0826デフォルトの名無しさん2011/02/10(木) 11:40:49
>>825
車の再発明じゃね?

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

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

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

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

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

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

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

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

というか、レンタルサーバーを真面目に運用するなら
ミラー環境くらい作っておくべき。
今回のような話がなかったとしてもだ。
0842デフォルトの名無しさん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/
0843デフォルトの名無しさん2011/02/10(木) 12:08:41
>>823
俺の環境だとPython3.xではPyMouseを修正しないと動きそうも無いんだが
動作環境はバージョンいくつ?
0844デフォルトの名無しさん2011/02/10(木) 12:08:45
>>837
VPS鯖の方が共有鯖より安くて高性能な時代に何言ってんだお前
0845デフォルトの名無しさん2011/02/10(木) 12:09:32
延々自演が続くスレになりました。ありがとうございました。
0846デフォルトの名無しさん2011/02/10(木) 12:11:49
>>838
いやいや、そこで諦めるのは実にもったいないよ。

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

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

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

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

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

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

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

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

当然
0854デフォルトの名無しさん2011/02/10(木) 12:32:28
まあgeekってオタクって訳されたりするしカッコイイよ
とにかくレンタルサーバーのどうでもいい話をするお馬鹿さんたちはIP付けてね
0855デフォルトの名無しさん2011/02/10(木) 12:35:06
geekよりもnerdだろ語感的に
0856デフォルトの名無しさん2011/02/10(木) 12:39:13
>>855
google先生に言ってくれ
0857デフォルトの名無しさん2011/02/10(木) 12:50:01
>>850
馬鹿には無理
0858デフォルトの名無しさん2011/02/10(木) 12:53:33
>>857
自演君さあ、いい加減IP付けてよ
0859デフォルトの名無しさん2011/02/10(木) 13:05:10
2chって規制で人減り過ぎて自滅への道を歩んでるよね
あと自演厨ばかりになってホントつまらん
0860デフォルトの名無しさん2011/02/10(木) 15:03:53
ゆとりは本当に屑しかいないのう
自分ができない事は他人も絶対できないと思ってるんだろうな
0861デフォルトの名無しさん2011/02/10(木) 15:13:26
差別主義者は議論力が著しく低いから
人格攻撃しかできないんだな
0862デフォルトの名無しさん2011/02/10(木) 15:27:10
>>861

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

後は詳しい人たのんます↓
0865デフォルトの名無しさん2011/02/10(木) 20:54:59
下記のコード動いて、表示結果は10になります
>a = 1
>def f():
> a = 10
> print a
>f()
0866デフォルトの名無しさん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__ とか使わないと。
0867デフォルトの名無しさん2011/02/10(木) 21:00:44
http://hibari.2ch.net/test/read.cgi/tech/1294836668/107-110
0868デフォルトの名無しさん2011/02/10(木) 21:08:26
関数定義内での代入の有無によって、
ローカル変数はあらかじめ束縛されることになるんでしょうか

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

f()
print a

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

してみると、もっとよく分かるかも。
0876デフォルトの名無しさん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
0877デフォルトの名無しさん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

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

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

でもこれ、おっさんのほうにも多くない?うちの上司もこんなのなんだけど。
「絶対にできるはずだ!」「どうやってやるんですか?」「そんなことは自分で考えろ!」
毎日がこんな調子。なんでこんなにバカなんだろうと思ってたけど、>>782見てなんか悟った。
0879デフォルトの名無しさん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はグローバルじゃなくてローカルなスコープとして扱われるってことでいいのかな。
0880デフォルトの名無しさん2011/02/11(金) 14:06:14
>>782は2ちゃんねるのテンプレとして残しておくべき名作
0881デフォルトの名無しさん2011/02/11(金) 14:06:46
>>879
それでOK
0882デフォルトの名無しさん2011/02/11(金) 14:50:10
>>878
>でもこれ、おっさんのほうにも多くない?うちの上司もこんなのなんだけど。
>「絶対にできるはずだ!」「どうやってやるんですか?」「そんなことは自分で考えろ!」
>毎日がこんな調子。なんでこんなにバカなんだろうと思ってたけど、>>782見てなんか悟った。

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

とにかく、2to3 が変換をミスるパターンを避ける。
0895デフォルトの名無しさん2011/02/11(金) 22:27:27
__future__の出番のようだな
0896デフォルトの名無しさん2011/02/11(金) 23:24:17
__future__は使うべきでない
0897デフォルトの名無しさん2011/02/11(金) 23:33:50
>>896
新規に書くスクリプトじゃ使いまくってるけど、ダメなの?
0898デフォルトの名無しさん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 には手を出さないほうが良い。
0899デフォルトの名無しさん2011/02/12(土) 01:49:15
去年も来年まで〜だったよなw
0900デフォルトの名無しさん2011/02/12(土) 19:54:47
10年後の世界を見てきたけど、Python2が全盛だった。
0901デフォルトの名無しさん2011/02/12(土) 21:18:24
明日3.2がくるぞー
3.2までくれば、3も普及するはず
0902デフォルトの名無しさん2011/02/12(土) 22:59:32
>>900
おかえり〜
0903デフォルトの名無しさん2011/02/12(土) 23:33:29
パイパン
0904デフォルトの名無しさん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
となります
これは、リファレンスの間違いでしょうか、それとも実装のバグでしょうか?
0905デフォルトの名無しさん2011/02/13(日) 04:42:18
>>904
いや、それがdict (辞書型)の仕様だから。
何でもかんでもバグにすんな。初心者にありがち。
0906デフォルトの名無しさん2011/02/13(日) 04:43:23
>>905
すみませんが、仕様はどちらにありますか
0907デフォルトの名無しさん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は丁寧に作られてるからたまたま書いてあったけど、
言語処理系なんて「実装が仕様」なんてことはままあるからね。
0908デフォルトの名無しさん2011/02/13(日) 05:10:28
>>907の親切さに感動した!
0909デフォルトの名無しさん2011/02/13(日) 05:22:29
俺は仕様じゃなくて実装依存だと思っていたが仕様だったのけ?
0910デフォルトの名無しさん2011/02/13(日) 05:30:28
>>907
調べていただいてありがとうございます
ですが、それはitemsメソッドの仕様であって、
{}表現の評価順序の仕様とは異なります
0911デフォルトの名無しさん2011/02/13(日) 05:31:05
というか>>904は辞書のキーと値に副作用を伴う式を指定した場合に
どういう順番で評価されるかって話であって
>>907はitems()がどういうリストを返すかという話とは関係ないと思う

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

で、そうやって初期化した後で、取り出さないといけないでしょ。
取り出す段階で、keyの順序は保証されないと907で言ってるわけ。
0914デフォルトの名無しさん2011/02/13(日) 05:55:40
>書いた順に登録されていって、keyが重複していても問題ない
keyの登録順や、取り出す段階についてではなく、
{key:value, ...}と書いたときに、keyとvalueのどちらが先に評価(計算)されるかが、
>>904のリファレンスに書いてあることです
それが、実際に動かした結果と異なっているようだったので質問させていただきました
0915デフォルトの名無しさん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.

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

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

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

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

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

なぜならそんな細かい仕様をプログラマ誰でも理解してるわけではないし、
プログラムはなるべく平易に書くというPythonのポリシーにも反する。
09209172011/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に従ってコード
を書くか否かが知りたい。
0921デフォルトの名無しさん2011/02/13(日) 07:00:37
>>920
一般的なライブラリ読み込みの宣言から順番に書くのが、
Pythonに限らずプログラミング言語の常識。
C/C++やC#なんかのソースコードを読んでごらん。
0922デフォルトの名無しさん2011/02/13(日) 07:01:46
天然すなあ
0923デフォルトの名無しさん2011/02/13(日) 07:02:48
>>919
コーディングについてはもっともですが、言語の規約としてどうなのか知りたいと思っています
ソースコードは動かした通りになっているはずですが、
提示したリファレンス以外に、正しい仕様書があるのなら教えていただきたいのです
0924デフォルトの名無しさん2011/02/13(日) 07:04:55
>>923
だから、仕様ドキュメント読んでソースコード読め。

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

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

漏れはどっちかというとimportに関しては従ってる方
100%じゃないけど
0926デフォルトの名無しさん2011/02/13(日) 07:20:59
[Python-Dev] Dictionary evaluation order
http://mail.python.org/pipermail/python-dev/2002-November/030461.html
0927デフォルトの名無しさん2011/02/13(日) 07:22:43
http://mail.python.org/pipermail/python-dev/2002-November/030458.html
http://bugs.python.org/issue448679
http://svn.python.org/view?view=rev&revision=30148

実装のミスっぽ
0928デフォルトの名無しさん2011/02/13(日) 07:23:56
>>926
CPython処理系のバグだけれども、もう直せないということですね
ありがとうございます
09299172011/02/13(日) 07:35:14
>>921
え、本当?今いくつかCのコード見てみたけどそんなことはなかったぞ。
まあ、結構バラバラなだけってのが多いが。
C#は分からないんだけど、そうなのかな。

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

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

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

思い込みはよくないな。
0932デフォルトの名無しさん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}
09339172011/02/13(日) 08:01:54
>>931
俺が見たのはemacsとzshでemacsはバラバラでzshは特殊なライブラリが
ほぼ上だった。931が見たのはそうだったのなら、たぶんCでは
統一されてないということでしょ。

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

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

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

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

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

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

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

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

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

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

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

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

例:
from distutils.core import setup, Extension

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

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

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

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

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

だからこそ、みんながわかりやすいように、共通のルール決めましょうって言ってるんだろ
0949デフォルトの名無しさん2011/02/13(日) 13:03:50
>>947
お前がどう思うかなんて、どーでもいい
0950デフォルトの名無しさん2011/02/13(日) 13:08:56
別にいいんじゃね
ルールなんて書き捨てオナニーコードには不要
0951デフォルトの名無しさん2011/02/13(日) 14:05:12
A Foolish Consistency is the Hobgoblin of Little Minds
PEP8で一番大事なとこはここ
0952デフォルトの名無しさん2011/02/13(日) 15:33:11
>>947
こういうコードの書き方ってどう思う?
ttp://code.djangoproject.com/attachment/ticket/2407/CGI.2.py
0953デフォルトの名無しさん2011/02/13(日) 15:39:30
インスタンス変数ってアンダースコア付けるべき?
self._hoge みたいな
0954デフォルトの名無しさん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
0955デフォルトの名無しさん2011/02/13(日) 16:01:34
>>954
この番組見てたけど、誰かが別アカ作ってtweetしただけだと思う。
何を騒いでいるんだろう。
0956デフォルトの名無しさん2011/02/13(日) 18:39:56
Qtは糞
0957デフォルトの名無しさん2011/02/13(日) 18:44:46
GTKは産業廃棄物。
0958デフォルトの名無しさん2011/02/13(日) 18:46:27
Tkは身障用
0959デフォルトの名無しさん2011/02/13(日) 19:10:02
たしかにQtは酷い
0960デフォルトの名無しさん2011/02/13(日) 20:13:40
>>951
座布団どぞー
0961デフォルトの名無しさん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やらも全部同じ。
0962デフォルトの名無しさん2011/02/13(日) 21:32:34
だんだん突っ込み所が増えてきたけど、決定的な墓穴を掘らないとやる気でない
0963デフォルトの名無しさん2011/02/13(日) 21:37:14
アッー!
0964デフォルトの名無しさん2011/02/13(日) 21:37:44
勝手にすればいいじゃん
そうしない理由はなんだ
0965デフォルトの名無しさん2011/02/13(日) 21:38:30
たかゆきおつ
あとはまったりヲチするだけだ

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


とでも思ってるんだろ。

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

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

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

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

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

もしかしてPEP8って参考程度の規約?そうなの?まじで?
もしそうだったら俺歓喜。皆さんすみませんでした。
0975デフォルトの名無しさん2011/02/13(日) 22:03:33
死ね
0976デフォルトの名無しさん2011/02/13(日) 22:09:12
Pythonのお勉強 Part42
http://hibari.2ch.net/test/read.cgi/tech/1297602466/
0977デフォルトの名無しさん2011/02/13(日) 22:14:22
なんだもう終わったの?

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

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

# 絶対に守らないといけない規約だったらそれはスタイルじゃなくて文法だっての。
# メソッドの第一引数をselfにするのも、文法じゃなくてスタイルだから、他のでもいいけど、
# そういうことする人のコードは読みたくないな。
0980デフォルトの名無しさん2011/02/14(月) 00:28:51
>>917 って頭悪そうだよね
0981デフォルトの名無しさん2011/02/14(月) 00:33:30
いきなり名前空間汚しまくる例を持ち出す>>979よりかはマシだと思う
0982デフォルトの名無しさん2011/02/14(月) 00:38:06
>>979
だれもそんなくだらん例は問題にしてないだろ。
import aaa
import bbb
と
import bbb
import aaa
が違う挙動になるような例をだせっての。
0983デフォルトの名無しさん2011/02/14(月) 01:23:12
webフレームワークで嵌ったのがあったな
importでカスタマイズ設定を引っ張ってんのかね
0984デフォルトの名無しさん2011/02/14(月) 01:50:31
settings.py
www
0985デフォルトの名無しさん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つ目の結果ってバグでしょうか?
0986デフォルトの名無しさん2011/02/14(月) 06:15:56
ダメ文字でググれ
0987デフォルトの名無しさん2011/02/14(月) 06:17:16
環境書けYO

表の最後のバイトがバックスラッシュだろうから
os.getcwd() の返り値がバイト文字列ならそうなっておかしくないんじゃないか
0988デフォルトの名無しさん2011/02/14(月) 06:24:54
つgetcwdu
0989デフォルトの名無しさん2011/02/14(月) 06:38:53
>>988
出来ました
ありがとうございました
0990デフォルトの名無しさん2011/02/14(月) 06:46:34
pass
0991デフォルトの名無しさん2011/02/14(月) 06:48:36
>>947
import sys, os, re
と
import os, sys, re
だと
どっちが良いでしょうか?
0992デフォルトの名無しさん2011/02/14(月) 06:52:53
もういいよ。
0993デフォルトの名無しさん2011/02/14(月) 07:01:19
Pythonのお勉強 Part42
http://hibari.2ch.net/test/read.cgi/tech/1297602466/
0994デフォルトの名無しさん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)
0995デフォルトの名無しさん2011/02/14(月) 07:38:43
import 角電池
0996デフォルトの名無しさん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というのは
一部のオタクどもが楽をするためだけに存在している言語で、かれら教育のことなんか何も考えてない。
しょせんかれらは狭い世界に閉じこもる運命にあるのだ。
0997デフォルトの名無しさん2011/02/14(月) 07:42:47
>>995
Error: TooDangerousToInsertException
0998デフォルトの名無しさん2011/02/14(月) 07:44:43
我らpythonistaはpythonを通じてpythonより多くのことをも学ぶものである

三角比の範囲はこの3つの公式を覚えるだけ
tan θ = sinθ/cosθ
sin^2θ + cos^2θ = 1
1 + tan^2θ = 1/cos^2θ
0999デフォルトの名無しさん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はチョコ抜き
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。