Pythonのお勉強 Part35
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2009/09/21(月) 21:11:49http://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://pc12.2ch.net/test/read.cgi/tech/1246454599/
0002デフォルトの名無しさん
2009/09/21(月) 21:12:40│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘ おっぱい!おっぱい!
0003デフォルトの名無しさん
2009/09/21(月) 21:13:220004デフォルトの名無しさん
2009/09/21(月) 21:14:37乙
0005デフォルトの名無しさん
2009/09/21(月) 21:48:180006デフォルトの名無しさん
2009/09/22(火) 11:38:080007デフォルトの名無しさん
2009/09/22(火) 11:40:290008デフォルトの名無しさん
2009/09/22(火) 21:52:04win xpでpython3.1.1を使っているんだけど、UFT-8のファイルの読み込み方について質問です。
import codecs
codecs.open(path, "r", "utf_8").read()
だと、BOMがついてきちゃうんだけど、自動でそぎ落としてくれたりはしないのですか?
0009デフォルトの名無しさん
2009/09/22(火) 22:23:100010デフォルトの名無しさん
2009/09/22(火) 22:50:51どうもありがとう!
0011デフォルトの名無しさん
2009/09/23(水) 20:11:29Popen4とかでpythonのプログラムから以下のようなスクリプトを呼び出す時、
#!/bin/bash
echo "a"
sleep 1
echo "b"
sleep 1
echo "c"
python側では呼び出したスクリプトの実行が完了するまで、スクリプトの標準出力の
内容を取得出来ないんだけど(スクリプト実行完了後に3行まとめて取得してしまう)、
スクリプトが1行出力するたびにpython側で確実に1行ずつ取得する良い方法ってありますか?
ここ見れ、みたいな良いリファレンスとかでも助かります。
0012デフォルトの名無しさん
2009/09/23(水) 20:47:08http://www.python.org/dev/peps/pep-3145/
0013デフォルトの名無しさん
2009/09/24(木) 11:57:21__slots__ に書いてある場合は違うのかな
たとえば Exception のインスタンスって message っていう
メンバを持ってますが, e.__dict__ にはそれらしきものが見当たらない.
e = Exception("ahoaho")
print e.message
print e.__dict__
としてみて不思議だなぁと
0014デフォルトの名無しさん
2009/09/24(木) 18:53:38print x とすると単に
<type 'instance'>
とだけ表示されるのは何なんでしょうか?
どのクラスのインスタンス、というようなことは分からないのでしょうか?
0015デフォルトの名無しさん
2009/09/24(木) 18:58:00http://www.python.jp/doc/2.5/tut/node10.html#SECTION0010400000000000000000
なんかの例を見ても
>>> try:
... raise Exception('spam', 'eggs')
... except Exception, inst:
... print type(inst) # 例外インスタンス
<type 'instance'>
となっています。print type(inst)では Exception か
その派生クラスの名前が表示されると思うのですが。
0016デフォルトの名無しさん
2009/09/24(木) 19:03:240017デフォルトの名無しさん
2009/09/24(木) 20:13:42チュートリアルのほうが間違ってるんじゃない?
0018デフォルトの名無しさん
2009/09/24(木) 20:19:20http://docs.python.org/tutorial/errors.html#handling-exceptions
0019デフォルトの名無しさん
2009/09/24(木) 23:58:340020デフォルトの名無しさん
2009/09/25(金) 00:18:53http://www.python.org/doc/2.5/tut/node10.html#SECTION0010300000000000000000
0021デフォルトの名無しさん
2009/09/25(金) 03:57:33オラの環境だとEmacs内で起動されたIPythonが入力をエコーバックしてる上にstdout / stderr にわけて
出力してるせいかelisp側に変換候補のリストがわたってない
(かわりにipython-completion-command-stringをもとに作られたコマンドのエコーがわたる)らしく、
ソースファイルバッファでも*Python*バッファでも補完できないんだが。
002221
2009/09/26(土) 08:43:28あまりほめられたものでないバッドハックなのでメンテナに送る気になれん。
欲しい人いる?anything-ipython でassertion failed: header-pos 出るのもなおるよ。
http://groups.google.com/group/gnu.emacs.help/msg/2d74f6791f94e92b
↑こんなやつ
0023デフォルトの名無しさん
2009/09/26(土) 08:54:060024デフォルトの名無しさん
2009/09/26(土) 09:14:410025デフォルトの名無しさん
2009/09/26(土) 15:06:42遅くなってしまったが、ありがとう。
質問した日の前日にpython始めたもんだから、そこまで見てなかったわ。
改善されるにしてもsubprocess使わんとだめそうね。サンクス。
0026デフォルトの名無しさん
2009/09/26(土) 15:27:120027デフォルトの名無しさん
2009/09/30(水) 11:26:550028デフォルトの名無しさん
2009/10/03(土) 10:23:21spam
spam
sparm
spam
0029デフォルトの名無しさん
2009/10/04(日) 14:24:540030デフォルトの名無しさん
2009/10/05(月) 09:12:2925年ぐらい前MZ-80でBASICとマシン語サブルーチン組んでた
20年前はQuickCでBBS全盛期で今で言う専ブラを作ってた
Windowsきてからプログラミングさっぱりだったが
いろいろ探してみたらここにたどり着いたよー!!
まず何から始めよう?
0031デフォルトの名無しさん
2009/10/05(月) 10:44:420032デフォルトの名無しさん
2009/10/05(月) 11:09:45C#(自分用のWinアプリやクラスライブラリを作れるくらい)の経験のやつが
van Rossumのチュートリアルを一通りやったとして
次におすすめな1冊を教えて。
公式のドキュメントつーのはもっともだけど、書籍限定で。
日本語のほうがうれしい。
0033デフォルトの名無しさん
2009/10/05(月) 11:38:47Perlベストプラクティスみたいなのをご所望なら、オライリーの「Pythonクックブック」がいい。ちょっと古いけど。
ただ、32のスペックなら、いきなりフレームワークやGoogle AppEngineの解説書
0034デフォルトの名無しさん
2009/10/05(月) 11:42:39Perlベストプラクティスみたいなのをご所望なら、オライリーの「Pythonクックブック」がいい。ちょっと古いけど。
ただ、32のスペックなら、いきなりフレームワークやGoogle AppEngineの解説書に取りかかってもいいと思う。
手軽なのはDjangoかGoogle AppEngineで、実はPythonってすごいんじゃね?というのを知りたかったらZopeの本を読むといい。
0035デフォルトの名無しさん
2009/10/05(月) 12:30:120036デフォルトの名無しさん
2009/10/05(月) 12:36:10日曜はCPythonで遊んでるけど
まだJythonは使ったことなかったな
from java.io import *
とか魅力的すぎる
0037デフォルトの名無しさん
2009/10/05(月) 12:55:26早速�d。参考にしつつ書店いってみます。
ひとまずクックブックを尼でなか見!してみたけど
フレームワーク、GAE、Zopeへ進むにしても持っててよさそうな内容ぽいね。
>>35
俺へのレスでいいのかな。dankogaiにも好評なようだね。
立ち読みしてみて考えます。
0038デフォルトの名無しさん
2009/10/05(月) 13:57:11w
0039デフォルトの名無しさん
2009/10/05(月) 14:01:010040デフォルトの名無しさん
2009/10/05(月) 14:04:340041デフォルトの名無しさん
2009/10/05(月) 14:05:500042デフォルトの名無しさん
2009/10/05(月) 14:10:570043デフォルトの名無しさん
2009/10/05(月) 16:15:30w
0044デフォルトの名無しさん
2009/10/05(月) 18:44:430045デフォルトの名無しさん
2009/10/06(火) 10:52:29. 2. PHP で検索した結果 1〜10件目 / 約2,970,000,000件
. 3. Java...... で検索した結果 1〜10件目 / 約 835,000,000件
. 4. Forth. で検索した結果 1〜10件目 / 約 323,000,000件
. 5. Ruby.. で検索した結果 1〜10件目 / 約 275,000,000件
. 6. perl..... で検索した結果 1〜10件目 / 約 245,000,000件
. 7. Python... で検索した結果 1〜10件目 / 約 204,000,000件
. 8. pascal... で検索した結果 1〜10件目 / 約 170,000,000件
. 9. Delphi で検索した結果 1〜10件目 / 約 127,000,000件
10. VisualBasic...で検索した結果 1〜10件目 / 約 121,000,000件
11. lisp... で検索した結果 1〜10件目 / 約. 26,700,000件
12. fortran で検索した結果 1〜10件目 / 約. 21,300,000件
13. COBOL で検索した結果 1〜10件目 / 約. 18,500,000件
14. HSP で検索した結果 1〜10件目 / 約. 12,300,000件
15. FreeBasic.. で検索した結果 1〜10件目 / 約 6,320,000件
16. Tcl/Tk. で検索した結果 1〜10件目 / 約 4,940,000件
17. QBasic で検索した結果 1〜10件目 / 約 4,190,000件
18. VisualC.... で検索した結果 1〜10件目 / 約 1,360,000件
19. DarkBASIC. で検索した結果 1〜10件目 / 約 1,320,000件
20. BasicStudio で検索した結果 1〜10件目 / 約 304,000件
21. N88basic. で検索した結果 1〜10件目 / 約 215,000件
22. f-basic で検索した結果 1〜10件目 / 約 109,000件
23. ActiveBasic で検索した結果 1〜10件目 / 約. 89,800件
24. 99BASIC.... で検索した結果 1〜10件目 / 約. 11,500件
3Dprogramming で検索した結果 1〜10件目 / 約794,000件
2Dprogramming で検索した結果 1〜10件目 / 約. 57,400件
intel で検索した結果 1〜10件目 / 約729,000,000件
amd で検索した結果 1〜10件目 / 約355,000,000件
0046デフォルトの名無しさん
2009/10/06(火) 11:36:13そんなかんじ
0047デフォルトの名無しさん
2009/10/06(火) 11:36:380048デフォルトの名無しさん
2009/10/06(火) 13:33:51するとRubyなんかもかなり割り引いて数えるべきだな
0049デフォルトの名無しさん
2009/10/06(火) 13:33:55一緒に入るものなの?
0050デフォルトの名無しさん
2009/10/06(火) 14:07:160051デフォルトの名無しさん
2009/10/07(水) 10:55:50複数行の入力を履歴↑で呼び出せるんだけど
そのまま return すると IndentationError になっちゃうのって
何がいけないの?
下の行で ^A すると一行目の先頭に飛ぶ辺り、
行の構造がどこかに消えちゃってる???
ipython 0.9.1 ってのを使ってます
In [1]: for i in range(3):
...: print i
0
1
2
In [2]: for i in range(3): # 履歴呼び出し
print i
------> print(i)
------------------------------------------------------------
IndentationError: expected an indented block (<ipython console>, line 2)
0052デフォルトの名無しさん
2009/10/07(水) 14:11:590053デフォルトの名無しさん
2009/10/07(水) 17:58:030054デフォルトの名無しさん
2009/10/07(水) 19:58:50自分で作ったpythonのプログラムと組み合わせる方法がよくわかんないけど
0055デフォルトの名無しさん
2009/10/07(水) 20:00:120056デフォルトの名無しさん
2009/10/07(水) 20:30:040057デフォルトの名無しさん
2009/10/07(水) 22:09:35005855
2009/10/07(水) 22:21:38レスありがとう。
PILは見つけたけど、2.x系のバイナリしか見当たらなかったのよ。
ctypesは調べること多そうで大変なので、やめておきます。
一部の処理だけ、他のスクリプトに投げることにしました。
0059デフォルトの名無しさん
2009/10/08(木) 05:34:230060デフォルトの名無しさん
2009/10/08(木) 07:04:55「関数内でなく、関数の外側、つまりモジュールあるいは対話型コマンドラインの
トップレベルを基準にすれば、モジュール全体のスコープ(グローバルスコープ)と
ローカルスコープは同一になる。」
って説明が分かりません。
詳しく教えてください。
0061デフォルトの名無しさん
2009/10/08(木) 07:26:51「When you assign a name outside a function (i.e., at the top level of
a module file, or at the interactive prompt), the local scope is the same
as the global scope -the module's namespace.」
です。
0062デフォルトの名無しさん
2009/10/08(木) 07:37:320063デフォルトの名無しさん
2009/10/08(木) 07:40:27っていうか日本語訳はWhenにこだわってて変になってるな
0064デフォルトの名無しさん
2009/10/08(木) 08:01:24早いレスありがとう。
トップレベルはグローバルスコープということですね。
なぜわざわざ”関数の外側のローカルスコープ”なんて分かりにくい書き方してるんだろ。
日本語訳は酷過ぎるし、読むの疲れてきた。
2版よりはマシだけど・・。
0065デフォルトの名無しさん
2009/10/08(木) 08:03:09単に関数の外側で代入が行われた変数(グローバル変数)は
関数の内側からも外側からも見えるってことだろう
原文からして理解し難いから気にせず先に進んだほうがいいと思うよ
0066デフォルトの名無しさん
2009/10/08(木) 08:13:07やはり原文もヒドイですよね・・・くっそー。
変なところはクドイくせにぃ〜・・・。
明日からまた頑張ってみますw
0067デフォルトの名無しさん
2009/10/08(木) 08:21:19その本はもう積んじゃっていいと思う
気が向いたら拾い読みする程度でおk
0068デフォルトの名無しさん
2009/10/08(木) 08:28:21>なぜわざわざ”関数の外側のローカルスコープ”なんて分かりにくい書き方してるんだろ。
namespaceの話をしているからだよ
0069デフォルトの名無しさん
2009/10/08(木) 08:28:43その次が思い浮かばないw
0070デフォルトの名無しさん
2009/10/08(木) 08:36:56関数の外側、
つまり←「つまり」ではなく「例えば」
モジュールあるいは対話型コマンドラインのトップレベルを基準にすれば、←コマンドラインって原文のどこに書いてある?
モジュール全体のスコープ(グローバルスコープ)←()に入れるものを逆にして分かり難くしている
とローカルスコープは←なんでこれを後ろにもってくるかなぁ
同一になる←「なる」も変なんだよなぁ
というわけで、
関数の外側(例えばモジュールのトップレベルあるいは対話型プロンプト)で変数に代入したとき、
ローカルスコープはグローバルスコープ(モジュールのネームスペース)と同じである
翻訳したひとってpythonでプログラム書いたことないんじゃないかなぁw
0071デフォルトの名無しさん
2009/10/08(木) 09:11:09「例えば」は e.g.
あとこの場合 the same as は「同一」って訳していいのかな
完全に同一ではないってニュアンスが含まれてる気がする
0072デフォルトの名無しさん
2009/10/08(木) 10:45:22関数の外(*1)でnameをassignしたら、
そのlocal scopeとglobal scopeはまさに同じ(*2)。
*1) モジュールファイルのトップレベルとか、プロンプトとか
*2) = モジュールの名前空間ね
http://www.python.org/doc/1.5.1p1/tut/scopes.html でほぼおなじフレーズがある。
全体の流れは以下。
1. 名前空間は、ビルトイン、モジュールグローバル、関数ローカルの3つ。
2. スコープは直接アクセスできる名前空間の範囲。
3. スコープは3種類あって、再内ローカル、モジュールグローバル、ビルトイン。
で、関数外では、ローカルスコープはグローバルスコープといつしょ、つまりグローバル名前空間ね、といってる。
混乱してるのは、名前空間とスコープを分離して考えてないから。
0073デフォルトの名無しさん
2009/10/08(木) 11:03:220074デフォルトの名無しさん
2009/10/08(木) 11:17:44>混乱してるのは、名前空間とスコープを分離して考えてないから。
どう違うの?
0075デフォルトの名無しさん
2009/10/08(木) 12:17:53関数内のスコープ
関数外で定義された変数のnamespace
関数外のスコープ
0076デフォルトの名無しさん
2009/10/08(木) 13:27:47関数外のローカルスコープって意味分からん。
(関数外はグローバルスコープ)
0077デフォルトの名無しさん
2009/10/08(木) 13:39:050078デフォルトの名無しさん
2009/10/08(木) 13:39:520079デフォルトの名無しさん
2009/10/08(木) 14:57:58subprocess.Popen()
と
popen2.popen3()
などの複数の方法があるようですが
後者は古いので使わない方が良いと書かれているブログもありました
疑問に思ってる点は
この二つは(パラメータ/オプションによって動作は違うでしょうけれど)
pythonスクリプトを起動したshellをA
pythonスクリプトをB
pythonスクリプトから呼ばれるコマンドをC
としたとき
前者の場合
Aの子プロセスとしてCが起動
後者の場合
Bの子プロセスとしてCが起動
の違いがあるような気がするのですが間違ってますか?
そんなの気にせずに同じと考えて良いのでしょうか?
0080デフォルトの名無しさん
2009/10/08(木) 15:01:07前者の場合
Bの子プロセスとしてCが起動
だよもん
0081デフォルトの名無しさん
2009/10/08(木) 15:45:38意味わからん
0082デフォルトの名無しさん
2009/10/08(木) 15:55:09関数内のスコープ = ローカルスコープ
だと思ってるんだよね
今いる場所のスコープ = ローカルスコープ
って考えると理解しやすいかと
0083デフォルトの名無しさん
2009/10/08(木) 15:55:510084デフォルトの名無しさん
2009/10/08(木) 15:57:14pythonではグラフは他の方法で描くのが普通なの?
0085デフォルトの名無しさん
2009/10/08(木) 16:05:400086デフォルトの名無しさん
2009/10/08(木) 16:08:480087デフォルトの名無しさん
2009/10/08(木) 16:09:22>>68のnamespaceの話をしているからだよ
>>72名前空間とスコープを分離して考えてないから
は意味不明。知ったかオツ
0088デフォルトの名無しさん
2009/10/08(木) 16:19:120089デフォルトの名無しさん
2009/10/08(木) 16:21:47http://info.2ch.net/before.html
0090デフォルトの名無しさん
2009/10/08(木) 17:01:540091デフォルトの名無しさん
2009/10/08(木) 17:12:100092デフォルトの名無しさん
2009/10/08(木) 18:00:07どれも正しくない。
>>65の説明が正しい。
ローカルに無かったらグローバルから探すっていうだけの話。
0093デフォルトの名無しさん
2009/10/08(木) 22:57:540094デフォルトの名無しさん
2009/10/08(木) 23:00:360095デフォルトの名無しさん
2009/10/08(木) 23:14:19何をいわんとしているのか
0096デフォルトの名無しさん
2009/10/08(木) 23:23:14この前どこかで見たぜ
0097デフォルトの名無しさん
2009/10/08(木) 23:32:57直訳で
だいぶいると Python3
翻訳すると
Python3人口は多いです。
0098デフォルトの名無しさん
2009/10/08(木) 23:35:270099デフォルトの名無しさん
2009/10/09(金) 02:19:29翻訳用のファイルを作ってコミットしておいた。
http://code.google.com/p/diveintopython3-ja/
暇人の方は↓のグループに参加申請してくれれば、↑のメンバーに追加します。
http://groups.google.co.jp/group/diveintopython3-trans-ja
0100デフォルトの名無しさん
2009/10/09(金) 12:11:29これはいけるかも
0101デフォルトの名無しさん
2009/10/09(金) 12:24:03ここに移動した方がいい
【実験台】 Python 3.0 のお勉強 Part 1 【非互換】
http://pc12.2ch.net/test/read.cgi/tech/1235050215/
0102デフォルトの名無しさん
2009/10/09(金) 18:47:43直訳は
大仏Python
じゃないか?
0103デフォルトの名無しさん
2009/10/09(金) 18:55:36( ゚ Д゚)
0104デフォルトの名無しさん
2009/10/09(金) 19:00:20naninunenor
海外出張でロンドンのホテルに宿泊中の彼に、バレンタインのチョコレートを渡したいのですが、今から間に合う方法はありますか?国際郵便では間に合いそうにありません。
ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1223130277
0105デフォルトの名無しさん
2009/10/09(金) 19:41:37ディスクリプタみたいな少しつっこんだ仕組みを解説してる文章が日本語であんまりないのも困った。
0106デフォルトの名無しさん
2009/10/09(金) 19:44:180107デフォルトの名無しさん
2009/10/09(金) 19:50:100108デフォルトの名無しさん
2009/10/09(金) 20:22:110109デフォルトの名無しさん
2009/10/09(金) 20:27:14instancemethod, classmethod, staticmethod, property, superとかはぜんぶディスクリプタっていう仕組みで実現されている。
たとえばメソッドの第一引数にselfが渡されるのもディスクリプタのおかげだし、
staticmethod関数とかを自作することもできる。
ふつうは知らなくても問題ないし、知ってても邪悪な黒魔術が使えるだけだけど。
0110デフォルトの名無しさん
2009/10/09(金) 22:27:590111デフォルトの名無しさん
2009/10/09(金) 22:54:57サンクス
漏れは当分ディスクリプタ童貞卒業できなさそうだ
0112デフォルトの名無しさん
2009/10/10(土) 01:35:590113デフォルトの名無しさん
2009/10/10(土) 14:24:370114デフォルトの名無しさん
2009/10/10(土) 14:30:04発音は"でぃ"なのか?
0115デフォルトの名無しさん
2009/10/10(土) 15:59:570116デフォルトの名無しさん
2009/10/10(土) 16:11:530117デフォルトの名無しさん
2009/10/10(土) 23:22:21最初に「ヌル」って言い始めたのは石田晴久?
0118デフォルトの名無しさん
2009/10/11(日) 00:05:29ラテン語やドイツ語では「ヌル」と読む。
0119デフォルトの名無しさん
2009/10/11(日) 13:25:42コンピュータに限らなければ、石田晴久が元祖ということはない。
0120デフォルトの名無しさん
2009/10/11(日) 13:29:44もしそうなら蘭学の時代からそうじゃね?
0121デフォルトの名無しさん
2009/10/11(日) 20:35:470122デフォルトの名無しさん
2009/10/11(日) 20:39:470123デフォルトの名無しさん
2009/10/11(日) 21:00:480124デフォルトの名無しさん
2009/10/13(火) 21:02:21http://d.hatena.ne.jp/eth0jp/20091010/1255134087
arm は流行るのだろうか…
0125デフォルトの名無しさん
2009/10/14(水) 03:32:420126デフォルトの名無しさん
2009/10/18(日) 01:23:58リファレンスが全然優しくないというか、ツリー表示するだけでTkinterとは違うリファレンス見ないといけなくてきつい
0127デフォルトの名無しさん
2009/10/18(日) 02:18:050128デフォルトの名無しさん
2009/10/18(日) 03:09:450129デフォルトの名無しさん
2009/10/19(月) 19:15:51できるだけreplaceとか使ったほうがいいんだろうか
0130デフォルトの名無しさん
2009/10/19(月) 19:53:070131デフォルトの名無しさん
2009/10/19(月) 19:55:050132デフォルトの名無しさん
2009/10/19(月) 22:13:55>>> "netnet".lstrip("net")
"net"
みたいなのを期待してたんだけど、実際は"n","e","t"が
文字列の先頭に来ないように全部の文字列を省いちゃうわけか。
0133デフォルトの名無しさん
2009/10/19(月) 22:16:510134デフォルトの名無しさん
2009/10/19(月) 22:26:010135デフォルトの名無しさん
2009/10/19(月) 22:51:30strip()は文字列の先頭及び末尾から空白文字を取り除いたものを返す
引数を指定するとその文字列が除かれる。お前の例を使うと
>>> 'netxxxnet'.strip('net')
'xxx'
こうなる
0136デフォルトの名無しさん
2009/10/19(月) 23:01:490137デフォルトの名無しさん
2009/10/19(月) 23:11:29stripでもいいんだけども、
>>> 'netentxxxtnenet'.strip('net')
'xxx'
こういう風に"net"じゃなくても、
文字列が除かれるんだっての知らなかったら、
書き込んだだけなんだよ。それだけ。
0138デフォルトの名無しさん
2009/10/19(月) 23:38:330139デフォルトの名無しさん
2009/10/20(火) 00:14:200140デフォルトの名無しさん
2009/10/20(火) 00:39:140141デフォルトの名無しさん
2009/10/20(火) 00:52:330142デフォルトの名無しさん
2009/10/21(水) 22:08:390143デフォルトの名無しさん
2009/10/21(水) 22:10:300144デフォルトの名無しさん
2009/10/23(金) 05:31:450145デフォルトの名無しさん
2009/10/23(金) 13:24:18│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘ おっぱい!おっぱい!
0146デフォルトの名無しさん
2009/10/23(金) 13:25:34│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘ おっぱい!おっぱい!
0147デフォルトの名無しさん
2009/10/23(金) 16:14:542つ質問があります。どうかお願いします。
・画面が一瞬で消える
IDLEのエディタのほうでサンプルを書き込んで実行しても、一瞬だけ
画面(DOS窓?)が出て消えるだけになります。
どうにかして目視で結果を見たいのですが、どうしたら良いですか?
・17Pのturtle
最序盤のturtleをimportするところで、コマンドラインからではなくIDLEの
シェルで行うと、forward 100の1文のみではTurtleが(応答なし)になって
しまいます。
(もう1行線を引く命令を追加すると、どちらも反映されるんですが…)
これは、僕のインストール方法や使用法が何か間違っているんでしょうか?
それとも、みなさん同じことになるんでしょうか?
0148デフォルトの名無しさん
2009/10/23(金) 16:16:59何か不具合でもあるの?
0149デフォルトの名無しさん
2009/10/23(金) 16:21:03IDLEは諦めて、テキストエディタ+コマンドプロンプトで勉強するのがいいと思う
0150デフォルトの名無しさん
2009/10/23(金) 16:36:13それが……、インストールしてあったサクラエディタで同じように打ち
込んでも、やはり一瞬で画面が消えてしまうのです。
#! usr/bin/env python
# coding: utf-8
print "Spam"
コードはこれだけなんですが……。
何度も実行していると、確かに一瞬ではありますがSpamと表示されて
いるようです。動体視力を鍛えろと言うことでしょうかorz
0151デフォルトの名無しさん
2009/10/23(金) 17:24:04コマンドプロンプトを立ち上げる。
python ファイルへのパス
これで実行すれば消えないだろw
0152デフォルトの名無しさん
2009/10/23(金) 17:55:15アイコンをダブルクリックして起動したらダメだよ
0153デフォルトの名無しさん
2009/10/23(金) 19:03:37これ使うと何が便利なんでしょう?
例えば
n = decimal.Decimal(str(n))
って式を見つけたんですか
この場合のnは代入前と後で何が違うんでしょう?
0154デフォルトの名無しさん
2009/10/23(金) 20:00:02>>> sum([0.1] * 10)
0.99999999999999989
>>> sum([decimal.Decimal("0.1")] * 10)
Decimal('1.0')
0155デフォルトの名無しさん
2009/10/23(金) 20:49:21'1.0'
とは違うの
0156デフォルトの名無しさん
2009/10/23(金) 21:04:02http://www.python.jp/doc/nightly/tut/node16.html
0157デフォルトの名無しさん
2009/10/23(金) 22:03:47そもそも型が違うやん
0158デフォルトの名無しさん
2009/10/23(金) 22:35:20最後の行に
raw_input()
を追加する
0159デフォルトの名無しさん
2009/10/23(金) 23:57:11サクラ使ってるんだったら、外部コマンド実行で標準出力〜にチェック入れればいい
0160デフォルトの名無しさん
2009/10/24(土) 02:36:09どっちも同じぐらいに簡単に書けるし
どっちもモジュールが豊富
0161デフォルトの名無しさん
2009/10/24(土) 02:42:46Javaほど速くもないが
0162デフォルトの名無しさん
2009/10/24(土) 02:46:13その辺の他の言語と比べたpythonの立ち位置ってどこになるんだろ
0163デフォルトの名無しさん
2009/10/24(土) 02:58:200164147
2009/10/24(土) 04:37:29できました!ありがとうございます!
調べてみたら、DOS窓からキーボードの入力を受け付ける関数みたいですね。
こういう使い方もあるのかー、と驚いてしまいました。
>>149さん、>>151さん、>>152さん、>>159さん、
みなさんありがとうございます!
ここは親切なインターネッツですね><
0165デフォルトの名無しさん
2009/10/24(土) 09:32:510166デフォルトの名無しさん
2009/10/24(土) 11:32:330167デフォルトの名無しさん
2009/10/24(土) 11:42:32msvcrt.getch()
import os
os.system('pause')
0168デフォルトの名無しさん
2009/10/24(土) 11:44:06http://d.hatena.ne.jp/kwatch/20080305/1204743236
0169デフォルトの名無しさん
2009/10/24(土) 12:04:57http://d.hatena.ne.jp/kwatch/20080305/1204743342
0170デフォルトの名無しさん
2009/10/24(土) 12:13:340171デフォルトの名無しさん
2009/10/24(土) 12:19:340172デフォルトの名無しさん
2009/10/24(土) 12:27:100173デフォルトの名無しさん
2009/10/24(土) 14:49:19「例外的な規則とかが少なくて洗練されている」あたりじゃね?
C++やPerlの例外だらけな仕様と比べるとさ。
0174デフォルトの名無しさん
2009/10/24(土) 16:20:43pythonからClojureに乗り換えても不便ないかと思って
0175デフォルトの名無しさん
2009/10/24(土) 19:37:12これ実はPythonの場合でも
出来ない関数/メソッド多いんだよな
self返せばいいのにNone返しやがる
0176デフォルトの名無しさん
2009/10/24(土) 19:54:09そーいうクソみたいなコード書くなってことだろ
0177デフォルトの名無しさん
2009/10/24(土) 20:08:220178デフォルトの名無しさん
2009/10/24(土) 20:09:57hogehoge.addHogeHage(hogehage)
.addHageHage(hagehage)
……
こんな感じに10行くらい続いてるコード思い出した
0179デフォルトの名無しさん
2009/10/24(土) 20:23:13こういうのはまぁしょうがないかと思うけど……
// func.optX(x).optY(y).optZ(z).exec()
inplaceな処理で戻り値返しちゃうと、
戻り値の意味がわかりづらくなっちゃうよねぇ。
0180デフォルトの名無しさん
2009/10/24(土) 20:28:39// func(hoge,huga).optionX(x).optionY(y).run();
こんな感じ。pythonでいうなら
# func(hoge, huga, x=x, y=y)
こんな感じのことをやっている。
0181デフォルトの名無しさん
2009/10/24(土) 20:28:42途中のどこかでNoneにならないか心配
正規表現のマッチングが足りないとかでよくやってしまう
0182デフォルトの名無しさん
2009/10/24(土) 20:30:230183デフォルトの名無しさん
2009/10/25(日) 03:36:25Clojureはライブラリが多ければLisp触りたいなって人向け
0184デフォルトの名無しさん
2009/10/25(日) 12:46:310185デフォルトの名無しさん
2009/10/25(日) 19:00:450186デフォルトの名無しさん
2009/10/25(日) 19:32:21意外に便利だぜ
0187デフォルトの名無しさん
2009/10/25(日) 22:12:01with Condition(x, y, z):
## 条件がTrueのときだけここを実行
print x, y, z
今はこんな感じでやっている処理があって、これをもっと格好よく書きたいというのが動機です。
@condition(x, y, y)
def block1():
print x, y, y
block1()
0188デフォルトの名無しさん
2009/10/25(日) 22:30:330189デフォルトの名無しさん
2009/10/26(月) 00:16:180190デフォルトの名無しさん
2009/10/26(月) 00:20:290191デフォルトの名無しさん
2009/10/26(月) 21:10:07def skip(): raise TypeError
def condition(x,y,z):
condition.f = lambda inner if x + y == z else skip()
return condition
condition.f = lambda : inner
condition.__enter__ = lambda : condition.f
condition.__exit__ = lambda type,val,trace : isinstance(val,TypeError)
def inner(): return inner
inner.__enter__ = lambda : True
inner.__exit__ = lambda type,val,trace : True
x = y = 1
z = 2
with condition(x,y,z) as f:
with f():
print x, y, z
こんなんしか思い浮かばない
0192デフォルトの名無しさん
2009/10/28(水) 18:34:25@
の使い方ってそう使うんだ
ちょっと勉強になった
0193デフォルトの名無しさん
2009/10/29(木) 18:26:40def hoge():
global a
a = 999
#hoge()
--------main.py-------------
a = 111
from sub import *
hoge()
print a
結果は、111
でも、コメントを外して、
sub.py内で、hoge()を実行してやると
結果は、999
誰か親切な人、どういう事なのか教えてください
それと、hoge()をmain.pyから呼び出して、
aの値を999に変える方法も知りたいです
0194デフォルトの名無しさん
2009/10/29(木) 19:38:390195デフォルトの名無しさん
2009/10/29(木) 20:01:11main.py で hoge() を呼んでも
sub.py の a = 999 してるつもりが
print a で 111 になるっつー話でそ
きっと質問者は ruby のひとだと思う
0196デフォルトの名無しさん
2009/10/29(木) 20:06:440197デフォルトの名無しさん
2009/10/29(木) 20:07:34--------sub.py--------------
def hoge():
global s
s = 999
--------main.py-------------
s = 111
import sub
sub.hoge()
print s
print sub.s
0198デフォルトの名無しさん
2009/10/29(木) 20:15:30s = 0
def hoge():
global s
s = 999
#hoge()
--------main.py-------------
s = 111
from sub import *
hoge()
print s
0199デフォルトの名無しさん
2009/10/29(木) 20:25:06hoge()した場合のfrom sub import *はmain.aをsub.aで上書き
hoge()してない場合のfrom sub... はsub.aが定義されてないからmain.aがそのまま残る
0200デフォルトの名無しさん
2009/10/29(木) 20:29:41だから sub.py の hoge() をコメント取って 999 になるのは
hoge() で main.py の a を書き換えた訳じゃなくて sub.py の a しか書き換えられていない
from sub import * で main.a が隠れて sub.a が前に出てきただけ
0201デフォルトの名無しさん
2009/10/29(木) 20:55:58これ試してみ
--------sub.py--------------
def hoge():
global a
a['hoge'] = 999
#hoge()
--------main.py-------------
a = {'hoge': 2, 'fuga': 3}
a['fuga'] = 111
from sub import *
hoge()
print a
0202デフォルトの名無しさん
2009/10/29(木) 20:57:31まで読んだ
0203デフォルトの名無しさん
2009/10/30(金) 00:18:420204デフォルトの名無しさん
2009/10/30(金) 09:47:440205デフォルトの名無しさん
2009/10/30(金) 13:53:180206デフォルトの名無しさん
2009/10/30(金) 14:04:320207デフォルトの名無しさん
2009/10/30(金) 14:07:130208デフォルトの名無しさん
2009/10/30(金) 14:45:210209デフォルトの名無しさん
2009/10/30(金) 15:27:000210デフォルトの名無しさん
2009/10/30(金) 15:42:280211デフォルトの名無しさん
2009/10/30(金) 17:47:51親切な方々レスありがとさんです
「辞書」と「リスト」は、可変性なので、
インポートで読んだ後も、mainとsubで共有されてるから
hoge()で、subのを更新したらmainのも更新されるけど、
それ以外の数値、文字列とかは、パイソンには
モジュール間をまたぐグローバル変数が無い以上
インポート時に一度代入されておしまいって事であってる?
--------sub.py--------------
a = [0,0]
b = 0
def hoge():
global a,b
a[0] = 999 #リストなので、効果ある
b = 999 #数値なので、効果なし
--------main.py-------------
import sub
a = sub.a #共有される
b = sub.b #代入されるだけ
sub.hoge()
print a,b
----------------------------
結果は、
[999,0] 0
0212デフォルトの名無しさん
2009/10/30(金) 18:04:27変数自体が実体を持ってるCとかとは違う扱い方になる
main.a -> sub.a -> [0,0] じゃなくて main.a -> [0,0] <- sub.a
a[0] = 999 は sub.a に代入する訳ではないので参照はそのまま
同じく main.b -> sub.b -> 0 じゃなくて main.b -> 0 <- sub.b
b = 999 で sub.b の参照が書き換えられる。でも main.b は 0 を参照したまま
0213デフォルトの名無しさん
2009/10/30(金) 20:22:10このスレの Part 26 の 244 辺りですこし試したことあるよ。
http://www.bookshelf.jp/2ch/tech/1209480428.html
0214デフォルトの名無しさん
2009/10/30(金) 23:54:540215デフォルトの名無しさん
2009/10/31(土) 05:37:46Cの3倍遅いのを3台で動かしても無意味。
単一プロセスであまりCより遅くもない(2割り増しくらい??)
なら簡単にクラスタに持っていくとかイイすよな。
内製の古い因子分析プログラム(ゲロ遅い)をPython/Numpy/PyCuda/Parallel Python
などで書き換えられたらいいなぁ。でもソースが悲惨なんだよな…20年位前からあるんだわ。
0216デフォルトの名無しさん
2009/10/31(土) 17:38:27数値や文字列は、使い勝手は値渡しのようだけど、
実際は全部参照渡しなのか
勉強になりますた
execで、名前空間指定してやれば
他のモジュールから数値でも変更できるんだね
あんまスマートじゃないのかな
--------sub.py--------------
def hoge(b):
exec('a = 999',b)
--------main.py-------------
import __main__,sub
a = 0
sub.hoge(__main__.__dict__)
print a
----------------------------
結果は、999
0217デフォルトの名無しさん
2009/10/31(土) 19:14:09__main__.__dict__をhogeに渡すのは反則でしょう
0218デフォルトの名無しさん
2009/11/01(日) 20:59:54ひょっとしたら、他にいい方法がありますかね?
0219デフォルトの名無しさん
2009/11/05(木) 01:38:00別スレッドで走らせるにしてもTkinter側のデータの受け取りをTkAfterでポーリングするとか
微妙なのしか見つからなかったので・・・
socket側で何か起きたらTkinterのイベントが起動するみたいな実装は出来ないでしょうか・・・?
よろしくおねがいします
0220デフォルトの名無しさん
2009/11/05(木) 01:58:260221デフォルトの名無しさん
2009/11/05(木) 03:23:24asyncore
0222デフォルトの名無しさん
2009/11/05(木) 15:59:470223219
2009/11/05(木) 19:31:28レスありがとう
スクリプトの配布も検討しているのでPythonのパッケージのみインストールされている環境で
動くようにしたいので標準で同梱されているライブラリ以外は出来るだけ使いたくないのですが・・・
たびたびすいませんが、よろしくお願いします
0224デフォルトの名無しさん
2009/11/05(木) 19:50:010225デフォルトの名無しさん
2009/11/05(木) 20:36:570226デフォルトの名無しさん
2009/11/06(金) 09:50:21Pythonで学ぶプログラミング作法を読んで興味を持ちました
が、3.01を入れたらハローワールドもできず…
2.x系と3.x系でだいぶ違うようなのですが、初めてのPython第3版で勉強して3.x系でやれますか?
英語のは第4版出てるみたいなのですが、日本語化は来年以降でしょうし…
新規で始めるので、3.x系を覚えていった方がいいとは思うのですが、どの書籍で勉強すればいいか迷ってます
諸先輩からのアドバイス待ってます
0227デフォルトの名無しさん
2009/11/06(金) 10:13:02python 2.xならhttp://diveintopython.org/
0228デフォルトの名無しさん
2009/11/06(金) 10:19:442chで遊んでないで早く翻訳やれよ。
0229デフォルトの名無しさん
2009/11/06(金) 10:59:04新規なら 2.5.x/2.6.x だjk
0230デフォルトの名無しさん
2009/11/06(金) 12:41:01俺じゃないよ...
0231デフォルトの名無しさん
2009/11/06(金) 14:02:56今のところは2.x使っておいたほうがいいよ。
3.xを使っている人はまだほとんどいない。
そもそも2.xと3.xは細かいところが違うだけだから、
2.6をフルにつかっていれば3.xにもすぐ対応できる。たぶんきっと
0232デフォルトの名無しさん
2009/11/06(金) 16:06:430233デフォルトの名無しさん
2009/11/06(金) 16:20:28絶妙な例えだなw
>>226
今はまだ情報が少なかったりで圧倒的に2系がお勧め
0234デフォルトの名無しさん
2009/11/06(金) 16:44:15いや必要なだけの情報はちゃんと公式にドキュメント化されている。
そこらへんはRubyと違い、Pythonのいいところ。
ただ、そのドキュメントはすでに2.xでPythonをマスターしている人むけだから、
>>226のような初心者が既存の書籍で勉強するにはまだ2.xのほうがいい。
0235デフォルトの名無しさん
2009/11/06(金) 16:48:090236デフォルトの名無しさん
2009/11/06(金) 17:02:09urllib使ってベーシック認証のWWWサイトに入るのに
1日掛かった。まぁ、オレは馬鹿だってのは認めるけど?
0237デフォルトの名無しさん
2009/11/06(金) 18:04:020238デフォルトの名無しさん
2009/11/06(金) 18:11:48馬鹿って言うな。経験の差だろ。
他言語のサンプルを見ていれば要領がわかるもの。
良いサンプルはあればあるだけよいよ。
0239226です
2009/11/06(金) 22:08:583.x系はこれから発展していくみたいですね
その頃には俺もある程度慣れてればいいなぁ
みなさんのアドバイスすごく参考になりました
初めてのPython第3版買って、2.x系で勉強しようと思います
0240226です
2009/11/06(金) 22:28:02リスト内包表記やディクショナリってすごい便利ですね。
Cしか知らない無知な僕ですけど、目からうろこでした。
これからもよろしくお願いします。
0241デフォルトの名無しさん
2009/11/06(金) 23:02:310242デフォルトの名無しさん
2009/11/07(土) 00:07:430243デフォルトの名無しさん
2009/11/07(土) 01:08:03urllib basic認証 でぐぐれかす
って感じが多いな俺は。
だれかしらサンプル的コードを書いてる。
まぁ間違ってたり古かったりも多いが。
0244デフォルトの名無しさん
2009/11/07(土) 01:15:150245デフォルトの名無しさん
2009/11/07(土) 02:05:210246デフォルトの名無しさん
2009/11/07(土) 02:15:450247デフォルトの名無しさん
2009/11/07(土) 03:11:20FTPLibだったかな、コマンドを手書きするやつ。
どうしてretrbinaryに'RETR xxxxx'って書かないといけないんだろう。
0248デフォルトの名無しさん
2009/11/07(土) 14:47:000249デフォルトの名無しさん
2009/11/07(土) 14:55:01こんなの?
>>> 'hoge\n'.strip()
'hoge'
0250デフォルトの名無しさん
2009/11/07(土) 15:00:56そんなの。
ありがとう。
0251デフォルトの名無しさん
2009/11/07(土) 15:08:470252デフォルトの名無しさん
2009/11/07(土) 17:36:44b 付きのヤツは decode しとけばいいのかな
0253デフォルトの名無しさん
2009/11/07(土) 18:00:36http://pc12.2ch.net/test/read.cgi/tech/1235050215/
0254デフォルトの名無しさん
2009/11/07(土) 18:01:26http://pc12.2ch.net/test/read.cgi/tech/1235050215/
0255デフォルトの名無しさん
2009/11/07(土) 18:02:190256デフォルトの名無しさん
2009/11/07(土) 19:23:35使いたいライブラリが対応してなかったり、調べようとしても情報が少なかったりで、しなくてもいい苦労をたくさんした気がする。
0257デフォルトの名無しさん
2009/11/07(土) 19:27:58運悪く意地悪な回答者に当たったとか
0258デフォルトの名無しさん
2009/11/07(土) 19:30:510259デフォルトの名無しさん
2009/11/07(土) 19:43:552系だと今度はエンコードでちょいと苦労することもある
そんな俺は2.6+うにこーどりてらる
>>258
Vistaに飛び付くタイプ、じゃね?
バージョン的にも互換性的にも
0260デフォルトの名無しさん
2009/11/07(土) 19:48:317は真っ先に手に入れるだろ。
3を使わなくてもアプリは出来るが、
7はないと動かない人が出てくる。
他人の作ったプログラムを使うことはあっても、
自分で作って他人に使ってもらったことないのか?
0261デフォルトの名無しさん
2009/11/07(土) 19:50:34http://pc12.2ch.net/test/read.cgi/win/1257516077/
0262デフォルトの名無しさん
2009/11/07(土) 20:01:34まだSP1も出てないのに新しいものは良いだろうと安易に飛びつくと言う意味の比喩であろう
>>232 を転用したんだけど、なるほどプログラマだとそういう発想があるか。
趣味グラマだから動作確認のためにまだ使わない7を買うほど他人の事考えてやってない。
0263デフォルトの名無しさん
2009/11/09(月) 19:40:53以下のようにしたけどだめでした。
class Foo(object):
def __init__(self, name):
self.name = name
def f1(self):
print self.name
obj = Foo("foo")
obj.f1 = f1 # インスタンスごとに独自の関数を与える
print obj.f1 # <function f1 at 0x100483d70>
obj.f1() # TypeError: f1() takes exactly 1 argument (0 given)
ここで obj.f1 が function ではなく bound method になればいいんだと思うんですが、方法が分かりません。
ご存知の方がいましたら教えてください。
0264デフォルトの名無しさん
2009/11/09(月) 19:54:06obj.f1 = MethodType(f1, obj, Foo)
もしくは
obj.f1 = MethodType(f1, obj)
0265デフォルトの名無しさん
2009/11/09(月) 20:09:130266デフォルトの名無しさん
2009/11/09(月) 20:17:04動作が確認できました。ありがとうございました。
0267デフォルトの名無しさん
2009/11/10(火) 11:16:27横からだけどありがと。
今まで↓みたいにしかできないものだと思ってた。
obj = Foo("foo")
def f1():
print obj.name
obj.f1 = f1
obj.f1()
0268デフォルトの名無しさん
2009/11/10(火) 16:55:16items = ["foo", "baaar", "bz"]
max_by(lambda x: len(x), items) #=> "baaar"
みたいなのです。
0269デフォルトの名無しさん
2009/11/10(火) 17:04:420270デフォルトの名無しさん
2009/11/10(火) 17:22:51>>> max(["11","111","22"])
'22'
>>> max(["11","111","22"],key=len)
'111'
おお、こんなこと出来たのか
0271デフォルトの名無しさん
2009/11/10(火) 17:37:540272デフォルトの名無しさん
2009/11/10(火) 18:15:590273デフォルトの名無しさん
2009/11/10(火) 18:37:08ありがとうございます。
max()のドキュメントをみたら、max(1, 2, 3, 4) みたいな使い方をするみたいだったので、
max([1,2,3,4]) のようにリストを取れるとは知りませんでした。
0274デフォルトの名無しさん
2009/11/10(火) 18:49:39もし max がリストを受け取らないとしても、
max(*["11", "111", "22"], key=len)
のように * でリストのアンパックをすれば利用できるよ。
* は便利だから覚えておいたほうがいい。
0275デフォルトの名無しさん
2009/11/10(火) 18:53:490276デフォルトの名無しさん
2009/11/10(火) 20:05:28インデントは要求してくるのに
0277デフォルトの名無しさん
2009/11/10(火) 22:28:20横からだけど
数字(int)とみなして比較して
22 じゃなくて 111 が max になるようにするには?
0278デフォルトの名無しさん
2009/11/10(火) 22:33:020279デフォルトの名無しさん
2009/11/10(火) 22:48:41で "111"が返ってくるな。
0280デフォルトの名無しさん
2009/11/10(火) 23:05:0811
0281デフォルトの名無しさん
2009/11/10(火) 23:16:22ここの key と同じでしょ
0282デフォルトの名無しさん
2009/11/10(火) 23:25:17>>> sorted(['19', '210', '181', '22'], key=lambda x: max(c for c in x))
['210', '22', '181', '19']
こんなのもありか
知らなかった
�dx
0283デフォルトの名無しさん
2009/11/10(火) 23:38:22ん?
含まれている文字の最大の文字でソート、で合ってる?
2,2,8,9
ってことだよね?
0284デフォルトの名無しさん
2009/11/11(水) 09:48:20多分。
c for c in x って書き方もアリなのか、
*x とか list(x)の方が分かりやすい印象。
それにしてもしっかりドキュメントに書いてあるのな、気付かなかったわ。
0285デフォルトの名無しさん
2009/11/11(水) 09:59:47['210', '22', '181', '19']
0286デフォルトの名無しさん
2009/11/11(水) 12:26:03でもいいんじゃね
0287デフォルトの名無しさん
2009/11/11(水) 14:44:53ttp://www.itmedia.co.jp/news/articles/0911/11/news041.html
> 公式ブログによると、“Pythonのようなダイナミック言語での開発スピードと、
> CやC++のようなコンパイル言語の持つ性能と安全性を併せ持つ”という。
The Go Programming Language
ttp://golang.org/
どうなのかね
0288デフォルトの名無しさん
2009/11/11(水) 15:33:290289デフォルトの名無しさん
2009/11/11(水) 23:26:03YouTubeとGoogleは分かったので、それ以外で有名どころを教えてください。
0290デフォルトの名無しさん
2009/11/11(水) 23:41:180291デフォルトの名無しさん
2009/11/12(木) 00:04:300292デフォルトの名無しさん
2009/11/12(木) 00:11:120293デフォルトの名無しさん
2009/11/12(木) 00:25:27Wikipediaでも見れ
0294デフォルトの名無しさん
2009/11/12(木) 00:31:020295デフォルトの名無しさん
2009/11/12(木) 00:32:230296デフォルトの名無しさん
2009/11/12(木) 00:33:180297デフォルトの名無しさん
2009/11/12(木) 01:09:27思いつくのはtracとかzopeかな。
wikipediaに記事があったよ。
http://ja.wikipedia.org/wiki/Pythonを使っている製品あるいはソフトウェアの一覧
0298デフォルトの名無しさん
2009/11/12(木) 01:10:55[3,4,5].get(9, None)
みたいなことができればうれしい。
0299デフォルトの名無しさん
2009/11/12(木) 01:35:030300デフォルトの名無しさん
2009/11/12(木) 01:39:41奇遇ですね
0301デフォルトの名無しさん
2009/11/12(木) 01:43:49dict(zip([3,4,5],[True]*3)).get(9, None)
0302デフォルトの名無しさん
2009/11/12(木) 01:45:200303デフォルトの名無しさん
2009/11/12(木) 01:46:24[3,4,5].count(9) or None
0304デフォルトの名無しさん
2009/11/12(木) 01:47:400305デフォルトの名無しさん
2009/11/12(木) 09:25:50print 'string'.encode('utf8') # OK
print 'string'.encode('utf-8') # OK
0306デフォルトの名無しさん
2009/11/12(木) 09:31:16>>> codecs.lookup('utf8').name
'utf-8'
>>> codecs.lookup('sjis').name
'shift_jis'
0307デフォルトの名無しさん
2009/11/12(木) 10:17:23print 'string'.encode('cp932') # OK
print 'string'.encode('mbcs') # OK
print 'string'.encode('shift_jis') # OK
0308デフォルトの名無しさん
2009/11/12(木) 10:32:08純粋な Shift-JIS が shift_jis
Windowsで使われている、MSの拡張が入ったShift-JISが cp932
で、 mbcs というのは、 Windows においてPython起動時に site.py というファイルの中で
Windowsの言語設定をもとに設定される cp??? へのエイリアス。
もちろんWindowsの言語設定が日本だと cp932。
0309デフォルトの名無しさん
2009/11/12(木) 10:39:49mbcs を使っておくのがよさげな気がします
0310デフォルトの名無しさん
2009/11/12(木) 11:18:28ちょっと待て、分かっているのかもしれないが念のため
どれを使えばいいかはケースバイケースで、
常にどれかを使っておけばよい、というようなものじゃないよ
0311デフォルトの名無しさん
2009/11/12(木) 12:55:270312デフォルトの名無しさん
2009/11/12(木) 12:58:560313デフォルトの名無しさん
2009/11/12(木) 12:59:050314デフォルトの名無しさん
2009/11/12(木) 13:15:570315デフォルトの名無しさん
2009/11/12(木) 13:20:480316デフォルトの名無しさん
2009/11/12(木) 13:21:290317デフォルトの名無しさん
2009/11/12(木) 13:22:430318デフォルトの名無しさん
2009/11/12(木) 15:11:08さんくすです。307は違う人だけど、308も参考になりました。
0319デフォルトの名無しさん
2009/11/12(木) 18:03:390320デフォルトの名無しさん
2009/11/12(木) 18:55:460321デフォルトの名無しさん
2009/11/13(金) 12:41:00[3,4,5][9:9+1]で[]が返る、っていうのがたまに使える
0322デフォルトの名無しさん
2009/11/13(金) 14:30:51それは普通に len([3,4,5]) > 9 で良くない?
0323デフォルトの名無しさん
2009/11/13(金) 14:40:540324デフォルトの名無しさん
2009/11/13(金) 15:06:48もちろん。「たまに」って書いたのは、こういうパターンの時。
if flags[i:i+2] == [101, 202]:
....
範囲と値の検査が同時にできる。
0325デフォルトの名無しさん
2009/11/13(金) 15:15:57確かに便利だ
0326デフォルトの名無しさん
2009/11/13(金) 19:01:18またValueErrorとTypeErrorの使い分けの指針はありますか。
0327デフォルトの名無しさん
2009/11/13(金) 19:28:24Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: math domain error
0328デフォルトの名無しさん
2009/11/13(金) 19:49:010329デフォルトの名無しさん
2009/11/13(金) 19:58:340330デフォルトの名無しさん
2009/11/13(金) 20:00:510331デフォルトの名無しさん
2009/11/13(金) 20:06:390332デフォルトの名無しさん
2009/11/13(金) 20:07:49デマ
0333デフォルトの名無しさん
2009/11/13(金) 20:31:29例:math.cos("hello")
ValueErrorは、型は合ってるが中身が変な時。
例:int("hello")
http://docs.python.org/library/exceptions.html?highlight=valueerror+typeerror
0334デフォルトの名無しさん
2009/11/13(金) 21:12:09ありがとうございます。
0335デフォルトの名無しさん
2009/11/13(金) 21:21:24math.log(-1)
0336デフォルトの名無しさん
2009/11/14(土) 21:46:30cmath.log(-1)
0337デフォルトの名無しさん
2009/11/15(日) 01:38:59(途中で切れたり、一部化けている可能性がある)。でも読めるところは読みたい場合って
どのようにしたらいいですかね?
今UTF-8からSJISをやっているんですがencode/decodeメソッドだと例外が発生しちゃうし・・・
nkfとか使えば出来るのだろうけどPython標準パッケージのみで何とかしたいのですが・・・
0338デフォルトの名無しさん
2009/11/15(日) 01:49:260340デフォルトの名無しさん
2009/11/15(日) 21:36:240341デフォルトの名無しさん
2009/11/15(日) 22:34:480342デフォルトの名無しさん
2009/11/15(日) 22:39:380343デフォルトの名無しさん
2009/11/15(日) 22:41:02Python終了
0344デフォルトの名無しさん
2009/11/15(日) 22:43:540345デフォルトの名無しさん
2009/11/15(日) 23:03:53それなら英語読め
0346デフォルトの名無しさん
2009/11/15(日) 23:05:470347デフォルトの名無しさん
2009/11/15(日) 23:06:30Recommendation against Python?
http://groups.google.com/group/unladen-swallow/browse_thread/thread/4edbc406f544643e?pli=1
0348デフォルトの名無しさん
2009/11/15(日) 23:09:070349デフォルトの名無しさん
2009/11/15(日) 23:09:53要約please
0350デフォルトの名無しさん
2009/11/15(日) 23:14:360351デフォルトの名無しさん
2009/11/15(日) 23:22:53マジレスすると日本語されたから訳がわからないんじゃなくて
訳のわからない原文を訳しているから訳がわからない
0352デフォルトの名無しさん
2009/11/15(日) 23:24:06普通のリファレンスだと思うが・・・
0353デフォルトの名無しさん
2009/11/15(日) 23:24:060354デフォルトの名無しさん
2009/11/15(日) 23:53:46じゃあ聞くけどlistオブジェクトで呼べるメソッドと
そのメソッドが定義されているクラスはリファレンスの
何処を見れば判る?
0355デフォルトの名無しさん
2009/11/16(月) 00:05:47別の場所でも話題になっていたがライブラリリファレンスのビルトインまわりは
ドキュメントの質が特にひどいね
0356デフォルトの名無しさん
2009/11/16(月) 00:07:18help([])
0357デフォルトの名無しさん
2009/11/16(月) 00:08:440358デフォルトの名無しさん
2009/11/16(月) 00:09:520359デフォルトの名無しさん
2009/11/16(月) 00:10:23俺はキーワードで list を入力して operations on で見に行く。
0360デフォルトの名無しさん
2009/11/16(月) 01:39:27英語だしリファレンスにするには説明が簡単すぎるよ(´・ω・`)
0361デフォルトの名無しさん
2009/11/16(月) 02:28:26つ 3.6.4 変更可能なシーケンス型
0362デフォルトの名無しさん
2009/11/16(月) 08:33:13これでPython初心者に「理解しろ」と言ってしまう奴はきっとモテないだろうなあ
0363デフォルトの名無しさん
2009/11/16(月) 08:36:010364デフォルトの名無しさん
2009/11/16(月) 08:37:220365デフォルトの名無しさん
2009/11/16(月) 08:38:020366デフォルトの名無しさん
2009/11/16(月) 08:45:02ま,バカの遺伝子はそいつの世代で消え去るべきだよね〜。
0367デフォルトの名無しさん
2009/11/16(月) 08:46:360368デフォルトの名無しさん
2009/11/16(月) 08:51:570369デフォルトの名無しさん
2009/11/16(月) 18:18:090370デフォルトの名無しさん
2009/11/16(月) 19:33:310371デフォルトの名無しさん
2009/11/16(月) 20:06:560372デフォルトの名無しさん
2009/11/16(月) 20:12:530373デフォルトの名無しさん
2009/11/16(月) 20:29:450374デフォルトの名無しさん
2009/11/16(月) 20:42:23スレ伸びたからみんなうれしいんだよ
0375デフォルトの名無しさん
2009/11/16(月) 21:58:210376デフォルトの名無しさん
2009/11/16(月) 22:11:51低脳
0377デフォルトの名無しさん
2009/11/16(月) 22:23:02非モテ
0378デフォルトの名無しさん
2009/11/16(月) 22:32:240379デフォルトの名無しさん
2009/11/16(月) 22:33:270380デフォルトの名無しさん
2009/11/16(月) 22:57:180381デフォルトの名無しさん
2009/11/16(月) 22:59:320382デフォルトの名無しさん
2009/11/16(月) 23:16:58ティモテー
モルスァー
0383デフォルトの名無しさん
2009/11/16(月) 23:56:22phpは他言語に興味ないか自虐ネタに走るし、PerlもPythonには興味ないし、
Pythonスレを汚すのってRuby厨くらいしかいないんだよ。
0384デフォルトの名無しさん
2009/11/17(火) 00:50:090385デフォルトの名無しさん
2009/11/17(火) 13:06:010386デフォルトの名無しさん
2009/11/17(火) 13:51:35Rubyなんか忘れたらいいよ、そのほうが楽しい人生遅れるよ
0387デフォルトの名無しさん
2009/11/17(火) 14:45:280388デフォルトの名無しさん
2009/11/17(火) 15:26:11まったくだ。Python使ってるとRuby使う意味なんて皆無と言っていいから
Rubyは全く気にかけてない。
なのになぜかPythonスレにはRuby厨が来て荒らすんだよなぁ。
0389デフォルトの名無しさん
2009/11/17(火) 15:34:52I know python programmer has foolish meadow (:
0390デフォルトの名無しさん
2009/11/17(火) 17:42:05両方使っている俺は来ちゃいけない訳か・・・
0391デフォルトの名無しさん
2009/11/17(火) 17:50:50で選択した領域のインデントを一括で下げる方法ってありましたでしょうか
0392デフォルトの名無しさん
2009/11/17(火) 18:57:01Pythonに興味があってこのスレ来たら
怖い人たちばっかりでかなり引いてしまった
今思えば馬鹿よけだったんだなぁと
もうすっかりPython漬けで
Rubyなんて全然使ってません
残念ながらRubyの必要性を感じない
0393デフォルトの名無しさん
2009/11/17(火) 19:09:07ここの怖い人たちが過疎スレの原因作ってるとしか思えない
0394デフォルトの名無しさん
2009/11/17(火) 19:27:530395デフォルトの名無しさん
2009/11/17(火) 19:40:34とりあえずお前らは数値かどうかの判定どうやってる?
0396デフォルトの名無しさん
2009/11/17(火) 19:51:400397デフォルトの名無しさん
2009/11/17(火) 20:05:03try exceptで囲んでintで変換するだけ
unicodedata使うと多少スマートになるけどややこしいことはしない方がいい
0398デフォルトの名無しさん
2009/11/17(火) 22:36:57Rubyの方がリファレンスマニュアルで頭を抱えることが少ないしコーディング量も少なくてすむ
配布すること自体まず無いから自分が使えれば困らないし
>>397
Pythonで書いていると例外をトラップしなければいけないことが多い・・・
0399デフォルトの名無しさん
2009/11/17(火) 22:52:440400デフォルトの名無しさん
2009/11/17(火) 22:55:37B. 例外を補足しないと止まる
どっちがいいのって話だね
Goは例外ないみたいだけど
0401デフォルトの名無しさん
2009/11/17(火) 22:57:350402デフォルトの名無しさん
2009/11/17(火) 23:00:09>>398
っPerl
0403デフォルトの名無しさん
2009/11/17(火) 23:39:12エラーなのに変な戻り値ってどんな処理系だwww
>>402
Perlはソースを見ているだけで頭痛がするのでアリエナーイ
0404デフォルトの名無しさん
2009/11/17(火) 23:43:46=> 0
うん、ありえないね
漏れPythonもRubyも使うけど普通にワロタ
0405デフォルトの名無しさん
2009/11/17(火) 23:55:16実行続ける代わりにトレースバック出して止まるだけだから、
エラーが起こらないうちはBでもAでも楽チンなのは変わらない。
0406デフォルトの名無しさん
2009/11/18(水) 00:09:29オイオイ・・・リファレンスマニュアルを読めよ・・・
ttp://doc.okkez.net/static/187/method/String/i/to_i.html
>整数とみなせない文字があればそこまでを変換対象とします。変換対象が空文字列であれば 0 を返します。
↑の文が理解できればリファレンスマニュアルに沿った動作であり問題ないだろ?
動作が気に入らなきゃ該当メソッドをオーバーライドすれば良かろう
って激しくスレ違いだなw
そういえばPythonを使うようになってから気になっているんだがPythonって標準クラスライブラリに対する
メソッドの追加やメソッドのオーバーライドって出来ないのか?
0407デフォルトの名無しさん
2009/11/18(水) 00:13:16py-shift-region-rightとpy-shift-region-left
C-c >
C-C <
0408デフォルトの名無しさん
2009/11/18(水) 00:22:38んとね、to_iの戻り値から
* 変換した結果として0を返したのか
* 何も変換できるものがなかったから0を返したのか
区別が付かないのが嫌なの
リファレンスマニュアルに書いてあるとかそういう問題じゃなくてね
んでオーバーライドってのは笑うところだよね
0409デフォルトの名無しさん
2009/11/18(水) 00:29:150410デフォルトの名無しさん
2009/11/18(水) 00:31:34これはもう自己中乙って言って良いよなw
そしてやっぱり、リファレンスマニュアルを読まないのなw
>Kernel.#Integer,〜 も参照してください。
ご丁寧に書いてあるのに・・・
0411デフォルトの名無しさん
2009/11/18(水) 00:33:100412デフォルトの名無しさん
2009/11/18(水) 00:42:52これ以上はアンチスレでやった方が良いかな
0413デフォルトの名無しさん
2009/11/18(水) 00:44:480414デフォルトの名無しさん
2009/11/18(水) 00:51:54pythonしか知らない俺からすれば408の方が的確な事言ってる気がするしな
0415デフォルトの名無しさん
2009/11/18(水) 00:53:16それに対して「仕様通りの動作だ」とか言ってるのは論点がズレてるんだよ。
0416デフォルトの名無しさん
2009/11/18(水) 00:55:40既存のクラスを継承した独自クラスで自分の好きな動作を実装したらいいじゃない。
0417デフォルトの名無しさん
2009/11/18(水) 00:56:37不動産屋さんに言って断ろうと思ったら間取りどおりですよっていわれたみたいな
0418デフォルトの名無しさん
2009/11/18(水) 00:57:48汎用的なひとつのメソッドがあるほうが良いな。
Kernel#Integerと string.to_i の動作の違いなんて覚えたくないし。
0419デフォルトの名無しさん
2009/11/18(水) 01:01:13その例えは微妙だなw
まあ敢えて乗っかるならその先はデザインの好みの問題だからなんとも。
少なくともここでやる話じゃないな
0420デフォルトの名無しさん
2009/11/18(水) 01:03:07オーバーライドとオーバーロードが混ざってる
0421デフォルトの名無しさん
2009/11/18(水) 01:08:28動作に関して気に入らないなら好きの使えば?でFAだろ
0422デフォルトの名無しさん
2009/11/18(水) 01:09:140423デフォルトの名無しさん
2009/11/18(水) 01:22:040424デフォルトの名無しさん
2009/11/18(水) 01:26:030425デフォルトの名無しさん
2009/11/18(水) 01:26:37まさか大域脱出のためとか…ググってワロタw
0426デフォルトの名無しさん
2009/11/18(水) 07:57:430427デフォルトの名無しさん
2009/11/18(水) 08:30:42てかASCIIのwだと、「笑い」と打つのを略したことにならんだろう。
0428デフォルトの名無しさん
2009/11/18(水) 10:53:53SymPyとか?
http://code.google.com/p/sympy/
http://docs.sympy.org/
Polynomials Module
http://docs.sympy.org/modules/polynomials.html
0429デフォルトの名無しさん
2009/11/18(水) 10:56:310430デフォルトの名無しさん
2009/11/18(水) 11:44:13http://thinkpython.blogspot.com/2005/03/symbolic-expressions-in-python.html
http://git.tiker.net/pymbolic.git
いっそじぶんで書いてみるってのも手だw
sympy は多機能すぎて追い駆けづらい…
0431デフォルトの名無しさん
2009/11/18(水) 19:21:26http://code.google.com/intl/ja/appengine/docs/python/gettingstarted/helloworld.html
これをやろうとしていますが、「アプリケーションのテスト」のところで、
「次のコマンドで helloworld ディレクトリまでのパスを指定し、Web サーバーを起動します。
google_appengine/dev_appserver.py helloworld/」
からわからなくなりました。
コマンドプロンプトで実行するんでしょうか。
helloworldフォルダをどこにおくべきでしょうか。どう指定するのでしょうか。
よろしくお願いいたしますorz
0432デフォルトの名無しさん
2009/11/18(水) 19:35:09マルチポストすんな
どうせここの住民は向こうも見てるよ
0433デフォルトの名無しさん
2009/11/18(水) 20:33:39Ruby で "hennano".to_i が 0 になるのは、Cのatoi()由来でしょ。awkとかperlとか古い言語はそうだし。
"abc".to_i が 0 になるのと、Integer("abc") で例外が投げられるのと、二種類用意されているんだから、使い分ければいいだけじゃん。
そんなに気にすることか?
0434デフォルトの名無しさん
2009/11/18(水) 21:13:570435デフォルトの名無しさん
2009/11/18(水) 21:20:410436デフォルトの名無しさん
2009/11/18(水) 21:33:14気持ち悪いな。他は全部統一されてるのに。
そもそも、例外投げないバージョンが必要な理由がわからない。なんで一つじゃいけないの?
どっちが例外投げるバージョンだったか、なんていうバッドノウハウを増やさないといけない
論理的な理由があるの?
Cのatoiは、そもそも例外が無い言語だkら、エラーコードを使うとAPIが複雑になるという
理由が歩けど、例外のある言語がatoiと同じインタフェースにする必要性は無いと思う。
0437デフォルトの名無しさん
2009/11/18(水) 21:35:30誤変換放置するようなヤツの言うことよりRubyの動作のが納得できるわ
0438デフォルトの名無しさん
2009/11/18(水) 22:03:450439デフォルトの名無しさん
2009/11/18(水) 22:04:070440デフォルトの名無しさん
2009/11/18(水) 22:19:410441デフォルトの名無しさん
2009/11/18(水) 22:22:48"abc".to_i が 0 って誤変換だろ
これじゃ品質を担保できないんだよ
0442デフォルトの名無しさん
2009/11/18(水) 22:26:450443デフォルトの名無しさん
2009/11/18(水) 22:29:040444デフォルトの名無しさん
2009/11/18(水) 23:17:580445デフォルトの名無しさん
2009/11/18(水) 23:21:340446デフォルトの名無しさん
2009/11/18(水) 23:23:080447デフォルトの名無しさん
2009/11/18(水) 23:23:560448デフォルトの名無しさん
2009/11/19(木) 00:07:210449デフォルトの名無しさん
2009/11/19(木) 00:58:440450デフォルトの名無しさん
2009/11/19(木) 01:04:37try:
return int(s)
except ValueError, e:
return 0
0451デフォルトの名無しさん
2009/11/19(木) 03:32:170452デフォルトの名無しさん
2009/11/19(木) 07:22:42>そもそも、例外投げないバージョンが必要な理由がわからない。なんで一つじゃいけないの?
>どっちが例外投げるバージョンだったか、なんていうバッドノウハウを増やさないといけない
>論理的な理由があるの?
お前なあ。
pythonだって、例外を投げるdict[]と投げないdict.get()が用意されているだろ。
str.find()は例外を投げないけどstr.index()は投げるだろ。
それを使い分けるのはバッドノウハウなのか?
一生懸命rubyの欠点をあげつらっているつもりだろうけど、pythonでもおんなじようなものだから、やめといたほうがいいよ。恥かくだけ。
rubyにトラウマ抱えている人は大変だなほんと。
0453デフォルトの名無しさん
2009/11/19(木) 08:24:100454デフォルトの名無しさん
2009/11/19(木) 08:29:380455デフォルトの名無しさん
2009/11/19(木) 09:14:17dict.get()は例外を投げないが
デフォルト値をちゃんと指定するようになってる
勝手に0を返したりとかはしない
0456デフォルトの名無しさん
2009/11/19(木) 09:15:530457デフォルトの名無しさん
2009/11/19(木) 10:11:180458デフォルトの名無しさん
2009/11/19(木) 11:11:360459デフォルトの名無しさん
2009/11/19(木) 11:17:53一行を try-catch で囲うくらいなら if で分岐できたほうが良いので、find()が便利。
でも、部分文字列が見つかるはず && もっと大域のtry-catchにエラー処理を任せられるならば
if + raise よりも index() の方が便利。
どちらもエラー処理が可能だし、使い分けるための理由がちゃんとある。
0460デフォルトの名無しさん
2009/11/19(木) 13:19:23バッファオーバーランだらけになるんだろうな
入力値のチェックをしないらしいからな
0461デフォルトの名無しさん
2009/11/19(木) 13:47:060462デフォルトの名無しさん
2009/11/19(木) 13:52:32Pythonを好んで使うような人は暗黙の何とかが嫌いだろ
0463デフォルトの名無しさん
2009/11/19(木) 14:48:110464デフォルトの名無しさん
2009/11/20(金) 02:56:26使いやすい?
0465デフォルトの名無しさん
2009/11/24(火) 11:36:56UnicodeEncodeErrorになります
「〜」とかはうまくいったんですが上の2文字がUnicodeEncodeErrorになるのです
0466デフォルトの名無しさん
2009/11/24(火) 11:43:35http://pc12.2ch.net/test/read.cgi/tech/1256350845/230-286
0467デフォルトの名無しさん
2009/11/24(火) 11:53:27sitecustomize.pyで
import sys
sys.setdefaultencoding("cp932")
で設定したらいけました、ありがとう
0468デフォルトの名無しさん
2009/11/28(土) 09:49:38Javaとか.NETもやりようによってはソースコード丸見えらしいですが、普通は見えないらしいです
pythonには隠す方法はないんですかね?
0469デフォルトの名無しさん
2009/11/28(土) 09:59:23いまいちピンと来ないんだが、コンパイル言語みたいにexeとかの実行方式で配布したいってこと?
スクリプト言語ではこれは無理なような気がするけど、py2exeもスクリプトファイル内包してたよな…
単純に配布時に見せたくないってだけだったら、zipなりlzhなりで固めてから配布すればいいだけだと思う
0470デフォルトの名無しさん
2009/11/28(土) 10:09:31すみません、目的を言うと、ある程度ソースコードの機密性を確保したいという事なんですが
やはりスクリプト言語は私の目的には合わないですかねー
非常にエレガントなpythonの記述法に興味を持ったのですが…
0471デフォルトの名無しさん
2009/11/28(土) 10:14:47わかんねえよ
ハッカー相手なら何やっても無駄だから諦めろ、それはどんな言語を使っても
同じ
0472デフォルトの名無しさん
2009/11/28(土) 10:16:140473デフォルトの名無しさん
2009/11/28(土) 10:18:21なるほど、コードをそのまま配布するわけじゃないんですね。
ありがとうございます。ぱっと見て分からなければ十分です。
0474デフォルトの名無しさん
2009/11/28(土) 10:24:08素直に諦めてください。
0475デフォルトの名無しさん
2009/11/28(土) 10:28:310476デフォルトの名無しさん
2009/11/28(土) 10:29:240477デフォルトの名無しさん
2009/11/28(土) 10:29:31.pyc/.pyoがあれば動くので、.pyを配布したくなければ配布する必要は無い
zipimportというJavaでいうjarのような機能もあるんで
.pyc/.pyoをさらにzipで固めてもいいよ
Windowsならpy2exeが手軽だが
0478デフォルトの名無しさん
2009/11/28(土) 10:30:31ただ単にコード見られたくないだけなら
py2exe使えばわざわざ見る人は居ないと思うよ
0479デフォルトの名無しさん
2009/11/28(土) 10:32:20バイトコンパイルされたファイルを配布しても問題になることは普通ないと思う
あとは>>471と同じ
正直Reflector使えば笑えるくらい綺麗に出力される.NETよりマシ
0480デフォルトの名無しさん
2009/11/28(土) 10:39:45py2exeで十分な気がしてきました。
これもデコンパイラを使えば見えてしまうようですが、そこまでする相手には何をしても無駄ですよね
0481デフォルトの名無しさん
2009/11/28(土) 23:51:04python向けのツールのお奨め教えてください。
0482デフォルトの名無しさん
2009/11/29(日) 01:06:01HTMLじゃないけど、ctagsでいいんじゃないだろうか
0483デフォルトの名無しさん
2009/11/30(月) 07:17:02PyPy速いなあ
0484デフォルトの名無しさん
2009/11/30(月) 07:28:550485デフォルトの名無しさん
2009/11/30(月) 10:38:200486デフォルトの名無しさん
2009/11/30(月) 11:00:130487デフォルトの名無しさん
2009/11/30(月) 16:31:400488デフォルトの名無しさん
2009/11/30(月) 17:01:490489デフォルトの名無しさん
2009/11/30(月) 20:34:010490デフォルトの名無しさん
2009/11/30(月) 21:50:47a == None と a is None のどちらがいいのでしょうか?
0491デフォルトの名無しさん
2009/11/30(月) 21:53:130492デフォルトの名無しさん
2009/11/30(月) 22:26:49not a
0493デフォルトの名無しさん
2009/11/30(月) 22:43:060494デフォルトの名無しさん
2009/11/30(月) 23:56:29is None が正解
0495デフォルトの名無しさん
2009/11/30(月) 23:57:24- None のようなシングルトンとの比較には、いつも「is」や「is not」を
使うべきである。
また「if x is not None」を表現するのに「if x」と書けることを知って
おくこと。たとえば、デフォルトで None が代入される変数や引数に、他
の値を持っていることをテストするときに使える。他の値には、False も
含まれることに注意。
0496デフォルトの名無しさん
2009/12/01(火) 00:27:00a == None
がダメな理由って何?
0497デフォルトの名無しさん
2009/12/01(火) 00:28:480498デフォルトの名無しさん
2009/12/01(火) 00:53:330499デフォルトの名無しさん
2009/12/01(火) 01:00:31どうやるか異なるからややこしい
統一してくれよ
0500デフォルトの名無しさん
2009/12/01(火) 01:14:450501デフォルトの名無しさん
2009/12/01(火) 01:22:23== はオーバーロード可能な演算子。
a.__eq__(other) の実装しだいでは、 a が None ではなくても a == None になり得る。
あと、 is の方が速い。
あとは、== は「同値」かどうかを判定するための演算子で、
is は「同一」かどうかを判定するための演算子。
シングルトンの性質上、「同一性」を判定するほうが正しい。
この辺は Java の equals() と == の違いと一緒。
個人的に、 == が同値で is が同一になっているPythonの方がJavaよりも好き。
0502490
2009/12/01(火) 01:31:29ありがとうございました
0503デフォルトの名無しさん
2009/12/01(火) 02:00:03まちがってね?
Also, beware of writing "if x" when you really mean "if x is not None"
-- e.g. when testing whether a variable or argument that defaults to
None was set to some other value. The other value might have a type
(such as a container) that could be false in a boolean context!
"if x is not None" を意図しているときに "if x" と書いてしまわないように
注意してください。たとえば、デフォルト値を None に設定した変数や引数に他
の値が代入されたかどうかをテストするときに注意が必要です。「他の値」が、
boolean context で false になるような型 (たとえばコンテナなど) の場合も
あります。
0504デフォルトの名無しさん
2009/12/01(火) 03:15:37==じゃなくてisを使うのが当然だとかなんてダブルスタンダードwww
0505デフォルトの名無しさん
2009/12/01(火) 03:57:25日本語使えますか?と聞きたくなるレスだな
0506デフォルトの名無しさん
2009/12/01(火) 04:46:59結構はまりどころなのかも
http://effbot.org/zone/element.htm#truth-testing
0507デフォルトの名無しさん
2009/12/01(火) 07:27:15その日本語訳間違ってるな
原文と意味が違う
- Comparisons to singletons like None should always be done with
'is' or 'is not', never the equality operators.
Also, beware of writing "if x" when you really mean "if x is not None"
-- e.g. when testing whether a variable or argument that defaults to
None was set to some other value. The other value might have a type
(such as a container) that could be false in a boolean context!
0508デフォルトの名無しさん
2009/12/01(火) 07:33:45ぇYにェt:、ヽ
/´ `ミ、}} ハ
{ i.j!゙レ' }
!|i i lj| |_,.ィ
|l!{、川!l|lfT´ lヘ
|!Y^t_lリi^| _,ゝ、)
r'r_ノ r' 〔
⌒`
0509デフォルトの名無しさん
2009/12/01(火) 07:34:42概出だった
すまそ
0510デフォルトの名無しさん
2009/12/01(火) 07:37:340 と '' と empty (コンテナ) と False と None をごっちゃにするのは perl の悪臭
0511デフォルトの名無しさん
2009/12/01(火) 09:54:38そこまでひどい間違いがあると
http://oldriver.org/python/pep-0008j.html
ほかにも間違ってる罠がありそうで怖くて参考にならないなw
原文読んだ方がいいわ
0512デフォルトの名無しさん
2009/12/01(火) 10:22:03英文読める人にとっていちいち日本語に訳すことほど面倒なことはないんだから
訳してくれる人は貴重
0513デフォルトの名無しさん
2009/12/01(火) 13:48:280514デフォルトの名無しさん
2009/12/01(火) 15:08:43それってblogの誤った情報と一緒だな
填って無駄に時間を消費する危険がある
0515デフォルトの名無しさん
2009/12/01(火) 15:41:11そうだね
漏れはpythonの内部コード表現=UNICODE=UTF-8っていうサイトを見て信じてひどい目にあった
0516デフォルトの名無しさん
2009/12/01(火) 15:50:560517デフォルトの名無しさん
2009/12/01(火) 15:57:50え、ちがうの?くわしい話を聞こうか
0518デフォルトの名無しさん
2009/12/01(火) 16:27:270519デフォルトの名無しさん
2009/12/01(火) 16:31:370520デフォルトの名無しさん
2009/12/01(火) 17:26:300521デフォルトの名無しさん
2009/12/01(火) 19:16:210522デフォルトの名無しさん
2009/12/01(火) 19:45:560523デフォルトの名無しさん
2009/12/01(火) 21:04:06Rubyの使用を強制されることは少ないが
Pythonの使用を強制されることは結構ある
0524デフォルトの名無しさん
2009/12/01(火) 22:09:440525デフォルトの名無しさん
2009/12/02(水) 00:59:290526デフォルトの名無しさん
2009/12/02(水) 02:06:580527デフォルトの名無しさん
2009/12/02(水) 08:29:210528デフォルトの名無しさん
2009/12/02(水) 08:32:110529デフォルトの名無しさん
2009/12/02(水) 08:37:120530デフォルトの名無しさん
2009/12/02(水) 09:19:420531デフォルトの名無しさん
2009/12/02(水) 11:02:090532デフォルトの名無しさん
2009/12/02(水) 12:07:49お目にかかったことがない
0533デフォルトの名無しさん
2009/12/02(水) 13:31:47truacより便利そうだから導入したいけど
導入方法がめんどくさい
0534デフォルトの名無しさん
2009/12/02(水) 14:05:240535デフォルトの名無しさん
2009/12/02(水) 14:20:420536デフォルトの名無しさん
2009/12/03(木) 15:16:16お勧めのライブラリってどれでしょうか?
pygame ?
web上でも表示できるとうれしいのですが
0537デフォルトの名無しさん
2009/12/03(木) 15:21:23アブストラクトで賞
0538デフォルトの名無しさん
2009/12/03(木) 15:51:10googleの3次元描画してるやつって何で動いてるんだろ
0539デフォルトの名無しさん
2009/12/03(木) 18:02:30どこが面倒くさいんだ。
むしろTracより楽だろ。
0540デフォルトの名無しさん
2009/12/04(金) 13:06:49RoRを入れるのが特に面倒
0541デフォルトの名無しさん
2009/12/04(金) 15:03:00IEが足引っぱって来年も出ない気がする。
0542デフォルトの名無しさん
2009/12/04(金) 19:53:51たった数十文字打ち込むのが面倒なの?
よくプログラミングできるね
0543デフォルトの名無しさん
2009/12/04(金) 20:18:26ニホンゴ リカイ デキマスカ?
0544デフォルトの名無しさん
2009/12/04(金) 20:33:060545デフォルトの名無しさん
2009/12/04(金) 20:35:190546デフォルトの名無しさん
2009/12/04(金) 22:18:480547デフォルトの名無しさん
2009/12/04(金) 22:31:260548デフォルトの名無しさん
2009/12/04(金) 23:00:010549デフォルトの名無しさん
2009/12/04(金) 23:02:410550デフォルトの名無しさん
2009/12/04(金) 23:25:420551デフォルトの名無しさん
2009/12/04(金) 23:55:150552デフォルトの名無しさん
2009/12/05(土) 00:00:490553デフォルトの名無しさん
2009/12/05(土) 00:23:10Perl以下だ
0554デフォルトの名無しさん
2009/12/05(土) 00:39:46↓
0555デフォルトの名無しさん
2009/12/05(土) 00:56:520556デフォルトの名無しさん
2009/12/05(土) 10:20:05svnとかに影響与えないように RoRを入れるのが難しいんだよ
0557デフォルトの名無しさん
2009/12/05(土) 22:34:08消えろ
0558デフォルトの名無しさん
2009/12/05(土) 22:42:140559デフォルトの名無しさん
2009/12/06(日) 01:21:23subprocess.Popenでffmpegを起動させてるのね。
それで、第一引数には配列を渡して、shell=Falseにして、pythonからffmpegが実行されるようにしたんだけど、
たまに python - cmd.exe - ffmpegっていう風に、直接 ffmpeg が実行されないことがあるんだよね。
cmd.exeが間に入ると、サブプロセスを強制終了させたときに、cmd.exeが死んでるのに
ffmpegが残っちゃうことがあるんだよね。
cmd.exeを間に入れないようにする方法か、孫プロセスも確実に一緒に終了させる方法ないかな。
0560デフォルトの名無しさん
2009/12/06(日) 01:29:310561デフォルトの名無しさん
2009/12/06(日) 01:36:090562デフォルトの名無しさん
2009/12/06(日) 01:49:450563デフォルトの名無しさん
2009/12/06(日) 02:30:070564デフォルトの名無しさん
2009/12/06(日) 11:43:25Python 2.5.4 (r254:67916, Nov 19 2009, 22:14:20)
[GCC 4.3.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from visual import *
>>> redbox=box(pos=vector(4,2,3), size=(8.,4.,6.),color=color.red)
(<unknown>:3864): GdkGLExt-WARNING **: Cannot open \xc0j\xf6\u0001
(<unknown>:3864): GdkGLExt-WARNING **: Cannot open \xe0\xca\xf6\u0001
glibmm-ERROR **:
unhandled exception (type std::exception) in signal handler:
what: Unable to get extension function: glCreateProgramObjectARB even though the extension is advertised.
aborting...
Process Python aborted
0565デフォルトの名無しさん
2009/12/06(日) 12:58:28このへんの話?
http://msdn.microsoft.com/ja-jp/library/cc429376.aspx
ほんとにcmd.exeが間に入ってるの?
0566デフォルトの名無しさん
2009/12/06(日) 16:19:34>>> a=1 # int is immutable
>>> b=1
>>> a is b
------> True
>>> a=() # tuple is immutable
>>> b=()
>>> a is b
------> True
>>> a=[] # list is mutable
>>> b=[]
>>> a is b
------> False
>>> a=(1,) # tuple and int are immutable
>>> b=(1,)
>>> a is b
------> False
なんで最後だけFalseになるのか分からない。
0567デフォルトの名無しさん
2009/12/06(日) 16:59:191) int型の値が同一になるのは、-255〜256までの値のオブジェクトが内部的に使い回される実装になってるだけ。
2) 空のタプルも使い回される
3) 別のオブジェクトなので同一ではない
4) 別のオブジェクトなので同一ではない
------
>>> a = 256
>>> b = 256
>>> a is b
True
>>> a = 257
>>> b = 257
>>> a is b
False
短い文字列も使い回される
>>> a = "abc" * 6
>>> b = "abc" * 6
>>> a is b
True
>>> b = "abc" * 7
>>> a = "abc" * 7
>>> a is b
False
0568デフォルトの名無しさん
2009/12/06(日) 17:19:28基本的に実装依存。同一、あるひは非同一だと仮定してはいけない。
CPythonでもたとえば1は同一だけど1000は同一にならないとかあるし、バージョンによって
異なる可能性もある。
0569デフォルトの名無しさん
2009/12/06(日) 17:34:350570デフォルトの名無しさん
2009/12/07(月) 00:02:51トンクス
同一性が保証されてるのはNone/True/Falseくらいなもんか。
0571デフォルトの名無しさん
2009/12/07(月) 00:28:07思いつきでよく考えたわけじゃないが、
RPCとか分散python(not parallelpython)みたいなものなら
違う動きをしてもおかしくない気がする。
0572デフォルトの名無しさん
2009/12/07(月) 09:13:07正直あの辺のネーミングセンスは何とかならんのかのう
と思ったら
DeprecationWarning: The popen2 module is deprecated. Use the subprocess module.
なのね
0573デフォルトの名無しさん
2009/12/07(月) 21:22:240574デフォルトの名無しさん
2009/12/07(月) 21:52:33とりあえず Python 3 になったら整理されてるから、3が主流になるまでは我慢。
0575デフォルトの名無しさん
2009/12/07(月) 21:55:100576デフォルトの名無しさん
2009/12/07(月) 22:14:180577デフォルトの名無しさん
2009/12/07(月) 23:12:36おっぱい好きな人にはそれがわからんとです
0578デフォルトの名無しさん
2009/12/07(月) 23:14:26それはおかしい
0579デフォルトの名無しさん
2009/12/07(月) 23:18:170580デフォルトの名無しさん
2009/12/07(月) 23:49:310581デフォルトの名無しさん
2009/12/07(月) 23:54:39つまりこういうことか
import urllib2
urllib = urllib2
0582デフォルトの名無しさん
2009/12/08(火) 00:28:112と3両対応のコード書きたいときとか必須だな
0583デフォルトの名無しさん
2009/12/08(火) 02:50:42いらないだろw
0584デフォルトの名無しさん
2009/12/08(火) 08:47:34> It is not recommended to try to write source code
> that runs unchanged under both Python 2.6 and 3.0
0585デフォルトの名無しさん
2009/12/08(火) 10:00:26import urllib2 as urllib, urllib2
0586デフォルトの名無しさん
2009/12/08(火) 17:50:46やっぱできないのかねぇ
パレットに設定された色はすげーきれいなんだけど
0587デフォルトの名無しさん
2009/12/08(火) 23:27:50うろ覚えだが、urllib2使ってても
時々urllibも同時に使う必要が有った気がする。
0588デフォルトの名無しさん
2009/12/08(火) 23:35:310589デフォルトの名無しさん
2009/12/08(火) 23:38:43matplotlibと比べてどうなの?
0590デフォルトの名無しさん
2009/12/09(水) 00:50:000591デフォルトの名無しさん
2009/12/09(水) 00:52:06どうして3を作った・・・
0592デフォルトの名無しさん
2009/12/09(水) 00:52:51別途書けってことだろ
0593デフォルトの名無しさん
2009/12/09(水) 01:06:44それはpython2だ
urllibにしかない関数がある。
0594デフォルトの名無しさん
2009/12/09(水) 08:13:23そう、matplotlibはグラフ作成だけどVPythonは3DCGを作れる。
一応グラフ作成昨日もちょっとあるけど、普通のグラフならmatplotlibの方が良いと思う。
OpenGLモジュールは面倒くて挫折したけどVPythonはほんと簡単。
0595デフォルトの名無しさん
2009/12/09(水) 09:58:57Chaco(Enthoughtのやつ)なんてのもあるみたいだよ
どうインストールするのかよくわからんかった… orz
0596デフォルトの名無しさん
2009/12/09(水) 16:05:53C: 以外のドライブにインストールすると正常に動作しない
なんとかならんのかね
0597デフォルトの名無しさん
2009/12/09(水) 17:07:00Vpythonで遊んでる人がいる
0598デフォルトの名無しさん
2009/12/09(水) 18:14:40using Pyglet instead of PyOpenGL
とか言ってる人もいるけど
0599デフォルトの名無しさん
2009/12/10(木) 09:28:110600デフォルトの名無しさん
2009/12/10(木) 14:00:45@window.event
というのが良くわからない
0601デフォルトの名無しさん
2009/12/10(木) 14:03:150602デフォルトの名無しさん
2009/12/10(木) 15:03:560603デフォルトの名無しさん
2009/12/10(木) 15:57:380604デフォルトの名無しさん
2009/12/10(木) 16:00:02すまない、pytonは知らないや。
0605デフォルトの名無しさん
2009/12/10(木) 19:51:200606デフォルトの名無しさん
2009/12/10(木) 21:27:380607デフォルトの名無しさん
2009/12/10(木) 21:28:550608デフォルトの名無しさん
2009/12/10(木) 22:06:570609デフォルトの名無しさん
2009/12/10(木) 22:26:550610デフォルトの名無しさん
2009/12/10(木) 22:28:350611デフォルトの名無しさん
2009/12/10(木) 22:33:590612デフォルトの名無しさん
2009/12/10(木) 22:41:49アッー!
0613デフォルトの名無しさん
2009/12/10(木) 22:58:000614デフォルトの名無しさん
2009/12/10(木) 23:25:550615デフォルトの名無しさん
2009/12/11(金) 09:36:340616デフォルトの名無しさん
2009/12/11(金) 12:34:59http://www.python.org/download/releases/2.7/
0617デフォルトの名無しさん
2009/12/11(金) 12:41:130618デフォルトの名無しさん
2009/12/11(金) 12:41:400619デフォルトの名無しさん
2009/12/11(金) 12:43:32これが2系の最終版になる予定。2.8は無い。
0620デフォルトの名無しさん
2009/12/11(金) 12:54:34一般人は2.5使うでしょ。
0621デフォルトの名無しさん
2009/12/11(金) 13:23:10一部のアプリが対応していないから2.5っていう
個人的事情を「一般人」を自称して言うのは問題人だね
0622デフォルトの名無しさん
2009/12/11(金) 14:03:210623デフォルトの名無しさん
2009/12/11(金) 14:16:300624デフォルトの名無しさん
2009/12/11(金) 17:44:39でも現実的には色んなモジュールが対応しない限り
2.5が使われ続けるよね。
0625デフォルトの名無しさん
2009/12/11(金) 17:47:32動くよ。deprecated warningは大量に出るだろうけど。
Python 2.7 は Python 3.1 の機能のうち OrderedDictとか Python 2系でも動くものが移植されてる。
ほかにも、パフォーマンス向上とかしてる。
0626デフォルトの名無しさん
2009/12/11(金) 19:33:55charset=windows-874 っていうのが混ざってて
LookupError: unknown encoding: windows-874
で堕ちてしまいました
unicode 化するときに python が知らないよってことなんだと思うのですが
こういう場合代替手段なんかはあるのでしょうか?
例外拾って無視するしかないですか?
(結局オリジナルのソースを見ると
中身は SPAM だということが分かったので
無視でもいいんですが・・・)
0627デフォルトの名無しさん
2009/12/11(金) 19:51:27だな
0628デフォルトの名無しさん
2009/12/11(金) 20:07:310629デフォルトの名無しさん
2009/12/11(金) 20:12:42aliases['windows_874'] = 'cp874'
encodings._cache がキャッシュだから必要に応じて消してね
0630デフォルトの名無しさん
2009/12/11(金) 21:42:03ありがとうございます
UnicodeDecodeError しか拾ってないのが原因でしたので
exception (UnicodeDecodeError, LookupError), e:
hogehoge
で解決しました
0631デフォルトの名無しさん
2009/12/11(金) 21:45:05そんな方法もあるんですね
でも今回たまたま 874 だっただけで
今後不明なエンコーディング指定があるかも知れないし
悪意のあるメールだとエンコーディング情報も出鱈目の可能性を考えないといけないので
無意味なエンコーディング情報が渡されたときも正常に動作しないといけないのです
0632デフォルトの名無しさん
2009/12/12(土) 01:08:19組み込みオブジェクトにメソッド追加したりはできるんでしょうか?
0633デフォルトの名無しさん
2009/12/12(土) 01:17:480634デフォルトの名無しさん
2009/12/12(土) 01:37:33お前らホントにRubyキライなのな
0635デフォルトの名無しさん
2009/12/12(土) 01:47:05まぁRuby自体もパッしないと思うけどなー
0636デフォルトの名無しさん
2009/12/12(土) 01:53:320637632
2009/12/12(土) 01:55:38例えば文字列オブジェクトに変換処理を追加したいんですよ。
>>> "aiueo".to_kana()
あいうえお
とかやりたいんですけど、なにか方法はないでしょうか?
0638デフォルトの名無しさん
2009/12/12(土) 01:56:300639632
2009/12/12(土) 02:15:12別に僕がruby厨かどうかは良いとして、どうなんでしょう、
組み込みオブジェクトをオーバーライドはできないんですか?
class strとかは意味なかったです。
0640デフォルトの名無しさん
2009/12/12(土) 02:17:15そもそもPythonにメソッドチェーンの文化ないし、無理やりメソッドにしてもそんなにメリットないよ。
PythonならPythonらしく関数使いな。
0641632
2009/12/12(土) 02:27:49ありがとうございます。了解しました。これ試してから、
諦めて関数つかいます!http://www.shido.info/py/python9.html
0642デフォルトの名無しさん
2009/12/12(土) 03:02:25それだと(新しく定義した文字列クラスを ore_string として)こんな感じになるね。
>>> ore_string("aiueo").to_kana()
でもそれだったら
>>> to_kana("aiueo")
で十分じゃね?
0643632
2009/12/12(土) 03:26:37ありがとうございます!
そうなんですよね。結局"aiueo".to_kana()が出来なかったら、
コンストラクタ書く分どうしても見通しが悪いんですよね。
python3.0とかでいじれるようにとかは、、ならないですよね。
関数で行く事にします!
0644デフォルトの名無しさん
2009/12/12(土) 04:10:380645デフォルトの名無しさん
2009/12/12(土) 04:34:44我が道を行くって所があるから思想理解してないと違和感感じる事が多いと思う
0646デフォルトの名無しさん
2009/12/12(土) 10:22:59あいうえお
俺Rubyやってるけどこう言うのマジキモイ
こういう表現出てくる度に吐き気がする
でもPythonのタブブロックはもっとキモイのでしょうがなくRubyやってる
0647デフォルトの名無しさん
2009/12/12(土) 10:37:30でも時々クラスも使いたくなる漏れには最高の言語です
0648デフォルトの名無しさん
2009/12/12(土) 11:07:32-e:1: undefined method `to_kana' for "aiueo":String (NoMethodError)
>>646 は何を言ってるんだ?
0649デフォルトの名無しさん
2009/12/12(土) 11:37:10Rubyは既存のクラスにあとからメソッドを追加できるんだよ。
0650デフォルトの名無しさん
2009/12/12(土) 11:48:540651デフォルトの名無しさん
2009/12/12(土) 11:53:40↓
"aiueo".to_kana()が可能になる。
FUCK
0652デフォルトの名無しさん
2009/12/12(土) 11:56:290653632
2009/12/12(土) 13:52:54"aiueo".to_kanaとかできると、そのクラスとかテストのコードが
非常にすっきりします。
確かになんでもかんでもやるとあれですけど、閉じたコンテキストの中で
使用する分には便利な機能だと思います。
あとはweb系でvalidationとかにも、個人的には使いたいです。
0654デフォルトの名無しさん
2009/12/12(土) 14:42:390655デフォルトの名無しさん
2009/12/12(土) 14:44:29pythonでも出来るんじゃないの?
0656632
2009/12/12(土) 14:53:48是非、教えて下さい!
0657デフォルトの名無しさん
2009/12/12(土) 15:16:310658デフォルトの名無しさん
2009/12/12(土) 16:05:21理由は >>652 とおなじだと思う
0659デフォルトの名無しさん
2009/12/12(土) 21:46:46なんか注目される前にフェードアウトしそうな雰囲気だけど
Djangoはどうなんだろうな
0660デフォルトの名無しさん
2009/12/13(日) 00:43:570661デフォルトの名無しさん
2009/12/13(日) 04:08:190662デフォルトの名無しさん
2009/12/14(月) 03:35:35Tkinter.Tkを継承したAppというクラスのコンストラクタにおいて、
super(App,self).__init__()とすると、typeじゃなくて
これはclassオブジェクトだとエラーがでる。
なにがまずい?
http://gist.github.com/255551
0663デフォルトの名無しさん
2009/12/14(月) 03:42:09Tk.__init__(self)にしろ
0664デフォルトの名無しさん
2009/12/14(月) 09:54:540665デフォルトの名無しさん
2009/12/14(月) 10:02:05読み込んだタイミングでそのPATHを再帰的に標準出力やログに書き出す方法ってない?
import文に割り込みをかけるような感じだと思うんだけど。
0666デフォルトの名無しさん
2009/12/14(月) 10:22:090667デフォルトの名無しさん
2009/12/14(月) 10:26:550668デフォルトの名無しさん
2009/12/14(月) 10:29:17importするモジュールがまたimportを呼びだすから、必然的に再帰的になる。
>>667
今書いているプログラムが読み込んでいるモジュールのスクリプトファイルの一覧が欲しい。
exe化を行うため。
0669デフォルトの名無しさん
2009/12/14(月) 10:34:50modulefinder嫁
0670デフォルトの名無しさん
2009/12/14(月) 10:46:370671デフォルトの名無しさん
2009/12/14(月) 11:05:310672デフォルトの名無しさん
2009/12/14(月) 12:16:22画像としてしか貼れないので、貼った後の編集ができない
pylabはsvg形式では保存できるらしいけどsvgをパワーポイントに貼る方法がわからない
0673デフォルトの名無しさん
2009/12/14(月) 12:17:080674デフォルトの名無しさん
2009/12/14(月) 12:31:570675デフォルトの名無しさん
2009/12/14(月) 13:33:46知らなかった。
0676デフォルトの名無しさん
2009/12/14(月) 13:46:27じゃあさようならpython
0677デフォルトの名無しさん
2009/12/14(月) 13:52:340678デフォルトの名無しさん
2009/12/14(月) 14:27:530679デフォルトの名無しさん
2009/12/14(月) 20:07:402.5.xを入れるべきか2.6.xを入れるべきか迷っています。
もしよろしければアドバイスをお願いいたします
0680デフォルトの名無しさん
2009/12/14(月) 20:20:430681デフォルトの名無しさん
2009/12/14(月) 20:37:11入る奴を素直に使えばいいんじゃないかと。
0682デフォルトの名無しさん
2009/12/15(火) 00:38:20勝手に入る香具師だと2.3とかだったりする
0683デフォルトの名無しさん
2009/12/15(火) 00:40:220684デフォルトの名無しさん
2009/12/15(火) 00:42:060685デフォルトの名無しさん
2009/12/15(火) 00:50:460686デフォルトの名無しさん
2009/12/15(火) 02:28:090687デフォルトの名無しさん
2009/12/15(火) 06:05:280688デフォルトの名無しさん
2009/12/15(火) 06:47:300689デフォルトの名無しさん
2009/12/15(火) 07:03:21ちゃんと入れ直した方がいいよ
0690デフォルトの名無しさん
2009/12/15(火) 07:52:11セキュリティーパッチやアップデートのたびに面倒くさいことになる
環境構築が趣味のやつなら止めないけど
0691デフォルトの名無しさん
2009/12/15(火) 10:39:490692デフォルトの名無しさん
2009/12/15(火) 13:14:010693デフォルトの名無しさん
2009/12/15(火) 13:21:10lispとpythonとperlだけでよし
0694デフォルトの名無しさん
2009/12/15(火) 13:27:410695デフォルトの名無しさん
2009/12/15(火) 13:29:410696デフォルトの名無しさん
2009/12/15(火) 13:49:040697デフォルトの名無しさん
2009/12/15(火) 14:26:18好きな人にはそれがいいのかもしれんが
0698デフォルトの名無しさん
2009/12/15(火) 16:15:34rubyのユーザはたった1人なんだよ
0699デフォルトの名無しさん
2009/12/15(火) 16:34:41買った書籍が2.5を対象に書かれているようなので、2.5.x入れることにしました
今回はWindowsなのですが、Unixにも手をだすつもりだったのでとても参考になりました。
0700デフォルトの名無しさん
2009/12/15(火) 19:28:56糞 perl に納得がいかなくてブランチしたはずなのに
もろ perl を引き摺ってるお
0701デフォルトの名無しさん
2009/12/16(水) 00:25:180702デフォルトの名無しさん
2009/12/16(水) 13:45:210703デフォルトの名無しさん
2009/12/16(水) 19:03:19昔segwayのプロトタイプのプログラムはpythonですべて書いたと聞いたことがあるのですが、
pythonではモーターの制御とかロータリエンコーダの入力やジャイロセンサの入力
の処理までできるものなのでしょうか?
0704デフォルトの名無しさん
2009/12/16(水) 21:58:210705デフォルトの名無しさん
2009/12/17(木) 00:14:36組み込み系のPythonはどうなってるのか、まったく知らないが、PC用でよければ、
ctypes使うかCでpythonモジュール書くか、シリアルデバイスであればpySerialってのもあるらしい。
http://www.python.jp/doc/contrib/pySerial/README_JP.txt
けど、Pythonでモータ制御できるようにメーカーが積極的にそういうモジュールなりを用意しているかどうかは知らない。
LabViewとかの方が一般的なんじゃないかなぁ。
0706デフォルトの名無しさん
2009/12/17(木) 06:22:31Arduino使ってるとかかもね。
シリアルで通信すればおk
0707デフォルトの名無しさん
2009/12/18(金) 01:54:10f=open("foo.txt") か f=file("foo.txt") かどっちがいいの?
0708デフォルトの名無しさん
2009/12/18(金) 02:02:26open。以下マニュアルより
> file 型のコンストラクタです。
> ...
> ファイルを開くときは、このコンストラクタを直接呼ばずに open() を呼び出すのが望ましい方法です。
> file は型テストにより適しています (たとえば "isinstance(f, file)" と書くような)。
0709デフォルトの名無しさん
2009/12/19(土) 02:14:580710デフォルトの名無しさん
2009/12/22(火) 11:29:47時々うごかないらしいけど
pythonは基本的にwindowsかlinuxが前提になってるってことでいいの?
マックはあまり使われない?
0711デフォルトの名無しさん
2009/12/22(火) 12:53:18そんなことない。
LinuxやWindowsを前提としたライブラリはたくさんあるけれど、標準ライブラリのほとんどは
クロスプラットフォームに作られている。
0712デフォルトの名無しさん
2009/12/22(火) 13:27:540713デフォルトの名無しさん
2009/12/22(火) 14:51:220714デフォルトの名無しさん
2009/12/22(火) 17:23:120715デフォルトの名無しさん
2009/12/22(火) 18:09:10Visual C++ をインストールしていれば勝手にレジストリから検索してコンパイルしてくれるし、
Windows SDK も環境変数一つ設定しておくだけであとは全自動だし。
0716デフォルトの名無しさん
2009/12/24(木) 08:54:332にするとwxPythonらしきファイルが消えて
GUIの表示もwxっぽくなくなりました
0717デフォルトの名無しさん
2009/12/24(木) 12:11:520718デフォルトの名無しさん
2009/12/24(木) 13:00:54Cならヘッダとpython.exeとかのソース見た方が早い。ドキュメントにも大体載ってる
C++は知らん
0719デフォルトの名無しさん
2009/12/24(木) 13:29:320720デフォルトの名無しさん
2009/12/25(金) 20:10:160721デフォルトの名無しさん
2009/12/25(金) 22:16:13例えば、
http://foo.example.com/countries/1/states/7
http://foo.example.com/countries/2/states/4
を、
http://country-1.example.jp/state/7
http://country-2.example.jp/state/4
のような URL にマップしたいのですが実現可能でしょうか。
ASP.NET の <urlMappings> のような機能がやりたいことに近い感じです。
現在、コントローラは REST コントロラーとして以下のようにマップしています。
map.resource('state', 'states',
parent_resource=dict(member_name='country',
collection_name='countries'))
0722721
2009/12/25(金) 22:19:37http://foo.example.com/countries/1
の部分を
http://foobar.example.jp/
のような任意ドメインのルートに固定でマップしたいということです。
0724デフォルトの名無しさん
2010/01/02(土) 07:45:160725デフォルトの名無しさん
2010/01/02(土) 11:27:20Python標準ライブラリ
/usr/lib/python/site-packages
Python非標準ライブラリ
ユーザー・管理者用
/usr/lib/python/dist-packages
Python非標準ライブラリ
一部のディス鳥が作成・使用
(ユーザー・管理者の管理下であるsite-packagesへ勝手に入れるわけにもいかないので)
0726デフォルトの名無しさん
2010/01/02(土) 17:11:50ありがとうございます。
site-packagesにぶち込めばいいんですね!
0727デフォルトの名無しさん
2010/01/06(水) 10:47:14data.decode( "utf-8" )すると、文字化けるんですが
どうにかなりませんか
0728デフォルトの名無しさん
2010/01/06(水) 10:49:28どうして
data.decode('iso-2022-jp')
しないんだ?
0729デフォルトの名無しさん
2010/01/06(水) 10:50:000730デフォルトの名無しさん
2010/01/06(水) 10:52:38文字化けるんですが
0731デフォルトの名無しさん
2010/01/06(水) 10:56:25print u'\u6587\u5b57\u5316\u3051\u308b\u3093\u3067\u3059\u304c'.encode('utf-8').decode('utf-8')
0732デフォルトの名無しさん
2010/01/06(水) 11:10:25それ、ひょっとしてidle上でやってる?
Pythonに内蔵されているインタラクティブシェルは大丈夫なんだけど、PythonでPythonの
インタラクティブシェルを作るとそうなってしまう。
Python3では発生しない問題だし、Python2系でも回避可能な問題だけど、idleはハマる。
0733デフォルトの名無しさん
2010/01/07(木) 00:12:11ありがとうございます。
data.decode( "iso-2022-jp" )したところ、例外が多発しました。
たとえば、"思" などの漢字を変換できません。
0734デフォルトの名無しさん
2010/01/07(木) 00:32:190735デフォルトの名無しさん
2010/01/07(木) 00:34:06'\x1b$B;W\x1b(B'.decode('iso-2022-jp')
とかやると UnicodeDecodeError が発生するってこと?
0736733
2010/01/07(木) 01:30:390737デフォルトの名無しさん
2010/01/07(木) 01:36:15こんなメッセージでした。2連投さーせん
0738デフォルトの名無しさん
2010/01/07(木) 01:48:32それは、 irc がiso-2022-jpを強制しているわけではないので、
iso-2022-jp以外のエンコーディングのメッセージもircに流れているから
だと思われます。
try:
umsg = msg.decode('iso-2022-jp')
except UnicodeDecodeError:
try:
umsg = msg.decode('utf-8')
except:
umsg = msg.decode('iso-2022-jp', replace)
0739デフォルトの名無しさん
2010/01/07(木) 11:03:08>umsg = msg.decode('iso-2022-jp', replace)
NameError: nane 'replace' is not defined
0740デフォルトの名無しさん
2010/01/07(木) 11:04:450742デフォルトの名無しさん
2010/01/07(木) 11:26:270743デフォルトの名無しさん
2010/01/07(木) 12:20:050744デフォルトの名無しさん
2010/01/07(木) 12:48:580745デフォルトの名無しさん
2010/01/07(木) 18:58:42お勧めPython本が「初めてのPython 第二版」になってた。
そのまま読むのを止めたので、他にどんな古い情報が書いてあるのか知らない。
0746デフォルトの名無しさん
2010/01/08(金) 00:22:240747デフォルトの名無しさん
2010/01/08(金) 09:38:22一応 python がターゲットなんじゃなかったっけ?
読んでないけど
0748デフォルトの名無しさん
2010/01/08(金) 13:06:41このGoogle App Engineというのはcgiで動かせばHPとして使うこともできるのでしょうか?
0749デフォルトの名無しさん
2010/01/08(金) 14:10:27実際は本当の初心者なんです
って雰囲気の裏の裏をかく高度な釣りだな?
0750デフォルトの名無しさん
2010/01/08(金) 14:32:43そんなこと書き込む暇があったら答えろや、カス
0751デフォルトの名無しさん
2010/01/08(金) 14:59:47だがそれも放置され哀愁漂うエンディングへと繋がります。
0753デフォルトの名無しさん
2010/01/08(金) 15:22:09まずはPer/CGIやPHPから始めたほうがいいよ。
0754デフォルトの名無しさん
2010/01/08(金) 16:02:53perlやphpよりも難しいでしょうか?
0755デフォルトの名無しさん
2010/01/08(金) 16:17:52>お勧めPython本が「初めてのPython 第二版」になってた。
書店で手に取って,同じところが気になった.
そして買わずに帰ってきた.
0756デフォルトの名無しさん
2010/01/08(金) 16:48:170757デフォルトの名無しさん
2010/01/08(金) 17:28:54何エキスパートか知らないけど
0758デフォルトの名無しさん
2010/01/08(金) 17:47:530759デフォルトの名無しさん
2010/01/08(金) 18:48:250760デフォルトの名無しさん
2010/01/08(金) 18:50:010761デフォルトの名無しさん
2010/01/08(金) 20:54:120762デフォルトの名無しさん
2010/01/09(土) 02:20:03公開するならきちんとやらなきゃ、って思い始めると
関連知識が足りないから資料集めて、
最低この本は読んどかなきゃって本が読み切れなくてまだ手がつかない。
ってことない?
0763デフォルトの名無しさん
2010/01/09(土) 02:29:22画面をクリアしようと思ったらclsかclearをos.systemで呼ぶ。
ctypesとFillConsoleOutputCharacterの使い方は後で調べる。
0764デフォルトの名無しさん
2010/01/09(土) 06:42:40詳しい話(言語仕様、バイトコードとか)が載ってるおすすめの本、教えてください
言語の進化が早く陳腐化が激しいそうであまりなさそうですが・・・
0765デフォルトの名無しさん
2010/01/09(土) 09:29:030766デフォルトの名無しさん
2010/01/09(土) 10:01:39値段の割に薄かったので買わなかったけど。ぼったくりか?
0767デフォルトの名無しさん
2010/01/09(土) 10:36:11_, ._
( ・ω・) んもー
○={=}〇, ( ´・ω・) もー
|:::::::::\, ', ´ |o={=}o ,',,
、、、、し、、`(.@)wwwwwwwwwしw((@)wwwwwwwwwwwwwwwwwwww
0768デフォルトの名無しさん
2010/01/09(土) 17:07:050769デフォルトの名無しさん
2010/01/09(土) 18:18:52言語仕様
http://docs.python.org/reference/
バイトコード
http://docs.python.org/library/dis.html#python-bytecode-instructions
0770デフォルトの名無しさん
2010/01/09(土) 19:29:04これをtest.pyのコードを直接dosに書いて実行することってできませんか?
0771デフォルトの名無しさん
2010/01/09(土) 20:12:340772デフォルトの名無しさん
2010/01/09(土) 21:25:190773デフォルトの名無しさん
2010/01/09(土) 21:29:060774デフォルトの名無しさん
2010/01/10(日) 00:30:480775デフォルトの名無しさん
2010/01/10(日) 00:50:55どっちかというと通り魔。
0776デフォルトの名無しさん
2010/01/10(日) 02:30:06774
0777デフォルトの名無しさん
2010/01/10(日) 10:11:580778デフォルトの名無しさん
2010/01/10(日) 10:13:370779デフォルトの名無しさん
2010/01/10(日) 10:14:37言語本体にできることは大差ないと思うよ
でもPerlにある○○ライブラリがPythonにないからといって怒らないでね
0780デフォルトの名無しさん
2010/01/10(日) 10:31:57PHPにできなくてPerlで出来ることがあると聞いたので疑問に思ってました
ありがとうございます
ライブラリについては必要なものは自分で移植してみます
0781デフォルトの名無しさん
2010/01/10(日) 10:38:460782デフォルトの名無しさん
2010/01/10(日) 10:41:480783デフォルトの名無しさん
2010/01/10(日) 14:21:370784デフォルトの名無しさん
2010/01/10(日) 19:14:12commit()は失敗しても何も例外出していないようです・・・
C++のsqlite3だと戻り値ありますが、pythonのはあるんでしょうか
0785デフォルトの名無しさん
2010/01/10(日) 19:27:51再現コードが欲しい
0786デフォルトの名無しさん
2010/01/10(日) 19:36:38http://pc11.2ch.net/test/read.cgi/db/1250225486/136-
0787デフォルトの名無しさん
2010/01/10(日) 19:50:50せめて結果報告くらいしてくれればいいのに
0788デフォルトの名無しさん
2010/01/10(日) 19:57:22の方法使えばアスキーアートもutfにできる?
0789デフォルトの名無しさん
2010/01/10(日) 20:01:22>>781はcommit失敗の検出が出来ないって問題でしょ?
内容が全然違うように思うんだけど。
0790デフォルトの名無しさん
2010/01/10(日) 20:15:23もしファイルシステムの問題ならどうしようもないなと
0791デフォルトの名無しさん
2010/01/10(日) 20:30:20commitエラーを検出できないとなると結構深刻。
Python-2.6.4/Modules/_sqlite/connection.c 391-433
Python-2.6.4/Modules/_sqlite/util.c 48-105
ラッパーを見る限りは、NULLを返す(例外)か、Noneオブジェクトを返すみたいだけど。
0792デフォルトの名無しさん
2010/01/10(日) 20:34:380793デフォルトの名無しさん
2010/01/10(日) 21:53:02rc = pysqlite_step(statement, self);
rc = sqlite3_finalize(statement);
とりあえずこの行の直後に、エラーならprintf、とか入れてみたら
0794デフォルトの名無しさん
2010/01/10(日) 23:29:51phpで言うnl2br()みたいなのをやりたいんだけど、どうしたらいいでしょうか。
たとえば、
<div>一行目
二行目
三行目</div>
とあるそれぞれの\nの箇所に<br />を挿入するようなことをしたいんですが。
テンプレートに突っ込む前に改行を<br />に置換してみたらエスケープされてしまいました。
0795デフォルトの名無しさん
2010/01/11(月) 00:08:560796794
2010/01/11(月) 00:41:00やってみます。ありがとう!
0797794
2010/01/11(月) 00:56:45preタグでお茶を濁すことにします・・・。
0798デフォルトの名無しさん
2010/01/11(月) 02:29:11<div> の中の文字列を\nで配列に分けて tag() の引数に入れて
配列の要素の間(改行になっていた場所)に tag.br() とか Element('br') を入れてみるとか?
0799デフォルトの名無しさん
2010/01/11(月) 02:31:580800デフォルトの名無しさん
2010/01/11(月) 12:05:130801794
2010/01/12(火) 01:00:01それやってみます。やる前にSQLAlchemyでコケてて先になるけど。メモして取っとく。
0802デフォルトの名無しさん
2010/01/12(火) 11:03:51f = open(...);
finally:
f.close();
これでエラーでないんだけど、こういう書き方って一般的?
0803デフォルトの名無しさん
2010/01/12(火) 11:09:28f = open() が IOError を投げたら、 f は未初期化変数になる。
それを f.close() しようとしたら、エラー名忘れたけどランタイムエラーになるはず。
Python 2.4 でも動くようにするなら、
f = open(...)
try:
fを使った処理
finally:
f.close()
Python 2.4 を切り捨てるなら、
from __future__ import with_statement
with open(...) as f:
fを使った処理
0804デフォルトの名無しさん
2010/01/12(火) 13:59:05thx
0805デフォルトの名無しさん
2010/01/12(火) 14:20:23置換した方が速い
0806デフォルトの名無しさん
2010/01/12(火) 15:38:21>SQLAlchemyでコケてて
何かコツが分かったら漏れにも教えてくれ
0807!dama
2010/01/12(火) 15:42:56なんで;が・・・
try:
f = None
f = open(...)
finally:
if f:
f.close()
これで2.4以下でも以上でも動く
0808デフォルトの名無しさん
2010/01/12(火) 17:46:50いま困ってる内容はレベル低いw
manytomanyとかリレーション張るの設定するじゃん。あれの書き方とかでこけてるんだよ。
整理ついたらここかstackoverflowで質問しようと思う。ひとさまの役に立つ内容だったら書きにくるよ。
家でpython職場でphp書いてるとsyntax errorでまくるな
0809デフォルトの名無しさん
2010/01/12(火) 21:12:210810デフォルトの名無しさん
2010/01/12(火) 21:30:530811デフォルトの名無しさん
2010/01/12(火) 23:16:420812デフォルトの名無しさん
2010/01/13(水) 00:26:13hagehage # 上の続き
って書けばいいのかな
0813デフォルトの名無しさん
2010/01/13(水) 02:15:560814デフォルトの名無しさん
2010/01/13(水) 09:04:55hage)
でOK
0815デフォルトの名無しさん
2010/01/13(水) 09:15:070816デフォルトの名無しさん
2010/01/13(水) 11:51:10hoge = (fuga - hage)
じゃイヤなのか
0817デフォルトの名無しさん
2010/01/13(水) 12:10:44それならこう書くべきでは
''' comment '''
hoge = (fuga - hage)
0818デフォルトの名無しさん
2010/01/13(水) 12:11:510819デフォルトの名無しさん
2010/01/13(水) 13:59:10そもそも1行に収まらないような計算式は2行に分ける。
0820デフォルトの名無しさん
2010/01/13(水) 14:00:08まあ、2項演算子から書き始めたら一応前の行に続けることはできるけどな。
やっと書けた……
0821デフォルトの名無しさん
2010/01/13(水) 19:47:49文章を縦書きにPDF化した人いる?
2点ほど不明な点があって困ってます。
・縦書きにすると横方向に左寄せになっている
・システムのフォントで縦書きに出力する方法が分からない
0822デフォルトの名無しさん
2010/01/14(木) 14:14:48スレ立っては落ちると昔どっかで見た記憶があるけど
0823デフォルトの名無しさん
2010/01/14(木) 19:59:060824デフォルトの名無しさん
2010/01/14(木) 22:19:34Djangoと比べてだけど。
0825デフォルトの名無しさん
2010/01/15(金) 00:48:420826デフォルトの名無しさん
2010/01/15(金) 01:06:040827デフォルトの名無しさん
2010/01/15(金) 01:49:050828デフォルトの名無しさん
2010/01/15(金) 01:52:48↑←
0829デフォルトの名無しさん
2010/01/15(金) 10:16:06phpから移ってきた俺みたいな底辺プログラマにはweb.pyありがたかった。
web.pyでひととおり作って、だいたいの仕組みを把握したところでほかのPylons触ってる。
>>824
そなのか。PylonsとTGとがそのうち統合するとかいう話があったので、主流になるに違いないと勘違いして取り組んだ俺が間抜けだっただけなのかもしれない。
0830デフォルトの名無しさん
2010/01/15(金) 10:23:470831デフォルトの名無しさん
2010/01/15(金) 11:34:06ここ数日構築ばっかりやってる気がする。選定は大事ですね
0832デフォルトの名無しさん
2010/01/15(金) 18:34:04http://pc11.2ch.net/test/read.cgi/php/1176022606/
0833デフォルトの名無しさん
2010/01/16(土) 01:56:080834デフォルトの名無しさん
2010/01/16(土) 02:01:400835デフォルトの名無しさん
2010/01/16(土) 02:03:440836デフォルトの名無しさん
2010/01/16(土) 02:24:40xyzzy
0837デフォルトの名無しさん
2010/01/16(土) 02:35:44Visual Studioですら統合なんてお笑いなのに。
0838デフォルトの名無しさん
2010/01/16(土) 02:40:360839デフォルトの名無しさん
2010/01/16(土) 02:41:23あまりマトモじゃないかもな。
0840デフォルトの名無しさん
2010/01/16(土) 10:01:350841デフォルトの名無しさん
2010/01/16(土) 13:35:240842デフォルトの名無しさん
2010/01/16(土) 14:51:010843デフォルトの名無しさん
2010/01/16(土) 20:30:370844デフォルトの名無しさん
2010/01/16(土) 20:40:140845デフォルトの名無しさん
2010/01/16(土) 20:48:340846デフォルトの名無しさん
2010/01/16(土) 20:53:050847デフォルトの名無しさん
2010/01/16(土) 20:58:12(Pylonsスレないし)
DBに対してINSERTして、その一部を取り出すという一連の動作をやりたいんだが、こういうのってどこに記述するのが適当なんでしょう。
ワンタイムコード発行して返すというのをやりたいのね。
まさかcontrollerで毎度毎度似たようなこと書くわけにもいかないし、helperに書けばいいのかな。
0848デフォルトの名無しさん
2010/01/16(土) 23:14:59> ・縦書きにすると横方向に左寄せになっている
横書きしか試したことないけど、
フォントを"HeiseiMin-W3"とか"HeiseiKakuGo-W5"とかにして
LinuxBoxとかで生成したPDFをWindowsで表示させると文字が左に寄る。
このこと?
なら、Windowsが上記フォントをMS Pゴシックへ関連付けしているのが
原因らしい。文字の開始位置は固定幅フォントを想定しているのに
実際の描画では可変幅フォントを使うので「う」とか記号とかが
やけに左にくる。
で、HeiseiMin-W3とかじゃなくてMS 明朝とかを登録・指定して
PDFを作ったら表示の問題は出ない。あたりまえ。
PDF生成するサーバにもMS 明朝とかを導入せねばならないのが少々
いやーんだけど。
PDFを見る側のWindowsのレジストリいじってフォント関連付けを
直してもいいのだろうが。
> ・システムのフォントで縦書きに出力する方法が分からない
ぐぐると普通に縦書きしてるページあるけど?
0849デフォルトの名無しさん
2010/01/16(土) 23:41:53ただ縦書きフォント使うだけなら
フォント名の前に「@」付ければ
0850デフォルトの名無しさん
2010/01/17(日) 00:00:33インテリセンスの働かないテキストエディターとか、使ってられっかよ
0851デフォルトの名無しさん
2010/01/17(日) 00:15:020852デフォルトの名無しさん
2010/01/17(日) 00:18:060853デフォルトの名無しさん
2010/01/17(日) 00:23:16俺以外にも同じように思っている連中が大勢いるってことだろ。
0854デフォルトの名無しさん
2010/01/17(日) 00:27:140855デフォルトの名無しさん
2010/01/17(日) 00:34:16どうもありがと。
チャットで嫌なことがあったから親切に答えてくれる人がいると心が和みます。
>MS Pゴシックへ関連付け
たぶんそれが原因の可能性が高いですね。haru free pdf libraryではずれないんだけど、
フォントの位置設定をかなり細かく指定しているみたいだし。
>で、HeiseiMin-W3とかじゃなくてMS 明朝とかを登録・指定して
>PDFを作ったら表示の問題は出ない。あたりまえ。
>フォント名の前に「@」付ければ
試してみたけど、だめだった。
というかReportLabはシステムフォントをフォント名で指定する機能が無いみたいだから無理。
最初にも書いたけどフォントファイルのPATHで指定するしか無い。
0856デフォルトの名無しさん
2010/01/17(日) 01:14:340857デフォルトの名無しさん
2010/01/17(日) 10:29:30XXX.py option
と打ったときに使われるインタプリタはどこで指定できるんでしょうか?
0858デフォルトの名無しさん
2010/01/17(日) 10:36:09Windowsは拡張子.pyにインタプリタが関連付けられてる
関連付けの状況はassocで調べられる
C:\>assoc .py
.py=Python.File
関連付けを変更するにはftype
C:\>ftype Python.File
Python.File="C:\Python26\python.exe" "%1" %*
0859デフォルトの名無しさん
2010/01/17(日) 18:10:16アドバイスありがとうございます。
assoc.py
拡張子.pyのファイルの関連付けが見つかりかません
なのでやはりこれ関係の問題のようです。GUI上ではpython.exeに結びついているはずなのに・・・
もう少し調べてみます。
0860デフォルトの名無しさん
2010/01/17(日) 18:12:48もちつけ
assoc .py
assoc.py
0861デフォルトの名無しさん
2010/01/17(日) 18:18:340862デフォルトの名無しさん
2010/01/17(日) 18:39:40assoc .py
でもどっちでも同じ結果でした・・・
Python26入れてからかWindows7にしてからおかしくなったような
ちょっとPython25再インストールしてみます
別のXPのパソコンでやったらちゃんと関連付けられていたので
0863デフォルトの名無しさん
2010/01/17(日) 18:47:21再インストールしたら関連付け直りましたー
普段GUIで設定してましたが、こんなコマンドもあったんですね
ありがとうございました。
0864デフォルトの名無しさん
2010/01/17(日) 19:52:42GUIもassocもHKEY_CLASSES_ROOTを直接いじろうとするから手動で設定するしかないけど
この辺はカオス過ぎる
0865デフォルトの名無しさん
2010/01/23(土) 03:05:19http://www.dabeaz.com/python/NewGIL.pdf
0866デフォルトの名無しさん
2010/01/23(土) 16:10:230867デフォルトの名無しさん
2010/01/24(日) 08:31:45multiprocessingだとnumpyのデータ共有するとか面倒なんだけど、メモリ共有並列処理も簡単になるんか。
0868デフォルトの名無しさん
2010/01/24(日) 10:28:27ムリ
0869868
2010/01/24(日) 10:43:35CPU処理のうちでも、numpyみたいにGILを開放する系の処理では
マルチスレッドで並行処理できるから、 new GIL を使うとパフォーマンス上がる。
GILを開放しない系の処理では、new GILを使ってもシングルスレッドには
原理的に勝てない。
0870デフォルトの名無しさん
2010/01/24(日) 15:44:48もしかして結構大事件?
0871デフォルトの名無しさん
2010/01/24(日) 16:33:16いや、マルチスレッドの効率が向上するだけで、基本は今までと変わらない。
Pythonのコードを実行したりPythonのオブジェクトを操作できるスレッドは
一個のままだし、逆にシステムコールを呼び出したりC言語で書かれた
重い処理を実行する場合は今までも並列化できていた。
0872デフォルトの名無しさん
2010/01/25(月) 00:12:31おもしろいんだけど、終わるのに半年くらいかかりそうだ。
0873デフォルトの名無しさん
2010/01/25(月) 00:28:160874デフォルトの名無しさん
2010/01/25(月) 01:04:430875デフォルトの名無しさん
2010/01/25(月) 01:20:22スピード命なら、PyCUDAを使うんだ。
CUDAのドライバーAPIを使って、nvccでコンパイルしてGPUに放り込むのがPyCUDA。
でかい行列の積を取るなんてのはアホ速いぞ
0876デフォルトの名無しさん
2010/01/25(月) 01:24:150877デフォルトの名無しさん
2010/01/25(月) 01:31:010878デフォルトの名無しさん
2010/01/25(月) 01:31:20でもPythonでガス星雲生成のシミュレーションとか出来たら超ぱねぇっすよ
0879デフォルトの名無しさん
2010/01/26(火) 13:41:21http://docs.python.org/search.html
0880デフォルトの名無しさん
2010/01/26(火) 14:00:450881デフォルトの名無しさん
2010/01/26(火) 14:19:460882デフォルトの名無しさん
2010/01/26(火) 20:26:28↑これはもっと評価されるべき。
0883デフォルトの名無しさん
2010/01/26(火) 21:56:300884デフォルトの名無しさん
2010/01/26(火) 22:33:390885デフォルトの名無しさん
2010/01/27(水) 00:58:01後は公式ドキュメントの日本語版が揃えばひとまず充分だな。
それで、まだ翻訳始まってないの?
0886デフォルトの名無しさん
2010/01/27(水) 01:01:54python入門者がこれからバリバリやっていこうと思うなら
どのバージョンのPythonから手をつければいいでしょうか?
0887デフォルトの名無しさん
2010/01/27(水) 01:04:580888886
2010/01/27(水) 01:09:540889デフォルトの名無しさん
2010/01/27(水) 01:16:38じゃあIronPythonで
0890デフォルトの名無しさん
2010/01/27(水) 01:22:360891デフォルトの名無しさん
2010/01/27(水) 10:24:090892デフォルトの名無しさん
2010/01/27(水) 11:52:290893デフォルトの名無しさん
2010/01/27(水) 16:09:03python 2をおすすめする。python 3はライブラリが対応してないし、日本語のドキュメントもほとんどない。
それに、python 2がある程度分かるようになったら、python 3に移るのもそう難しくないし。
0894デフォルトの名無しさん
2010/01/27(水) 17:15:52と聞かれてCからと答えるのと似てるかな
0895デフォルトの名無しさん
2010/01/27(水) 17:21:350896デフォルトの名無しさん
2010/01/27(水) 17:54:233から始めた俺が言うんだから間違いない。
0897デフォルトの名無しさん
2010/01/27(水) 18:00:440898デフォルトの名無しさん
2010/01/27(水) 18:03:05言いたいことがあるならちゃんと(ry
0899デフォルトの名無しさん
2010/01/27(水) 18:05:060900デフォルトの名無しさん
2010/01/27(水) 18:12:320901デフォルトの名無しさん
2010/01/27(水) 18:12:42いくつか細かい点が改正された。
0902デフォルトの名無しさん
2010/01/27(水) 19:05:35それ以外は2をお勧めする
(とりあえず今の時点での話 / 来年の今頃同じ答えが返ってくるとは限らない)
0903デフォルトの名無しさん
2010/01/27(水) 19:34:25学習という観点では似ている別の言語だと思うべき。
で、フレームワークやライブラリの都合で2を使うハメになるのが現状。
そしてそこに書かれているコードを理解するために結局2に精通する必要がある。
Pythonのライブラリとかは、ソース見て理解しろ、が基本スタンスだからな。
0904デフォルトの名無しさん
2010/01/27(水) 20:51:510905デフォルトの名無しさん
2010/01/27(水) 22:26:450906デフォルトの名無しさん
2010/01/27(水) 23:24:07マジかこれ?
もうPython勉強するのやめる
MSDNが充実しているマイクロソフト系の言語いくわ・・・
0907デフォルトの名無しさん
2010/01/27(水) 23:31:04F#メチャクチャ早いしおもろいぞ
OCamlでもいいけど
0908デフォルトの名無しさん
2010/01/27(水) 23:36:45なんとなくだが
0909デフォルトの名無しさん
2010/01/27(水) 23:39:400910デフォルトの名無しさん
2010/01/27(水) 23:40:14天然か?
機械翻訳なんだから当たり前だろう
0911デフォルトの名無しさん
2010/01/28(木) 03:43:23MSDNは仕様の記述に間違いが多いので(ry
0912デフォルトの名無しさん
2010/01/28(木) 13:06:42でも「ソース読んだら解説サイトにのってない機能発見した!」
みたいな楽しみもあるんだけどな。
0913デフォルトの名無しさん
2010/01/28(木) 13:16:310914デフォルトの名無しさん
2010/01/28(木) 14:31:13そういう機能はある日突然なくなったりする心配はない?
0915デフォルトの名無しさん
2010/01/28(木) 18:33:160916デフォルトの名無しさん
2010/01/28(木) 19:08:290917デフォルトの名無しさん
2010/01/28(木) 19:11:36ごめん、その可能性はないわ。
0918デフォルトの名無しさん
2010/01/28(木) 19:35:490919デフォルトの名無しさん
2010/01/28(木) 19:39:160920デフォルトの名無しさん
2010/01/28(木) 19:45:100921デフォルトの名無しさん
2010/01/28(木) 19:54:170922デフォルトの名無しさん
2010/01/29(金) 12:35:210923デフォルトの名無しさん
2010/01/29(金) 12:52:380924デフォルトの名無しさん
2010/01/29(金) 13:29:530925デフォルトの名無しさん
2010/01/29(金) 17:09:51末尾再帰最適化してないのかよ!!マジぶちぎれ
0926デフォルトの名無しさん
2010/01/29(金) 17:13:250927デフォルトの名無しさん
2010/01/29(金) 17:17:07なんで世の中のすべての言語はどこかしら欠陥があるんだ
0928デフォルトの名無しさん
2010/01/29(金) 17:19:490929デフォルトの名無しさん
2010/01/29(金) 17:22:15ちっくしょう
0930デフォルトの名無しさん
2010/01/29(金) 18:30:550931デフォルトの名無しさん
2010/01/29(金) 19:25:43確かデフォルトが1000段までだけど
どっかの設定ファイルで変えられたはず
0932デフォルトの名無しさん
2010/01/29(金) 19:38:23だれか書き込み代行 or モリタポください
http://pc12.2ch.net/test/read.cgi/tech/1253535109/
>>931
import sys
sys.setrecursionlimit(depth)
0933デフォルトの名無しさん
2010/01/29(金) 20:25:360934デフォルトの名無しさん
2010/01/29(金) 20:35:09sys.setrecursionlimit(10000) とかしたときに SEGV するかしないかの違い。
そういや、末尾再帰最適化するデコレータがどっかにあったな。
>>929
7行 vs 2行、できたら見せて。
0935デフォルトの名無しさん
2010/01/29(金) 21:59:53フレームワークはありませんか。公式ドキュメントを見てもそれっぽい
モジュールがdeprecatedになっていて使うのが不安です。
0936デフォルトの名無しさん
2010/01/29(金) 22:07:33>>931
import sys
sys.setrecursionlimit(depth)
0937デフォルトの名無しさん
2010/01/29(金) 22:09:16すぐ上にあったわ
0938デフォルトの名無しさん
2010/01/29(金) 23:57:510939デフォルトの名無しさん
2010/01/30(土) 00:01:03JVMか.NET系の関数型言語なら、「ライブラリが少ない」ということは無いな
つまりScalaやF#
>>934
http://code.activestate.com/recipes/496691/
これやね
0940デフォルトの名無しさん
2010/01/30(土) 00:54:28ライブラリのインストールに手間取りたくない
pythonはとにかくライブラリの導入がめちゃくちゃ楽
0941デフォルトの名無しさん
2010/01/30(土) 01:08:340942デフォルトの名無しさん
2010/01/30(土) 10:19:57lisp のcl-who
みたいなものないの?
0943デフォルトの名無しさん
2010/01/30(土) 12:43:40EXIF.pyだと新しめのやつが読めないっぽい。
0944デフォルトの名無しさん
2010/01/30(土) 13:17:090945デフォルトの名無しさん
2010/01/30(土) 13:18:560946デフォルトの名無しさん
2010/01/30(土) 14:36:00どんなケース?
0947デフォルトの名無しさん
2010/01/30(土) 14:51:27僕のはクーラーマスター。
0948デフォルトの名無しさん
2010/01/30(土) 14:52:15漏れは星野金属。
0949デフォルトの名無しさん
2010/01/30(土) 14:58:44pythonモジュールのいくつかはCネイティブだからね
0950デフォルトの名無しさん
2010/01/30(土) 15:08:07それはお前のCのコードがへたくそなのでは?
0951デフォルトの名無しさん
2010/01/30(土) 15:30:200952デフォルトの名無しさん
2010/01/30(土) 16:28:29ちょっとおもしろい
0953デフォルトの名無しさん
2010/01/30(土) 16:31:20www
0954デフォルトの名無しさん
2010/01/30(土) 17:12:060955デフォルトの名無しさん
2010/01/30(土) 17:13:080956デフォルトの名無しさん
2010/01/30(土) 17:32:330957デフォルトの名無しさん
2010/01/30(土) 17:42:57最後爆笑
0958デフォルトの名無しさん
2010/01/30(土) 17:45:42これFirst Year Haskellerじゃね
0959デフォルトの名無しさん
2010/01/30(土) 20:08:02* まつもとゆきひろ - 2000年ごろまで、USENET ニュースグループ comp.lang.python に出没していた。その熱心な投稿姿勢には誰もが引き込まれたという。
0960デフォルトの名無しさん
2010/01/30(土) 20:12:180961デフォルトの名無しさん
2010/01/31(日) 00:56:150962デフォルトの名無しさん
2010/01/31(日) 01:14:52ttp://www.infoq.com/interviews/yukihiro-matz-language-design
0963デフォルトの名無しさん
2010/01/31(日) 11:34:310964デフォルトの名無しさん
2010/01/31(日) 12:17:120965デフォルトの名無しさん
2010/01/31(日) 14:03:24そこまで耐えられるビジュアルじゃないだろ・・・
0966デフォルトの名無しさん
2010/01/31(日) 14:30:530967デフォルトの名無しさん
2010/01/31(日) 14:54:40http://dis.4chan.org/read/prog/1180084983/
0968デフォルトの名無しさん
2010/01/31(日) 15:01:500969デフォルトの名無しさん
2010/01/31(日) 16:08:410970デフォルトの名無しさん
2010/01/31(日) 16:30:360971デフォルトの名無しさん
2010/01/31(日) 16:36:200972デフォルトの名無しさん
2010/01/31(日) 16:50:53http://pc12.2ch.net/test/read.cgi/tech/1264924208/
0973デフォルトの名無しさん
2010/01/31(日) 20:28:32てぃーきんたー?
0974デフォルトの名無しさん
2010/01/31(日) 21:03:410975質問
2010/01/31(日) 21:45:46のサンプルを実行したら以下のようなエラーが出ました。
Pythonのバージョンはstackless python 2.6.4です。
原因がわからないのですが、どなたかお分かりになる方いらっしゃいませんか?
Traceback (most recent call last):
File "boxsizer.py", line 69, in <module>
frame = MainWindow(None, "Sample editor")
File "boxsizer.py", line 26, in __init__
self.Bind(wx.EVT_MENU, self.OnOpen, wx.ID_OPEN)
File "○○○\Python26\lib\site-packages\wx-2.8-msw-unicode\wx\_core.py", line 3917, in Bind
id = source.GetId()
AttributeError: 'int' object has no attribute 'GetId'
0976質問
2010/01/31(日) 22:39:49という呼び出しなのに、
def Bind(self, event, handler, source=None, id=wx.ID_ANY, id2=wx.ID_ANY):
if source is not None:
id = source.GetId()
の id = source.GetId() の部分で
exceptions.AttributeError: 'int' object has no attribute 'GetId'
というエラーメッセージが出るのはよくわかりません。
すみません、Python勉強始めたばかりなので見落としあるかもです・・・
0977質問
2010/01/31(日) 22:52:200978デフォルトの名無しさん
2010/01/31(日) 22:53:25sourceがID_OPENって定数なのはピンとこない
self.Bind(wx.EVT_MENU, self.OnOpen, id=wx.ID_OPEN) とすれば動きそう
0979デフォルトの名無しさん
2010/01/31(日) 23:18:4827 self.Bind(wx.EVT_MENU, self.OnExit, id=wx.ID_EXIT)
28 self.Bind(wx.EVT_MENU, self.OnAbout, id=wx.ID_ABOUT)
33 self.buttons.append(wx.Button(self, -1, "Button &"+`i`))
とやると動く。
0981デフォルトの名無しさん
2010/02/01(月) 02:57:06どうも
0982デフォルトの名無しさん
2010/02/01(月) 10:16:11自分もexifを使うことがあったのでpypiで検索かけてみた.
上位にあるやつならいいのかな?
http://pypi.python.org/pypi?%3Aaction=search&term=exif&submit=search
0983デフォルトの名無しさん
2010/02/02(火) 10:01:00今は
f = urllib.urlopen(url)
fp = open(filename+'.exe','wb')
fp.write('%s' % (f.read()))
fp.close()
としています。でもファイル容量が大きいと大変なことになってしまいます。
逐次バッファーをファイルに書くやりかたがわかりません。
よろしくおねがいします。
0984デフォルトの名無しさん
2010/02/02(火) 10:12:310985デフォルトの名無しさん
2010/02/02(火) 10:23:00f.read()の引数でサイズ指定して
fp.write()してfp.flush()ってループ回せば
良いんでない
0986デフォルトの名無しさん
2010/02/02(火) 10:27:300987デフォルトの名無しさん
2010/02/02(火) 10:31:24while True:
buf = f.read(1024*1024)
if not buf:
break
fp.write(buf)
0988デフォルトの名無しさん
2010/02/02(火) 10:33:07帰宅したら試してみます。
0989デフォルトの名無しさん
2010/02/02(火) 11:42:170990デフォルトの名無しさん
2010/02/02(火) 15:08:380991デフォルトの名無しさん
2010/02/02(火) 16:34:45>>987 だと残り何%とかって出すなり出来そうだけど
0992デフォルトの名無しさん
2010/02/02(火) 20:36:280993デフォルトの名無しさん
2010/02/03(水) 00:06:50exeファイルをダウンロードするなら、チェックサムとか一応確認しようね。(したいよね。)
0994デフォルトの名無しさん
2010/02/03(水) 01:18:07import sys, urllib
def _reporthook(blocknum, bs, size):
sys.stdout.write("%4d%%\r"%(blocknum*bs*100/size))
sys.stdout.flush()
if __name__ == "__main__":
uri = sys.argv[1]
urllib.urlretrieve(uri, uri[uri.rfind('/')+1:], _reporthook)
ttp://www.python.jp/doc/2.5/lib/module-urllib.html
urlretrieve(url[, filename[, reporthook[, data]]])
URL で表されるネットワーク上のオブジェクトを、必要に応じてローカルなファイルにコピーします。URL がローカルなファイルを
指定していたり、オブジェクトのコピーが正しくキャッシュされていれば、そのオブジェクトはコピーされません。タプル (filename,
headers) を返し、filename はローカルで見つかったオブジェクトに対するファイル名で、headers は urlopen() が返した (おそらく
キャッシュされているリモートの) オブジェクトに info() を適用して得られるものになります。 urlopen() と同じ例外を送出します。
2 つめの引数がある場合、オブジェクトのコピー先となるファイルの位置を指定します (もしなければ、ファイルの場所は一時ファイル
(tmpfile) の置き場になり、名前は適当につけられます)。 3 つめの引数がある場合、ネットワークとの接続が確立された際に一度呼び出
され、以降データのブロックが読み出されるたびに呼び出されるフック関数 (hook function) を指定します。フック関数には 3 つの引数が
渡されます; これまで転送されたブロック数のカウント、バイト単位で表されたブロックサイズ、ファイルの総サイズです。3 つ目の
ファイルの総サイズは、ファイル取得の際の応答時にファイルサイズを返さない古い FTP サーバでは -1 になります。
url が http: スキーム識別子を使っていた場合、オプション引数 data を与えることで POST リクエストを行うよう指定することが
できます (通常リクエストの形式は GET です)。 data 引数は標準の application/x-www-form-urlencoded 形式でなくてはなりません;
以下の urlencode() 関数を参照してください。
0995デフォルトの名無しさん
2010/02/03(水) 01:19:03取得できるデータ量が少ないことを検知した場合、 ContentTooShortError を発生します。これは、例えば、ダウンロードが中断された
場合などに発生します。
Content-Length は下限として扱われます: より多いデータがある場合、 urlretrieve はそのデータを読みますが、より少ないデータ
しか取得できない場合、これは exception を発生します。
このような場合にもダウンロードされたデータを取得することは可能で、これは exception インスタンスの content 属性に保存されています。
Content-Length ヘッダが無い場合、urlretrieve はダウンロードされたデータのサイズをチェックできず、単にそれを返します。
この場合は、ダウンロードは成功したと見なす必要があります。
>>992
ありがとうございました
0996デフォルトの名無しさん
2010/02/03(水) 12:46:43Pythonのお勉強 Part36
http://pc12.2ch.net/test/read.cgi/tech/1264924208/
0997デフォルトの名無しさん
2010/02/03(水) 12:52:370998デフォルトの名無しさん
2010/02/03(水) 12:56:150999デフォルトの名無しさん
2010/02/03(水) 12:57:101000デフォルトの名無しさん
2010/02/03(水) 13:02:50次スレ
Pythonのお勉強 Part36
http://pc12.2ch.net/test/read.cgi/tech/1264924208/
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。