Pythonのお勉強 Part35at TECH
Pythonのお勉強 Part35 - 暇つぶし2ch2:デフォルトの名無しさん
09/09/21 21:12:40
       ┌─┐
       │●│
       └─┤
       _   ∩
      ( ゚∀゚)彡
    ┌─┬⊂彡
    │●│ おっぱい!おっぱい!
    └─┘      おっぱい!おっぱい!



3:デフォルトの名無しさん
09/09/21 21:13:22
このそっけなさが水滴クオリティ

4:デフォルトの名無しさん
09/09/21 21:14:37
>1



5:デフォルトの名無しさん
09/09/21 21:48:18
いまだに何て読むのか知らない

6:デフォルトの名無しさん
09/09/22 11:38:08
ぴちょん

7:デフォルトの名無しさん
09/09/22 11:40:29
パイゾン

8:デフォルトの名無しさん
09/09/22 21:52:04
質問!

win xpでpython3.1.1を使っているんだけど、UFT-8のファイルの読み込み方について質問です。
import codecs
codecs.open(path, "r", "utf_8").read()
だと、BOMがついてきちゃうんだけど、自動でそぎ落としてくれたりはしないのですか?

9:デフォルトの名無しさん
09/09/22 22:23:10
utf_8_sig

10:デフォルトの名無しさん
09/09/22 22:50:51
>>9
どうもありがとう!

11:デフォルトの名無しさん
09/09/23 20:11:29
ググっても分からんかったので・・・

Popen4とかでpythonのプログラムから以下のようなスクリプトを呼び出す時、

#!/bin/bash
echo "a"
sleep 1
echo "b"
sleep 1
echo "c"

python側では呼び出したスクリプトの実行が完了するまで、スクリプトの標準出力の
内容を取得出来ないんだけど(スクリプト実行完了後に3行まとめて取得してしまう)、
スクリプトが1行出力するたびにpython側で確実に1行ずつ取得する良い方法ってありますか?

ここ見れ、みたいな良いリファレンスとかでも助かります。

12:デフォルトの名無しさん
09/09/23 20:47:08
タイムリーだなあ
URLリンク(www.python.org)



13:デフォルトの名無しさん
09/09/24 11:57:21
オブジェクトが持ってる属性って全部 __dict__ に入ってます?
__slots__ に書いてある場合は違うのかな
たとえば Exception のインスタンスって message っていう
メンバを持ってますが, e.__dict__ にはそれらしきものが見当たらない.

e = Exception("ahoaho")
print e.message
print e.__dict__

としてみて不思議だなぁと

14:デフォルトの名無しさん
09/09/24 18:53:38
x が何かのオブジェクトだとして
print x とすると単に

<type 'instance'>

とだけ表示されるのは何なんでしょうか?
どのクラスのインスタンス、というようなことは分からないのでしょうか?

15:デフォルトの名無しさん
09/09/24 18:58:00
たとえば
URLリンク(www.python.jp)
なんかの例を見ても

>>> try:
... raise Exception('spam', 'eggs')
... except Exception, inst:
... print type(inst) # 例外インスタンス

<type 'instance'>

となっています。print type(inst)では Exception か
その派生クラスの名前が表示されると思うのですが。


16:デフォルトの名無しさん
09/09/24 19:03:24
新旧スタイルのクラスの違い?

17:デフォルトの名無しさん
09/09/24 20:13:42
>>15 を 2.5.4, 2.6.2 で試したら <type 'exceptions.Exception'> になった
チュートリアルのほうが間違ってるんじゃない?

18:デフォルトの名無しさん
09/09/24 20:19:20
最新のやつは合ってるな。
URLリンク(docs.python.org)

19:デフォルトの名無しさん
09/09/24 23:58:34
python.jpは糞

20:デフォルトの名無しさん
09/09/25 00:18:53
でも、2.5のやつは間違ってる
URLリンク(www.python.org)

