[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 08/01 18:14 / Filesize : 164 KB / Number-of Response : 711
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

くだすれPython(超初心者用) その3



1 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 06:33:45 ]
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、
お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>980 辺りで

前スレ
くだすれPython(超初心者用) その2
pc11.2ch.net/test/read.cgi/tech/1218155094/

関連スレ
Pythonのお勉強 Part31
pc11.2ch.net/test/read.cgi/tech/1230821097/

552 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 00:25:03 ]
db.run_in_transaction

553 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 00:26:55 ]
はやくしてください。

554 名前:551 mailto:sage [2009/03/07(土) 00:35:19 ]
>>552

ありがとうございます、まさに求めていたものでした!


555 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 00:47:20 ]
>>551
つttp://code.google.com/intl/ja/appengine/docs/python/datastore/functions.html#run_in_transaction
もう解決したみたいだけど
↓こっちも見ておいた方が良いです
ttp://sites.google.com/site/io/building-scalable-web-applications-with-google-app-engine


556 名前:551 mailto:sage [2009/03/07(土) 00:54:26 ]
>>555

ありがとうございます、ビデオも見せていただきます!
Pythonはじめてな上に慣れないDatastoreなので
悪戦苦闘してますw

557 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 01:06:21 ]
>>556
つttp://docs.google.com/Present?docid=dc3xqd3t_11g3pdqk3v

今は楽しい時期かもしれないけど
そのうちGAEに失望することになるよw

558 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 01:07:51 ]
>id = db.FloatProperty()
>id = id + 1.0
だれかここに突っ込めよ

559 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 02:09:37 ]
ディレクトリの名前が FooDir だとすると
内部の app.py (エントリーポイント) で

import FooDir とすると __init__.py が呼び出されますか?
FooDir.py とか見当たりませんでした…

560 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 06:56:14 ]
ttp://sites.google.com/site/docjpgaeo/tutorials/developing-and-installing-a-plugin
ttp://doc.gaeo.org/tutorials/developing-and-installing-plugins



561 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 09:48:13 ]
すみません…意味がわかりません

562 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 14:27:32 ]
普通は教えてもらってそれほど感動したなら、今度は自分が教える側に回ろうとか思うもんだけどな

1年半経って未だに質問するだけか

猿だな

答えて貰えなきゃ感謝してるはずのスレで罵詈雑言撒き散らして荒らすあたりが本当に猿

563 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 14:29:43 ]
www.boduch.ca/search/label/boduch
packages.python.org/boduch/module-boduch.type.html
apydia.ematia.de/

名前空間があるからこそ
ドキュメントの自動生成を範疇として自らの内に
捕らえられるのでしょうか?

でも __init__.py いうのが
いまいちよく理解できない…pythonムズイ…orz

564 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 16:24:51 ]
>>265-268

565 名前:デフォルトの名無しさん [2009/03/07(土) 16:29:26 ]
sys.path.append(os.path.dirname(__file__))
sys.path.append(os.path.join(os.path.dirname(__file__), 'application'))
plugins_root = os.path.join(os.path.dirname(__file__), 'plugins')
if os.path.exists(plugins_root):
plugins = os.listdir(plugins_root)
for plugin in plugins:
if not re.match('^__', plugin):
exec('from plugins import %s' % plugin)


566 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 19:16:47 ]
気象予報士って13歳でも受かるんだな

567 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 20:47:25 ]
確かにPythonの綺麗なインデント、コードスタイルには興味があるけどー
Rubyと比べると正直価値は無いと思うがなぁ。

ていうかSmalltalkと同じ発想でしかも低レベルなのが物凄く悲しい
俺みたいな凡人には推し量れない意味があると信じたい

568 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 21:11:25 ]
俺みたいな凡人には推し量れない意味があると信じたい

569 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 22:33:09 ]
インデント、コードスタイルで Python 選んだ訳じゃないからなぁ

570 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 00:44:19 ]
ぶっちゃけ、俺の書くコードの見た目はだいたい全部同じになる。(関数系は除いて)
ただ、モンティパイソン精神でこれ使ってる。



