くだすれPython(超初 ..
[2ch|▼Menu]
596:デフォルトの名無しさん
09/12/28 10:44:34
>>595
ありがとうございます。
URLリンク(codepad.org)
これでxの値を7から-5に変更したら、
tは[x, x, x]で
aは[t, t, t]なので
t, aが共に変更されるのではないかと思うのですが、
実際は変更されません。
これは何故でしょうか。


597:デフォルトの名無しさん
09/12/28 11:15:04
>>596
これで納得してくれるかは怪しいけど

a = 1 # 名前 a は 1 を指す
a # 名前 a を評価する。評価して得られた値は 1
b = [a, a] # 名前 b は [a, a] を評価して得たリスト [1, 1] を指す
a = 2 # 名前 a は 2 を指す
b # 名前 b は相変わらず [1, 1] を指したまま

あと a = 1 は「名前は a を指す」って代入文であって数学の等式じゃないから気をつけて
a = 1; a = 2 なんてのも Python では成立する

598:デフォルトの名無しさん
09/12/28 11:29:24
>>596
リストはオブジェクトへの参照のリスト。
他の言語で参照というと変数への参照の場合があるけど、Pythonの場合は変数への参照は無い。

x = 7 # 7 という値のオブジェクト (A) を用意して、x が (A) を参照するようにする。
[x] # x が参照している (A) というオブジェクト一つを要素にしたリスト [ (A) ] を作る。このオブジェクトを(B) とする。
t = [x] * 3 # (B) を3回繰り返したリストのオブジェクトを作る。これを (C) とする。 (C) は [(A), (A), (A)] になる。 t に (C) への参照を代入する。
[t] # t が参照している (C) というオブジェクト一つを要素にしたリスト [ (C) ] つまり [ [ (A), (A), (A)] ] を作る。このオブジェクトを (D) とする。
a = [t] * 3 # (D) を3回繰り返したリストのオブジェクト [ (C), (C), (C) ] をつくる。このオブジェクトを (E) とする。

x = -5 # -5 という値のオブジェクト (F) を用意して、 x が (F) を参照するようにする。 (A) の値は変更されない。

結果として、 a が参照しているオブジェクト (E) の値は [(C), (C), (C)], t が参照しているオブジェクトは (C),
(C) の値は [(A), (A), (A)]. (A) の値は 7 のまま。

599:591=595=598
09/12/28 11:46:52
ちなみに、>>590はどの言語の経験があるの?
ベースとなる言語があれば、その言語で言えばどういう意味か説明に使える。

>>596 を Javaで書き換えると、

Integer x = Integer.fromInt(7); // x = 7

ArrayList<Object> t = new ArrayList<Object>();
for (int i = 0; i < 3; i++) t.add(x); // t = [x] * 3

ArrayList<Object> a = new ArrayList<Object>()
for (int i = 0; i < 3; ++i) a.add(t); // a = [t] * 3

x = Integer.fromInt(-5); // x = -5

Javaが判れば、xを書き換えてもaやtに影響ないのが判ると思う。

600:599
09/12/28 11:52:55
ごめん、 Integer.fromInt は Integer.valueOf の間違い。

JavaはPythonのオブジェクトを説明するのには向いているけど、
ここ5年以上マトモに使えてないので、文法エラーやメソッドのミスには目をつぶってくれ。

ちなみに、Pythonのオブジェクトを説明するのにJavaが向いている理由は、
整数と文字列がimmutableだから。
x = 7
y = 7
で x is y の結果が言語で規定されていない理由は、
Integer x = Integer.valueOf(7);
Integer y = Integer.valueOf(7);
x == y の結果が言語で規定されていない理由と同じ。

601:590
09/12/28 11:54:47
みなさまありがとうございます。
私はC++プログラマです。
そのため変数の型宣言がないPythonを学び、
ところどころで困惑してお世話になっております。

とても長くなったため私の現在の認識を自分でながめるために書き出してみました。
URLリンク(codepad.org)

Javaの経験はありませんが、ご教示いただいたJavaコードはC++な見方で
推測して拝見しました。
そことのアナロジーで解釈しても
この1.〜3.の解釈は正しいと思うのですが、
そうだとしますと
4.でt, aが変更される理由がまた分からなくなります。

どうして4.だけ変更されるのでしょうか?


602:600=methane
09/12/28 12:12:25
>>601
C++にはJavaのObject型みたいなのがないから、void*で代用するけど、こんな感じになる。 (キャストは省略)
x = 7
t = [x]*3
a = [t]*3

void *x = new int(7);

vector<void*> *t = new vector<void*>;
for (int i = 0; i < 3; ++i) t->push_back(x);

vector<void*> *a = new vector<void*>;
for (int i = 0; i < 3; ++i) a->push_back(t);

ここまでで初期状態。
じゃぁ、初期状態から t = 3.14 を C++ でいうと、
t = new double(3.14);
t が新しく別のオブジェクトをポイントするようになるだけで、 a[0]は、もともとtが指していた [7,7,7] を差し続ける。

つぎに、初期状態から a[0][0] = -5 を C++ でいうと、
(*((*a)[0]))[0] = -5;
t というポインタが指している vector オブジェクトの先頭要素を -5 に書き換えている。
で、tもaもポイントしている先は変わらないまま、tがポイントしているvectorオブジェクトの先頭要素だけを書き換えているので、
t と a の両方が影響を受ける。

603:methane
09/12/28 12:21:08
C++プログラマなら、Pythonの変数は全部C++でいうポインタ変数で、オブジェクトは全部
new やその他の手段でヒープ上に取られるという理解をすると良いと思う。

「参照」と呼んでいるのは全部ポインタのことで、

int a = 3;
int &x = a;
int *y = &a;

でいうところの a のような、変数と値が完全に束縛された存在が無い。
あとは、
a[0][0] = -5 がリスト「オブジェクトに対する変更」なのにたいして、
t = -5 がオブジェクトは全く変更されず、「ポインタ変数が別のアドレスを指すようになる」
という違いを把握できれば、一気に壁を突破できるはず。

604:590
09/12/28 12:27:42
>>602-603methane氏
C++に例えてくださりありがとうございました。
現在必死に読んでおります。


605:590
09/12/28 12:45:51
値は全て無名であると考えてよろしいですか?


606:methane
09/12/28 12:52:35
>>605
コード上に出てきた変数名と密結合しているオブジェクトが存在しないという意味であれば、すべて無名ですね。

def foo(): pass
bar = foo
del foo

したら、foo()できなくてbar()できるし、 class もモジュールもパッケージも、名前とオブジェクトの関係は全部同じです。

607:590
09/12/28 13:10:02
おかげさまで理解できたと思います。
つまり
 URLリンク(uproda.2ch-library.com)
こんなことになっているんですね。
(Wordファイルをzipで圧縮したもので
 DLキーはpythonです。)
この理解でよろしいでしょうか?

608:methane
09/12/28 13:31:10
>>607
5番が書きかけなのかな・・・
4番までは完全に正解。Good Job.

609:590
09/12/28 13:35:52
>>608
5.番は
 t[0]=−5
以外は4.と相違点ありません。
a[0][0]=-5とt[0]=−5が等価であるという事を言いたかった図です。
どうでしょうか。

610:デフォルトの名無しさん
09/12/28 13:37:57
>>571はダウト

611:methane
09/12/28 13:42:55
>>609
あぁ、4からコピーした後編集するの忘れてると勘違いしてました。
a[0][0] と t[0] は等価で図は完全一致で正解です。
図だと判りやすいですね。

612:デフォルトの名無しさん
09/12/28 13:44:10
>>590
a=[3,7]
b=a
a=a+[2,5]
print b
print a

a=[3,7]
b=a
a.append([2,5])
print b
print a

613:590
09/12/28 13:45:22
>>611
これでまた一つ壁を越えられた気がします。
methane氏、諸先輩方 どうもありがとうございました。


614:590
09/12/28 13:50:02
>>612
今となっては>>590の挙動についても納得しました。
aとbが同一の値(リスト)を指しているので、
 URLリンク(codepad.org)
こんな挙動になるわけですね。

615:デフォルトの名無しさん
09/12/28 14:03:43
ぬるぽ

616:デフォルトの名無しさん
09/12/28 18:57:49
ファイルのMD5ハッシュやSHA1ハッシュを表示するPythonスクリプト - MoreslowlyWiki
URLリンク(www.moreslowly.jp)
%AEMD5%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E3%82%84SHA1%E3%83%8F%E3%83%83%E3
%82%B7%E3%83%A5%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8BPython%E3%82%B9
%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88
このプログラムで、末尾で

if __name__ == '__main__':
 ここで処理

としているのは何故でしょうか?
このif文は何を意味するのですか?

617:デフォルトの名無しさん
09/12/28 19:07:03
モジュールとして他のファイルからimportされたときと
それ自身単独で実行されたときの動作を区別出来る
テストケース書くなり実行コードにするなり

618:デフォルトの名無しさん
09/12/28 19:11:29
>>617
おお、
なるほど。
ありがとうございました。

619:デフォルトの名無しさん
09/12/28 23:14:44
>>618
御礼言われたら照れるなあ

620:デフォルトの名無しさん
09/12/29 01:40:07
他人へのお礼で照れるとは

621:デフォルトの名無しさん
09/12/29 11:06:55
おなあ

622:デフォルトの名無しさん
09/12/29 11:08:59
りい

623:デフォルトの名無しさん
09/12/29 23:22:19
殿かよ

624:デフォルトの名無しさん
09/12/30 11:02:47
師走ですから

625:デフォルトの名無しさん
09/12/31 15:48:43
本年はまことにお世話になりました
来年は初心者スレから卒業したい。

626:デフォルトの名無しさん
10/01/01 00:27:24
あけましておめでとう

手元の習熟メモを見ると、学んでみようと思い立ったのは2006年らしいのに、
まだまださっぱりだぜ俺…

627:デフォルトの名無しさん
10/01/01 20:58:54
Python 2.6.4の(reモジュール等の)標準モジュールの中に、
ある文字列が正規表現として文法的に正しいかどうかを調べる
機能があれば教えていただけますでしょうか?


628:デフォルトの名無しさん
10/01/01 21:20:02
re.compile()を通せばre.errorが飛んでくるだろ

629:デフォルトの名無しさん
10/01/01 21:44:39
>>628
なるほど。
ありがとうございます。


630:デフォルトの名無しさん
10/01/05 16:50:58
これから1から勉強をはじめたいと思ってます
2.6と3.0と3.1とバージョンがありますが、3.x系は不評であると聞いております
互換性を気にしないのであれば3.x系から始めても問題ないでしょうか?

631:デフォルトの名無しさん
10/01/05 16:59:15
問題ないけど、まだ3.xに対応したライブラリ少ないよ

632:デフォルトの名無しさん
10/01/05 16:59:46
問題ないでしょう

633:デフォルトの名無しさん
10/01/05 17:11:44
ありがとうございます
PHP4みたいになると困るので3.1から始めたいと思います
英語のドキュメント読みながらやってみます

634:デフォルトの名無しさん
10/01/05 17:38:10
バカがバカを育てるわけだな

635:デフォルトの名無しさん
10/01/05 17:42:51
それでも2to3はPHPのバージョンアップよりは楽だと思う…

636:デフォルトの名無しさん
10/01/08 22:00:50
初めてのPython 第3版でPython3対応出来ますかね?

637:デフォルトの名無しさん
10/01/08 23:15:51
これから勉強するのに3からだとダメなの?

638:デフォルトの名無しさん
10/01/08 23:30:47
だめじゃないよ

639:デフォルトの名無しさん
10/01/10 04:47:01
だめじゃなくもなくないよ

640:デフォルトの名無しさん
10/01/10 05:13:40
外部ライブラリ使うとちと怖い
言語コアのみなら無問題

641:デフォルトの名無しさん
10/01/10 13:57:23
python.exeを起動してprint "hello world"と入力したのですが
以下の線の中の4行が表示されてしまいました

------------------------
File "stdin>", line 1
print "hello world"
               ^
SyntaxError: invalid syntax
------------------------


どなたか解決方法をご教授お願い致します

642:641
10/01/10 13:58:45
自己解決しました
print ("hello world")って書かないとダメだったんですね

643:デフォルトの名無しさん
10/01/10 14:11:10
Python3の日本語マニュアルってありませんか?

644:デフォルトの名無しさん
10/01/10 14:14:03
英語くらい読めよ
中学生か?

645:デフォルトの名無しさん
10/01/10 14:21:30
小学生です

646:デフォルトの名無しさん
10/01/10 14:41:41
ならしょうがない
英語もろくに読めないおっさんにならないように
中学校ではちゃんと英語勉強しろよ

647:デフォルトの名無しさん
10/01/10 14:49:37
釣りや騙りも見分けられるよう
空気も読めるようになった方がいいな

648:デフォルトの名無しさん
10/01/10 14:52:18
>>647
いやそれは自分に言えよww

足りない頭で良く読め。
>>646の書き方はわざわざ嫌みをつけた
書き方をしているうだろ?
つまり分かってやっていることだってのが何で分からないの?


649:デフォルトの名無しさん
10/01/10 14:55:31
>>648
いやそれは自分に言えよww

足りない頭で良く読め。
>>647の書き方はわざわざ嫌みをつけた
書き方をしているうだろ?
つまり分かってやっていることだってのが何で分からないの?

650:デフォルトの名無しさん
10/01/10 16:14:46
RuntimeError: maximum recursion depth exceeded

651:デフォルトの名無しさん
10/01/10 16:27:12
>>644
ここプログラム板
英語の板じゃないよ

652:デフォルトの名無しさん
10/01/10 16:38:29
>>651
だから何?
python3の日本語ドキュメントはあるの?
ないなら、英語で読むしかないじゃん
馬鹿か?

653:デフォルトの名無しさん
10/01/10 16:39:10
じゃあ翻訳してやればおk

654:デフォルトの名無しさん
10/01/10 16:42:39
>>652
>>650に答えろ

655:デフォルトの名無しさん
10/01/10 16:45:19
みんなどんだけストレス溜めてんだよ

656:デフォルトの名無しさん
10/01/10 16:46:10
>>646
書き込む所間違えてるよ
君が書き込むべき板は厨房板だと思うよ

657:デフォルトの名無しさん
10/01/10 16:47:45
なにこの低能力者板。
所詮P言語ユーザーなんてこんなレベルかwww

658:648
10/01/10 16:49:34
>>649
悔しいからってオウム返しは自閉症のやることだよw

659:デフォルトの名無しさん
10/01/10 16:53:47
ここまで643への回答ゼロ

660:デフォルトの名無しさん
10/01/10 17:00:46
まぁあれだよ、需要が無いから供給が無いんじゃないか?

661:デフォルトの名無しさん
10/01/10 17:03:59
>>643
まだ翻訳されてません

662:デフォルトの名無しさん
10/01/10 17:13:20
>>656
嫌味なやつだけど正論だろ
英語が読めないといろいろ苦労をする
暇な学生時代にもっと勉強しとけばよかった・・・

663:デフォルトの名無しさん
10/01/10 17:15:23
>>662
板違い

664:デフォルトの名無しさん
10/01/10 17:21:56
日本製Rubyは英語読めない馬鹿もウェルカムだよー^^
無理してPythonなんてやってないでみんなRubyにおいで

665:デフォルトの名無しさん
10/01/10 17:24:16
pythonのPyPIあたるもは、
Rubyには有るんですか?

666:デフォルトの名無しさん
10/01/10 17:39:39
>>665
日本語で

667:デフォルトの名無しさん
10/01/10 17:58:39
Ruby Gemsとか?

668:デフォルトの名無しさん
10/01/10 18:16:43
差別発言をするような奴にろくな奴はいない

669:デフォルトの名無しさん
10/01/10 18:20:39
最近キチガイが1人住み着いてから荒れてるな

670:デフォルトの名無しさん
10/01/10 18:21:22
>>664
英語日本語以前に、空気読めない人間はPythonに向いてないと思う。
特定の誰かに対した嫌みではなく。

671:デフォルトの名無しさん
10/01/10 18:42:34
>>668
差別発言?どこに?
>>669のことか?

672:デフォルトの名無しさん
10/01/10 18:47:35
くだスレを荒らすのはやめれ

673:デフォルトの名無しさん
10/01/10 19:43:22
>>672
くだスレが本当にくだらないスレになってる。

674:デフォルトの名無しさん
10/01/10 19:55:20
くだすれは'くだらないスレ'であって、
'救いようのないスレ'ではない。

675:> 673
10/01/10 19:58:56
>>674
いやそもそも、本当は
'くだらないスレ'じゃなくて
'くだらない質問をするためのスレ'
じゃないのか?

まあいいか。

676:デフォルトの名無しさん
10/01/10 20:00:19
Windows XP + Python2.6です。
変数strに文字列が代入されている状態で、
Windows XPのコマンドラインを実行することはできませんか?
C言語だと
system(str);
って言うやつが相当します。

677:デフォルトの名無しさん
10/01/10 20:08:24
Cのsystemと完全に一致するかは知らないけど
os.system(s)

678:デフォルトの名無しさん
10/01/10 20:09:03
あとstrは組み込み関数名なので避けたほうがいいかも

679:676
10/01/10 20:35:33
>>677-678
strを避けるべきとは知りませんでした。
ありがとうございます。

もう一つ、Windows XP + Python2.6上で。

3つの文字列str1, str2, str3があるとき、
あるプログラムX上から
 os.system(str1)
 os.system(str2)
 os.system(str3)
これらを同時に実行し、3つとも終わったら
Xを終了する
といったことは実現可能でしょうか?
実現するとしたら、どうすればできますでしょうか?
よろしくお願いします。


680:デフォルトの名無しさん
10/01/10 20:41:28
subprocess を使えばよろしい

681:デフォルトの名無しさん
10/01/10 20:48:02
>>679
subprocessモジュールを使う
ただしsubprocessモジュールは引数として文字列ではなく
argv形式のリストを取るので、もし元が文字列ならshlexあたりで分割汁
こんな感じだ

import shlex, subprocess

cmds = [shlex.split(s) for s in [str1, str2, str3]]
children = [subprocess.Popen(cmd) for cmd in cmds]
for p in children: p.wait()

682:679
10/01/10 20:57:46
>681
ありがとうございます。
教えを頼りに頑張って見ます。


683:デフォルトの名無しさん
10/01/10 21:05:00
>>681
ちなみに教えていただいたそのコード
のライセンスはどうすれば宜しいでしょうか?

684:デフォルトの名無しさん
10/01/10 21:06:18
>>683
ライセンスかw
どうでもいいので好きに汁

685:デフォルトの名無しさん
10/01/10 21:07:54
どうでもよくないよ
2chに書き込んだら2chの物になる

686:デフォルトの名無しさん
10/01/10 21:50:06
>>685
プログラムのソースコードを2chに書き込んだ場合、
そのライセンスは厳密にはどうなるんだろう?
・・・ってのはどこで聞けばいいかな?


687:デフォルトの名無しさん
10/01/10 21:55:43
初めて書き込む前に規約がでただろう。それを嫁

688:デフォルトの名無しさん
10/01/10 22:30:32
>>643
URLリンク(diveintopython3-ja.rdy.jp)

ただし未完成らしい。

689:デフォルトの名無しさん
10/01/10 22:33:04
>>688
ありがとうございます

690:デフォルトの名無しさん
10/01/10 22:43:41
>>687
> ・投稿者は、投稿に関して発生する責任が全て投稿者に帰すことを承諾します。
> ・投稿者は、話題と無関係な広告の投稿に関して、相応の費用を支払うことを承諾します
> ・投稿者は、投稿された内容及びこれに含まれる知的財産権、(著作権法第21条ないし
> 第28条に規定される権利も含む)その他の権利につき(第三者に対して再許諾する権利
> を含みます。)、掲示板運営者に対し、無償で譲渡することを承諾します。
> ただし、投稿が別に定める削除ガイドラインに該当する場合、投稿に関する知的財産権
> その他の権利、義務は一定期間投稿者に留保されます。
> ・掲示板運営者は、投稿者に対して日本国内外において無償で非独占的に複製、公衆送信
> 、頒布及び翻訳する権利を投稿者に許諾します。また、投稿者は掲示板運営者が指定する
> 第三者に対して、一切の権利(第三者に対して再許諾する権利を含みます)
> を許諾しないことを承諾します。
> ・投稿者は、掲示板運営者あるいはその指定する者に対して、著作者人格権を一切行使しないことを承諾します。

一方、2ちゃんねるのトップページには
> 2ちゃんねるのデータの利用に関して、原則的に自由ですが、
> 2ちゃんねるのデータ自体を利用して対価を取る行為はご遠慮下さい。
> 要するに、2ちゃんねるをモニターして、お金をとってる
> マーケティング会社の方はご相談頂けないと面倒なことになるかもしれません、、、ってことです。

ということで、例えば>>681が書いたソースコードの著作権は
>>681ではなく2chにあることになる。
また利用者は対価を取らない限り>>681の意志・意向を無視して勝手にそのソースコードを使っても良いことになる、


691:デフォルトの名無しさん
10/01/10 22:48:54
>>688
それマニュアルじゃないだろ(ww

692:デフォルトの名無しさん
10/01/10 22:52:06
>>690
てか>>681に著作権は発生しているのかい

693:690
10/01/10 22:54:49
>>692
どんなに短いソースコードでも、
いやソースコードですらなくコメントでも
発生しているよ。

しかも日本では著作権が発生することを拒否できないし、
著作権を放棄できない。


694:デフォルトの名無しさん
10/01/10 22:56:18
>>692
ちなみに君のその短い1文にすら著作権は発生しているよ。
ただし書き込んだ瞬間からその著作権の大半が2chのものになっているけど。

695:デフォルトの名無しさん
10/01/10 22:59:10
>>693
デマ乙
naoシフトを思い出すわ

696:デフォルトの名無しさん
10/01/10 22:59:36
>>693
そんなDQNめいたことが法廷であったのか!
実際にあるのなら大問題になるから判例挙げてくれ
もちろん根拠となる条文もね

697:デフォルトの名無しさん
10/01/10 23:00:46
どっちもウザい。いいかげんにしろ。

698:デフォルトの名無しさん
10/01/10 23:01:07
print ("Hello World")

690先生の言うとおりだとこれも著作権になるわなwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
ひーーーーーーーーーーハーーーーーーーーーーーーーーーwwwwwwwwwwwwwwwwwwwwwwwwwww

699:696
10/01/10 23:02:51
>>697
それもそうだな。吊ってくる

言うまでも無いがソースコードが著作物として認められるには創作性が必要
サンプル程度では認められない

700:デフォルトの名無しさん
10/01/10 23:05:08
二度と戻ってくるなよ。
ママのオッパイ吸って寝ろ。

701:693
10/01/10 23:07:26
いやいかなる短さのいかなるものでも著作権は発生するんだよ。
ただ法廷でそれを盾にして戦えるかどうかといえばまあ無理だろうがね。


702:デフォルトの名無しさん
10/01/10 23:10:30
例えば以下。


>>698
wの数で低能力者の程度が知れると言うが、そのとおりだな。

> print ("Hello World")
うん。発生するよ。
もう2chに書いちゃった後だからもうお前には著作権はないけど、
もし書く前だったとすると、
俺が print ("Hello World") というコードを別の所に書いたら
お前が俺を訴えることも可能。

ただし俺は当然、そのコードは俺が作った!と言い張るから
その短さなら俺が勝つことにはなるが。
要するに立証できないだけ。


703:デフォルトの名無しさん
10/01/10 23:11:19
そろそろ法律板でやったほうがいいかも

704:デフォルトの名無しさん
10/01/10 23:12:46
著作権論議をこのスレでやって欲しいとは思わないけど
2chに書き込んだコードに著作権がないと言い張る奴には
オープンソースから足を洗って欲しいとも思う。

705:デフォルトの名無しさん
10/01/10 23:15:34
すでに権利が他のところにあるものを書き込んだらどうなるの、っと

706:デフォルトの名無しさん
10/01/10 23:16:57
法律版に行けよ、OSSから足を洗ってからな

707:デフォルトの名無しさん
10/01/10 23:19:06
良かったな>>681よ、
君のソースコード、とても人気があるぞ。

708:デフォルトの名無しさん
10/01/10 23:23:17
>>705
あらゆる情報伝達が阻害されるな
常識の無い奴は法律かじらないで欲しいわ

709:デフォルトの名無しさん
10/01/11 00:15:59
>>707
>>681だがびっくりした
要するに皆暇なんだなw


710:デフォルトの名無しさん
10/01/11 00:16:42
なんでこんなに殺伐としてるんだ……

711:デフォルトの名無しさん
10/01/11 00:18:33
総当たりで文字列を生成して2chに書き込むシステムを作れば著作権は崩壊する

712:デフォルトの名無しさん
10/01/11 00:36:07
>>711
低能乙w

もしそれができるんなら
総当たりで文字列を生成して
自身のブログで公開すれば全て自分が著作権を握れてウマー

不可能だろ。バカじゃねぇの?お前。


713:デフォルトの名無しさん
10/01/11 00:40:24
自動生成と著作権は非常に難解で高度な問題だよ

714:デフォルトの名無しさん
10/01/11 00:55:18
ニートは引きこもってないで仕事しろって。
たけしが言ってた。

715:デフォルトの名無しさん
10/01/11 01:29:52
>>714
連休明けたら言われたとおり仕事探すんだぞ

716:デフォルトの名無しさん
10/01/11 03:09:25
連休明けとか思ってるからダメなんだよ。
すぐ行動しろや。

717:デフォルトの名無しさん
10/01/11 03:25:58
仕事を探す前に法律版に行けよ(ww

718:デフォルトの名無しさん
10/01/11 10:02:19
>>702
発生しねえよwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
お前naoシフト開発した池沼だろwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

719:デフォルトの名無しさん
10/01/11 10:09:21
>>718
       _, ._   気持ちはわかるけど
     ( ・ω・) いくらなんでも生やしすぎだも
     ○={=}〇, 
      |:::::::::\, ', ´
   、、、、し、、`(.@)wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww



720:デフォルトの名無しさん
10/01/11 10:13:51
なにこの隔離病棟

721:デフォルトの名無しさん
10/01/11 10:37:24
いつからここは隔離病棟になっちまったんだ...

722:デフォルトの名無しさん
10/01/11 10:41:33
質問が来ればまた正常営業に戻るよ

723:デフォルトの名無しさん
10/01/11 10:47:32
ニートはしょうがないな。

724:デフォルトの名無しさん
10/01/11 10:56:47
ニートは勉強会とか行ってる場合じゃないぞ。
すぐ逃げる癖をまず直さないと。

725:デフォルトの名無しさん
10/01/11 11:11:16
>>718
無能が草を生やした所で
誰一人の役にも 立たないんだよwww

726:デフォルトの名無しさん
10/01/11 11:19:13
てかprint ("Hello World")で著作権発生するとかネタ?それともマジで言ってる?

727:デフォルトの名無しさん
10/01/11 13:02:41
普通に考えて日本では作ったら発生する。
>>726
むしろそれで発生しないという根拠をしめせ。


728:デフォルトの名無しさん
10/01/11 13:14:01
草を刈る準備は万端だぞ

729:デフォルトの名無しさん
10/01/11 13:18:04
根拠を求める以前に,脳内にある根拠を外に出す方法を教えてくれ

730:デフォルトの名無しさん
10/01/11 18:06:24
print(1)

これは誰の著作権か教えてください

731:デフォルトの名無しさん
10/01/11 18:11:15
チャールズ・フロイ

732:デフォルトの名無しさん
10/01/11 18:15:03
著作権は草の数に比例する。

733:デフォルトの名無しさん
10/01/11 18:16:37
ふ〜ん・・・で?

734:デフォルトの名無しさん
10/01/11 18:39:46
本スレが荒れるとこっちが平和になる。
逆も然り。

735:デフォルトの名無しさん
10/01/11 19:36:29
730の著作権は俺にある。
文句がある奴は、730の著作権が俺にないという根拠を示せよ。

736:デフォルトの名無しさん
10/01/11 19:48:56
まだやんのかよ?w

737:デフォルトの名無しさん
10/01/11 20:29:48
print("こんにちは")

print("Hello Kitty")

print("こんにちは世界")

全部だれの著作権かよろ

738:デフォルトの名無しさん
10/01/11 20:31:35
イラストでもつけて公開しろよ

739:デフォルトの名無しさん
10/01/11 20:35:45
著作権のことだけで終わる連休
なんて生産的で有意義なんだろう!!

740:デフォルトの名無しさん
10/01/11 20:36:28
>>737
ちょっとレッシグさんに聞いてくるわ

741:デフォルトの名無しさん
10/01/11 21:04:19
>>737
737

742:デフォルトの名無しさん
10/01/11 23:46:03
独創性の無いものに著作権は発生しませんよ
プログラム作ってる人なら常識だと思うんだけど
まあネタで騒いでるんだろうな、つられちった

743:デフォルトの名無しさん
10/01/11 23:52:49
>>690の盛大な釣り
                         / ヽ
             >>690         ,/    ヽ
             . ∧_∧   ,/       ヽ
               ( ´∀`) ,/          ヽ
             (    つ@            ヽ
 .__          | | |                ヽ
 |―|        (__)_)                ヽ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|                 ヽ
/⌒\/⌒\/⌒\/⌒\|彡~゚ ゜~ ~。゜ ~ ~ ~ ~~ ~ ~~ ~ ~~ ~~ ~~
⌒\/⌒\/⌒\/⌒\/⌒\彡 〜 〜〜 〜〜 〜〜 〜 〜
                                     │
                                     │
                                     │
                  人人人人人人人       ∧J∧
                 <           >     ( / ⌒ヽ
                 < 吊られちゃった >      | |   | >>○
                 <           >      ∪ / ノ
                  ∨∨∨∨∨∨∨        | ||
                                    ∪∪ >>698

744:デフォルトの名無しさん
10/01/12 00:02:33
>>693みたいなのを中高生が信じちゃうといけないから
>>698達は覚悟のうえで釣られていったんだよ・・・

745:デフォルトの名無しさん
10/01/12 00:07:47
∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵。∴∵
∴∵∴∵:。∴∵∴∵∴: --─- ∴∵∴∵∴∵∴∵
∴∵゜∴∵∴∵∴∵  (___ )(___ ) >>698達 ∵。∴∵∵ ゜
∴∵∴∵∴:∵∴∵_ i/ = =ヽi ∴∵∴∵。∴∵∴
∴∵☆彡∴∵∵ //[||    」  ||] ∴:∵∴∵∴∵:∴∵
∴∵∴∵∴∵ / ヘ | |  ____,ヽ | | ∴:∵∴∵∴∵:∴∵
∴゚∴∵∴∵ /ヽ ノ    ヽ__./  ∴∵∴∵:∴∵∴∵
∴∵∴∵  く  /     三三三∠⌒> ∴:∵∴∵:∴∵
∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∵∴∵∴∵
   ∧∧   ∧∧  ∧∧   ∧∧
  (   )ゝ (   )ゝ(   )ゝ(   )ゝ 無茶しやがって・・・
   i⌒ /   i⌒ /  i⌒ /   i⌒ /
   三  |  三  |  三  |  三  |
   ∪ ∪  ∪ ∪  ∪ ∪  ∪ ∪
  三三   三三  三三  三三

746:デフォルトの名無しさん
10/01/12 02:51:38
着地点が見つけられなくて逆上したか?
独創性の定義次第では、print("Hello World")にも著作権が発生するわけだが。

747:デフォルトの名無しさん
10/01/12 02:58:55
>>746が裁判官あたりで法律の解釈を自由に決められるんならそうなるかもしれんな。

748:デフォルトの名無しさん
10/01/12 03:03:56
>>746
なんだ、結局著作権発生するんじゃん
アンチは完全否定しろよ
くだらないAA張ってる場合じゃないぞ

749:デフォルトの名無しさん
10/01/12 03:06:11
747は、746が裁判官でなくて法律の解釈を決められないことを証明する必要があるな。
頑張れ。応援しているぞ。

750:デフォルトの名無しさん
10/01/12 06:39:11
というかくだらない火種が
いつの間にか複数人vs複数人の争いになってきているな。

いいぞ、もっとやれ


751:デフォルトの名無しさん
10/01/12 08:14:14
定義次第ではって……そりゃ、殺人の定義次第では、道歩いただけで殺人になるよ。

752:デフォルトの名無しさん
10/01/12 08:43:32
質問です

空白で区切った文字列の二番目を分割して、税をかけて文字列を書きだしたいのですが
def add_tax(astring):
....item = astring.split()
....price = int(item[1]) * 1.1
....item[1] = str(int(price))
....return " ".join(item)
>>>add_tax("Good 1000 2009/1/11)
とやっても駄目だったので
def add_tax(astring):
....item = astring()
....price = int(item[1])
....item[1] = str(price)
....return item[1]
とすると文字列をそのまま返してくるのですが
price = int(item[1]) * 1.1
としても税をかけて文字列を返してくれません
どうすればいいでしょうか
あと、一番上の関数の最後の行 return " ".join(item)は
スペースを区切り文字として、シーケンス(()の内容)連結下文字列が出来上がるとなるのですが、
エラーになってしまったのでjoin()メゾットが何をしてるのかも詳しくお願いします

Python2.6.4です

753:デフォルトの名無しさん
10/01/12 09:01:28
質問キター

>>752
上のadd_taxがどう駄目だったのかわからない
入力と期待する戻り値と実際に返って来た戻り値を書いて

入力チェックとかをせず簡単に書くとすれば
>>> def add_tax(s):
... item = s.split()
... return '%s %d %s' % (item[0], int(item[1]) * 1.1, item[2])
>>> add_tax('Good 1000 2009/1/11')
'Good 1100 2009/1/11'

joinの説明はそれであってる
エラーになるならなんてエラー表示されたのか貼って

754:デフォルトの名無しさん
10/01/12 09:07:17
>>748
もう釣りはいいですよ

755:デフォルトの名無しさん
10/01/12 09:08:50
print(item) で、
['GOOD', 1100, '2009/01/11']  joinは失敗する、expected stringなのにintだから
['GOOD', '1100', '2009/01/11'] ならjoin出来る
ていうか出来たけどなぁ どこが違うんだろ。

>>> def add_tax(astring):
....item = astring.split()
....print(item)
....price = (int(item[1])*1.1)
....print(price)
....item[1] = str(int(price))
....print(item)
....return " ".join(item)

>>> add_tax("GOOD 1000 2009/01/11")
['GOOD', '1000', '2009/01/11']
1100.0
['GOOD', '1100', '2009/01/11']
'GOOD 1100 2009/01/11'
>>>

756:デフォルトの名無しさん
10/01/12 09:11:54
>>746
中学生とか高校生かあんたは
大人がそんなこと言ってるなら終わってるな

757:デフォルトの名無しさん
10/01/12 09:12:31
>>756
質問北からもうやめれ

758:デフォルトの名無しさん
10/01/12 09:18:00
こんにちは
おはようございます
こんばんは
おやすみなさい


これらも著作権が発生するんですね、笑えます

759:デフォルトの名無しさん
10/01/12 09:46:56
>>756
人のことはいいから、自分の痛さに敏感な人生を送ろうぜ。

760:デフォルトの名無しさん
10/01/12 10:01:12
集合知プログラミングのp39あたりを打ち込んでp40の

>>> clust=clusters.hcluster(data) を打つと

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "clusters.py", line 114, in hcluster
closest=distance(clust[0].vec,clust[1].vec)
TypeError: 'dict' object is not callable

とエラーが返ります。拾い読みで全部のコードを打ち込んでないのが
悪いのかもしれませんが、

closest=distance(clust[0].vec,clust[1].vec)

のclust

clust=[bicluster(rows[i],id=i) for i in range(len(rows))]
の biclusterは

class bicluster:
def __init__(self,vec,left=None,right=None,distance=0.0,id=None):
self.left=left
self.right=right
self.vec=vec
self.id=id
self.distance=distance
と打ち込んでいます。何が悪いんでしょうか教えてくだしあ。

761:デフォルトの名無しさん
10/01/12 10:18:55
>>760
> closest=distance(clust[0].vec,clust[1].vec)
のdistanceが関数名やクラス名等のcallableであることを期待してるんだろう
なのに辞書だから怒られてる
あと手打ちしなくてもオライリーからソースコード落とせるはずだよ

762:デフォルトの名無しさん
10/01/12 10:21:58
>>758
すばらしいポエムだ、感動した!!!
著作権をください!!!

763:デフォルトの名無しさん
10/01/12 10:44:04
distance と distances が混ざっていたのが原因でした。

ところでソースコードは
URLリンク(d.hatena.ne.jp)
で書かれてるところから落とせたんでしょうか、404です…
まぁ打ち込むのも勉強と思えばいいんですが。



764:デフォルトの名無しさん
10/01/12 10:54:50
>>763
英語版でよければ
URLリンク(examples.oreilly.com)

765:デフォルトの名無しさん
10/01/12 11:15:28
>>764
おお、ありがとうやっぱり楽な方がいいやw

766:デフォルトの名無しさん
10/01/12 11:33:58
>>753
ありがとうございます
後で張ります
待っててください

767:デフォルトの名無しさん
10/01/12 12:40:47
>>759
ガキはスグ反応してくれるね、フイタ

768:デフォルトの名無しさん
10/01/12 13:33:53
Python 3が後方互換性を捨ててでも求めたもの
URLリンク(www.atmarkit.co.jp)

↑これ読んだら、Python2が気持ち悪くてしょうがない。
Python2.6初めてまだ3日目、2.5のチュートリアル4章まで読んだんだけど、
>>688読んで、3からやった方がいいかな?

「誰もが正しいと考える、たった1つの方法をできる限り採用する
 (There should be one―and preferably only one―obvious way to do it)」
が今や、2系と3系で2つの方法が存在してるじゃんwww
アホの子なの?まじ、きめえええwwww

769:デフォルトの名無しさん
10/01/12 13:42:13
きめえならTIMTOWTDIでも驚き最小限でも好きな言語やったらいいよ
んでネタとしては本スレ向きだからそっちに書き込んでくれ

770:デフォルトの名無しさん
10/01/12 14:44:24
質問です。
他の言語で言うところの「構造体」をエミュレートする場合
辞書とクラスのどちらがいいのでしょうか?
静的言語ならクラスにしとけばコンパイル時エラーになりますが
Pythonだとどちらも実行時エラーになりますし・・・

771:デフォルトの名無しさん
10/01/12 14:50:00
僕はカッターナイフの形が気持ち悪くて仕方がありません。
だからいつも髪を切るときは包丁を使います。

772:デフォルトの名無しさん
10/01/12 14:54:19
辞書で構造体… myunionA1['Key01'] = 33.05 みたいにするのかな。
myUnionA1.var01 = 12  みたいなほうがやっぱり構造体っぽいんじゃないかな。
作り方や使い方にしても、「変数持ってるだけのクラス」でいいと思うし。

773:768
10/01/12 15:01:00
>>769
本スレいくわ

>>770
3日目の俺が答えてやろう。
構造体 → タプル でおk
Wikipedia項目リンク

774:デフォルトの名無しさん
10/01/12 15:05:12
>>770
単にデータの集合体に名前でアクセスできればいいのなら辞書かクラス
そのうち使い捨てで構わないのなら辞書、そうでないのならクラス

Cの構造体のように順序も保持したいのならnamed tuple
それか配列かタプルをクラスでラップして名前でアクセス

コンパイル時/実行時は例がないとちょっとわかんない

775:752
10/01/12 15:27:29
>>>add_tax("Good 1000 2009/1/11)
とやっても駄目だったので

の"が足りないところは気にしないでください
これがエラーの原因ではありません
もう一度自分で関数を定義したらできました

あと>>753さん
そんな記述の仕方もあるんですね
文字列フォーマットを使って指定した文字列を挿入する処理はこれから学ぶつもりですが、大変参考になります
コッチのほうが処理が解りやすいし短いですね
join()が何をするのかはわかってはいたんですけど、スペースを埋め込んで連結した文字を作るというのが
なかなかイメージが掴めなくて苦労してました
エラーは多分タイプミスのシンタックスエラーです
ありがとうございます

776:デフォルトの名無しさん
10/01/12 15:27:35
コンパイル時にできるだけ多くのエラーを拾いたいってことなら
どう書いても大差ないと思う

777:デフォルトの名無しさん
10/01/12 15:34:52
>>775
" ".join(リスト) は、" ".glue(リスト) だったほうが分かりやすいと思うんだよな
スペース文字のjoinメソッドというか、スペース文字が糊になって接着するメソッド

778:デフォルトの名無しさん
10/01/12 17:23:50
自分にとって分かりやすいことが、万人にとって分かりやすいこととは限らない。

779:デフォルトの名無しさん
10/01/12 20:59:53
phpのarray_mapみたいなのってpythonでどの関数使えばいいのでしょうか?

780:デフォルトの名無しさん
10/01/12 21:13:04
>>779
すでに定義されている関数を使うなら map、
y = map(func, x) # リストxの各要素に func を適用した結果のリストをyに代入する

専用に関数を定義するくらいなら 内包表記、
y = [z * 2 for z in x] # xの各要素に対して x * 2 した結果のリストを y に代入する

781:デフォルトの名無しさん
10/01/12 22:56:38
>>780
ありがとうございます

782:770
10/01/12 23:52:40
>>772
クラスの方が見た目的に他言語と共通してますしね

>>773
タプルはインデックスアクセスしか出来ないので・・・

>>774
>コンパイル時/実行時は例がないとちょっとわかんない
>>776さんの言ってることです。

>>776
やはりそうですか。

いろいろと意見ありがとうございました。
クラスを使えば構造体のメンバ一覧も明記できるので、辞書ではなくクラスを使うようにします。

783:デフォルトの名無しさん
10/01/13 00:41:54
>>782
既出だが、 Python 2.6 以上なら namedtuple がある。
namedtuple だと作成と同時に値が固定されてしまうけどね。

784:760
10/01/13 04:41:01
同じく「集合知プログラミング」で今度は10章をやっていますが、
p259の
weights,feat.nmf.factorize(v,pc=20,iter=50)
でNaNが出ます。

その上の
w,h= nmf.factorize(m1*m2,pc=3,iter=100)
は、21.99999822 とか多少誤差が出ることはありますがぴったりの時もあり
うまくいっています。

一応p247のfeedlistは吟味してp250の
>>>wordvec[0:10]が空になるものは、URL変わったのかなと思ってコメントアウトしました。
またp251のdrawdendrogramでascii以外が混ざってるっぽいエラーがでてたので、
そのフィードもコメントアウトしてデンドログラムは描画できました。

他にどこを確認すればいいでしょうか?



785:760
10/01/13 08:33:26
追記です。問題の非負値行列遠視分解ですが、変数で割り算をしてるのはここだけ↓です。
h=matrix(array(h)*array(hn)/array(hd))

w=matrix(array(w)*array(wn)/array(wd))

hdとwdをprintするようにしてみましたが、
[[ 0.02011069 0.02977744 0.02906954 ..., 0.02407994 0.02889659
0.02915037]
[ 0.01446606 0.02134596 0.02148551 ..., 0.01774882 0.02021706
0.02054283]
[ 0.01723484 0.02917753 0.02718492 ..., 0.02231427 0.02644232
0.0300849 ]
...,
[ 0.01144608 0.01790515 0.01683023 ..., 0.01426036 0.01676002
0.01819174]
[ 0.00750103 0.01223539 0.01129087 ..., 0.00934213 0.01090586
0.01224102]
[ 0.00230905 0.00371431 0.00355478 ..., 0.00290677 0.00371496
0.00378571]]
[[ NaN NaN NaN ..., NaN NaN NaN]
[ NaN NaN NaN ..., NaN NaN NaN]
[ NaN NaN NaN ..., NaN NaN NaN]
...,
[ NaN NaN NaN ..., NaN NaN NaN]
[ NaN NaN NaN ..., NaN NaN NaN]
[ NaN NaN NaN ..., NaN NaN NaN]]
と言う感じです。もとの行列に0が多すぎるのがいけないのかもしれませんが、
解こうとしている問題の性格上変えようがありません。どうにかならないでしょうか?

786:デフォルトの名無しさん
10/01/13 09:31:01
その程度の数の割り算でNaNになるはずはない

どっかでsqrtに負数を突っ込んでないか?

787:デフォルトの名無しさん
10/01/13 18:24:53
>>786
レスありがとうございます。>>764さんのURLから落とせる
nmf.pyを使っているだけなのですが、sqrtは見た目にはありません。

NumPyというパッケージを使っているのですが、それが問題でしょうか?
「集合知プログラミング」以外pythonの本は持ってなくてデバッグの
やり方とかも分かりません。Windows XP SP2 pythonのバージョンは2.6.4ですが、
なにかいい方法ありますでしょうか?

788:デフォルトの名無しさん
10/01/13 18:37:58
みんPyを読んだのだが…
簡単なツールでも作りたいな
なにかお題を出してくれる人いないっすか?
もち回答とだめだし希望

789:デフォルトの名無しさん
10/01/13 23:05:30
>>788
Editraの日本語入力を修正するパッチを作ってください

790:デフォルトの名無しさん
10/01/13 23:06:53
>>788
RDB(MS)
SQL文で管理するコレクション型みたいなもの(SQLiteみたいな)

理由>俺が欲しい。わりとマジで

791:デフォルトの名無しさん
10/01/13 23:13:09
>>788
スレリンク(tech板)
ここに行ってみれば?
きっと喜ぶよ。


792:デフォルトの名無しさん
10/01/14 00:34:45
>>787
にもレスくだしあ;;

793:デフォルトの名無しさん
10/01/14 00:58:35
>>788
ふ、ふりぃおのどらいばを・・・


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5298日前に更新/249 KB
担当:undef