21:デフォルトの名無しさん
09/09/25 03:57:33
みんなipython.elのipython-completeって使えてる?
オラの環境だとEmacs内で起動されたIPythonが入力をエコーバックしてる上にstdout / stderr にわけて
出力してるせいかelisp側に変換候補のリストがわたってない
(かわりにipython-completion-command-stringをもとに作られたコマンドのエコーがわたる)らしく、
ソースファイルバッファでも*Python*バッファでも補完できないんだが。

22:21
09/09/26 08:43:28
>>21は自決したンだが・・(原因はちょと違った。適当なこといってすまんこ)
あまりほめられたものでないバッドハックなのでメンテナに送る気になれん。
欲しい人いる?anything-ipython でassertion failed: header-pos 出るのもなおるよ。
URLリンク(groups.google.com)
↑こんなやつ

23:デフォルトの名無しさん
09/09/26 08:54:06
Noop 上で動作する NooPython 公開

24:デフォルトの名無しさん
09/09/26 09:14:41
∧||∧

25:デフォルトの名無しさん
09/09/26 15:06:42
>>12
遅くなってしまったが、ありがとう。

質問した日の前日にpython始めたもんだから、そこまで見てなかったわ。
改善されるにしてもsubprocess使わんとだめそうね。サンクス。


26:デフォルトの名無しさん
09/09/26 15:27:12
前スレ消費しろ

27:デフォルトの名無しさん
09/09/30 11:26:55
逃げるなよ。

28:デフォルトの名無しさん
09/10/03 10:23:21
spam
spam
spam
sparm
spam

29:デフォルトの名無しさん
09/10/04 14:24:54
sperm?

30:デフォルトの名無しさん
09/10/05 09:12:29
プログラミングを久しぶりに始めようと思う
25年ぐらい前MZ-80でBASICとマシン語サブルーチン組んでた
20年前はQuickCでBBS全盛期で今で言う専ブラを作ってた

Windowsきてからプログラミングさっぱりだったが
いろいろ探してみたらここにたどり着いたよー!!

まず何から始めよう?

31:デフォルトの名無しさん
09/10/05 10:44:42
python

32:デフォルトの名無しさん
09/10/05 11:09:45
Perl(OOライクなモジュールを作れるくらい)と
C#(自分用のWinアプリやクラスライブラリを作れるくらい)の経験のやつが
van Rossumのチュートリアルを一通りやったとして
次におすすめな1冊を教えて。
公式のドキュメントつーのはもっともだけど、書籍限定で。
日本語のほうがうれしい。

33:デフォルトの名無しさん
09/10/05 11:38:47
>>32
Perlベストプラクティスみたいなのをご所望なら、オライリーの「Pythonクックブック」がいい。ちょっと古いけど。
ただ、32のスペックなら、いきなりフレームワークやGoogle AppEngineの解説書


34:デフォルトの名無しさん
09/10/05 11:42:39
切れたので再送。

Perlベストプラクティスみたいなのをご所望なら、オライリーの「Pythonクックブック」がいい。ちょっと古いけど。
ただ、32のスペックなら、いきなりフレームワークやGoogle AppEngineの解説書に取りかかってもいいと思う。
手軽なのはDjangoかGoogle AppEngineで、実はPythonってすごいんじゃね?というのを知りたかったらZopeの本を読むといい。


35:デフォルトの名無しさん
09/10/05 12:30:12
Jythonプログラミングがいいに決まってるだろ

36:デフォルトの名無しさん
09/10/05 12:36:10
平日はサーバでJavaで書いてて
日曜はCPythonで遊んでるけど
まだJythonは使ったことなかったな

from java.io import *

とか魅力的すぎる

37:デフォルトの名無しさん
09/10/05 12:55:26
>>34
早速㌧。参考にしつつ書店いってみます。
ひとまずクックブックを尼でなか見!してみたけど
フレームワーク、GAE、Zopeへ進むにしても持っててよさそうな内容ぽいね。

>>35
俺へのレスでいいのかな。dankogaiにも好評なようだね。
立ち読みしてみて考えます。

