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


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

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



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

582 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 10:36:25 ]
楽なほうからやらせるほうがいいに決まってんだろ。
いきなり苦行を科してどうするんだよ。

583 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 10:41:45 ]
これだからゆとりは...

584 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 10:44:24 ]
近寄らないでください。老臭がします。

585 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 13:29:16 ]
最近はExcelで仕様書書くだけで
コード吐いてプログラム完成するんですよね


586 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 16:38:14 ]
これだからゆとりは...

587 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 17:49:14 ]
IDE が進化して人間に敵対しはじめるとか


588 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 22:57:03 ]
スカイネットですね、わかります

589 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:29:13 ]
スカイフィッシュはどうしたんだろうね。

590 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:00:45 ]
乱獲しすぎて……ごめん



591 名前:デフォルトの名無しさん [2008/06/16(月) 15:29:19 ]
とりあえずCでセグフォいっぱい出して、
なぜか考えるんだ。そしてメモリ管理って
なんて難しいんだろうって悩むんだ。

そうすれば最近のどんな言語であっても
ある機能がなぜ実装されているのか理解できるだろう。

592 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 16:48:22 ]
そうかなあ・・・

593 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 22:07:31 ]
「最初は楽しまくってプログラミングの楽しさを満喫しようよ」派
「コマンドラインで基礎からみっちりやれGUIデザイナとかIDEなんて十年早いんじゃ」派


594 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 22:42:35 ]
python使うのに後者はないだろ・・

595 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 23:00:40 ]
pyukiwiki.sourceforge.jp/PyukiWiki/

wktkしてリンク先を眺めたら
そこにはperlがありました・・・

日本人プロダクトなyukiwikiはどこにあるのでしょうか?

596 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 23:12:20 ]
www.hyuki.com/yukiwiki/

597 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 07:54:45 ]
ここは低レベルな質問でもOKなんでしょうか?

Windows環境上で、Pythonを勉強中なのですが、エディタの選択で悩んでいます

a. emacs系のエディタに慣れ過ぎてしまったので、キー操作にemacs系のソレが用意されていること
b. eclipseに慣れてしまったので、予約語、変数名、メソッド名、ファイル内に出現した単語を補完してくれる機能があること
c. コメントを日本語で書きたいので、utf-8n でファイルを開いたり保存したりできるもの
d. 起動が重いと学習意欲が削がれるので、起動が比較的早いもの
e. 無料で使えること

こういった条件を満たせるものを探しているのですが、これがなかなか見つかりません
「emacs慣れてるならemacs使えや」と言われそうですが、Meadowの起動は遅いですし予約語補完もいま一つですし(ファイル内に出現した単語の補完は楽なんですが…)
「eclipse+PyDevはどや」と言ってもeclipseは起動が糞重くて辟易しますしそもそもPyDevって有償じゃないのでしょうか以前入れたら広告が頻繁に出てきて以下略
何かいいエディタはないでしょうか

598 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 10:51:14 ]
Meadowを自動起動にして終了させなければいいんだ。

599 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 11:00:17 ]
Komodoもいいかもね。

600 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 12:16:09 ]
xyzzy



601 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:34:47 ]
スクリプト組むのにeclipseって
鶏を割くのにナパーム弾を使うみたいだな

602 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:53:02 ]
ナパーム弾で鶏は割けないと思います!><

603 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:54:21 ]
>>597
何も考えずに付属の IDLE (Python GUI) を使う。

604 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 06:13:37 ]
ちょっと前にIDLEをエディタとして使ってみたけど、ウインドウの分割が
できないのがキツかったな。

俺は次はPyPEを試してみる。
日本語の編集に難ありだけど、全体的には使いやすそう。

605 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 11:05:43 ]
>>555-557
".com"のところがみそなんだろうなあ

