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


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

Pythonのお勉強 Part31



1 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 23:44:57 ]
Pythonオフィシャルサイト
www.python.org/
日本Pythonユーザ会
www.python.jp/Zope/
まとめWiki
python.rdy.jp/
関連スレ
find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python
前スレ
pc11.2ch.net/test/read.cgi/tech/1226830195/

29 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 18:02:59 ]
>>28
exec使わずに実行て?

普通、言語のインスペクトではメソッドの中身とか取れないのが普通。
JavaScriptはソースが見れたっけ?

Pythonでの話に戻すけど、ソースコードをparserモジュールで構文木にして、
その構文木をソースとして実行とかできるのかな。やってみたことないけど。

30 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 18:10:04 ]
rubyなら出来ますよ

31 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 18:12:40 ]
そうだね、神の名はエホバだね。

32 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 19:02:45 ]
はあ?

33 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 21:37:30 ]
今、下記のようなリストがあり、
list1 = ['cat', 'dog', 'spam', 'egg']
下のマップで上記リストを変換したいと思います。
maps = {'animal': ['cat', 'dog']}
結果は以下を期待しています。
['animal', 'animal', 'spam', 'egg'](あるいは、set(['animal', 'spam', 'egg'])
その際、安直に上記を実装した、下のようなコードが思いつきました。
下のコードをmap関数やセット、lambda関数などなんでもいいので標準関数等を駆使して、とにかく短く表現できないか考えています。下記のコードはスマートな方でしょうか?

ans = []
for elem in list1:
for key, vals in maps.items():
if elem in vals:
ans.append(key)
else:
ans.append(elem)
print ans
さらに、マップの要素が増えた場合、
maps = {'animal': ['cat', 'dog'],'food':['egg']}
他に、list1 = ['animal', 'spam', 'egg']
をもとにmaps = {'animal': ['cat', 'dog']}を用いて、元が復元できないか考えています。
>> ['cat','dog','spam', 'egg']
どなたかわかりますでしょうか?


34 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 21:39:01 ]
改行がくずれたので、、、

ans = []
for elem in list1:
  for key, vals in maps.items():
    if elem in vals:
      ans.append(key)
    else:
      ans.append(elem)
print ans


35 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 21:50:26 ]
>>33
変換したい方向とmapsのデータの持ち方が逆なので意図がちょっと分かりにくかった

list1 = ['cat', 'dog', 'spam', 'egg']
maps = {'animal': ['cat', 'dog']}

reverse_maps = dict((x, key) for key, xs in maps.iteritems() for x in xs)
print [ reverse_maps.get(x) or x for x in list1 ]

こういうことでいいのかな?

36 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 22:08:25 ]
>>35
やばい。目から鱗どころじゃないっす。。
マップをつくるなんて、、。
しかも、以前valuesだったものをkeyにして、、なんて思いも浮かばなかった。
ありがとうございます!
しかし、実質1行とは。。予想以上でした。

これより最短はないですね。
ありがとうございます!

37 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 22:29:30 ]
def foo(l, i, k):
l[i] = k
for k, v in maps.items():
for w in v:
if list1.count(w):
foo(list1, list1.index(w), k)
print(list1)
for k, v in maps.items():
for w in v:
if list1.count(k):
foo(list1, list1.index(k), w)
print(list1)


初心者なので腕試しのつもりで書きました
かなり行数使ってますが



38 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 22:30:11 ]
>>35
コードもらいました
これで逆変換

list1 = ["cat", "dog", "spam", "egg"]
maps = {"animal": ["cat", "dog"]}

transpose = lambda mps: dict((x, key) for key, xs in maps.iteritems() for x in xs)
transform = lambda lst, mps: [item in mps.keys() and mps[item] or item for item in lst]
itransform = lambda lst, mps: sum([item in mps.keys() and mps[item] or [item] for item in lst], [])

#>>> import trans
#>>> m = trans.transpose(trans.maps)
##>>> trans.transform(trans.list1, m)
#['animal', 'animal', 'spam', 'egg']
#>>> s = set(trans.transform(trans.list1, m))
#>>> trans.itransform(trans.list1, trans.maps)
#['cat', 'dog', 'spam', 'egg']



