くだすれPython(超初心者用) その16at TECH
くだすれPython(超初心者用) その16 - 暇つぶし2ch591:デフォルトの名無しさん
13/03/16 10:54:35.03
>>590
python test.py として実行したら、 wxPython: stdout/stderr ダイアログは表示されませんでした。
エラーメッセージがコマンドプロンプトに表示されましたが、ダイアログに表示されたものではありません。
もしかしたらダイアログに表示される最初のメッセージなのかもしれません。

>>588
バグの原因は文字コードではなく未定義の配列要素へのアクセスが原因でした。
修正したあと別のエラーによってダイアログが表示されましたが、固まらずにエラーログが表示されました。
バグの内容によって応答なしにはならないので、このまま PyScripter を使おうと思います。ありがとうございました。

592:デフォルトの名無しさん
13/03/16 11:03:53.24
>>591
URLリンク(www.wxpython.org)
redirectをFalseにするとウインドウが出なくなる

593: 忍法帖【Lv=5,xxxP】(1+0:5)
13/03/16 11:59:06.25
みんな何で書いてる?Eclipse?

594:デフォルトの名無しさん
13/03/16 12:01:57.36
>>593
Eclipse + PyDev + CVS

595:デフォルトの名無しさん
13/03/16 12:07:11.46
xyzzy

596:デフォルトの名無しさん
13/03/16 12:09:19.21
>>581
3.xは文字コード周りが「枯れてない」ので
どっちも面倒くさいことになるのはいっしょ。
まだ対処可能なケースの多い2.xの方がマシ。
3.3でかなり改善はされたけど、
おかげでバグが激しくて3.3.1待ちの状態。

597:デフォルトの名無しさん
13/03/16 12:11:50.28
2.7でも3.2でも文字コード廻りで対処できなかったケースないわ
3.3はまだ地雷だけど

598:デフォルトの名無しさん
13/03/16 12:13:40.34
馬鹿には無理

599:デフォルトの名無しさん
13/03/16 12:23:02.03
と馬鹿が申しております

600:デフォルトの名無しさん
13/03/16 12:39:23.24
あららー?

601:デフォルトの名無しさん
13/03/16 13:00:05.50
間もなく6ヶ月なのに、まだrcの気配もないよ>3.3.1

602:デフォルトの名無しさん
13/03/16 13:07:24.38
2.xの文字コード周りが明らかに糞仕様だと認めない人が何を言いたいのか殆ど理解できない

603:デフォルトの名無しさん
13/03/16 13:07:26.72
>>593
emacs + auto-complete

604:デフォルトの名無しさん
13/03/16 13:09:30.05
枯れてる枯れてないの議論をすれば、確かに2.xの文字コードは腐りきってるけど、糞仕様には変わりないんだよ

605:デフォルトの名無しさん
13/03/16 13:26:56.28
自分が扱えるから糞仕様じゃないって事じゃね
100回まわさないと水が出てこない蛇口でも使えるから糞仕様ではないって言うよ、たぶん

606:デフォルトの名無しさん
13/03/16 13:52:22.79
初心者なのでPyScripterでやってます・・・

607:デフォルトの名無しさん
13/03/16 13:53:47.76
PyScripterはWin限定だからスルーされがちなだけで無茶苦茶優秀なエディタ

608:デフォルトの名無しさん
13/03/16 14:19:20.83
>>593
Notepad++ プラグインのPython Scriptを入れて

609:デフォルトの名無しさん
13/03/16 15:50:27.76
NppExecプラグインは便利

610:デフォルトの名無しさん
13/03/16 16:04:07.24
F6
python $(FULL_CURRENT_PATH)
Enter

611:デフォルトの名無しさん
13/03/16 16:08:55.25
一行目に NPP_SAVE を加えれば Ctrl+S の手間も省けるしね

612:デフォルトの名無しさん
13/03/16 16:54:14.17
>>609 >>610 それも使っています。ほんと便利です。
>>611 知らなかった。やらせてもらいます。

613:デフォルトの名無しさん
13/03/16 19:16:55.47
PythonはWindowsもちゃんとサポートしている言語ですか?
RubyみたいにWindowsは中途半端にサポートしてますか?

614:デフォルトの名無しさん
13/03/16 19:18:30.89
今からURLリンク(docs.python.jp)みて勉強します

615:デフォルトの名無しさん
13/03/16 19:18:50.74
Rubyよりは相対的にマシだけどそれでも開発者からは嫌われてる

616:デフォルトの名無しさん
13/03/16 19:55:49.76
URLリンク(docs.python.jp)

617:デフォルトの名無しさん
13/03/16 20:02:20.03
Windowsベッタリで行くならIronPythonもあり
2.7ベースだけど

618:デフォルトの名無しさん
13/03/16 20:29:54.24
IronPythonでimport zlib, sqlite3とかできるの?