606 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 11:24:07 ]
>>570の便乗質問なんだけど
OSやPCの知識を深く得る意味でLinux環境でgccとpythonを勉強するのは、どうなんでしょうか?
C1本に絞ったほうがいいんですかね

勉強法のひとつとして
実装してみたい簡単なプログラムをPythonで書いて、Cでも実装してみる
こういうのってどうなんだろう

自分のイメージとしてはCはgdbとかを使いながら、ソースコードを読めるレベルになりたいですんよね

607 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 11:36:30 ]
それならC一本でいい気もする

そういうアプローチ(OSやPCの知識を深く得る)から書かれている本として
『ふつうのLinuxプログラミング』『Unix/Linuxプログラミング 理論と実践』などが挙げられる
読んでみるといいんじゃないだろうか

まあ俺はHelloWorldしか書けないわけだが

608 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 13:31:48 ]
>>598-600
アドバイス、dです

Meadowを起動したら最後、永遠に終了させない、という発想はありませんでした…
メール閲覧もWebサイト閲覧もすべてMeadow/NTEmacsでやるぜ!という人には十分アリな選択肢なのかもしれないですね…
しかしまさかPythonを勉強したいがためだけに、日常作業の全てをemacsに委ねるべく人体改造する羽目になるとは…

Komod Edit はいい感じですね。実は今現在、それで騙し騙しやってるところだったりします
emacs系のキーマップもありますし、使用中の動作も比較的軽いですし
ですが、起動がecipse並みに遅いのと、複数のファイルを共有した単語補完ができないのが厳しいところです
別ファイルのタブに移動してメソッド名をコピーして元タブに戻って貼り付け、が面倒くさい…

xyzzyは常用エディタだったりするんですが、py-mode がどうも非力な印象で…
また、新規ファイルを作成すると、SJISになってしまうあたりも、未だ自力で解決できなくてKomodoに逃げてる状態だったりします

emacs系のキーマップにこだわるから選択肢が少なくなるんですかね。XKeymacsの導入を前提にして範囲を広げたほうがいいのかな

609 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 13:35:26 ]
>>603
IDLEはキーマップ?がWindowsのソレじゃないですか…?
Windowsアプリのキーマップでいいなら、PyScripterその他でええやんということにもなりそうな気がします

でもたしかに、「勉強用」と割り切るなら、最初から標準で入ってるIDLEを、というのは実に定番ですな…

610 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 13:38:48 ]
>>601
非常に激しく、強く、熱く、胸を張って、声を高らかに、同意します

Lightweight Language といいながら全然Lightweightじゃねえ気がします>eclipseでLL



611 名前:606 mailto:sage [2008/06/18(水) 14:46:29 ]
>>607
C一本か〜
なんかやりたいくないなあ〜w

612 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 14:48:50 ]
Cの基本だけなら直ぐ終わるよ

613 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 14:52:12 ]
そうだね、プロテインだね。

614 名前:デフォルトの名無しさん [2008/06/19(木) 07:21:08 ]
基本、コマンドラインからつかうツールを使っているんだけど、
たとえばオプションをGUIで指定したり実行結果のテキストを
スクロール可能な形で表示したいと思うこともある。

wxPython とか大げさ(というか使い方わかんね)だとおもうんだけど、
かといって curses みたいなのよりはちょっとGUIっぽくあってほしい。
やっぱりそういう用途だと Tkinter がベストな解?

1)コマンドラインオプションの代わりにGUIでオプション指定した
2)実行結果をスクロール可能な形で表示したい
3)できればオプションのデフォルト値とか保存したい
  (これはUIとは何の関係もない話か・・・)


615 名前:デフォルトの名無しさん [2008/06/19(木) 13:30:11 ]
集合型ってのはデータ交換ではあまり使われないんでしょうか?
たとえば JSON や YAML にも集合型というのは定義されてません。
所詮順序つきのものがあれば十分だからということなんでしょうか?

616 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 21:15:25 ]
んなこと言ったら、リストで十分なのにタプルがあるわけだし・・・