39 名前:37 mailto:sage [2009/01/03(土) 22:31:06 ]
一行で書けるのか
代入せずに新しくリストを作ればいいのか
勉強になるなあ

40 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 22:34:06 ]
ああー 最後はtrans.list1じゃなくてs

41 名前:38 mailto:sage [2009/01/03(土) 22:38:56 ]
transpose関数ももmapsではなくmpsですねサーセン

42 名前:37 mailto:sage [2009/01/03(土) 22:41:40 ]
カウントとか効率悪そうだし
foo関数定義した意味がわからないな
駄コード書いて反省してます
すみませんでした

43 名前:37 mailto:sage [2009/01/03(土) 22:59:21 ]
ちょっと増やすだけで破綻するし
駄目すぎるな


44 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 23:28:11 ]
setでよかったのか
考えて損した
一から勉強し直そう

45 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 01:04:26 ]
>>27
細かいとこだけど。それだと class b(a) の後に class a を定義しているので
偶然前に定義した class a が残っていただけで、意図したテストになっていないはず。
後、クラス名はなるべく頭に大文字を使おう。

hige, hoge はクラス変数になっているので、
fuga をインスタンス作らずに呼び出したいなら、@classmethod
インスタンス変数にしたい場合コンストラクタ(__init__メソッド)内でhige,hogeを作る。



46 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 01:49:36 ]
なんぞこれ

47 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 02:56:38 ]
>>29
JavaScriptは実装依存じゃないかな。toSourceとかunevalがあったよーな気がする。
Pythonだとinspect.getsoruce

>構文木をソースとして実行
構文木もコンパイルしたコードオブジェクトも実行可能。ただ、実行には結局exec/evalを使うので
構文木を弄るのでなければわざわざ変換する利点はない。see also compiler.ast, ast.parse
少し敷居は高いけど、Pythonはこの辺の標準モジュールは充実してる。

>>28
"exec を使わずに"がどういう意図なのかわからないけど、
単に字面通りなら、じゃあevalで?って話しだし。
副作用を気にしていて実行環境を分離したいのなら

>>> d = {'a': 1}
>>> exec "a = 10" in d
>>> d['a']
10

より確実にするなら、別プロセス立ち上げてsocketやpipe等で -> Rpyc等のライブラリを使う。

ところで、YAML内にPythonのソース書くって
インデントがどっちの言語のものか混ざって解らなくなったりしない?
(書いたことないけど



48 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 03:22:53 ]
>>38
item in maps.keys() は、item in maps の方が推奨されてる。
でも、この場面なら get メソッドの第2引数を使う方がいい。
item in maps.keys() and maps[item] or item -> maps.get(item, item)

49 名前:38 mailto:sage [2009/01/04(日) 03:32:08 ]
>>38
ありがとう
知りませんでした

50 名前:38 mailto:sage [2009/01/04(日) 03:33:58 ]
ああー
>>48ですー

51 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 03:51:01 ]
効率無視 && mapsのkeysと各要素間に重複がない場合限定で。
mapsをtransposeせずに探索。見つかってもまだ探索・・・。

[reduce(lambda x,(y,z): y if x in z else x, maps.iteritems(), i) for i in list1]

52 名前:デフォルトの名無しさん [2009/01/04(日) 05:41:17 ]
くだらないコードばっかだな

53 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 10:28:37 ]
掲示板作ったよ。
なんかホールとか発見したら教えてね。
しばらくしたら忘れてね。
rail.s4.pf-x.net/bbs/

54 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 11:54:39 ]
161さんごぶさたです

55 名前:デフォルトの名無しさん [2009/01/04(日) 13:01:07 ]
a = (
{'a':'b'}
)

for row in a:
print row

これだと、{'a','b'}でなく、'a'が表示されます。

a = (
{'a':'b'},
)

これだと、ちゃんと{'a':'b'}と表示されます。
これは何故でしょうか?

