Pythonのお勉強 Part50
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2014/10/17(金) 00:41:32.40ID:Db3yDsQbhttp://www.python.org/
日本Pythonユーザ会 (※英語わかる人は上記のオフィシャルの方を見ることをお薦めします)
http://www.python.jp/
まとめWiki
http://python.rdy.jp/
関連スレ
http://find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python
Pythonのお勉強 Part49
http://peace.2ch.net/test/read.cgi/tech/1387528488/
日本語の扱いで戸惑ったらこちらをどうぞ(バッドノウハウ集で笑える)
ttp://speirs.blog17.fc2.com/blog-entry-4.html
ttp://atomic.jpn.ph/prog/etc/encode.html
ttp://d.hatena.ne.jp/kakurasan/20100330/p1
ttp://pc11.2ch.net/test/read.cgi/tech/1217836194/339
339 :デフォルトの名無しさん:2008/08/23(土) 08:36:00
PythonのUnicodeEncodeErrorを知る
ttp://lab.hde.co.jp/2008/08/pythonunicodeencodeerror.html
よくまとまってた。あとで読む
0103101
2014/11/14(金) 15:14:53.92ID:Ft31Cy9lありがとうございます。
日本語パックを入れようとすると最後で止まってしまうので
インストールやめました。
0104デフォルトの名無しさん
2014/11/14(金) 16:14:51.64ID:TuDYQczKWindowsならActivePython
0105デフォルトの名無しさん
2014/11/15(土) 07:59:30.67ID:oOqmQ36U無責任で悪いけど英語のCmmu 2013入れたら一度リブート
WIN UPで更新ファル確認
関係する物が見つかるのでUPしてリブート
日本語パック入れる、最後にリブート
0106デフォルトの名無しさん
2014/11/15(土) 10:18:38.75ID:YOiRMsLP0107デフォルトの名無しさん
2014/11/16(日) 11:54:29.39ID:R05ll4b0早めに諦めるか身の振り方を変えた方がいいね
0108デフォルトの名無しさん
2014/11/16(日) 12:33:05.34ID:xruxKRvzドキュメント和訳プロジェクトに参加して欲しいっす
あれは英語とPython両方の知識が必要っすが
今の翻訳はたぶんPythonの知識がない人が適当にやってるっす
0109デフォルトの名無しさん
2014/11/16(日) 12:50:30.30ID:f+9LyVMIコレでJavaに逃げたわ。
あと、〜することができます。 とかのですます体がウザ過ぎる。図書とかもそうなんだが。
〜可 これでいいし、こうすべきだろ。
0110デフォルトの名無しさん
2014/11/16(日) 13:05:42.65ID:R05ll4b0参加するメリットねーだろ
せいぜい売名か?
0111デフォルトの名無しさん
2014/11/16(日) 13:06:19.75ID:01IXT5Y20112デフォルトの名無しさん
2014/11/16(日) 13:16:48.92ID:/9JnOtYKいいじゃん。せいぜい内輪でお飯事してろよ。
0113デフォルトの名無しさん
2014/11/16(日) 13:55:38.81ID:IsvJepgn日本語ヨクワカラナイカラ Java シカデキナカタヨ
まで、読んだ
0114デフォルトの名無しさん
2014/11/16(日) 13:58:52.50ID:f+9LyVMI残念だけど、戻ってあげないよ ばーか
0115デフォルトの名無しさん
2014/11/16(日) 14:05:27.36ID:zDSUi8Bd0116デフォルトの名無しさん
2014/11/16(日) 14:13:45.65ID:J83tdTef0117デフォルトの名無しさん
2014/11/16(日) 14:16:24.09ID:IsvJepgn0118デフォルトの名無しさん
2014/11/16(日) 14:22:03.75ID:aPjF8Str0119デフォルトの名無しさん
2014/11/16(日) 16:07:40.60ID:vMtJLncuいつまで経っても使ってみた以上の記事書かない奴らと何をしろというのか
0120デフォルトの名無しさん
2014/11/16(日) 16:32:58.52ID:ZGnt+rs20121デフォルトの名無しさん
2014/11/16(日) 17:00:36.36ID:baimN4EK英語できないならPython以外の言語やった方がいいって
たとえ英語出来ても翻訳となるとまた一段高い理解と語学レベルが必要になるし時間もかかる
そこまで時間と労力をかけて人のために翻訳している人たちはマジ神だと思うよ
俺はそんな面倒なものには絶対参加しない
0122デフォルトの名無しさん
2014/11/16(日) 17:53:20.77ID:l0EvlzVAperlでもいいけど、なんかpythonの方がもっと楽なパッケージがありそうな気がして
とにかく楽がしたい
0123デフォルトの名無しさん
2014/11/16(日) 18:22:45.87ID:R05ll4b0javascript動かすならSelenium使うのが楽な言語
これ
0124デフォルトの名無しさん
2014/11/16(日) 18:28:05.05ID:R05ll4b0時間の無駄だから
0125デフォルトの名無しさん
2014/11/16(日) 21:16:27.79ID:CldYWVpl0126デフォルトの名無しさん
2014/11/16(日) 22:19:46.62ID:l0EvlzVA0127デフォルトの名無しさん
2014/11/17(月) 02:23:04.88ID:voT4yCE4そもそも、翻訳作業ができる人は、翻訳されたドキュメントを必要としない。
ここがコードそのものの開発と根本的に違う。
翻訳が欲しい人が寄付を集めて、翻訳ができる人を集めて温泉にでも無料で
行かせて缶詰で翻訳ハッカソンとか?そんなことが実現するとは思えないが。
あとは、どっかの企業がPRのために持ち出しで貢献するかだな。
日本で、Pythonサポートで食ってて、それなりに余裕ある企業ってあるかな?
0128デフォルトの名無しさん
2014/11/17(月) 02:47:05.47ID:zZSkpM/5わかりにくいのがあったりするからなあ。
ドキュメントにあるコードの例で、コードだけ書いてその出力を書かないのはマジやめて欲しいんだけど、
Pythonドキュメント(原文)の執筆ガイドラインてあるのかね?さがしてもよくわからん。
こういうメタっぽいのIssueとしてあげてもそういうガイドラインがないと浸透しにくいし、そういうのないとして、
そこまで踏み込んでやってってお願いするほどの英語力もないし。
0129デフォルトの名無しさん
2014/11/17(月) 03:02:43.18ID:re+o/iO90130デフォルトの名無しさん
2014/11/17(月) 03:16:58.42ID:zZSkpM/5めっちゃ要るわw
英語そのものの知識だけじゃなく、それをベースとした英語でのコミュニケーション力な。
それを「英語力なんて必要ない」とさらっと言えるあなたこそPythonドキュメントの
翻訳に貢献してくださいおながいします。
0131デフォルトの名無しさん
2014/11/17(月) 09:07:37.13ID:Bie68Q2E翻訳出来るひと(もちろんpythonの知識も含めて)は
たとえ金払っても翻訳の仕事をさせるのはもったいないだろ
プログラム書かせた方が良い仕事してくれる
0132デフォルトの名無しさん
2014/11/17(月) 10:35:04.06ID:FowapGmI目先の小銭を追ってはならない
0133デフォルトの名無しさん
2014/11/17(月) 10:59:44.21ID:zVrhBdcJ0134デフォルトの名無しさん
2014/11/17(月) 11:39:23.58ID:HQeW7j2d0135デフォルトの名無しさん
2014/11/17(月) 12:37:47.34ID:C7tq3SGo長期的に見れば、日本語圏でpythonが盛り上がる方がいい
0136デフォルトの名無しさん
2014/11/17(月) 14:10:06.39ID:8zZNMcL6翻訳作業にも一定の需要がある訳だ
0137デフォルトの名無しさん
2014/11/17(月) 22:23:52.56ID:2JrgHRvL0138デフォルトの名無しさん
2014/11/19(水) 00:27:02.33ID:+JOILsc/http://fox.2ch.net/test/read.cgi/poverty/1416286592/
0139デフォルトの名無しさん
2014/11/19(水) 01:14:11.05ID:/0kmKDiGttp://fox.2ch.net/test/read.cgi/poverty/1416311016/
> 怖ろしい話を聞いた…。海外文学の翻訳は、初版1500部とか、初版印税ナシが普通になってきているという。
> 増刷はなかなかされないだろうから、初版印税ナシだと、実質、無報酬に。
> 初版1500部でも、生活はとてもできない。これでは翻訳をする人はいなくなってしまう。したくても生活できない。
> 海外文学を読む人が減ってきてしまったせいなのでしょうが、あまりにも悲しいことです。鎖国状態になってしまいます。
> 安直な入門書とか(私の本もそうですが)、昔は軽蔑していましたが、今はその重要性をとても感じています。きっかけはくだらなくてかまわないのですから。
0140デフォルトの名無しさん
2014/11/19(水) 17:55:58.79ID:JZ2oYyd90141デフォルトの名無しさん
2014/11/20(木) 15:39:13.27ID:/BOXk5akwindows8の64bitでビルドしているのですが
AとBというプログラムがあってビルドすると
それぞれa.exeとb.exeができるのですが
python34.dll
_bz2.pyd
unicodedata.pyd
は同じなのですが
library.zip
はAとBで違うためどちらかのをコピーするとエラーになります。
できればそれぞれexeファイル1つだけにすることはできないのでしょうか?
0142デフォルトの名無しさん
2014/11/20(木) 15:57:06.35ID:E/VQy6fPcreate_shared_zip = Trueなら共通のlibrary.zipができる
0143141
2014/11/20(木) 16:06:21.55ID:/BOXk5akimport sys
from cx_Freeze import setup, Executable
build_exe_options = {"packages": ["os"], "excludes": ["tkinter"], "create_shared_zip": False, "append_script_to_exe": True }
base = None
if sys.platform == "win32":
base = "Win32GUI"
setup( name = "xxxxx",
version = "0.1",
description = "xxxxx",
options = {"build_exe": build_exe_options},
executables = [Executable("xxxxx.py", base=base)])
0144デフォルトの名無しさん
2014/11/20(木) 17:15:20.12ID:E/VQy6fP0146デフォルトの名無しさん
2014/11/22(土) 09:48:59.44ID:Q3C7JEHj0147デフォルトの名無しさん
2014/11/30(日) 00:01:30.79ID:U56t6wGepython2.7 で、上記のような0 を埋め込んだ リストを作りたいのですが、
要素が多くなった場合(例えば要素数10万個とか)、
どのようにするのが良いでしょうか?
次のものよりコンパクトに書きたいのです。
list = []
for num in range(0, 11):
list.append(str(num).zfill(2))
# list.append(str(num).rjust(2,"0"))
# list.append("{0:0>2}".format(num))
perl では、次のように書いていました。
@list = ("00" .. "10");
宜しくお願い致します。(スレ違いでしたらごめんなさい。)
0148デフォルトの名無しさん
2014/11/30(日) 00:08:51.81ID:awyRf5UB処理速度で問題が起きないなら取り出す時に加工したら?
0149デフォルトの名無しさん
2014/11/30(日) 00:17:45.83ID:HYaMRw5x0150デフォルトの名無しさん
2014/11/30(日) 00:36:12.42ID:U56t6wGe>>148
一昨日から python を使い始めたばかりで、
まだどうやって使うか決まっていないので、そういう解もありかも知れません。
>>149
うまくいくことが確認できました。こういう書き方もできるのですね。
0151デフォルトの名無しさん
2014/11/30(日) 01:54:06.42ID:U56t6wGe実行時間を比較をしました。(tcsh に builtin の time にて)
(それぞれを10回ぐらい繰り返しての典型値です。)←テキトーですみません。
>>147 の3つのコードのバリエーション(cord 1,2,3 とする)と、
>>149 のコード(cord 4とする)と >>147 の perl のコード(cord 5とする)について。
code 1:
1.139u 0.054s 0:01.19 99.1% 5+170k 0+0io 0pf+0w
code 2:
1.305u 0.055s 0:01.36 99.2% 5+168k 0+0io 0pf+0w
code 3:
1.120u 0.039s 0:01.16 99.1% 5+169k 0+0io 0pf+0w
code 4:
0.995u 0.062s 0:01.05 100.0% 5+168k 0+0io 0pf+0w
code 5:
0.886u 0.110s 0:00.99 100.0% 5+165k 0+0io 0pf+0w
code 1,2,3 は大して変わりませんが、ほんのわずかに
cord 2 が遅く感じられました。
cord4, 5 の間にはほとんど差はないですが、cord 1,2,3 より
ほんのわずかに速いようです。
CPU: Intel(R) Core(TM)2 Duo CPU E7400 @ 2.80GHz
RAM: 2048 MB
OS: FreeBSD 10.1-RELEASE
0152デフォルトの名無しさん
2014/11/30(日) 02:14:37.61ID:U56t6wGeすみません。typo があったので訂正します。
s/cord/code/;
↑ perl ですみません。
re.sub('cord','code', item)
↑ python だとこんな感じでしょうか?
Python チュートリアル と Perl 言語リファレンスの目次に「正規表現」の記載がなくて、
挫折しそうになりました。 Python 標準ライブラリの目次に正規表現 をみつけて一安心。
うーむ、ライブラリなのですね。。。
おやすみなさい。
0153デフォルトの名無しさん
2014/11/30(日) 05:17:22.58ID:b4nmdqGs0154デフォルトの名無しさん
2014/11/30(日) 05:30:46.36ID:c9Q+Jt/4pythonにはtimeitという計測ツールもある。
ipythonなら%timeit
0155デフォルトの名無しさん
2014/12/02(火) 23:50:02.60ID:mXPAePsxみたいなことをよくやるんだけど
if (!$done{$item}) {
同じことをpythonでやろうとすると、どうしてもtryしないといけなくなる
try:
if(done[item]):
pass
except KeyError:
そういうもの?
0156デフォルトの名無しさん
2014/12/02(火) 23:54:44.97ID:1eIJ1xCz0157デフォルトの名無しさん
2014/12/03(水) 00:20:47.52ID:klto8A+Oそもそも、EAFPでないし
0158デフォルトの名無しさん
2014/12/03(水) 03:34:45.76ID:fPpGIPtv0159デフォルトの名無しさん
2014/12/03(水) 03:35:36.42ID:fPpGIPtv0160デフォルトの名無しさん
2014/12/06(土) 09:06:25.05ID:oKYXPopG>perlで、処理したものは
perl歴10年以上で、2年前にpythonに移行
しました。このような質問とその回答は、
とても参考になります。感謝、感謝!
0161デフォルトの名無しさん
2014/12/06(土) 09:25:07.43ID:e/+1yPS4item.getも、なければデフォルト返す。けっこう人のコードでも見かける。perlの例はこっちに近い気がする。
0162デフォルトの名無しさん
2014/12/06(土) 10:06:25.40ID:BVXRqyRl0163デフォルトの名無しさん
2014/12/06(土) 10:17:49.65ID:e/+1yPS4ただjavaとか例外処理のコストが気になる言語の場合はやらないな。pythonはサンプルコードでよく見かけるから使ってるけど、コストはどうなんだろうか。
0164デフォルトの名無しさん
2014/12/06(土) 12:05:45.84ID:3xNo8KzCただ内部的にexceptとかfinally,with使うのは当たり前だから気にしても仕方ない
0165デフォルトの名無しさん
2014/12/06(土) 12:22:20.08ID:1MG24EwXdict.set_defaultがvalueしか取らないのが俺は気になる
funcも取って欲しい
0166デフォルトの名無しさん
2014/12/06(土) 15:37:39.38ID:bwgl3tYQ全ての文にif付けながら実行してるようなもんでしょあれ
0167デフォルトの名無しさん
2014/12/06(土) 15:42:45.20ID:7IWME+c90168デフォルトの名無しさん
2014/12/06(土) 15:52:30.13ID:BM1MQEaEんなわけない
あんたが言ってるのは途中でreturnするかもしれない関数で全ての文にif付けて実行してるようなもんでしょって言ってるのと同じだよ。
0169デフォルトの名無しさん
2014/12/06(土) 16:18:14.87ID:LlEDCa5Qfor x in (1, 2, 3, "hoge"):
s += x
return s
例えばこのfor文の中の s += x で、例外を補足するには毎回xが加算できるかをチェックする必要がある
ということを言いたいのではなかろうかと。
0170デフォルトの名無しさん
2014/12/06(土) 16:18:22.30ID:BVXRqyRlそれで止まってしまうか例外として救えるかが違うだけで
どんな言語でもってことはないか
何も考えずにリソース破壊して終わりな言語はそれまでだけど、
それを軽くていいとは思えない
0171デフォルトの名無しさん
2014/12/06(土) 16:20:34.40ID:1MG24EwX例外ブロックを作ったことによる効率低下は大したことない
一部の最適化ができなくなるくらいだから
一方、実際に例外を投げたなら、どの言語でもそれなりのコストを生じる
0172デフォルトの名無しさん
2014/12/06(土) 16:29:48.62ID:7IWME+c9いちいちif文なんか実行してないから
0173デフォルトの名無しさん
2014/12/07(日) 02:49:25.06ID:QqVGX2+B0174デフォルトの名無しさん
2014/12/07(日) 05:08:55.57ID:8OMeK6oQ0175デフォルトの名無しさん
2014/12/07(日) 10:45:35.98ID:5CT1OZvc0176デフォルトの名無しさん
2014/12/07(日) 10:49:56.50ID:s/qw7ugR0177デフォルトの名無しさん
2014/12/07(日) 12:51:19.52ID:8OMeK6oQ最適化できるという誤解は誰もが通る道だわな
0178デフォルトの名無しさん
2014/12/07(日) 12:54:25.49ID:GOj11zUj0179デフォルトの名無しさん
2014/12/07(日) 13:12:03.36ID:8OMeK6oQ可読性もデバックのやりやすさも捨ててやることじゃない
10年以上前には話題に登ってて覚えてたんだが
pythonのvmは2001年時点のjvmより
おバカなのか?
0180デフォルトの名無しさん
2014/12/07(日) 13:15:52.02ID:GOj11zUjかなり馬鹿正直、というか原始的なものだよ
0181デフォルトの名無しさん
2014/12/07(日) 13:17:41.90ID:8OMeK6oQpythonだとひょっとすると例外の方がはやいかもね
0182デフォルトの名無しさん
2014/12/07(日) 13:30:04.59ID:om9D8KOg0183デフォルトの名無しさん
2014/12/07(日) 13:32:59.51ID:GOj11zUj> It has been questioned whether an exception to signal
> the end of the iteration isn't too expensive.
と述べられてる。
あまりコストが高くはなかったとはいえ、低いわけではない。
しかし続きを読むと分かるように、実装をシンプルに行えるメリットを彼らは選んだ。
0184デフォルトの名無しさん
2014/12/07(日) 13:53:30.07ID:Mj+nApTsでも、コストを重視した設計やコードのツケはずっと残る
0185デフォルトの名無しさん
2014/12/07(日) 14:11:22.03ID:GOj11zUj一概に容認されうるものじゃないと思うね
0186デフォルトの名無しさん
2014/12/07(日) 14:15:51.13ID:8OMeK6oQ数値配列末尾に文字列入れて
意図的に例外で落とすようにしたらふつうのループの2倍程度遅い
でもif+型チェックよりは例外のほうが早かった
なんとも微妙な・・・
0187デフォルトの名無しさん
2014/12/07(日) 17:17:03.41ID:E9NmwB+a0188デフォルトの名無しさん
2014/12/07(日) 18:17:38.73ID:XqgZFImA例外が発生しなければ try/except のコストは極めて低いので、めったに発生しない例外ならば
例外を扱ったほうが良いというのFAQのどっかにあったね。
0189デフォルトの名無しさん
2014/12/07(日) 19:32:02.09ID:8OMeK6oQ0190デフォルトの名無しさん
2014/12/07(日) 22:39:07.66ID:gI6V648O0191デフォルトの名無しさん
2014/12/08(月) 07:36:33.23ID:fTOrgTlaC# だけど、まさにそのコード書いたばかりだ w
0192デフォルトの名無しさん
2014/12/08(月) 09:59:10.61ID:eZuxZoZphttp://atomic.jpn.ph/prog/etc/encode.html
http://speirs.blog17.fc2.com/blog-entry-4.html
http://d.hatena.ne.jp/kakurasan/20100330/p1
0193デフォルトの名無しさん
2014/12/08(月) 10:14:48.98ID:moCEkmgWエンコードが不明な文字列を片っ端からデコード試して
上手くいった奴が正解なんだよな
モヤモヤするけどね
0194デフォルトの名無しさん
2014/12/08(月) 10:57:48.21ID:NGUYkyOW人間だったら文字化けしてるの見て違うって判断できるけど
0195デフォルトの名無しさん
2014/12/08(月) 11:17:03.49ID:UW8Yzuuqあと例外出させるのにも判定の順番が微妙に影響する
どのコードで先にエンコードしてみるかっていうのが結構重要
0196デフォルトの名無しさん
2014/12/08(月) 11:20:00.98ID:UW8Yzuuq「ーソЫ\噂浬欺圭構蚕十申曾箪貼能表暴予・・・」
っていう文字列を発見して
「文字化けしてるっ!」て騒ぐひともいるし
「ああテストしてんだな」って暗黙の了解するひともいる
0197デフォルトの名無しさん
2014/12/08(月) 11:21:52.23ID:UW8Yzuuqエンコードじゃなくてデコードと言うべきか
0198デフォルトの名無しさん
2014/12/08(月) 12:22:31.05ID:B5d35WIQ対応するコードがエンコード先の領域外、未定義だったら失敗でいいんじゃないか。
nkfみたいにマッピングしてるとこもあるかもだけど。
0199デフォルトの名無しさん
2014/12/08(月) 21:25:30.06ID:NGUYkyOW> 対応するコードがエンコード先の領域外、未定義だったら失敗
これだったらたしかに失敗ははっきりするね
それにあてはまらない場合もあってそのときは
けっこう微妙な判定をしてるってことかな
0200デフォルトの名無しさん
2014/12/09(火) 08:02:03.59ID:8lyIelV0decode('utf8')を行ってきましたが、正規表現の処理
をしない場合には必要ありませんよね?
0201デフォルトの名無しさん
2014/12/09(火) 08:05:14.29ID:Uc1Az9NL0202デフォルトの名無しさん
2014/12/09(火) 08:22:35.48ID:Uc1Az9NL■ このスレッドは過去ログ倉庫に格納されています