38:デフォルトの名無しさん
09/10/05 13:57:11
Google AppEngineの解説書
w

39:デフォルトの名無しさん
09/10/05 14:01:01
32の将来が心配(www

40:デフォルトの名無しさん
09/10/05 14:04:34
WindowsでPythonって実行形式になんない??

41:デフォルトの名無しさん
09/10/05 14:05:50
クックブックなら英語の方がいいと思う

42:デフォルトの名無しさん
09/10/05 14:10:57
py2exe

43:デフォルトの名無しさん
09/10/05 16:15:30
dankogaiにも好評
w

44:デフォルトの名無しさん
09/10/05 18:44:43
前スレ埋まる前に落ちたんかな

45:デフォルトの名無しさん
09/10/06 10:52:29
. 1. HTML    で検索した結果 1~10件目 / 約5,040,000,000件
. 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件

46:デフォルトの名無しさん
09/10/06 11:36:13
ドカタ仕事の穴掘り士としては有能そうだが、頭は悪そう
そんなかんじ

47:デフォルトの名無しさん
09/10/06 11:36:38
コピペで通報するぞゴルァ

48:デフォルトの名無しさん
09/10/06 13:33:51
Forthがその位置にあるってことは一般名詞も入ってるんだろうな
するとRubyなんかもかなり割り引いて数えるべきだな

49:デフォルトの名無しさん
09/10/06 13:33:55
tkinterってpython本体をmake installしたら
一緒に入るものなの?

50:デフォルトの名無しさん
09/10/06 14:07:16
なんとかdevとか、なんとかdevelとかを入れなきゃだめ

51:デフォルトの名無しさん
09/10/07 10:55:50
ipython って for とか def とかの
複数行の入力を履歴↑で呼び出せるんだけど
そのまま 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)



52:デフォルトの名無しさん
09/10/07 14:11:59
うちはならない

53:デフォルトの名無しさん
09/10/07 17:58:03
うちはならへんわ

54:デフォルトの名無しさん
09/10/07 19:58:50
sage便利だね
自分で作ったpythonのプログラムと組み合わせる方法がよくわかんないけど

55:デフォルトの名無しさん
09/10/07 20:00:12
python3.xで画像編集できるライブラリってないの?

56:デフォルトの名無しさん
09/10/07 20:30:04
ctypesでOpenCV使えばいい

57:デフォルトの名無しさん
09/10/07 22:09:35
IPLだかPILだかってライブラリあった気がする

58:55
09/10/07 22:21:38
>>56-57
レスありがとう。
PILは見つけたけど、2.x系のバイナリしか見当たらなかったのよ。
ctypesは調べること多そうで大変なので、やめておきます。

一部の処理だけ、他のスクリプトに投げることにしました。

59:デフォルトの名無しさん
09/10/08 05:34:23
ctypes食わず嫌いで避けるなんてもったいなさすぎ

60:デフォルトの名無しさん
09/10/08 07:04:55
初めてのPython第3版で、P.336の
「関数内でなく、関数の外側、つまりモジュールあるいは対話型コマンドラインの
トップレベルを基準にすれば、モジュール全体のスコープ(グローバルスコープ)と
ローカルスコープは同一になる。」
って説明が分かりません。
詳しく教えてください。

61:デフォルトの名無しさん
09/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.」
です。


62:デフォルトの名無しさん
09/10/08 07:37:32
関数の外側のローカルスコープはモジュール全体のスコープ(グローバルスコープ)と同一

63:デフォルトの名無しさん
09/10/08 07:40:27
関数の外側のローカルスコープはグローバルスコープ(モジュール全体のスコープ)と同じである

っていうか日本語訳はWhenにこだわってて変になってるな

64:デフォルトの名無しさん
09/10/08 08:01:24
>>62,63
早いレスありがとう。
トップレベルはグローバルスコープということですね。
なぜわざわざ”関数の外側のローカルスコープ”なんて分かりにくい書き方してるんだろ。
日本語訳は酷過ぎるし、読むの疲れてきた。
2版よりはマシだけど・・。