56 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 13:09:38 ]
pythonでは1要素のタプルを記述するには
(x,)のように末尾のカンマが要るんだよ

>>> (1+2)*3
9
>>> (1+2,)*3
(3, 3, 3)

上の式のカッコがタプルだと思われても困るだろう?


57 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 13:18:48 ]
なるほど
ありがとうございました



58 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 14:21:36 ]
a = ({'a':'b'})*3
print a
a = ({'a':'b'},)*3
print a


59 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 15:38:05 ]
>>5
for i in dict
は、for i in dict.keys()と同じだから。

60 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 16:43:35 ]
┏━━━━━━━━━━━━━━━━━━━━━┓
┃ ━ ╋━╋ ╋┓┏┓ ┳┻┳┏━   ┣━┳━ ┃
┃ ━ ┏┳┓ ┃┃┗┛ ┻━┻┃     ┃  ┃   ┃
┃ ━ ┗╋┛  ┏━┓    ┃  ┣┳   ┏━╋━ ┃
┃ ━ ━╋━  ┣━┫  ━╋━┃┃   ┃  ┃   ┃
┃┏┓━╋━  ┣━┫  ┏╋┓┃┃ ━┻━╋━ ┃
┃┃┃  ┃    ┗━┛  ┃┃┃┃┃       ┃   ┃
┃┗┛━┻━ ━┛┗━ ┃┃┃┃┃       ┃   ┃
┗━━━━━━━━━━━━━━━━━━━━━┛
            ∩
            〈〈〈 ヽ
           〈⊃  }
   (\___/)  |   |
 ( ̄l▼      ̄)!   !
  /  ●   ● |   /
  /   l ___\lミ/
 /▲  (  。--。 )
/■___  (( ̄))    新年あけましておめでとうございますーーっ!
(___)   ̄/
               2009年 元旦

61 名前:デフォルトの名無しさん [2009/01/04(日) 17:06:59 ]
>>59嘘をかかないでください。for item in {'a':'b'}: は、'a':'b'を取り出した後自動的に'a'に加工してくれるんです

62 名前:デフォルトの名無しさん [2009/01/04(日) 19:39:07 ]
pythonのソースコードをsjisで書いても問題ないでしょうか?
日本語はu"ほげ"で書くので、
他言語で発生するような文字化け問題は発生しないのではと思うのですが
そのあたりどうでしょうか

63 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 19:43:58 ]
俺はいつもsjisで書いてるよ。

64 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 19:54:22 ]
for item in dict と for item in dict.keys() が同じになるのは、正確には 3.0 から。
2.x では dict.keys()はキーのリストを作って返すので、同じになるのは dict.iterkeys()。

でも >>61 は解らない。バイトコードで?それともC関数内で?
自動的に加工してくれるという根拠とかどこにあるのか、よければ教えてください。

65 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 19:57:14 ]
サブクラスがオヤクラスの名前を知るにはどうすればいいのでしょうか?

class Tuple3:
  def __init__(self, arg):
    if isinstance(arg, Tuple3):
      print 'ok'
    else:
      print 'ng'
class Vector3(Tuple3):
   def __init__(self, arg):
     Tuple3.__init__(self, arg)

と、あったとき、
vec = Vector3() --> 'ng'
vec2 = Vector3(vec)
とやった時、'ok'と表示させる事はできますか?

親クラスコンストラクタで、isinstance(arg, Vector3)と直接書けばいいのはわかるのですが、
このやり方はしたくありません。

そんな事は可能ですか?





66 名前:デフォルトの名無しさん [2009/01/04(日) 20:01:21 ]
必要なくね?

67 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 20:10:57 ]
>>62
自分ひとりで同一環境で書いてる間は特に問題ない。

ブラウザからsvnレポジトリ内のソースを読む時、等
他のいろんな所とのやりとりを想定すると
ソース内には極力日本語を書かないようにするかutf-8に統一が無難。





68 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 20:31:54 ]
>>65
どういう用途なのかわからないけど、使えそうなものをとりあえず列挙すると
issubclass
Vector3.__bases__



