1 :
おっぱい :
2011/01/24(月) 21:26:51
クソスレ
import this
┌─┐ │●│ └─┤ _ ∩ ( ゚∀゚)彡 ┌─┬⊂彡 │●│ おっぱい!おっぱい! └─┘
このスレッドは天才チンパンジー「アイちゃん」が 言語訓練のために立てたものです。 アイと研究員とのやり取りに利用するスレッドなので、 関係者以外は書きこまないで下さい。 京都大学霊長類研究所
メンテナンス性の面で僕が気に入っている言語は Python だ。シンプルで きれいな構文、オブジェクトのカプセル化、充実したライブラリのサポート、 そしてオプションの名前付きパラメータがある。メンテナンス性が悪い言語 の一例は Perl である。うん、僕は確かにそう言ったよ。撤回するつもりはない。 -- Bram Cohen Python が好きなのと同じぐらいRubyが好きじゃない。Perlみたいな「TMTOWTDI」哲学が 多すぎる。Perl ほどひどくはないにしても、似たような可読性とメンテナンス性の問題が 出てくる。Ruby を使わなければならないなら使うこともできるけど、幸いそういうことはない」 -- Jonathan Ellis Rubyの本を読んでて頭にひょこっともたげた疑問ってのは「今さら?」というものだ。 ご苦労様なこった。この言語設計者 (Matzこと教祖まつもとゆきひろ様) っていうのは なんでわざわざこんなものを創ったんだ? たどり着く結論は毎度同じものだ。 -- Bruce Eckel Ruby は低品質で、ゴミクズソフトが頼っているクソみたいな インタプリタにも関わらず不当に勢いを得て今までずるずる -- Zed Shaw 「やはり他のスクリプト言語作者とは格が違う。そもそもPerlやRubyというのは 一部のオタクどもが楽をするためだけに存在している言語で、かれら教育のことなんか何も考えてない。 しょせんかれらは狭い世界に閉じこもる運命にあるのだ。
そうだね
すみません
プロテインだね
乾電池
python人は変態なの?
我らpythologistはpythonを通じてpython以外のより多くのことをも学ぶものである
クソスレ
from Battery import Cell
>>13 風呂敷でけぇよwww
>>15 いつまで乾電池ネタ引っ張るんだよwwwwww
tanだけ分かっている場合のsin cosの求め方って誰か知らない?
おっぱい を いちども みず に しぬのかなぁ みつお
全員が数学Tの終盤をやってるわけじゃねえぞ そもそも京大卒の文系だけど三角関数分からねえよ
>>17 cos^2(θ) = 1 / (tan^2(θ)+1)
22 :
デフォルトの名無しさん :2011/01/25(火) 12:00:40
お前の目の前の箱はなんのためにあるんだよ
三角比の範囲はこの3つの公式を覚えるだけ tan θ = sinθ/cosθ sin^2θ + cos^2θ = 1 1 + tan^2θ = 1/cos^2θ
Pythonお通じて乾電池の太さを尻ました ほんとうにありがとございました
解析学、線形代数、三角関数、統計学は Pythologistの基礎教養やろ。
むかしこのスレで、 ジンバルロックの話題とかやってたのが懐しい。
集合知プログラミングはPythonなんか使ってる所がカス。 統計分野ならR使いやがれよ。
MITを首席で卒業してそのまま博士号取得していきなり教授になった人以外は人間として認めません
2 人中、2人の方が、「このレビューが参考になった」と投票しています。 5つ星のうち 5.0 笑えるし、考えさせられます, 2010/12/12 By みーちゃん - レビューをすべて見る レビュー対象商品: いい年して処女なの隠して生活してます。 (単行本) 野島キウイさんのブログは昔からずっとファンだったので、書籍化は本当にうれしいです! ブログはいろんなことが書いてあって面白いんですけど、処女だったり恋愛だったりに関係するところを中心にうまく拾い上げていたので、読みやすかったです。 「内容は笑えるエピソードばかり!?」って書いてあるだけあって、へたなギャグ漫画を読んでいるよりもおもしろい!でも最後のほうは(コメントが集中してくるあたりから)、処女とは何か?とか、考えさせられるような内容になっていました。 わたしは処女じゃないけどタイトルがきになったので買いましたが、恋愛についていろいろと振り返ってしまいました。 笑いあり感動ありで、大満足です!! 5つ星のうち 5.0 婚活中の男子の皆様, 2011/1/24 By ヒメ - レビューをすべて見る レビュー対象商品: いい年して処女なの隠して生活してます。 (単行本) 何歳まで女子・男子という言葉を使ってよいかは別として(笑) これから結婚相手を探そう、っていう婚活男子が読めば参考になること間違いなし。 なぜなら・・・ 婚活女子の中には必ずこの本に出てくるタイプのコがいるから! ベールに包まれていた彼女達の生態を学んでおけば、ライバル達に差をつけられるかも?! 同性として、かなり笑いながら読みましたが、女子が読むだけでは勿体ないな、と思ったのでレビューしてみました。 そんな訳で・・ 婚活中の男子の皆様! 女子の取扱書の一つとして読んでおくべし! っていうか、読んで、うまいことリードしてやってください。お願いします(笑)
>>32 Pythonと何か関係があるのか真面目にAmazonまで調べたぞ
どうしてくれる
>>27 Rはアプリケーション作る環境じゃないし。
Pythonで凄いプログラムつくってよ 20行以内で、セミコロンで命令文繋げるのなしね 優勝者には俺の凄いライブラリプレゼントしてあげるから!
importでどうとでもなるだろ
import os
os.system("kill -KILL
>>36 ")
やるならimportは標準のやつだけだな もちろん俺はやらないけど
では質問です。 SocketServer で接続後 RequestHandlerClass の handle の引数 self を用いて 毎回 self.client_address が取得出来ることは判ったのですが、 self.client_address[0] の値 (たとえば '127.0.0.1') を 32bit の int 値に変換するには どうすればよいのでしょうか? 変換するのではなく直接取得する方法があればそちらでも構いません。
[int(d) for d in s.split('.')]
この程度の処理にライブラリ必要?
>>41-43 ありがとうございます。
>>44 エラー処理もやってくれてるのと BSD ライセンスだったので
>>42 を使うことにします。
ほんとうにありがとうございました。
def addrtoint(s): L = map(int, s.split('.')) return (L[0] << 24) + (L[1] << 16) + (L[2] << 8) + L[3]) じゃだめなん?
atoh()とかhtoa()とか普通になかったっけ?
socket.ntohl(x) socket.ntohs(x) socket.htonl(x) socket.htons(x) があるね
どうみても精子です。
>>48 それ用途違う
socket.inet_aton('127.0.0.1')
どうみても精子です。
python.jpは見てはいけません
数値のリストから小さい数値ベストN個を取得するには どうすれば効率的ですか? (04年 東京大)
55 :
見習い :2011/01/25(火) 15:45:33
>>56 ヒープってこういう風に使うのか。アルゴリズム調べたら勉強になったわ。
>51 オプソなんてそんなもんなんじゃないの 気づいた人が報告して、直せる人が直すっていう
>>60 日本でならrubyとか言ってる奴いるな、まさに情弱速報。どうせプログラミングを知らない奴だろうが
>>60 約1ヶ月前の発表を今更breaking newsしてるのか
1ヶ月前に前スレで見たわ
どうしてもツッコんでおきたかったんだけど、 公式の pyblosxom-1.5rc2.tar.gz を解凍すると、 フォルダ名が pybloxsom-1.5rc2 になる件
なんで、公式に突っ込まないんだ
単三電池をお尻の穴に入れる = 電池付きであるというPythonの意思に準じている
66 :
63 :2011/01/26(水) 08:44:39
67 :
63 :2011/01/26(水) 11:14:34
つっこんだらものすごいいきおいで返事きた Haeeee
毎度思うけど x はなんであの位置なんだろう(電池ネタではありません)
>>68 sexと左手だけで入力できるようにするため。
またruby厨の荒らしですか?
PySideはもう実用になりますか? だれか教えてけろ。
>>72 Python+QtでGUIアプリを作るのに使い始めてる。
まだごくごく初歩程度だけど、とりあえずは問題ないよ。
実装法の流儀が色々と変わってるので、(slotの扱い方とか)
公式のドキュメントをちゃんと詠むこと。
>>72 ほとんどのAPIはちゃんと動くけど、
マニアックなことをしようとするとバグが露呈することがある、という感じ。
俺の場合、QNetworkAccessManagerの周りが腐ってて移植できない部分があった。
2.6.2使ってるけど、日本語まわり難しい 「アプリケーション内部ではutf8だけを仕様」って規約があると仮定して もしexample.co.jpの文字コードがShift-JISだったら、 text = urllib2.urlopen('example.co.jp').decode('shift-jis') みたいにしたらいいの?
>>75 Python2.6の日本語<=>utf8周りってややこしすぎるよな。
未だによく分からん。
>>75 「アプリケーション内部ではutf8だけを仕様」は、Pythonでは良くないと思う。
unicode型を使用、ならよくて、それだと .decode('shift-jis') でおk
ごっちゃにするな * Unicode: 文字セット * UTF-8: Unicode文字列をバイト列に(可変長で)エンコードする方法
ああそうか、unicodeか いつもcoding:utf8ってしてるから勘違いしてた。 とりあえず入力はdecode、出力はencodeってやってみる
Python3はopen()時にコーディングを指定できるよね。 Python2で同じようにfileオブジェクトをデコーダでwrapするにはどうすればいいの?
日本語文字列コード問題まとめ を参考にしてる。
>>81 io.open("hoge.txt", encoding='utf-8') が Python3 のと同じ。ただし2.6以降。
codecsモジュールでも同じことができる。
>>81 codecs.getreader & getwriter
>>75-76 馬鹿には無理
っていうか u'ほげ' を UTF-8 だと思ってる香具師が大杉
部ログで堂々と嘘を撒き散らすから迷惑
GNU/Linux以外にはQtとGTKは使わんほうがいい というよりWinとMacOSXにはWxが使いやすい
WebでPerlの代わりにPythonって使えるの?
gtkはプラットフォームネイティブなルック&フィールを真似ようとすらしないから わかるけど、Qtってなんか変だっけか?
PerlのUTF8フラグなんかより Pythonのstr/unicodeの方がわかりやすいと思うのだが。 違いが出るのはやっぱり情報量の差なんだろうか。
>>86 GTK はないな
Qt は Win/Mac でもありだと思うが
>>90 同意
プログラムにバグがあっても文字化けしつつ間違ったまま動くのが良いか
ちゃんとバグをつぶせる情報を出してくれる例外を有難いと思うか
前者が気持ち悪いと思う人には python を薦める
ありなしでなくて良し悪し
Qtは、Macだと違和感のある見た目になるよ。
Gtk3に期待
>>95 Adobe系ソフトやOperaやSkypeはQt製アプリの代表例なんだが、
それらもおかしいかい?
近年、TkもQtもGTK+も、OSのルックアンドフィールの再現性をよくしてるよ。
python対話モードからsqlite使ってるんだけど、create tableやselectは出来るんだが、 .showが実行できない。ドットから始まるコマンドは使えないの?
それはsqlite3コマンドが提供してる機能であって、SQLじゃない。
使える
やはり今の時代、Rubyがホットだな
そんなもん、Pythonからダンプしてどうすんだよ。
python.orgの左メニューのDOWNLOADの下に "下?" てでてんだけどなにこれ。
ああやっぱり文字化けしたな 中国語でダウンロードっていう意味の文字らしいんだが
>>102 >>> import subprocess
>>> p = subprocess.Popen(['sqlite3', 'hoge.db'], shell=False, bufsize=0, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
>>> si, so, se = (p.stdin, p.stdout, p.stderr)
>>> si.write('.show\r\n.quit\r\n')
>>> so.read()
' echo: off\r\n explain: off\r\n headers: off\r\n mode: list\r\nnullvalue: ""\r\n output: stdout\r\nseparator: "|"\r\n width: \r\n'
108 :
角電池 :2011/01/27(木) 04:42:43
なんで中国語が
>>105 「下栽」って出た。Google Chrome
そんなことよりpython.jpはやく直せよ
Pythonの文字コードについてまともに説明しているサイトや書籍がほとんど無いのが悪いんだよなあ sys.setdefaultencoding()が云々って書いてある物は絶対に信用するなよ
114 :
角電池 :2011/01/27(木) 15:52:05
そうそう、この国は、教育的な情報を出す人があんまりいないのが問題。 初心者を叩いてはならぬ。
>>113 site.pyでsys.setdefaultencoding()を
呼び出しておくのが一番の近道だけどね。
それだと根本的な解決(or理解)になってなさそう。
標準入出力が端末かリダイレクトかでロケールを使う/使わないが変わるのがいみふ
>>118 だって端末は文字コードが指定されてるけど、
一般的なファイルディスクリプタに対しては文字コードを勝手に決めるわけにはいかないし。
>>116 ,117
だってどうせ自分しか使わないんだから、
latinな人たちの常識に合わせる必要ないじゃない。
こうやっておけば、自分のスクリプトでの手間が、少し減る。
>>120 ではpython3でロケール使うようになったのはなぜ
>>121 煽るつもりは毛頭無いけど、やっぱり理解できてないじゃないか
そのうち俺が解説サイト作ってやるから気長に待ってろ
Python3をつかえばみんな解決。
GAEのwebappを書いた人はUTF-8を前提にしてるっぽいな。 気をつければ他の文字コードでもやれないことはないが ベースのWebObはまともなのにどうしてこうなった ( ^ω^
エキスパートPythonプログラミングにUnicodeの章があって、 setdefaultencoding を非推奨にしている。
リバースエンジニアリングって本どう? 入門書読んだぐらいだけど嫁ますか?
『デフォルトエンコーディングを設定するには、インタプリタ起動時に 読み込まれるsitecustomizeモジュールを作成して、その中で設定する必要があります。モジュール の検索パスが設定されているディレクトリにsitecustomize.pyを作成し、次のように記述します。 import sys sys.setdefaultencoding('utf-8') ただし、この設定をすると、同じインタプリタを使っているすべてのPythonプログラムが影響を 受けてしまいます。そのため、virtualenvを使ってそのアプリケーションのための独立した環境を 作って、その環境の中のsitecustomize.pyを修正するとよいでしょう。』 エキスパートPythonプログラミング, Tarek Ziade'著, 稲田直也ほか訳, ASCII, pp.398
>>pp.398 p.398からどこまでの引用でつか?
>>131 p.397
「しかし、デフォルトエンコーディングをUTF-8に設定することですべての問題が
解決されるわけではありません。むしろ、例外が発生しなくなることで問題が隠されてしまい、
問題を見逃したり、解決に時間がかかってしまう可能性すらあります。
また、アプリケーションを利用する人がデフォルトエンコーディングに何を
設定しているのかを仮定することもできないので、開発者はデフォルトの'ascii'
のままのPythonで開発するべきです。
Unicode対応が不完全なアプリケーションを利用する場合に、UnicodeErrorを回避する
手段として、デフォルトエンコーディングを変更する方法を紹介しておきます。」
あくまでもワークアラウンドとして紹介しているだけで、この章のほかの部分は
setdefaultencoding('utf-8') に頼らずにUnicode対応するための方法が書いてある。
日本語の解説サイトにpythonのユニコードオブジェクトと ユニコード(utf-8,utf-16 etc)を同じものだと説明してる のがあってスゲー混乱したのを思い出したw
UCSとUTFは違う。
>>127 あれはひどいよな
GAE 普及に失敗した原因のひとつだよ
>>135 そういうのに限って検索上位に出てたりするんだよね
クーパかわいいよクーパ
144 :
138 :2011/01/27(木) 21:38:27
>>141 ごめん
言葉が足りなかった
sitecustomize.py の中で呼ぶとそこの python 環境全体に害を及ぼすけど
reload sys; sys.setdefaultencoding('cp932')
ならそのプログラムだけに影響がとどまるから
初心者には後者の方がお薦めなんだよ
もちろん初心者じゃないひとは setdefaultencoding に期待しないコードを書けるよねってことで
>>138 あと、reloadは関数なので()をつけないとだめだぞ
>>138 Python は -s オプションを指定しないと、起動時に site モジュールを読みこむ。
site モジュールは、 sitecustomize モジュールを読みこんだ後、
del sys.setdefaultencoding
する。
reload sys したら setdefaultencoding が復活するけど、わざわざ消しているのは
内部的に不整合が起こる可能性があるからで、良くない。
sitecustomize が読みこまれるタイミングで setdefaultencoding を実行するのが正しい。
>>144 p.398
「ただし、この設定をすると、同じインタプリタを使っているすべてのPython
プログラムが影響を受けてしまいます。そのため、 virtualenv を使ってその
アプリケーションのための独立した環境を作って、その環境の中の sitecustomize.py
を修正すると良いでしょう。」
148 :
138 :2011/01/27(木) 21:43:57
>>146 -sじゃねよ、-Sだよ
-s : don't add user site directory to sys.path; also PYTHONNOUSERSITE
-S : don't imply 'import site' on initialization
>>147 そもそも特定のエンコードに依存したコードを書いてる方がおかしい訳で
他人に使ってもらうときにわざわざsitecustomize.pyを書き換えてくれって
注意書き書かれたpythonコードとかにお目にかかったことが無いんだが
sys.setdefaultencoding()云々って言っている奴は絶対に信用するなよ
>>138 ↑こいつみたいな奴が被害を拡大させるんだよ
お前の間違ったオナニー理論を垂れ流すな
154 :
153 :2011/01/27(木) 21:48:46
sys.setdefaultencoding() 書き換えるのは初心者のすること
>>134 >あくまでもワークアラウンドとして紹介しているだけで、この章のほかの部分は
>setdefaultencoding('utf-8') に頼らずにUnicode対応するための方法が書いてある。
禿げしく同意だけどsys.setdefaultencoding()
もっと具体的に書いた方が良いんじゃないかな?
sys.setdefaultencoding()云々って言っている奴は絶対に信用するなよ
>>138 >しかしながら、実行時にdefaultencodingを変更するのは禁じ手中の禁じ手です。
>Pythonのユニコードの扱いを理解していれば、通常は全く困ることがありませんし、
>困ることがあるのはPythonのユニコードの扱いを理解していない人間が書いたライブラリやフレームワーク、
>もしくは、出入力のエンコーディングに、asciiやutf-8等の特定のエンコーディングを想定している
>ライブラリ・フレームワークを使いたい場合くらいのものです。
>>135 そのサイトの中の人はうっかり自分で
sys.setdefaultencoding('utf-8')
設定してたのをすっかり忘れていたんだろう
とりあえずsys.setdefaultencodingを設定しとけっていうスタンスの本/入門書って どれくらい出回ってるんだろうね
sys.setdefaultencoding()云々って言っている奴は絶対に信用するなよ
>>160 日本語の書籍なら殆ど全てと言っても過言ではない
>>150 だよな
他人のdefaultencodingなんて判らないんだから
自分の環境のencodingを他人に強制するような
プログラミングはしたくない
>>163 書いてあることに間違いはないが、後半は本質が理解できていないのか
間違った知識を誘導しかねない内容になっている
でもやっぱり sys.setdefaultencoding()云々って言っているから信用できない
逆を言えば、sys.setdefaultencoding()は絶対に使ってはいけない命令文だと覚えておくのだな
167 :
138 :2011/01/27(木) 22:18:27
>>158 当然そこは読んでますよ
だから
>>144 で
>もちろん初心者じゃないひとは setdefaultencoding に期待しないコードを書けるよねってことで
と書いてます
>>138 にも
>もちろん自己責任でね
と書いてます
「テキストファイルはバイト列であり、文字列ではない」 という認識が必要。
>>166 【9】 方針の選択肢
確かにここは読まない方がいいな
>>159 >>164 >>166 自分で sys.setdefaultencoding() いじってしまうと
気付かない間に自分自身が環境依存コード書く癖がついてしまうのでいくない
>>138 はまともでしょ。約一名が変なレスをしただけ。
>>168 Python3 だと違うけど
>「テキストファイルはバイト列であり、文字列ではない」
それをバージョンを明記せずにいつまでも強調するのは
新たな火種になりかねない
>>171 sys.setdefaultencoding()のやり方を説明している時点でおかしいだろう
sys.setdefaultencoding()は使用禁止なんだよ
俺がそう決めた
これってあれだな。 おせっかい機能(デフォルトエンコーディング)が、 余計にユーザの理解を妨害するって例だな。 やはりexplicitであることは大事だ。
>>150 そりゃ本人が不注意なんだから注意書きなんか書く訳が無かろう
難しいことはよくわかりませんが Python2のUnicode文字列は加工するには便利だけど バイト文字列に変換せず入出力したら死ぬかもよ という認識で今まで生きてきました
sys.setdefaultencoding() なんか死ねばいいのに
Pythonの文字コード界隈について僭越ながら説明をしてみます。 間違いがあったら完膚なきまでに叩きのめしてくださいm(_ _)m Pythonユーザが意識しなければいけない文字コードは大雑把に以下の3種類に分類できます。 1. ソースファイルの文字コード 2. Stringオブジェクトの文字コード 3. (Pythonの)Unicodeオブジェクト
>>173 いや、Pythonの文字列/バイト列の話じゃなくて、一般論として言った。
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.の例ではソースファイルにハングルの文字は記述されていない のでハングルをサポートする文字コードを選択する必要はありません。
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 だから # ここは実行されない
>>179 ,181
長い
3行にまとめろ
長文書く奴は社会で成功しない
もう英語以外廃止すればいいじゃん。
アフォはほっといて続けてくれ
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 という全く同じ値が代入されるのです。
>>179 >1. ソースファイルの文字コード
u'ほげ' って書いたときに、UNICODE オブジェクトだということを意識出来るかどうか。
unicode('ほげ') と同じものか別物か。(defaultencoding() を必要とするかしないか。)
(不親切なサイトのせいで自分は当初これが UTF-8 だと勘違いしていた。)
結局 3. は 1. に影響を受けるし、2. も 1. に影響を受けているし、
どこか一部を理解したつもりで全体が判ったつもりになってると痛い目にあう。
人に読ませる文章にうんことか書く神経がわからない
ここが俺のブログだ。
うんこisフリーダムの精神を理解できてない奴がいるとは世も末よのぅ
>>179 ,181,188
お前才能ないよ
Python向いてない
俺にはよくわかる
結構前にいたな、ひたすら長文投下する奴。誰からも必要とされてないのにまだ生きてたのか
馬鹿には無理
おい、空気読めない子をいじめるな
>>188 >こうして作成されたUnicodeオブジェクトは「ソースファイルの文字コードに依存せず
>常に一定の値を保持」します。
「*ファイルの先頭で例の書式で文字コードが明示されている場合に限り*ソースファイルの文字コードに依存せず常に一定の値を保持」
ソースファイルの文字コードに依存してるだろ
少しはお役に立ちたいと思って頑張って調べてまとめたのに... ゥェ─。゚゚(ノ´Å`ヾ。)゚゚。─ン
もっとレベルのたかいPythonコミュニティーを教えてください 僕はもう疲れました
また犠牲者が増えるのか
>>201 泣くなブログに書け
そしてURLを貼れ
話はそこからだ
ひどい有様だ
科学技術計算しかしない俺には関係のない話だな。
>>209 文字列処理なんかやってる奴らは下等だよな。
日本語処理は黒魔術 プログラミングの文字はASCIIに限定すべきと思っている俺にも関係の無い話だ
おいクソ
>>179 ___
,;f ヽ
i: i ありがたやありがたや
| | ///;ト,
| ^ ^ ) ////゙l゙l;
(. >ノ(、_, )ヽ、} l .i .! |
,,∧ヽ !-=ニ=- | │ | .|
/\..\\`ニニ´ !, { .ノ.ノ
/ \ \ ̄ ̄ ̄../ / .|
・sys.setdefaultencoding()は使用禁止 ・エンコーディングとキャラセットを理解する ・入出力するエンコードは自分で都度指定する
217 :
デフォルトの名無しさん :2011/01/27(木) 22:54:35
>>181 >>183 >>188 >>201 ___
,;f ヽ
i: i ありがたやありがたや
| | ///;ト,
| ^ ^ ) ////゙l゙l;
(. >ノ(、_, )ヽ、} l .i .! |
,,∧ヽ !-=ニ=- | │ | .|
/\..\\`ニニ´ !, { .ノ.ノ
/ \ \ ̄ ̄ ̄../ / .|
___
,;f ヽ
i: i ありがたやありがたや
| | ///;ト,
| ^ ^ ) ////゙l゙l;
(. >ノ(、_, )ヽ、} l .i .! |
,,∧ヽ !-=ニ=- | │ | .|
/\..\\`ニニ´ !, { .ノ.ノ
/ \ \ ̄ ̄ ̄../ / .|
___
,;f ヽ
i: i ありがたやありがたや
| | ///;ト,
| ^ ^ ) ////゙l゙l;
(. >ノ(、_, )ヽ、} l .i .! |
,,∧ヽ !-=ニ=- | │ | .|
/\..\\`ニニ´ !, { .ノ.ノ
/ \ \ ̄ ̄ ̄../ / .|
人生の敗北者でも低能でも無能でもワーキングプアでも使えるPythnoのお勉強
>>215 まさにその通りだけど具体的にどうすればいいのか理解できない人がこのスレには多そうだ
>>214 ,
>>217 ありがとう。ありがとう。マジでありがとう。
さっきとは別の意味でゥェ─。゚゚(ノ´Å`ヾ。)゚゚。─ン
(^o^)/オヤスミー
>>182 >ファイルパス
これについては、直接記述するときは
path = u"ファイル名.jpg"
として一旦Unicodeオブジェクトにしてから、必要なときに
適当な文字コードに戻してあげればよいかと↓
fsenc = sys.getfilesystemencoding()
f = file(path.decode(fsenc), 'r')
225 :
223 :2011/01/27(木) 23:05:05
大嘘でした;;; >f = file(path.decode(fsenc), 'r') f = file(path.encode(fsenc), 'r')
>>224 このスレの人が求めてるのはソレじゃないんだよね
pythonまわりの文字コードの扱いが知りたいわけね
>>218 とか
>>226 あたりは自分が理解できないことを他人が理解できてる
ことがよっぽど悔しいんだねw
>>184 >長文書く奴は社会で成功しない
成功してないお前が言っても説得力なさすぎるよね
Pythonは社会不適合者も暖かく包みこんでくれます。
Pythonの内部処理ってUCS-2? UCS~4?
>どうやったらそういう意味になるだよ なるだよ、と言われてもね...
235 :
232 :2011/01/27(木) 23:20:19
だからPythonはオレをも暖かく包みこんでくれます。
角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角 電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電 池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池 角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角 電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電 池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池 角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角 電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電 池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池 角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角 電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電 池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池角電池
>最近の多くのLinuxディストリビューションでは >UCS4版のPythonがついてきます へぇ、贅沢だな。
嵐のあとの静けさ。
ほんとPythonやってる奴はラベルが低い
242 :
241 :2011/01/27(木) 23:56:06
ほんとPythonやってる俺はラベルが低い
Webアプリなんか内部がutf-8前提でなにが悪いかわからん。
ディレクトリに対して指定した文字列で始まるファイルがあるか確認したいのですが、どうすればいいでしょうか? 指定した文字列で始まるファイルがあれば、そのファイル名の一覧を取得したいです。
[filename.startswith('kakudenchi') for filename in os.listdir(dirname)]
>>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)
リバタリアニズムとは古い自由主義。 現代のような、民主・社会・資本主義とは非常に相性が悪く、 私的所有権を基づいて議論されるので社会(共産)主義は論外であるので 古くから左派と言われているが民主主義国家では左派でも右派でもある。 リベラリズムとは近代の自由主義。 政府・社会の介入を最低限認めながらも、 最大限の自由と権利を主張する思想。 ネット社会ではこれに加え、別の社会を形成したことで 確立した思想が存在する(ハッカー文化) ハッカー文化とは自由と共同体主義を混ぜあわせた思想・文化である。 一般的に社会・共産主義と勘違いされているが、 実際には私的所有権を重んじる中で、コミュニティと共存共栄する。 特に勘違いしている俗称・Crackerは、Warez(usenet)というコミュニティを介して 新たなアナーキズムであり自由主義を作り上げている(反政)
walkなんてあったんだ初めて知ったよ。 そういうのってどうやって探してくるの?
>>247 あ、ほんとだ。失礼しました
import os
[os.path.join(DIRNAME, filename) for filename in os.listdir(DIRNAME)
if filename.startswith(PREFIX)]
>>248 違う。ネット社会の本質はアナーキーだよ
やはり時代はRubyか
>>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 マニュアルの関係ありそうなところをつまみ食いしてたら見つけました
>>249 偉大なるググレカス諸氏の教えに従って
「python ディレクトリ 再帰」
みたいな感じで検索するといいお
マニュアルから入ると覚えることが多すぎてパンクするけど
ググリながら必要なとこだけちょびちょび覚えていくと意外と楽
質問者は、サブディレクトリまで見たいとは言ってないわけだが。
楽天のisweb焚書で初心者の頃世話になったページが あちこち消えて悲しい
>>256 >walkなんてあったんだ初めて知ったよ。
>そういうのってどうやって探してくるの?
に答えただけなわけだが。
>>243 webappの場合
body = body.encode('utf-8')
みたいなコードが「フレームワーク自体」の中に含まれてるから困る。
文字通りハードコーディングしてある(
なんで角電池アナニストの巣窟になってんの、ここ?
>>259 なんか変な動きをすると思ったら
それが原因か
Pythonでプログラミングしようとしている奴らがバカなだけ。
>>262 Pythonの文字コード周りがgdgdなのは確かだが(まともになったのは3000以降)
全否定したら始まらないだろ。
全体的に精神年齢が低いスレですね。
電池
角電池って12Vだから、ケツに入れたら少々危いんじゃないかな。
最近ruby厨の荒らしが活発だな
djangoがrailsと比べてどうしたって?
どじゃんぐりころころどじゃんぐりこ
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね 死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死 死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね 死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死 死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね 死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死 死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね 死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死 死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね 死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死 死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね 死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死 死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
↑未だにこの手の嵐をする奴がいるとは驚きだ ガチ過ぎるから今日にでも精神科を受診すること!
>>262 よっぽどの苦境に立たされてるんですねわかります
でもそれはお前が低学歴・無能だからでありpythonのせいではない
だからpythonを叩くのはお門違いw
>>271 こんな2ch黎明期のギャグに遭遇するとは思わなんだ
関数を定義するときにいつも迷うんだけど 1. 返り値はUnicodeオブジェクトに固定 2. 返り値は引数のtypeに応じて変動 のどっちがいいの? def add_world(s): return s + u'world' か def add_world(s): return s + 'world'
def add_world(s): return '%sworld' % s
def add_world(s): u = u'ほげ' return s + (u.encode(sys.getdefaultencoding()) if isinstance(s, str) else u)
Unicode文字列で受けてUnicode文字列を返すのがシンプルでいいじゃないか 何か落とし穴でもあったっけ
優劣は状況によるんだろうけど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
結局
>>278 。
なんでもかんでもUnicodeオブジェクトにしてしまえばおk
># さらっとchardet使ったけど、なぜpythonには標準で文字コードを判別する
># 仕組みがないんだ?これ困るよね
ただし↑故に「じゃあどの文字コードでdecodeしたらいいのよ(泣)」という
悩みはつきない。特にオレのような初心者は
そもそもunicodeオブジェクトしか受け取らない
全部ユニコード→ strしか受け付けないライブラリとかなかったっけ
>>263 ちがうべ、ぜんぜんぐでぐでじゃねーよ
理解していない奴が多すぎて
そいつらの作ったライブラリーが糞か
もしくは、そう思うお前が糞かのどちらかだ
Ruby is the best language of the universe. Ruby is the best language of the universe. Ruby is the best language of the universe. Ruby is the best language of the universe. Ruby is the best language of the universe. Ruby is the best language of the universe. Ruby is the best language of the universe. Ruby is the best language of the universe. Ruby is the best language of the universe. Ruby is the best language of the universe. Ruby is the best language of the universe.
文字コードの自動判別は機械学習的なアプローチが必要だから、 標準ライブラリに入れるようなシロモノじゃないんだよねー。
>>285 その考え方は、battery includedの考え方じゃないなあ。
自動判別なんて ブラウザ作るみたいな特殊用途にしか使わないだろ。
ひどいサイトの例
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 + '"'
質問でしゅ。 buffer型ってどんなときに使うんですか。
>>290 C言語とのインターフェイスの為にあるような型だからそれが要求されている関数で使う
C言語を呼び出したりしない限り自作のPythonプログラムでその型を使うことはない
>>290 import numpy
x = numpy.array([1,2,3])
open('hoge.bin', 'wb').write(x)
a = [1,2,4,3] for x in a.sort(): print x なんでダメなの?
aを直接ソートしてNoneを返すから ソート済みのリストを返してほしかったらsorted(a)
補完できない奴は安価越しに見ろよ
>>288 あれはstrの文字コードがutf-8推奨なだけで
unicodeも普通に使える
>>287 あとテキストエディタとか。
IDLEはどうしてるんかね。
>>297 え?
ログ出力したり
メール送信したりするときは?
google.appengine.api.mailはunicode渡すと utf-8として送るようになってるっぽい。
GAEってどうやってpythonだとeclipseのプラグイン使えない?
日本語でおk
どうやって開発してるの。pythonだとeclipseのプラグイン使えない?
eclipseがないとコード書けないひとって
Unix環境使えよ。
>>303 PyDevがGAE SDKをサポートしているだろ
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 と表示されるような方法を教えてください。
>>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)
>>307 > num1 = float(1/7.0)
これは現在のモジュールの float で
> num2 = 1/7.0
こっちは組み込みの float を使うから、無理。
(__builtin__.float = float としても使われない)
>>309 そういう仕組だったのですね。勉強になりました。
丁寧な回答有り難うございます。
__ P P | |┃┃「 | .  ̄/ニ7 / | ||ーへ | ||/\ \ ――-
(^o^)/ おやすみー
PythonにてPyGTKの勉強をしているのですが、EclipseでPyGTKを便利に使うプラグインなどはありませんか?
>>314 PySideでQtを使って、
Qt Createrインストールしてその中のQt DesignerでUIのデザインしたほうがずっと楽。
なにこれポトペタ?
毎回思うんだがポトペタってどこから出てきた用語なんだろ 語源が謎のままで困る
「ポト」っと落として「ペタ」と貼り付ける
>>318 そうなんだよ書いた直後に気づいたんだよ。言い訳がましいけど
でもありがとう
GTKはクソ。
クソの理由書かないと、単に使いこなせなかったかわいそうな奴だと思われるだけだよ。
GTKが使いやすくて俺感涙
>>323 情報が古い上に間違っている典型的な駄目サイトじゃないかよ
利用者数で言えばQtの方が圧倒してる GTKもいいけど人柱(特に日本では)覚悟しないとダメ 初心者なら特にドキュメントが限られてるのでPyGTKはおすすめしない
ドキュメントが限られてる?なにそれ日本語の事いってるのwww まあそのレベルの人は大変だよね
このスレの推奨GUIライブラリは Qt一押しになったんでよろしく
>>325 利用者数はよく分からないけど、
実際のところ、GTK+製アプリってGPLのを除いたらほとんど無いんだよね。
対して、Qtは著名なソフトウェア製品が山のようにある。
日本語ならRubyでいいじゃない
>>328 その著名ソフトを山のようにリストにしてくれないか
Qtのサイト行っても著名ソフトは数えられるほどしかリストになってなくて困る
GTKだと、ルック&フィール的な問題で Linuxのアプリケーションしか書く気がしないのと、 APIの設計がQtに比べて汚ない。 あくまで個人的な感想。
>>332 そのなかで僕が知ってるソフトは10個もないんですけど
全部著名なソフトなのですか?
こういう馬鹿な議論が行われるから 言語もGUIツールキットも宗教戦争に関わったら負け 自分で使いたいものを使えばいい
>>332 数あるGTKで造られたソフトウェアを棚に上げてそれだけの数で山ほどとは、Qt使いの力量がわかる一覧でですね
>>333 ,335
Adobe各製品とOperaとSkypeはQt製だぞ。
だからなに? としかいいようがないwww
あと、各製品じゃなくて極一部な
>>332 にはAlbumしかのってないけど、PhotoshopElementsも使ってる
>>314 のレスになぜか急にQtが出てきて、それ以後も必死に根拠のない主観を繰り返す。
Qtユーザはなぜそれ程にGTKを嫌うの?がんばってQt覚えたんだから、GTK使ってる人が憎いの?
>>325 どこからその利用者は計測したの?
GNOMEを標準採用しているLinuxディストリビューションが多いから、
圧倒的にGTKを使ってるユーザが多いと思うのだが。
豊富とはいわないがPyGTKには十分なマニュアルがあるでしょ。
>>341 314のレスに答えたのは俺だが、利用者数なんかは知らんし、別にどうでもいい。
GTK+とQtを両方使った上でQtの方がいいと思うから勧めてるだけ。
GTK+(PyGTK)を勧めたいなら、質問に応えてあげればいいじゃん。
なんで煽るの?
GTK信者って死んじゃえばいいのに
GTKは良い入門書がないんだよね QtとPyQtはあるからそれでQtにしちゃった
簡単に言うと、ここで騒いでいるオマエらは 英語読めないから日本語環境が充実している方を選択しましたって事だろう 頭悪すぎる
率直な意見だけど
>>331 の言う通りなんだよね
>>342 >>341 はPyGTKのEclipseプラグインがないか聞いてるのに、なぜQtかつEclipseを使わないレスになったの?
質問に対しての回答になってないでしょ?
PyGTK勉強してる人にQt勧めてなにかどうメリットがあると思うの?
ドイツ語勉強してて教材の質問してる人に英語の勉強すすめるか?
良かれと思って言ったことならすまん。俺の頭ではどう考えても頭が悪すぎたからレスしただけ。
俺は別にPyGTKをすすめるつもりもないし、Eclipseも使ってないからレスしない(できない)だけだ。
知ってるからと言って質問の内容と違う回答をするのは、おせっかいじゃなくて単なる邪魔だからね。
GTK リソース使いすぎ Eclipse メモリ使いすぎ
例えが悪かったな、身近な例で出したつもりだったがドイツ語やってない人からしたら身近じゃなかった。 Python勉強してて教材の質問してる人に、Rubyの勉強すすめるか? に置き換えてくれ。 これならこのスレッドにいる人間には自分の立場になって考えられるだろう。
Qtが絡むとGTK宗教戦争とかライセンス問題とか 意味の無い議論ほど盛り上がるのはなぜ?
>>349 >Python勉強してて教材の質問してる人に、Rubyの勉強すすめるか?
そこは違うだろ
今回のケースの場合
>Ruby勉強してて教材の質問してる人に、Pythonの勉強すすめるか?
だわな
そしてもちろん答えは Yes, we can!
>>347 別にPythonの開発はEclipseだけが唯一のIDEじゃないし(Javaのようにね)
用途によって開発ツールは選べばいいんじゃね?
確かに質問の直接の答えにはってないが、ベターと思われる回答をした。
それをどう扱うかは質問者の自由だろ。
>>351 フイタ
Rubyの方が先に触ったけど、仕事でPythonを扱ってからは
もっぱらPython党だ。
Yes, we can!
>>350 そういうナンセンスな議論が大好きな奴が多いんだろう
とりあえずここは質問者の意図そっちのけのレスをした
>>315 を三角木馬の刑にするということでおさめようじゃないか
>>352 お前に質問をした回答をどう扱うかは質問者の自由だろ
文句言うなよ
やっぱりncursesが最強だよなぁ。
GTKはGNUが自分のためだけに作ったもんだよ だから基本的にはGNUアプリにしか使われない Gnomeを挙げる人がいるけどブーメラン
GTK の G って GNU の G かと思ってたら違うんだね
GTKはGIMPのために作ったんだろ GTKの前はlesstifを使っていたような気がする
GTKで画面設計をGladeでやろうとしたら バグる固まる落ちるソース汚い再利用出来ない 何一つ良いこと無かったのを思い出した QtCreator使ったときは普通に動いただけなのになぜか感動した
QtもLGPLになったしな。
ところで、Python + Qt or GTKでLinux以外のアプリケーションを作るってそんなに頻繁にあるのか? Pythonでアプリケーションを作ってそこそこ長いつもりだが、そういう仕事がきたことがない。 もちろん、趣味でもつくろうと思ったことない。
人の趣味に口出しするなよ
>>365 Linuxというより、クロスプラットフォームなアプリを作りやすい。
ベンダー依存なコード部分を書く場面がほとんど無いからな。
GTKでベンダー依存なコードってどんなコード?
Android で先に動いてくれた方を採用するとしよう
>>368 IME(FEP)を操作するところとか。
他には
>>363 どんだけお前は無能なんだ
そんな事皆無だぜw
PageRankアルゴリズムは正しい
>>328 GPLのを除く理由が分からん。
Linuxデスクトップ使いだが、QtよりGTK+の方がむしろよく使われてるイメージだし、
かつてはフリーのQtはGPLしかなかったから、それが障害になってQtよりもGTK+の方が好んで使われていたかと。
376 :
314 :2011/01/30(日) 21:51:20
私の質問で荒れてしまったようで申し訳ありません。 何名かの方におっしゃっていただいているように、PyGTKを勉強しておりますのでQtや他の言語の大体案ではなく、 PyGTKのEclipseプラグインがあれば教えていただきたいと思い質問させていただきました。 ご回答がないようですので、プラグインはないと考えたほうがよろしいでしょうか?
Qt信者の痛さは凄いよな
Qtを使ってる人にwxなりGTKをすすめる人はあまりいないが、 wxなりGTKなりを使ってる人を見つけたら、とりあえずQtじゃないことを馬鹿にしてQtを強要するのがQt信者 本人がQtを使ってるかどうかは関係ない。使ってなくてもQtは万能だと信じてやまない
中間をとってwxってことですね 問題もなくPythonとの親和性も高いようですし
>>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.
------------------------------------------------------------------------
いまどきGTKはダサいよね Python勉強してる人にわざわざGTK薦めるなんて C#勉強してる人にMFC薦めるようなもんだよ
頭悪そうだなお前
>>381 ,383
オレはQt党だけど、wxもシンプルでいいな。
XMLでデザインのテンプレートも書けるし、スクリプト向けだ。
>>386 こんな良サイトがあるなんて知らなかった
本当にありがとう
英語でおk
読めん っつーか右オフサイドw
縦長すぎw 207回もスクロールボタンを押したぞ
>>386 テトリスやってしまった
難しいすぎる orz
zetcodeは良いサイト。
Ий сет
おばけのQt太郎。
2ちゃんねるの数十%は
>>396 みたいなレスなんだろうな
最近気づいたけど pyscripterのバージョン上がってるんだね。 誰か使ってる?
俺はクソみたいな仕事してる。
GTKは糞
WSGIクライアントは どのサーバで動かすのがおすすめですか?
Werkzeug
Qtは下痢
Pythonで変数の値の文字列が数字だけか英数字か調べたいのですが、 なにかいい方法はありませんか? 現在はint()して例外の有無で検査しているのですが、 もっとほかの方法はないでしょうか?
>>> "0721919".isdigit() True
410 :
407 :2011/02/01(火) 00:45:40
そんな便利なメソッドがそろっているのですね ありがとうございました
Unladen Swallowって死んだの?
>>413 中の人は、休眠中であって終了したわけじゃないって言ってる。
LLVMにしてもあんま速くならないから飽きたのかな...
Googleの他のお仕事が忙しいって
オイシイメソッドを教えて下さい
質問なんだけど 文字列からクラスを指定する方法教えてください
__import__
と geyattr
mo = __import__('turtle', {}, {}, []) cls = getattr(mo, 'Turtle') t = cls() t.forward(100)
ありがとうございます
どうみてもgayです
gaslighting
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、台湾に抜かれる
(^o^))))))))>- < < < < < <
過疎
二つもいらねーんだよ くだすれと合流しろ どうせレベルなんて変わらんし
2chはゴミ溜めなので、 いくつスレを立てても問題ないと考えられる。
おもすれPythonでも作ってみるかな
やっぱり複数あると荒らしもやりにくいのね
>>430
現在TSVでデータを保存するプログラムを制作しているのですが、pickleを知り便利さにびっくりしております。 そこで、今後データの保存にはpickleを利用しようと考えているのですが、 pickleのメリットやデメリットとしてどのようなものがあるのでしょうか?
pickleってシリアライズとかの処理をしてる分遅いんかいな
メリット: おてがる デメリット: 出力したデータはPythonでしか読めない。
>>433 >>430 じゃないけど、俺もヲチするスレは一個の方が楽
違いのないスレ二つヲチするのは苦痛
UbuntuLinuxでPythonの勉強をしているのですが、別の環境に持って行くと <type 'exceptions.UnicodeDecodeError'> というエラーが出たりします。 これはドのようなエラーになるのでしょうか?
>>438 sitecustomize.py の setdefaultencoding('UTF-8') で
sys.setdefaultencoding()云々って言っている奴は絶対に信用するなよ
え?なんで?
またお前か
446 :
443 :2011/02/04(金) 01:33:42
おいおい、だからなんでなんだい?
ちなみに俺は
>>440 じゃないよ
理由の説明もできないのに偉そうなことほざくバカが増えたな
なんたってプログラミング言語ランキング1位だからね
書き捨てコード用に手間を省くために使うなら 別に構わないだろ>setdefaultencoding もちろん何を意味するものか理解せずに設定したら 後でもっと大きなトラブルにぶち当たる可能性が高くなるけど、 そんな設定は他にも色々ある。
450 :
443 :2011/02/04(金) 02:11:23
何がいけないの? サイトのマルチバイトのデフォルトエンコーディング設定をしているんだよね 書き捨てとかじゃないでしょ?
sys.setdefaultencoding()云々って言っている奴は絶対に信用するなよ
Unicodeの扱いとかUnicodeDecodeErrorの正しい対策の仕方とかまとめられた本って、 エキスパートPythonプログラミング以外には無いのかな? エキPyは入門者向けじゃないし、Unicode章だけバラ売りしてくれたら良いのに。
エンコードの設定はsetdefaultencoding()でやるって言い出した奴の罪は重いな 情弱共が面白いように引っ掛かって糞コードを量産してやがる
書き捨てのときも、codecs.openとかio.open使えばいいから、 setdefaultencodingを使う必要はな
455 :
443 :2011/02/04(金) 02:33:36
>>451 お前みたいな奴をバカって言うんだよ。理由が理解できないのに分かったふりするんだから。
>>452 持ってるし読んでる
>>453-454 いけないとは誰も言ってない
デフォルトのエンコーディングに依存したコードを書くと可搬性がなくなると言っているだけ
>>455 可搬性wwwww
問題の本質が分からない馬鹿は凄いこと言い出すなww
これ次スレからテンプレにいれようぜ
↓
sys.setdefaultencoding()は使用禁止
sys.setdefaultencoding()云々って言っている奴は絶対に信用するなよ
それで良いんじゃないの。 でも、 >>デフォルトのエンコーディングに依存したコードを書くと可搬性がなくなると言っているだけ 言ってねーじゃん。
なんとなくSMTPが7bitしか扱えないことを思い出した。
460 :
デフォルトの名無しさん :2011/02/04(金) 02:39:17
pass
>>455 みたいなレベルの低い奴がPythonコミュニティーの足を引っ張っているのは確定的に明らか
462 :
443 :2011/02/04(金) 02:42:06
可搬性でなければなんと言えばいいの? 現在の環境で問題なくても別の環境で問題が発生するんじゃないのかい? サイトで固有の設定に依存する他のアプリに問題があるとかそれはその設定を使う以上自明だよ
463 :
443 :2011/02/04(金) 02:44:15
結局まともに理由に触れてるの俺だけじゃね?
入出力先のエンコーディングを決めうちしたら普通まずいだろ。 今見てる2chだって未だにShift_JISだぜい?
>>443 お前はUTF-8をデフォルトエンコードに設定するとエラーが出ないと思っているのか?
お目出たい奴だな
何で馬鹿にされているのかもうちょっと勉強してこいよ
pass
エンコーディングとキャラセットの区別もできてないんだろうなぁ
旧帝大以下の低能はレスするなよ!
>>465 また誤魔化して知ったかぶりですか?
きちんと書いてればエラーは出ないと思うよ
出るならきちんと説明してみなよ
>>467 encodingとcharsetって明確に区別してないよ普通
エンコーディングはバイト列、ち文字セットは文字集合と言えばいいの?
違うなら具体的に説明してみなよ
>>468 留学はしてないな
__get__ __set__ __del__
>>469 もういいよ。うっとうしい。
分かってる人はちゃんと分かってるから。アホにかまうな。
time.sleep or sys.exit(1)
>>469 マジでお前馬鹿なんだな
お前の中ではUTF-8はどんな文字コードとも相互変換できる魔法のエンコードなんだろうwww
474 :
デフォルトの名無しさん :2011/02/04(金) 02:57:28
pass
sys.setdefaultencoding()云々って言っている奴は絶対に信用するなよ これ言い出した奴はわかってるな
このスレッドは天才チンパンジー「アイちゃん」が 言語訓練のために立てたものです。 アイと研究員とのやり取りに利用するスレッドなので、 関係者以外は書きこまないで下さい。 京都大学霊長類研究所研究所
RuntimeError: fatal error has occured in this thread.
setdefaultencodingとunicodeとutf-8をNGワードにした。
Pythonのお弁当 Part41
ここまで俺の自作自演。
sys.setdefaultencoding()云々って言っている奴は絶対に信用するなよ
setdefaultencodingより大切なものがお前らの人生には無いのか。
>>471 しばらく黙ってみたよ。確かにこの人いかれてるな。
setdefaultencodingするぐらいなら死を選ぶね
絶対に負けられない戦いがsetdefaultencoding()にはある。
まとめWikiに適当な解説記事でも書いてそっち参照にすればいいんじゃないの 読まない奴はそれで弾ける
林: まさかとは思いますが、この「setdefaultencoding」とは、 あなたの想像上の存在にすぎないのではないでしょうか。
「sys.setdefaultencoding()は使用禁止です」って
>>1 に追加して詳細をまとめWikiだな
冗談抜きでこれ以上馬鹿が量産されるのは忍びない
どれもこれもバベルの塔を建てようとしたのが悪いんや。
sys.setdefaultencoding()設定する香具師はド素人
セックス...
495 :
438 :2011/02/04(金) 04:18:11
それで私はどうしたらいいのでしょうか? Cheetahで文章のテンプレートを使っているのですが、 その読み込みの行でエラーが出ているようです。
それだけで聞くなら好きにすればいいんじゃないの?としか言えない 君の場合は質問の難易度以前に質問内容そのものが明確じゃないのが問題
「それだけで聞くなら好きにすればいい」ってどういう意味ですか? 日本語がわかりません;;
その質問内容ならそういう回答でも回答になっているということ もしもっと別の回答を期待しているならそれなりに何を聞きたいのか 質問内容を考えること
どの文字コードもUnicodeに変換して操作すればいいんまよね?
>>495 今しがた自分も全く同じところでハマってた
cheetahのバージョン下げてみ
503 :
501 :2011/02/04(金) 11:17:39
すまん 別の書き込みと混同してて俺の書き込みが間違いだ cheetahの話は全く出てきてないな
いまどきCheetahはないよ
嘘は口の虚だ √(-a)では一般的に成り立たない式でも 虚数iによって√i^2(-a)として成り立たせる それと同じであんたは嘘を嘘で誤魔化しているのだよ
507 :
505 :2011/02/04(金) 12:57:45
スレ間違えました
親切すぎるな 推測までして回答なんてバカバカしい 1から10まで全部説明させ、これ以外の回答がない状態になるまで詰めてから 純粋にググッても分からない部分だけを質問させればいいのに お勉強スレなんだから
Jinja2がおすすめ。
>>508 ゴタクはどうでもいいから、Cheetahに代わるテンプレートエンジン教えれ。
>>510 ゴタクじゃないよ
とても重要な話
そもそもそんなのググればいくらでも出てくるだろう
Jinja2
ごたくとごとく
ごとくがないとフライパンや鍋が安定しないからな
[00 10 01] [1010] [0010] [00101010] [01]
めかぶおいしいです。
239506c13ac28902424ed7058805f2574d4b5828ea6f45.27064009 変換して文字にしてくれ・・・ .は.のままだと思うんだが
英語教育だけじゃなくて、 日本はすべての科目の教育がクソなんだと思う。
日教組が左傾化の一途だから仕方ないよ でも英語教育は義務教育範囲内じゃあどうしようもない その後に大学で文理が別れるからそこから教養の差
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. これが分かれば英語は完璧
Python2と3とでソースを分けた場合、どのように配布すればいいでしょうか。 具体的には、Python2用の元ソースと、2to3コマンドでPython3用に変換したソースとを、どのようにパッケージ化すればいいのかわからず困ってます。 foobar2.py # Python2用 foobar3.py # Python3用 パッケージ自体を、Foo2-1.0.0.tar.gz と Foo3-1.0.0.tar.gz に分けるのが簡単でしょうか。
subversion
cheetah使ってるけど、なんでダメなんだ?
Pythonのお仕事がない。なんで。
twitter見てたらたまに求人流れてくるよね。英語などで。
仕事は自分で創るもんだよ
529 :
デフォルトの名無しさん :2011/02/05(土) 02:02:02
PyGTKを勉強しています。 一定時間毎に特定の処理をさせたいのですが、sleepを使うとGUIも固まってしまいます。 GUIを固まらせずに一定時間毎に処理を走らせる方法はありませんか?
>>529 タイマー使うんじゃないんかね。
それから、この問題はPythonじゃなくてGTK+の範疇ね。
threading.Thread
なんでもスレッドで片付けようとするやつって馬鹿だよね
誰もなんでもスレッドで片付けようとしてなくね?
すみません ついでなので聞いちゃいます たとえば socket の処理をしたいときに TCPServer と ThreadingMixIn を組み合わせて使うケースと asyncore で片付けるケースとか twisted とか 色々やり方があるみたいなのですが どういう場合にどれを使うと良いみたいな指針ってありますか?
GUIフレームワークとスレッドは相性悪いんじゃあなかったかな
>>543 エスパーな俺がおっしゃるには
クライアント数が少ないならasyncoreが手っ取り早くていい
というか「君はどれが好き?」みたいな質問するのはどうかと思うぜ
まともな質問をしないとまともな解答は帰ってこない
だがまともな質問をしてもまともな解答が帰ってくるとは限らない
ロングパスか
流石エスパーだなwww
安定のksk
まったくおまいらときたら 期待通りの期待外れな回答寄越しやがって
GTKはクソ
MacでGUIアプリを作ろうと思ってます。 Objective-Cで書いてもいいんですがPythonで書いておけば後々Winやlinuxに移植するのも簡単だったりするんでしょうか?
wktkで待ってたらこの有様とか、今日は安静に過ごそう
vipでやれ草い
openIdList += list(set(totalList)-set(openIdList+closeIdList)) (リストの中身はint型) ってコードなんだけどopenIdListが10万件を超えたらすごいもっさりしてきた 速くするアイデアがあったらギボンヌ。
>>549 openIdListは、set型じゃダメ?
openIdSet += set(totalList) - set(closeIdList)
だと、少しはマシになるかと思うのだけど。
1. アルゴリズム全体を見なおす 2. listをすべてsetにする 3. 集合演算(union, intersection, etc.)をつかう
552 :
549 :2011/02/05(土) 15:40:29
>>550 set型でもOKです。試してみます。
リスト方が馴染みがあったんであまり考えずに使ってました。
openset, totalset, closedsetにしたほうがいい。
>>529 gobject.timeout_add
555 :
549 :2011/02/05(土) 16:23:08
>>550 ,551,553
皆のアドバイスを参考に、全部set型にして
openSet |= (totalSet-closeSet)
にしたらかなり速くなりました。
ありがとう。
>>555 そんなに大量のデータを扱うんだったら、
素のままのPythonじゃなくて、
数値計算向けのライブラリをPython越しに使ったほうがいいかもね。
例は示せないけど、調べたら出てくるんじゃない?
numpyとかはベクトル化できないと速くならんよ。
そこでORACLEですよ
黙れ小僧。お前にSunが救えるか。
クスっときた
NoSQL! NoSQL!
署名する前に終わってたのを思い出した
oracle(w)= tiwtflt^iπ
今日はバトルロワイヤルスレが熱かったな
ああいう議論で何が得られるんだろ。 コンパイラ理論の教科書でも読んでたほうがマシ。
Python 2.6用のスクリプトを書くときに、Python 3.0を意識してしておいたほうが良いことってありますか?
>>566 Python 3.0系へ移植可能性を考慮するときの注意点は
公式ドキュメントでまとめられてるよ。
>>566 マジレスするとないと思う
3年後はわからないが少なくともあと数年は3は存在を無視しておいておk
少しづつ__future__が増える
Python3とIPv6の類似性について。
>>568 なるほど。
「このスクリプトは2.6用です。」的な文言を分かりやすく書いておけば十分かしら。
>>565 参加してた人だけど。あれは議論なんかじゃないよ。
議論は、意見押し付けるよりも聞くのを主にしないと成り立たないし、双方が価値のある意見持ってないと成り立たない。
あれは議論とは違って何も得られない。
日本人ならとっととver3を使うべき ライブラリが対応してない? お前らも移植に貢献しろ
577 :
566 :2011/02/06(日) 10:08:59
みんな回答ありがとう。
>>576 の言うように Python 3.xを使うべきなんだろうけど、
システムがPython2.6以下を要求している場合は個人の影響力では難しいです(´・ω・`)
組み込みLinuxでスクリプト言語を使う必要があるのですが、pythonって重いのでしょうか。
>>578 そんな事を聞くようなやつがどういう組み込みができるんだ
ターゲットで python 動かすってこと? そもそも「スクリプト言語を使う必要」の理由は?
Python2.5からSQLite3が標準ライブラリに入ってるとのことですが、 標準ライブラリということは、Python2.5以降には確実に入っているのですか? データの保存にTSV,Pickle,SQLiteで悩んでおります。 データが大きくなった時のことを考えるとSQLiteが最善かと考えているのですが、 ほかに何か選択肢はありますか?
>>582 >ターゲットで python 動かすってこと?
はい、そうです。
X86 Linux で動作している python の資産を
ハードが安価なARM系のハードで動作させるのが目的なんです。
CPUはCortex -A8 600MHzです。
>>584 AndroidでPythonその他のスクリプト言語を動かすプロジェクトがあるよ。
パフォーマンスは自分で試してみるべし。
人に聞いたところで実測してダメだったらダメなんだから、
最初から自分で試したほうが早いよ。
ばらばらだな>TSV,Pickle,SQLite
ところで、なぜ試さずに聞いた? 比較対象もなく、なにが軽量なのかも明示しない。 挙句の果てにCPUだけ掲示。 組み込み技術者ならCPUだけ掲示しても意味がないことわかるだろ? それがわからないなら、どうせできないから質問しても無駄。
掲示じゃなくて提示か 日本語がわけわからんくなった
>>584 >X86 Linux で動作している python の資産を
>ハードが安価なARM系のハードで動作させるのが目的なんです。
そういうことなら、選択肢はないと思うぞ。
まず試してみて、遅かったら遅いところをCに移植するとか工夫するしかないでしょ。
みずから医学部や看護学部に (親に行かされるのでなく) 志願して 行くような人は、その学問の「社会性」というものをすこしは認識 していそうである。しかし工学部へ、とくに情報系の分野へ行く連中 はどうなのか。ただひたすら「オモチャをいじっているのが楽しい」だけ の人が多いんじゃないか? アホな連中が、やれ facebook だ twitter だ cloud だ、と騒ぐのを
ひょうたんから駒とも申しますし 古くはゲームの移植からOSやらプログラミング言語が生まれる世界ですから まあ次からはスレタイ読んでね
コピペに反応すんなや
スマートフォンを買う人間の気が知れん。
他人の買い物になんだかんだと言うやつの気が知れん。
Pythonは社会的な言語だぉ♪
他人の考えにとやかく言うやつの気がしれん
(お約束だが) オマエモナ〜
IT土方定年終わったから まさに工学部の情報系の受験してるんだけど なんか問題あるの・・
定年いくつだよ
俺の職場は38
受験は通信制とか?
おそらくアグネス大学だろう
留学した友達が、向こうは定年までプログラマできるって言ってた。 元技術職の人間に管理職やらせる日本はクソで非効率なうんこ。
潰し目的で管理職させるんじゃないの
中小は管理職やってる奴らに面接されるから悪循環
エスイーとかエスアイとかいう謎の和製英語作った奴死ねよ。
ごめん、俺だわ。まさかこんなに広まるとは思わなかったが
このスレの住民は笑いのセンスが高いと思う
GTKはクソ
これはひどい
>>586 今更だが、Linux OS + Dalvik VM + Python実装 のサンドイッチ状のオーバーヘッドがバカっぽいのでやめれ
とりあえずターゲット機でビルドして要らぬところを削ってくのが定石やね
>>611 os.system("rm -rf /") とかしてそうで怖い。
不合格
>611 要努力
ソースコードがutf-8で、readmeがcp932なあたりで泣いた
いきなりZIPに直リンとか 親の顔をみてみたい
再提出レベルだろ
抽象化がいまいち過ぎる
GTKはクソ
pass
モデルビューのほうが好き。 コントローラは要らない子。
Qtはゴミ
中小暮らすが無いね
インターフェースが糞実装
質問ってのは自分で調べても分からないことを聞くのが常識だと思うんだけど、 世の中そういう常識が通じない奴が増えてるんだろうね。 そういう奴は、ただ自分の時間を節約する(本当に節約になるかどうかは疑問だが) ために他人を利用することを何とも思わないんだろう。
聞きたい人がいて 答えたい人がいて その為の場所がある この簡単な仕組みが 理解できないんだろ 学習能力 or 意欲のないやつに無理に教えることはないよな
All your base is belong to us.
コントローラって何のためにあるんだ。
>>630 All your base are belong to us. だろうが
このド素人が!
All your basis are belong to us.
おもいコントローラしれんのみちを
それがそんなに重要なのかね?
何かものすごい知ったかぶりを見た気がする
そんなことより磯野〜野球やろうぜ
メタプログラミングは 魔術みたいなもので、 ビックリすることが できるようになる。 ----Matz
馬鹿には無理
EADMはQtだよなマジで糞
変な文化だよな。常にself付けておけば間違いも無くなるのに。
メタプログラミングのやりすぎには注意しましょう。
Qtは糞
単一電池
2chに名前を出して書いているってことは構ってくれって言っているものだから、 構って当たり前
647 :
デフォルトの名無しさん :2011/02/06(日) 21:47:23
rubyの人はすぐ言語戦争に話を持って行きたがる 建設的な話できない
答えたい人がいなくなったオカン
Webアプリケーションはデプロイが簡単ってだけで あとはクソみたいな側面しかない。 AJAX(笑) HTML5(笑)
なんのスレだよ。 みんなキーワードだけ拾って、適当なこと言ってるだけやないけ。 分裂しすぎや。統合失調症なのではないか。
651 :
デフォルトの名無しさん :2011/02/06(日) 21:53:25
(.+)+ これってどういう意味を表している? (任意の文字の1文字以上の繰り返し)の繰り返しなので すももももももももものうち の場合 (す)(ももももももももも)(の)(う)(ち) とヒットするに違いない >>> import re >>> r = re.compile(r'(.+)+') >>> m = r.match(u'すももももももももものうち') >>> print repr(m.group()).decode('unicode-escape') u'すももももももももものうち' >>> print repr(m.group(0)).decode('unicode-escape') u'すももももももももものうち' >>> print repr(m.group(1)).decode('unicode-escape') u'すももももももももものうち' >>> print repr(m.group(2)).decode('unicode-escape') Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: no such group
>>651 そんな意味にはならんよ。
1文字以上の文字列すべてにマッチする。
654 :
デフォルトの名無しさん :2011/02/06(日) 22:12:42
>>> import re >>> def p(r, u): ... print repr([c for c in re.search(r, u).group()]).decode('unicode-escape') ... >>> u=u'すももももももももものうち' >>> p(r'(.+)+', u) [u'す', u'も', u'も', u'も', u'も', u'も', u'も', u'も', u'も', u'も', u'の', u'う', u'ち'] >>> p(r'(.){1,1}', u) [u'す'] >>> p(r'(.){1,3}', u) [u'す', u'も', u'も'] >>> p(r'(.){2,3}', u) [u'す', u'も', u'も'] >>> p(r'(.)\1', u) [u'も', u'も'] >>> p(r'(.)\1\1', u) [u'も', u'も', u'も'] >>> p(r'(.)\1{1,1}', u) [u'も', u'も'] >>> p(r'(.)\1{2,6}', u) [u'も', u'も', u'も', u'も', u'も', u'も', u'も'] >>> p(r'(.)\1{2,8}', u) [u'も', u'も', u'も', u'も', u'も', u'も', u'も', u'も', u'も'] >>> p(r'(.)\1{2,9}', u) [u'も', u'も', u'も', u'も', u'も', u'も', u'も', u'も', u'も'] >>> p(r'(.)\1{2,100}', u) [u'も', u'も', u'も', u'も', u'も', u'も', u'も', u'も', u'も']
正規表現ではムリ。 >>> import itertools >>> s="すもももももももものうち" >>> list(list(e[1]) for e in itertools.groupby(s)) [['す'], ['も', 'も', 'も', 'も', 'も', 'も', 'も', 'も'], ['の'], ['う'], ['ち']]
>>> r = re.compile(r'(.)\1*') >>> m = r.finditer(u'すももももももももものうち') >>> for i in m: ... print i.group(0) ... す ももももももももも の う ち >>>
>>650 おもしろい思想だな、1スレ=1人格という考え方か?
1スレが多人数で投稿しているのだから分散して当たり前だと思うんだが
そういう発想ができることに素直に感心したわ
658 :
デフォルトの名無しさん :2011/02/06(日) 22:23:37
>>> print repr([c.group() for c in re.finditer(r'(.)\1*', u'すももももももももものうち')]).decode('unicode-escape') [u'す', u'ももももももももも', u'の', u'う', u'ち']
相変わらずココはラベルが低いな
漏れの書いたコードはラベル高すぎて誰にも理解されない
ラベルの正しい発音はレーベル
なにこのひとこわい……
なんでラベルって言うんだ。ドイツ語由来とかかな。
明治の人はローマ字読みで適当に音を当てていたから。
(water)
ここの人はグリーンオニオンを玉ねぎとか言いそうで怖い
2.5以降なら確実にSQLiteは使えると考えていいんですか?
SQLiteがインストールされていないとつかえますん
使えるだろ
Linuxならパッケージマネージャが勝手にインストールするし、 Windows用のバイナリにもバンドルされてるよ。
675 :
671 :2011/02/07(月) 01:39:45
すみません。質問し直します。 Pythonでプログラムの制作をかんがえているのですが、データの保存にSQLiteを使うかどうか悩んでおります。 SQLiteはPython2.5で標準モジュールになったとのことですが、標準モジュールということはPython2.5が インストールされている環境(レンタルサーバ等)では確実に使えるのでしょうか? 広い環境で使えるプログラムの制作をしたいと思っているので、 環境に依存するようであれば他の方法も考えようかと思っております。
>>675 というか、もう3.1や2.7が出てる状況で2.5未満てどこのロートル環境よ。
別にそれで問題ないんじゃないの。
ただしPythonはデータの永続化のやり方が何通りもあるから、
SQLiteだけが唯一の解ではないけどね。
>>675 2.5以上なら普通は使えるはず。
試しにさくらのサーバで調べたらsqlite3モジュール使えたよ。
>>675 >SQLiteはPython2.5で標準モジュールになったとのことですが、標準モジュールということはPython2.5が
>インストールされている環境(レンタルサーバ等)では確実に使えるのでしょうか?
基本的には yes
Python が SQLite3 を内蔵している
っていうか FireBird とかと違ってただのファイルアクセスだから
鯖自身に SQLite がインストールされていなくても問題ない
681 :
671 :2011/02/07(月) 02:09:32
>>677 2.5未満のところはわからないですが、GAEやさくらインターネットが2.5を使っているので
2.5以降でかんがえようかと思い、SQLiteを候補にしました。
他にデータの永続化にはどのようなものがあるでしょうか?
どれくらいの規模のデータになるかはユーザ次第なのですが、データの参照は検索が多くなるため
SQLiteを考えたのですが、ほかにいいものがあればお教え頂ければと思います。
>>680 ありがとうございます。
サーバのSQLiteを利用しているのではなくて、Pythonに組み込まれているのですね。
調べていたのですがそういった情報がなくわかっていませんでした。
GAEはSQLite使わない BigTable
>>677 >というか、もう3.1や2.7が出てる状況で2.5未満てどこのロートル環境よ。
この世間知らずめが。
CentOS5が2.4使っているせいで、世のレンタルサーバは2.4が標準なんだよ。
さくらはFreeBSD使っているからバージョンが新しいけど、
xreaなんて2.3だぜ、いい加減アップデートしろっての。
BigTableってオープンソースじゃないの?
>683 書こうと思ったら先に書かれていたでござるの巻
権限もない人様のサーバーにインスコするとか
>>686 は相当な腕前を持ったハッカーと見受けられる
>>687 通常のユーザー権でもHOMEディレクトリ以下にインストールするのは普通にできる。
ただ、sshすらできない場合や、各種 -devel パッケージがインストールされてないと
結構面倒。
>>683 スマンな。
ウチはGentoo Linux使ってるから、Pythonのバージョンは自由に決められるんだ。
# ただしGentoo/portageシステムの根幹に関わってるのでそう簡単には変えられないが
>>688 すげえなぁ。
相当なスーパーハッカーですね。
お金払うんでインストールしてもらえませんか?
コマンドラインからpythonを動かしてるけどPHPより遅いものなの?
サーバサイドではPHPに負けるかもね ただPHPは小規模でしか使えないでしょ
ん? 俺さくらのレンタルサーバ使ってるが、Python2.6入ってるぞ。
PixivもmixiもWikipediaもPHPだけどね。 PHPが速いのはPHP自体が速いのではなく、 Webサーバーの中にモジュールとして 一体化してるからスクリプトの起動が早いだけ。 サーバーサイドのPythonはRubyと似た感があるけど、実際のところどうなのかな。 サーバーサイドRubyなぞオレに取っては悪夢以外の何者でもないが、 PythonだとPypyやJythonやらあるし……。
李白乙
CGIとして動かすならPHPのが圧倒的だろうな ダンジョーかGAE
697 :
693 :2011/02/07(月) 12:35:18
あと、/home/<ユーザー名> 下になら色々とインストールできると思うんだが
>>697 すごいね
口だけでならなんとも言えるからね
lolipopにPython3を入れてくれないか
いやコードをDOSから呼び出してちょっとしたマクロ用に使ってるからモジュールもCGIも関係ない話だけど pythonで書いたコードは起動の時点で遅いの
DOS(笑 遅いなら使うのやめなよ
DOSでPythonが動くとは初耳だな Windows9xに2系を移植したのか? まだ1系使ってるの?
タプル内に数値とunicode文字列の要素が混在しているのですが、 これを"UTF-8"なリストにしたいと考えております。 現在はループでタプル内のデータを全てunicode()し、それをもう一度.encode( )しているのですが、 なにか効率的な方法や一括で行う方法はありませんか?
[((type(x) is unicode and x) or unicode(x)).encode('utf-8') for x in t] キモス foo if cond else barが使えれば、unicode().encode()したくないということか
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 を使うこと。
なんでbytesする必要があるんだ?
>>701 こんなスレに居てコマンドラインから呼び出し方も知らないのかI?
[{'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'えお', 'かき')]
>>706 コマンドラインとはコマンドプロンプトのことを言ってるのか?
このスレにいてコマンドプロンプトがDOSと勘違いしてるの?
そんな古臭い16bit時代の用語でもめんなよ
煽り合いはよせ。 ここはPythonのお勉強スレなんだから。
711 :
693 :2011/02/07(月) 16:17:48
>>698 ロリポは持ってるけどちかっぱプランに入ってないから勘弁してくれ。
さくらはやってみたらPython3.0入った。
>>705 >>702 で、 「タプル内に数値とunicode文字列の要素が混在している」と
書かれているので、数値をUTF-8化するのに bytes を使っている。
厳密に言えばASCII化しているが、ASCII⊂UTF-8なので。
>>693 >>698 なんでこいつこんなに否定的なの?
ビルド時に--prefix=$HOME/local とかするだけじゃん。
715 :
693 :2011/02/07(月) 18:17:59
あ、すごくどうでもいいことだけどPython2.6入ってるってのはデフォで入ってたって意味で、 別に自分で2.6入れたわけじゃないから。 3.0は今さっき入れたけど
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はできるのですが、できないメソッド?があります これはどうすれば解決できますか?
717 :
716 :2011/02/07(月) 20:20:42
activepythonを使っている理由はなぜか公式が鯖落ちしててつながらないからです
>>716 少なくとも今は公式繋がるな。
繋がらないと鯖落ちは=じゃないから一応注意。
で、turtleは、Python2.6で大幅に拡張された。
多分 undo なんてメソッドは Python 2.5 にはないんだろう。
>>718 >少なくとも今は公式繋がるな。
>繋がらないと鯖落ちは=じゃないから一応注意。
これはどういうことでしょうか?
むむ。2.6いれてやってみることにします
とりあえず練習なので必要なときには2.5に戻す・・・でいいのかな
>>719 複数バージョン同時インストールして使い分けできるよ。
c:\Python26\python と c:\Python25\python で。
GAE SDKは2.6でも動いたはず
>>689 はマイナーなGentooを使っているがためにCentOSの状況を知らなかったという悲しい子。
>>686 はレンタルサーバでも自前コンパイルができるのがあたりまえと思っている世間知らずな悲しい子。
>>693 は683がせっかく「さくらは〜」と書いてあるのに日本語が読めない悲しい子。
みんな世間が悪いんや
>>720 おお!ありがとうございます
それでやってみます
>>721 え、そうなんですか?じゃあ2.6に統一してしまったほうがいいのかな
>>721 GAE SDKで動いてもGAEのバージョンが2.5なら意味ないだろ
Python2.4ってちょっと古い?
>>727 python-2.4.1が出たのが2005-03-30だから
猛烈に古いな。
ソフトウェアの世界で言えばだが。
>>728 Linuxで標準で入ってたから使おうかと思ったけど2.7にするか。
どうもありがとう。
いつのlinuxだよ
>>722 うちはさくらのVPSだけど
ソースから2.5入れて使ってる
VPSに入るのはあたりまえだろ。 レンタルスペースってのが何か考えてみろ。
>>733 コンパイルしたバイナリーもっていくだけだろう
アホかお前は
>>735 え、ローカルでコンパイルしたバイナリがどのレンタルサーバでも動くと思ってるの?
じゃあ
ロリポップ
ライブドア
チカッパ
ドメインキング
サーバクィーン
ロケットサーバ
あたりでうごく、Python2.6か2.7のバイナリを用意してもらえますか?
ちなみに自分には無理なので、735さんひとつお願いしますよ。
過疎板で煽り合いして楽しいか?
本人たちは楽しそうだな
739 :
デフォルトの名無しさん :2011/02/08(火) 09:47:26
configureオプションくれ
>>735 >コンパイルしたバイナリーもっていくだけだろう
>アホかお前は
相手をアホよばわりするくらいだから、レンタルサーバで動くようなバイナリを
コンパイルすることは、735にとっては朝飯前なんだろう。
世の中はまだWindowsしか持ってないという人は多いし、自前でコンパイルできる
だけの環境を整えることができる人は少ないから、そういう人達にとっては、
レンタルサーバで動作する新しめのPythonバイナリを用意してもらえるとすごく助かる。
つまりだ、735は今から英雄になるのでよろしく。みんなもリクエストだすといいよ。
無能君が必死だなwwwwwwwwwwwwwwwwwwwwwwwwwww
Unix系の環境ではソースからビルドが当たり前だったのは過去の話なんだなあ
高尚な文化を維持するために馬鹿を排除するのは正しい対応だ
そういうスレでやれ
せっかくconfigureなんてバカチョン機構用意されんのに それを使いこなせないことを自慢してるのに驚いた ただのユーザならそれでいいが、プログラマなら確かに馬鹿にされても仕方ないな
初心者ですけどpython3.1入れてます まずいですか?
get a yum!
というか、VMwareでウェブサーバーで使われてる環境を再現して、 その中でビルドしてtarballにして展開するだけだろ。 別に難しくないよ。 環境ったって同じディストリで、 ディストリのバージョンを合わせるだけで十分のはず。 つまらないことで煽り合いイクない。 みんなもっとPythonについて語ろうぜ。
えっ
751 :
750 :2011/02/08(火) 12:08:50
すいませんスレ間違えました
レンタルサーバと同じ環境でビルドしてホームに置いても動かんだろw 動いたとしたらそれはレンタルサーバの脆弱性。 好き勝手やらせないための制限だろ。
そんなことより$HOMEに置いたものを呼び出したとしても、サーバによって実行権限が違うんだぞ? 制限と言えば、レンタルサーバによっては呼び出せるコマンド(参照できるファイル)すら完全に制限されてるし。 サーバとどうやって連携するつもりなんだ?依存ファイルごとフルで環境入れるのか?libcから? とりあえず動いてるものを見せてくれよ。 ロリポップならお試しで10日間無料で使えるから。
もう少し勉強してこいよ それにいい機会だから恥ずかしいレスする前に自分でやってみてはどうだろうか
>>755 ということは動くこと確認して言ってるんだよね?
そのURIを教えてくれるだけでいいんだから、教えてくれない?
>>756 何で自分で試そうとしないの?たいした手間じゃないでしょう
試したから言ってるんですが?
試そうにもあまりも無知でできないんだろうw
全員本格的なバカか自演なのか? どこで、とか、どうやって、とかがなければ可能とも不可能とも言えないだろう
ろりぽっぷにpython2.6いれたよ ぜんぜんうごくよ
はい、お馬鹿さんひとり。どうやってが抜けましたね。
え?おしえてあげたら俺にいくらくれるの?
別にただじゃ書けないなら書かんでもいいよ ただ他人が確認できない様なことこんなとこに書いたって意味ないでしょ ただの妄言なら自分の日記にでも書いてろって話
馬鹿の癖に偉そうだなw
別に誰もが思ってることを書いただけだよ プログラミングなんてこの板ではみんなできるんだよ 設置なんかに他人の助言なんて不要 ただ事実だけなら他人の無駄な作業を減らせるから書いておいても意味はある 実際やってみないと分からないこととか信ぴょう性の低い書き込みとかは無駄
馬鹿には無理
どんなバカには何が無理なんだよ。お前ほんとにバカだな。 相手すんのも馬鹿らしくなってきた。
>>766 お目出たい発想だな
自分のケツぐらい自分で拭けよ
>実際やってみないと分からないこととか そう思っているのはたぶんお前だけだってw レスするなら「僕はおつむが弱くてよくわからないから教えて下さい」だろう?
本当に試したのか?具体的な環境と手順をあげてみろよ それで出来なかったのなら*お前*には無理だったんだろう
誰だか分かんないな 自演してそうだし この話に加わるものはIP出してね 自演してる人は出せないよね
IPだせるの?fusianasan?
fusianasanって書くか山崎渉
どうでもいい。 pythonの話をしようぜ。
この流れの続きをしたい人はIP表示して続きをしてくださいね この流れと関係ない話題は普通にやってください
Pythonのソース中に含まれるdocstringを抜き出して HTMLで出力してくれるシンプルなツールを教えてたも $ pdoc2html -r *.py hoge.html みたいな感じで使えるのがいい すひんくすとか大掛かりなのはやめてね
>>779 $ pydoc -w string
で、 string.html に string モジュールのドキュメントが書かれる。
ブラウザで見るのが目的なら、ファイルに落とさなくても、
$ pydoc -p 8000
して、
http://localhost:8000/ を見たらいい。
ほんとはできないのに、「できる」とかっこつけちゃった手前、ひっこみが つかなくなってしまった。 「具体的な手順を」をいわれたけど、自分で試したわけでもないし、なにより ほんとにやってみてできないことがわかってしまったら、自分が間違っている ことが判明してしまうから、こわくてできない。 とりあえず、「自分で試せよ、簡単なんだからそのくらいできるだろ」と 言い続けることで、ごまかすことにしておく。 ほんとはできると思うんだけど、万が一うまくいかなくて、自分のほうが間違い だったことになるのだけはどうしても避けたい。そのためには、なるべく相手に やらせるようにして、絶対に自分ではやらないこと。そうすれば、自分が正しい ことの証明はできなくても、間違っていることも証明されないし、なにより 相手がやってみてできなかったらそれは相手を馬鹿にできる材料になるし。 そんなわけで、きょうも自分では手を動かさず、煽るだけにするよ。 だいたい自分で手を動かすような性格だったら、自宅警備なんてしてないよ。 わかってくれよそのくらい。
xreaの無料コースでpython2.5をコンパイルしてみた 無料コースだとプロセス30秒制限とHDD50MB制限があるので コンパイル途中でshellが固まって完了しない とりあえず一週間のお試しコースがあったので申し込んで コンパイルしたらちゃんと最後まで完了してインストール成功 一週間後は契約せず無料コースにもどったけど pythonスクリプト自体はちゃんと動いてくれた ただし50MB制限quotaで何かのファイルがいくつか失われたらしく import出来ないライブラリとかが出現したのは内緒
ケチ過ぎるだろ
782の香ばしい話しはこれくらい? ちょっと気を付けて作ったバイナリくらいどこへでも普通にもっていくのにね。
>>782 どんだけ君は無能なんだ
Pythonが馬鹿専用言語とおもわれるからもう来ないでくれるかな
pass
そもそもレンタルサーバ()笑いだろ
それはちょっと笑いのツボがずれてる
自鯖でPythonが今は旬
793 :
デフォルトの名無しさん :2011/02/09(水) 09:17:32
下手な煉鯖借りるより VPS の方が安い時代だからな
レンタルサーバとVPSは用途が違うと思うのだが、 レンタルサーバは管理を業者に完全に頼めるのが利点でしょ。 そこに勝手なバイナリ入れられたりするのは業者の完全なミス。
その理論だとほとんど全ての業者はミスしてる事になるな
その業者をリストアップしてくれないか? 10個くらいでいいから。
お前らレンタルサーバスレへ行けよ。 ここはPythonスレだから。
Pythonに付属のサーバーがあるのを知らないのか
んで、ここまででレンタルサーバにインストールできた人はいないのね。
>>801 CGIが使えるサーバならほぼ何処でもインストールできるぜ。
むしろその程度も出来ないのなら技術者としては終わっている。
チャレンジしてできないと言っている人は、できない証拠を示すことができないが、 チャレンジして出来ると言っている人は、できた成果物の証拠を示すことが出来る。 なのになぜその証拠を示さないのか。
Python使えるレンタル鯖少ないな
>>803 要するに自分じゃビルドできないからクレクレという訳か
uwscみたいにマウスを動かして左クリックをさせる動作ってpythonで出来ますか? python マウス 自動化で検索してもそれらしいのが出てこないので不可能な気がしてきます
813 :
デフォルトの名無しさん :2011/02/10(木) 11:03:38
どなたかたすけてください python3.1.3です ↓はbox.pyって名前でファイルに保存しました import ctypes user32 = ctypes.CDLL('user32.dll') user32.MessageBoxW(0, 'abc', 'dd',0,0) DOS画面からpython box.pyでを実行するとメッセージボックスが出るんですが↓のエラーが出ました Traceback (most recent call last): File "mouse.py", line 3, in <module> user32.MessageBoxW(0, 'abc', 'dd',0,0) ValueError: Procedure called with not enough arguments (16 bytes missing) or wro ng calling convention どうしたらエラーが消せるのでしょうか?
>user32 = ctypes.CDLL('user32.dll') ちがくね?
すいません import ctypes ctypes.windll.user32.MessageBoxA(0, 'Hello, World!', 'Message', 0) で動きました
>>813 つ ctypes.WinDLL('user32.dll').MessageBoxW(0, u'abc', u'dd', 0)
>>815 ctypes.windll.user32.MessageBoxW(0, u'abc', u'dd', 0)
__stdcall と __cdecl の違いだね
>>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が無いと言われてしまいました
どなたかお力を貸してください
cygwinだとwindllとかないが cdllでWin32APIもいけるっぽいんだよな なんでなんだろう
こんなクズどもの質問には答えて俺の質問には答えないのですね 早くレンタルサーバにインストールしてみろって
>>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)
そこに山があるから
>>825 車の再発明じゃね?
まあ、なんでも、いいですけれど。
>>822 ありがとうございます
こちらも見てみます
>>812 すみませんでしたレスを読みもれてしまってました
ありがとうございます
>>823 ありがとうございます
ダウンロードしてみたのですが、pymouseをどこにインストールしたら良いのか使い方が(汗)
>>821 だからIP書けって。興味ないんだよ。そんな話。
staticリンクは共有ライブラリやDLLが必要ないってことくらいみんな知ってるんだよ。
前提知識としてOSがどう動くかとか知ってるから。本当にうざい。
>>826 車輪だろ...
.>828 うるせえよwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww 簡単な質問にはほいほい群がってきて俺の質問には答えられねえってか?wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww 素直に負けを認めればいいんだよばか
>>829 すまない、実は知ったかしてた
俺の負けだ
>>827 python setup.py
を実行するのが一番の基本。
だがWindowsだと色々とエコシステムが不足してるので
easy_installを使うと簡単。
ちなみにPyMouseのWindows実装はpyhookも足りないのでそれも必要になる。
そのときにswig.exeが必要になるのでそれも入れる。
>>829 マジでconfigure実行してmakeとタイプするだけで
Pythonインタプリタ作れるんだが?
ごちゃごちゃ言ってないで試せよ。
833 :
828 :2011/02/10(木) 11:52:47
どうでもいいこと延々やってるからお引き取りしてもらおうとしたんだろ
元々pythonのバージョンの話なんだし、 どんどん書き込んで勢い1位にしろ お、python人気じゃん→やってみるか→発展 計画通り(ニヤリ
荒れてる or 基地外のいる一位は逆効果
>>832 ローカルにインストールするならそれでいいけど、共有サーバだから困ってるって話だろ。
sshできるわけでもないし、makeしたら時間がかかってプロセス殺されるし。
ローカルでコンパイルするにしても、サーバと同じ環境を用意できるわけでもない。
おれは、sshできないなら共有サーバでコンパイルするのは難しいと思うけど、
簡単って主張しているやつは本気なのかな。
./configure --prefix=/home/username/local としただけで、それはその
ユーザのホームディレクトリでしか動かないから、バイナリの配布しても
意味ないはずだし。
>>831 ありがとうございます
どうやらぼくの力は限界を超えてます
今回は諦めたいと思います
回答くださった方々、ありがとうございます
>>837 IP表示しろ。もうこのスレこいつの隔離スレでいいよ。
>>837 いや、だから、
サーバーの環境と合わせるったって
普通はLinuxのディストリとそのバージョンを
合わせるだけで十分じゃんって前書いたし。
SSH使えるならサーバー内でビルドすればいいし、
できないようならミラー環境作ってそこでビルドしたものを転送かければいい。
というか、レンタルサーバーを真面目に運用するなら
ミラー環境くらい作っておくべき。
今回のような話がなかったとしてもだ。
>>823 俺の環境だとPython3.xではPyMouseを修正しないと動きそうも無いんだが
動作環境はバージョンいくつ?
>>837 VPS鯖の方が共有鯖より安くて高性能な時代に何言ってんだお前
延々自演が続くスレになりました。ありがとうございました。
>>838 いやいや、そこで諦めるのは実にもったいないよ。
PythonはPerl、Rubyと同じように、
ライブラリを使いこなしてなんぼのもの。
インタプリタ単体だったら実力の半分も発揮できてない。
WindowsなんだったらActivePythonをインストールするれば、
easy_install.exeは最初から入ってるはずだよ。
だから今回の場合の話なら
easy_install pymouse
easy_install pyhook
をコマンドライン上で実行するだけ。
pyhookのインストールにswigが必要なことは前回書いたけど。
>>843 Python 2.6.6だった。
Python3系はまだまだライブラリが無くて当たり前の状態なので、
動かなくったっていちいち文句言わないほうがいいよ。
それに、どうせ言うなら作者に直接言ったらどうだい。
>>842 easy_installが最初からそれ(exe版のPythonライブラリインストーラー)を拾ってくれたら
世話ないんだがなー。
もうオレはソースビルドで入れてしまったから役に立たないけど、
PyMouseを使いたいほかのやつは参考になるだろう。
849 :
843 :2011/02/10(木) 12:17:42
横から首を突っ込んで申し訳ないが Python3.1使ってる場合はpyhookは使えないって認識でおk?
>>841 だから、サーバと同じ環境を用意するのが難しいってことでしょ。
君には簡単なのかもしれないけど。
> というか、レンタルサーバーを真面目に運用するなら
> ミラー環境くらい作っておくべき。
そんなことを真面目にするユーザが共有サーバなんか使うわけないじゃん。
だれもが君みたいなオタクじゃないんだよ。
たとえば君の知り合いの女の子がパイソンでサイトを作りたいと言い出したとき、
サーバのLinuxのバージョンを調べてそれとまったく同じ環境をローカルに作れと
言うのか?
言いそうだなあ。オタクなら。ここぞとばかりに自分の知識をしゃべりそう。
>>844 VPSは月額1000円だけど、共有サーバなら年で1000円だよ。
はあ?w VPSはサーバ管理は契約者が行うだろ?w 共有サーバは運営が管理するだろ? 安いのはそこだろ?どあほがwwwwwwwwwwwwwwwwwwwwww
>>850 自分オリジナルの
Pythonインタプリタを共有サーバーに
入れて動かそうという手法自体が、
既に十分にオタク的発想だと思うがな。
論理的でない反論はやるほうが恥ずかしいもんだぜ。
Pythonの話をしようぜ。共有サーバーの話したいならそういうスレへ行け。
>言いそうだなあ。オタクなら。ここぞとばかりに自分の知識をしゃべりそう。 当然
まあgeekってオタクって訳されたりするしカッコイイよ とにかくレンタルサーバーのどうでもいい話をするお馬鹿さんたちはIP付けてね
geekよりもnerdだろ語感的に
2chって規制で人減り過ぎて自滅への道を歩んでるよね あと自演厨ばかりになってホントつまらん
ゆとりは本当に屑しかいないのう 自分ができない事は他人も絶対できないと思ってるんだろうな
差別主義者は議論力が著しく低いから 人格攻撃しかできないんだな
名前解決について教えてください >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を使っています
変数aが関数より先に定義されてるから、関数内部で定義することはできない 関数の外で定義されたaをグローバル変数とか言う 後は詳しい人たのんます↓
下記のコード動いて、表示結果は10になります >a = 1 >def f(): > a = 10 > print a >f()
>>864 いやいやいやいや。違うから。
嘘教えちゃいかんよ。
a = 1のaと
a = 10のaが違う変数だから。
で、print aがa=10より前の行にあるから、
代入されるより先に参照されてるとエラーが出てる。
で、a=10が無いときにprint aが正常に動くのは、
外のスコープのaがf()内で束縛されるから。
aのメソッドを呼んだり属性を変更したりはできるけど、
代入で入れ替えたりはそのままじゃできないんじゃないかな。
__module__ とか使わないと。
関数定義内での代入の有無によって、 ローカル変数はあらかじめ束縛されることになるんでしょうか Pythonで、ローカル変数が束縛される条件は何ですか
>>868 むしろ、ローカルな関数内で外の変数を
直接代入するコードとか書くほうがおかしいから。
>>867 ありがとうございます。
試したところ、代入以外の次のコードでも同様のエラーとなるようです
>a = 1
>def f():
> print a
> def a(): pass
>f()
>>869 コーディングスタイルとしてのご指摘はごもっともですが、
単に言語上の規格について知りたいと思っています
a = 1 def f(): a = 10 f() print a これではっきりするだろ
import dis dis.dis(f) してみると、もっとよく分かるかも。
>>> 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
>>> 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 つまりどういうことです?
>>782 >「具体的な手順を」をいわれたけど、自分で試したわけでもないし、なにより
>ほんとにやってみてできないことがわかってしまったら、自分が間違っている
>ことが判明してしまうから、こわくてできない。
ワラタ
HIKIKOMORIオタクの気持ちってこういうことなのね。
あれだけ「簡単にできる」といいながら誰も手順を示さないのはなんでだろうとおもってたけど、
あれか、示さないのじゃなくて示せないのか。
でもこれ、おっさんのほうにも多くない?うちの上司もこんなのなんだけど。
「絶対にできるはずだ!」「どうやってやるんですか?」「そんなことは自分で考えろ!」
毎日がこんな調子。なんでこんなにバカなんだろうと思ってたけど、
>>782 見てなんか悟った。
>>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はグローバルじゃなくてローカルなスコープとして扱われるってことでいいのかな。
>>782 は2ちゃんねるのテンプレとして残しておくべき名作
>>878 >でもこれ、おっさんのほうにも多くない?うちの上司もこんなのなんだけど。
>「絶対にできるはずだ!」「どうやってやるんですか?」「そんなことは自分で考えろ!」
>毎日がこんな調子。なんでこんなにバカなんだろうと思ってたけど、
>>782 見てなんか悟った。
どうみてもおまえがばかです。ほんとうにありがとうございました。
煽っても何も出る訳ないのにな
Pythonのバイトコードってなんかしょぼい。
今からPython勉強しようと思うけど、まだ2.nのほうがよいのかな? そろそろ3でも不自由しない? できるなら3を勉強したいんだけど。
>>888 2.6または2.7をPython3の文法で使うのが一番いいと思う
python本家って落ちてる?
落ちてない。 下載も相変わらずだ。
できるだけwith文を使うとか、そういうことでしょ。
バイト文字列を扱うときは必ず b"foobar" と書いて、 そうじゃないときは必ず u"ほげほげ" と書くとか、 バイト文字列にスライスじゃないインデックスアクセスをしたときの 動作が異なるから、バイト文字列にインデックスアクセスするなら arrayかbytearrayを使うとかetcetc... とにかく、2to3 が変換をミスるパターンを避ける。
__future__の出番のようだな
__future__は使うべきでない
>>896 新規に書くスクリプトじゃ使いまくってるけど、ダメなの?
もうそろそろ、CentOS用のrpmを作らないプロジェクトではPython 2.4を 切り捨てられるようになってきたから、from __future__ import with_statement 使いまくれるね。 unicode_literal は 2.5 まで切り捨てるから、debian lenny まで切り捨て対象に なってしまう。2.5切りが本格的にできるのは来年からかな。 なので、 b"foo" と u"ほげ" を使い分けることで 2to3 対応したいなら、 来年まで Python3 には手を出さないほうが良い。
去年も来年まで〜だったよなw
10年後の世界を見てきたけど、Python2が全盛だった。
明日3.2がくるぞー 3.2までくれば、3も普及するはず
パイパン
>>904 いや、それがdict (辞書型)の仕様だから。
何でもかんでもバグにすんな。初心者にありがち。
>>905 すみませんが、仕様はどちらにありますか
>>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は丁寧に作られてるからたまたま書いてあったけど、
言語処理系なんて「実装が仕様」なんてことはままあるからね。
俺は仕様じゃなくて実装依存だと思っていたが仕様だったのけ?
>>907 調べていただいてありがとうございます
ですが、それはitemsメソッドの仕様であって、
{}表現の評価順序の仕様とは異なります
というか
>>904 は辞書のキーと値に副作用を伴う式を指定した場合に
どういう順番で評価されるかって話であって
>>907 はitems()がどういうリストを返すかという話とは関係ないと思う
リファレンスの記述ミスっぽい気もするがどうなんだろう
912 :
911 :2011/02/13(日) 05:32:01
ああそうね重複したうえに副作用云々はいらなかったね くすん
>>910 「{}表現」というのはdict型の組み込みコンストラクタなわけ。
で、それの仕様は別のところに書いてあるよ。
書いた順に登録されていって、keyが重複していても問題ない、だったかな。
で、そうやって初期化した後で、取り出さないといけないでしょ。
取り出す段階で、keyの順序は保証されないと907で言ってるわけ。
>書いた順に登録されていって、keyが重複していても問題ない
keyの登録順や、取り出す段階についてではなく、
{key:value, ...}と書いたときに、keyとvalueのどちらが先に評価(計算)されるかが、
>>904 のリファレンスに書いてあることです
それが、実際に動かした結果と異なっているようだったので質問させていただきました
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.
キーとデータのペア単位で左から右に評価されるということかなあ
なので、あるペアを注目した際にキーよりデータが先に評価されることもありうると
Pythonのコーディング規約PEP8に気に入らない所があるんだけど、 やっぱりこれって従わないと駄目かなあ?Pythonの文化的に。 皆さんはPEP8通りにコーディングしていますか?
>>916 ああ、すまん。全然読み誤っていた。
できあがったdictの内部の話をしてるんじゃなくて、
{}表現によるdictコンストラクタの評価順序の話をしてたのね。
仕様ドキュメント読んでソースコード読め、で終わりそうだな。
Pythonプログラマとしてヒトコト言わせてもらえば、
そんな重箱の隅をつつくような細かい仕様に依存したコードは書くべきではないし、
ひいては考慮してはダメ。
なぜならそんな細かい仕様をプログラマ誰でも理解してるわけではないし、
プログラムはなるべく平易に書くというPythonのポリシーにも反する。
920 :
917 :2011/02/13(日) 06:57:28
色々あるけど、一番はimportの所。 > モジュールは以下に示すような順番でまとめておく。 > 1. 標準ライブラリの import > 2. 関連するサードパーティの import > 3. アプリケーションやライブラリ独自の import これ反対の方がいいんじゃないかと。何故かというと、importリストは モジュール間の依存関係を表していて、importリストを見れば、大体そのモジュール が何をしたいのかがわかる。で、上の1~3の中で一番欲しい情報は3で1が一番要らない。 import sysとかimport loggingとかが一番上に書いてあっても、大した情報にならないが 一番上にimport pygameとかimport test.unitsとか(これらは2だけど)書いてあれば あ、ゲームね、とかテストね、とか一瞬でわかる。 これって俺が特殊な訳じゃなくて、他の言語なら大体こっちの順番だと思うんだよね。 規約にはいちいち書いてないけど。 あと2001年に作られた規約に従うってのもなーみたいな所も。 まあ、これらは趣味な問題かもしれないからどうでも良くて、みんながPEP8に従ってコード を書くか否かが知りたい。
>>920 一般的なライブラリ読み込みの宣言から順番に書くのが、
Pythonに限らずプログラミング言語の常識。
C/C++やC#なんかのソースコードを読んでごらん。
天然すなあ
>>919 コーディングについてはもっともですが、言語の規約としてどうなのか知りたいと思っています
ソースコードは動かした通りになっているはずですが、
提示したリファレンス以外に、正しい仕様書があるのなら教えていただきたいのです
>>923 だから、仕様ドキュメント読んでソースコード読め。
なんかSIに作らせたみたいな仕様でっかちな
システムか何かと勘違いしてないかい?
仕様ありきで言語を作ってるんじゃなくて、
ニーズがあってプログラム書いて、そのあとで仕様としてまとめてるんだよ。
もちろん、PEPの形で使用が提案されることも多々あるわけだけど。
>>920 名前がぶつかったりとか気にならないならそれでいいんじゃない?w
漏れはどっちかというとimportに関しては従ってる方
100%じゃないけど
>>926 CPython処理系のバグだけれども、もう直せないということですね
ありがとうございます
929 :
917 :2011/02/13(日) 07:35:14
>>921 え、本当?今いくつかCのコード見てみたけどそんなことはなかったぞ。
まあ、結構バラバラなだけってのが多いが。
C#は分からないんだけど、そうなのかな。
むしろ、今dist-packages(Ubuntu)にデフォで入ってたPythonのコード見たら
(2)とか(3)が上にあるやつの方が多いっぽい。
ということはPEP8の浸透率は微妙なんだな。ちょっと安心した。
>>927 なるほど。開発陣もバグと認めてるわけね。
しかし、どのログを見ても修正した形で完結してるようなのに、
未だに直ってないというのはどういう事だろう?
>>929 とりあえず、手元でzlib、ffmpeg、そしてmercurialのソースコードを
ちょっと見てみたけど、いずれも一般的なライブラリから読み込みやってたぞ?
視野が狭いんじゃないのかい。
ちなみにzlibはgzputs.hを読んでるけどその中でそうなってる。
ffmpegはconfig.hが最初になってるけどこれはconfigureスクリプトで差し替えるため。
思い込みはよくないな。
>>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}
933 :
917 :2011/02/13(日) 08:01:54
>>931 俺が見たのはemacsとzshでemacsはバラバラでzshは特殊なライブラリが
ほぼ上だった。931が見たのはそうだったのなら、たぶんCでは
統一されてないということでしょ。
後どうして俺がこれに突っかかったのかというと、Rubyでは特殊なライブラリを上に
することの方が多いから。ちなみにRubyインタプリタ自体のコードは完全に
特殊なライブラリが上。
だから、質問しておいて何だけど、少なくとも一般的なライブラリを上に
するのは「常識」ではないと思う。
ってかmercurialってPythonだったんだ。すげえなPython。
>>933 それ、Rubyの常識をPythonで持ち込むな、で終わらなくね?
Pythonでは一般的なライブラリから順番に書くお約束。
935 :
917 :2011/02/13(日) 08:19:33
933の書き方が悪かった。Rubyの経験は反発する理由ではなくて 質問するきっかけになっただけ。 ってかRubyって火薬だね (笑) 二度と他言語スレでこの4文字は書かねえ。 Pythonのお約束は当然PEP8なんだろうから知ってるよ。ただ920に書いた理由で 従いたくないから、質問してみた。 Pythonってコーディング規約をかなり守るイメージがあるから、俺も守らないとダメ かなあと思ったんだけど、そうでもないらしいので安心したという話。
>>935 そうであったとしても、やはりおすすめしかねるな。
Pythonのimport文はD言語のimport構文と違って、
あれは実行文なんだよ。
つまりimport文を解釈した段階で読み込み処理と__module__空間への登録が行われる。
なので、単純にプログラマの好みで自由に書き換えていい部分じゃない。
Pythonでゲーム作ったことあるけど、この辺の順序に悩まされたことあるから。
途中で実行文であることに気づいて、標準のやり方で全部統一したよ。
>>936 いや、もし問題が出るならそうするよ (笑) 順番が違うときにプログラムの内容が
変わったらそれは規約の話じゃないじゃん。
順序が問題になるのは、ロードパス関連とか動的インポートのときでしょ?
規約通りだったとしても問題があるときはあるし、そのときは反対にするのだから
同じことだよ。
そもそもプログラマの好みを制限するのが規約なんだから、自由に書き換えては
いけないところは規約にはならないよ。
自分ひとりでやってるならオレオレ規約でいいし、 複数人でやってるなら多数決で規約決めればいい。
937の意見に全面的に賛成。 import sysよりimport oreoreのほうが先にきてほしい。 import oreoreよりimport sysのほうを先にもってくる理由は、PEP8には書かれてなさげ。 理由が明らかになってない規約に無条件に従う必要はない。
>>937 変わったら、とか、規約だから自由にしていいとか、そういうレベルの話じゃないんだよ。
実際に、挙動が変わってしまうわけ。
既存のモジュールをimportするというのは
そのモジュールの空間でモジュールのグローバルスコープのプログラムを実行する
# ただし if __name__ == '__main__': の箇所を除く
のと同じこと。
手続き的な部分なんだから順番が違ったら意味が変わってくるのは当然だろ?
ここまで言って分からないなら、もう勝手にすればいい。
そのかわり、お伺いなんて立てるのはやめるんだな。会話が成立してないんだから。
あとPEP8に import は通常、別々の行に配置するべきである。 という規約があるんだけど、これも理由が書かれてない。 理由が書かれてない規約って説得力ないよね。 import sys import os import re とかだるすぎるからいつも import sys, os, re にしてるわ。
>>940 実際に挙動が変わる例を出してみて。
今までそんな経験ないんだけど。
>>941 プログラムの各行はなるべく簡潔であるべきというPython全体のポリシーと、
1つのモジュールから複数の識別子をimportする場合があるから。
例:
from distutils.core import setup, Extension
import文をまとめて稼げる行数なんてたかが知れてるんだから、
全体のやり方に合わせて平易に書けばいいんだよ。
>>942 互いのモジュールに依存するモジュールのペアを
書いたりするとそうなることがあるよ。
まあ、そういう書き方はできうる限り避けるべきだけどね。
当然ながら標準ライブラリでそんな例はないはずだけど。
>>941 fromやasが混在すると分かりにくくなるからだろう
>>939 >理由が明らかになってない規約に無条件に従う必要はない。
だから一人でやってるなら勝手にやればいい。
複数でやってるなら、他人が見辛いから標準にあわせるべき。
小学生でもわかることだと思うが...。
>>944 だから問題になる例をだせっていってるだろ。
「そうなることがある」というんだから、そうなる例を見せれば、みんな納得するんだよ。
>>945 import sys, os, re
from glob import glob as _glob
分かりにくいか?まったくそうは思わないけど。
コーディングスタイルなんて理由曖昧だろ。 スペース3つじゃなくて4つにする理由だって、メソッドの第一引数の名前をselfにする理由だって特にない。 だからこそ、みんながわかりやすいように、共通のルール決めましょうって言ってるんだろ
別にいいんじゃね ルールなんて書き捨てオナニーコードには不要
A Foolish Consistency is the Hobgoblin of Little Minds PEP8で一番大事なとこはここ
953 :
デフォルトの名無しさん :2011/02/13(日) 15:39:30
インスタンス変数ってアンダースコア付けるべき? self._hoge みたいな
955 :
デフォルトの名無しさん :2011/02/13(日) 16:01:34
>>954 この番組見てたけど、誰かが別アカ作ってtweetしただけだと思う。
何を騒いでいるんだろう。
Qtは糞
957 :
デフォルトの名無しさん :2011/02/13(日) 18:44:46
GTKは産業廃棄物。
Tkは身障用
たしかにQtは酷い
>>940 お前の言ってることを極端な例にすると、こんな感じになるぞ。
--
import sys
import os
と
import os
import sys
は意味が違う。
--
確かにロードの順番は変わるからプログラムの内部的な
動作は変わるが、外から見たときの動作は同じでしょ。つまり意味は同じ。
もし意味が変わってしまうというならライブラリの設計ミス。
悪いけど、
> # ただし if __name__ == '__main__': の箇所を除く
こういうこと書いてる時点でインタプリタの動作の仕組みわかってないだろ。
defの中身は呼び出さなければ実行されないし、if __name__...に限らず、
if Falseになる部分もどれも実行されないよ。whileやらexceptやらも全部同じ。
だんだん突っ込み所が増えてきたけど、決定的な墓穴を掘らないとやる気でない
アッー!
勝手にすればいいじゃん そうしない理由はなんだ
966 :
961 :2011/02/13(日) 21:40:13
>>940 >>936 を読んでお前がやっていたことが想像できたわ。ゲーム作ったとき、
トップレベルに画面描画とかの処理書いただろ。それじゃあ駄目だよ。
モジュールの使い方間違ってる。処理はちゃんと関数の中に書きなさい。
そうすれば、importの順番に悩まされなくなるでしょう。
>>964 僕すごく正しいこと言ってるんだから、みんなそうすべきだよ。
そうでしょ?
とでも思ってるんだろ。
放置しかないと思うけど。
968 :
917 :2011/02/13(日) 21:49:14
>>967 俺のこと?上の方で趣味だからどうでもいいって書いたよ。
ただ、俺は縛られたくないのだ。
Pythonistaって皮肉な人多いのかな?そういうレスが多い気がする。
ああ、これも皮肉か。
我流もみんなでやれば怖くないか みんなでやれば怖くないのは事実かも知れんが ちゃんとドキュメント化してくれよ。2ちゃんじゃなくて物申すところがあるだろう ちゃんとした反論もそこに期待しろよ。ここで俺ツエーしても仕方ないだろ
一人でやるのに対して、誰も縛ってねーw
971 :
917 :2011/02/13(日) 21:57:30
>>969 まじかよ、何なんだこのラッシュ。みんなに勧めてる訳じゃないよ。
Pythonってコーディング規約守らないとぶっ殺されそうなイメージあったから、
みんな守ってるのかきいてみただけだって。そしたら、思った程PEP8は守られて
ないようだから、おkおkって思っただけ。
色々書いたのは、kwskって言われたから守りたくない理由を書いた。
俺的にはコーディング規約はプロジェクト単位で統一されてれば良くて、
言語全体で統一されてる必要はないんじゃないかと思ってる。だからPEP8みたいな
存在は個人的には嫌い。たとえ完全無欠の規約だったとしても。
おまいはPEP8を「最初から」嫁
誰にぶっ殺されるんだよ。頭おかしいんじゃないか
974 :
917 :2011/02/13(日) 22:01:51
> スタイルガイドは一貫性に関わるものであり、重要なのは規定される一貫性 > である。プロジェクト内の一貫性は、もっと重要である。モジュールや関数 > 内部での一貫性は、更に重要である。 もしかしてPEP8って参考程度の規約?そうなの?まじで? もしそうだったら俺歓喜。皆さんすみませんでした。
死ね
なんだもう終わったの? 一言だけ老婆心で言わせてもらうと、正直俺もPEP8のすべてに従うべきだと思わないし Pythonicであることにこだわりを持とうという気にもならない より良いスタイルの模索は個人レベルでは常に続けるべきだと思う importの順番に限って言えば、自作ライブラリだけ使っていて、自分で責任が負える範囲ならimportする順番は好きにすれば良いと思ってる ただ、野良ライブラリを使わざるを得ない場合や文句を言いにくい人が作ったライブラリを使用する場合は十分に気を付けるべきだと思う class宣言で無茶する奴がいないとも限らないのだから
pass
>>961 それは同じだけど、例えば
from math import *
from cmath import *
と
from cmath import *
from math import *
は意味が違うよ。
# 絶対に守らないといけない規約だったらそれはスタイルじゃなくて文法だっての。
# メソッドの第一引数をselfにするのも、文法じゃなくてスタイルだから、他のでもいいけど、
# そういうことする人のコードは読みたくないな。
いきなり名前空間汚しまくる例を持ち出す
>>979 よりかはマシだと思う
>>979 だれもそんなくだらん例は問題にしてないだろ。
import aaa
import bbb
と
import bbb
import aaa
が違う挙動になるような例をだせっての。
webフレームワークで嵌ったのがあったな importでカスタマイズ設定を引っ張ってんのかね
settings.py www
>>> 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つ目の結果ってバグでしょうか?
ダメ文字でググれ
環境書けYO 表の最後のバイトがバックスラッシュだろうから os.getcwd() の返り値がバイト文字列ならそうなっておかしくないんじゃないか
つgetcwdu
pass
>>947 import sys, os, re
と
import os, sys, re
だと
どっちが良いでしょうか?
もういいよ。
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)
import 角電池
メンテナンス性の面で僕が気に入っている言語は Python だ。シンプルで きれいな構文、オブジェクトのカプセル化、充実したライブラリのサポート、 そしてオプションの名前付きパラメータがある。メンテナンス性が悪い言語 の一例は Perl である。うん、僕は確かにそう言ったよ。撤回するつもりはない。 -- Bram Cohen Python が好きなのと同じぐらいRubyが好きじゃない。Perlみたいな「TMTOWTDI」哲学が 多すぎる。Perl ほどひどくはないにしても、似たような可読性とメンテナンス性の問題が 出てくる。Ruby を使わなければならないなら使うこともできるけど、幸いそういうことはない」 -- Jonathan Ellis Rubyの本を読んでて頭にひょこっともたげた疑問ってのは「今さら?」というものだ。 ご苦労様なこった。この言語設計者 (Matzこと教祖まつもとゆきひろ様) っていうのは なんでわざわざこんなものを創ったんだ? たどり着く結論は毎度同じものだ。 -- Bruce Eckel Ruby は低品質で、ゴミクズソフトが頼っているクソみたいな インタプリタにも関わらず不当に勢いを得て今までずるずる -- Zed Shaw 「やはり他のスクリプト言語作者とは格が違う。そもそもPerlやRubyというのは 一部のオタクどもが楽をするためだけに存在している言語で、かれら教育のことなんか何も考えてない。 しょせんかれらは狭い世界に閉じこもる運命にあるのだ。
>>995 Error: TooDangerousToInsertException
我らpythonistaはpythonを通じてpythonより多くのことをも学ぶものである 三角比の範囲はこの3つの公式を覚えるだけ tan θ = sinθ/cosθ sin^2θ + cos^2θ = 1 1 + tan^2θ = 1/cos^2θ
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なら今年もPythonistaはチョコ抜き
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。