571 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 18:18:39 ]
Rubyと比べると正直価値は無いと思うがなぁ。
Rubyと比べると正直価値は無いと思うがなぁ。
Rubyと比べると正直価値は無いと思うがなぁ。

572 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 20:36:18 ]
ドキュメンテーションが半端なライブラリ等はプロジェクトに
持ち込むべきじゃないし、ドキュメンテーション活動が活発なところ
からチョイスした方が楽が出来る

573 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 22:18:32 ]
Python で抽象クラスを定義するにはどのように書けばよいでしょうか?

574 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 16:01:05 ]
import ImageTk as Itk とすると
ImportError: No module named ImageTk となるのですが、どうすればいいですか?

575 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 16:16:03 ]
PIL入れろ

576 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 16:25:38 ]
>>575 いけた!サンクス

577 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 20:57:03 ]
>>573
ttp://d.hatena.ne.jp/chrono-meter/20080327/p1
ttp://d.hatena.ne.jp/chrono-meter/20080327/p2

578 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 00:08:30 ]
タプルとかのコレクションを可変個引数に上手く渡すにはどうしたらいいです?
perlでふつうに&func(@array)みたいに。

579 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 00:09:50 ]
func(*array) かな

580 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 00:18:56 ]
func(**hash) かな



581 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 00:26:35 ]
普通に渡すならそれで良いんですけど、可変個引数を取る関数にタプルを上手く渡せないものかと。

(a, b, c) = get_tuple()
want_varg(a, b, c) # 可変個引数な関数

この時に一時変数 a, b, c を介さずに引数を渡せないものですかね?

582 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 00:28:50 ]
want_varg(*get_tuple())

583 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 00:34:18 ]
>582
それです!
ありがとうございます。

584 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 06:45:13 ]
目の前にあっても見えないことってあるんだな

585 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 12:39:53 ]
先生!教えてください。
WindowsでPython使う場合、ActivePythonのPythonどちらを使えばいいですか?
あと、2.6.1と3.0.1のどちらが良いですか?
初心者です。
よろしくお願いします。

586 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 12:43:42 ]
>>585
JythonかIronPythonのほうがいいよ

587 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 12:51:00 ]
>>585
公式の2.5.4オススメ
WindowsAPIやCOMを使うつもりがあるならActivePython
自ら進んで苦労したい物好きなら3.0

588 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 12:53:40 ]
なんで2.5系薦めるんだよ・・・・・・

>>586
はふざけてるんだろうけど

589 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 12:57:56 ]
まだ2.6に対応してないライブラリが多いから

590 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 22:27:12 ]
すんません、教えてください。Win32 python2.6.1です。

リストの要素をCSVに落としたいんだけど。

こんなデータ(リスト)を
["a1", "b2", "c3", "d4", "e5"]



こんな文字列(CSV形式)に変換
"a1,b2,c3,d4,e5"

にしたいんですけど、一発でできる関数ってありますか?

いや、forでまわして末尾にカンマつけてって、
そんで最後までやったら末尾のカンマを取るってのは、流石にちょっと野暮ったいと思ったので。



591 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 22:28:49 ]
L = ["a1", "b2", "c3", "d4", "e5"]
','.join(L)

592 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 22:29:48 ]
joinじゃだめ?

593 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 22:30:58 ]
>>591
>>592

おー、できた。トンクス。
やっぱ聞いてみるもんだ。半日悩んだよw

594 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 23:05:10 ]
CSVは読み書きできるモジュールがあるよ
ttp://www.python.jp/doc/release/lib/csv-examples.html

595 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 09:54:39 ]
>>594
トン。ダイレクトにCSVに書き込む奴もあるのか。
流石というか、誰もが使うようなものは標準としてあるもんなんだな。
車輪の再発明(しかも超低脳)してばっかだわ、俺。

596 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 04:52:34 ]
バイトコードってどうやって、つくるの?
python -O foo.pyでは、ダメなの?

597 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 12:37:00 ]
compileall, py_compile