617 名前:デフォルトの名無しさん [2008/06/19(木) 21:53:54 ]
でもタプルは変更不可なわけで

618 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 23:08:29 ]
だがそれがいい

619 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 00:00:07 ]
>>608
renpy 付属の Scite が F5 でスクリプト実行できて便利。

なんとなく『Perlをはじめよう』いうソフトと似てる
homepage3.nifty.com/aokura/asperl/asperl.html

1. Scite で F5(go), Shift+F5(clear),
ん、Shift+F8(parameter)とかあるな…なんですかそれ…使い方不明…orz

620 名前:619(レス番間違えた…orz) mailto:sage [2008/06/20(金) 00:01:27 ]
>>614
2. Scintilla(Sciteのエンジン)をwrapしたwxpython製のPyAlamode
を拡張する(インテリセンス補完)
www.ibm.com/developerworks/jp/linux/library/l-pyint/ (作者ページ)

3. 男だったら補完も折り畳みも要りません(TT)
ベースはGAEで、SymPy-live や PyAMF を追いかける茨の道…
live.sympy.org/
pyamf.appspot.com/shell/

4. Firefox + crunchy も楽しそげ
code.google.com/p/crunchy/

5. pylons + 黒魔術
codepad.org/



621 名前:デフォルトの名無しさん [2008/06/20(金) 07:26:04 ]
>>620 THX いろいろあるもんだなぁ。

622 名前:デフォルトの名無しさん [2008/06/20(金) 07:35:54 ]
順番に見てたら結構ウェブのインターフェイスのものが多いなぁ。
ローカルのファイルシステム上で使うCUIツール群の
フロントエンドとして使えるものなのかなぁ。

623 名前:デフォルトの名無しさん [2008/06/20(金) 07:41:14 ]
1) 2) の SciTe がらみのやり方がローカル用途には何となくよさそう
な気もするけど,3) 4) 5) も気になるところ.

624 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 07:42:08 ]
って,GAEベースって書いてあるじゃん・・・不勉強すぐる俺

625 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 07:49:55 ]
しかしさぁ,ローカルのファイルシステム上で動くアプリケーションの
フロントエンド部分だけブラウザの描画エンジンを使えれば
便利だと思うのに,なかなかうまくいかないもんだね…

626 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 08:32:29 ]
os.systemでコマンドプロンプトに出力される内容ををpythonで表示する方法は無いですか?
ご返答をよろしくお願い致します。

627 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 09:34:38 ]
popen3かな


628 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 09:58:31 ]
subprocess.Popen

629 名前:614 mailto:sage [2008/06/20(金) 10:12:24 ]
いろいろ教えてもらったのに結局こんな感じのものに落ち着きそうな予感。
inforno.net/articles/2006/10/01/python-console-on-tk

630 名前:614 mailto:sage [2008/06/20(金) 15:05:22 ]
あの、Tkinter で親のウィジェットが破壊されたとき
子のウィジェットにはイベントで通知されるんでしょうか?
そのイベントは bind でどうやって捕捉すればいいんでしょうか?



631 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 16:26:39 ]
>>630
親は WM_DELETE_WINDOW を捕捉すればいいね。
子は destroy() を継承するしかない希ガス。
ただし※印の親の destroy() を明示的に呼ばないと子の destroy() も呼ばれないみたい。

import Tkinter as Tk
def callback():
    print "root window deleted"
    root.quit()
class MyLabel(Tk.Label):
    def destroy(self):
        Tk.Label.destroy(self)
        print "label destroyed"
root = Tk.Tk()
label = MyLabel(root, text="Test")
label.pack()
root.protocol("WM_DELETE_WINDOW", callback)
root.mainloop()
root.destroy() # ※

それにしても、子ウィジェットの破壊なんてどうでもいい気がするんだけど何ゆえ通知してほしいの?
アプリ自体の後始末は終了前にやればいいし・・・。