65:デフォルトの名無しさん
09/10/08 08:03:09
LEGBルールの所だと思うけど、そこは読み飛ばした覚えがある

単に関数の外側で代入が行われた変数(グローバル変数)は
関数の内側からも外側からも見えるってことだろう
原文からして理解し難いから気にせず先に進んだほうがいいと思うよ

66:デフォルトの名無しさん
09/10/08 08:13:07
>>65
やはり原文もヒドイですよね・・・くっそー。
変なところはクドイくせにぃ~・・・。
明日からまた頑張ってみますw


67:デフォルトの名無しさん
09/10/08 08:21:19
あとはクラスの使い方と例外の章を読んだら
その本はもう積んじゃっていいと思う
気が向いたら拾い読みする程度でおk

68:デフォルトの名無しさん
09/10/08 08:28:21
>>64
>なぜわざわざ”関数の外側のローカルスコープ”なんて分かりにくい書き方してるんだろ。

namespaceの話をしているからだよ

69:デフォルトの名無しさん
09/10/08 08:28:43
積んだ後はPythonクックブック第2版ですか?
その次が思い浮かばないw

70:デフォルトの名無しさん
09/10/08 08:36:56
関数内でなく、←こんな言葉は入っていない
関数の外側、
つまり←「つまり」ではなく「例えば」
モジュールあるいは対話型コマンドラインのトップレベルを基準にすれば、←コマンドラインって原文のどこに書いてある?
モジュール全体のスコープ(グローバルスコープ)←()に入れるものを逆にして分かり難くしている
とローカルスコープは←なんでこれを後ろにもってくるかなぁ
同一になる←「なる」も変なんだよなぁ

というわけで、

関数の外側(例えばモジュールのトップレベルあるいは対話型プロンプト)で変数に代入したとき、
ローカルスコープはグローバルスコープ(モジュールのネームスペース)と同じである

翻訳したひとってpythonでプログラム書いたことないんじゃないかなぁw

71:デフォルトの名無しさん
09/10/08 09:11:09
>>70
「例えば」は e.g.

あとこの場合 the same as は「同一」って訳していいのかな
完全に同一ではないってニュアンスが含まれてる気がする

72:デフォルトの名無しさん
09/10/08 10:45:22
構造の骨だけみて直訳すれば、

関数の外(*1)でnameをassignしたら、
そのlocal scopeとglobal scopeはまさに同じ(*2)。
*1) モジュールファイルのトップレベルとか、プロンプトとか
*2) = モジュールの名前空間ね

URLリンク(www.python.org) でほぼおなじフレーズがある。

全体の流れは以下。

1. 名前空間は、ビルトイン、モジュールグローバル、関数ローカルの3つ。
2. スコープは直接アクセスできる名前空間の範囲。
3. スコープは3種類あって、再内ローカル、モジュールグローバル、ビルトイン。

で、関数外では、ローカルスコープはグローバルスコープといつしょ、つまりグローバル名前空間ね、といってる。

混乱してるのは、名前空間とスコープを分離して考えてないから。

73:デフォルトの名無しさん
09/10/08 11:03:22
クソ本なんて買うからだ

74:デフォルトの名無しさん
09/10/08 11:17:44
>>72
>混乱してるのは、名前空間とスコープを分離して考えてないから。
どう違うの?

75:デフォルトの名無しさん
09/10/08 12:17:53
関数内で定義された変数のnamespace

関数内のスコープ

関数外で定義された変数のnamespace

関数外のスコープ


76:デフォルトの名無しさん
09/10/08 13:27:47
ローカルスコープは、関数内のスコープのことでしょ。
関数外のローカルスコープって意味分からん。
(関数外はグローバルスコープ)

77:デフォルトの名無しさん
09/10/08 13:39:05
当たり前のことをもっともらしく言い回しているだけでしょ

78:デフォルトの名無しさん
09/10/08 13:39:52
なんではじぱいが人気あるのかわからん