598 名前:デフォルトの名無しさん [2009/03/13(金) 18:41:39 ]
>>> 'ほげ'.decode('cp932')
u'\u307b\u3052'
>>> ('%s' % 'ほげ').decode('cp932')
u'\u307b\u3052'
>>> (u'%s' % 'ほげ').decode('cp932')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0x82 in position 0: ordinal not in range(128)
>>> (u'%s' % 'ほげ'.decode('cp932'))
u'\u307b\u3052'
>>> ('%s' % 'ほげ'.decode('cp932'))
u'\u307b\u3052'
>>> ('%s' % u'ほげ').decode('cp932')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
>>> ('%s' % u'ほげ').encode('cp932')
'\x82\xd9\x82\xb0'
>>> (u'%s' % 'ほげ').encode('cp932')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0x82 in position 0: ordinal not in range(128)
>>> (u'%s' % u'ほげ').encode('cp932')
'\x82\xd9\x82\xb0'
>>> ('%s' % u'ほげ'.encode('cp932'))
'\x82\xd9\x82\xb0'
>>> ('%s' % u'ほげ')
u'\u307b\u3052'
>>> type('%s' % u'ほげ')
<type 'unicode'>
>>>

599 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 19:51:26 ]
py2exeで実行ファイルをつくってみたんですが、別のWindows 2000マシンで実行したらmsvcr90.dllを要求されました。
再配布パッケージを入れればよいようですが、そもそもこのDLLを要求されないようにすることはできないんでしょうか?

600 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 20:59:29 ]
python26.dllを/MTでビルドすれば可能かも知れないけど
拡張モジュールとFILE*でやりとりしてるとことかあるから多分無理じゃね



601 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 22:04:55 ]
ありがとうございます。
やっぱりダメですか。配布先にDLLのインストール要求できるならそもそもPythonインストールして貰えばいいし、py2exeって何なんでしょうね。
Vistaだと最初からDLL入ってるのかな。

602 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 00:09:47 ]
>>601
インストールしないまでもexeとセットでdll配るんじゃダメなんだっけ?
同一フォルダにあれば動きそうだけど。

603 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 00:20:36 ]
同一フォルダでOKな気が。

604 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 00:52:26 ]
漏れは setup.py の data_files に書き足してる
最近の atom の net book とかだと msvcpXX.dll
なんかも持っていかないと動かないみたいだし

605 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 07:14:24 ]
msvcpってC++ランタイムだからいらないと思うよ
どっちにしろmsvcのランタイムは配布条件が面倒くさい

606 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 09:17:20 ]
Microsoft.VC90.CRT.manifestを添付するのだけ気をつけて
exeと同一ファイルに配置するのはOKだから別に面倒くさくはないよ。

607 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 09:33:57 ]
ファイル->フォルダ

608 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 09:57:33 ]
>>605が言ってるのは方法じゃなくて条件(ライセンス)でしょ
詳しいこと忘れたけど

609 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 12:00:27 ]
>>605
無いと動かなかった
そのファイル一個だけ追加したら動いた
importしてるmoduleが要求してたの鴨試練

610 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 18:15:44 ]
調べてみたけどmsvcr90.dllをコピーして再配布していいかどうかわかりませんでした。
ユーザにMSのサイトからパッケージをダウンロードしてもらうなら問題なさそうですが、手間ですよね。残念。



611 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 18:15:52 ]
>>609
もし面倒じゃなければ依存関係調べてみれば?

612 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 18:19:34 ]
>>910
Microsoft Visual C++ 2008 Express Editionのredist.txtには
C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT
を手を加えずにディレクトリ名も変更しないでそのまま再頒布しろって書いてあると思う

613 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 19:05:10 ]
>>610
py2exeにsetupツールも入れてexe化して
MSのサイトからパッケージをダウンロードするように作っておけば?

614 名前:606 mailto:sage [2009/03/15(日) 01:19:17 ]
貴様らワシの言うことが信じられんと申すか……

615 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 02:48:09 ]
>>614
素直にRuby使った方がよろしいのではないでしょうか。

616 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 03:31:43 ]
Windows上でRubyとかまたご冗談を