632 名前:614 mailto:sage [2008/06/20(金) 16:37:19 ]
Tkinter.Entry への入力を別スレッドでの処理に
使ってるんだけど、ウィジェットがなくなっちゃうと
ず〜っと待ちっぱなしでどうしようもなくなるなぁ、って

633 名前:デフォルトの名無しさん [2008/06/20(金) 18:00:26 ]
mod_pythonについて教えてください。自分なりに調べた結果
例えが悪いかもしれませんがC言語で言うと、
本体exe=mod_python
ダイナミックリンクライブラリdll=pythonスクリプト
という感じなのかなと思いました。
そこで、mod_python上で動かすpythonスクリプトにはエントリポイント的なモノ(関数)
を記述し、その中に処理させたい内容を記述すれば良いのでしょうか?

634 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 18:33:41 ]
>>632
ああ、>>629のコードのことね。
それは子ウィジェットの破壊とは別の問題だと思うよ。
Entry を殺してもスレッドは死なないからね。

スレッドは別スレッドから殺すのではなく自ら終了するよう仕向けるのが基本です。
629のコードでいうと、例えば何も入力せずにエンターを押したら終了ということにして、
1. GUIConsole::readline() で result が空文字列だったら self.quit() してから return result する。
2. 別スレッド側で EOFError が起こるのでそれを捕まえてループを抜ける。
3. guiconsole.start() の終わりで別スレッドを join する(別スレッド終了を待つ)。
というようなことをするのが筋。
親スレッドが終了したとき子スレッドがどうなるかは環境依存だから、
面倒だけどキチンとやるのが無難です。

629のコードでは低レベルな thread モジュールを使ってるから join が無いね。
代わりに threading モジュールを使うように直すといいと思う。

635 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 08:09:58 ]
>>633 っ ttp://www.python.jp/doc/contrib/modpython/index.html

636 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 09:27:08 ]
>>633 はもしかして mod_python の mod_ を python のモジュールと
勘違いしているのではないか? mod_python が apache のモジュール
のことだと認識した上での質問なんだろうか。

637 名前:デフォルトの名無しさん [2008/06/21(土) 14:24:16 ]
>>636
そのことは、わかっていると思います。いや、分かってないのか…
apacheのモジュールとしてmod_pythonを読み込むことで、
apache上にpythonインタプリタが常駐するようになる。
ということではないのですか?

638 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 14:59:38 ]
>>626です。ご無沙汰しておりました。
>>627さん,>>628さんありがとうございます。
popenを用いても出来るということがわかったのですが、まだ結果の出力方法が
分かりません。恐縮ですが、もう一度助けてください。

たとえばos.popen("help help")もしくはsubprocess.Popen("help help")と入力した場合に、
以下のようなコマンドプロンプトの"help"についてのヘルプがpython上で出力されれば
望ましいと考えています。
---
Windows コマンドのヘルプ情報を提供します。

HELP [comand]

comamand - このコマンドのヘルプ情報を表示します
---
前回教えていただいた、方法で試してみたのですが表示させることができません。
何が足りないのか教えて頂ければ助かります。

639 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 15:38:47 ]
>>637
いやすまん、失礼した、そのとおりです。

640 名前:デフォルトの名無しさん [2008/06/21(土) 16:27:15 ]
>>639
いや、俺もあまりドキュメントちゃんと読んでなかった。あとで読み直したら
何となくだけど使い方は分かってきた。努力不足でした。すみません





641 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 17:02:59 ]
>>> import os
>>> print os.popen("help help").read()
Windows XP コマンドのヘルプ情報を提供します。

HELP [command]

    command - このコマンドのヘルプ情報を表示します。

>>> 

642 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 17:34:02 ]
何かをPythonで計算してる時に現在どのくらいメモリを使ってるか、
正確な値をバイト単位で知りたいんですが知る方法はないですか?