69 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 20:35:36 ]
class Tuple3:
  def __init__(self, arg):
    if isinstance(arg, Tuple3):
      print 'ok'
    else:
      print 'ng'

これは

class Tuple3:
  def __init__(self, arg):
    if self.__class is Tuple3:
     print 'ok'
    else:
     print 'ng'

がいいんだろう

70 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 20:58:24 ]
main.py
/hoge/
- __init__.py
- test.py

をmain.py内で、

import hoge

した場合、test.pyはimportされないのですか?

71 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 21:05:05 ]
何に使うのかまだ解ってないけど、
やりたい事ってもしかして、コレ?

class Tuple3:
  def __init__(self, arg=None):
    if isinstance(arg, self.__class__):
      print "ok"
    else:
      print "ng"



72 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 21:06:47 ]
>>70
パッケージは、__init__.py内で明示的にimportしない限り、
import hogeでimportされるのは hoge/__init__.pyのみ。

73 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 23:21:00 ]
import hoge.test


74 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 23:44:04 ]
馬鹿ばっかり、ってことが証明されたなあ、このスレ。

75 名前:デフォルトの名無しさん [2009/01/04(日) 23:59:00 ]
馬鹿ばっかり、ってことが証明されたなあ、このスレ。

76 名前:デフォルトの名無しさん mailto:http://rail.s4.pf-x.net/bbs/ [2009/01/05(月) 00:58:39 ]
真面目にやれ

77 名前:デフォルトの名無しさん [2009/01/05(月) 00:59:54 ]
姑息なことすんな



78 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 01:02:07 ]
くだすれの方が盛り上がってるな

79 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 01:24:52 ]
sageないし草いし死ねば良いのに

80 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 01:48:12 ]
2chで死ねは挨拶みたいなもんだ罠

81 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 02:32:13 ]
[ANN] PyYAML Python 3 対応

----
yaml_make.py
----
import os, sys, yaml
def make(target):
  makefile = os.path.join(os.getcwd(),'Makefile.yaml')
  exec (yaml.load(open(makefile))) in vars()
if __name__ == '__main__':
  make(sys.argv[1])

----
Makefile.yaml
----
hello: |
  print "Hello"

test: |
  print "Test"

PythonソースをYAML内に書くときのサンプル。
| がないと、関数・クラス定義する時に : が YAMLでの辞書のキー定義と解釈される。

82 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 09:40:31 ]
そういうのは公式言ってみるからどうでもいいよ

83 名前:デフォルトの名無しさん [2009/01/06(火) 04:37:22 ]
15-20% average speedup on pybench and pystone
bugs.python.org/issue4753

84 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 10:39:49 ]
numpyはsageに吸収されてしまうのだろうか

85 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 23:22:47 ]
年明け首吊り失敗して顔酷いことなってるよ俺。首にアザできて外でれねえw

86 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 23:44:14 ]
このご時世たくさん人をやとっちゃった会社は大変だね。
この状況で独立するバカは中央線を止めないようにね。

87 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 12:30:28 ]
ま、会社が潰れるのは虚業だったことの証明なんだろうけどね。

年末が一つの山だったみたいだな。
次は年度末の3月が山だと思うよ。



88 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 12:39:13 ]
コネない人間には虚業自体できないから
景気も関係ないんじゃないの

89 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 14:29:34 ]
有名なpythonistaって誰?

90 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 15:16:19 ]
guido

91 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 15:37:57 ]
>>90
それ神様

92 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 15:49:59 ]
Eric Steven Raymond
Peter Norvig


93 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 15:58:46 ]
Matz

94 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 16:00:20 ]
Ruby

95 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 19:36:53 ]
>>93,94
もしかして: David Mertz と Sam Ruby

96 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 19:57:01 ]
Tim Barners Lee

97 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 22:19:20 ]
Matz



98 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 22:32:14 ]
Notz

99 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 13:05:18 ]
日本人では

100 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 13:47:21 ]


101 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 00:03:14 ]
Jim Huguninは、pythonistaだと思う。