617 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 06:14:42 ]
rubyのexerbで実行ファイルつくるとDLLなしで動作するよ。
しかもどうやってるのかLinux上でつくれたりする。

618 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 08:09:23 ]
>>617
あれは実行ファイルじゃないから
自己解凍圧縮ファイルみたいな発想

619 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 11:27:21 ]
>>618

620 名前:デフォルトの名無しさん [2009/03/16(月) 18:36:56 ]
pythonでTkinterを使用しGUIを勉強しています。
タブブラウザのようなインターフェイスにするにはどうすればいいでしょうか?

少しググったらmaya.cmdsをimportしてtablayoutうんぬん・・・というページがあったのですが、
mayaとか持ってませんし・・・



621 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 19:04:28 ]
www.not-enough.org/abe/manual/maya-python-aa07/layout2.html

このページにある画像みたいなインターフェイスを作りたいです

622 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 19:11:57 ]
>>621
tkinter.unpythonic.net/wiki/NoteBook

623 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 19:46:17 ]
>>622
ありがとうございます。
BWidgetはTcl/Tkの拡張用のようなのですが、Tcl/Tkも導入しなければなりませんか?
DLしたのはBWidget1.7.0でした

624 名前:デフォルトの名無しさん [2009/03/16(月) 21:17:35 ]
www.wxpython.org/screenshots.php

625 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 21:27:53 ]
>>623
つttp://tkinter.unpythonic.net/bwidget/

626 名前:>>620 >>621 >>623 mailto:sage [2009/03/17(火) 10:37:54 ]
解決というか>>622さんのおっしゃられた
tkinter.unpythonic.net/wiki/NoteBook
のサンプルが表示されるようになりました。

原因はBWidget1.7を入れるフォルダを間違えていました。
bwidgetフォルダとsetup.py tabdemo.py test.pyはpythonのLibフォルダへ
BWidget-1.7.0はpythonのtclフォルダに入れればよかったのですね。

レスくださったみなさまありがとうございました。

627 名前:>>626 mailto:sage [2009/03/17(火) 18:29:42 ]
連続で質問ばかりしてしまいすみません。

タブを選択(クリック)すると、そのGUIのページを表示するのにはどうすればいいでしょうか?
以下現在のコード(サンプルを修正したもの)です。

# -*- coding:UTF-8 -*-
import bwidget, Tkinter, sys, os

app = Tkinter.Tk(); app.wm_title("Tabs")
notebook = bwidget.NoteBook(app, arcradius=2); notebook.pack()

Tabs = ['a','b','c']

for i, f in enumerate(Tabs):

page = notebook.insert(Tkinter.END, i, text=f)
sw = bwidget.ScrolledWindow(page)
text = Tkinter.Text(sw)
#text.insert(Tkinter.END,f)
sw.setwidget(text)
sw.pack(side=Tkinter.TOP, fill=Tkinter.BOTH, expand=True)
notebook.compute_size()

app.mainloop()

aタブを選択したら、Frameを表示して、ボタンを配置して、といういつものGUI作成
(または、それをすでに定義してある関数)
を表示させたいのですが、bwidget.ScrolledWindow(page)ではもちろん表示されることはありません。

簡単なサンプルコードがのっているページや方法があれば教えてください。よろしくおねがいします。

628 名前:デフォルトの名無しさん mailto:sage [2009/03/18(水) 00:14:29 ]
つttp://tkinter.unpythonic.net/wiki/BWidgets

629 名前:デフォルトの名無しさん mailto:sage [2009/03/18(水) 00:39:57 ]
tabs = ['a', 'b', 'c']
for i, f in enumerate(tabs):
page = notebook.insert(Tkinter.END, i, text=f)
p = Tkinter.PanedWindow(page)
p.pack(fill='both', expand='yes')
b1 = Tkinter.Button(app, relief=Tkinter.SUNKEN,
text='Quit-' + str(i), command=app.destroy)
b1.pack()
p.add(b1)
b2 = Tkinter.Button(app, relief=Tkinter.SUNKEN,
text='Quit-' + f, command=app.destroy)
b2.pack()
p.add(b2)