79:デフォルトの名無しさん
09/10/08 14:57:58
pythonスクリプトから別のコマンドを起動して実行する場合に
subprocess.Popen()

popen2.popen3()
などの複数の方法があるようですが
後者は古いので使わない方が良いと書かれているブログもありました

疑問に思ってる点は
この二つは(パラメータ/オプションによって動作は違うでしょうけれど)
pythonスクリプトを起動したshellをA
pythonスクリプトをB
pythonスクリプトから呼ばれるコマンドをC
としたとき
前者の場合
Aの子プロセスとしてCが起動
後者の場合
Bの子プロセスとしてCが起動
の違いがあるような気がするのですが間違ってますか?

そんなの気にせずに同じと考えて良いのでしょうか?


80:デフォルトの名無しさん
09/10/08 15:01:07
間違ってます

前者の場合
Bの子プロセスとしてCが起動

だよもん

81:デフォルトの名無しさん
09/10/08 15:45:38
>>68
意味わからん

82:デフォルトの名無しさん
09/10/08 15:55:09
わからないって言ってる人は

関数内のスコープ = ローカルスコープ

だと思ってるんだよね

今いる場所のスコープ = ローカルスコープ

って考えると理解しやすいかと

83:デフォルトの名無しさん
09/10/08 15:55:51
ああ、なるほど

84:デフォルトの名無しさん
09/10/08 15:57:14
pythonでgnuplotへのインターフェイスってないの?
pythonではグラフは他の方法で描くのが普通なの?


85:デフォルトの名無しさん
09/10/08 16:05:40
URLリンク(gnuplot-py.sourceforge.net)

86:デフォルトの名無しさん
09/10/08 16:08:48
URLリンク(matplotlib.sourceforge.net)

87:デフォルトの名無しさん
09/10/08 16:09:22
>>82の説明なら分かるね。

>>68のnamespaceの話をしているからだよ
>>72名前空間とスコープを分離して考えてないから
は意味不明。知ったかオツ

88:デフォルトの名無しさん
09/10/08 16:19:12
ちなみに >>68 == >>82 だから

89:デフォルトの名無しさん
09/10/08 16:21:47
頭のおかしな人には気をつけましょう
URLリンク(info.2ch.net)

90:デフォルトの名無しさん
09/10/08 17:01:54
書籍もクソならスレ住民もクソだな

91:デフォルトの名無しさん
09/10/08 17:12:10
????

92:デフォルトの名無しさん
09/10/08 18:00:07
>>87
どれも正しくない。
>>65の説明が正しい。
ローカルに無かったらグローバルから探すっていうだけの話。

93:デフォルトの名無しさん
09/10/08 22:57:54
Dive into Python 3 だれか翻訳しろ

94:デフォルトの名無しさん
09/10/08 23:00:36
じゃあ輪読しようぜ

95:デフォルトの名無しさん
09/10/08 23:14:19
>>75が意味分からん
何をいわんとしているのか

96:デフォルトの名無しさん
09/10/08 23:23:14
Dive into Python 3 の翻訳は
この前どこかで見たぜ

97:デフォルトの名無しさん
09/10/08 23:32:57
>>93
直訳で
だいぶいると Python3

翻訳すると
Python3人口は多いです。

98:デフォルトの名無しさん
09/10/08 23:35:27
(´・∀・`)

99:デフォルトの名無しさん
09/10/09 02:19:29
>>93
翻訳用のファイルを作ってコミットしておいた。
URLリンク(code.google.com)

暇人の方は↓のグループに参加申請してくれれば、↑のメンバーに追加します。
URLリンク(groups.google.co.jp)

100:デフォルトの名無しさん
09/10/09 12:11:29
思ったほど大した量じゃないね
これはいけるかも

101:デフォルトの名無しさん
09/10/09 12:24:03
>>99-100
ここに移動した方がいい

【実験台】 Python 3.0 のお勉強 Part 1 【非互換】
スレリンク(tech板)


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch