くだすれPython(超初 ..
[2ch|▼Menu]
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
ふ、ふりぃおのどらいばを・・・

794:デフォルトの名無しさん
10/01/14 01:05:24
宿題スレ池ってレス以外みんなネタじゃないか

795:デフォルトの名無しさん
10/01/14 10:59:43
>>794
Editraはネタじゃないです

796:デフォルトの名無しさん
10/01/14 18:33:12
>>788
解答はしらないけど、
2つのディレクトリのパスを受け取って、
フォルダ構成やら中身のファイルやらが完全に一致しているかを
調べるPythonScript作ってください。



797:デフォルトの名無しさん
10/01/14 19:00:21
from filecmp import dircmp
import sys

d = dircmp(sys.argv[1], sys.argv[2])
d.report()

798:デフォルトの名無しさん
10/01/14 19:32:27
>>797
>〜.py aaa aaa
diff aaa aaa
って

799:760
10/01/14 19:35:22
>>787 もよろしくお願いします。


800:797
10/01/14 19:45:48
>>798
.report() じゃなくて、 .report_full_closure() ならどう?

801:798
10/01/14 19:59:10
中身にファイルを入れないと
>dircmp.py aaa bbb
diff aaa bbb
Only in aaa : 〜
Only in bbb : 〜
Identical files : 〜
Differing files : 〜
とかの詳細って表示されないってことを今 分かりました。

これで、全部が全く等しい時に
ディレクトリとして等しいよ!って表示してくれる機能はありませんでしょうか。


802:デフォルトの名無しさん
10/01/14 20:05:01
>>797
そんなのあるんだ
でもファイルの中身がちょっとだけ違ってて
サイズと日時が同じだったりしたらどうなんだろ

803:デフォルトの名無しさん
10/01/14 20:08:19
>全部が全く等しい

ディレクトリ(サブディレクトリ含)単位でhash値出すとか?

804:デフォルトの名無しさん
10/01/14 20:10:40
>>803
ファイルのhashは計算できるのですが、
ディレクトリのhashって計算できますか?


805:801
10/01/14 20:15:09
>>802
ファイル名が同じで日時はことなり、内容を1バイトだけ変えたファイルは
別のファイルだと検出されました。


806:デフォルトの名無しさん
10/01/14 20:45:05
>>805
それだと日時を見てるのか1バイトで引っかかったのか分からんがな

807:デフォルトの名無しさん
10/01/14 20:46:19
ディレクトリのhashはファイルのhashから求めればいいんじゃないかな

808:デフォルトの名無しさん
10/01/15 00:07:57
['a', 'b'] と [10, 20]から
{'a' : 10, 'b' : 20}を生成するみたいな方法ってありませんか?


809:デフォルトの名無しさん
10/01/15 00:11:30
dict(zip(['a', 'b'],[10, 20]))

810:760
10/01/15 05:55:20
くりかえしになりますが >>787 もホントによろしくお願いします。

811:デフォルトの名無しさん
10/01/15 06:23:26
口あけて待ってるだけじゃ誰も助けてくれん罠

812:デフォルトの名無しさん
10/01/15 08:35:58
>>809
ありがとう

813:デフォルトの名無しさん
10/01/15 12:48:24
Python3.1.1をWindows7 ultimate 64bitにインストールしたんだけど、
Fatal Python error: Py_Initialize: can't initialize sys standard streams
ImportError: No module named encodings.utf_8

とかいわれて機動出来ない。

どうすればいいか教えて!


814:デフォルトの名無しさん
10/01/15 16:14:00
>>810
numpy使ってる人少ないんだよな。
matplotlibスレのやつなら知ってるかもしれない。

815:760
10/01/15 16:38:30
>>814
スレをのぞきましたがたしかにnumpy の話題が出てますね。
ありがとうございます。逝ってきまつ。

816:デフォルトの名無しさん
10/01/15 22:52:19
文字列があって2文字列処理をしていくのですが、なにか素敵な書き方はありますか?
for c in s:
 としてフラグを使い2文字たまったら処理していくようにする

StringIOとread(2)を使う

re.splitで2文字の文字列のリストにしてfor文に突っ込む

がとりあえず思いつきました

817:デフォルトの名無しさん
10/01/15 23:04:27
for c1, c2 in zip(s[::2], s[1::2]) しか思いつかない

818:デフォルトの名無しさん
10/01/15 23:25:49
for c1, c2 in map(None, s[::2], s[1::2])

819:デフォルトの名無しさん
10/01/15 23:26:35
it = iter(s)
for c1, c2 in zip(it, it)

820:デフォルトの名無しさん
10/01/16 00:29:02
for x in range(0, len(s), 2)

とすると、s[x], s[x+1]で取り出せる。

821:デフォルトの名無しさん
10/01/16 00:32:36
for i in xrange(len(s) / 2):
c1, c2 = s[i*2], s[i*2 + 1]

822:デフォルトの名無しさん
10/01/16 00:33:45
おまえらみんなsの文字長が奇数だったときのこと考えてるか?

823:デフォルトの名無しさん
10/01/16 00:35:56
>>822
質問の条件には何も言われてないから
未定義で医院ジャマイカ

824:デフォルトの名無しさん
10/01/16 00:44:16
>>822
たしかsが奇数のときは
>>817は最後の文字を無視
>>818が最後の文字とNoneのペアを作る、だったかと。

825:デフォルトの名無しさん
10/01/16 00:48:04
>>819は無視。
>>820, >>821は例外だな。

826:デフォルトの名無しさん
10/01/16 00:48:33
みなさんありがとうございます
いろいろ方法があるんですね
参考になりました

>>820が私的に直感的なのでこれにしておこうと思います
文字列は偶数が保証されていたのでその点も問題無かったので






827:デフォルトの名無しさん
10/01/16 00:53:00
忘れた頃に何故か奇数のデータが混ざってて
例外が出て嵌ると

828:デフォルトの名無しさん
10/01/16 00:53:59
スライス使えばみんな幸せ♪

829:デフォルトの名無しさん
10/01/16 02:14:39
>>819
これいいね

>>> s = '0123456789'
>>> list(zip(*[iter(s), ] * 2))
[('0', '1'), ('2', '3'), ('4', '5'), ('6', '7'), ('8', '9')]
>>> s = '01234567890'
>>> list(zip(*[iter(s), ] * 2))
[('0', '1'), ('2', '3'), ('4', '5'), ('6', '7'), ('8', '9')]

しかし短くしようとするとどんどん直感的じゃなくなるんだよな

830:デフォルトの名無しさん
10/01/16 02:27:31
直感性を切ってまで短くするのはPython的じゃないね。
遊びでやるのは別かもしれんが

831:デフォルトの名無しさん
10/01/16 11:53:08
>>830
> 直感性を切ってまで短くするのはPython的じゃないね。
それは同意。
短いor早いのが好きならC/C++を使えと。


832:デフォルトの名無しさん
10/01/16 13:33:21
perlerがこっちを見ている
仲間にしますか?[Y/N]

833:デフォルトの名無しさん
10/01/16 16:47:37
こっち見んな

834:デフォルトの名無しさん
10/01/19 01:22:05
#!/usr/bin/env python
# coding: utf-8

import threading
import time

class hoge(threading.Thread):
def run(self):
for i in range(0, 10) :
print i
time.sleep(0.1)


for i in range(0, 10):
fuga = hoge()
fuga.start()


以前こんな感じにインスタンス生成しているのを見たことがあるんですが
同じ変数fugaを何度も使用してインスタンス生成しています
結果は予想を反して正常に動作をするんですが
こういう使い方をして問題とかは無いのでしょうか?


835:デフォルトの名無しさん
10/01/19 01:26:45
( ´ ▽ ` )問題ないよ。本当だよ。

836:デフォルトの名無しさん
10/01/19 01:31:31
delete fuga はしないほうがいい?

837:デフォルトの名無しさん
10/01/19 01:33:02
>>835
そうなんですか?
できればなぜ問題ないのか、
解説か説明しているサイトへ誘導してもらえないでしょうか?

調べ方が悪いのかググっても
見つからないのでおねがいします

838:デフォルトの名無しさん
10/01/19 01:54:36
>>837
ヒント: gbkr

839:デフォルトの名無しさん
10/01/19 02:16:24
>>834です
あれからデストラクタを使って、インスタンスが廃棄されるタイミングを調べたらシックリすることができました。
同じ変数にインスタンス生成しても、重複したインスタンスはループを抜けると自動的に消滅して最後に生成した
インスタンスだけが残ることがわかりました。
(ただしループ内で実効した処理がループを抜けた後も残っている場合は、処理が終了するまで廃棄しない)

#!/usr/bin/env python
# coding: utf-8

import threading
import time

class hoge(threading.Thread):
def __del__(self):
print 'destructor'

def run(self):
for i in range(0, 10) :
print i
time.sleep(0.1)

for i in range(0, 10):
fuga = hoge()
fuga.start()

time.sleep(4)
print 'piyo'

>>838
すみません。ヒントの意味が分かりません

レスに答えてくれてどうもありがとうございました

840:デフォルトの名無しさん
10/01/19 02:26:56
>>834です
>(ただしループ内で実効した処理がループを抜けた後も残っている場合は、処理が終了するまで廃棄しない)

これはスレッドを使用したときだけのようですね
失礼しました

841:デフォルトの名無しさん
10/01/19 03:50:23
ふとした疑問なのですが
map型に対しkeys()とvalues()を実行した際、その並び順は同じと考えて大丈夫でしょうか
(もちろん両者を実行する間に変更はありません)

items()でとってzipするべきでしょうか?

842:デフォルトの名無しさん
10/01/19 04:21:14
def func(**keys):
def func2(**keys):

って二つあって
funcが受け取った引数をそのままfunc2へと流したいんだがどう書いたらいい?

def func(**keys):
 func(keys)
みたいなこと




843:デフォルトの名無しさん
10/01/19 08:23:27
関数を別の変数に流し込んで
x = ....
func(x)
func2(x)
じゃダメなのか?

844:デフォルトの名無しさん
10/01/19 09:27:31
>>842
それで何か問題が?
名前無し引数にも対応するなら、
def func(*args, **kwargs):
  func2(*args, **kwargs)

845:デフォルトの名無しさん
10/01/19 13:44:50
>>843,844
自分で試してだめだったので質問したつもりだったのですが、ご指摘の通りやり直したらきちんと動きました
前回自分で試したときなにか別の理由で動かなかったものを勘違いしていたようです
どうもすいませんでした



846:デフォルトの名無しさん
10/01/19 13:56:02
class X():
 def func(self, **keys):
  print keys
 def func2(self, **keys):
  self.func(keys)

X().func2(x=10, y=20)

連投すいません
上の例だと上手くいかないのですが, どうやって渡したらいいのでしょうか?

847:デフォルトの名無しさん
10/01/19 13:58:02
self.func(**keys)

848:デフォルトの名無しさん
10/01/19 13:59:09
>>847
ありがとうございます

849:デフォルトの名無しさん
10/01/19 17:06:43
最近みんなのPythonを購入して遊んでいるのですが、PyScripterで実行したプログラムのPython Trutle Graphics
のウィンドウをマウスで動かそうとするとフリーズしてしまいます。かるくググってみてもWindows環境では昔からある症状と
あり解決手段を見つけられませんでした。そこで質問なのですがフリーズ回避の方法はありますか?

850:デフォルトの名無しさん
10/01/19 17:12:34
コマンド・プロンプトから実行する

851:デフォルトの名無しさん
10/01/19 19:45:29
>>849
とりあえず外部実行でやってみろ
Alt + F9 な


852:デフォルトの名無しさん
10/01/19 20:34:44
>>850
できれば軽量IDEのPyScripterを使いたかったものですから。

>>851
ありがとうございます。実行してみたところプログラムが終わるとウィンドウも閉じてしまうようで、期待した動作ではありませんでした。
設定項目も見つけられなかったので、素直にシェルを使おうと思います。

853:デフォルトの名無しさん
10/01/19 20:53:22
PyScripter は RPyC を利用したリモートデバッグができる。
セットアップが少々面倒だけど、一度セットアップしたら普通の
デバッグと同じ感じに使えるはず。
URLリンク(plaza.rakuten.co.jp)

854:デフォルトの名無しさん
10/01/20 13:16:46
>>851
ウィンドウが閉じてしまうのが嫌なら、最後に
raw_input("")
でも付けたら?

855:849です
10/01/20 15:47:57
>>853
私宛てですか?正直よく分からなかったです。

>>854
標準の実行をするとTurtle Graphicsのウィンドウは消えないのですが、IDEと被って見にくいので横にずらしたい。
→マウスで動かそうとするとフリーズ。
外部実行だと図形を書きおわったらTurtle Graphicsのウィンドウが消える。
→orz
raw_input("")は外部実行では効果がなかったです。

たんに from tutle import * で簡単なサンプル動かしてるだけなので、そこまで深刻な問題ではないのですが、
みなさんありがとうございます。


856:デフォルトの名無しさん
10/01/20 17:41:34
>>855
それフリーズしてるんじゃなくて
WM_PAINTが呼ばれていない
(あるいはメッセージループが回っていない)
だけだと思う
IDEのバグだろ

857:デフォルトの名無しさん
10/01/20 21:47:58
>>856
詳しくはわかりませんが、Win環境のPythonとPyScripterの相性のようです。

Python標準シェルとIPythonの挙動が違う意味がわからないので質問します。

Python IPython

>>>str = u"あ" >>>str = u"あ"

>>>type(str) >>>type(str)
<type 'unicode'> <type 'unicode'>

>>>str >>>str
u'\u3042 u'\x82\xa0'

>>>print str >>>print str
あ UnicodeEncodeError:'cp932'〜〜

1.u"あ"を代入した時点で、strはUnicode文字列型になっている
2.IPythonはstr参照時にUnicode文字列型を文字列型にエンコードしなおしている

と言う理解であってますか?そしてこれはバグですか?
URLリンク(dsas.blog.klab.org)の方法で解決するみたいなんですが
正当なやりかたなのか気になります。

858:デフォルトの名無しさん
10/01/20 21:55:37
すみません、体裁が…。

Python
>>>str = u"あ"
>>>type(str)
<type 'unicode'>
>>>str
u'\u3042
>>>print str


IPython
>>>str = u"あ"
>>>type(str)
<type 'unicode'>
>>>str
u'\x82\xa0'
>>>print str
UnicodeEncodeError:'cp932'〜〜



859:デフォルトの名無しさん
10/01/20 22:09:12
とりあえずstrという名前の変数に代入するセンスを疑う

860:デフォルトの名無しさん
10/01/20 22:12:30
>>857
IPythonのバグだと思う
リンク先の解決方法は
間違っては居ないが場当たり的だと思う


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

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