630 名前:>>627 mailto:sage [2009/03/18(水) 12:31:55 ]
>>629
コードまでありがとうございます。
一応カタチにはなりました。ありがとうございました



631 名前:デフォルトの名無しさん [2009/03/18(水) 18:51:19 ]
質問です。
osはwindowsxp、
PythonのversionはPython 2.5.2を使っています。
subprocessモジュールを使ってコマンドプロンプトでの以下のような二行を実行したいと思っています。

C:\Python25>doskey mpc = "C:\Program Files\mplayerc_20080104_jpn_r3\mplayerc.exe" $*
C:\Python25>mpc test.wav

一行目は
subprocess.Popen('doskey mpc = \"C:\Program Files\mplayerc_20080104_jpn_r3\mplayerc.exe\" $*',shell = True)
で解決できるのですが
続けて実行するように二行目(mpc test.wav)をどう書けばいいのかがわかりません。
どなたかわかる方お願いしますm(_ _)m

632 名前:デフォルトの名無しさん mailto:sage [2009/03/18(水) 18:55:43 ]
よくわからんがos.system()を使ってはどうかに?

633 名前:デフォルトの名無しさん mailto:sage [2009/03/19(木) 12:12:49 ]
>>631
目的は、単にmplayerc.exeで音楽を鳴らしたいの?
ならdoskeyはいらんのじゃないか

import subprocess
mpc = 'C:/Program Files/mplayerc_20080104_jpn_r3/mplaeyrc.exe'
subprocess.call([mpc, 'test.wav'])

でできると思うが

634 名前:633 mailto:sage [2009/03/19(木) 12:24:38 ]
- mpc = 'C:/Program Files/mplayerc_20080104_jpn_r3/mplaeyrc.exe'
+ mpc = 'C:/Program Files/mplayerc_20080104_jpn_r3/mplayerc.exe'

typoってた
後は、test.wavのフルパスを指定していないので、そこがカレントディレクトリに
なっていることを確認汁


635 名前:デフォルトの名無しさん mailto:sage [2009/03/19(木) 16:55:34 ]
popen2.popen3 使うのと subprocess 使うのはどっちがどのくらいいいの?

636 名前:デフォルトの名無しさん mailto:sage [2009/03/19(木) 16:57:55 ]
今はsubprocess推奨で、他はレガシー扱いのはず

637 名前:デフォルトの名無しさん mailto:sage [2009/03/19(木) 16:59:43 ]
subprocessでいいんじゃない?
キッチンシンク的だが、何かに不足することはない。

他の何かだと、ちょっとした設計変更で別の何かに書き換える必要が
あったりしていろいろ面倒なことが多い。

638 名前:デフォルトの名無しさん mailto:sage [2009/03/19(木) 17:09:41 ]
ありがとう勉強になりました
ちょっとためしてみたけど subprocess.Popen のあと
stdout.read() すると非同期で動くんですね


639 名前:デフォルトの名無しさん mailto:sage [2009/03/19(木) 23:35:23 ]
tupleを戻す関数を呼ぶとき
hoge, fuga = hage()
と書くのか
(hoge, fuga) = hage()
と書くので何か違いはありますか?
また
return hage, fuga
return (hage, fuga)
でも違いはありますか?

640 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 00:44:27 ]
まったく同じ。dis.disで調べろ



641 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 04:14:32 ]
ありがとうございます

642 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 21:48:50 ]
itertools.teeの使い道がいまいちよくわからないのですが
どういった際に有用なのでしょうか?

643 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 22:06:11 ]
>>642
俺も使ったことねー
_1, _2 = tee(xs)
_1の処理
_2の処理

みたいに逐次的に2-pass処理するんなら
結局リストと同様に全要素メモリに持っておかないといかんし、それならリストでいい
なんかもう少し高級な場合に必要なのだろうと思った

644 名前:643 mailto:sage [2009/03/20(金) 22:10:54 ]
あー多分あれだ、前後の要素みながらやる仕事にいいんじゃないか
全部は要素を持っておく必要が無いが、近傍のN個程度の要素が欲しい、という場合
tee使わんでも書けるけど使ったほうが綺麗に書けるのかもしれない

