1 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 01:27:53 ] Python オフィシャルサイト www.python.org/ 日本Pythonユーザ会 www.python.jp/Zope/ FrontPage - Pythonのお勉強 python.rdy.jp/ 前スレ pc11.2ch.net/test/read.cgi/tech/1201073019/l50 ◆関連スレッド Microsoft IronPython 1.0 pc11.2ch.net/test/read.cgi/tech/1157686822/ Python の宿題ここで答えます Part 1 pc11.2ch.net/test/read.cgi/tech/1153585095/ 2ch検索: [python] find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python ◆関連リンク Python 日本語ドキュメント - Pythonistaのお友達 www.python.jp/doc/release/ Pythonのバイブル的書籍 www.amazon.co.jp/dp/4797341815 その前編 www.amazon.co.jp/dp/4797341815
701 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 23:52:27 ] t=urllib.urlopen("http://〜〜").read().decode("utf-8")
702 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 23:58:58 ] >>700 入門書嫁。
703 名前:700 mailto:sage [2008/03/17(月) 00:39:43 ] 文字化けしない方法自己解決しました。すいません; ファイルの側をバイナリモードで開いて突っ込むだけでした。 open("hoge","wb")
704 名前:700 mailto:sage [2008/03/17(月) 02:02:00 ] >>701 ちゃんとレスが表示されてなくて見てませんでした。 それだとAsciiキャラクタじゃないから変換できませんよーってエラーがでます。 ironpythonではutf-8なんて定義されてないって出ました 僕の環境だけでしょうか・・・・?
705 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 10:23:43 ] >704 ところで Python のバージョンは?
706 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 11:14:09 ] また文字コードか
707 名前:デフォルトの名無しさん [2008/03/17(月) 11:45:17 ] 文字コードの諸問題もテンプラに入れて初心者が醤油と大根おろしで美味しく食せるようにするべき
708 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 12:33:53 ] pythonce mobileとpythonce smartphoneってどうちがうんですか?
709 名前:デフォルトの名無しさん [2008/03/17(月) 15:04:11 ] 正直文字コードをうまく扱えないやつはPython使うなといいたい。 Rubyのがはるかに先を行っている
710 名前:デフォルトの名無しさん [2008/03/17(月) 16:00:43 ] どう先を行っているの? 煽りじゃなくてマジで知りたい。 しかしRubyを学ぶのは断る!
711 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 16:11:21 ] ほんとどの言語使っても文字コード絡みはネックだなー Pythonに限った話しじゃないけど、文字コードの仕組みというか原理というかを完全に理解してる方たちは、 悩まずプログラミング出来てますか? なんかいっつも日本人可哀想だなーって思ってしまう俺がアホなだけ?? 一回とことん文字コードについて勉強したほうがいいんかなー
712 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 16:17:39 ] 文字列は基本unicode、strは単なるバイト列(≒I/O用) なんもややこしいことはない。
713 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 17:54:59 ] >>711 unicodeへのエンコードモジュールを自分で作ってみ。
714 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 18:14:19 ] u'ほげほげ' を勝手に UTF-8 だと思い込んでいるひとが意外と多い それがすべての間違いの元
715 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 19:07:39 ] >>> a="タ" >>> if a in "[ぁ-んァ-ン]": print "true" ... else: print "false" 文字列が、ひらがな、もしくはカタカナだと 判定するにはどうしたら良いですか? 上記のだとうまくいかない…
716 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 19:47:50 ] if a in [c for c in u'ぁ-んァ-ン']: print "true" else: print "false"
717 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 20:02:05 ] >>716 >>> for e in u"ぁ-ん": ... print e, ... ぁ - ん >>> for e in [c for c in u"ぁ-ん"]: ... print e ぁ - ん できないジャン
718 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 20:07:45 ] print re.match(ur"[ぁ-んァ-ン]", u"タ") is not None
719 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 20:09:33 ] >>> for i in unicode('あア亜', 'mbcs'): print unicodedata.name(i) HIRAGANA LETTER A KATAKANA LETTER A CJK UNIFIED IDEOGRAPH-4E9C
720 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 20:39:32 ] c = u'タ' if u'ぁ' <= c <= u'ん' or u'ァ' <= c <= u'ン': print "true" else: print "false"
721 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 21:20:48 ] 見た感じ、unicodedata使うのが綺麗っぽいかな。
722 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 21:24:56 ] >>707 おっと、いい天ぷらは塩だけでいけるぜ
723 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 22:06:51 ] 手元のベンチマークだと一文字だと比較 : 正規表現 : unicodedata = 1 : 2 : 2.5くらい 複数文字の文字列だと長ければ長いほど正規表現が抜群に速い (PythonのループはCと比べてかなり遅い)
724 名前:デフォルトの名無しさん [2008/03/17(月) 22:33:13 ] py2exe を使った場合、完全にその exe ファイルだけで 動くのでしょうか。それとも何らかの DLL などが必要なんでしょうか。
725 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 02:03:06 ] DLLも一緒にパックされる
726 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 08:15:55 ] Python的ヒエラルキーは 汚いけど速い<<<綺麗 汚いけど速い>綺麗だけどかなり遅い だろ
727 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 13:55:08 ] www.python.org/dev/peps/pep-0361/ 2.6, 3.0の正式リリースは9/3予定だって
728 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 15:25:07 ] ひげぽんがPythonのネガティブキャンペーンしてる。 最も todo と fix meが多いプログラミング言語は Python かもしれない d.hatena.ne.jp/higepon/20080317/1205768303
729 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 16:06:56 ] ToDoが明確になっているのはよいことじゃないかな? 何もないままいい加減なコードを書かれるよりずっとまし。 Pythonの人って被害妄想が強すぎる。だからいじめられるんだよ。
730 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 16:19:40 ] >>729 同意。ネガキャンというほどの内容でもないよね。
731 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 18:53:31 ] >>729-730 そうか。社内のPythonハッカーと抗争を始めたのかと早とちりして しまったよ。
732 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 19:01:10 ] >>731 西尾さんとは仲いいしそんなことはないっしょ
733 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 19:05:52 ] >>728 どう見てもなんとなく書いてみました風の記事なんですが
734 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 19:51:59 ] 早とちりしたのは西尾さん本人説。
735 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 19:53:26 ] >>729 TODOは 現時点ではこのコードは書けない 余裕のある時にやろう 汚いコードを書いていることに対する言い訳 と書いてますよ
736 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 19:56:14 ] 負け犬意識で頭がいっぱいのPython使いに栄光あれ!
737 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 20:02:41 ] こんなネタでしか盛り上がれないPythonスレの住人はバカだな。 PHPに帰れよ。
738 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 20:13:11 ] いやいや、Pythonにネガティブだったり無視したりけしからんと 言う奴は、頭でっかちで使えない人とか老害の域に達した技術者に 多いので、Pythonに対する態度でその技術者の成長の余地が測れ るのよ。
739 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 20:49:51 ] いやいや、PHPにネガティブだったり無視したりけしからんと 言う奴は、頭でっかちで使えない人とか老害の域に達した技術者に 多いので、PHPに対する態度でその技術者の成長の余地が測れ るのよ。
740 名前:デフォルトの名無しさん [2008/03/18(火) 20:59:36 ] ToDoって書いてあったらだめって? あふぉですか?こいつは。
741 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 21:12:02 ] 誰もだめとは言っていないとおもいますが あふ(ry
742 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 21:21:22 ] >>740 にしおさんにそんなこといってはいけませ〜ん!
743 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 21:23:01 ] 質問 list=[('apple', 1),('banana',2),('orange',3)] タプルの一番目の要素をキーにして ソートするにはどうしたら良いでしょうか?
744 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 21:26:01 ] list.sort() でいいじゃん
745 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 21:31:59 ] listという名前の変数に代入するなと(ry 汎用的なやり方としては(タプルの二番目の要素でソートする例) L=[('apple', 3),('banana',2),('orange',1)] L.sort(key=lambda x: x[1])
746 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 21:32:28 ] >>743 ここ辺りが参考になるかも ttp://morchin.sakura.ne.jp/effective_python/sort.html
747 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 21:39:41 ] 743みたいなネタで引っかかるやつ、いるよな。 基本的なところで引っかかって先に進めないようなやつは、 フレームワークを使いこなせるようになるまで、100年くらいかかったりするのだろうか。
748 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 22:35:12 ] 作り直した方がマシというフレームワークに こと欠かさないだろ。
749 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 22:40:15 ] >>715-717 そもそも、ぁ-んァ-ンはただの文字列。
750 名前:749 mailto:sage [2008/03/18(火) 22:41:32 ] スマソ。途中で書き込んじゃった。 >>715-717 そもそも、ぁ-んァ-ンはただの文字列。 unicodeの平仮名と片仮名全部出力できれば・・・・・・
751 名前:749 mailto:sage [2008/03/18(火) 22:44:03 ] >>743 .soat()に第一引数として、関数を与えるとその関数で判定を行います。 判定用関数には二つの引数が渡されるので、 def S:
752 名前:751 mailto:sage [2008/03/18(火) 22:45:38 ] またやっちまったorz インデントの習慣で・・・・・・ .soat()に第一引数として、関数を与えるとその関数で判定を行います。 判定用関数には二つの引数が渡されるので、 def S(A,B): return cmp(A[1],B[1]) とすればおk
753 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 22:48:21 ] Sorting Mini-HOWTO (和訳) ttp://www.python.jp/Zope/articles/tips/sorthowto 関数を渡すって言うのがピンとこなかったら ここでわかるようになるまで頑張っておく価値あり
754 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 22:59:32 ] >>751-753 この方法は旧式。遅い。 >>745-746 こっちが新式。早い。 つうか新式紹介した後に旧式を紹介してるやつはなんなの?
755 名前:753 mailto:sage [2008/03/18(火) 23:19:38 ] 不勉強でした。許して
756 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 23:24:14 ] >>745 の状況ではlambda使うよりはoperator.itemgetter(1)が好きだな
757 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 23:55:07 ] ttp://www.python.org/dev/peps/pep-0361/ 2.6 と 3.0 は同時リリースなのか
758 名前:sort ⇒ 整列 mailto:sage [2008/03/19(水) 09:14:15 ] soat() ってナニ?
759 名前:751 mailto:sage [2008/03/19(水) 09:28:55 ] >>758 sort()だとおもわれ
760 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 09:59:55 ] >>749-750 for k in range(0x3040, 0x3100): try: print '%04x, %c' % (k, unichr(k)) except: print '%04x, None' % k
761 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 11:15:10 ] こんな関数を作ったらどうだろう def expand_char(s): i = 0 _chr = unichr if type(s) is unicode else chr _len = len(s) while i < _len: if s[i] == '\\': yield s[i+1] i += 2 elif i + 2 < _len and s[i+1] == '-': for j in xrange(ord(s[i]), ord(s[i+2])+1): yield _chr(j) i += 3 else: yield s[i] i += 1 for i in expand_char(u'ぁ-ん'): print '%x: %s' % (ord(i), i)
762 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 13:42:50 ] type() is じゃなくて isinstance 使えっていつも言ってんだろ 素直に unicodedata 使えよ
763 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 13:55:04 ] >>762 なんぞそれ
764 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 13:58:06 ] ininstanceのほうがいいね。しばらく使ってないと忘れるなあ
765 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 17:57:01 ] isinstanceなら継承関係も考慮してくれるしな
766 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 18:35:41 ] 「入門書も読めないゆとりが集まるスレ」に名前を変更した方がいいな
767 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 19:33:39 ] 「煽り一行書くだけしかできない生産性の無いゆとりが集まるスレ」に名前変えたほうがいいな
768 名前:デフォルトの名無しさん [2008/03/19(水) 19:43:08 ] 人間の頭なんて大差ないんだよ。 やるか、やらないか、それだけの違い。 毎日少しずつでも前進してる奴と、 毎日言い訳を考えて何もしない奴とでは差がついて当然。 たいしたことを思いつこうが、思いつくまいがそんなのどうでもいい。 出来ない奴を馬鹿にする奴はどうせたいした事無いから。 出来ない奴に対して自慢したいだけなんだよ。 やりたい事、目標を見つけて少しでも前進する事。 覚える事がさしあたって100あるなら1つずつ覚えていけばいいだけじゃないか。 一度に100覚えられないから漏れは駄目なんだと思ってるんじゃないのか? それは天才がやる事であって、凡人は1つずつやっていけば良いんだよ。 努力する癖を習得するんだ。
769 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 20:06:14 ] 挫折なんかしたことないなあ。分からなくなったことはあるが 色々試したりしてずっとやってたら分かったし。 挫折したとか言ってる人は自分で勝手に挫折したと決めている だけなのでは? 分かるまでずっとやってりゃそのうち分かるよ。 諦めなきゃ良いだけ。 いつまで経ってもできないという場合は本当は自分のやりたく ないことなのかも知れないけどな。そういう場合はやめてみれば いい。だがそれを「挫折」と呼んではいけない。それは単に やめただけだ。
770 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 20:19:24 ] FizzBuzz問題 1から100までの数字を出力する。ただし、 3の倍数のときは数字のかわりにFizz 5の倍数のときは数字のかわりにBuzz 15の倍数のときは、FizzBuzzと出力する。 これはここの人にはどう捉えられるのかちょっと知りたいな。
771 名前:デフォルトの名無しさん [2008/03/19(水) 20:21:38 ] >>770 それ、問題か? hello, world と同じレベルじゃねえか。
772 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 20:21:43 ] >>770 ガイシュツ
773 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 20:24:04 ] >>768 1%の才能と99%の努力が大切なのですが その1%の才能すら持ち合わせていない人が大勢います あなたもそのうちのひとりであることはほぼ間違いありません
774 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 20:25:11 ] >>770 簡単すぎて素直な回答を出したら低能だと言われそうで怖い問題。 出題者がビット演算とかトリッキーな回答を要求してるのではないかと 勘繰ってドツボにはまる。
775 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 20:26:28 ] 普通に書いたあとググっていかに短くできるか考え続けるだけ
776 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 20:28:43 ] >>774 有名なプログラマーもどき除け問題だけどタイプ可能な文字数の制限があったり十進じゃなかったりすると面白いのかな
777 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 20:38:58 ] コード書くのが好きで飯もいらないときがある、 別にこれで食っていこうとかは思わないけど趣味の範疇ならほんと楽しい。 素人だし下手糞なりに人に教えもしたけど、大体の奴は途中で飽きてやめていく。 そういう奴らは、読解力とか理解力なんかが足りないというか、 自分で調べる気がないというか。 別に馬鹿にしてるわけじゃないけど、そういうこと好きじゃないなら 無理してプログラムなんてやらなくてもいいんじゃないかな?
778 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 20:48:30 ] プログラミングって、実行させてはエラー出して、その度に調べて、って 根気良く続けるのが重要だと思う。 ちょっと上達してきて、エラー出すのが恐くなって、実行させるのが 億劫になったとき、成長が少し止まった気がした。 「とにかくやってみる」ことは武器の一つだと、小学校のときの先生が言っていた。 何つーか、動くコードを知るだけじゃなくて、動かないコードを知ることも 実は重要なんだよな。 要はエラーを恐れるなってこと。
779 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 21:11:10 ] なんでID出ないんだろうこの板
780 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 21:13:05 ] 人間だもの 人間だもの 人間だもの へびお
781 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 21:49:38 ] [[i,'Fizz','Buzz','FizzBuzz\n'][[3,0,0,1,0,2,1,0,0,1,2,0,1,0,0][i%15]]for i in xrange(1,101)]
782 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 21:54:01 ] for n in [[i,'Fizz','Buzz','FizzBuzz\n'][[3,0,0,1,0,2,1,0,0,1,2,0,1,0,0][i%15]]for i in xrange(1,101)]: print n,
783 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 21:57:15 ] print open("answer.txt").read()
784 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 22:02:51 ] for i in range(100):print i%3/2*"Fizz"+i%5/4*"Buzz"or-~i
785 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 22:04:16 ] python -c "__import__('webbrowser').open('www.google.com/search?q=python+fizzbuzz&btnI=I%27m+Feeling+Lucky ')"
786 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 22:49:43 ] 「入門書を読めない文盲のゆとりがポエムを貼り付けるスレ」に変更しませんか?
787 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 22:50:29 ] アンチスレと交換するだけでいいと思うよ
788 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 22:56:35 ] 早く恥パイの第3版の和訳だせボケ もう2.6出てんのに。
789 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 23:03:21 ] >>788 だから出ないんだって。 ソースな↓ ttp://tinyurl.com/23y5e
790 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 23:06:42 ] >>770 応用編 「3の倍数と3の付く数字だけアホになり、8の倍数だけ気持ち良くなります」
791 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 23:10:57 ] >>789 これは信頼できるソースだな
792 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 23:16:23 ] >>790 俺も言おうと思っていたが先越された
793 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 23:18:58 ] >>> import urllib2 >>> urllib2.urlopen("tinyurl.com/23y5e ").url 'www.bulldog.co.jp/ '
794 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 01:01:25 ] >>792 やっぱり '3' in str(i) がキホン?
795 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 07:51:38 ] FizzBuzz問題って色んなバージョンあるんだね ttp://ja.wikipedia.org/wiki/%E6%B8%A1%E8%BE%BA%E9%90%98
796 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 11:57:56 ] 問題をアレンジして 3の倍数および3がつく時、アホになる に変えてみると?
797 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 12:24:06 ] for i in range(100):print (i%3/2or(-~i/10==3)or(-~i%10==3))*'Aho'or-~i
798 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 12:28:04 ] -~i何度も使うならこっちの方が短いね for i in range(1,101):print (i%3==0or(i/10==3)or(i%10==3))*'Aho'or i
799 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 12:40:04 ] しね
800 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 14:14:31 ] x%y==0 は、x%y<1の方が短い あと、(i/10==3)or(i%10==3)だったら'3'in`i`が短い