11/07/12 10:14:51.60
>>467
僕もあんま読み入ったわけでもないけど、どんなモジュールが在るか知っておくのは大きいし、目を通しておく価値はあると思う。
ウェブリファレンス歩き回るよりはずっと効率がよさそう。
469:デフォルトの名無しさん
11/07/12 15:27:58.40
>>467
URLリンク(www.python.jp)
URLリンク(diveintopython3-ja.rdy.jp)
ハッキリ言って入門は↑これで十分。
余った金で東北の地酒でも買ってやってくれ。
470:デフォルトの名無しさん
11/07/12 17:22:36.42
>>469
完全に同意できる
余った金でエアコンガンガンつけろ
471:デフォルトの名無しさん
11/07/12 23:37:36.03
>>469-470
サンクス。
余った金で家を買いました。
472:デフォルトの名無しさん
11/07/13 09:35:51.76
何冊買うつもりだったんだよ・・・
473:デフォルトの名無しさん
11/07/13 10:16:05.56
>>471
素直に笑ったw
474:デフォルトの名無しさん
11/07/13 11:17:55.21
Cythonでインスタンスを複製する方法ってないですか?
copy.copyやcopy.deepcopyだと、self.aやself.Aの値がコピーされず、空になるのですが
通常のPythonのままならうまくいきます
#abc.pyx
cdef class abc:
cdef:
public int a
public list A
def __init__(self,a):
self.a = a
self.A = [a]
def Add(self,b):
self.A.append(b)
from abc import *
i=abc(1)
i.A # [1]
j = copy.deepcopy(i)
j.A #
i.Add(2)
i.A # [1,2]
j.A #
j.Add(3)#AttributeError 'NoneType' object has on attribute 'append'
475:デフォルトの名無しさん
11/07/13 12:40:27.77
oh! 変数の名前がわかりにくい
i, j なんて使って質問するなよ。
foo, baa に変えて質問し直し
476:デフォルトの名無しさん
11/07/13 12:49:56.19
Cython
これなんて読むの?
477:デフォルトの名無しさん
11/07/13 12:53:33.72
さいそん
478:デフォルトの名無しさん
11/07/13 12:57:21.94
Cythonでインスタンスを複製する方法ってないですか?
copy.copyやcopy.deepcopyだと、self.fooやself.barの値がコピーされず、空になるのですが
通常のPythonのままならうまくいきます
#hoge.pyx
cdef class hoge:
cdef:
public int foo
public list bar
def __init__(self,qux):
self.foo = qux
self.bar = [qux]
def Add(self,quux):
self.bar.append(quux)
from hoge import *
corge=hoge(1)
corge.bar # [1]
grault = copy.deepcopy(corge)
grault.bar #
corge.Add(2)
corge.bar # [1,2]
grault.bar #
grault.Add(3)#AttributeError 'NoneType' object has on attribute 'append'
479:デフォルトの名無しさん
11/07/13 13:05:21.94
仕方ないので今は、
def copy(self,):
tmp = hoge(0)
tmp.foo = self.for
tmp.bar = copy.deepcopy(self.bar)
return tmp
を追加してこれを利用しています
今のところ問題は出ていないのですが、何か気持ち悪いので出来れば正しい方法を利用したいです
Python 3.1.3
Cython-0.14.1
です
480:デフォルトの名無しさん
11/07/13 13:48:49.62
学生さんは昼間暇かもしれないけど
仕事のあるおじちゃんは夜にならないと帰れないの
夜の10時頃にはレス来てると思うよ。
気長に待って
481:デフォルトの名無しさん
11/07/13 14:12:19.43
__copy__, __deepcopy__ の実装?
482:デフォルトの名無しさん
11/07/13 15:40:24.52
2回目のループでどうやらstderrに余計なことをしていて、中断してしまうのですが、
Python2.7で、似たようなシンタックスで標準エラーに吐くにはどうすればいいですか?
===
import sys
for i in range(10):
sys.stderr.write(str(i))
for i in range(10):
with sys.stderr as log:
log.write(str(i))
483:デフォルトの名無しさん
11/07/13 15:44:40.93
sys.stderrはオープン済みのストリームだから
単にsys.stderr.write(s)すればOK
484:デフォルトの名無しさん
11/07/13 15:50:35.17
Python3.2対応を気にしていて、
print("fuga",file=sys.stderr)
が2.7で使えないのをどうしたものか・・・
と思っているところなのです。
あと、改行入れてくれないとか、引数一つしか受け付けないとかも不満で。
あきらめるしかないですかねぇ。
485:デフォルトの名無しさん
11/07/13 16:07:18.02
from __future__ import print_function
486:デフォルトの名無しさん
11/07/13 16:16:52.75
>>485
おぉっ!
これで仲良く暮らせます。助かりました。
487:デフォルトの名無しさん
11/07/15 17:03:33.81
URLリンク(python.rdy.jp)
をやってみたいんですが
windowsでcryptを使うにはfcryptっていうのを導入しなきゃいけないって言うところまでは
分かったんですけど
その後そういうpython標準に付いてないのを追加するには
コマンドみたいなもので検索して自動でインストール(?)させるようなのが
あった気がするんですが
どういうコマンドを書けばよかったんでしたっけ???
基本的な質問ですいません
超久しぶりにpython構ったのでどわすれしてしまい
プログラムをいじる前の段階で躓いてしまいました
すみませんお助け下さい
488:デフォルトの名無しさん
11/07/15 17:16:11.44
すいませんでした
easy_install
でしたごめんなさいOTL