645 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 01:05:47 ]
>>643-644
回答ありがとうございました。

具体的な例が今のところ思いつきませんが、そういうような処理を要する時に使ってみたいと思います。

646 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 23:28:10 ]
python の正規表現で、以下のような条件をすべて満たす文字列はど
のように表現すればいいのでしょうか。

o 英小文字を一字以上含む
o 英大文字を一字以上含む
o 数字を一字以上含む
o ngword(case無視)をふくまない
o 全体で6文字以上である

ruby とか perl だと以下の正規表現でうまく動くみたいなのですが、
python の場合、どのように書けばいいのかがわかりません...

/(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?i)(?!.*ngword)^[ -~]{6,}$/

647 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 23:34:51 ]
一つの正規表現でやらなきゃならない理由は?

648 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 23:39:14 ]
自己解決しました。(?i) が正規表現全体に効いてしまうのですね。

>>> re.compile(r'(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?i)(?!.*ngword)^[ -~]{6,}$').search("eka2d______")
<_sre.SRE_Match object at 0xb7ef6870>

# 英大文字が含まれていないのにマッチ

ちょっと面倒ですが、以下のようにする事でうまく動くようになりました。

>>> re.compile(r'(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*[nN][gG][wW][oO][rR][dD])^[ -~]{6,}$').search("eka2d______")
>>> re.compile(r'(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*[nN][gG][wW][oO][rR][dD])^[ -~]{6,}$').search("eka2dA______")
<_sre.SRE_Match object at 0xb7f0cd78>


649 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 23:41:27 ]
>>647
レスありがとうございます。正規表現で書ければ、コード本体をいじらなくて
も済むという事情があったからです。

650 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 17:40:07 ]
Pygameのインストールが上手くいかないので教えてください
WindowsにPython2.5.4をいれ、pygame-1.8.1.win32-py2.5.msiでインストールして
>>> import pygame
と呼び出しているんですが、何度やっても
Trackback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named pygame
と出ます。
解決方法があれば教えてください



651 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 18:13:02 ]
>>650
site-packageはみたか?

652 名前:デフォルトの名無しさん [2009/03/22(日) 20:08:25 ]
>>651
site-packageを足がかりに調べてみたところ
TracLight入れたときに環境変数が色々と書き換えられてたのが原因でした
元に戻したところ無事に動きました
ありがとうございました

653 名前:デフォルトの名無しさん mailto:sage [2009/03/23(月) 22:17:02 ]
質問させてください。
Pythonでsubstring(文字列の切り出し)
を実装するには、どのような方法で実装するのが一般的
なのでしょうか?

普通にstrNew = strVal.substring(1,5)
とかできるのかと思ってたらできなくてびっくりしてます。

654 名前:デフォルトの名無しさん mailto:sage [2009/03/23(月) 22:20:54 ]
strVal[1:5+1]

655 名前:デフォルトの名無しさん mailto:sage [2009/03/23(月) 22:44:04 ]
>>654

ありがとうございます。
末尾を指定せずに切り出すのもこれでいけるんですね。
助かりました。

656 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 00:15:59 ]
こういうの知ってないとググり様がない気がする

657 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 00:16:41 ]
と言っても .substring() が良いっていう意味じゃないからね

658 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 00:23:23 ]
>>655
このページが結構役に立つ
0xcc.net/blog/archives/000137.html

659 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 00:59:58 ]
>>656
Python 文字列 切り出し
でぐぐればいい

660 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 01:11:05 ]
>>659
おまい頭ええのう



661 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 02:32:02 ]
リファレンス読めば書いてあるじゃない

662 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 03:48:30 ]
リファレンスのどこにあるかを問題にしている訳で

663 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 10:59:15 ]
>>662
シーケンス型と文字列型のところみたら乗ってるだろ。
最近のヤツは検索以外の方法で情報を探す能力無いのか。

664 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 11:09:40 ]
Python初めて使うんなら、タダで読めて和訳もされてるチュートリアルぐらいは
ざっと読んどくといいぞ
序盤の「形式ばらないPythonの紹介」って所に文字列スライスの例も
出てくる
基本中の基本だからな