619:デフォルトの名無しさん
13/03/16 21:21:18.30
Linuxでpythonを勉強しはじめました。
ncursesを使った簡単なプログラムを作りたいと思ったのですが
その簡単なサンプルみたいなものも情報も少なく感じています。
何かおすすめみたいのがあれば教えてください m(_ _"m)

620:デフォルトの名無しさん
13/03/16 21:25:06.62
馬鹿には無理

621:デフォルトの名無しさん
13/03/16 21:38:22.66
そんなひどい

622:デフォルトの名無しさん
13/03/16 21:41:30.46
>>618
一応Cのライブラリには対応してたはず
最悪.NETのライブラリも使える

623:デフォルトの名無しさん
13/03/16 21:48:20.04
所詮インタプリタの再実装なのになぜ対応しないと思ったのかよく分からない
URLリンク(pastebin.com)

624:デフォルトの名無しさん
13/03/16 22:55:41.89
たしかtkinterはデフォルトで無かったけど、
GUIは.NETの使えば良いかなーって感じ

625:デフォルトの名無しさん
13/03/16 23:01:20.06
>>619
プログラミング初心者の俺でもそのくらい分かる

626:デフォルトの名無しさん
13/03/16 23:21:57.85
3系の質問です。

L = []

for i in range(10):
L[i] = "abc" + str(i)
print(L)

上記を実行して以下のようなリストを作りたいのですがうまくいきません。

["abc0","abc1","abc2",…,"abc9"]

どうすれば意図する事が出来るでしょうか?

627:デフォルトの名無しさん
13/03/16 23:22:59.57
L = ["abc" + i for i in range(10)]

628:デフォルトの名無しさん
13/03/16 23:37:04.33
方法は3つ
(1) L = [] → L = [None]*10
(2) L[i] = "abc" + str(i) → L.append("abc"+str(i))
(3) >>627 ( i をキャストしてないけど)

(3)のリスト内包表記がベスト
あと、文字列の結合は ''.join(list) を使ったほうが良い

629:デフォルトの名無しさん
13/03/17 15:23:33.27
つかバージョン関係ねえ

630:デフォルトの名無しさん
13/03/17 15:50:48.92
pass

631:デフォルトの名無しさん
13/03/17 16:31:44.16
L = [''.join(['abc',str(i)]) for i in range(10)]

632:デフォルトの名無しさん
13/03/17 16:36:21.58
map(lambda x:'abc%02d'%x, range(20))

633:デフォルトの名無しさん
13/03/17 16:42:13.81
joinは汚ない。10回程度なら書きやすさ読みやすさを考えて + でも全然いいよ

634:デフォルトの名無しさん
13/03/17 16:53:45.11
何回程度ならダメなんだよ

635:デフォルトの名無しさん
13/03/17 16:54:22.83
女陰は汚い。

636:デフォルトの名無しさん
13/03/17 17:18:07.66
pass

637:デフォルトの名無しさん
13/03/17 17:31:54.49
>>626
L = ["abc%d" % i for i in range(10)]

638:デフォルトの名無しさん
13/03/17 17:41:28.13
なぜ人が書いてることをまた書くのか

639:デフォルトの名無しさん
13/03/17 17:42:34.32
脳が腐敗してるから

640:デフォルトの名無しさん
13/03/17 17:54:17.19
L = map(lambda x:'abc%d'%x,range(10))

641:デフォルトの名無しさん
13/03/17 17:57:47.03
["abc{}".format(i) for i in range(10)]
list(map("abc{}".format, range(10)))

642:デフォルトの名無しさん
13/03/17 17:58:56.75
もういいぞクズ

643:デフォルトの名無しさん
13/03/17 18:00:48.44
TIMTOWTDIですね。わかります

644:デフォルトの名無しさん
13/03/17 18:03:20.59
同じこと連呼してドヤ顔とか…
データ構造やアルゴリズムを変えてみてから言えよ

645:デフォルトの名無しさん
13/03/17 18:04:30.87
文字列リテラルにメソッド呼び出しするの気持ち悪い

646:デフォルトの名無しさん
13/03/17 18:06:27.65
オブジェクトがメソッドを持つのは当然のこと

647:デフォルトの名無しさん
13/03/17 18:17:59.54
手続き脳にオブジェクト指向やらすと起こる定番の拒否反応

648: 忍法帖【Lv=6,xxxP】(1+0:5)
13/03/17 18:26:55.10
ファイル一覧に対して何か処理するメソッドを作成したいです。

URLリンク(cl.ly)

サブディレクトリ含む場合は出来るのですが、サブディレクトリなしの場合が出来ません。

こんなエラー
URLリンク(cl.ly)

どこがダメでしょうか。

649:デフォルトの名無しさん
13/03/17 18:33:40.26
map関数は気持ち悪いなあ
どこがどうと言えないのだけど

650:デフォルトの名無しさん
13/03/17 18:37:08.01
オブジェクト脳に関数型やらすと起こる定番の拒否反応

651:デフォルトの名無しさん
13/03/17 18:39:01.59
>>648
os.path.joinの第二引数がリストになってるよ

652:デフォルトの名無しさん
13/03/17 18:39:13.06
map, filter, reduceに慣れてないだけw

653:デフォルトの名無しさん
13/03/17 18:39:25.63
論理的には文字列にメソッドは気にならないんだけど
コードの見た目が壊滅的に気持ち悪い
記号の演算子乱用する言語と同じくらい気持ち悪い

654:デフォルトの名無しさん
13/03/17 18:40:55.64
なぜ気持ち悪いのか、どう気持ち悪いのか言えよ。ただの馬鹿じゃん

655:デフォルトの名無しさん
13/03/17 18:44:06.71
mapは文字通り集合から集合への写像なのに何が気持ち悪いのか理解不能

656:デフォルトの名無しさん
13/03/17 18:45:38.30
生理的嫌悪感を感じるんだ
これは不細工が嫌いとかそういうレベルの感情だからどうしようもない

657:デフォルトの名無しさん
13/03/17 18:46:29.71
それならpythonを使うべきではないね。仕事なら別だが

658:デフォルトの名無しさん
13/03/17 18:50:46.49
mapは気持ちわるくないけど
map("abc{}".format, range(10)) ともなると
"abc{}".format のアリティが文字列リテラルの中の {} の数によって決められるのがあれかも

659:デフォルトの名無しさん
13/03/17 18:51:18.44
map()が気持ち悪いってプログラミングセンス皆無だぞ

660:デフォルトの名無しさん
13/03/17 18:52:44.49
append とか join はぜんぶ関数にしてほしい。

append(lst, elem)

join(lst1, lst2)

とかしたい。

661:デフォルトの名無しさん
13/03/17 18:59:41.74
>>660
joinを呼ぶ文字列は区切り文字であってリストじゃない
つまりlst1とlst2を連結するメソッドではない

662:デフォルトの名無しさん
13/03/17 19:00:51.44
アホか
むしろシーケンスがlenメソッド持つべきだろ
頭湧いてんのか

663:デフォルトの名無しさん
13/03/17 19:03:18.84
>>661
文字列の連結は + にしてほしい。

str1 + str2

664:デフォルトの名無しさん
13/03/17 19:04:40.22
えっ?

665:デフォルトの名無しさん
13/03/17 19:05:45.15
えぇ

666:デフォルトの名無しさん
13/03/17 19:06:21.59
もともとそうだったか。

667:デフォルトの名無しさん
13/03/17 19:06:27.70
>>663
だからそれは出来るだろ。処理系によって滅茶苦茶おそくなるが
というか、お前はPythonやオブジェクト指向言語を使わないほうが良いと思う
まあ、オブジェクト指向だからこそ演算子のオーバーロードができるわけだから
もうプログラミング辞めたほうがいいと思う

668:デフォルトの名無しさん
13/03/17 19:06:40.09
この程度の頭で喋ってるのかい。

669:デフォルトの名無しさん
13/03/17 19:08:02.96
呆れたからご飯のし支度でもするわ

670:デフォルトの名無しさん
13/03/17 19:08:50.54
# unko.py
def append(a, e):
a.append(e)
def join(s, a):
s.join(a)
def map(*a, **b):
raise Exception('Hey motherfucker! Do NOT use "map" function.')

from unko import *

671:デフォルトの名無しさん
13/03/17 19:12:08.76
>>627
>>628

ありがとうございます。

リスト末尾への追加はappend()を使うんですね。すっかり頭から抜けていました。

(1)のL = [None]*10
を使って最初のループに当てはめてみてもうまくいきました。

メソッドを使わずに代入だけでリスト内の構成を変えようとした事が失敗の原因だったんですね。

まだ内包表記まで進んでいないので内包表記は後日見直してみます。

本当にありがとうございました。

672:デフォルトの名無しさん
13/03/17 19:21:35.26
>>670
append([1, 2, 3], 4) の結果はどこに行くの。

673:デフォルトの名無しさん
13/03/17 19:28:36.77
どっか行くの?

674:デフォルトの名無しさん
13/03/17 19:37:07.83
>>659
何で?
こんな変な動作をする関数は
Cなどの従来一般的な開発言語にはないでしょ。

675:デフォルトの名無しさん
13/03/17 19:38:17.94
append(a, e)のaやreturnを書き忘れるあたりおそらくRuby初心者スレじゃないかと思う

676:デフォルトの名無しさん
13/03/17 19:40:54.31
>>674
残念ながらC言語以前からありますw

677:デフォルトの名無しさん
13/03/17 19:42:12.69
list.sort()とsorted(list)の違い

678:デフォルトの名無しさん
13/03/17 19:44:26.62
lispってCより15年近く古いよね

679:デフォルトの名無しさん
13/03/17 19:49:47.71
>>673
append([1, 2, 3], 4) に返して欲しいのは [1, 2, 3, 4] だよ。
implicit に a を書き換えるんじゃなくて。
関数定義するならこんな感じ。

def append(a, e):
 return a + [e]

680:デフォルトの名無しさん
13/03/17 19:51:13.44
map関数がやってることもこれとほぼ同じなんだけど何故かしっくりこないらしい
人間の脳味噌って不可思議だね

681:デフォルトの名無しさん
13/03/17 19:52:03.61
>>679
その関数に何の意味があるんだ…

682:デフォルトの名無しさん
13/03/17 19:58:51.65
>>681
じゃあ、a.append(e) に何の意味があるんだ?

683:デフォルトの名無しさん
13/03/17 19:59:22.36
>>680の言う「これ」ってどれ?

684:デフォルトの名無しさん
13/03/17 20:02:16.89
>>682
aのメソッドであることに意味がある
>>660みたいな馬鹿には一生わからないだろうが

685:デフォルトの名無しさん
13/03/17 20:02:38.43
とりあえずうるさいから全員黙れ
嫌なら使うのやめろ
士ね

686:デフォルトの名無しさん
13/03/17 20:04:33.84
>>684
a のメソッドであることにどんな意味があるの?

687:デフォルトの名無しさん
13/03/17 20:14:47.84
>>680の「これ」が>>679だとしたら
mapにたいして深刻な勘違いをしていると言わざるを得ない

>>686
リストしか使わない処理だから。読むときも書くときも他のことを考えなくて済む
リストを継承したクラスでも同じことが出来る
>>660みたいな馬鹿には一生わからないだろうが

688:デフォルトの名無しさん
13/03/17 20:16:32.91
>>685
レス乞食にはpassを食わせろ

689:デフォルトの名無しさん
13/03/17 20:20:25.32
pass

690:デフォルトの名無しさん
13/03/17 20:21:09.87
とりあえずうるさいから全員黙れ
嫌なら使うのやめろ
士ね

691:デフォルトの名無しさん
13/03/17 20:29:58.32
pass

692:デフォルトの名無しさん
13/03/17 20:31:44.87
盲人の手を引く盲人

693:デフォルトの名無しさん
13/03/17 20:39:19.17
ここまで俺様の自演w

694:デフォルトの名無しさん
13/03/17 20:40:48.49
while 1:
pass

695:デフォルトの名無しさん
13/03/17 21:35:45.40
>>697
じゃあなんで len は lst.len() みたいにならないんだ?

ぜんぶメソッドに統一すればいいじゃないか。

696:デフォルトの名無しさん
13/03/17 21:38:57.07
str.len()も無くて最初探しまくったのは悪い思い出

697:デフォルトの名無しさん
13/03/17 21:40:50.78
Ruby のせいですね
わかります

698:デフォルトの名無しさん
13/03/17 21:49:21.13
.NETやJavaもそうじゃないか。まあどっちでもすぐ慣れるのだけど

699:デフォルトの名無しさん
13/03/17 22:01:14.57
.NET や Java がそうだから Pythonも、ってのは理由にはならないだろ。

700:デフォルトの名無しさん
13/03/17 22:09:50.79
>>699
>>698>>697へのレス。あと >>698 != >>695

701:デフォルトの名無しさん
13/03/17 22:33:10.94
>>695
URLリンク(mail.python.org)

702:デフォルトの名無しさん
13/03/17 23:37:17.23
L = map(lambda x:'abc%d'%x,range(10))

703:デフォルトの名無しさん
13/03/18 02:34:54.80
うるせえ死ね

704:デフォルトの名無しさん
13/03/18 07:02:15.51
>>701
それ読むとグイドは x.len() キモイって言ってるけど、
同じ理由で lst.append(elem) もキモイんだけど。

それと、lst.append(elem) が lst の内容を陰に書き換えるのもキモイ。

705:デフォルトの名無しさん
13/03/18 07:15:09.54
ヴァンホーテンさんはBDFLとして何かおもしろいこと言わなきゃいけないんだから
発言に多少齟齬があっても気にしないのが大人としての優しさ

706:デフォルトの名無しさん
13/03/18 07:26:54.20
Pythonのメソッドをぜんぶ関数にしたらカッコのないLISPになっちゃう。

707:デフォルトの名無しさん
13/03/18 07:38:38.92
lst += [elem]

708: 忍法帖【Lv=7,xxxP】(1+0:5)
13/03/18 08:36:15.99
>>651
サンクス!!

709:デフォルトの名無しさん
13/03/18 08:49:49.68
>>704
副作用があるときメソッド、副作用がないとき関数。
例:lst.sort() と sorted(lst)

710:デフォルトの名無しさん
13/03/18 09:02:53.93
str.unicode() は?

711:デフォルトの名無しさん
13/03/18 09:13:25.39
>>710
そんなメソッドstrにあったか?

712:デフォルトの名無しさん
13/03/18 09:33:26.81
unicode(str)は副作用がないが
str.decode()も副作用がない

713:デフォルトの名無しさん
13/03/18 09:50:27.45
下らないこと書いてないで働けよ社畜ども

714:デフォルトの名無しさん
13/03/18 11:43:53.37
フリーランスですが何か

715:デフォルトの名無しさん
13/03/18 12:10:08.57
最近はフリーのニートとかあるんだね
僕?お昼休みですけど

ところでお前ら死ね

716:デフォルトの名無しさん
13/03/18 13:31:48.40
len()やmax()はリスト以外にも同じように使える
appendはリストだけの操作だから全体に使えるようにする意味がない
全て関数にすべきとか、もうクラスを一度も書いたことがないC言語しか知らない人間の言うことだから
どんな議論も無意味だけど

こんな瑣末なことが気持ち悪いと思うのならPythonは使うべきではない
ま、そんな奴は全ての言語について何かしら本質でないことに対して気持ち悪いと言うのだろうが
それをハッカーがよくやる真っ当な言語ディスだと勘違いしてるのならご愁傷様

717:デフォルトの名無しさん
13/03/18 13:55:19.27
Guido脂肪w

718:デフォルトの名無しさん
13/03/18 14:07:59.13
そもそも le nが string にも list にも同じように使えるのがおかしい。

719:デフォルトの名無しさん
13/03/18 14:16:59.92
どこが?

720:デフォルトの名無しさん
13/03/18 14:35:17.36
string ならリストに変換してリストの len を取れば足りるだろ。

"abc" → ["a", "b", "c"] → len(["a", "b", "c"]) → 3

みたいに。len が string の長さを測る必要ない。

721:デフォルトの名無しさん
13/03/18 14:36:38.18
string[i]でアクセス出来るのになんでリストに変換しなきゃいけないのかとw
stringに対して酷い誤解をしてるよ

722:デフォルトの名無しさん
13/03/18 14:39:42.39
i が分かるのは string の長さが分かってるからでしょ。

723:デフォルトの名無しさん
13/03/18 14:42:28.81
だから
for i in range(len(list)): list[i]
は出来るのに
for i in range(len(string)): string[i]
がダメな理由は何?

馬鹿すぎてお話にならないが

724:デフォルトの名無しさん
13/03/18 14:45:58.72
最低限与えられるファンダメンタルな機能としては不要だってこと。

725:デフォルトの名無しさん
13/03/18 14:48:20.48
そう思うのならPythonを使うべきではないね、残念ながら。

726:デフォルトの名無しさん
13/03/18 14:49:45.49
それはおまいが決めることではない。

727:デフォルトの名無しさん
13/03/18 14:50:29.97
>>724こそお前が決めることではない
そう決めるのならPythonを使うべきではない。それだけ

728:デフォルトの名無しさん
13/03/18 14:59:18.39
今回の議論でいろいろ Python の問題点が見えてきたよ。
それらはすべて自分のライブラリにフィードバックしてるから。

ありがとう!

729:デフォルトの名無しさん
13/03/18 15:00:41.17
プロフェッショナルが作った洗練された組み込み関数を
全て台無しにする糞ライブラリの完成だなw

730:デフォルトの名無しさん
13/03/18 15:03:24.35
組み込み関数に対して自分用のラッパ書くとかもはやなんでその言語使ってるのか分からないレベル

731:デフォルトの名無しさん
13/03/18 15:11:17.51
結果が同じでも色んな書き方あるようだけど
やっぱ速度も違ってくるのかな?

732:デフォルトの名無しさん
13/03/18 15:21:03.70
糖衣構文でもないかぎり速度は変わるに決まってる

733:デフォルトの名無しさん
13/03/18 15:21:39.54
もちろん

>>> from timeit import timeit
>>> timeit(' ["abc" + str(i) for i in range(10)] ')
12.046442985534668
>>> timeit(' ["".join(("abc", str(i))) for i in range(10)] ')
16.259288787841797
>>> timeit(' ["".join(["abc", str(i)]) for i in range(10)] ')
19.62903094291687

734:デフォルトの名無しさん
13/03/18 15:26:57.04
>>733
ありがと。
けっこう差が出るもんだね

735:デフォルトの名無しさん
13/03/18 15:29:25.29
ソースコードは Python の実装(PyPy、Jython、IronPython、Pyrex、
Psyco など)ごとの欠点を引き出さないように書くべきである。たとえば、
CPython が a+=b や a=a+b などの文字列連結をインプレイス処理して、効
率よく動作する実装に依存してはならない。これでは Jython での動作が遅く
なってしまう。パフォーマンスに敏感な部分では、''.join() を使うべき
である。こう書いておけば、様々な実装において、連結処理は線形時間で
処理できる。

736:デフォルトの名無しさん
13/03/18 15:32:21.69
使いもしない処理系のことを考えてプログラミングするの?やだー

737:デフォルトの名無しさん
13/03/18 15:32:55.58
俺は使うけど?

738:デフォルトの名無しさん
13/03/18 15:35:07.76
>>737
じゃあその使ってる処理系でベンチやってくれ。

739:デフォルトの名無しさん
13/03/18 15:40:09.04
>>738
はい
URLリンク(matsulib.hatenablog.jp)

740:デフォルトの名無しさん
13/03/18 15:46:23.49
>>739
文字列にがんがん文字列追加してく例じゃん
そりゃjoinのほうが早いよ

741:デフォルトの名無しさん
13/03/18 16:05:45.10
2ちゃんねるのダメ系の板にしばらくいたことがありますが、ダメになる傾向って確かにあって一つしかないですね
何もしないことです 怠惰や失敗への恐れや他人への迷惑への懸念、大元の理由は様々ですが
あそこにいる人たちの共通点は何もしてこなかった事に尽きます

742:デフォルトの名無しさん
13/03/18 18:35:27.74
書き捨てのコードで実装依存がどうたらと真面目に考えてるのか?
仕事しろチンカス

743:デフォルトの名無しさん
13/03/18 18:45:41.48
主にライブラリ作者が気をつけてればいい話だ罠
自称意識高い系で、有名プログラマとか本の受け売りばっかり頭に叩き込んでる奴が
皺のなくなった頭とドヤ顔でこういうことを喋ってる
たまに勉強会で見かける

744:デフォルトの名無しさん
13/03/18 18:53:03.47
レベル低い奴の言い訳は見苦しいなあ

745:デフォルトの名無しさん
13/03/18 18:54:05.90
馬鹿の一つ覚えって言っておけばすべて解決

746:デフォルトの名無しさん
13/03/18 18:55:54.16
受け売りで自分で喋れない蛇口君よりは大層ましだと思うぜ

747:デフォルトの名無しさん
13/03/18 18:56:32.22
俺「PEP8に書かれてますよー」
馬鹿「受け売りはやめろ」

748:デフォルトの名無しさん
13/03/18 18:58:15.20
俺と馬鹿が逆ですよ

749:デフォルトの名無しさん
13/03/18 18:59:49.10
これぞ思考停止

750:デフォルトの名無しさん
13/03/18 19:01:09.38
ここにいるカスどもからはPythonコミュニティには絶対にコミットしないという強い意思が見える
そのくせ開発者には文句たらたら(しかもそれは自分の無能さが原因)。死んだほうがいい

751:デフォルトの名無しさん
13/03/18 19:01:56.35
使ってやってるんだからありがたく思え。禿げ上がれ。

752:デフォルトの名無しさん
13/03/18 19:02:40.23
するわけないじゃん。
お前工具の開発元にいちいちフィードバック送ってんの?
へーすごいね。えらいね。帰っていいよ。

753:デフォルトの名無しさん
13/03/18 19:05:01.83
フィードバック送るのは当然ですしおすし

754:デフォルトの名無しさん
13/03/18 19:06:06.49
ふーん
そのコミュニティとやらはお前に何か尽くしてくれんの?
葬式に来てくれるとか?
そうでないなら労力を吸い取られてるだけの単なる物好きだね
大したものだ

755:デフォルトの名無しさん
13/03/18 19:08:31.66
で、その経験はお前の中に何を形成したの?
何か強みになりましたか?

756:デフォルトの名無しさん
13/03/18 19:14:52.08
おまいらPythonに関係のない話続けるならまとめてどっかいってくれませんかね

757:デフォルトの名無しさん
13/03/18 19:16:01.07
全員葬式の準備をしろ
お前らは強制的にあの世行きだ

758:デフォルトの名無しさん
13/03/18 19:17:18.37
>>751-752,754-755
頭大丈夫?

759:デフォルトの名無しさん
13/03/18 19:17:19.01
コミュニティへの貢献が関係ない話のわけがないだろ。
ユーザーの意識が今後の発展にかかわるんだ。

760:デフォルトの名無しさん
13/03/18 19:19:02.18
>>758
罵倒する語彙も不足してるらしいな。よく分かるぜ。

761:デフォルトの名無しさん
13/03/18 19:19:25.72
まあフィードバックと称したクレームはこのスレにも要らないけどね

762:デフォルトの名無しさん
13/03/18 19:21:25.63
ここイシュートラッカじゃないんで、文句言われても困るわ
言語仕様についてならコミュニティで大いに語って来いよコミュニティバカ

763:デフォルトの名無しさん
13/03/18 19:21:49.00
>>760
罵倒じゃなくて>>751-752,754-755みたいなレスをしちゃう人間の脳みそを本気で心配しているのだが
Python関連の何かに親でも殺されたのか?怖いよ

764:デフォルトの名無しさん
13/03/18 19:26:06.21
俺もなんのメリットもなく貢献貢献と自慰できる人間の脳味噌に本気で興味を抱いてるよ
一週間前にも居たよな
公開オナニー馬鹿が全国に

765:デフォルトの名無しさん
13/03/18 19:28:26.10
次から>>1にバグや文句はここに書けって貼っとこうぜ
URLリンク(bugs.python.org)

本当に書きに行く度胸のある奴はいないだろうから迷惑にはなるまい

766:デフォルトの名無しさん
13/03/18 19:30:03.16
>>764
フィードバックのデメリットって何?
自分が使おうとしてるプログラムやソースコードのことで気づいたことでしょ?
わざわざ自分と関係のない問題を見つけ出すわけじゃないよ
なぜフィードバックにブチギレてるのか理解不能w

767:デフォルトの名無しさん
13/03/18 19:31:51.92
誰かデメリットの話をしたか?
誰だ?出てこい

768:デフォルトの名無しさん
13/03/18 19:32:35.04
>>754
>そうでないなら労力を吸い取られてるだけ

769:デフォルトの名無しさん
13/03/18 19:36:35.83
そりゃ尤もなデメリットだな
労力を削く以上に根本的なデメリットは無いよね
否定していいぞ、できるなら

770:デフォルトの名無しさん
13/03/18 19:37:05.48
何の労力?

771:デフォルトの名無しさん
13/03/18 19:37:15.96
いつまで続くん

772:デフォルトの名無しさん
13/03/18 19:40:38.35
どちらかの賢さが1上がるまでだな

773:デフォルトの名無しさん
13/03/18 19:43:02.67
フィードバック=デバッグ作業だと思ってるキチガイが死ぬまでだな

774:デフォルトの名無しさん
13/03/18 19:45:03.45
PEP8の話の方がまだ面白い

775:デフォルトの名無しさん
13/03/18 19:46:34.40
>>750
無能な働き者がコミットしまくるよりいいんじゃないの

776:デフォルトの名無しさん
13/03/18 19:48:26.18
それ以前に無能は死ねよ
このスレ存続の危機だろうけどな

777:デフォルトの名無しさん
13/03/18 19:50:34.61
>>775
うん、このスレに上がってるような不満や問題点の指摘は的外れすぎて絶対にコミッターにはなれないし
なんでPythonを使ってるかも分からないレベル
それくらい言語への理解が至ってないのに、何故か偉そうで意味が分からない
質問者ではないようだし、自分では初心者だと思ってないらしいから質が悪い

778:デフォルトの名無しさん
13/03/18 19:55:52.07
2chに書き込む「労力」が無駄

779:デフォルトの名無しさん
13/03/18 19:56:03.11
こんなスノビー臭い言語使ってる理由なんて推して知るべしだろ
考えるより自分の胸に手を当てた方が早いんじゃないか

780:デフォルトの名無しさん
13/03/18 19:59:19.43
>>779
お前がお前の胸に手を当てて分かることなんて俺は知らんよ

781:デフォルトの名無しさん
13/03/18 20:01:18.94
このスレにコミッターなんておらんだろうに、偉そうなモブ1号が何事かほざきおるな
ぐらいにしか聞こえない

782:デフォルトの名無しさん
13/03/18 20:03:11.83
コミッターでなくても>>751-752,754-755がアホだということは分かる

783:デフォルトの名無しさん
13/03/18 20:05:46.42
コミッターになれないって
あれなりたくてなってるものだったの?
罰ゲームだと思ってた

784:デフォルトの名無しさん
13/03/18 20:05:56.52
葬式に来てくれない相手にレスするなんて、モノ好きだねえ

785:デフォルトの名無しさん
13/03/18 20:07:05.57
>>783
よく何も知らないことに対して自信満々に嘘八百が並べられるな
生きてて恥ずかしくないんだろうか

786:デフォルトの名無しさん
13/03/18 20:07:45.96
何の罰だよ意味わかんねえ

787:デフォルトの名無しさん
13/03/18 20:11:26.75
>>779
昔は人生の落伍者でも使える言語との評判でした

788:デフォルトの名無しさん
13/03/18 20:12:01.89
葬式なんて遠い未来のことなんぞより今ここだろ
今でしょ!の先生も言ってるだろ



まあ、今何かする暇があるってことは
今の作業を事前にスケジュールできていなかったわけで
アレ見た社会人がネタじゃなくマジ感銘受けてられると
いろんな意味で参る

789:デフォルトの名無しさん
13/03/18 20:14:54.95
落伍者どころかクソ袋でも使えるようになったし
時代の進歩を感じるね

790:731
13/03/18 20:15:06.34
速度の話しから変な方向に広がってしまったな
すまんの

791:デフォルトの名無しさん
13/03/18 20:15:25.51
ええんやで

792:デフォルトの名無しさん
13/03/19 21:21:47.33
ソーシャルなんとかの流行で有象無象が流入してきてんのかな
移住するか

793:デフォルトの名無しさん
13/03/19 21:23:57.65
移住も何も昔からここが最果て、いちばんカスの集まる場所だよ

794:デフォルトの名無しさん
13/03/19 21:27:07.74
ここに地終わりゴミの海が始まる

795:デフォルトの名無しさん
13/03/19 21:27:20.58
騒がしいのが苦手なんで
Haskelでも見てくるか

796:デフォルトの名無しさん
13/03/19 21:28:56.27
lispでいいんじゃないの

797:デフォルトの名無しさん
13/03/19 21:31:08.06
>>794
ポルトガルの詩だっけ?

798:デフォルトの名無しさん
13/03/19 21:33:41.60
オランダじゃないのは確かだ

799:デフォルトの名無しさん
13/03/19 23:51:32.10
ソーシャルなんとかってなんだ。

800:デフォルトの名無しさん
13/03/20 08:11:14.15
1.2 + 1.8 の小数同士の計算が
こんなに難しいとは・・・

801:デフォルトの名無しさん
13/03/20 08:35:23.17
前後が無いと何が難しいのかわからない

802:デフォルトの名無しさん
13/03/20 08:52:10.19
これ

14. 浮動小数点演算、その問題と制限
URLリンク(docs.python.jp)

803:デフォルトの名無しさん
13/03/20 08:54:39.95
>>> 1.2 + 1.8
3.0

804:デフォルトの名無しさん
13/03/20 08:56:15.77
階乗進数(n桁目がn!)を使うと浮動小数点数の変換誤差は無くなるらしい

805:デフォルトの名無しさん
13/03/20 09:00:11.41
>>803
馬鹿には無理

806:デフォルトの名無しさん
13/03/20 10:38:11.50
pythonではイテレートの終了を示すために特殊な例外を投げますが
なぜこのような奇妙な仕様になったのでしょうか

807:デフォルトの名無しさん
13/03/20 10:47:57.03
戻り値やプロパティを使って判断するのに比べて実装が楽だし綺麗だから
C#やJavaなんかは戻り値やプロパティを使ってるが、
それらに比べてもともとクソ遅いので例外のパフォーマンスヒットを無視できるから

808:デフォルトの名無しさん
13/03/20 10:59:32.97
Rubyは内部イテレータだから例外使わないと実装しづらいんだけど
Pythonは外部イテレータ(C#やJavaと同じ方式)なので実はそうでもなかったりする
next()一つで済むという一点だけだな

809:デフォルトの名無しさん
13/03/20 12:15:21.45
>>805
くたばれ、おっさん!

810:デフォルトの名無しさん
13/03/20 13:19:57.30
pythonの優れた点ってインデント強制だけだよな

811:デフォルトの名無しさん
13/03/20 13:21:02.71
Python好きだけど別にそこは優れてると思わん

812:デフォルトの名無しさん
13/03/20 14:29:34.73
リスト内包表記のシンタックスを考えた奴は天才
メソッドチェインやらラムダやらSQLもどきやらで同じことやってる言語は色々あるが
ここまでしっくりくるのは他にない

813:デフォルトの名無しさん
13/03/20 14:45:29.74
Pythonオリジナルではないので注意

814:デフォルトの名無しさん
13/03/20 14:47:55.81
ハスケルが元祖なんだろ?知ってるよ

815:デフォルトの名無しさん
13/03/20 15:52:28.87
smalltalk

816:デフォルトの名無しさん
13/03/22 00:39:50.59
URLリンク(gazo.shitao.info)
掛け算の結果がおかしいんですが、これは私だけでしょうか?
Python2.7.3 Windows7 32bit

817:デフォルトの名無しさん
13/03/22 00:51:27.44
>>816
パソコンの中の小人がサボってるのかも

818:デフォルトの名無しさん
13/03/22 00:55:55.40
小人さんはまだ2つの数字しか覚えてないから許してあげて

819:デフォルトの名無しさん
13/03/22 00:57:04.49
>>816
計算結果はおかしくありません。コンピュータにおける浮動小数点のしくみを理解しましょう
あとこのような質問はあまりにも基礎的なのですでに多くの質問と回答がネット上に上がっているはずです
事前に検索する癖をつけるか計算機の基礎知識を身につけてください(「コンピュータはなぜ動くのか」を読むことを勧めます)

820:デフォルトの名無しさん
13/03/22 00:58:49.55
>>816
うん
URLリンク(codepad.org)

821:デフォルトの名無しさん
13/03/22 01:05:53.59
コンピュータはなぜ動くのかってよく勧められるけどかなり退屈な本だよね
基本情報技術者を受けたほうがはやい。これもクソ退屈な試験で過去問みるだけで受かるけど
その過程で浮動小数点とか基本的なことは大体知ることができるし、何の役にも立たない資格が貰えるオマケ付き
それよか実際に重要なのは厳密な解が欲しいときに
例えば計算のすべてをint型でやるようにアルゴリズムを考えなおす等のプログラミングテクニックかな
やり方は問題によるけど競技プログラミングではよく出くわす

822:デフォルトの名無しさん
13/03/22 01:09:45.66
頭の悪い奴は口先がよく動く

823:デフォルトの名無しさん
13/03/22 01:10:25.39
訳「ぎゃふん」

824:デフォルトの名無しさん
13/03/22 01:14:39.35
>>821
退屈な本であることは否定しないけどこういう記事
URLリンク(www.whitehackerz.jp)
がネタかネタじゃないのか区別つかずにバイラルする世相だとマジレスしたくもなる

825:デフォルトの名無しさん
13/03/22 01:21:55.00
小数なんか全部10進小数でもいいと思うけどな
スクリプト言語の演算速度なんてどうせほぼ無視できるんだから

826:デフォルトの名無しさん
13/03/22 01:29:25.57
デシマル最強伝説

827:デフォルトの名無しさん
13/03/22 01:32:31.81
10進浮動小数点数を既定で使うスクリプト言語って聞いたことないけどなんで無いんだろ
pythonのdecimalモジュールみたいにライブラリでやると演算自体のコストに比べて
諸々のオーバーヘッドがとんでもなく大きくなるからなあ
10進演算が組み込みで速いって結構メリットだと思うけど

828:デフォルトの名無しさん
13/03/22 01:59:58.81
>824
コメンテーターがあほばっか

829:デフォルトの名無しさん
13/03/22 02:05:08.24
少なくとも俺は12年floatで困ったことが無いから今後も困らないだろう

830:デフォルトの名無しさん
13/03/22 05:46:25.15
10進小数なんてメリットあるの金融関係位だろ

831:デフォルトの名無しさん
13/03/22 08:48:22.44
積分とか適当にやると誤差すごい

832:デフォルトの名無しさん
13/03/22 09:15:43.53
newton法試したけど誤差すごい

833:デフォルトの名無しさん
13/03/22 18:21:03.15
一連の話題の目の付け所が誤差すごい

834:デフォルトの名無しさん
13/03/23 15:12:14.36
質問ですが、forループ内で変数名を文字列に変換することはできますか?
例えば
for i in [Firefox, Chrome, Opera, Safari]: のループ内で、それぞれの変数名の最初の2文字(FirefoxならFi)を文字列としてループ内で他の変数に格納することは可能でしょうか?

835:デフォルトの名無しさん
13/03/23 15:13:36.68
んなバカなことしなくてよろしい
辞書使え

836:デフォルトの名無しさん
13/03/23 15:18:16.27
変換する必要ないと思うよ
どういう時にそんなことしたくなった?

837:デフォルトの名無しさん
13/03/23 15:18:24.41
そんなことしたいと思わないな

838:デフォルトの名無しさん
13/03/23 15:26:34.67
回答ありがとうございます。
それぞれの変数はstatsmodelsのolsで回帰分析をして作成したもので、ループ内ではpandasのデータフレームに、変数名の最初の2文字をカラム名、.params属性で出てくる値をカラムの値として1つずつ繋げて1つのデータフレームとしたいのですが、他に良い方法はありませんか?

839:デフォルトの名無しさん
13/03/23 15:27:30.36
そんな事したいと思った事がないという答えとか酷いなwww

840:デフォルトの名無しさん
13/03/23 15:32:51.64
どうしてそういう考えに至ったのかを考察する事が重要ですね

841:デフォルトの名無しさん
13/03/23 15:33:30.87
よく分からんけど、
for k, v in locals():
if isinstance(v, statsmodels):
print('k[:2] =', k[:2], 'v =', v)
これでいいんじゃない?
個人が趣味でやる分には構わないと思うけど、
他人が見たらなんのことやらさっぱり。

842:デフォルトの名無しさん
13/03/23 15:56:25.24
>>841
ありがとうございます。しかしこのやり方だと含めたくない他のstatsmodelsから生成されたインスタンスも含めることになってしまいますよね?
今回はループを使わずに1つずつ手作業で指定して当分はしのぐことにします。
皆さんありがとうございました。

843:デフォルトの名無しさん
13/03/23 16:01:43.45
>>842
よく分からんけど、
for k, v in locals():
if k in ['Firefox', 'Chrome', 'Opera', 'Safari']:
print('k[:2] =', k[:2], 'v =', v)
これでいいんじゃない?

844:デフォルトの名無しさん
13/03/23 18:05:51.57
例とことわったコードを実際のコードと思い込んで「バカなことしなくてよろしい」とか突っ込むってバカの極みだろう。

845:デフォルトの名無しさん
13/03/23 18:09:10.35
いやばかだし

846:デフォルトの名無しさん
13/03/23 18:26:29.65
質問者が解決したって言った問題の回答者達に後から突っ込むってバカの極みだろう。

847:デフォルトの名無しさん
13/03/23 18:29:49.89
いいえ私がバカの極みです

848:デフォルトの名無しさん
13/03/23 18:34:04.18
いえいえ私が

849:デフォルトの名無しさん
13/03/23 18:35:14.34
えっ・・あ、それじゃ俺も・・・

850:デフォルトの名無しさん
13/03/23 18:41:59.76
やーいやーい

851:デフォルトの名無しさん
13/03/23 18:47:51.42
問題はバカなことだと気付いていない事なんだよなぁ
これ他人事じゃないのよ

852:デフォルトの名無しさん
13/03/23 19:11:36.60
普通はここ以外で馬鹿と接点がないから
自分のことだけ気をつけてれば大丈夫

853:デフォルトの名無しさん
13/03/24 16:19:27.06
たまにこういう流れになるなこのスレ
質問の前提を変えずに解決法を提示するという当たり前のことがわかってない人が若干名いるんだよね
「そんなことするな」「やらなければいい」って猿でも言える

馬鹿な人ほど問題の前提をひっくり返して解決した気になるって誰かが言ってたけど至言だと思う
解決策が思いつかない自分の駄目さから無意識のうちに目を背けようとしてるんだってさ

854:デフォルトの名無しさん
13/03/24 16:47:24.18
>>842
if v in [Firefox, Chrome, Opera, Safari]:
でいけるはず、やってみそ

855:デフォルトの名無しさん
13/03/24 16:49:33.96
学校のお勉強じゃねーんだから、
質問の前提を変えちゃダメなんてルールは無い
馬鹿げた質問には馬鹿だと教えてやるのが親切ってもんだ

856:デフォルトの名無しさん
13/03/24 17:04:38.04
2行目は同意だが3行目は全く同意しない
カスの世話だ

857:デフォルトの名無しさん
13/03/24 17:22:23.10
まあどうせ自演なんだし

858:デフォルトの名無しさん
13/03/24 17:54:06.13
   イ`ヘ
 /: :| ヽ
/ : :/  ヽ ___   _,,,:. .-: :´彡フ
_ノ\_∠: : : : : : : : :`: :-: :,:_:/彡 /
      ( : : : : : : : : : : : : : : `ゝ  /
  マ  r::/: /: : | : : : : : : : : ::\ /
      //: /: : : |: : | |: : |: _: : : :ヽ
  ジ  {/ 7|`\/i: /|:|/|´: : : : :|ヽ
     〉 ,‐-‐、`|7 || |_::|,_|: : :|:::|: |
  で / r:oヽ`    /.:oヽヽ: :|: | :|
     { {o:::::::}     {:::::0 }/: :|N
  っ  | ヾ:::ソ     ヾ:::ソ /|: : |
 !? ヽ::::ー-.. /ヽ ..ー-::: ヽ::| r--ッ
-tヽ/´|`::::::::::;/   `、 ::::::::::: /: i }  >
::∧: : :|: |J   \   /   /::i: | /_ゝ
. \ヾ: |::|` - ,, ___`-´_ ,, - ´|: : :|:::|
   ヽ: |::|\     ̄/ /|  |: : :|: |

859:デフォルトの名無しさん
13/03/24 18:07:25.89
>>853
そもそも管理すべきデータを間違ってとらえているから
変数名をデータとして扱いたいなんて要求が出るんだよね。
これは完全に設計上の謝りで、質問の前提を変えるなどという問題ではないよ。

特にこの場合は初心者特有の間違いだから、回答としては「そんなことするな」が正解。
ちなみに質問の前提を変えて問題を解決するなんて、馬鹿には無理。

860:デフォルトの名無しさん
13/03/24 18:14:05.63
誰も正解なんて質問してねーんだよ
痴れたことを

861:デフォルトの名無しさん
13/03/24 18:24:00.77
モヒカンは精神的な欠陥を抱えてて歩み寄りを絶対にしないので、無視すんのが正解。

862:デフォルトの名無しさん
13/03/24 20:01:31.30
>>859
ここは「くだすれPython(超初心者用)その16」というスレ
超初心者には馬鹿に見える秀才君がたくさんいます
超初心者には「そんなことするな」という回答が理解できません
>>859 はスレチ

863:デフォルトの名無しさん
13/03/24 20:03:32.87
無視すんのが正解つったろーがタコ。

864:デフォルトの名無しさん
13/03/24 20:46:51.71
>>862
なんだ荒らしたいのか?変な人に絡んでしまった。

865:デフォルトの名無しさん
13/03/24 20:48:55.27
待ってましたとばかりにアンカー付けちゃってンモーww

866:デフォルトの名無しさん
13/03/24 21:29:28.26
わからなかったら入力データと出力形式だけ書けばいいんだよ
そうしたら最適なコードを書きたい人が書いてくれるから

867:デフォルトの名無しさん
13/03/24 21:46:21.06
Windows用のPythonってインストーラー形式しかないんですか?
zip形式のってないんですか?

868:デフォルトの名無しさん
13/03/24 21:48:19.23
portable python

869:デフォルトの名無しさん
13/03/24 21:52:00.99
普通になかったか

870:デフォルトの名無しさん
13/03/24 21:55:02.19
2.7.4 RC1来てるやん

871:デフォルトの名無しさん
13/03/25 14:48:14.02
質問です。宜しくおねがいします。
オブジェクトをメンバーに持つオブジェクトがあったとします。メンバー側のオブジェクトから親のオブジェクトを参照する
方法はありますか? 
例えば

import random
class Ko(object):
 def __init__(self,a,b):
  self.a=a
  self.b=b
class Oya(object):
 def __init__(self,x,y,z)
  self.kodomo=Ko(x,y)
  self.z=z
kodomotachi=[]
oya1=Oya(1,2,3)
oya2=Oya(3,4,5)
oya3=Oya(31,41,51)
oya4=Oya(11,21,31)
kodomotachi.append(oya1.kodomo)
kodomotachi.append(oya2.kodomo)
kodomotachi.append(oya3.kodomo)
kodomotachi.append(oya4.kodomo)
kodomotachi.remove(kodomotachi[random.randint(0,3)])
としたとき、kodomotachiリストはOyaオブジェクトのインスタンスのkodomoメンバで構成されてる
訳ですが、たとえば上記のようにkodomotachiリストの内容が不明な時に、
kodomotachi[2]などから親オブジェクトを参照する方法はありますか?

872:デフォルトの名無しさん
13/03/25 15:40:25.14
混乱してきた・・・
parentとchildで書き直して

873:デフォルトの名無しさん
13/03/25 15:44:09.12
>>871
KoクラスにOyaインスタンスへの参照を保持する変数を入れとけばいいんじゃないの

874:デフォルトの名無しさん
13/03/25 15:58:31.87
hogoshakai = []
hogoshakai.append(oya1)
hogoshakai.append(oya2)
hogoshakai.append(oya3)
hogoshakai.append(oya4)
o = [oya for oya in hogoshakai if oya.kodomo == kodomotachi[2]]

875:デフォルトの名無しさん
13/03/25 16:21:40.01
はい、次

876:デフォルトの名無しさん
13/03/25 16:29:05.34
o = [oya for oya in locals() if isinstance(oya, Oya) and oya.kodomo == kodomotachi[2]]

877:デフォルトの名無しさん
13/03/25 19:18:34.73
何この拷問

import random
class Ko(object):
 def __init__(self,a,b,c):
  self.a=a
  self.b=b
  self.c=c
class Oya(object):
 def __init__(self,x,y,z)
  self.kodomo=Ko(x,y,self)
  self.z=z
...
kodomotachi[2].c

ハァハァ、、、ツカレタ、、、ハァハァ
タメシテナイカラ、ダメダッタラゴメンネ

878:871
13/03/26 08:57:54.62
>>874
>>876
>>877

みなさん有り難うございました。実はpymunkという物理エンジンを簡単に使うために、○とか□とかの物体をpymunk純正のshapeとかbodyとかのオブジェクトと
ともにpygameの描画メソッドつきのクラスにした自分用ラッパーライブラリを作っています。
pymunkの世界(space)にshapeとかbodyとかの物体情報をappendしてくんですが、衝突判定機能なんかで登録したbodyなどの純正オブジェクトは返り値として
得られるのですが、それらを内包する自作オブジェクトを得る方法はないかと悩んでました。

と言う訳で、メンバ側のオブジェクトは改造しづらい状況なので874さん、876さんの方法でいってみます。
でも877さんのメンバ側のオブジェクトに親オブジェクトの情報を持たせる方法も目から鱗でした。

みなさん、有り難うございました。

879:質問(前編)
13/03/26 12:18:44.74
1.Python覚えたいんですけど何で日本ではRubyが流行ってるんでしょうか?
2.RubyでいうRailsみたいなフレームワークはPythonではなんでしょうか?
3.PHPでいうPear、Rubyでいうgem、Pythonではなんでしょうか?
4.今からPython3.3で勉強しても問題ないでしょうか?
5.RubyでいうHerokuみたいな無料で使えるクラウドがありますがPython3.3が動くクラウドってありませんか?

880:質問(後編)
13/03/26 12:21:04.50
6.PythonはWindowsでコードを書いても問題ないでしょうか?
7.PythonではテキストエディタとIDEどっちを使うほうがいいでしょうか?
8.Pythonの定番のGUI作成ライブラリってありますか?
9.Pythonで構築されたサイトのまとめってありませんか?python.jpで公式に取り上げてませんか?
10.文字コードは基本utf8bomなしで改行コードはLFでコード書くものでしょうか?

881:デフォルトの名無しさん
13/03/26 12:26:45.26
1. 日本人は英語出来ないから
2. django
3. pypi, easy_install
4. 大丈v
5. あります
6. 問題ない
7. 俺はvim
8. tkinter, qt
9. python.org
10. yes

882:デフォルトの名無しさん
13/03/26 12:29:02.06
テンプレに入れてください

883:デフォルトの名無しさん
13/03/26 12:36:39.66
日本人の大半はマニュアル英語すら読めないから
Djangoとか
PyPi
ほとんどローカルでしか使えないと思うけどそれでよければ
ない

いいよ
両方使ってみて自分に合う方
Python3希望しているなら今のところ諸手を挙げたお勧めはない
日本語の資料を希望しているならない
そんな制限はない

884:デフォルトの名無しさん
13/03/26 13:35:44.30
あえてPythonを使う積極的な理由はありますか?
どうせいやいや使ってるんでしょう?

885:デフォルトの名無しさん
13/03/26 14:12:26.12
このスレはこういう煽りに来たお客さんに真面目に答えてる馬鹿がいて偉いなあと思う

886:デフォルトの名無しさん
13/03/26 14:13:34.27
>>884
楽しいから
それだけ

887:デフォルトの名無しさん
13/03/26 14:14:03.29
>>884
俺はRuby/PHP/Perlがキモすぎて嫌だから。
適用分野はかぶっているので、Python嫌ならRuby/PHP/Perl使っとけばいいんじゃね?

888:デフォルトの名無しさん
13/03/26 14:14:58.05
>>885
それが「Pythonコミュニティー怖い」と言われる所以かもな。

889:デフォルトの名無しさん
13/03/26 14:52:09.74
コミュニティ障碍

890:871
13/03/26 16:38:40.97
>>886
同意。
キモいと言われるかもしれないが俺もPythonは楽しいです。
とっかかりは簡単でも奥が深い(俺が浅いのかも)言語だと信じてます。
objective-C、JAVA、JAVAscriptと挫折した俺だけど、Pythonではちょこちょこ作れてます。

891:デフォルトの名無しさん
13/03/26 22:38:10.15
Ubuntuに3系のPythonをインストールするともともと入っている2系とトラブルを起こすというレスを見たのですが、ソフトウェアセンターからのダウンロードでも状況は同じでしょうか?

892:デフォルトの名無しさん
13/03/26 22:51:34.35
>>891
問題は起きない
「python3」の名前でpathが通る

893:879
13/03/26 23:02:26.32
ありがとうございます

894:デフォルトの名無しさん
13/03/27 05:35:20.83
>>892
ありがとうございます。
これで安心してインストール出来ます。

895:デフォルトの名無しさん
13/03/27 15:05:10.25
>>890
Pythonは書きやすいし読みやすいからストレスが貯まり辛いよね
多分Rubyでも同じような印象を受けると思う
PythonとRubyはプログラミングの入り口に最適だと思う

>>891
ちなみにUbuntu12.10だとデフォルトでpython3.2が入ってるので楽だよ
「python3」で3系 「python」で2系にpathが通ってる

896:デフォルトの名無しさん
13/03/27 15:56:55.95
やはりpythonの本流は2.Xだな

897:デフォルトの名無しさん
13/03/27 16:05:57.26
>>895
本当に入ってました!
ありがとうございます。

898:デフォルトの名無しさん
13/03/27 18:40:07.30
疑っとったんかい!

899:デフォルトの名無しさん
13/03/27 21:31:23.64
>>898
いえ、嬉しかっただけです。

900:デフォルトの名無しさん
13/03/27 21:36:05.19
疑って掛かるのはいいことだぞ~
ここをどこだと思ってる

901:デフォルトの名無しさん
13/03/27 22:21:01.30
下のphpコードpythonでどう書くのか教えてください!

class A
{
private $str;
public function setStr($s){
$this->str = $s;
}

public function getStr(){
return $this->str;
}

protected test1($n) {
return ($n + 10) * 2;
}

private test2($n) {
return $n * 2;
}


}

902:デフォルトの名無しさん
13/03/27 22:26:18.39
class A:
 def __init__(self):
  self.__str = None
 def setStr(self, s):
  self.__str = s
 def getStr(self, s):
  return self.__str
 def test1(self, n):#protectedは無い
  return (n + 10) * 2
 def __test2(self, n):
  return n * 2

903:デフォルトの名無しさん
13/03/28 00:07:14.85
メソッド名がアンダースコアから始まるものは外部に非公開とみなすコーディングスタイルがある(pep8)

904:デフォルトの名無しさん
13/03/28 00:39:53.91
>>902-903
JavaとPHPからPythonくるとなんか違和感がありますがこういうものって覚えるしかなさそうですね
どうもありがとうございます

905:871
13/03/28 13:02:51.85
>>904

CとPythonしか書いたことのないあっしですが、上の例を拝見するとPHPよりPythonの方がすっきりしてるように見えるなぁ....。
まぁ、慣れの問題なんでしょうけど....。
やたらとself連呼なのが嫌だってアンチの人は言うけど、どうなんでしょね? 少なくとも、あっしは気になりませんが。

906:デフォルトの名無しさん
13/03/28 13:58:33.69
windows python3.3でpyyamlを使う場合はURLリンク(pyyaml.org)の中でどれをダウンロードしたらいいですか?

907:デフォルトの名無しさん
13/03/28 14:10:35.59
>>906
3.08以上のやつ

908:デフォルトの名無しさん
13/03/28 14:27:24.20
URLリンク(pyyaml.org)にセットアップ方法が書かれているのですが
PyYAML-3.10.zipをダウンロードしました
python setup.py install
python setup.py --with-libyaml install
ってやるとインストールようなんですが、たとえばPython3.3をアンインストールしたらpyyamlもアンインストールされるのですかね?
Pythonを入れなおした場合、またpyyamlはインストールしなおさないといけないのでしょうか?

909:デフォルトの名無しさん
13/03/28 14:34:54.21
>python setup.py --with-libyaml install
>ってやるとインストールようなんですが、たとえばPython3.3をアンインストールしたらpyyamlもアンインストールされるのですかね?

されない

>Pythonを入れなおした場合、またpyyamlはインストールしなおさないといけないのでしょうか?

しなおさないといけない

910:デフォルトの名無しさん
13/03/28 16:11:05.20
ありがとうございます

911:デフォルトの名無しさん
13/03/29 16:02:49.59
パーフェクトPythonを見ながらUbuntuにインストールしているのですが

$ apt-cache show python3 | grep 'Version'
$ sudo apt-get install python3.3 python3.3-dev

$ mkdir projects
$ cd projects

ここから先ができません。

$ pyvenv default
$ source default/bin/activate

$ wget URLリンク(python-distribute.org)
$ python distribute_setup.py
$ easy_install pip

912:デフォルトの名無しさん
13/03/29 20:54:27.59
>>911
書いてあるコマンドは実行できるよ
どこが出来ないのかわからないから人に伝える時の方法を教えよう

「このコマンドを打ったら」「こんなエラーが出ました」
「エラー内容:表示された英語全部(長い時は最初と最後の100文字くらい)」

913:デフォルトの名無しさん
13/03/29 22:17:09.44
CentOS6.4のpython2.6.6を使って、スクリプト内で__debug__の切り替えを行おうと思って、

#!/usr/bin/env PYTHONOPTIMIZE=1 python
print __debug__

みたいなファイルを作って実行すると固まるし、

#!/usr/bin/env python -O
print __debug__

みたいにすると「そのようなファイルやディレクトリはありません」と言われて動かない。
同じファイルを手元のMac(python2.7.3)で動かすと問題なく動くんだけど、なんででしょう?

914:デフォルトの名無しさん
13/03/29 22:47:59.29
自己レスです。
ググってたら、CentOSだと #! でのenvの引数は1つしか指定できないみたい。

原因は分かったけど、切り替えの解決法が分からない。
rubyだと

#!/bin/sh
exec ruby -x "$0" "$@"
#!ruby
puts 'Hello world!'

みたいな記法があるみたいだけど・・・・

915:デフォルトの名無しさん
13/03/29 23:52:24.99
自己レスです

#!/usr/bin/env bash
''''exec python -O -- "$0" ${1+"$@"} # '''
print __debug__

これで出来ました。

916:デフォルトの名無しさん
13/03/30 04:15:51.59
Python関係ないね

917:デフォルトの名無しさん
13/03/30 07:53:05.90
いや、シェルスクリプトとしてもPythonスクリプトとしても動くスクリプトになってる

918:911
13/03/30 11:03:45.47
>>912
説明不足ですみません
pyvenv コマンドが見つかりませんとでました

調べたら
pyvenv-3.3 default
でできました。

python distribute_setup.py
をすると

/local/bin /local/libにインストールされるバグ?
URLリンク(bugs.python.org)

easy_install pip
パスがないためインストールできないようです。

919:デフォルトの名無しさん
13/03/30 15:05:57.45
>>918
コマンド打ってエラー出たらそのエラー書かないと

ubuntuならeasy_install使いたいなら
$ sudo apt-get install python-setuptools

920:918
13/04/02 13:15:34.34
>>919
インストールしましたがpython3.3は未対応のようです。

921:デフォルトの名無しさん
13/04/02 20:17:54.74
ubuntuってpython3.2じゃない?3.3のパケジはPPAか何か?

922:デフォルトの名無しさん
13/04/02 20:30:48.26
調べたよ PPA Py3.3 Default, Py3.2 Supported
URLリンク(launchpad.net)

$ sudo add-apt-repository ppa:ubuntu-rebuilds/py3.3
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install python-pip

923:デフォルトの名無しさん
13/04/02 21:32:13.10
Linuxはこの辺がやたらと面倒だねえ
Windowsならインストーラ一個落として
Wクリ一発で済むのに

924:デフォルトの名無しさん
13/04/02 21:33:39.37
linuxでもyumですぐじゃん

925:デフォルトの名無しさん
13/04/02 21:37:38.77
>>923
いやこの辺はWindowsのほうがよっぽど面倒。

926:デフォルトの名無しさん
13/04/02 21:49:16.43
>>925
インストーラWクリの
どこがどう面倒なのか説得力ある説明よろしく

927:デフォルトの名無しさん
13/04/02 21:52:38.95
>>926
ボタンのある位置までマウスポインタを動かして、そこからずれない様に
マウスを固定しつつ、すばやく二度もクリックしなければいけないのに
どこがどう面倒じゃないのか説得力のある説明よろしく

928:デフォルトの名無しさん
13/04/02 21:55:48.52
そもそも「パーフェクトPython」を買ってLinux使っている人
の質問じゃないという
ここが超初心者スレであっても

929:デフォルトの名無しさん
13/04/02 22:00:58.86
>>923
>>911はWindowsだとWクリック一発で済むの?ほんと?

930:デフォルトの名無しさん
13/04/02 22:03:59.08
インストーラのウィザードをクリックで進めなきゃいけないよ
オプション選択もある

931:デフォルトの名無しさん
13/04/02 22:06:54.37
現にトラブってんだから大人しく窓使ってろって話

932:デフォルトの名無しさん
13/04/02 22:06:59.42
>>929
WindowsPCの一台くらい持ってるだろ?
やってみれよ。

933:デフォルトの名無しさん
13/04/02 22:13:06.44
Linuxは中でPythonが非常に重要な役割で動いてる
よってデフォルトじゃないバージョンを入れるには注意しないと環境が壊れる
WindowsはPythonがよそ者だから何をしても壊れない

934:デフォルトの名無しさん
13/04/02 22:13:16.10
本が意味も無くLinuxと3.3を薦めてんだろ
読んでないけど想像はつくな

935:デフォルトの名無しさん
13/04/02 22:18:45.89
パーフェクトPythonのLinuxの説明はめちゃくちゃ
良い子は真似すんなよ

936:デフォルトの名無しさん
13/04/02 22:20:07.06
気になるから立ち読みしてボロクソに批判しようかな

937:デフォルトの名無しさん
13/04/02 22:31:52.65
パーフェクトPythonは最後まで立ち読みしてきたけどクソ技術書だねこれ
読み終わった後レジの横にあったゴミ箱に捨ててきた

938:デフォルトの名無しさん
13/04/02 22:40:38.13
>>933
よそ者の在日民主が暴れても国は揺るがないが
自民が売国すると国が死ぬみたいなものだな

939:デフォルトの名無しさん
13/04/02 22:47:53.56
>>926
そもそもソフトごとのインストーラなんてものがない。
パッケージマネージャ使う。
新たにインスコしたければ、他のいろんなパッケージと同様にパッケージマネージャから
インスコしたいパッケージ選ぶだけ。
バージョンが上がればパッケージマネージャが他のパッケージと一緒にバージョンアップ
してくれる。
Lunixでpipやeasy_install使うのはパッケージマネージャの管理外になるので邪道。

>>933
使ったことない奴が何言ってんのよ。

940:デフォルトの名無しさん
13/04/02 22:50:48.42
パッケージリポジトリに登録されてるバージョンが最新じゃなかったりして
自分でビルドする羽目になるよね(´・ω・`)

941:デフォルトの名無しさん
13/04/02 22:54:48.43
Linuxは中でPythonが非常に重要な役割で動いてる
よってデフォルトじゃないバージョンを入れるには注意しないと環境が壊れる
自分で使うバージョンは自分でビルドしたほうが安心

942:デフォルトの名無しさん
13/04/02 22:55:13.43
>>939
こいつ使ったことない絶対w
pipはpipでアップデートするんだよw
パケジなんてなくても.tar.gzからでもインスト出来るし管理出来るかどうかだろ?
何が邪道だw Linux使えてない人が言うでない

943:デフォルトの名無しさん
13/04/02 23:04:36.89
ディストロのリポジトリに入ってるのが古かったり
Pythonのバージョン上げると問題が出てきたりするから
上の例ではvenvなんかで仮想環境を掘ってるんだろう

と思うんだけど本の現物を見てみないとなんとも

944:デフォルトの名無しさん
13/04/02 23:10:53.89
後方互換性無くしたバカは切腹しろ

945:デフォルトの名無しさん
13/04/02 23:40:26.88
>>942
Linux使ったことないおまいさんには理解できない世界かもしれんけど、
Linuxではそのシステムにインストールされてるパッケージは全部パッケージマネージャが管理するのが前提なんだよ。
パッケージマネージャが各パッケージの依存関係も管理するから。
pythonのパッケージもディストリビューションのリポジトリに入ってるのをパッケージマネージャでインスコする。
その範囲であればディストリビューションが動作を確認してることを意味する。
それ以外の手段でインスコしたパッケージは自分で管理しなければならない。
UbuntuなりFedoraなり大体のディストリビューションはウェブからリポジトリのパッケージ検索できるから確認してみそ。

946:デフォルトの名無しさん
13/04/02 23:43:08.79
いやいや独自のパッケージマネージャを使ってるPython使っといてそれはちょっと…

947:デフォルトの名無しさん
13/04/03 00:00:47.59
例えばブラウザのアドオン・拡張機能・プラグインは
独自インストールですしお寿司

948:デフォルトの名無しさん
13/04/03 00:05:37.80
>>918
(default) $ python distribute_setup.py
がうまくいったとして、

(default) $ echo $PATH
(default) $ ls -l default/bin
(default) $ which easy_install

の入力と出力それぞれ貼ってみて

949:デフォルトの名無しさん
13/04/03 00:39:10.40
バグほったらかしのdebとか産廃だから処分してくれないとなあ

950:デフォルトの名無しさん
13/04/03 00:48:12.94
つかメンテナが飽きて保守されなくなりました通知がマジで欲しい

951:918
13/04/03 09:36:07.17
>>948

$ echo $PATH
/home/ubuntu/projects/default/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

$ ls -l default/bin
合計 8
-rw-r--r-- 1 ubuntu ubuntu 2150 3月 29 10:33 activate
-rwxr-xr-x 1 ubuntu ubuntu 121 3月 29 10:33 pydoc
lrwxrwxrwx 1 ubuntu ubuntu 9 3月 29 10:33 python -> python3.3
lrwxrwxrwx 1 ubuntu ubuntu 9 3月 29 10:33 python3 -> python3.3
lrwxrwxrwx 1 ubuntu ubuntu 18 3月 29 10:33 python3.3 -> /usr/bin/python3.3

$ which easy_install
/usr/local/bin/easy_install

952:デフォルトの名無しさん
13/04/03 10:36:31.78
>>951
$ source default/bin/activate して仮想環境が有効になった状態で
(default) $ python distribute_setup.py したのなら
easy_install は default/bin に入るんじゃないかと思う

というわけで仮想環境が有効になっていない状態で
$ python distribute_setup.py した可能性はない?

953:デフォルトの名無しさん
13/04/03 11:40:03.30
>>911,918,920,951
おっと先に回答があったようですが
Python3.3のvenvを試す
URLリンク(ymotongpoo.hatenablog.com)

$ pyvenv-3.3 default
このコマンドで default/ というディレクトリを作成し
default/ 以下のPython環境を3.3としている

ただこれ、このディレクトリに入ったら自動でその環境になるわけではなく
そこに作られた default/bin/activate を読み込むことでその環境になる
$ default/bin/activate を実行すると仮想環境(今回は3.3)になり
環境から抜けるには $ deactivate
簡単に理解するには以下のようにインタプリタを呼び出してみるとわかる

$ default/bin/activate
----------------------------------------
(default) $ python
----------------------------------------
Python 3.3.0
>>> exit()

(default) $ deactivate
----------------------------------------
$ python
----------------------------------------
Python 2.7.3
>>> exit()

954:デフォルトの名無しさん
13/04/03 11:55:21.13
>>953
bin/activate は直接実行ではなく source しなきゃいけない
というか直接実行できないようになってるはず

955:デフォルトの名無しさん
13/04/03 12:01:07.74
$ python -V
Python 2.7.3
$

956:デフォルトの名無しさん
13/04/03 12:47:57.72
てかまだvirtualenv使ってる方がいい
pysetupもまだだし

957:918
13/04/03 14:10:35.24
>>952
ubuntuを再インストールして試してみましたが
/local/binにインストールされます。

コマンド

$ sudo apt-get install python3.3 python3.3-dev

$ mkdir projects
$ cd projects

$ pyvenv-3.3 default
$ source default/bin/activate

$ wget URLリンク(python-distribute.org)
$ python distribute_setup.py

958:デフォルトの名無しさん
13/04/03 15:27:10.10
>>957
source したらプロンプトの左側に (default) って出てない? 出てるなら端折らないで

出てる状態で su/sudo つけずに $ python distribute_setup.py して
/local/bin なんて場所に easy_install が入っちゃうのならお手上げ

959:918
13/04/03 16:27:41.62
>>958
$ sudo apt-get install python3.3 python3.3-dev

$ mkdir projects
$ cd projects

$ pyvenv-3.3 default
$ source default/bin/activate

(default) $ wget URLリンク(python-distribute.org)
(default) $ python distribute_setup.py

easy_installは/local/binにインストールされます。

(default) $ ./default/local/bin/easy_install pip

pipも/local/binにインストールされます。

960:デフォルトの名無しさん
13/04/03 17:04:05.97
su/sudoしてないのにインストールできるわけないじゃん

961:デフォルトの名無しさん
13/04/03 17:37:54.54
>>959
/local/bin って ./local/bin のことか…
やっつけな回避策でいいなら bin/activate を開いて

PATH="$VIRTUAL_ENV/bin:$PATH"
PATH="$VIRTUAL_ENV/local/bin:$PATH"

とかすればとりあえず local/bin にパスは通る

962:918
13/04/04 09:15:42.65
>>960
sudo すると
/usr/local/binに2.7がインストールされました。

963:デフォルトの名無しさん
13/04/04 09:16:28.12
>>961
説明不足ですみません。
pyvenvの状態では
(default) $
/home/ubuntu/projects/default/local/bin

にインストールされます。

$ pyvenv-3.3 --clear default

にすると環境全部消えるので書き換えたPATHも戻ってしまいますが
対策されるまでしばらくこれで使ってみます。
どうもありがとうございました。

964:デフォルトの名無しさん
13/04/04 09:40:13.01
sudo python3でやったか?

965:デフォルトの名無しさん
13/04/04 09:52:03.01
sudoしたらだめ。システムに影響が出ないようにvenvで仮想環境作ってるんだから

966:デフォルトの名無しさん
13/04/04 19:54:39.42
狙ったバージョンをOSにインスコするだけなのに
何日もかかるって…
UNIX系OSの暗黒面が大爆発している例だな。

967:デフォルトの名無しさん
13/04/04 20:07:26.02
>>953 のサイトのやり方なら問題ない
バグというか仕様なんだから
ubuntu で distribute_setup.py 使わなければOK
.tar.gz 落として setup.py install

968:829
13/04/04 20:39:35.04
クラスを要素に持ってたリストを消去するのに
hoge=[]と del hoge[:]で挙動が異なるんだなぁ、奥が深い....。この数日ハマった...。

969:968
13/04/04 20:41:04.90
↑すみません。829じゃないのに間違えました。

970:デフォルトの名無しさん
13/04/04 21:15:32.60
パッケージマネージャ使わないとか死ねよ
ぷんすか

971:デフォルトの名無しさん
13/04/04 21:18:40.02
死ねよは言い過ぎじゃ
>>953 のサイト見た?
pyvenv でヴァーチャル環境でローカルにインスコ出来て
--clear できれいサッパリ削除出来るってお得じゃないか

972:デフォルトの名無しさん
13/04/04 21:21:21.67
いや随分パッケージ管理システムにご執心な奴がいたから
気持ちを代弁してやっただけよ

973:918
13/04/05 09:52:58.94
>>967
ソースから入れても./local/binに入ります。

$ pyvenv-3.3 default
$ source default/bin/activate
$ curl -O "URLリンク(pypi.python.org)
$ tar xzf distribute-0.6.35.tar.gz
$ cd distribute-0.6.35
$ python setup.py install

974:デフォルトの名無しさん
13/04/05 13:24:41.23
>>973
python distribute_setup.py も結局 python setup.py install するのでそうなるだろう
ところで pip で入れたモジュールはちゃんと使えてる?

975:デフォルトの名無しさん
13/04/07 16:36:37.81
質問です
ある文字列 ( 0-9 a-f A-F のみが含まれる)
'123456789abcdeff0123456789abcdef' ...
から
[0x1234, 0x5678, 0x9abc, 0xdeff, 0x0123, 0x4567, 0x89ab, 0xcdef] ...
という 2byte 毎の値のリストを得るにはどんな書き方がありますか?
文字列の長さは常に 8 の倍数ですが最大の長さは不明です(どこまでも大きくなる可能性あり)

976:デフォルトの名無しさん
13/04/07 16:56:25.98
どこまでも大きくなるってのは例えばSocketStreamがReadしないとデータがあるかどうか分からないような状況を言っているのか?
それとも1024か32768か2^32か不明なだけで、処理するときには判明しているのか?

977:デフォルトの名無しさん
13/04/07 17:02:20.74
>>975
>>> s = '123456789abcdeff0123456789abcdef'
>>> [int(s[i:i+4], 16) for i in range(0, len(s), 4)]
[4660, 22136, 39612, 57087, 291, 17767, 35243, 52719]
>>> [hex(int(s[i:i+4], 16)) for i in range(0, len(s), 4)]
['0x1234', '0x5678', '0x9abc', '0xdeff', '0x123', '0x4567', '0x89ab', '0xcdef']

これでいいのかなあ。なんかやりたいこととは違う気がしなくもない

978:デフォルトの名無しさん
13/04/07 17:02:46.49
いや、そもそもPythonの文字列は長さが判明してないとおかしいから、
質問者が文字列から、と言っている以上、前者ではありえない。

['0x'+s[i:i+4] for i in range(0,len(s),4)]

979:デフォルトの名無しさん
13/04/07 17:06:10.24
f = StringIO(s)
[int(i, 16) for i in iter(lambda: f.read(4), '')]

980:デフォルトの名無しさん
13/04/07 17:07:42.97
import struct, binascii
struct.unpack('>%dh' % (len(s) / 4), binascii.a2b_hex(s))

981:デフォルトの名無しさん
13/04/07 17:13:59.20
みなさんありがとうございます
stream から読むのをイメージしていました
>>979 さんのが一番良いみたいです

あとお願いついでですが
'123456789abcdeff0123456789abcdef' ...
から
[(0x1234, 0x5678), (0x9abc, 0xdeff), (0x0123, 0x4567), (0x89ab, 0xcdef)] ...
の様にペアにしたタプルで得るにはどう書けば良いですか?

982:デフォルトの名無しさん
13/04/07 17:20:20.54
[(int(i, 16),int(j, 16)) for i,j in iter(lambda: (f.read(4),f.read(4)), ('',''))]

983:デフォルトの名無しさん
13/04/07 17:22:52.44
import StringIO, struct, binascii
s = '123456789abcdeff0123456789abcdef'
f = StringIO.StringIO(s)
[struct.unpack('>2h', binascii.a2b_hex(i)) for i in iter(lambda: f.read(8), '')]
[(4660, 22136), (-25924, -8449), (291, 17767), (-30293, -12817)]

984:デフォルトの名無しさん
13/04/07 17:28:53.08
くだすれPython(超初心者用) その17
スレリンク(tech板)

985:デフォルトの名無しさん
13/04/07 17:33:54.01
おつぱいそん

986:デフォルトの名無しさん
13/04/07 17:35:41.43
g = (int(i, 16) for i in iter(lambda: f.read(4), ''))
# itertools レシピのgrouper
list(itertools.izip_longest(*([g]*2), fillvalue=None))

987:デフォルトの名無しさん
13/04/07 17:46:08.46
int(i, 16) のところで符号付整数にするにはどうすればいい?

988:デフォルトの名無しさん
13/04/07 17:48:13.75
python3を積極的に導入する理由ってある?
python2でできない、あるいは難しいこととかあるのかな

989:デフォルトの名無しさん
13/04/07 17:50:09.54
ちょっと訂正
int(i, 16) のところで16ビット符号付整数にするにはどうすればいい?

990:デフォルトの名無しさん
13/04/07 17:57:27.42
32767より大きいなら65536を引く

991:デフォルトの名無しさん
13/04/07 18:03:21.42
それでもいいんだけど
int() になんか便利なオプションあるのかなと思って

992:デフォルトの名無しさん
13/04/07 18:04:41.99
>>982 >>983 >>986
出来ました
ありがとうございます

993:デフォルトの名無しさん
13/04/07 18:17:04.13
pythonはCのscanfみたいなのとかないのかな。

994:デフォルトの名無しさん
13/04/07 18:22:36.47
Python には現在のところ、scanf()に相当するものがありません。
約 1,220 件 (0.39 秒)

995:デフォルトの名無しさん
13/04/07 18:28:46.30
正規表現で大概のことは出来るんじゃないかなと思う

996:デフォルトの名無しさん
13/04/07 18:29:38.95
2から3に乗り換える利点は何ですか?

997:デフォルトの名無しさん
13/04/07 18:32:45.39
デメリットはお前のような奴がいることです

998:デフォルトの名無しさん
13/04/07 18:37:02.72
scanfって正規表現使えたっけ

999:デフォルトの名無しさん
13/04/07 18:37:46.57
>>991
無いよ。

1000:デフォルトの名無しさん
13/04/07 18:38:53.88
>>989
16bit目が1なら全bit反転して+1

1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch