1 :
デフォルトの名無しさん :
2006/09/11(月) 23:21:12
おっ、Pythonスレだ。
IronPythonの話題があまり出ないね。 このスレの住民はもっと抽象的な話題の方が好きなのだろうか。 自分は某Blogを参考に遊んでる。楽しい。
,r::::::.... ヽ:::, -── - 、:::ヽ::.ヽ ヽ
| ,' .: :, ‐' ヽ::ヽ:}i: l
!:::...i/ .::/ , -―ヽ:i::! !: !
│ { ..:::| __ ' リレ!| !l
| i .:ヽヘゝ´ ` イかリk|:: |:| !
!| | { |`ー ,イ丞テミ 弋zソ '|::: !i !
.!|.:|!::ヽ| ::|`弋zソ !:: |::|l
l !::!..::::::| ::|.、 t ― v7 !::. !=' ニニ≠ 、
,'//_,. -┤ ::l..\ ` ‐ ‐' /.!::: !‐'´ ̄ へヽヽ__
// ィ二.| :::!:::...`>ー- イ, .::!: |`! ヾ=、、ヽ
.///r' | :::l::::::::...\ /.:: !:: |│ ,' , ヾ `
/ ' /丶: | :::| ::....ヘ / .!::: | .| / /
/‐'´ \:. | ::::! ,, =、 > l〃~|:::: !.┘ / '
|__/_ | \ヽヽ ―┼―
/ | / ヽ  ̄| ̄ヽ \ |
| | / | / │ --、 ゝ
ヽ_/ヽ ノ / ヽノ ノ \_
___ __
/ | __ /
/ | ├‐ /⌒ヽ
/ | __| )
>>1 (____」 レ (__ (_丿\ _ノ
6 :
デフォルトの名無しさん :2006/09/12(火) 00:09:30
Python使い = アニヲタという関係
>>7 それを是非 Python インタプリタにも
解るように書いてくれ
画像の仕分けスクリプトでも書くか
10 :
デフォルトの名無しさん :2006/09/12(火) 01:20:55
別スレで話すほどの話題があるわけでも
13 :
デフォルトの名無しさん :2006/09/12(火) 07:32:18
日テレはルパンにひどいことをしたよね(´・ω・`)
テンプレにPythonの書籍を載せるなら、対象バージョンも併記しておいた 方がいいと思う。
15 :
デフォルトの名無しさん :2006/09/12(火) 11:44:19
IronPythonを分離させようとしてるけど、意味無いだろう。
粘着・荒らしだらけのスレに、IronPythonの情報を埋もれさすのが嫌なんでしょう。
17 :
デフォルトの名無しさん :2006/09/12(火) 12:35:33
>>16 その割には伸びないな>鉄Pyスレ
見てるの二人くらい?
URLとかサンプルコードとか
有益な情報がもっと書き込まれればいいんじゃね?
Jim Huguninってなんて読むの?
河豚
そのままジム・ハグニンでok
「てぃむひぐにん」と聞こえる ちなみに Python は「ぱいたん」
和やかなスレですね。
昔の
>>23 じゃなかろうなw
336 名前: デフォルトの名無しさん 投稿日: 02/08/30 22:27
パイソン を ピジョン = ハト だと思ってたヤシ集まれ。
337 名前: デフォルトの名無しさん 投稿日: 02/08/30 22:50
>>336 そんな人はいません、あなただけです。
349 名前: デフォルトの名無しさん 投稿日: 02/09/02 17:01
>>336 漏れもはじめはピジョンって読んでたYO
350 名前: デフォルトの名無しさん 投稿日: 02/09/02 21:20
>>349 どうすればピジョンになるんだ…
351 名前: デフォルトの名無しさん 投稿日: 02/09/02 23:16
Pigeon
頭と尻、字数が一緒だし、綴り見間違えてればなんとか・・・。
352 名前: デフォルトの名無しさん 投稿日: 02/09/02 23:45
Python(食う)→Pigeon(食われる)
353 名前: デフォルトの名無しさん 投稿日: 02/09/03 00:38
>>352 なんとなく分かった気が…
笑いも時代と共に変わる、というのを実感するね〜。
ネイティブと同じ発音を心掛けよう! いいですか、みなさんご一緒に! ぱいたん、ぱいたん、ぱいたん!!
(高めに)ぱーい(低めに)たーん
Pythonの作者はオランダ人だから、Pythonの発音は違うかもわからんね
舌を強く噛みすぎて血が出ました。
中学生用の辞書風にいうと「アイアンパイそン」
rubyistのためのpython入門とかない?
>>38 他の言語を知ってるならいいだろうね
ただしまったくの初心者にはきびしいんじゃね?
話の流れは、Rubyを使ってる人って前提だろ。
Ruby は知っているが全くの初心者 難しい命題だ
>>42 色々な言語に取りくんだ末、辿り着いたのがPHPなのね(www
いつのまにかDjangoスレができていた。
TurboGearsスレはないんですか。 TurboGearsはライブラリ集合だから、ツブしが利きそうなんだが。 本体が倒れても要素ライブラリの利用ノウハウは使い回しができそう。
47 :
36 :2006/09/14(木) 23:38:18
2.5rc2でましたね。
>>47 PythonとRubyは外見上確かに似た部分もあるが、
根本的な思想は180度異なる。海より深い溝がある。
普通にチュートリアル読んで、その後は色々なソースを読むのがベストだと思うが。
∀・)つ ぶぶ漬けでも食べてっとくれやす。
>>50 ますます溝が深まりつつある件につきまして。
53 :
デフォルトの名無しさん :2006/09/15(金) 19:28:33
このスレで宣伝してみんぱいなんか売れるのか?
なんか Ruby は Perl の成功から生まれた言語で Python は ABC の失敗から生まれた言語 というイメージがある Ruby はプログラム言語geekの常識に沿っているけれど Python は一般の専門家の常識に沿っている感じ 「ハッシュ」対「辞書」といった、ちょっとした命名の違いとかに感じる事の話だけど
Matzは「オブジェクト指向スクリプト言語にはすでにPythonがあってそれでも いいかと思ったが、やはり自分の言語がほしかったのでRubyを作った」と言って いる。だから「Ruby は Python の成功から生まれた言語」が正解。
>>55 その話だとPythonの存在に関係なく自作の言語を作りたかったって事じゃないのか?
そういえばPythonってなんで起動しただけでメモリを食いまくるの? Perlの比じゃないよね・・・・
% ps xuw|grep python mona 81861 0.0 0.4 5080 3672 p0 S+ 8:08PM 0:00.04 python % ps xuw|grep perl mona 81867 0.0 0.2 2860 1912 p0 S+ 8:08PM 0:00.01 perl 倍っちゃ倍だけど、大して違わんだろ。 食いまくるというとJava並に食うのかと思ってしまう。
59466 0.0 0.1 3200 2636 p0 S+ 8:42PM 0:00.01 python 59535 0.0 0.1 2200 1456 p0 S+ 8:42PM 0:00.00 perl 動かせるCGIの数が結構変わる気もする
>動かせるCGIの数が結構変わる気もする そうだね。GoogleもきっといつかPerlに移行する日が来るよね。
今GoogleはどのくらいPython使ってんだろ GmailはJavaだっけ?
>>59 そういう発想をする人間は大規模サーバの設計はしないから大丈夫だよ
んだんだ
mod_python前提なら苦労はせんよ
(・∀・)パインソ!
ぱいたんと呼べって!何度いったらわかるんだ?
俺は「柴っち」って呼んでる
>>53 寂しいだろうから反応してやるよ
こ の 世 か ら 消 え ろ キ チ ガ イ
無料クラスの物を売ってます的な乞食は黙ってろ
>>71 気分転換に大きな買い物をすることをお勧めするよ.
このスレもダメかも分からんね。
じゃあ、俺はナンパオを買うぜ。
通は Dive Into Python で学ぶ
「Google言語」という帯のせいでかしらないけど、大型書店で プログラミングの棚ではなく、Web製作関連の棚にあった、みんpy最高!
>>78 ありがちなCGIがらみの事しか書いてないPerl入門書程ではないが
例はWeb関係のプログラムが多いからあながち間違ってはいないと思う
でもこれだとプログラミング初心者はテスト環境の問題で持て余すだろうな
本当に入門したいなら「Pythonで学ぶプログラム作法」買って首吊りゲーム作る方が正解
他言語のスレに比べて住人が多いわけでもないのにスレ消費早すぎ。 ずっと書き込んでるのは3人くらい?
>>54 PythonはLispを現代的な形に直したものだと思うけど。
なんだ、Paul Graham のエッセーを読み間違えたのか?
>>83 そこまで短絡的な勘違いが出来るお前がうらやましい。
>>82 現代化するとLispの本質である自己書換えは無くなるのか?
それはもう全くの別物だと思うぞ
>>87 原罪の無い無垢なLispのセカイに知恵の木の実を持ち込んだらPythonになったんだよ
>printf:["hello world\n"] 間のコロンは何なの? 無意味な装飾はやめとけ。
どこからの飲尿?
>>91 >
>>87 > そこはヒュンダイ的と読むんだよ
Yamada().grant_squatter(91)
先生、山田君クラスの使い方がわかりません。
良スレ晒し上げ
94 :
デフォルトの名無しさん :2006/09/17(日) 00:01:13
上がってなかった
>>92 AttributeError: Yamada instance has no attribute 'grant_squatter'
>>92 from shoten.ogiri.models import Yamada
del Yamada.squatter_manager.filter(id_exact=92)[:-4]
>92 まずインスタンスにしないと
>98 正直スマンカッタ
駄目だこりゃ
>>101 > そんなに見つけにくいとは思わなかった。
多分答えを先に見たからでは。
・例外が起こったらジェネレータの実行が止まる。
・その例外がStopIterationだった場合、ジェネレータが最後まで実行された場合に起こるStopIteration例外と区別できない。
これって、分かっていても実際遭遇したら結構悩むと思うよ。
ドキュメントの組み込み関数list()の項目には StopIterationは喰べますという注意書きが無いな〜 知ってないとハマりそう
>>104 r 先頭から読む。
r+ 先頭から読み書きする。
w 先頭から書く。ファイルがなければ作成、あれば長さゼロに切り詰める。
w+ 先頭から読み書きする。ファイルがなければ作成、あれば長さゼロに切り詰める。
a 末尾から書く。ファイルがなければ作成。
a+ 末尾から読み書きする。ファイルがなければ作成。
d = {'key1':'value1,'key2':'value2'} e = dict(d) e=d.copy() # 等価?
前々スレ辺りで、joinにイテレータを与えられることを知って、 ほかの関数にも自作のジェネレータを与えて、動作するか試してみた。 len … ×(xrangeは動いた) map … ○ max … ○ min … ○ zip … ○ lenが動かなかったのは意外。つうか動かせよ。 環境はVersion2.4.2 on Fedora Core 5。
>>107 >lenが動かなかったのは意外。つうか動かせよ。
無限に値を返すイテレータがあったら嫌だね(w
Python 3000になれば変わる希ガス
>>> type(xrange(10)) <type 'xrange'> へー、ジェネレータじゃないんだ
>>107 len()が動かないのは108が言ってるように長さが無限のイテレータを想定してのことだと思うが、
それを言ったらmax()、min()やlist()だって危険だよな。今後どう整合性を取るんだろう?
プロ☆グラマにおまかせ
Pythonのスレッド周りの実装ってどんな感じですか(よくできてるとか、バギーだとか)。 ネイティブスレッドに対応してるでしょうか。 Rubyはネイティブスレッド未対応だし、スレッドが遅いので、Pythonを使ってみようかなと思ってます。
>>112 >Rubyはネイティブスレッド未対応だし、スレッドが遅いので、Pythonを使ってみようかなと思ってます。
使えばいいと思うよ。
WindowsでもLinuxでもMac OS Xでも普通に動くよ。
>>112 一応ネイティブスレッドなんだけど、VM内のロックの粒度が大きいのでやや癖のある
挙動をすることがある。基本的には安定していると思う。
「みんなのPython」で入門中です。 Linux上で使える統合開発環境ではなにがよくできているんでしょうか? Webサイトを見てまわったりもしましたが、IDEへの言及はなかなか見つかりませんでした。 皆さんテキストエディタで頑張っておられたりするのでしょうか。 グラフィカルなデバッグが行えて、インスペクタが実装されていて、バギーじゃない環境があれば、Pythonに乗り換えたいと思っています。
> テキストエディタで頑張っておられたりするのでしょうか。 その通りです。
デバッグなんて Traceback の表示と print 命令で十分
terapadで一気に書いてidleで修正
119 :
115 :2006/09/19(火) 01:41:10
Smalltalkでの開発を体験して以来、IDEの支援のない開発はひどくストレスを感じるようになりました。 作りかけのコードをとりあえず実行してエラーを起こさせその場でデバッガを起動、変数の中身を確認しつつ、デバッガの中で新規にコードを書き進める、なんてことが出来るところまではムリとしても、最低限でもGUI上でステップ実行が出来るまともなデバッガが欲しいんです。
120 :
115 :2006/09/19(火) 01:45:44
テキストエディタだけでバリバリやっている人は、 無知か、気長か、修練の末能力を手に入れた本当の古強者か、 いずれかだと・・・
デバッガ使うの('A`)マンドクセな連中が多くてごめんね
>>105 人間がテキストエディタに、ログか何かを読み込む作業に
例えて理解しようと思ったのですが、やはり更新モードという言葉というか、
「読み書き」という概念が壁になりました。r+とwとw+が微妙。
動作の違いが分かるようなコードが書けるようになってから、ダミーで
実験しようと思います。まとめて下さって、ありがとうございました。
>>120 本当に聞きたいのならそういう変な煽りは書かないほうがいいよ
>>122 wではreadできない
r+とw+の違いはファイルが無かったときの挙動
>123 そうですね。以後気をつけます。
>>122 読み書きとゆーのはファイルに書き込んだデータをすぐ読み出せるってこと。
例:
>>> f = open("foo.txt", "w+")
>>> f.write("test")
>>> f.seek(0, 0) # 先頭に戻る
>>> f.read()
'test'
>>>
+付きでないとこのような書いたものをすぐ読むという芸当ができない。
もっとも、こんなモードはめったに使わないと思われ。
大抵は読むか書くかのどちらかだけで足りる。
>>119 とりあえず標準で付いてくる IDLE を使ってみたら?
文句は具体的な方がいい。
苦痛の中身が問題かもしれませんね。 インスペクタとかステップ実行とかで把握してないと気が済まないのは 完璧主義というか、予防的発想から抜けてない場合もあるんではないかと。 動的言語はそもそもいい加減なもんです
>127 IDLE使ってみました。WinXP上の2.4.3です。 評価段階なので文句もなにもないのですが、あえていいますと、 ・直感的に使い難いインタフェース 特に、DEBUG ONで先にデバッガを開けておかねばならないところに余計な時間使いました。 Python ドキュメントも表面的なコマンドの説明にとどまっているようです。 ・ステップ実行中はソースコードの上をハイライト表示して欲しい 表示がほぼコマンドラインのデバッガと同じではGUIに載せた嬉しさが半減。 行番号を見比べながら、というのはちょっと・・・ ・脆弱 無限ループ時に操作不能に。 デバッガを一度閉じると二度目が上がらないときがある。 プロセスを残したまま、ちゃんと終了しないことがよくある。 異常動作時、Tkとの連携が悪いのか、プログラムが悪いのか、ちょっと考えさせられる。 日常的に使うツールとしては・・ 残念ながら、バッドノウハウをため込んで我慢しながら使うツールという印象です。
>128 常に把握したいというわけではありません。 ですが、なにか予定外のことが起こったときには、 どの段階で、どのオブジェクトの状態がおかしいのか、 ということを確認しますよね。 Errorがraiseされた箇所が直接の原因かというと、 そうではないことも多いと思います。 print分やLoggerもいいんですが、いちいち面倒だったり、 コードを汚したりするので、避けられればそっちのほうが嬉しいです。 動的言語のいい加減さはそこそこよく知っているつもりです。 実行時までなにが起こるか分からないからこそ、 環境やツールの支援が欲しいと思っています。
>130 いろいろあるのは存じております。 なんですが、玉石混淆の中をひとつひとつ試すよりは、 まずはベテランに意見を聞く方が良いであろうと思ったのが、 そもそもここに書き込んだ切っ掛けでした。 なもんで、 「eric3なんか漏れもつかっているけど超お勧め」 とか適当に書かれていたら信じていたかもしれませんけど。
スクリプト言語でデバッガ使わなきゃデバグできんよーなコード書いたことねぇ
つーか
>>132 は絶対CGIの開発とか出来なさそうだな
>>129 を読んで
俺はIDLEを全然使いこなしていないということがよく分かったw
俺はIDLEも他のIDEも使いこなしてないんだが、
>>132 みたいな人には
PyDevなんかどうだろうと思う。
>133 自分のコードは念力デバッグでも大抵解決できますよね。 他人のコードを理解するときや、サードパーティのライブラリが 混じっていたりするときは、動的にデバッガで追ったほうが おそらく解決が早いです。
何となく、フリーソフトウェアでは有り得ない希ガス。
>>129 > ・ステップ実行中はソースコードの上をハイライト表示して欲しい
Debug Control の「source」にチェックを入れておくと
実行中の行がハイライト表示されない?
140 :
デフォルトの名無しさん :2006/09/19(火) 05:17:01
141 :
デフォルトの名無しさん :2006/09/19(火) 05:17:28
>>129 IDEL よりは PythonWin のほうが機能的に上だと思います。変数値を専用ウ
ィンドウでステップごとに変化させながら表示してくれます。ステップ実行
しているソース行を色で強調表示してくれます。
でも wxPython の動作を追うときになると、訳の分からないない動作になっ
たことがあって使うのをやめました。
今は dos 窓で pdb を私は使っています。原始的な段階に戻っています。
>139 されました。 ですが、ソースコードのウィンドウをアクティブにしなければその様子がわからないようです。 デバッガ上でステップ → ソースウィンドウをアクティブ → デバッガ上でステップ → ・・・・ いつかマウスを投げつけてしまいそうです。 また、ここで言っても仕方のないことなんですが、できれば行単位ではなく、 次に実行されるメッセージ部分(メソッドセレクタと引数)がハイライトされていて欲しいです。
>141 なるほど、情報ありがとうございます。 Pythonインタプリタ以外の資源にアクセスするライブラリでは異常動作 することがあるということでしょうか。 wxWidget側でPythonとは別の非同期プロセスが走っていたりするのかも しれないですね。憶測で書いてますが。
>>142 > ソースコードのウィンドウをアクティブにしなければその様子がわからない
俺のところと挙動が違うな。Python 2.3.4, XP だが、
「Step」ボタンを繰り返し押すとソース窓の反転表示が次々移動していく。
もう理解しただろうが、ここには無知で気長な人が多いので、
>>130 をあさって、良いのが会ったら紹介してくれ。
w
俺は死ぬまで python-mode on emacs
import thisってPython禅(?)が見れるだけのイースターエッグかと思ってたら this.__dict__ってしてみたら何やらいろいろ入ってるみたいなんですが、 コレはいったい何?
>>143 Stani's Python Editor(SPE)とかどうかな。
インスコだけしたけど、なんかゴテゴテしてて多機能そうだったよ。
使ってみて良かったら(ry
Python IDEs
ttp://www.artima.com/weblogs/viewpost.jsp?thread=148389 > I often get questions, mostly from Java programmers,
> about IDEs for Python. In Java there's so much
> finger-typing that the language wouldn't be feasible
> without an auto-completion IDE, so it makes sense that
> a Java programmer would want one when using Python.
> And they exist, but I don't know many who use them.
自動補完機能に限っていえば、現在ののところVim7のomnicompleteは PyDEVを抑えて最強
PythonWinってPython for Win32のこと? 2.4には入って無いよね
ActivePythonのWindows版をインストールすると標準で付属してくるIDEだよ 本来はPython for Windows extensions っていうActivePythonに標準添付 してあるライブラリの付属物だから、このライブラリをインストールしても 使えるようになる。
>>154 2.4に目線が行っていたので2.3環境とPython for Windows extensions の2.3版を入れて
確認できました。
>>148 thisの内容を出力するためのコードで使われている変数。
>>> dir(this)
['__builtins__', '__doc__', '__file__', '__name__', 'c', 'd', 'i', 's']
sはシーザー暗号でコードされたZen of Pythonの内容。
dはシーザー暗号テーブル。
cはループ中で1文字を現すのに使われている。
iはforループでカウンタに使われている。
コードを一行で書くとこうなる。
print ''.join(dict((chr(i+c), chr((i+13)%26+c)) for i in range(26) for c in (65, 97)).get(c, c) for c in this.s)
ちなみにもっと簡単に書くとこうだ。 print this.s.decode('rot13')
>>148 __builtins__ の中身が見えてるだけだと思われ。
2.5finalは何時頃だろ?
160 :
148 :2006/09/19(火) 20:16:52
winpdbの試用レポおねがいします。
落としてから寝るか、起きてから落とすか。 とりあえず12時までは待とう。 2.5のページは混み始めてる感じでちょっと重い。
きました!
165 :
デフォルトの名無しさん :2006/09/19(火) 23:29:17
とりあえずインスコ完了。 本格的に遊ぶのは今週末だな。 さて寝よう。
重い orz
拡張パケジの2.5final用バイナリ待ち wktk
viploaderにpythonのソースw
Python 2.5 キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
171 :
デフォルトの名無しさん :2006/09/20(水) 02:19:20
raise StopIteration
172 :
デフォルトの名無しさん :2006/09/20(水) 02:30:31
新しいアイコン、背景が白(Explorerとか)だと見にくいな・・・。
173 :
デフォルトの名無しさん :2006/09/20(水) 06:30:37
とりあえず眠いです・・・・
2.5で入ったctypesがマイブーム。 import ctypes def send(path, s): dll = ctypes.windll.kernel32 handle = dll.CreateFileA( path, 0x40000000, # GENERIC_WRITE 0x00000001, # FILE_SHARE_READ None, 3, # OPEN_EXISTING 0x00000080, # FILE_ATTRIBUTE_NORMAL None) if handle == -1: raise IOError, "CreateFileA failed: " + path try: s = s.encode("mbcs") while s: written = ctypes.c_int() if not dll.WriteFile(handle, s, len(s), ctypes.byref(written), None): raise IOError, "WriteFile failed: " + path s = s[written.value:] finally: dll.CloseHandle(handle) Windowsのメールスロットに書き込むのにこういうのがいるんだけど、 Cで拡張ライブラリ書かなくてもできるようになったのはお手軽。
別にOLEの各種モジュールで対して変わらないことができるんじゃないの?
ctypesいいな。自作DLLも簡単に呼び出せた。
pythonでディレクトリごと削除したいんですがどうすればいいですか。 rmdirとかremovedirsだと空のディレクトリしか削除できないんですよね? unixコマンドのrm -rとかcallできないですかね
import shutil shutil.rmtree(path)
182 :
デフォルトの名無しさん :2006/09/21(木) 00:16:24
何がはやくなったの?
183 :
180 :2006/09/21(木) 00:30:35
>>182 ・辞書系メソッド
・Unicode処理
・文字列処理
・モジュール展開
・関数呼び出し
・例外処理
・
Boost.Python, Pyste, SWIG, ... C++で書きためたライブラリをPythonから いぢれるようにするのに一番のオススメはどれになりますか?
>>185 お勧めは Boost.Python
今の旬は ctypes か(C++に限らんけど)
ダメな子。
189 :
174 :2006/09/21(木) 19:02:19
ついでに2ch用タブ・全角空白変換スクリプトをつくってみた。いいなーctypes。 import codecs import ctypes import sys import re def paste(s): s = s.encode('mbcs') # constant GMEM_DDESHARE = 0x2000 GMEM_MOVEABLE = 0x0002 CF_TEXT = 1 # memory block dll = ctypes.windll.kernel32 h = dll.GlobalAlloc(GMEM_DDESHARE | GMEM_MOVEABLE, len(s) + 1) p = (ctypes.c_char * (len(s) + 1)).from_address(dll.GlobalLock(h)) for i, c in enumerate(s + '\0'): p[i] = c dll.GlobalUnlock(h) # clipboard dll = ctypes.windll.user32 dll.OpenClipboard(None) dll.EmptyClipboard() dll.SetClipboardData(CF_TEXT, h) dll.CloseClipboard() content = codecs.open(sys.argv[1], 'r', 'mbcs').read() content = re.sub('\t', u'\u3000\u3000', content) paste(content)
醜い
タブ→" "でよくね? なぜわざわざ全角スペース?
def foo(): print 3
s///があればね…。外で処理するからいいんだけど。
194 :
185 :2006/09/21(木) 23:48:03
Boost.PythonでC++から配列をPython側に戻すにはどうしたら良いか教えて下さい。
http://www.boost.org/libs/python/doc/v2/faq.html#question2 にある"rvalue converters", "custom lvalue converters"を実際にどう記述し
呼び出せばよいのかテンプレートプログラミングに不慣れな為か見当もつきません。
int[256]とかstd::vector<int>が渡せればやりたいこととしては十分なのですが、
これだけで一日悩んでました。
Pysteのチュートリアルにあるようにlistだとなぜ特別なことをせずに渡せるのかも
よく理解できてません。ご教示よろしくお願い致します。
なんか気持ち悪いくらいにスレの流れが緩くなったなw みんな2.5をいじり倒すのに夢中なんだろうか。
ただ単に例の人が居なくなっただけかと
例の人って誰?
粘着煽り、粘着荒らし、粘着宣伝厨の方(々?)
夏休みが終わったんですよ。
データベース使うなら、やっぱPHP勉強した方がいい?
勉強というか 参考書見ればすぐできるぞ
Python でもできるやん
>>200 迷わずPHPをおすすめする。
「でもできる」じゃ、意味がない。
正直なんで パイスレ に書いているのかわからん
PHP クソ言語 VB 三大言語 ┝ - - - - ┿━━━━━┿━━━━━┥ ∩___∩ /) | ノ ヽ ( i ))) / ● ● | / / | ( _●_) |ノ / ここクマ――!! 彡、 |∪| ,/ /__ ヽノ /´ (___) /
まともなOOPも実装してない厨房御用達言語からな。 VBAなんかといい勝負なんじゃない(プ
>>206 下には下があるってことか。ずいぶんVBの株が上がったな。w
ヒント: ローボール効果
>199 そう言えば大学生の夏休みはようやく終わったところだっけか
大学の先生かもしれませんぜ(プププ
となりの研究室に遊びに行った時、知合いのWindowsにどぎつい緑のアイコンを発見。 俺:「おっ、Python?」 奴:「え、なんすか、それ?」 俺:「いや、知らなければべつに。」 その後しばらく、俺はその研究室内で「オッパイソンの人」と言及されることがあったらしい。 き・・嫌われているんだろうか・・・。
>>216 の痛ましい犠牲により、われわれは希少な同志と遭遇したとき
「おっ!」と言ってはならないという教訓を得た。
おっぱいそんの男の伝説が
教訓になってねえー。
Cパイ2.5に鉄パイ1.0は出るし、毎月のように和製書籍が出るし いったい何の天変地異の前触れだ?
たたりじゃ
>>222 >たたりじゃ
と、乗り遅れた年寄りは思いたいようです。
よし、「おっぱいそん」で擬人化するか。
>>>毎月のように和製書籍が出るし くわしく
引き続きおっぱいそんの話題をどうぞ。
おっぱいだらけ
俺 おっPychinko使ってるの?ルールエンジンだっけ? 奴 何それ? その後(ry
おっぱいそん男の書籍化まだぁ?
著者次第だな。
画面みるより紙媒体の方がみやすいなーっておもって はじパイだかみんパイだかを買おうかなーとか思った どっち買えばいいんか? ちなみに昨日Python2.5をいれたばっかりだったり
>>237 物理的条件によって制約される。
つまり腕力に自信があるなら「はじパイ」、なければ「みんパイ」。
みんパイはやめたほうがいい。
みんぱい すら重いと感じるモヤシっ子な俺様は 「インスタントPython」と「Pythonチュートリアル」を印刷して読んだよ。
>>237 このスレで質問するのは間違い。
キチガイを釣ることが目的なら正解。
ActivePythonって本家がリリースされてから どれくらいの期間でリリースされますか?
Dive Into Pythonが勉強になると思う。
だれか翻訳ヨロ
クレクレ厨は氏ね。
駄目な子。
>>237 他にプログラム言語の経験が無いならまず『Pythonで学ぶプログラム作法』
経験があるならば、『みんなのPython』冒頭の「はじめに」の中の単語が全て分かり、Webプログラミングの知識とテスト環境が揃っているなら『みんなのPython』でもいいけど、そうでないなら『初めてのPython』
『みんなのPython』は説明がプログラミング界隈について分かっている人向けなので、初心者が買うと安物買いの銭失いになる可能性が高い
というか、著者は本当の初心者に教えた経験が無さそうだ
「Pythonで学ぶプログラム作法」はおもしろい本だとは思うけど、 本当にプログラム言語経験がない人におすすめするのはどうかと思うよ。
>>248 Pythonにも、VBやJavaだとごろごろあるド初心者向け手取り足取り本があればいいんだけどね
高橋麻奈あたりが書かないかな
本なんか読むより、適当になんか作って遊んでる方がよっぽど上達すると思う。 あと、身近に詳しいやつがいるとなおよろし。
Python使いなんて身近にいません orz おれってともだちすくないのかな…
pythonってよく簡単に覚えれるとか言われているみたいだけど、ほんとうは どうなんですか?VBとかC#、perlより断然マスターしやすい?
>>252 適当になんか作って、それで本を読む、だな。
詳しい人がいても、事実だけ教えてくれればいいけど
プログラム的な意味での宗教勧誘されたらたまらん。
>>254 詳しくなくても、気軽に相談出来る相手がいるだけでも違うよ。
>>250 高橋麻奈の本も全くの初心者にはつらくね?
高橋麻奈って誰?カーニハンより強いのか?
>>257 あれよりやさしいとプログラミング入門ではなくて単なるプログラミング体験になってしまう
あくまで「勉学意欲がある人間にとって役に立つ」という本だと彼女のやつあたりが下限だろ
>>253 Pythonの方が簡単に覚えられるけれども
VBとかC#とかPerlの方が断然マスターしやすい
つまり言語自体よりも、それで作ったプログラムが普通のWindowsアプリとして直ぐに動くとか、CGIとして役立つとかのベタな実用性の方が覚えるためのモチベーションになる
エスペラントと英語はどちらが覚えやすい、という質問と同じ事
初心者=馬鹿 と勘違いしてる馬鹿が多いからな
エスペラントと英語は上手い例えだと感心した。
ネットで完結したいなら、PyJUGのInstant Hackingはプログラミング初心者向けの文書。 プログラミングとはなんぞやから始まって、OOによる抽象化まで駆け足で説明されてる。 これの次の段階は、公式チュートリアル。日本語訳は2.4のが最新だが、初心者には十分だろう。 チュートリアル完了レベルから、ライブラリリファレンスや、pydocで調べながら、試行錯誤が出来るレベルまでの間が無いかなあ。 試行錯誤のやり方こそ、プログラミングにとって最も重要なことだと思うんだけど、そういう文書ってみかけないね。
質問です。 クライアントにOpenLaszloを使用して、Pythonと連携したアプリを作りたいのですが、 OpenLaszloにはXMLでデータを渡す必要があります。 オブジェクトを xml_encode() みたいに簡単にシリアライズするライブラリってありますか? PHPとJavaScriptを使ってたときはJSONで楽できてたのですが。
リファレンスの定義で使ってる呪文、BNF記法って言うのね。知らなかった。 ローカルのPythonドキュメントをブラウザで検索したい(chm使いづれっす)
風鈴は…、ローカルじゃなかった。
>>260 で、英語とエスペラント語ではどちらが覚えやすいんだ?
ほとんどのプログラム言語はエスペラント語よりは役に立つと思う
中国語を覚えれば10億人と話せる?
隣の席の人にPythonの話をしても通じないんですが
あ、VBの話をしたらなんか応答がかえってきました!
日曜のこの時間に仕事場にいるような奴に pythonの話が通じるはずがなかろうなWWW
さすがにニートはPythonには興味ないだろうからな。
namazuとかHyperEstraierだっけ?
同じニートでもキチガイレベルに達すると、粘着的に興味を持つようになる
私ニートだけど、Python好きだけど。
働け
pythonでは働くところがありません
別に金に困ってないならいいんじゃね?
そういう問題じゃねえだろうがこのクソやろう氏ねや社会のくずニート
>>279 namazu って Python 製なの?
>248 そうなのかな? あれはあれでアリだと思ったけどな。 問題があるならどのへんでしょう? 一気に先に進んで慣らす余地が少ないとか?
>>288 きっと 248 は初心者本ってカラーの画面写真をいっぱい使い、インストールの手順から具体的に図示してなきゃ駄目、という立場なんだよ
個人的には「Pythonで学ぶプログラム作法」は、具体的に首吊りゲーム作ってそれをCUI版からGUI版に移植してみせたりするあたり、Pythonに限らずプログラミング入門書として最良の物の一つだと思うけれど
インプレスとかが「できる!Python」を作ればいいんじゃねーの?ww ああいう馬鹿っぽい本の方が売れるだろ。
キャラのイラストいっぱい入れて「萌えるPython入門」とか作ればめがっさ売れるさっ!
空手を覚えれば60億人と戦えます
ようし、パパエスペラント語を覚えて変わり者認定されるぞう!!
>>289 >具体的に首吊りゲーム作って
『首つりゲーム』て名前に引く。
ついでに言うと289の書き込み時間にも引く。
>>294 ど素人が。
"hangman" の検索結果 約 9,040,000 件
ヒキコモリかと思ったら、窓際のキモオタオヤジだった(5点)
>>295 = 289
>ど素人が。
いいねいいね。
『ど素人が。』
初心者に使えば効果絶大だね。
『ど素人が。』
楽しそうだね。
時間帯と内容で判断するなら291の方が引く。
日本以外から書いている可能性は考えないのかなあ。
>>299 ど素人が。
"めがっさ" の検索結果 約 177,000 件
>>291 = 300 = 301
Larry乙。
いや普通にめがっさにょろにょろは引く
>>304 >いや普通にめがっさにょろにょろは引く
言葉の意味が分からん.
何語だ?
もしかして:msg['Subject'] = Header(unicode("日本語の件名", "mbcs"), "iso-2022-jp")
>307 ド素人が。
> >307 > ド素人が。 なにこれ。マジ気分悪い。
>>1-311 ド素人共が。
"python" の検索結果 約 5,150,000 件
>>308 返信どうもありがとうございます。
どうやらファイルの先頭に
# -*- coding: utf-8 -*-
をつけたら
msg['Subject'] = Header("日本語の件名", "utf-8")
でちゃんと動くようです。エラーメッセージをちゃんと読んでませんでした。
お騒がせしてすみません。
>>312 サブジェクトをUTF-8でエンコして送るのって行儀悪くね?
>>313 モロエンタープライズみたいな大人の市場を狙う会社はJavaのほうが向いてるという
だけの話だと思う。俺はJavaもPythonどちらも使う。どちらも勝負の道具ではない。w
>>315 最近のMUAなら問題ないかと。
俺が常用してる古〜いRMAILだと化ける(とゆーかデコードされない)けどな。
>>313 ブクマ9個もらったのが嬉しいのかな、本人タソ
こういうお目出たい人が居る会社は人知れずつぶれるんだろうな。。。
>>316 要は適材適所ってことなんだけど、Nuxeoという実例を挙げて
JavaとPythonの「適所」を分かりやすく説いているところが重要かと。
プログラミング言語の適材適所って抽象論になりやすいので、
こういう具体例は貴重な希ガス。
わざわざはてなブックマークのURLを張るあたりが香ばしいな(WWWWWWWW
Zopeという土台はこれからも有用だと思うけど、これからはwsgirefの時代だな。 俺はサンプルをちょろちょろ動かした程度だけど。
っ zope3
323 :
313 :2006/09/25(月) 19:40:18
いや真剣に筆者なんかじゃないんだが。 はてブのURLを貼ったのは、珍しくホットエントリに上がってきてたので、 せっかく注目されているのに内輪もめしている場合じゃないだろ、と言い たかったから。 …まあ何を言っても無駄だな。
>311 ワラタ(w
その内のどれくらいがニシキヘビでモンティーでコルトなんだろうか
('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`) ('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`) ('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`) ('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`) ('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`) ('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`) ('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`) ('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`) ('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`) ('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`) ('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`) ('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)
327 :
デフォルトの名無しさん :2006/09/25(月) 21:31:46
type('a',(object,),{})←勃起した
最後だけ改行乱れてるのがなんかいや。 整形スクリプト通してからコピペしてくれ。
整形スクリプトを通してみた。 ('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`)('A`) ('A`)('A`)('A`)('A`) ('A`) ('A`) ('A`) ('A`)('A`) ('A`) ('A`) ('A`) ('A`)('A`) ('A`) ('A`)('A`) ('A`)('A`)('A`) ('A`) ('A`) ('A`) ('A`) ('A`) ('A`)('A`)('A`)('A`) ('A`)('A`) ('A`) ('A`) ('A`) ('A`) ('A`)('A`)('A`) ('A`) ('A`) ('A`) ('A`) ('A`)('A`) ('A`) ('A`)('A`) ('A`) ('A`)('A`)('A`)('A`) ('A`) ('A`) ('A`) ('A`)('A`)('A`) ('A`) ('A`)('A`) ('A`)('A`) ('A`)('A`) ('A`) ('A`)('A`) ('A`) ('A`) ('A`) ('A`)('A`)('A`)('A`) ('A`)('A`)('A`)('A`)('A`) ('A`) ('A`) ('A`) ('A`) ('A`) ('A`)('A`) ('A`) ('A`)('A`)('A`) ('A`) ('A`)('A`) ('A`)('A`) ('A`)('A`)('A`)('A`) ('A`) ('A`)('A`) ('A`)('A`) ('A`)('A`) ('A`)('A`) # -*- coding: sjis -*- import re,sys,random;print re.subn(r"\('A`\)",lambda m:random.choice(("","","",""," "," "," ","\n"))+m.group(),sys.stdin.read())[0]
それ、形が整ってないような。
>>287 ハードディスクの中身用に、検索エンジンとして使えないかってことでは。
namazuってCだったよ。Pythonでデッドコピー作ったら、少し遅くなりそうだね。
別言語に移植したものをデッドコピーというのか?
>>331 いわないよね。
そもそも作ったものがデッドコピーなんじゃ遅くなりそうなのは当たり前だよね。
ライブコピー
ゴッドコピー
335 :
ど素人 :2006/09/26(火) 05:01:00
Python2.5を入れてTurboGearsを入れようと思ったんだが
TurboGears公式のez_setup.pyがurllib2のエラーを吐く。
どうも最新版のsetuptools-0.6c3-py2.5.eggが呼ばれないためらしい。
色々ぐぐってみたらここに動くez_setup.pyがあったので置いときます。
ttp://peak.telecommunity.com/dist/ez_setup.py 同じ所ではまるような初心者は参考にしてね。
>>335 TurboGearsのSiteに
Note: A part of TurboGears relies on Pyrex, which has not yet been updated to accommodate changes in Python 2.5. Python 2.4 remains the recommended Python version.
ってあるけどpython2.5でちゃんと動作してますか?
TurboGearsはまだ2.5に未対応だよ
>>336 New Style Classになった例外に対応できてないみたいね
逆に言うとそこだけなんとかなれば2.5でも動くってことか?
339 :
335 :2006/09/26(火) 13:14:41
ご察しの通り、TurboGearsは動かせませんでした。 前述のez_setup.pyでは、関連モジュールをez_installできただけに終わり、 結局2.4.3環境を構築しました。
340 :
デフォルトの名無しさん :2006/09/26(火) 17:44:23
emacsでpython書いてる人いたら聞きたいんだけど, emacsの中でpythonインタープリターって走るの? 俺は端末に戻ってから $ python file.py やってるんだけど.
C-c C-c
>>340 手元では動いてる。
C-c ! で、インタプリタ起動
C-c C-c で、編集中のBufferの内容を実行
だね。
ヘルプも見れるしライブラリの補完も効くしで割と快適。
343 :
デフォルトの名無しさん :2006/09/26(火) 22:06:03
>>341 >>342 サンクス.
俺の使ってるのはEmacs22なんだけどこれって自動で
python-modeになるんだよな.
前のはpython-mode.elとか張らなきゃいけなかったみたいだし.
でも残念なのは使い勝手が違うってことかな.
ま,始めたの最近だから新しい方で覚えていくけど.
(スレ違いな感じで,スマソ)
前にも言っておいたけど emacs に対する python mode は二種類ある。
それはもう聞いたという奴と、そんなの聞いてないという奴の二種類がいる。
物事を二種類に分ける奴と、分けない奴の二種類がいる。
二進数が分かる奴と分からない奴の10種類がいる。
君がいて僕ガイル
大阪名物パチパチパンチ
俺とお前と大五郎と酒と泪と男と女と竜馬の妻とその夫とその愛人と セックスと嘘とビデオテープと空と海と大地と呪われた姫君と愛しさと 切なさと心強さと部屋とYシャツと私とトムとジェリーと僕と彼女と 彼女の生きる道とジョゼと虎と魚たちと夏と花火と私の死体と友と コーヒーと嘘と胃袋と僕とフリオと校庭
7点。
何だこの流れw
そうだよ、俺が求めていたのはこの流れなんだよ!
おまえが求めてたのか!
僕も君を求めていたよ
うほっ
Python用のオープンソースプロジェクトをホスティングするサービスとかありますか。 RubyでいうRubyForgeに相当するものです。
>>358 Hosting for an agile web
http://www.webfaction.com/ > We support python and open-source
> As both python and open-source lovers we're happy to offer
> free trac/subversion hosting for open-source python projects.
> We already host more than 200 of them.
Pythonの質問。 USBメモリとかに入れて、いつでもどこでも、Pythonプログラミングしたいんですが、 Portable Pythonみたいのってないですか? 普通にインスコすると、DLLをシステムディレクトリに入れちゃって、 他の環境に持っていっても、動かんのですよ・・・。
>>361 売り物かYO!! ヽ(`Д´)ノ ウワァァン!!
363 :
360 :2006/09/28(木) 11:52:53
.msi解凍して、python25.dll取り出して、つっこんだろ とりあえず動きました。ありがとう(・∀・)
364 :
デフォルトの名無しさん :2006/09/28(木) 23:34:11
>>251 そのレベルは上達とは言わないんだけどな。
単にプログラムが組める程度で上達とか言われた日にゃあ、
プログラミング経験の無いSEがシステムエンジニアを名乗りだすぞ。
ふつう、SEはシステムエンジニアを名乗ってると思う
368 :
名無し募集中。。。 :2006/09/29(金) 01:35:58
Pythonでwebアプリってあんまり作ってる人いないのかなぁ cgiライブラリ以外で便利なライブラリありませんか?
プログラムを書けないSEなんて、ごろごろいるでしょ。 自分よりスキルの高い外注頼み。 趣味でプログラム書いているほうが、よっぽどスキルが高い。
>>368 pythonでwebアプリってちょっと検索しただけでも結構あるけど?
web.pyとかDjangoとかTurboGearとか。
個人的には、まずweb.pyをお薦めしたい。死ぬ程簡単だから。
SEに必要なのは政治力。 PGに必要なのは妄想力。
> プログラミング経験の無いSEがシステムエンジニアを名乗りだす 経験なくてもSEなんだから既に名乗ってるだろw
>>373 システムエンジニアを名乗ってないSEって何さ?
Sound Effect?
Service Engineer
サービスエンジニア
Sorenante Eroge?
普通はどんなレベルであれ上達というのはあると思うんだけど さすがはSEとシステムエンジニアを使い分ける人間の発想は違うな
SEX
380 :
デフォルトの名無しさん :2006/09/29(金) 09:28:40
スタミナエンプティー
サツキ・エダ
Skillful Engineer
ネタ切れが慢性化してるね。駄ネタを引っ張りすぎ。
ってか無駄に伸びすぎるんだよこのスレ。
>363 確かに.exeと.dllだけでも動くけど 実際使うとなるといくつか.pyが無いと厳しいぞ
俺にはおっpyが必要
巳年の巨乳さんはいませんか
こ、ここどこですか? 何であたし連れてこられたんですか? ど、どーして蛇が(ry # 彼女が巳年かどうかは無論禁則事項なわけでスマソ
へび「にょろ〜ん」
HTMLParserを継承して、自分のパーサを作っています。 handle_starttag(self, tag, attrs)で<a>のhref属性を取り出したいと思っています。 attrsが、[("href", "index.html")]のようなタプルのリストになっています。 このリストから、href属性の値を取り出すコードはどんな風に書いたらいいでしょうか。 いい感じにスマートなコードがありましたら、ご教授ください。
dict(attrs)["href"] 属性がないときにKeyErrorになるのがいやなら、 dict(attrs).get("href", "")とでも。
>>391 返答ありがとうございます。
それは綺麗ですね。
助かりました。勉強になります。
その後いろいろ実験してみてるのですが、標準でついてるパーサだと、すぐパーサエラーを吐いてしまうのですね……orz
具体的には、ヤフーのトップを食わせてみたら、ダメでした。
以下のようなエラーが送出されます。
HTMLParser.HTMLParseError: malformed start tag
確かにヤフーのHTMLコードが間違っているのかもしれませんが、多少のミスを許容してくれるパーサってないものでしょうか。
Javaの実装なら以下のようなものを見つけることができたのですが。
不正なHTMLもパース可能 - Jericho HTML Parser 2.3
http://journal.mycom.co.jp/news/2006/09/12/342.html
・webstemmer ・BeautifulSoup 好きなほうをどうぞ
不正なHTMLを直接パースするよりも ?Tidylibなりで正しいHTMLに整形してからパースした方がいいよ XHTMLにしてしまえばXMLパーサに食わせる事も出来るようになるし
>>393-395 ありがとうございます。
正しく整形してくれるパーサがあるんですね。
これは素敵です。
早速試してみたいと思います。
助かりました。
---- ありがとうございます。 [〜があるんですね。] これは素敵です or それは綺麗ですね。 [早速試してみたいと思います。] 助かりました。[勉強になります。] ---- このパターンで書くとなんとなく感じがよいのな。 勉強になります。
そんなテクニックがあるんですね。 早速試してみたいと思います。
本当にありがとうございました。
なかなか上品な流れで良いですね
まさかこういう形でお褒めいただけるとは思ってもみませんでしたw やはり教えていただく立場ですので、少ないボキャブラリーを搾り出して、できる限り失礼のないようにしたいと思っています。 特にモテませんw 付き合った数より、振られた数のほうが多いです(^^; 結論として教えていただいた中から、BeautifulSoupを使うことにしました。 Pure Pythonで使いやすいのが要因です。 utidyが非常に魅力的でしたが、Windows依存なのが残念です。 自分では見つけられなかったのですが、utidyのような実装は他にもあるのでしょうか。
ていうか、 libtidy.so とかを用意してあげれば windows以外でも utidy を使えると思います。
>>402 webstemmerもPure Pythonだし、作者が日本人というメリットがある。
ちょっと偏屈だが。
SQLObjectを使って、Webのツールを作っています。 utf8でMySQLにINSERTをしたいと思っています。 MySQL.dbのcharacter_set_name()がどうあっても'latin-1'返してくれやがります。 MySQL.dbのcursor.pyをいじればどうにでもなるんですが、 なるべくライブラリ側に変更をしないですませたいと思っています。 sqlobjectからgetConnection()したのをnewモジュールでcharacter_set_name() 上書きってもまたgetConnection()するとパーです。 この状況で、character_set_name()の値で'utf_8'吐かせるコードはどんな風に書いたらいいでしょうか。 いい感じにスマートなコードがありましたら、ご教授ください。
>>406 問題があるならパッチを作成して作者に送る。
Unix環境でPythonのインタープリタ起動して、十字キーつかうと ↑:^[[A ↓:^[[B →:^[[C ←:^[[D ってなっちゃうんだけど、どうしたらいいですか?
>>410 Windows でやってみた。ほんとにどうやっても latin-1 になるね。
「charset=cp932&sqlobject_encoding=utf8」にして、utf8テーブルに
u'\u00e1\u00e2' を挿入したら、「矮」(SJISのE1E2)が utf8 で入った。
なにか根本的にまちがったことをやってるような。
(Python 2.4.3, MySQL 4.1.18, MySQLdb 1.2.1-p2, SQLObj 0.7.1, WinXP,
default-character-set はすべて utf8)
python使えねーーーーーw
>>413 Pythonも使えないのか。 敗北者以下ということだな。 かわいそうな奴だ。
HSPでもやってろ
うむ。いい空気だ。
盛り上がってるところに水を差すようで悪いんですが
>>409 入れても直りません。。。
Cに比べたらpythonの方が超簡単だよね?
>>416 それは関係なし。my.ini を手で書きかえて全部 utf-8 にしても、SQLObject
上では latin-1 を使おうとするのよ。
python使えねーーーw
connection = sqlobject.connectionForURI('mysql://localhost/yourdb') connection.query('SET NAMES UTF8') してみたらどう?
>> 422でだめなら connection.getConnection().set_character_set('utf8') も試してみてね.
>>422 ,423
どっちもNG。どっちでも latin-1 になる。
というか、それがダメだったから最初の
>>406 の質問が出たわけで。
python使えねーーーーーw
馬鹿にはVB
俺はpython使えねーーーーw
python使えねーーーーーw
標準添付でもないライブラリの問題でPython全体を貶すなんて痛すぎ。
>>429 それを真に受ける奴はもっと痛い
使えねーーーーーーーwwwwwwwwwwwwwwwwwwwwwwwwww
使えないのはおまえ自身
マジpython使えんわw perlにしといてよかったw
頭の中がぐちゃぐちゃの人はPerlのほうが向いてるかもしれないな
Perlの質問スレ見てると、print文の結果の確認だけでも四苦八苦して大変そうだ
437 :
424 :2006/10/04(水) 15:43:47
とりあえず MySQLdb のソースをみてみた。_mysql.c に #if MYSQL_VERSION_ID >= 32321 s = mysql_character_set_name(&(self->connection)); #else s = "latin1"; #endif とか、いかにも怪しいコードが書いてあった。 MYSQL_VERSION_ID は MySQL とともにインストールされる mysql_version.h の 一部なので、MySQL5.0 を入れて再コンパイル。 とりあえず何でも latin1 になる現象はなくなった。 SQLObject のほうはこれから。
438 :
424 :2006/10/04(水) 16:29:37
というわけで EasyInstall で SQLObject (0.7.1-py2.4) を入れた。 >>> from sqlobject import * >>> con=connectionForURI("mysql://scott:tiger@localhost/hoge?charset=utf8&sqlobject_encoding=utf8") >>> con.getConnection().character_set_name() 'utf8' >>> sqlhub.processConnection=con >>> class Demo(SQLObject): ... i = IntCol() ... s = UnicodeCol() ... >>> r = Demo(i=222, s=u'\u4e00\u4e01') >>> print r <Demo 4L i=222L s=u'\u4e00'> ねんのために mysql クライアントで見てみても OK。 あー全然問題なし。 ……ということは、MySQL をインストールするたびに MySQLdb を ビルドしなおさなきゃなんないのね。Windows だとつらいかも。
439 :
424 :2006/10/04(水) 16:33:37
>>438 > <Demo 4L i=222L s=u'\u4e00'>
コピペミス。「<Demo 4L i=222L s=u'\u4e00\u4e01'>」です。
どうでもいいけど イマドキlatin1なんて使うヨーロッパ人いるのか?
どうでもいいけど イマドキeuc-jpなんて使う日本人いるのか? と問うのと大差ないと思われ。
>>440-441 どちらも「いねーよ」が正解
ま、歴史的なコードが残ってるのは仕方ないだろう
いるよ
>442 とはリアル世界では関わりたくないと思った
>>444 オレも
MLでメールのやりとりするのすらまっぴらだ
Perl使いになればいいのに
Python信者とPerl信者ぶつけようとしてる奴必死だな
Perl界は懐が深いので 442のようなキチガイも相手にしてもらえると思うよ
2〜3行しか書かないならPerlでもなんとかなる。それ以上のものはPythonだな。 要は使い分けだよ。
むしろ必死なのはEUC-JP厨では?
>>438 > ……ということは、MySQL をインストールするたびに MySQLdb を
> ビルドしなおさなきゃなんないのね。
なんでそうなるの?
Perlの方がなんかカッコいいよね。
呪術師ってかんじだね
ほら キチガイはさ カッコいい Perl 使っておけばいいんだよ キチガイはさ Perl をさ
Perlの2〜3行オソロシス
2行はちょっと多いだろ
ワンライナー
Perlってなんで -e をデフォルトにしないの? それ以外の使い方したことない
オパールとオッパイどっちかくれるんっていわれたらオッパイの方がいいね
オレはルビーを現金化してオッパイを買う賢い選択。
ルビーはオッパィがあまりなかったからな
461 :
デフォルトの名無しさん :2006/10/05(木) 11:45:52
おまいらちょっと遊び過ぎなんだぜ?
わたし女だけど、オッパイの方が欲しいっす
オッパイにはチンコもある 男女、ゲイ、バイ、オールマイティで怖いな バッテリ内蔵とはこのことなんだな
ttp://0xcc.net/blog/archives/000133.html > ものごとをやり過ごしたり見て見なかったことにしたりすることを
> 「スルーする」と呼ぶようになって久しい今日この頃ですが、
> このたび「スルー力」、すなわち、スルーする力に関する、
> ITエンジニアのためのカンファレンスを開催することになりました。
駄ネタもヌルー、煽りもヌルー、もちろんこのカンファレンスもヌルーだ。
分かったかおめーら。
>>464 嫌いな奴10人くらいの名前とメアドで登録しておいたよ
気がきくな >> 465
pythonを使ってblenderに図形表示がさっぱりわからんぜ・・・
PythonマスターはblogやWikiクローンを作ることには、大して関心が無いのかな。 ユーザー数とプロダクトの数を考えて、ちょっと思った。 RubyとPerlとPHPが好きな人とは、趣味が違うんだろうか。
>>468 車輪の再発明が嫌いなだけ
blogもWikiもPython製のメジャーなのが既にあるし
>>469 確かに blog は Django で、wiki は MoinMoin で間に合ってますな。
>>471 個人を特定できそうな書き込みでドキドキしますねー.
Zope/Plone信者ならCOREBlogとZWikiだな。俺はZopeなんか使う気全くないけど。
個人を特定されそうなんでアレですが、pythonで複数DBを扱うのはどうやるんですかね? djangoで更新系とレプリケーションした参照系のMySQLにアクセスしたいんですが。。
>>475 そんなことも分からんオマエなんだから
複数DB扱うような規模のシステムには関わらない方がいいと思うよ
やけどするだけだと思うわ
普通にSQL操作のクラス(pyPgSQLとかPyGreSQLとか)のインスタンスを複数つくればええやん。 てか、個人を特定されるって・・・
DjangoってPostgreSQL推奨だったのか…さっきしみじみドキュメント読んで気づいた。 MySQL使った場合にはデメリットとかあったりするのかな?
python関係のスレはどこもウンコだから2chで聞くよりどこかの MLとかで聞いたほうがいいよ
>>478 BSD ライセンス繋がりだからそうなってるだけ。MySQLでも別に問題ない筈。
>>471 Django自体はblogツールじゃないんだけど、
個人特定厨キモイ。さらに文体でバレバレなのが滑稽。
Zope、Plone、Django、これはPythonじゃないようだけどXOOPS、 RoR。 何に使えて何が違って、そもそもどんな定義なんだろう。 同じようなものもありそうだけど、説明がかぶってたり違ってたり。
>>483 おもいっきり簡単に説明すると。
Zope、Plone、XOOPSは細かい違いはあるがコンテンツマネージメントシステムと呼ばれるアプリケーション。
DjangoとRoRはWebアプリケーションのフレームワーク。
それぞれの違いは自分で調べれ。
でもさ、ZopeだってWebアプリケーションのフレームワークって いわれることあるし、やっぱり違いがわからない
デフォールトのコンテンツモデル+CRUDインターフェースの実装を持ってるかどうかの違いじゃない? MVCを作るための土台あり=アプリケーションフレームワーク 土台+デフォールトコンテンツモデル+CRUDインターフェース=コンテンツマネジメントシステム
>>487 素のZopeにはCRUDインターフェースはないがPloneにはある
DjangoとTurboGearsとRoRにはCRUDインターフェースがある
XOOPSは知らん(どうでもいい)
素のZopeにはMVCを作るための土台はないがPloneにはある DjangoとTurboGearsとRoRにはMVCを作るための土台がある XOOPSは(ry
>>485 物をレッテルで判断する癖はやめたほうがいい。
ちゃんと知りたいなら、それぞれについてきちんと学びましょう。
http://www.google.com/codesearch Python のコードもたくさん登録されてた。
distutils setup.py とか PyArg_ParseTuple とか Py_BuildValue とか
lang:python spam とか lang:python xml.dom とか
"Guido van Rossum" とか自分の名前とか。
○○は△△△に分類される□□□です,って分類自体は便利だね。 ただし,昨今のWeb系のフレームワークは分化が進みすぎて, 簡単に分類できないくらい複雑になっている。 自分で勉強して理解した方が,いろいろと利点が多いのは事実だと思う。
分類のジャンルの解釈で荒れたことがありましたな。くだらね。
494 :
デフォルトの名無しさん :2006/10/06(金) 20:41:58
tubogearsがいまダウンロードできないのは私だけ?
何だそれは? 「Pythonで書かれた2chフレームワーク」か何かか?
厨房ギアなんて誰もダウソしたくないがな
普通は改行と正しく揃ったインデントが要るはずのfor文だけど、 式一つ分はコロンの後に、そのまま(\n/t無しに)続けて書いてもなぜか動く。 じゃあと一行書きを続けようとしても、式二つ以上はどう\n\t挟んでもダメ。 うーん、あえて統一しないで例外作っているのかな。
壺ギ屋
>>497 統一してない、というより、書き方が2種類あるだけ。
Cで「文が2つ以上のときは { } が要るなんて不統一だ!」と言うようなもの。
>>497 for i in range(10): print i; print i; print i;
>>499 ああ、そういう考え方じゃないとダメだったんだ。捉え方が違うのか。
Zenに何か該当する言葉があったような。何でも無闇に統一するなとか。
>>500 サンプルまで…。;で繋げばもっと書けるし、\tはそもそも要らないのね。
ちょろっと実験してみたら、正式でのネスト2段以上は、一行化無理だった。
実用性が微妙だけど、見づらくなる長い一行が排除されるのはいいことかも。
while文の中のif foo = True: breakみたいなのは使うが,forを改行なしで書かない たいていリストコンプリヘンションとかで代用できるから
C の {...} は全体でひとつの文なので、統一は取れてるよ。 Python のはむしろ Fortran77 や Basic の if 文に近い。 Basic だと if i>1 then if i<3 then print i end if は OK なのに if i>1 then if i<3 then print i end if はエラーになるんだよね。
だから何なんだ? 食事の作法にいちゃもんつけたって何も始まらんぞ。 そういう決り事なんだよ。別の事に関心持てよ。
アホか。これは食事の作法じゃない。
だからー Pythonの良い所は誰が書いても同じように(ry まあ一部の変態(ほめ言葉)はラムダ式を駆使して難解なプログラムを書いているようだけど そこまでやるなら、何もPythonじゃなくても・・・と思う事がままあるw
あんなの誉めてどうするのw ププ
誰が書いても同じようになる? んなわきゃないw
インデントでブロックを表すのはやっぱり見やすいよ。 ただ、タブやルーラや縦線が表示できないエディタだと、 一気にブロックを抜けたときにちょっと混乱するなぁ。 逆にあんまり長い関数を書かないようになって、いいかもしれないけど。
無論全く同じではないけど ある程度共通作法的にはなるよね 読みやすさを成す要因の一つではあるでしょ
「服装の乱れは心の乱れだ!」っていう中学の先生の台詞は 言われてる厨房の頃はバカジャネーノって思うけど 社会人になってみると的を射てるなあと思う のに似ている
508=509はいい年して心が厨房だってことだな. かわいそうに.
windowsでもpython使ってみようかと思ったのですが、 cygwin版を選ぶメリットはあったりしますか?
>>514 cygwin上で使える以外,メリットが思いつきません。
今ってPyJUGの日本語Pythonは古すぎて スレによくでてくるジェネレータの内包表記を使えないし、 選択肢は本家のかActiveStateのぐらいなんじゃね。 しかしPyKfとかの導入でコンパイラが必要に。
???
>>516 PyJUGの日本語Pythonってのは過去の遺産として残されてるだけ
元々本家にコーデック足したくらいのもので選択肢の違いとかの話じゃないし
コンパイルが必要なモジュールも利用したいが、 フリーなコンパイラじゃないと困る人は、 どのバージョンのpythonを選べばいいのかな。
Python の interactive mode を発展させるとエディタいらなくなると思うんですけど・・ 対話式でプログラム組んでいくの。
PYJUGの日本語PYTHON、用途によっては便利なんだよね
>>442 決めつけぶりがクリソツな521とは関わりたくないな.
いちいち喧嘩腰で絡んでくる奴は「構ってクン」っていう奴だから相手しちゃだめよ。
>>523 関わりたがってるのは」おまえだけ(断定調)
Matz is nice, so we are nice.
華麗にスルー
>>524 2chで君のような「俺には全部お見通し」みたいな態度のレスする奴も「構ってクン」の該当者だから。
「2chで」がポイントね。わざわざそんなこと言う意味がわからん。
まさに「構ってクン」法則の発動。
↑素晴らしい自己分析
except: raise
華麗にスルー(涙目で)
日本語Pythonぷぷ
>>520 むしろエディタから必要に応じて interactive mode を呼びだすほうがいいのでは。
Emacs の python-mode みたいに。
>>520 小さなプログラムの開発には便利かもね。
規模が大きな開発や,複数人の開発ではかえって使いづらいかも。
テストという発想が抜けてるんじゃないかなぁ???
たまにインタラクティブモードでごちょごちょハックした後 あー今の状況ファイルに書き出してーと思う時があるんだよなあ SQLServerのManagement Studioみたいに 上にエディタ、下にインタラクティブウィンドウがあって 上で何行か選択してショートカットキー打つとその部分を下で実行、 みたいな環境は無いものかなあ。
>>537 俺はEmacsでプログラミングしているので、
いままで当たり前のようにそうやってきたのだがw
vim 中華思想のオレがきましたょ.
vim7のpython補完はかなりいいけど、vimってemacsと違ってpythonのプロセスを 非同期で実行できないよね? あれが出来ると時間がかかるコードを裏で実行しておいて、結果が戻ってくるまで 他の作業が出来るのだが、、そうでないとUIがロックされて不快なんだよな。 出来るならemacsからの乗換えを検討するんだけど。。。
viとvimを混同している厨房は氏ね。
>>536 まず仕様をざっくり考えるだろ
テストを書くだろ
テストのウインドウを横に並べて見ながら、コードを書くだろ
こういうスタイルのオレは、マルチウインドウのテキストエディタを使ってます
ストロングスタイルは性に合いません
>>541 できるよ。
標準で用意されてないから少し自作する必要はあるけど
python使えるし簡単。
545 :
541 :2006/10/08(日) 12:22:41
>>544 前にその手のスクリプトをvim.orgで探してみたんだが、見つからなかったので
vim scriptの仕様上無理なんだと思ってた。
なるほど自作すればいいのか。
ところで、
>>544 氏がそういうスクリプトをすでに作ってあるなら、どこかにうp
していただけるとありがたいのだが。。無理なら自分で自作してうpります。
本家pythonを使ってても、拡張モヂュールのコンパイルは mingwのgccでいけるの?
大丈夫
tnx
python での2重以上の配列(リスト)について。 array = [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9,10,11]] みたいなときに、第二階層以下の配列要素を 取り出すような操作って出来ますか? (今はよくわからんから for: で回しちゃってます) array[][0] とか array[][1,3] とかみたいなイメージ...
イメージを書くの忘れました array[][0] : [0,4,8] array[][1,3] : [[1,5,9],[3,7,11]]
zipしてスライスしてまたzip?
リスト==配列 と思い込んでいる初心者を良く見かけるけど どこかの入門書に書いてあるの?
numarray使ってよければ from numarray import * # array = reshape(arange(12), (3,4)) a = [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9,10,11]] array = asarray(a) print array[:,0] print transpose(array[0:3,1:4:2]) リストに戻すときは print array[:,0].tolist() print transpose(array[0:3,1:4:2]).tolist() とか
#こんな感じかな
#普通にやる場合
zip(*array)[0] # [0,4,8]
[zip(*array)[1],zip(array)[3]] # [[1,5,9],[3,7,11]] (めんどい)
#関数を定義してやる場合
def zipslice(array,*args):
fetch = lambda a,i: zip(*array)[i]
if len(args) == 1:
return fetch(array,args[0])
esult = []
for i in args:
result.append(fetch(array,i))
return result
zipslice(array,0) # (0,4,8)
zipslice(array,1,3) # [(1,5,9),(3,7,11)]
"*"が使いこなせるようになるとPythonの良さが分かると思うのでおすすめ。
参考
http://www.python.jp/doc/release/tut/node6.html#SECTION006700000000000000000
557 :
551 :2006/10/09(月) 11:23:18
行列の転置(添字の順序入れ替え; a[x][y] => b[y][x] )せずに
要素だけ抽出するのは
[(n[0],n[2]) for n in array]
で出来るみたいですね(読みやすくはない... 慣れの問題かな?)。
>553
ヒントありがとうございます。
zip の使い方がよくわからなかったんですがぐぐってみました。
ttp://newworld.ddo.jp/doc/python-iaq-ja/index_html zip(*array)で転置(?)が出来るんですね。
=> zip(*[zip(*array)[1],zip(*array)[3]])
えーと 3階層のリストになると... もうワケワカメ... orz
(1,2番目が入れ替わるみたい???)
558 :
551 :2006/10/09(月) 11:29:56
うおっ、書いているうちにアドバイスが沢山。 勉強ネタが増えてうれしい悲鳴 :-) 特に >556 さま、ありがとうございます。 >555 やはり数値処理的な手法に強いパッケージの方が 処理がやりやすいですね (S とか R の添字処理をついやりたくなってしまいます...) >554 いや C 的な意味というかメモリ効率やら数値演算ライブラリで 扱う意味での array とは違うのは分かってますが、 本件の疑問自体が python におけるリスト処理問題として 何かまずいアプローチなんでしょうか?
1回代入することになるけど、コレが一番シンプルだと思う >>> r=zip(*array) >>> r[1],r[3] ((1, 5, 9), (3, 7, 11))
>>558 なぜ
> 配列(リスト)について
などと書く?配列ではないものを配列と呼ぶその理由がわからん
件の処理にリストに使うべきかどうか
ここに書かれた内容だけでは何とも言えない。
たとえばリストがものすごく長くなる場合などは
辞書など他のアプローチを使ったほうが良いこともある
時差ぼけはだいじょうぶみたいですね。
別に配列と呼んでも差し支えないだろ 何に拘ってるのか意味不明
自分が正しいって思わせないと気が済まないんだよ。
>>560 すまんが君の使う「配列」という単語の定義を書いてもらわないと何を言いたいのか
よくわからない。
Array
配列とリストは違うものだよ。 データ構造の講義は受けとけよ。
どーちがうの
566は話がわかってないな
>>566 お前はPythonの講義を受けろ。それまで来るなボケ
Pythonのリストは配列だよ
566が配列なんだよ
>>560 Dive onto Python っていう入門書に、
Python のリストは配列だって書いてあったよ.
これも意味不明だったよな。 まさか「リスト」って単語だけで Linked Listと勘違いしたプログラミング初心者なのだろうか? 554 名前:デフォルトの名無しさん[sage] 投稿日:2006/10/09(月) 11:11:34 リスト==配列 と思い込んでいる初心者を良く見かけるけど どこかの入門書に書いてあるの?
普通 sequence をシーケンス、array は配列と訳して区別するだろ. リストも array も sequence だが, リストは array じゃない。
でもPythonのリストは配列ですよ。
>>574 句読点がぐちゃぐちゃなのがキチガイ風味(怖
実装の違いとプログラミングにおける違いを混同してる人がいますね。 リストとタプルが同じような添字操作等が出来るように 工夫されていることを否定したいんだろうか... pre-python 世代の言語にしがみついて使ってればいいじゃん。
>>576 お前が学術もしくは一部役所の世界を知らないことだけは分かった(pgr
華麗にスルー(涙目で)
華麗にスルー(嗚咽しながら)
ヌルッとスルー(ぬるぬるしながら)
>583 はスルー力がたりない。
5 人中、0人の方が、「574が参考になった」と投票しています。
unsubscribe
escape
学術だか一部役所だかで「.,」と「。、」が一つの文に入り交じるような書き方する用途あるのかなぁああ?
crazy...
ここ5スレくらいはこんな感じ。合流前は…
591 :
デフォルトの名無しさん :2006/10/10(火) 05:12:51
from exceptions import SystemExit as a raise a
つ dic.setdefault(key, []).append(val)
>>573 Perl では全部リストになるような気がする
中の実装の話じゃなくてそういう記述が多かったような
pythonからプログラム始めて、ある程度組めるようになった俺は SICPとオブジェクト指向関係の本どっち先読んだらいいかね? まだ学生で、別に即戦力は求めていない。
>>595 SICPはできるだけ若いうちに通読しておいたほうがいい。(Pythonとは関係ないけど)
オブジェクト指向関係の本なんてどうでもいいと思う。w
男はMT取らないと恥ずかしい、女はATで十分
AT限定免許ですが何か。
むしろタプル駐車
>599 列の中の任意の場所に入り込んだりできるわけですな
つまり辞書駐車は月極ですと。
正規表現にMTとATがあると聞きました
604 :
Python初心者 :2006/10/10(火) 15:38:28
突然で失礼致します。 極めて基本的な部分を教えて下さい。 (Python2.5,Windows XP) PythonのIDELを使用して下記のコードを作成して 実行してみました。 strings=[ "Bush","田中","中村" ] # 文字列のリスト for s in strings: # 文字列のリストに対してループ print s print strings #全体の配列表示 結果は下記の通り: Bush 安倍 金 ['Bush', '\x88\xc0\x94{', '\x8b\xe0'] 何故?配列全体表示の場合に全角文字だけが 文字化けするのでしょうか?
>>604 極めて基本的な事だけど ASCII の範囲に無い文字を文字列に入れる場合は
Unicode 文字列にしないと駄目
strings=[ "Bush",u"田中",u"中村" ] # 文字列のリスト
for s in strings: # 文字列のリストに対してループ
print s
print strings #全体の配列表示
結果:
Bush
田中
中村
['Bush', u'\u7530\u4e2d', u'\u4e2d\u6751']
そして最後の場合のように Uincode 文字列を直接 print 文にかけたのではない場合は
ASCII の範囲で表記できるように Unicode-Escape エンコーディング
http://www.python.jp/doc/release/tut/node5.html#SECTION005130000000000000000 に変換して表示される
> 極めて基本的な事だけど ASCII の範囲に無い文字を文字列に入れる場合は > Unicode 文字列にしないと駄目 こらこらw
Python3000になればすっきりするんだけどな
配列とかユニコードとか、ここは楽しいインターネットですね
楽しいのは、少数の crazy な人たちだけですよ. たいていの人間は,ごく普通。
個人特定厨ウザイ
>>596 SICPでも買ってこようかな。アドバイスthx
>>611 > Pythonはもともと教育用に作られたので
嘘
> 残念ながら、Pythonの日本における普及度はそれほど高くありません。 > この一つの理由は、日本語コーデックの標準搭載が比較的最近(Python-2.4) > であったためだと思われます。 これもどうかと思う。
> 日本語訳は訳に立つでしょう ぜんぜんうまくないぞ。
>>619 「訳に立つ」のことを言っているのだと思われ
× 訳に立つ ○ 役に立つ
>604 を見て どういう方法で 田中・中村 が 安倍・金 に変換されているのか しばらく考え込んでシマッタ
>622 何これ、なんで変換されるの? もしかしてすごいテクニークつかってるの?
ツマンネ
カレーにする
それ当たってると思う。 「日本語の扱いがいまいちなのかー。」って勝手に思ってて v2.4 まで食わず嫌いでした。
>>626 自分でためしもしない奴はなにを使っても駄目だろ。
>>627 日本語の扱いがいまいちだな。
v2.4まで食わず嫌い "でした" だよ。
どうみても船頭だらけです。 本当にありがとうございました
Jython 2.1で日本語を扱う方法がわりません。 ファイル先頭に # -*- coding: utf-8 -*- と書いて print u'日本語' としても化けます。 CPythonでは化けませんでした。
2.3 + JapaneseCodecs は "試しもしなかった" わけですね.
思わず Jython 2.3 を探しに出かけた俺ガイル。
jython の中の人が 鉄python に化けて出てしまって 放置プレイ中と聞きました
「試す」って行為に関して言えば標準搭載か否かで ずいぶんン話変わると思うのね
635 :
Python初心者 :2006/10/11(水) 17:04:30
安倍、金はBushと並べた「遊び」でOPしたものが
紛れこんだものです。
闘う政治家達ってところでしょうか…
他意はありません。
>>607 ご指摘の通り、print文だとファイルからでも
問題ないようです。
class File:
def __init__(self,filename):
self.file = open(filename,'r')
def __getitem__(self,index):
line = self.file.readline()
if line:
return line
else:
raise IndexError
for line in File("tatakau_seijika.txt"):
print line
出力は:
Bush
安倍
金
ダメだこりゃ
637 :
超ド級初心者 :2006/10/11(水) 19:30:52
新しくpython2.5 をインストールしたのですが、pythonのエディタでつくったファイルがSell上でインポートしても何も起きません・・・なぜでしょうか?
知らんけど、エラーとか出てないの? 出てないんだったら何もしないスクリプトを実行しただけでは?
cell? shell?
初心者の初心者による初心者のための超能力スレはここですか?
むしろ住人のスルー力を試すスレ
Matzからのメール受信通知に驚いた。 MLには結構でてくるの?
戦艦ドレッドノートより凄い初心者登場ですね
>>643 MLでは、オマエなんかより彼の方がよほど古株だよ。
646 :
超ド級初心者 :2006/10/11(水) 21:58:23
pythonのGUIです。print "Hello" という簡単なプログラムで実験したところ、エラー表示も出ずなにもおこりませんでした。ついでにコマンドラインのほうではできました。
確かに超ドレッドノート級は凄いな
pythonのGUIってpython.exe押したら出てくるやつのこと?
つかPyJUGのチュートリアルの和訳のクラスの章の 最初の部分、基底クラスから拡張することは出来ません て、思いっきり出来ますの誤訳ですね。 こんなので勉強してたかと思うと恐ろしい・・・
>>646 Python GUI の窓のタイトルが「Untitled」になっているなら、
それはファイルを編集するための窓だ。
したがって、print "Hello" と入力するだけでは何も起こらない。
print "Hello" と入力して適当なファイル名で保存したあと、
メニューから Run Module を選ぶ(または F5 キーを押す)と
入力した内容が実行される。
実行時に開く窓(タイトルが Python Shell になっている窓)で
>>> のあとに print "Hello" と入力するとすぐに実行される。
ところで逆に質問だが、何か入門書やオンライン文書のたぐいを読んだか?
読んでないなら何かしら読んでしばらく自習してから出直せ。
初心者をいじめる初心者が集まるスレはここですか?
そう思うなら引っ込んでろ
>>649 なおしときました.レポジトリ上だけど.そのうちPyJUGサイトの分も更新されると思う.
Pythonの新しくて良い本って今だと何ですか? 和書は情報古そうなので、なるべく洋書で。
DIP HEAD
出版された時点は「もう古い」
まあ655みたいなやつはどうせ。
な、なんだよ。言ってみろよ!
>>655 「みんなのPython」か「はじめてのPython」しか選択肢ないような。
前者は出たの先月ぐらいだけど、Python2.4を基本に書かれてるという意味では古い。
後者はもっと古い。
書籍に情報の鮮度は求めずに、立ち読みして好きな方買えば?
どうせ本だけじゃ完結できないんだし。
662は,注意深く文章を読む癖を付けたほうがいいな。
>>657 ,658
どうも。Pythonの機能を場当たり的に憶えてきてるので、
リファレンス的に使えて、かつ全体の見通しがきくものがいいです。
657の後者ってamazon.comと.jpを比べると1USD=200JPY以上のレートに
なってますね。もともとamazon.co.jpは高いけど、こりゃひどくないか……。
まあ664みたいなやつはどうせ。
機械タソひさしぶりだな。
あの名前で引く...
全体の見通しなんて何の必要があるの?
なんとなく新しいオレに変われる気がするんだろ>全体の見通し
きっと主体思想の全体主義者なんだよ
671 :
Python初心者 :2006/10/12(木) 18:34:55
Python2.5の新機能を解説した日本語の HPはないでしょうか? 例えばwith statementって、かのVBのwithと同じか どうか?とか…
673は,注意深く文章を読む癖を付けたほうがいいな。
すみませんが、教えて下さい。 CygwinでないWindows環境でCPython2.5+IPythonが動いた方いらっしゃいますか? 動いたか現状動かないかだけでなく、動いた場合には注意点や 動かなかった場合の現状の問題点を教えて頂ければ助かります。 マイナーな質問ですみませんがご教授お願い致します m( __ __ )m
動いてる。 注意点は特にない。 普通にインストールするだけ。
>677
レス感謝です。
動くと言うことでコマンドプロンプトで起動したところ以下のメッセージが出ました。
**********************************************************************
WARNING: Readline services not available on this platform.
WARNING: Proper color support under MS Windows requires Gary Bishop's readline l
ibrary.
You can find it at:
http://sourceforge.net/projects/uncpythontools Gary's readline needs the ctypes module, from:
http://starship.python.net/crew/theller/ctypes Defaulting color scheme to 'NoColor'
Python 2.5 (r25:51908, Sep 19 2006, 09:52:17) [MSC v.1310 32 bit (Intel)]
Type "copyright", "credits" or "license" for more information.
IPython 0.7.2 -- An enhanced Interactive Python.
? -> Introduction to IPython's features.
%magic -> Information about IPython's 'magic' % functions.
help -> Python's own help system.
object? -> Details about 'object'. ?object also works, ?? prints more.
In [1]:
となったので、readlineをインストールしたところコマンドプロンプトからIPython起動すると
WARNINGも出ず、問題なく使えました。
で、ショートカットから起動すると一瞬ウインドウが出て落ちているようなのですが
こういった場合なんで落ちているかというメッセージを調べる方法あるでしょうか?
質問ばかりですみませんが、ご教授のほどお願い致します m( __ __ )m
ショートカットのリンク先が間違ってんじゃねーの?
なんで分かち書きなんだろう????
まずIronPythonの1.01を入れてみたらどうだろう? .NET Framework2.0 SDKもお忘れなく。
Pythonのインストールで躓く人も珍しいな。
>>681 なんでIronPythonが出てくんの?(IPythonは別物)
681は,注意深く文章を読む癖を付けたほうがいいな。
685 :
Python初心者 :2006/10/13(金) 15:44:39
>>672 Tks!
>>675 これも良かった!
___声明による未来__輸入から
ところで、
「はじめてのPython」第2版読みながら勉強して
います。Javaや.Netと同じように一旦中間コードに
変換してから実行しているのには驚きました。
Javaや.Net以外で、独自のVMをもっている
スクリプト系の言語ってPythonだけでしょうか?
clisp
>>685 >Javaや.Netと同じように一旦中間コードに
>変換してから実行しているのには驚きました。
逆に中間コードに変換しないで実行する言語を教えてくれ。
.bat
689 :
超ド級初心者 :2006/10/13(金) 19:14:41
お久しぶりです。永らく返信しないで申し訳ございません。ところで、pythonを詳しく習いたいんですが、初心者にも みんなのpython って理解できるでしょうか?また、いくらぐらいでうっているんでしょうか? 返信おねがいします
>>689 君には無理です。
VisualBasicがオススメです。
その質問内容から判断すると、pythonに限らずプログラミングの勉強は無理っぽい
> いくらぐらいでうっているんでしょうか? こういう質問をする奴には永久に何も理解できない。Pythonに限らず。
>>689 あなたのことを知らない我々にはなんとも答えられない質問だね。
自分で判断しなさいよ。
694 :
超ド級初心者 :2006/10/13(金) 19:25:38
ボロクソ
釣り失敗?
696 :
超ド級初心者 :2006/10/13(金) 19:30:40
失敗
Pythonの勉強より人生勉強しろよ。
698 :
超ド級初心者 :2006/10/13(金) 19:33:22
というかみなさんなんでそんなにしってるんですか?いったい何歳くらいからはじめたんですか?何からはじめたんですか?
機械化母星に帰れよ。
700
アンドロメダ星雲にPythonを教えてくれる星があるらしいよ。 殺された母さんが言ってた。
702 :
超ド級初心者 :2006/10/13(金) 20:00:34
とうとうイカれたか?
釣れた釣れた(wwww
カレーにスルーしとけよ
import functools functools.partial(response(689))
706 :
超ド級初心者 :2006/10/13(金) 21:49:15
釣るってどういう意味?
自己解決しました
なんでアンタがそれを知ってんのさ
709 :
超ド級初心者 :2006/10/13(金) 22:02:14
誰だよ707
710 :
Python初心者 :2006/10/13(金) 22:18:01
>>687 >逆に中間コードに変換しないで実行する言語を教えてくれ。
Bashのようなシェル言語は別としてPerl,Tcl,Ruby,なんか
インタープリター型言語と言われておりますが…
逐語的に翻訳されてんじゃないんですか?
http://www.tiobe.com/tpci.htm ところでこれによるとPythonがC#!を抜いて
Perlに迫ってますよね。
クソスレ
712 :
デフォルトの名無しさん :2006/10/13(金) 22:28:15
>>710 RubyとHSPが異様に伸びてるね。
不思議だ。
713 :
デフォルトの名無しさん :2006/10/13(金) 22:38:04
>超ド級初心者 まず、なんかひとつ、目的のプログラムを作ってみるといいよ。 何か作ろうとしてその途中で必要だったものは、結構覚えやすいから。 ここの平均年齢は結構おじさんだと思うよ。 みんなのpythonは3千円ぐらいみたいだよ。 読めなくても本自体一冊持ってるとなにかと便利なので買った方がいいと思う。 ちなみにみんなのpythonは最初の方は本当に基本から書いてるので、 たぶん最初の方は読めると思う。でも最後の方は、かなり最新の技術 まで乗せてるのでその辺は分からんと思う。まあ、長く付き合える 本と思えば3000円は安いのでは?(社員じゃないですよ
>ここの平均年齢は結構おじさんだと思うよ。 おじさんで初心者ばかりなのか。さびしいな。
>>713 が何も知らない人に自分の都合のいい事ばかり吹き込む
悪徳セールスマンチックにしか見えない。
(www ←
>>716 最近はあまり聞かなくなったが、Java登場時はよくバイトコード・インタープリタという言葉が使われていた。
720 :
676 :2006/10/14(土) 00:55:11
Ipythonについて自己レスです。 Python本体のインストール先を C:\Program Files\python から C:\python25 に変更したら動きました。基本的にデフォルト値のディレクトリに インストしないときびしいのですね、、、 お騒がせ致しました m( __ __ )m
IPythonは便利だと思うのだが 使っている人が少ないのはなぜだろ
matplotlib使うなら必須だよな
初心者っぽい676がどうしてIPythonを知るに至ったか、興味があるな。 よかったら教えて欲しい。
>724
IPythonって想像以上にマイナーっぽいですね orz
使い始めた理由ですが、wxPythonを使ってプログラム組みたかったのですよ。
で、Pythonの基礎学習としてIDLE使っていたのですが、あまりに訳分からなくて、、、
wxPythonの紹介しているサイトでIPython勧めていたので入れた所存です。
初めてのPython片手にコード書いてます。IDLEと比べると格段に使いやすくていいですね。
・IPython参考サイト
ttp://python.matrix.jp/modules/ipython.html
GUIやりたくてCUIにたどり着いたわけか
VisualP++マダー?
5流が釣れた(wwwwwww
>726 各種チュートリアルやるときには、インタラクティブモードのある コンソールがあると便利なので。 Python初心者だから一からやっております。
IDLEにも「インタラクティブモード」があるわけだが。
731 :
630 :2006/10/14(土) 12:50:54
>>631 お返事有り難うございます。
が、2.3というJythonはないようです。
Jython 2.1ではutf-8エンコーディングすら、ソースコードに使うことができなくて困っています。
どなたかこの問題にお詳しい方のご教授をよろしくおねがいします。
732 :
Python初心者 :2006/10/14(土) 14:16:03
「初めてのPython」の練習問題から: >>> L=[1,2] >>> L.append(L) >>> L [1, 2, [...]] これに関して質問が三つあります。 1.>>> L.append(L)の関数適用時点で何故すぐ 結果が出ないのか? 2.[1, 2, [...]]は無限に1,2がループする意味と 想定するが、どうしてその判断を[...]と言う形で プログラム自身が出来るのか? プログラムの自動停止問題と絡めて説明下さい。 3.>>> Lでループが開始されているが、Lという オブジェクトのコンストラクターにはどのような 定義がされており、このような再帰的動作になるのか? 上記本の最初にある入門者用の練習問題ですが よろしくお願いします。
最初から躓いてるんだね。 がんばれ。
734 :
デフォルトの名無しさん :2006/10/14(土) 14:26:31
appendメソッドの戻り値がNoneだからでしょ >>> a=L.append(L) >>> a >>>
sage厨にも気をつけような
釣れた釣れた(WWWWWWWWWWWWWWWWWWWWWWWWWW
ム板では、質問は上げるってのは通例だが。 というか、そもそもム板で上げ下げを気にする必要はまったくない。
こっちも後釣り宣言厨が釣れたので引き分けだな
ところで
>>734 に対するツッコミどころは目欄じゃないはずだz
734は質問なのかな.
> どうしてその判断を[...]と言う形でプログラム自身が出来るのか? 原理的にはこんな感じか? def repr2(obj): done = set() # store id of list def repr3(obj, done): if type(obj) == "list": if id(x) in done: return "..." else: done.add(id(x)) return "[%s]" % repr3(x, done) else: return str(obj) return repr3(obj, done) if __name__ == '__main__': L = [1,2] L.append(L) print repr2(L)
違った。こうだ。 def repr2(obj): done = set() # store id of list def repr3(obj, done): if type(obj) == type([]): # list if id(obj) in done: return "[...]" done.add(id(obj)) return "[" + ",".join(repr3(x, done) for x in obj) + "]" else: return str(obj) return repr3(obj, done) if __name__ == '__main__': L = [1,2] L.append(L) print repr2(L)
> Lでループが開始されているが、Lという > オブジェクトのコンストラクターにはどのような > 定義がされており、このような再帰的動作になるのか? コンストラクタ?__repr__がそう定義されてるからじゃないの? >>> class A: ... def __repr__(self): ... return "hoge" ... >>> a = [A(), A()] >>> a [hoge, hoge]
>>743 こうじゃないか?
def repr2(obj):
done = set() # store id of list
def repr3(obj, done):
if type(obj) == type([]): # list
if id(obj) in done:
return "[...]"
done.add(id(obj))
ret = "[" + ",".join(repr3(x, done) for x in obj) + "]"
done.remove(id(obj))
return ret
else:
return str(obj)
return repr3(obj, done)
if __name__ == '__main__':
L = [1,2]
L.append(L)
print repr2(L) # [1,2,[...]]
L = [1,2]
print repr2([L,L]) # [[1,2],[1,2]]
しかし、使い道がまったく思いつかない・・w
みんな車輪の再発明が大好きなんですね。
>>748 有り難うございます。
でも、そんな後ろ向きなエンコーディング使っても解決にはなりません。
やはりUTF-8でそのままコーディングしたいです。
IPython便利だね。 DOSコマンドが呼び出せたり、TAB補完してくれるエディタが欲しかったんだ。 教えてくれてありがと。
IDLEと違って,IPythonは環境を選ばない。 鯖上にインストールしたPythonでも使えるのがいいね。
明日辺りになって「ここは誰も質問に答えないクソスレですね」とか書かれるような気がするので
>>732 に形式的にマジレスしとく。
1.
appendメソッドの機能はそのインスタンスの要素に引数を加える変更を行う事。
それに戻り値は無いため、したがって「結果」は出ない。
2.
想定が誤っている。[1,2,[...]]はデータであり、「ループ」や「停止」といった動作は無い。
したがって「自動停止問題と絡めて」という部分は無視する。
[...]はL全体へのポインタであるため、L自体のアドレスとそのポインタが指すアドレスを比較する事で
容易に判断できる。
3.
2.により判断が出来るため、Lを参照する際にループなど発生しない。
再帰的動作もしないため、質問自体が無意味。
プログラミング思想スレッド
>>753 オマエの空気の読めなさ加減に絶望した。
from __future__ import * ↑最強
前置きが余計で気分を逆なでしたような気もするが、答えをまとめてる奴を よってたかって叩く住人も相当だ。ID無いから一人だけだ、と思いたいけれど。
758には感動した。 758を次期総理大臣に指名したい。
誰もマジレスしてないみたいな表現にアキレタ
「〜けれど。」「〜のだけれど。」と書く奴に碌な奴はいないの法則。
俺のために喧嘩するのはよしてくれ
753 = 758のせいでクソスレになっている件
ファーブルスコ
集中砲火ワロス
工作員が潜入してるっていうのが改めて証明されてしまったね
あからさまな連投必死すぎ。かわいいね〜
769 :
768 :2006/10/15(日) 09:13:20
ってなんてタイミングで直前の
>>767 だよw
俺が連投したように見えちまってるじゃねえかw
俺ダサス
相変わらず腐ったスレだw
これが噂のRuby化現象かw
釣れた釣れた. リアル敗北者が連れた(WWWW. お前はRubyでも使っとけ(WWWWWWWWWWWW.
774 :
630 :2006/10/15(日) 11:01:37
>>630 です。
JythonでUTF-8の件、まだまだ未解決のため情報を募集中です。
色々試してみて、Shift-JISでソースを書いたら
行頭のエンコーディング指定にかかわり無く
なぜか日本語が扱えました!
Jythonの側の問題ではなくJVM側の問題なのでしょうか、、、
何でまた Jython なんか使いたがるのか分からん…
>>775 ありがとうございます。エンコーディング指定を外しました。
そしてjava -Dfile.encoding=UTF-8を指定してみました。
するとタイトルは日本語表示されるようになりましたが、
今度はボタンだけが四角形に文字化けしてしまいます。
import java
from java import awt
def exit(e): java.lang.System.exit(0)
frame = awt.Frame(u'テスト', visible=1)
button = awt.Button(u'閉じる', actionPerformed=exit)
frame.add(button, 'Center')
frame.pack()
awt側のバグでしょうか?回避策はあるのでしょうか。
779 :
Python初心者 :2006/10/15(日) 15:45:31
>>753 マジレス深謝。
X1 了解
X2
>想定が誤っている。[1,2,[...]]はデータであり、「ループ」や「停止」
>といった動作は無い。
但し、
初めてのPython P655より
1.5.1より前のヴァージョンでは、循環オブジェクトを作成する
コードが実行されれば、単純に[1,2,[1,2,[1,2,…と無限に
出力される。しかし、それ以降のヴァージョンでは無限に出力を
続けるのではなく[…]とだけ出力して実行を終了する機能が
追加されています。
と書いてあります。この「実行を終了する機能」とある以上
なんらかのループ実行を止める機能があるのではないでしょうか?
780 :
デフォルトの名無しさん :2006/10/15(日) 16:01:30
それが「循環参照をチェックして止める機能」なんじゃないの。
>>779 >>753 も間違ってるから気を付けろ
[1,2,[...]]は内部データそのものを裏技的に見てるわけじゃなくて
単純にlist.__repr__()の返値である文字列
つまり、循環を終了させるコードを持ってるのは__repr__
一応__repr__はlistクラスのメソッドではあるんだが、
内部的に特別扱いで循環停止してるわけじゃなく
単純にそう書いてあるからそうなってるだけ
全然プログラムの自動停止とは関係ない
組込型だから実際には出来ないが
__repr__メソッドを上書きすればお望み通り無限に循環させられるはず
listのサブクラスでも作って__repr__いじれば納得するんじゃないか?
>>779 そもそも、「循環」といっても、実際には配列自身のポインタが要素として含まれているだけ。
repr は、配列の要素を1つずつ出力していくが、ポインタがあった場合は代わりに
そのポインタが指し示す本体を出力する、という関数。
確かに、何も対策がなされていない repr 関数に循環データを渡すと、repr 関数は
ポインタを追いかけ続ける(無限ループになる)ので、実行は停止しないけど
1.5.1 以降の repr 関数では「一度チェックしたポインタは追いかけずに、代わりに[...]を出力する」
というルールを作る事で、無限にループになるのを防いでいるものと思われる。
>>779 の言っている「実行を終了する機能」とは、恐らくこのルールの事だね。
>>779 > なんらかのループ実行を止める機能
機能というか、リストオブジェクトが自分自身を表示する処理部分
(クラスでいうと __repr__ メソッド)が循環参照を検出するように
作り込まれている(1.5.1より前のバージョンでは作り込まれていなかった)ってこと。
どのように作り込まれているかを推測してコードで示したのが
>>742-745 だ。
端的に言えば、組み込み関数 id() を使えば循環参照は容易にチェックできる。
>>> L=[1,2]
>>> L.append(L)
>>> id(L)
12455536
>>> id(L[-1])
12455536
>>> id(L[-1][-1])
12455536
>>>
リストの要素としてそのリスト自身が現れたら循環参照とみなして表示を打ち切る、というわけだ。
>>742-745 のコードもそのようになっている。
示された答えを答えだと気付かないところは確かにPython初心者だね。
もっとも、答えの示し方も親切とはいえないけど。
まあそういう場所なんで、これに懲りずにPythonの勉強を続けてちょ。
784 :
783 :2006/10/15(日) 16:35:00
うわぁ、めっちゃカブった。ケコーン
>>779 んーと、[1,2,[...]]という状態を誤解してると思う。
「L.append(L)した時点で、ループが始まって[1,2,[1,2,[1,2,[…]と無限に続く物が『生成』されるはずだけど
途中で止まってるって事は無限ループを判断出来てる?」と思ってない?
そうじゃなくて。まず[1,2]という状態が、メモ用紙に「1 2」って書いてあるような状態だとするよね。
そこでL.append(L)とした結果は、文字通り「1 2 (このメモ用紙自体)」とだけ書き足す。そんな感じなんだよ。
であるから、appendの時点ではループも何も起こらない。
で、そのメモを読む時に「これ自体」っていうのにしたがって
そこまできたらメモの頭からまた読み返しはじめようとしたならろくな事にならないので、
メモ用紙に振ってあるページ数を利用して判断するようにしてある。
というイメージではどう?
ここは誰も質問に答えないクソスレですね
ここは誰も質問に答えないクソスレですね
ここはおっぱい村です
敗北者がたむろするおっぱい村ですか。いいですね。
現在のみどころ:pythonの話になってしまって絡めない連中の嫉妬っぷり
最初の練習問題にここまで詳しい解説が必要な「はじめてのPython」って一体…。
その例題はわざとそういう疑問が出るようにしてるのだと思う。 いま手元にないのでうろ覚えだが、本文のコードや他の例題も同様なのが割とあったよ。 Python初心者向けの本だけど、プログラミング初心者向けの本ではないし。 だから、初心者は判らないことを一時棚に上げて読み進んで、後から見返せばいい、 って思わないと辛いかもしれん。
はじPyは、作者タソの講習用教材がベースになってるんだよね. 講習なら、疑問が沸いたらセンセイに聞けばいいわけだけど.
>>791 いや、その練習問題(というかまとめと演習)は
「これをやってみましょう。『詳しくはII部で触れますが』、pythonのバージョンが1.5.1以降であれば
不思議な結果が出たと思います。
1.5.1以前の場合はとまらなくなるのでCtrl-Cで中断させてください。
なぜ止まらなくなるのか考えてみましょう。」
という感じになっているわけで。
大多数の人間はふーんと思うぐらいにしてさっさと先を読め進めると思われる。それが自然。
また、そもそも循環参照についての説明は
>>779 が引用している部分の直後に
図付きで非常に丁寧に説明されている。
こんなところに書き込む前になぜそこまで読まなかったのか。それが疑問でならない。
長文のレスが微妙さを助長するな…。 せっかく反応してくれたのに申し訳ないが。
ま 図 こ
「俺は知ってるんだぜ」的レベルの項目羅列で終わっているみんPyと違ってはじPyはまともな作りだからな ちゃんと噛み締めればそれなりに栄養になってくれる
797みたいに、意味不明なキレ方する変な人が応援しているのか…。 やっぱり微妙だ……。
なんでPythonスレだけ、いつもこんななんだ…。厨ソフトスレみたいで情けない。 2chスレがPythonに泥を塗ったりはしないが、使用者は別じゃないの。PGってみんなこうかよ。
木を見て森を見ず レスを見てスレを見ず 一部のネガティブな書き込みが目立つだけ。 質問があれば答えが返ってきてるし、コミュニティとしては成り立ってる。 むしろ、善人しかいないコミュニティは破綻する。
面白い例作った。 >>>a=[2,3] >>>b=[5,7] >>>a.append(b) >>>a [2,3,[5,7]] >>>b.append(b) >>>a [2,3,[5,7,[...]]] >>>b.append(a) >>>a [2,3,[5,7,[...],[...]]] >>>b [5,7,[...],[2,3,[...]]] この場合aのなかの[...]と[...]はそれぞれbとaをあらわし、 bのなかの[...]と[...]は両方ともbをあらわしている。 つまり、単に、「自分自身のポインタを[...]に置き換える」 のではなく誰かが言ったように「一度チェックしたポインタを[...]に置き換える」 というのが正しいと思われる。 もし、「自分自身のポインタ」に限定すると、 上の例だと無限ループする
それがなんの役に立つの?
ズレ過ぎててやっぱり微妙だ…。
ここはされてもいない質問に答えるスレですね。
>797 なんで「みんなのPython」がでてくるの? 強迫神経症とか、そういう病気にかかった人みたいで怖いです。
なぜ過剰に反応するの?
808 :
Python初心者 :2006/10/16(月) 16:27:45
皆さんのお陰で仕組みが分かりました。
有難う御座いました。
>>794 >また、そもそも循環参照についての説明は
>>779 が引用している
>部分の直後に図付きで非常に丁寧に説明されている。
>こんなところに書き込む前になぜそこまで読まなかったのか。
>それが疑問でならない。
循環オブジェクトが永久に作成される仕組みが
「図付きで非常に丁寧に説明されている。」から
質問した訳です。
どうやって永久ループを止めて[…]とだけ出力
するんだろう?って普通は考えると思うが…
ところで、同書P656に「循環オブジェクトは時折
役に立ちます。」とあるがどんなメリットがあるので
しょうか?
809 :
:2006/10/16(月) 17:09:56
>>808 >皆さんのお陰で仕組みが分かりました。
>循環オブジェクトが永久に作成される仕組み
解って無いよw
>循環オブジェクトが永久に作成される仕組み まるでこのスレのようだ。
そういう風刺だったのか!?
微妙だ…。
環状線を表現するときとか? # coding: shift_jis class Station: def __init__(self, name): self.name = name self.next = None if __name__ == '__main__': s1 = Station(u"大阪") s2 = Station(u"西九条") s3 = Station(u"天王寺") s4 = Station(u"京橋") # next s1.next = s2 s2.next = s3 s3.next = s4 s4.next = s1 # iterate s = s1 for i in xrange(7): print s.name s = s.next 循環オブジェクトを永久に作成しているわけではない。環状線は線路を円状に つなげばできるが、駅を永久に建て続けるわけではないのと同じ。
良レス
>808 でようやく "何を疑問に思っていたのか" が分かった。 スレのみんなは linked-list だから list 自体への"ポインタ"が つくだけと思っているんだけど、>808 は入れ子にされたものを 「実際に生成されてる」(子のインスタンスをコピーとして(!?)生成?) っていう風に不思議に思ったってことだね。
816 :
815 :2006/10/16(月) 18:24:26
で、そういう疑問自体は悪いことじゃなくて devCamp2006s の「オブジェクト指向入門」の 初心者のハマリポイント集(でいいのかな?)みたいな ものの項目としてはいいものなんだよね。 808 本人でも誰でもそういうのをまとめてくれるといいな。
817 :
超ド級初心者 :2006/10/16(月) 18:57:26
みなさんはたいていIDLEとコマンドラインのどっちを使ってますか?
わたしはたいていコマンドラインを使っています
コマンドライン
Webブラウザ
IDLEで書いたプログラムをコマンドラインから起動してる
最近はIDLE。 >>> for path in a: line = extract(path) if line is None: print "None!:" + path まで書いて extract が実は違う名前だった場合、IDLEだと遡って修正できるが コマンドラインだと無理だから。
PyCrust
>>822 IPythonでそれやってて、
file('適当なファイル名','w').writelines(In)
ってした後、おもむろにエディタで修正するってのを思いついたけどやったことはない。
>>776 既存のJavaソフトウェアのエンジンにPythonで書いたGUIをWrapして使いたいからです。
JavaとPythonだったら圧倒的にPythonでの開発のほうが楽だとふんだからです。
awtのコントロール類はすべて文字化けしますが、
swingのそれは文字化けしませんでした。
今回はJython + awtで開発しようと考えていますので
awtの文字化けを回避する方法をご存知の方いらっしゃいましたらご教授お願いいたします。
swingで文字化けしないってことはUnicodeで通ってるってことか??? awtだとShift_JISで通るとかだったり
どういうコードになっているか、調べるプログラムくらい書いてみればいいのに
IPython派の俺がきましたょ。
dict()使うといよいよ{}書かなくて良くなる Pythonマンセー
確かに文字コードの問題は面倒くさいな。
831 :
デフォルトの名無しさん :2006/10/17(火) 00:59:27
>>829 http://www.python.org/doc/2.5/lib/built-in-funcs.html For example, these all return a dictionary equal to {"one": 2, "two": 3}:
* dict({'one': 2, 'two': 3})
* dict({'one': 2, 'two': 3}.items())
* dict({'one': 2, 'two': 3}.iteritems())
* dict(zip(('one', 'two'), (2, 3)))
* dict([['two', 3], ['one', 2]])
* dict(one=2, two=3)
* dict([(['one', 'two'][i-2], i) for i in (2, 3)])
へええ。色んな書き方が出来るんだな。
Rubyスレに飽き足らずこっちにまで張るなぼけ
そうか、中の人も大変だな
ところでWinXPの環境で、Jython2.2aを入れて
>>777 を動かしてみた。
読み通りShift_JISエンコードのソースだと動く。
uは意味なす
>>> type(u"unicode?")
<type 'str'>
>>> type("str?")
<type 'str'>
837 :
Python初心者 :2006/10/17(火) 16:21:13
>>815 頭のなかに関数型言語の無限リストのイメージ
があり、functoolかなんかのモジュールを使って
遅延評価されることにより、それが利用できるの
では?
とか考えていたもんだから…
for i in [1, 2, [...]]: print i
こんなことを書けば、無限リストが解凍されて
1,2,1,2,…とかループが再現されたりしてね。w
ところで極めて初歩的なことを聞きますが、printは
Pythonでは予約語!でstatementですよね?
何故メソッドじゃないんですか?
出力だけ予約語で入力のraw_input()は関数ってのも
変な話のように思うが…
838 :
:2006/10/17(火) 16:39:24
これがHaskellしか知らない世代ってやつ? 無限リストと循環参照の違いが理解できたのかいまいち不安だな。
Pythonのリストは配列です。 Pythonの無限リストは循環参照です。
退けるべきモノリスト + Ruby厨 + PHP厨 + 粘着キモオタ基地外 + 関数型言語厨 + Perl使い
+ C++使い
+ Python厨
>for i in [1, 2, [...]]: print i >こんなことを書けば、無限リストが解凍されて >1,2,1,2,…とかループが再現されたりしてね。 こう考えるのが普通だよな
>>843 子供用のおもちゃに期待するお前が間違い
>>843 データ構造がバラバラにされるのが普通なのか?
>>845 のような馬鹿はほっといて、次行ってみよう
初心者クンは、リファレンスについて全然理解してないんだと思う キミが若いなら、コンピュータの仕組みについて 基本的なところから学ぶことをお勧めするよ
>>843 何で勝手に入れ子のリストの中に入り込むんだよ。
[[1,2],[2,3],[3,4]]に対して1,2,2,3,3,4が帰ってきたら
あからさまに不自然だよ。
>>848 コンピュータはレジスタマシンですが何か
>>849 初心者クンは、リファレンスについて全然理解してないんだと思う
キミが若いなら、コンピュータの仕組みについて
基本的なところから学ぶことをお勧めするよ
>>843 そう思いたい気持ちも分からないでもないよ(w
Pythonのリストは、オブジェクトへのリファレンスを並べているだけなので
要素としてリストが登録されていても、リストへのリファレンスを返すという動作になる
>>851 キミはコンピュータの勉強する以前に人生について学ぶべきだな(w
Haskell株は何で上がってるんだろ
Haskellバブルは3ヶ月前に終わったよ
>>851 はHaskellを使う本当のプログラマーかWWWWWWW
>>855 どう頭おかしいの?
そのURL先みただけだと何にキレてるのか全然分からん。
まぁ客観的に見たらどっちかといえばお前の書き込みの方が病的だけどな。
>>855 基地外には一般人が「頭のおかしい」人に見えるんだね。
お帰り基地外。
もう来なくていいよ。
おかーさーん こーわーいーよーー
このスレにリアル基地外がいることだけは間違いない.
>>861 いや、そんな他言語の陰謀なんかより、857みたいなのが、悪いことと
分からずに書き込んだと考えるほうが自然だよ。
>>863 いや、「別の人」がPythonを理解していない点からしても、説得力はある。
キチガイには 自然でないことが自然に思えてしまうんですね 本当にありがとうございました
てか、匿名コメントが嫌なら、はてなユーザーだけが書き込めるようにすればいいじゃん と思ったのは僕だけですか><
コメントを書き込んで欲しい人がはてなユーザとは限らないんだろう。
for x in """ バロス バロス バロス """.split('\n'): fly me to "the moon"
'¥n'は不要
>>837 python3000 で print は関数になる予定だよ.
dic[key] = dic.get(key, []) + [val] とか? ・・・ どうみても setdefault の方がスマートだね(´・ω・)
TurboGears,Django,ZOPE3の内どれかはやればpython一気にきそうだね
web.pyは簡易すぎますか?
>>871 >dic.setdefault(key, []).append(val)
式として書かなければならない場合はこれかも試練が
>dic[key] = dic.get(key, []) + [val]
文でもいいならこっちの方がイイとオモタ
読んでて分かりやすいので
880 :
デフォルトの名無しさん :2006/10/17(火) 22:12:09
# PythonのソースをCやC++に変換するソフトウェアはありますか? # 書き出されたソースをgccなどでコンパイルしてネイティブで動作させるのが目的です。
pythonだせぇw
以上、よくあるPythonユーザーのやりとりでした
BBCは以上のレスに不適切な表現があったことを謝罪します
_ _ ( ゚∀゚ ) 呼んだ? し J | | し ⌒J
連投か。
887 :
デフォルトの名無しさん :2006/10/18(水) 00:00:58
Javaの場合、JUnitのコードが勉強にはもってこい(コードがあまり長くなくて設計が きれい)だと聞いたことがあるのですが、Pythonでこういう勉強にちょうどいい オープンソースのプロダクトとして何かおすすめはありますか?
ジェネレータの理解にはitertoolsのドキュメントが最高。
890 :
デフォルトの名無しさん :2006/10/18(水) 10:27:38
kent beck著 『テスト駆動開発入門』で、 pythonを使用してxUnitを作っています でもpython初心者にはわかりづらい
で?
おかーさーーん
895 :
塩水 ◆1FrMT.vzQQ :2006/10/18(水) 15:59:13
複素数の計算が出来るスクリプト言語ということでPythonやってみたんだけど、 エラーに対する判定結構厳しいね。 俺はよくif使っておおまかなコード思い付いたら書いてためたりしてるときがあるんだけど、 そのとりあえずってのができない。 i=1 if i == "1": (開発中のとりあえず実行可能なコード) elif i == "2": (アイデア思い付きのネタ帳的コード) みたいな感じで、2の部分に適当なもの詰め込んでたりしたんだけど、 Pythonは、i=1で2は回避するような状態にしてても、 実行時は2の部分の状態も考慮されて、2もとりあえず実行できる形になってないとエラーになっちゃうんだね… きびすぃ。
/ ̄ ̄\ / _ノ \ | ( ●)(●) . | (__人__) そういうコードはCみたくプリプロセッサがある言語以外では | ` ⌒´ノ コメントアウトしとくだろ… . | } 常識的に考えて… . ヽ } ヽ ノ \ / く \ \ | \ \ \ | |ヽ、二⌒)、 \
文法エラーだったら、論理的に実行されない部分のコードでもエラーになるよ。
>>896 まあそうなんだけど、オライリイー見ながらサンプルコードをひたすら作りまくって
貯めてるときに、俺は「こういう組み方するとこういうエラーが出る」みたいな
サンプルコードを作って、フラグで正常実行とエラー実行わけたものが保存できたら
いいかなーって思ったから。確かに致命的な問題じゃないけどね。
>>897 やっぱり例外には厳しいみたいだね。
でもそれだけ信頼性みたいなものは他のスクリプトよりも高いというのが魅力
なのかなあ…
>>898 保存できないです(><)
複素数以外にもオライリーの序章読んでPythonの魅力みたいなものは
概念的には把握できたつもりなので、早く体感できるレベルになってみたいです(><)
時差ぼけは大丈夫ですか?
大丈夫です。 血圧には自信がありますspam.py
902 :
Python初心者 :2006/10/18(水) 17:06:11
>>872 >python3000 で print は関数になる予定だよ.
やっぱりそうでしょうね。
しかし、いちいち
import sys
sys.stdout.write("Hello \n")
と書かせるってのは…
またまた初歩的な質問ですが、
クラス中のメソッドの第一引数に
self以外が入るケースはあるの
でしょうか?
printをstatementにするぐらいなら
毎度self selfとユーザーに入れさせる
負担を何とかしようとは考えなかった
のだろうか?
>>902 少しは自分で調べたり考えたりしろヴォケ!
>>902 ファンクションキーに self を割り当てるとか
(昔のBASICだな)
>>899 test = '''
#実験...
'''
i = 1
if i == 1:
exec test
>>906 そっちの方向には言ってはいけない気がする。
なんとなくだけど。
>>906 すご。実行できた。
[sio@cluster python]$ ./13_if.py 2
Traceback (innermost last):
File "./13_if.py", line 12, in ?
exec test2
OverflowError: integer literal too large
'を三つで囲むってどういう意味があるのかよくわからないけど
ちゃんとifで正常とエラー別けて実行できますた。
邪道だな。ファイル分けるとか、コメントアウトするとか、文法だけでも辻褄を合わせとく とかいくらでもマシな方法があるだろう。
>>895 if のブロック内に文法的に滅茶苦茶なことが書ける言語があるなら教えて欲しい
>>910 今シェルスクリプトでやってみた
#!/bin/sh
if [ $1 = "1" ]; then
echo "ok"
else
ls dummy
fi
で実行結果は
[sio@cluster python]$ ./test.sh 1
ok
[sio@cluster python]$ ./test.sh 13
ls: dummy: No such file or directory
なんだ。けど今思ったんだけど、これってシェルスクリプトと言うよりも
Linuxの内部コマンドによるエラーだから別物か…
PythonもLinuxのコマンドが利用できて、文法的には成立してれば実行できたりするのかな。
それはおいおい勉強すれば分かるかな。
それとあんまり関係ないけど、Pythonてタイプした後
つづり間違えてないか書いた後で思わずチェックしちゃうよね。
>>911 まぁ判ってるようだけど、その例は(シェルという言語にとっては)文法的に正しいからね。
それと、問題になってたPythonのコードはこれ #!/usr/bin/python import sys i=sys.argv[1] if i == "1": print '9999999999999999999999999999L + 1 =',9999999999999999999999999999L + 1 elif i == "2": print '9999999999999999999999999999 + 1 =',9999999999999999999999999999 + 1 else: print "abort" 文法的には問題ないと思うんだけど、2の場合オーバーフローするよね。 で、フラグを1としてもPythonだとエラーになっちゃう。 こりゃきびすぃー、と思ったわけです。はい。
あ、タブはちゃんと入ってます。
蛇足だけどパールでも実験してみた。 #!/usr/bin/perl if ($ARGV[0] eq "1"){ print "ok\n"; } elsif ($ARGV[0] eq "2"){ abababa } else { print "abort.\n"; } [sio@cluster perl]$ ./if_test.pl 1 ok [sio@cluster perl]$ ./if_test.pl 2 [sio@cluster perl]$ ./if_test.pl 3 abort. パールはエラーが含まれてても問題ないし、意味不明コードは完全放置みたい。 いろんな意味でいい加減なスクリプト言語だって意味はそーいうところにあるのかも。
>>917 うそ?環境に依存してるのかな。
[sio@cluster]$ ./test.py 1
OverflowError: integer literal too large (line 9)
[sio@cluster]$ ./test.py 2
OverflowError: integer literal too large (line 9)
で、2の
print '9999999999999999999999999999 + 1 =',9999999999999999999999999999 + 1
のところを
print 'ok?'
に変えたら
[sio@cluster]$ ./test.py 1
9999999999999999999999999999L + 1 = 10000000000000000000000000000L
[sio@cluster]$ ./test.py 2
ok?
になったよ。
MacOSX 10.4.8 (PowerPC G4) の Python2.4.3 です。 [****] ****% python test.py 1 9999999999999999999999999999L + 1 = 10000000000000000000000000000 [****] ****% python test.py 2 9999999999999999999999999999 + 1 = 10000000000000000000000000000
>>919 あ、ほんとだできてる。
なんだろう。ちなみに自分の環境は
カーネルは
2.4.20-28.7smp
インタラクティブモード起動時のメッセージは
Python 1.5.2 [GCC 2.96 20000731 (Red Hat Linux 7.2 2 on linux-i386
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
鳥が古いのは計算機の業者との契約の関係や、今特に不満の無い計算環境を再構築するまでもない事、
セキュリティー的には外部と隔離されてるということで。
見たところ
>>919 さんの方がバージョンが上だから、
このへんが改善されたのかもしれないですね。
このエラー例はオライリーの例題(改)なんですよね。
改訂版ではこの例題は使えなくなるかもしれないですね。
> 1.5.2 ぎゃふんw
>>915 Pythonスレでつっこむのもなんだけど Perl では strict モードじゃないと
引用符で囲んでない単語(ベアワード)が、文字列として評価されるだけ。(abababa→"abababa")
文法的な間違いじゃなくなるので、エラーはでない。ためしに use strict すればエラーになる。
中途半端な知識で他の言語の陰口たたくみたいな真似はやめようよ。
それにしても言語名を片仮名でパールとかパイソンとか書かれると、
心のどこかがかゆくなるは僕だけですか><
僕の肛門も定期的にかゆくなりますです(><) perlは良い意味にも悪い意味にもいい加減さがあるのかなって意味だったんだけど、 まさかそんな水面下の白鳥の足みたいな事をperlさんがなさってるなんて知りませんでした。 perlさん、ごめんなさい(><)
さすがに Python 1.5 は思い出したくないなぁ・・・・・ 青春の苦い思い出だw
>>920 1.5.3にアップグレードした方がいいよ
いつもの 「perl みたいな勝手にわけのわからん変態castかかりまくり演算」 の話は無駄だからこの辺でやめとこうぜ
それより見栄っ張りの初心者が喜ぶメタクラスの話をしようぜ。
そんなことより self の是非を議論した方がいいよ
(´-ω-`) Guidoは疲れ切っていた 煩雑な構文、人によって違うスタイル、そして見えない変数に。 (´-ω-`)Zzz そして眠ってしまった。しかし…… ヒラメキ━━━━(゚∀゚)━━━━!! 単純な構文!スタイル強制!変数はすべて明示!! 俺言語デキタY⌒Y⌒Y⌒Y⌒Y⌒Y⌒(。A。)!!! switch...case欲しいだと? (゚Д゚ )ヤダ!! インデント構文がSM? (*´д`*)ハァハァ クラスの記述が面倒? ( ´_ゝ`)フーン Javaでもやれよ 変数を暗示で使えるようにだと? (^A^)っPerl 俺言語ヽ(´ー`)ノバンザーイ
インデント必須でも、他言語で begin end 書いたり { } 書いたり ( ) 書いたりするのと同じ事だから個人的にはSMされている気はしないのだけれども どのみちインデントして書くので、逆にそれらを書かないで済む分楽だと感じる というか他言語のユーザーだとそもそもインデントしないでソース書く人が多いのかな?
そういうバイク小屋の議論はやめようや。レベル低いんだよ。
>>931 さすがにインデントしない人は少ないだろうけど、括弧や改行の位置はいろんな流儀が
あるよね。そういうつまらない宗教論争をせずに済むという点では評価できるな。
カッコインデント!
インデントがイヤとかいう奴はアスペルガーの疑いがあるな。
インデントが嫌なのではなくて改行するのが嫌なのかも
パイソンにもセミコロンがあるので安心ですね
たぷるタン以来だな
なにが?
ところで 実行 したい ブロック """ 実行 したく ない ブロック """ のようには考えないのだろうか?
「実行したくないブロック」の中に"""〜"""があったら
"""〜"""があるのなら'''〜'''を使えばいいのに。
両方あったら?
なにが?
>>832 その最後の例、generator expressionsが使える今では最外の[]は要らないね。
(あってもいいんだけど)
dict((['one', 'two'][i-2], i) for i in (2, 3))
>>948 >>944 みたいな考えの人にはあり得る。
"""〜"""があるから、'''〜'''を使ってコメントアウト。
その後、さらにそれを含むコードをコメントアウトしたくなる。
とかね。
ふつー if 0:
ここの住人はラインエディタでも使っているかのようだなw
>>949 ねえよ(w
つーかそうする必要がでてきたら,手を止めて考え直すわ
954 :
Python初心者 :2006/10/19(木) 15:22:06
どうも私の質問の仕方が悪かったようで、 selfの問題ですが、下記のようにhoge でもなんでも良いことは分かっています。 class TestSelf: def echo(hoge,txt): hoge.msg = txt print hoge.msg x = TestSelf() x.echo("Python is the Best! ") print x.msg * 2 raw_input() Opの結果: Python is the Best! Python is the Best! Python is the Best!
955 :
Python初心者 :2006/10/19(木) 15:22:44
例えば、 class TestSelf: def echo(hoge,txt): print txt x = TestSelf() x.echo("Python is the Best! ") raw_input() Opの結果: Python is the Best! このようなシンプルな構造になったときに hogeの存在意義がないでしょう? だからhogeでもselfでもthisでもなんでも 良いから自分のクラス内属性を指示する キーワードを作り、その代わりにメソッドの 第一引数を指定するのをやめたら何か問題が 発生するのでしょうか?
957 :
デフォルトの名無しさん :2006/10/19(木) 15:30:29
>>955 とりあえず明パイでも恥パイのどっちでもいいから通して読んでこいと
>>955 >>958 のFAQの2つ目の理由のほかに、
キーワード(予約語)は少ない方がよいという見方もある。
self がイヤなら my でも使っておけば?
>>961 問題文をよく読みなさい、何度も読みなさいと先生に言われたことある?
iならタイプ量も少なくてselfの代わりにいいんじゃね?
>>962 丸尾末男みたいだって言われたことないかな?
> だからhogeでもselfでもthisでもなんでも > 良いから自分のクラス内属性を指示する > キーワードを作り、その代わりにメソッドの > 第一引数を指定するのをやめたら何か問題が > 発生するのでしょうか? PythonがPythonでなくなる。 955がその理由を理解できる日が来るかどうかは知らない。
説明できないならレスしなくていいから
丸尾末広?
>>953 問題になりそうになってから考えるくらいなら、
最初から、問題を起こさないことがわかっている
「行頭#」を使うことに決めておいたほうがマシ。
てか大抵のエディタなら複数行を一括コメントアウト/インなんて簡単でしょうに(´・ω・)
>>962 2chのレスをちゃんと何度も読む奴なんてちょっと変だろw
>>971 ちゃんと読むのが変だなんてのはあんまりだな。
「はやとちりでおっちょこちょいなレスつけちゃいました」と正直に申告しろ。
>>965 お前の勝手な妄想でPythonで無くなるとか決めんな
真面目に答えた 956 が哀れなスレ
そんなことよりメタクラスの話しようぜ
それだけは勘弁してくれ
Python道を他の人に押し付けるのは もっとjメジャーになってからでいいんじゃないんけ。
めったにクラスなんて書かないから使わないと思うけど、956は初めて知った。 どういう実装なんだろう?
Pythonはスレに性格悪い奴の多いの
Rubyスレと見分けがつかんな
めったにクラスなんて書かない980がPythonの実装に興味があるそうです
気がつけば、もうこのスレ終わりか。 荒れ度合いはいつも並みだが、しばらく無いほど中身の薄いスレだったな。
2chで中身が厚いスレって例えば?
神社仏閣板の巫女さんスレとか
その前に、厚いじゃなくて濃いだろ…って一本釣りされたか
>>980 >めったにクラスなんて書かないから使わないと思うけど
そう。大多数の奴はクラスなんて作らない。
まっとうなクラスを作るだけのスキルのあるやつなんてまれにしか存在しないからな。
せいぜい既存クラスをオーバーライドするのがせいぜい。
クラス設計について高説タレる奴はたいてい噛ませ犬か言語オタ。
低いレベルの奴は回りも低いと思いこみたいもんですからね。
>>990 お前の言うことはまったく正しいし、正しさをお前自身が証明してもいる。
PythonでOOPしないなんて・・・もったいないです>< 個人的には、OOPを勉強するのに最適の言語だと思ってる
そうなんだ じゃあがんばって勉強して見るよ
>>989 まっとうなクラスを作れないやつが、クラスを作らないとは限らないぜ
役に立つクラスが必ずしもまっとうなクラスだともいえないぜ
>>994 あんたが役に立つクラスを作れなくて
まっとうなクラスすら作れないことについてはすごくよく分かったよ。
ただの関数作ってデータ弄るよりクラス作ってメソッドにする事の方が多いんだけど、そういうのは少数派だったのかな OOP的に正しいかどうかは知らないけど
>>997 モノによるな。Javaのように何でもクラスにしろって言語じゃないから、俺は裸の関数も
結構作るよ。ちゃんとした構造とか状態を持ったデータを扱うならクラスかな。
1000だったら次こそは良スレになる
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。