665 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 11:57:44 ]
もう少し読みやすくなってるといいよね
次のバージョンの日本語に期待

666 名前:デフォルトの名無しさん [2009/03/25(水) 14:08:40 ]
プロセスは動かしっぱなしで定期的にメモリを食う処理をしているんですが
Pythonで使わなくなったメモリはOSに返されて居るんでしょうか?
インタプリタがヒーブとして握ったままとか無いですか?
OSはWindows XPとLinuxです。インタプリタのバージョンは2.6です。

667 名前:デフォルトの名無しさん [2009/03/25(水) 23:59:16 ]
enthoughtのETS-3.2.0使えてる人いますか?
Enable-3.2.0のインストールで
/private/tmp/easy_install-OkiW1r/Enable-3.1.0/build/docs/html/.doctrees/index.doctree
が無いっておこられる…

668 名前:デフォルトの名無しさん mailto:sage [2009/03/26(木) 20:51:49 ]
>>666
pure Python で、不必要なオブジェクトの参照を掴んだままだったらメモリは解放されない。
Javaとかと一緒。

669 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 00:37:36 ]
>>668 えーとdelすればいいのかな?

670 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 00:41:51 ]
>>669
それはやめといたほうがいい、やりたいというならよく調べてからだな

Noneでも入れとけばいい



671 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 01:00:34 ]
オブジェクトがGCで解放されるかどうかと「OSに返され」るかどうかは
イコールじゃないよ

Pythonは最終的にはlibcのmalloc()/free()を使っているから、どういう
戦略を採っているかはlibcの実装によるが、普通はOSにはいちいち返さないはずだ
解放された領域は、再確保時に使いまわせるようにプールされる

672 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 01:25:17 ]
バッファとかキャッシュみたいなもんだね
いちいちOSに伺い立ててたら遅いから
借りたものは死ぬまで返さない方針の方が速い

673 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 01:31:34 ]
Rubyかどっかのスレで似たこと聞いてたひといたけど
同じひとかな

674 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 17:06:48 ]
>>671
うん、ある程度はプールされる。
でも大幅にメモリが空いたらOSに返される。

675 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 18:40:09 ]
Windows上ではCPythonとIronPythonがあるけどどっちがいいんだ?
やれることに違いはあまりなさそうだが。

676 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 20:35:54 ]
普通はCPythonじゃねーか?

漏れの場合は仕事でJavaとかJythonもやるのでEclipse上であれこれソースをいじるし、
サーバーサイドも書くので互換性を意識してCPython使っている。

IronPythonはプライベートのお遊び用ってスタンスだけど。
普段の生活でWindowsしか触らないなら、どっちも違いはないかな。

677 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 23:10:38 ]
なるほど。Ironの方でないと実現できないってケースにぶち当たるまではCPythonをやっとくか。
日本語資料の豊富さでもCPythonが上手のようだし。

678 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 23:10:54 ]
IronPythonはお遊び専用

679 名前:デフォルトの名無しさん mailto:sage [2009/03/28(土) 00:53:33 ]
IronPythonかなり遊べるけど、やっぱ遊び専用だな。
使えないという意味ではまったくない。

680 名前:デフォルトの名無しさん mailto:sage [2009/03/28(土) 05:56:17 ]
遊びには使えるが
仕事には使えない



681 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 00:06:03 ]
620 :nobodyさん:2009/03/27(金) 23:54:31 ID:KMOu2qJC
「pygameでろくでなしブルース」
www.freepe.com/i.cgi?rokublues

プログラマーはあなたでお願いします。
あと、BGM(効果音はくにおから取ってほしい)製作出来る方を募集します。

参加は俺のドット絵のセンスを認めて頂いた場合だけで構いません。
誰も乗らないならそれまでだと受け止めます。

ただ、やるなら夢はでっかく、
最終的に、ネット経由の多人数プレイで、
学園対抗の乱闘騒ぎが出来るゲームにしたいなあ。

682 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 05:31:42 ]
>>681
死ね