643 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 18:36:45 ]
環境依存だと思います。

644 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 01:01:33 ]
タスク一覧見れば分かる環境が多い

645 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 01:03:32 ]
明らかにメモリ喰うだろうと思って書いたプログラムが大してメモリ使ってなくて
単純なループだけで大丈夫だと思ってた方が数百MB使っててどんどん増えてて藁

646 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 17:57:34 ]
>>645
それで、結論は?

647 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 23:40:16 ]
はじめてみたんですが、日本語の情報が少なくて・・・
IDLEを使って色々試しているんですが、対話モードの時って日本語が出力できないのはどうにかできるんでしょうか?

648 名前:デフォルトの名無しさん [2008/06/23(月) 00:07:58 ]
できますよ

649 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 00:08:37 ]
>>647
ここ行って見たら?
ttp://python.rdy.jp/


650 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 01:01:18 ]
>>649
最初から墓場にご案内ですか?(wwwwwwwwwww



651 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 02:45:17 ]
C:\cgi-bin>python -m CGIHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...

localhost:8000/env.py にアクセスしても
ソースコードが表示されるだけで実行できません。

#! c:\\Python25\\python.exe
import os

print 'Content-type: text/plain\n\n'
for key in os.environ:
print '%s: %s' % (key, os.environ[key])

どうして動かないのでしょうか?

652 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 02:51:21 ]
C:\>python -m CGIHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...

***-PC - - [23/Jun/2008 02:46:34] "GET / HTTP/1.1" 200 -
***-PC - - [23/Jun/2008 02:46:41] code 403, message CGI script is not a plain file ('/cgi-bin/')
***-PC - - [23/Jun/2008 02:46:41] "GET /cgi-bin/ HTTP/1.1" 403 -

2. cd c:\ して python -m CGIHTTPServer する
3. ブラウザで localhost:8000/cgi-bin/env.py にアクセス
  環境変数がずらっと表示されたら成功

コマンドプロンプトの起動パスを変更して立ち上げてみたところ
403 not found...とかなって何も表示されませんでした… orz

653 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 03:38:17 ]
>>652
ログを見る限り、
localhost:8000/cgi-bin/
にアクセスしたことになってるが?

654 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 08:27:50 ]
おぉ、こんな機能があるのか。恐ろしく便利だな。

でもこれ、CGIが実行されたときのカレントディレクトリが、
pythonを起動したときのディレクトリのままだね。
カレントディレクトリを変更してから呼んで欲しいな。

655 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 11:34:10 ]
>>653
localhost:8000/cgi-bin/env.py を直接叩いたら
うまくいきました ><

>>651でディレクトリ一覧が表示されていたのでそのノリで
そこから辿ってゆけるかなとか思ったのが敗因でした...orz

2. cd c:\ して python -m CGIHTTPServer
3. localhost:8000/cgi-bin/env.py に直接アクセスする
 
*拡張子は.pyでないと駄目。
*localhost:8000/cgi-bin/ にアクセスしても plain file ではないと言われ、403 error。

656 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 20:25:01 ]
> *拡張子は.pyでないと駄目。
> *localhost:8000/cgi-bin/ にアクセスしても plain file ではないと言われ、403 error。

微笑ましいなw

657 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 04:35:18 ]
>>650
墓場についてkwsk

658 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 09:46:10 ]
650じゃないけど、あまり更新がないとか、あやしいリンク貼りまくられて荒らされるとかかな?

659 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 10:05:12 ]
650じゃないけど、情報がいい加減とか、
以前サンプルコードにグローバル関数と同名の変数名が使ってあって
Python知らねえくせにまとめWikiかよお目出てえなとか、
リンク晒してるのはどう見ても関係者だろこれとか、
そんな暇があったら更新しろよハゲとかじゃないかな?