102 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 00:42:45 ]
>>99
Matz

103 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 03:15:28 ]
西尾さん以外ありえないだろ。

104 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 04:22:41 ]
以下、Python系本の著者の話題が続くとさ

105 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 07:10:06 ]
Esoteric Language みたいな本を opython で出す必要は
ないよね

106 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 10:10:01 ]
西尾さん以外ありえないだろ。


107 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 10:15:06 ]
西尾さん以外ありえないだろ。



108 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 10:52:58 ]
ttp://www.nishiohirokazu.org/blog/2007/02/grinedit_6.html

109 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 13:09:39 ]
西尾さんって誰?

110 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 14:21:09 ]
西尾さん以外アッーー!!

111 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 14:28:34 ]
彼のためを思ってやってるのかも知れないけど
一般的にこういうのは迷惑なものなんだよ>javajaの人

112 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 16:25:56 ]
>>108

吹いた

113 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 17:28:00 ]
>>109
d.hatena.ne.jp/nishiohirokazu/20090109

114 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 19:11:31 ]
知らね。
Matzと梶山民人(ninixの作者)なら知ってる。

115 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 20:32:09 ]
いや、まて思い出した。
どう書く.orgなら知ってるのでそれ作った人か。

116 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 00:02:16 ]
どう書く.org って Python で作られてたの?

117 名前:デフォルトの名無しさん [2009/01/11(日) 00:21:57 ]
Pythonとかやってるやつが売国奴だ



118 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 00:26:07 ]
どうせWindowsやLinux上で動かすしぃ

119 名前:FreeBSD mailto:sage [2009/01/11(日) 00:27:56 ]
たまには思い出してやって下さい


120 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 00:32:38 ]
超漢字使え

121 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 12:47:00 ]
sageなんてもんがあるのか
検索しにくい
Pythonはじまったな

122 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 20:01:50 ]
クラスのimport方法が分からん・・・

今同じディレクトリに以下のPythonファイルがあるんですが、
いざ「driver.py」を実行しようとすると

Traceback (most recent call last):
File "hoge.py", line 5, in <module>
obj = Hoge()
TypeError: 'module' object is not callable

ってエラーが出る。

import自体はうまく出来てるみたいなんだけど、インスタンスを作るところでエラーになってるのか・・・?
誰かPythonで自作クラスを作成&importするヒントをくださいorz

【Hoge.py】
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3
4 class Hoge:
5 def __init__( self ):
6 print("HOGE")
7
【driver.py】
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 import Hoge
4
5 obj = Hoge()



123 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 20:04:06 ]
>>122
【driver.py】
5 obj =Hoge.Hoge()


124 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 20:07:41 ]
>>122
3 from Hoge import Hoge
または
3 from Hoge import *
後者はおすすめしない

125 名前:122 mailto:sage [2009/01/11(日) 20:12:48 ]
>>123 >>124

動いたあああああああああああああああああああああ

ありがとう!!

でも・・・これはどういうことなの・・・?

HogeというパッケージにHogeクラスが属しているなら分かるんだけど、パッケージは作成せずに
同じディレクトリに二つのファイルを置いているだけなんだけど・・・

このあたりの動きってJavaとかPHPとはまったく別物?

126 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 20:37:21 ]
>>125
Pythonにとって、パッケージ=ディレクトリ、モジュール=ファイルなの。
Hoge.py という名前のファイルなら、 Hoge というモジュールの中に、 Hoge という
クラスができてた。

127 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 20:45:17 ]
>>126
何その糞言語・・・やっぱrubyに変えようかな



128 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 20:47:16 ]
>>126
丁寧にありがとう!
なるほどそういうことか・・・

Python慣れるまで大変そうだけど、慣れればかなり便利に使えそうな気がするぜ!

129 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 20:56:37 ]
パッケージでも
./Hoge/__init__.py に
class Fuga 書くと

from Hoge import Fuga
になるし

./Hoge/Hage.py に
class Fuga 書くと

from Hoge.Hage import Fuga
になる







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

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

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