683 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 05:42:18 ]
>>681
とりあえずサーバー用意してくれよ

684 名前:デフォルトの名無しさん [2009/03/29(日) 06:37:34 ]
pc11.2ch.net/test/read.cgi/php/1156612854/620
扇子無いから協力しない

685 名前:デフォルトの名無しさん [2009/03/29(日) 19:08:38 ]
Pythonしか知らないのですがメンバ変数とかのメンバとはどういうものでしょうか?

686 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 23:58:20 ]
ここいくとおしえてもらえるよ
pc12.2ch.net/test/read.cgi/tech/1235727504

687 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 10:35:18 ]
C/C++用語だろ

688 名前:デフォルトの名無しさん mailto:sage [2009/03/31(火) 03:28:13 ]
win上で走らせるスクリプトで、ファイルを削除じゃなくてゴミ箱に
入れるようにしたいんだけどどうすればいい?

689 名前:デフォルトの名無しさん mailto:sage [2009/03/31(火) 04:07:09 ]
>>688
Pythonのことは知らないが、Win32APIならSHFileOperation

690 名前:デフォルトの名無しさん mailto:sage [2009/03/31(火) 18:10:05 ]
>>689
なるほど、Pythonでやるなら拡張モジュール用意しなくちゃだめか。
さんくす。



691 名前:デフォルトの名無しさん mailto:sage [2009/03/31(火) 19:59:11 ]
>>690
標準ライブラリにある ctypes でできない?

692 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 04:37:22 ]
できるよ

693 名前:デフォルトの名無しさん [2009/04/02(木) 08:27:09 ]
おはようございます。
春からpythonで開発していくことになりましたが、全て英語で書いてるので全く理解できません。

日本語のマニュアルとか、本とかは出ていますか?

694 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 08:30:49 ]
>>693
若干バージョンが古いけど
www.python.jp/Zope/links/python_documents

ちなみに本はたくさんある

695 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 08:32:58 ]
>全て英語で書いてるので

理解してないのに良くかけるな

696 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 10:00:25 ]
ttp://www.amazon.co.jp/dp/4797353953


697 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 10:30:24 ]
英語の勉強も並行したほうがいいのでは。
喋れないのは仕方ないが、ドキュメントも読めないレベルだと
転職も難しいぞ。

698 名前:デフォルトの名無しさん [2009/04/02(木) 10:50:23 ]
ありがとうございます!

699 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 16:23:57 ]
日本語からやり直した方がいい

700 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 22:28:22 ]
>>693
Python やめた方がいい。職業も変えたほうがいい。
もっと自分の能力にあった仕事を選んだ方が幸せだぞ。



701 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 22:44:45 ]
>>700
ありがとうございます!


702 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 01:35:31 ]
>>701
僕を師匠と呼びなさい

703 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 06:17:37 ]
>>702
し、ししょおおおおおおおッ!

704 名前:デフォルトの名無しさん mailto:  [2009/04/03(金) 18:06:18 ]
whileを使って、足し算をするソース教えて。
<条件>
・inputで計算の回数を入力する。

〜例〜
Input any number :3 //計算回数
Input any number :5 //1つ目
Input any number :6 //2つ目
Input any number :4 //3つ目
15

ってなヤツ。

705 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 18:13:04 ]
a=int(raw_input('Input any number :'))
b = 0
for i in xrange(a):
b+=int(raw_input('Input any number :'))
print(b)

706 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 18:15:45 ]
ごめんwhile使ってなかったわ

707 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 20:04:22 ]
a = int(raw_input('Input any number :'))
b = 0
i = 0
while i != a:
b += int(raw_input('Input any number :'))
i += 1
print b


708 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 23:59:29 ]
while i < a: の方が自然。


709 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 00:29:07 ]
a = []
while True:
  a.append(int(raw_input('Input any number:')))
  if len(a[1:]) == a[0]:
    break
print sum(a[1:])


710 名前:デフォルトの名無しさん mailto:  [2009/04/04(土) 16:08:43 ]
>>709
出来た。ありがとう。








[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<164KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef