1 名前:デフォルトの名無しさん [2015/10/01(木) 20:48:23.20 ID:zy2bldTw.net] Pythonオフィシャルサイト www.python.org/ 日本Pythonユーザ会 (※英語わかる人は上記のオフィシャルの方を見ることをお薦めします) www.python.jp/ Pythonのお勉強 Part50 peace.2ch.net/test/read.cgi/tech/1413474092/
655 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 13:03:42.94 ID:1rBZ35En.net] >>637 カスは死んでろ
656 名前:636 mailto:sage [2016/09/19(月) 13:05:17.64 ID:1rBZ35En.net] 人の指摘で相撲取ってる二番煎じ野郎がイキってんじゃねえ
657 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 13:11:41.62 ID:feQKjrRG.net] >>636 の指摘ってこの見当違いのアホなやつ? ↓ ↓ ↓ >複数の変数に同一インスタンスが格納されていると見分けがつかないので役に立たないよ 見分けがつくって分かるようにlとaの変数にいれて見せてんだろバァァアアアアカッwww よく見ろよド低能がwww 見分けついてんだろ、バカにも分かるように2つの変数にいれて見せてんだろww どこまで行ってもバカはバカだよなーww アホのくせにイキってんじゃねーよww
658 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 13:37:08.57 ID:FeZCS4mr.net] lとaを区別したいのなら stacktraceで作れるかも
659 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 14:03:53.72 ID:EKbXrxRJ.net] pandasで、カラム名じゃなくて「○行目に△(文字列)を含む列を取得」ってどう書きますか?
660 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 14:21:57.01 ID:fi9udpIp.net] できたわ class L(list): def xxx(self): g = globals() for n in g: if id(self) == id(g[n]): s = traceback.extract_stack()[0][-1] if s.endswith('%s.xxx()' % n): print n a = L() b = a c = L() a.xxx() b.xxx() c.xxx()
661 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 14:25:11.52 ID:fi9udpIp.net] s = traceback.extract_stack()[-2][-1] こっちの方がいいかな
662 名前:デフォルトの名無しさん [2016/09/19(月) 18:46:49.45 ID:G/zBuN33.net] bs4使うと毎回文字化けするんだけど 2.7じゃダメなの?
663 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 20:09:36.22 ID:VSz4tOEQ.net] automate borering staffs with python の日本語版出るんだな 待ってたんだよ さすがオライリー pythonで数学入門も面白かったし
664 名前:デフォルトの名無しさん mailto:sage [2016/09/21(水) 21:20:05.96 ID:VKZI37pg.net] from re import sub as 置換 表示 = print 表示(置換("[0-9]", "x", "Python 3.5.2"))
665 名前:デフォルトの名無しさん mailto:sage [2016/09/23(金) 22:30:43.62 ID:Bla+oVr/.net] PyConJPやってたらしいっすよ あ…(まだ)やってたんだ…って感じだけど
666 名前:デフォルトの名無しさん mailto:sage [2016/10/01(土) 17:57:03.46 ID:RR1eK3bZ.net] ifとかfor文を1行に纏めるのってマズイですか? if xxx: returnとか、コメント化が楽なので ついやってしまうのですが、やはり醜いですか?
667 名前:デフォルトの名無しさん mailto:sage [2016/10/01(土) 18:12:19.75 ID:MIaIeT8n.net] >>649 あなたがコーディングルールを強制される立場にあるならそれに従え そうでなければ好きにしろ PEP8によれば「やらないほうがいい」であり「やってはいけない」ではない [] [ここ壊れてます]
669 名前:デフォルトの名無しさん mailto:sage [2016/10/01(土) 18:15:58.70 ID:rAdXsmVI.net] Python的ではないので良くないな Pythonはソースのフォーマットについてはあまりプログラマの主観を入れずに機械的にルールに従って書くのが良いとされる コメント化の意味がわからないがまさか全ての行にコメント書いてるのか?
670 名前:デフォルトの名無しさん mailto:sage [2016/10/01(土) 18:19:17.93 ID:MIaIeT8n.net] 素直に考えればifをコメントアウトすることを指しているだろう
671 名前:デフォルトの名無しさん mailto:sage [2016/10/01(土) 21:53:59.29 ID:yd5cLCb2.net] デバックコードとかで最終的になくなる部分なら好きにやればいい 完成したソースに残る部分ならこの先そのソースを読む相手による コメントアウトしたまま放置するのはいろいろな意味で醜いと思う
672 名前:デフォルトの名無しさん mailto:sage [2016/10/01(土) 23:41:07.30 ID:RR1eK3bZ.net] ありがとうございます
673 名前:デフォルトの名無しさん mailto:sage [2016/10/03(月) 21:47:51.48 ID:7yGPaGm8.net] django本は無いんけ? Webアプリ系は大抵Railsなんねー
674 名前:デフォルトの名無しさん [2016/10/03(月) 23:22:41.06 ID:ASQ8vdH1.net] >>655 中国では人気みたいだよ? https://www.google.co.jp/trends/explore?q=python%20django,ruby%20on%20rails,python%20flask
675 名前:デフォルトの名無しさん [2016/10/04(火) 14:34:56.59 ID:ZPmHgmj0.net] ruby/railsは何に喰われて落としてるんだ
676 名前:デフォルトの名無しさん [2016/10/05(水) 23:24:34.45 ID:eAuixWC+.net] おまいら最もよくimport するモジュールなに?
677 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 01:14:24.77 ID:wSbHvTIy.net] >>658 競技プログラム用に使う。 math itertools fractions 自分用の観測データ処理ツールに使う。 sys csv
678 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 06:08:54.30 ID:vuhBxoKM.net] dictのkeyのenumが使われてるんだけど こういう場合ってどうやってkeyを指定するの?
679 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 06:10:14.00 ID:/ehgJ0j4.net] スクレイピングと数値計算 numpy, pymysql, beautifulsoup4, mechanize
680 名前:デフォルトの名無しさん [2016/10/06(木) 08:50:11.44 ID:UMR0hD3K.net] numpy,toolz
681 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 10:43:54.23 ID:j4+P2uPZ.net] どう考えてもos
682 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 11:44:22.78 ID:xUfTV1xG.net] reですね、正規表現は友達
683 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 12:58:26.10 ID:KvSD/i+L.net] numpyとpandasかな。
684 名前:デフォルトの名無しさん mailto:sage [2016/10/06(木) 14:07:19.33 ID:5aSogo6H.net] pandas一択
685 名前:デフォルトの名無しさん [2016/10/06(木) 22:22:50.56 ID:g4uaa0WA.net] みんな機械学習やってるの?
686 名前:デフォルトの名無しさん [2016/10/06(木) 23:32:10.50 ID:roCwyFi8.net] 俺に聞くなよw
687 名前:デフォルトの名無しさん mailto:sage [2016/10/07(金) 08:25:31.91 ID:Cn+2xuAd.net] それより睡眠学習の実用化が先ですよ。
688 名前:デフォルトの名無しさん mailto:sage [2016/10/08(土) 03:16:39.80 ID:W9cDd1LE.net] import logging かな。
689 名前:デフォルトの名無しさん mailto:sage [2016/10/08(土) 08:32:02.73 ID:0rrUv0oH.net] collectionsも結構使う
690 名前:デフォルトの名無しさん [2016/10/09(日) 15:53:16.59 ID:ClA6Ux9I.net] すみません、 lambda f1, f2: lambda x: f2(f1(x)) 的なことができる高階関数って、標準ライブラリにないんですか? functoolsとかoperatorあたりのモジュールは探してみたんですが。
691 名前:デフォルトの名無しさん mailto:sage [2016/10/09(日) 16:01:40.12 ID:vJfQ8leN.net] 前にフィルタープログラムを書いたときに探したけど無かったよ
692 名前:デフォルトの名無しさん [2016/10/09(日) 16:27:21.72 ID:zS2VLXB8.net] lambda f1, f2: return lambda x: return f2(f1(x))
693 名前:デフォルトの名無しさん mailto:sage [2016/10/10(月) 21:52:07.22 ID:Kmc8rJk9.net] >>673 なるほどないんですね。 デファクトスタンダードなライブラリとかではあるんでしょうか? >>674 returnは式じゃないからlambdaの中には書けんよw
694 名前:デフォルトの名無しさん mailto:sage [2016/10/1
] [ここ壊れてます]
695 名前:4(金) 10:20:22.72 ID:aU1AR1AG.net mailto: 4core CPUのパソコンでnumpyで行列計算するとCPU使用率400%までいくのに scipyでsparse行列計算すると100%までしかいかない [] [ここ壊れてます]
696 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 16:38:10.29 ID:Wqp+crjm.net] iを変数としてi行目だけ代入したい成分aを持って他の要素は全て0の配列を作るにはどうすればいいですか?
697 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 17:09:27.51 ID:tlULFick.net] こーいうこと? 素直にあらかじめ0だけの配列作ったほうがいい気がしないでもないが。 i=5 j=10 n=[0]*(i-1)+["a"]+[0]*(j-i)
698 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 17:12:10.88 ID:tlULFick.net] 代入だからこっちか。 i=5 j=10 a="aaa" n=[0]*(i-1)+[a]+[0]*(j-i)
699 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 17:43:07.15 ID:Qm2z0i/E.net] [a if index + 1 == i else 0 for index, _ in enumerate(lines)]
700 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 17:54:14.00 ID:Wqp+crjm.net] ありがとうございます
701 名前:デフォルトの名無しさん mailto:sage [2016/10/14(金) 18:44:55.05 ID:ePTb4vd+.net] >>677 >>> import collections >>> d = collections.defaultdict(lambda:0) >>> d[5]='test' >>> d[5] 'test' >>> d[0] 0 >>> d[100] 0 >>>
702 名前:デフォルトの名無しさん mailto:sage [2016/10/15(土) 12:40:18.11 ID:gqIwHOMQ.net] >682 配列なら、len()で要素数取得とかの挙動も期待されるから、辞書を使うのはまずいかもね。 スカスカな配列を何に使うか次第だけど。
703 名前:デフォルトの名無しさん mailto:sage [2016/10/15(土) 14:25:14.15 ID:e56j1dfV.net] >>> d={5:"aaa", 8:"bbb", 11:0} >>> [d[idx] if idx in d else 0 for idx in range(max(d)+1)] [0, 0, 0, 0, 0, 'aaa', 0, 0, 'bbb', 0, 0, 0] >>>
704 名前:デフォルトの名無しさん mailto:sage [2016/10/18(火) 23:50:53.88 ID:096F2O7j.net] 初めてのpythonの最新版訳さないのかよ いまだに2基準じゃん
705 名前:デフォルトの名無しさん mailto:sage [2016/10/19(水) 04:20:18.65 ID:0bOBecXw.net] その手の本が必要な層はphpやってますから
706 名前:デフォルトの名無しさん mailto:sage [2016/10/19(水) 06:04:14.57 ID:KM21H5NN.net] phpとpythonの関係って朝鮮人とネトウヨの関係みたいなもんですか?
707 名前:デフォルトの名無しさん mailto:sage [2016/10/19(水) 10:39:01.01 ID:PVRQWOLa.net] >>687 ペチパーはウヨでもあり朝鮮人でもある
708 名前:デフォルトの名無しさん mailto:sage [2016/10/20(木) 04:10:20.61 ID:oWSV7BZ5.net] とパイチョン君が申しております
709 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 20:35:52.44 ID:I3+ei3yb.net] プログラミング関連の本買う人って プログラミング勉強するぞって買ったはいいけど 結局何も作らず終わるのがほとんどだろ
710 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 22:13:28.60 ID:nuXKaykF.net] >>690 いつも読了できなくて挫折ばかりのキミにアドバイスしてあげよう。 勉強は気合をいれてやるもんじゃないんだよ。「勉強するぞっ」って発奮してもダメ。 それって、変なところに力いれているだけ、ヤルかヤラないかでエネルギー使ってんの。 それで疲れちゃって結局やらないの。それがキミ。 パンを食べるように本を開いて、珈琲を飲むように文字を読むのだよ。 そこに感情はない、ただやる。やる気はやっているうちに出てくると科学的に分かっているわけ。 勉強始める前に気合入れることが以下にムダで意味の無いことか分かるでしょ。 つまり、体育会系にありがちな気合とか気持ちを込めろとかいう脳みそ筋肉バカは 何やってもダメってこと。
711 名前:デフォルトの名無しさん [2016/10/22(土) 22:17:37.14 ID:NQUMZk8r.net] >>691 結局プログラミングはしてないよねそれ
712 名前:デフォルトの名無しさん [2016/10/22(土) 22:32:55.09 ID:hG/RViKp.net] 決めたことも
713 名前:竄關汲ーられないとかそんな雑魚おらんやろ [] [ここ壊れてます]
714 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 23:29:31.40 ID:f2PM51uT.net] 本買わずにネット情報だけでやってる奴なんているの?
715 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 00:11:43.04 ID:QbShixfl.net] 多言語経験してれば本家のドキュメントで事足りる。pythonは素晴らしい日本語訳ドキュメントがあるよ。 docs.python.jp/3.5/
716 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 00:37:41.92 ID:AOI/GfPk.net] そこチュートリアルがプログラミング経験がある前提なのはいかがなものか 1.やる気を高めようで初心者を殺しにかかるのはやめてください
717 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 00:42:30.68 ID:zDynmZIN.net] 一次情報がWebにあるのに本買う方がどうかしてる
718 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 00:55:16.36 ID:QbShixfl.net] >>696 「多言語経験してれば」って書いたんだけどなあ。そんなんだから一生初心者なんじゃない?
719 名前:デフォルトの名無しさん [2016/10/23(日) 01:20:47.60 ID:Pb3uCFNH.net] 初心者をdisる奴は初心者だけなんだって
720 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 02:07:17.14 ID:QbShixfl.net] ( ´_ゝ`) フーン
721 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 03:38:51.57 ID:2g5zTX+K.net] 小学校出てる?幼稚園でお遊戯してた方がいいんじゃない?って 国語能力をdisれば何の問題もなかった
722 名前:デフォルトの名無しさん [2016/10/23(日) 07:54:48.43 ID:04Md1WAS.net] >>701 明らかにそういう意味だろ お前も国語能力ないなw
723 名前:デフォルトの名無しさん [2016/10/23(日) 09:23:00.18 ID:Pb3uCFNH.net] 初心者同士の潰しあいとかやめろよ恥ずかしい
724 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 10:36:52.08 ID:CGzeXgZh.net] >>690 プログラミング本って無駄に高い しかもwebで手に入る情報の羅列みたいな本も多い amazonで探すだけなら良いが うっかり現物見ないで買うのは禁止
725 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 10:38:42.53 ID:CGzeXgZh.net] >>691 >勉強始める前に気合入れることが以下にムダで意味の無いことか分かるでしょ。 なるほど 学生の時にその奥儀を教わりたかった
726 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 10:39:34.44 ID:CGzeXgZh.net] >>694 最近は駄本が多いからネットで90%以上間に合う
727 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 10:40:53.29 ID:CGzeXgZh.net] >>695 わりとマジでレスするとpython.jpはイマイチ
728 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 10:41:33.35 ID:CGzeXgZh.net] >>697 もう本の時代は終わったよね
729 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 10:43:43.08 ID:JgLftgqx.net] >>698 >>701 伊調さんの始球式みたけど お世辞にも立派な投球には見えなかった 一芸に秀でていても球投げたことは無さそうだなと だけど伊調さんも嫌がらずに練習すれば すごい球を投げられるような気がする
730 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 13:00:28.97 ID:LgriLn9Y.net] なんで本家のドキュメントやリファレンスをちゃんと読まないのか 英語がダメなの?
731 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 13:06:58.08 ID:LgriLn9Y.net] 書籍になってると文書としての品質は上がってる webは書き捨てが多いから質は目も当てられない しかし内容はそれとは別問題なのだ
732 名前:デフォルトの名無しさん mailto:sage [2016/10/23(日) 14:09:39.05 ID:5Lr/fOT4.net] 全くの初心者だとネットは情報量が多すぎるってのはあるか とはいえ、本は3冊買って読み比べろとも言われるしな
733 名前:デフォルトの名無しさん mailto:sage [2016/10/24(月) 00:27:48.51 ID:EcHWVsmq.net] 二次元のndarrayがある。例えばshape=(100,2)。 100個から適当に2個抜いて(98,2)のndarrayを作りたい。 この際、抜いた要素のひとつ前の要素は抜いた分を足して2で割った値にしたい。 いったんtolistでlistにしちゃえば実現はできるけど、速度面で不満が残る。 なんかいい方法しらない?
734 名前:デフォルトの名無しさん mailto:sage [2016/10/24(月) 03:10:44.83 ID:csOVihsC.net] 単
735 名前:モノnumpy.zeros(shape=(98,2))で初期化行列を作って for文でshape=(100,2)からshape=(98,2)へ要素を代入するのはどう? [] [ここ壊れてます]
736 名前:デフォルトの名無しさん mailto:sage [2016/10/24(月) 03:32:22.12 ID:DiZc3ogb.net] numpy.deleteとスライス使え
737 名前:デフォルトの名無しさん mailto:sage [2016/10/24(月) 07:05:42.05 ID:+kcQUecP.net] >>715 numpy.deleteって知らなかった。サンクス!
738 名前:デフォルトの名無しさん mailto:sage [2016/10/24(月) 10:34:20.72 ID:9xygNeDa.net] >>713 抜きたい要素とそのひとつ前の要素を どちらも足して2で割った値で上書きする (要素の数は変えない)
739 名前:デフォルトの名無しさん mailto:sage [2016/10/24(月) 23:32:26.05 ID:+kcQUecP.net] >>717 抜く前に値を変えてしまうのですね 使わせていただきます!
740 名前:デフォルトの名無しさん [2016/10/25(火) 02:27:29.62 ID:1QQW4i9d.net] 最近node.jsやってたけどまたPythonに戻ってきたわ またよろしくな
741 名前:デフォルトの名無しさん mailto:sage [2016/10/25(火) 21:10:07.75 ID:xoqpMCMM.net] >>>v1.shape (20, 10, 3) >>>m1.shape (3, 3) >>>result = np.zeros(rv1.shape[:2]) >>>for i in range(rv1.shape[0]): for j in range(rv1.shape[1]): result[i, j] = np.dot(np.dot(rv1[i, j, :], m1), rv1[i, j, :]) この処理をforループを使わずに高速に書きたいんだが なんかいい方法ある?
742 名前:デフォルトの名無しさん mailto:sage [2016/10/26(水) 02:16:55.39 ID:tP3geMHY.net] 質問です >>> import ctypes >>> type(ctypes.ARRAY(ctypes.c_int, 1)(9)) <class 'numpy.ctypeslib.c_long_Array_1'> >>> type(ctypes.ARRAY(ctypes.c_int, 2)(9,8)) <class 'ctypes.c_long_Array_2'> >>> type(ctypes.ARRAY(ctypes.c_int, 3)(9,8,7)) <class 'ctypes._endian.c_long_Array_3'> >>> type(ctypes.ARRAY(ctypes.c_int, 4)(9,8,7,6)) <class 'ctypes.c_long_Array_4'> >>> type(ctypes.ARRAY(ctypes.c_int, 5)(9,8,7,6,5)) <class 'ctypes.c_long_Array_5'> >>> type(ctypes.ARRAY(ctypes.c_int, 6)(9,8,7,6,5,4)) <class 'ctypes.c_long_Array_6'> >>> type(ctypes.ARRAY(ctypes.c_int, 7)(9,8,7,6,5,4,3)) <class 'ctypes.c_long_Array_7'> >>> type(ctypes.ARRAY(ctypes.c_int, 8)(9,8,7,6,5,4,3,2)) <class 'ctypes.c_long_Array_8'> なぜ1と3だけ仲間はずれなのでしょう?
743 名前:デフォルトの名無しさん mailto:sage [2016/10/28(金) 13:08:21.77 ID:3lkqIeOw.net] >>> o = object() >>> o.x = 3 AttributeError: 'object' object has no attribute 'x' >>> o.__dict__ AttributeError: 'object' object has no attribute '__dict__' ↑これが失敗するので下のようにすると >>> class O(object): pass ... >>> c = O() >>> c.x = 3 >>> c.x 3 >>> c.__dict__ {'x': 3} >>> c.__dict__['x'] 3 で上手くいく訳ですが object を継承しているだけなのに なぜ __dict__ がもれなく付いてくるのでしょう?
744 名前:デフォルトの名無しさん mailto:sage [2016/10/28(金) 14:08:07.00 ID:zu/Rt9+m.net] クラスオブジェクトには__dict__がもれなくついてくるから
745 名前:デフォルトの名無しさん mailto:sage [2016/10/28(金) 14:22:40.91 ID:iYpeYJtL.net] >>722 一言で言うと、持ってないと不便だから__dict__がついてくる objectは基底の存在なのでいじれないように設計されてるけど 普通のクラスのインスタンスは属性の書き換えができた方が便利だ もしインスタンスの属性の書き換えを制限するクラスを作るときは__slots__を設定しよう それから、属性を書き換え可能なオブジェクトがほしいけどクラス定義が面倒なときは 辞書で我慢するかtypes.SimpleNamespaceを使おう
746 名前:デフォルトの名無しさん mailto:sage [2016/10/28(金) 14:35:54.55 ID:MDokmCKP.net] >>723 の知能レベル 質問:空はなぜ青いのでしょうか 回答:空は青いから
747 名前:デフォルトの名無しさん mailto:sage [2016/10/28(金) 18:07:20.36 ID:3lkqIeOw.net] object 継承してるかどうかは関係ないわ class C(): pass でも同じだわ
748 名前:デフォルトの名無しさん mailto:sage [2016/10/28(金) 18:13:02.87 ID:Eg/XFFg9.net] 空は青色ではありませんよ? アジュールって色なんですよ♪
749 名前:デフォルトの名無しさん mailto:sage [2016/10/29(土) 17:03:46.75 ID:5dVZCGK0.net] >>> import numpy as np >>> from ctypes import cast, POINTER, c_double, c_char >>> from binascii import a2b_hex, b2a_hex >>> s = '555555555555D53F' >>>
750 名前:cast(a2b_hex(s), POINTER(c_double))[0] 0.33333333333333331 >>> c = np.sin(np.arange(1, 3, 1)) >>> c array([ 0.84147098, 0.90929743]) >>> cast(c.__array_interface__['data'][0], POINTER(c_double))[0] 0.8414709848078965 >>> cast(c.__array_interface__['data'][0], POINTER(c_double))[1] 0.90929742682568171 >>> cast(c.__array_interface__['data'][0], POINTER(c_char))[0:8] '\xee\x0c\t\x8fT\xed\xea?' >>> b2a_hex(cast(c.__array_interface__['data'][0], POINTER(c_char))[0:8]) 'ee0c098f54edea3f' >>> cast(a2b_hex('ee0c098f'), POINTER(c_double))[0] 1.185626633492288e-314 >>> cast(a2b_hex('54edea3f'), POINTER(c_double))[0] 5.2981662529804807e-315 なぜ結果が期待したものと違うのでしょう? [] [ここ壊れてます]
751 名前:デフォルトの名無しさん mailto:sage [2016/10/29(土) 17:13:33.42 ID:g3Hziv5V.net] 間違った期待だから >>> cast(c.__array_interface__['data'][0], POINTER(c_char))[0:16] '\xee\x0c\t\x8fT\xed\xea?F\xb4\xd1\xea\xf6\x18\xed?' >>> b2a_hex(cast(c.__array_interface__['data'][0], POINTER(c_char))[0:16]) 'ee0c098f54edea3f46b4d1eaf618ed3f' >>> cast(a2b_hex('ee0c098f54edea3f'), POINTER(c_double))[0] 0.8414709848078965 >>> cast(a2b_hex('46b4d1eaf618ed3f'), POINTER(c_double))[0] 0.90929742682568171
752 名前:デフォルトの名無しさん mailto:sage [2016/10/29(土) 17:15:48.99 ID:V/VqPJHP.net] あー 文字数とバイト数がごっちゃになってた 有賀d
753 名前:デフォルトの名無しさん mailto:sage [2016/10/29(土) 17:24:28.60 ID:0+VZnpKl.net] バイナリデータを変換するならstruct使おうよ
754 名前:デフォルトの名無しさん mailto:sage [2016/10/29(土) 17:53:45.77 ID:5dVZCGK0.net] いちいち定義するの面倒くね? もっと簡単なの?
755 名前:デフォルトの名無しさん mailto:sage [2016/10/29(土) 18:19:16.02 ID:0+VZnpKl.net] >>732 Python2でしか確認してないがstructを使った書き方と比べるとこんな感じ import struct # 他のimportは省略 # c = ... も省略 print repr(cast(c.__array_interface__['data'][0], POINTER(c_char))[0:16]) print repr(struct.pack('dd', *c)) print repr(cast(a2b_hex('ee0c098f54edea3f'), POINTER(c_double))[0]) print repr(struct.unpack('d', a2b_hex('ee0c098f54edea3f')))