660 名前:デフォルトの名無しさん [2008/06/24(火) 11:30:46 ]
ぱいがめ翻訳サイトまだ?
だから廃れるんだよ
広めたいって人はいないのか



661 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 12:04:17 ]
>>659
wikiなんだから間違いに気付いたら、みんなで編集していけば良いだけじゃないの?

662 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 13:37:42 ]
墓場に大切なものを隠せば見つかりにくいというわけですね、分かります。

663 名前:デフォルトの名無しさん [2008/06/24(火) 15:33:22 ]
Python ではファイル=モジュールという単位になっていますが,
1ファイル=1クラスというコーディングスタイルは推奨
されていないのでしょうか?

a.py で class A を定義 → クラス a.A が定義される
b.py で class B を定義 → クラス b.B が定義される

名前空間まで別になってしまいます.
C++ でプログラムを組んでいてずっと1ファイル=1クラス
のスタイルでやってきたのですが・・・・

同じ名前空間に入れるすべてのクラスは同じファイルに
入れなくてはならないのでしょうか?

664 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 15:47:17 ]
>>661
中立的な言葉で書かれていない文章をお前は編集する気になるか?

665 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 15:55:59 ]
>>663
a.pyで from b import * とでもしておけばいい。
極端な例がmatplotlibのpylab.pyで、このファイルにはimportしか書いてない。

まぁ、細かいファイルは1つのファイルにまとめた方がいいと思うよ。
例外クラスまで1ファイル1クラスにしてるの?

666 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 15:58:54 ]
>>663
1ファイル=1クラスは特に推奨はされていない。
Pythonコードはどのみちクラスからだけ成り立っているわけではないしな。

いくつかのモジュールをひとまとめにしたいときは、Pythonではパッケージを
使う。
パッケージの初期化ファイル__init__.pyでモジュールからエクスポートしたい
シンボルをimportしてやれば、あんたのやりたいことは実現できるはずだ。

667 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 16:30:44 ]
若いのに中立ですか。

668 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 17:03:35 ]
>>664
編集して普通の文章にするんだ
どうせ管理人すら放置してるんだから構わんだろ
どんどんやっちまえYO!!

669 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 17:32:26 ]
翻訳は人任せとしても、wikiは自分の好きに書き換えればいいだろ

670 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 17:37:40 ]
ゴミはゴミ箱に。
宝石は宝石箱に。



671 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 18:16:01 ]
なんで翻訳の話がでてくるの?

672 名前:デフォルトの名無しさん [2008/06/24(火) 19:53:21 ]
__init__.py に import を書くというのは
なにかまずいことを引き起こすでしょうか?

673 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 20:01:24 ]
>>672
全然。

674 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 20:13:10 ]
>>672
ごく普通

675 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 21:33:48 ]
>>672
アフガニスタンではよくあること

676 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 00:44:08 ]
>>672
いっしょに__all__も定義すれば綺麗なPythonパッケージ

677 名前:デフォルトの名無しさん [2008/06/25(水) 07:55:11 ]
>>665
すっきりうんこでました
ありがとうございました


678 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 19:00:35 ]
[1,2]の要素のそれぞれを2倍して[2,4]にする
っていうのはどうやればいいんでしょうか?

679 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 19:04:07 ]
>>678
[i * 2 for i in [1, 2]]
もしくは
map(lambda x: x * 2, [1, 2])

680 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 19:06:20 ]
ありがとうございます。
リスト内包表記ってそうやって使うんですね。



681 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 19:36:07 ]
>>679
それは
> [1,2]の要素のそれぞれを2倍して[2,4]にする
ではなく、新しいリストを生成しているのでは。

x = [1,2]
for i in range(0,len(x)):
 x[i] *= 2


682 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 08:48:37 ]
>>681
> ではなく、新しいリストを生成しているのでは。
だったら
x = [1, 2]
x = [i * 2 for i in x]
ってやれば同じ






[ 続きを読む ] / [ 携帯版 ]

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

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