トップページ⇒tech
1001コメント265KB

Pythonのお勉強 Part14

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/10/20(金) 00:34:56
日本 Python ユーザ会
http://www.python.jp/Zope/
Python オフィシャルサイト
http://www.python.org/
Python 2.5
http://www.python.org/download/releases/2.5/
IronPython
http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython
まとめ wiki
http://www7a.biglobe.ne.jp/~yasozumi/python/wiki/
Pythonの入門書「みんなの Python」
http://www.amazon.co.jp/gp/product/479733665X/

Pythonのお勉強 Part13
http://pc8.2ch.net/test/read.cgi/tech/1157984472/
0412デフォルトの名無しさん2006/10/28(土) 14:33:14
PythonでSICPやります
0413Python初心者2006/10/28(土) 15:38:33
>>395
応援Tks.
ところで、ここにお集まりの先生方!
(と、Python原理主義者の皆さん…)
http://diveintopython.org/
で「Dive into Python」が無料で読めます。

Dive Into Python has already been fully or partially
translated into several languages. If you translate
it into another language and would like to be listed
here, just let me know.

Italian
French
Spanish
Chinese
Korean
Russian

この中に同じアジア近隣諸国であるChinese Korean が
有ってJapaneseが無いのは日本のPythonファンとして、
いかにも寂しい気がしますよね。(さすがに
North Koreaは無いが…)
どなたかこれを翻訳して、2ちゃんねるにおける
Pythoniansの実力の程を世界に知らしめてやろう!、
といった「気迫溢れる先生」は居られないのだろうか?
0414デフォルトの名無しさん2006/10/28(土) 15:51:12
>>411
>どのスレッドが処理を進行できるのかは定義されておらず、実装によって異なるかもしれません。

かなぁ。結局 pthread もそうだし、python の thread って pthread 利用してるんだっけか。
pthread だと lock 開放順をFIFO したかったら root 権が要るんだけど、python ではどうなんだろうなぁ。
0415デフォルトの名無しさん2006/10/28(土) 15:52:05
>>412

意味はよくわからないが、SICP の例文を全部 Python で書いてくれるとうれしい
0416デフォルトの名無しさん2006/10/28(土) 15:53:16
見事にスルー仮面。
0417デフォルトの名無しさん2006/10/28(土) 16:09:19
>>413
検索してみると翻訳作業をはじめたといってる人は見つかるんだけど
続けてるとかあきらめたとかの現況がわからないので
別個にはじめていいものかどうかわからんね。
0418デフォルトの名無しさん2006/10/28(土) 16:11:38
本一冊訳すのは根性が必要だぞ。
このスレにいるキモオタどもには、そんな根性のあるやつなんていないよ。
0419デフォルトの名無しさん2006/10/28(土) 16:45:06
前半:すでにある文書とかぶりまくり
後半:英語読めない素人には必要ナシ
0420デフォルトの名無しさん2006/10/28(土) 16:54:31
>>302
Pythonで作られたプレゼンツールKeyJnoteの
Windows版はPythonの必要な部分だけ抜き出して使っているみたいだ。
ファイル数は354、16.0MB。
まあでかいけど、いまどきはさほど問題になる大きさでもないと思う。
これと同じ方法が使えないかな?
0421デフォルトの名無しさん2006/10/28(土) 17:01:21
アワワワワ仮面。
0422デフォルトの名無しさん2006/10/28(土) 17:01:53
初心者ですが、Programming Python, 3rd Edition 買ってみました。
http://safari.oreilly.com/0596009259
ページ総数1596に圧倒されてます。買う前から判ってたけどさ。
0423デフォルトの名無しさん2006/10/28(土) 17:19:07
すげーページ数だ。。>1596ページ
前版もかなり分厚かったと記憶してるけど、3rd editionは何センチぐらいになるんですか?
0424デフォルトの名無しさん2006/10/28(土) 17:38:22
幅や高さより厚いです!(ウソ)
0425デフォルトの名無しさん2006/10/28(土) 17:40:50
つまんないし寒い。
0426デフォルトの名無しさん2006/10/28(土) 17:42:42
メタクラス仮面。
0427デフォルトの名無しさん2006/10/28(土) 17:45:49
>>422
随分厚くなってるんだね。
どんなことが加筆されてるんだろうか。
0428デフォルトの名無しさん2006/10/28(土) 18:11:10
  _  ∩
( ゚∀゚)彡 おっぱいそん!
 ⊂彡      おっぱいそん!
0429デフォルトの名無しさん2006/10/28(土) 18:20:54
コードを書き込む→原理主義者扱い
0430デフォルトの名無しさん2006/10/28(土) 18:40:21
強迫神経症?
0431デフォルトの名無しさん2006/10/28(土) 18:40:52
>>422 構成がめちゃくちゃな希ガス
0432デフォルトの名無しさん2006/10/28(土) 18:51:32
なんかProgramming Pythonって普通のプログラミング言語本みたいな文法項目の網羅的解説見たいな構成になってないよね。
0433デフォルトの名無しさん2006/10/28(土) 18:55:13
>>>^Zqawsedfrtgyhujikolp

でも終了可能
0434デフォルトの名無しさん2006/10/28(土) 20:09:38
日本語のおらいりいは表紙がねずみ
0435デフォルトの名無しさん2006/10/28(土) 20:19:23
エラーをキャッチするような部分をデコレーターにして
付けたりはずしたりするといい感じ
0436デフォルトの名無しさん2006/10/28(土) 20:24:19
凸レータの@書法って廃止になんねーかなぁ。
面倒でもちゃんと書けばいいと思った。@とか使いたくない。perlじゃあるまいし。
0437デフォルトの名無しさん2006/10/28(土) 20:35:05
どっちかっていうとJavaのアノテーション記法を意識してると思うけどね
0438デフォルトの名無しさん2006/10/28(土) 20:49:35
使わないから気にならない
0439デフォルトの名無しさん2006/10/28(土) 20:54:18
テストに出るぞ
0440デフォルトの名無しさん2006/10/28(土) 21:12:36
一応貼っておきますね

An Introduction to Python & IronPython
http://www.okisoft.co.jp/esc/python/iron-python-intro.html
0441デフォルトの名無しさん2006/10/28(土) 21:23:41
>>436
ちゃんと、ってどう書くの?
0442デフォルトの名無しさん2006/10/28(土) 21:33:20
>>440
いろんなことがごっちゃに書いてあってとても読みづらいですね。
これも釣りなのかと思ってしまう(WWWWWWWWW
0443デフォルトの名無しさん2006/10/28(土) 23:01:56
>>422
自分も買った。背表紙は6.0cmあった。重さは2.0Kg。
紀伊国屋から持って帰るのがちと辛かった。
0444デフォルトの名無しさん2006/10/29(日) 00:57:26
乙
0445デフォルトの名無しさん2006/10/29(日) 01:47:32
(a)==aの合理性について
0446デフォルトの名無しさん2006/10/29(日) 01:56:17
(a,)としないとタプルにならないんだよね
意外とはまりポイントになりやすい

そのかわり、次のどっちも同じ戻り値になるわけだが

return a
return (a)

0447デフォルトの名無しさん2006/10/29(日) 02:00:44
>>445
(a) == aにならないのはおかしいって言いたいのか?

要素1個のタプルを作りたかったら、
(a,)って書かないとダメなのが気持ち悪い、とかじゃなくて?
04484472006/10/29(日) 02:01:33
かぶった。鬱氏。
0449デフォルトの名無しさん2006/10/29(日) 02:03:25
タプルの本質は ',' なんだよね
'(' ')' はダミーだと思え
0450デフォルトの名無しさん2006/10/29(日) 02:27:05
マニュアルには
> 一つの要素を持つタプルは、値の後ろにコンマを続ける
> (単一の値を丸括弧で囲むだけでは不十分です) ことで構築できます。
> 美しくはないけれども、効果的です。
とあるね。

The Zen of Python の
> Special cases aren't special enough to break the rules.
> Although practicality beats purity.
あたりだろうか。
0451デフォルトの名無しさん2006/10/29(日) 04:38:22
バックスラッシュを使わずに行を継続するのに便利かなと思ったり・・
return ( a
+ b
+ c )
(a)がタプルにならないおかげでこういう行継続が可能に・・・
(使い方間違ってるのかな・・・
0452デフォルトの名無しさん2006/10/29(日) 07:52:23
>>449
その自慢の「本質」とやらで空タプルを作ってくれ。
0453デフォルトの名無しさん2006/10/29(日) 08:09:21
「() と書けば空タプルが作れる」って例外が設けられてるだけじゃね?
0454デフォルトの名無しさん2006/10/29(日) 08:15:28
例外は(a, )のほうだろ
()、[]、{}で空のが作れるのは統一されてる
0455デフォルトの名無しさん2006/10/29(日) 08:19:03
(a,)が気持ち悪いひとは「','がタプルを作るんだよ」と思えば気にならないよ
程度の意味しかないな。
0456デフォルトの名無しさん2006/10/29(日) 09:45:23
>>454
別に括弧で括らなくても、カンマを付けるだけでタプルになるんだよね。

>>> t = 1,
>>> t
(1,)

そういう意味で >>449 は「',' がタプルの本質」って書いたんじゃないだろうか。
んで、本来は括弧が不要である以上「()で空タプルができる」ってのが例外かな、と思ったんだけど。

まあ、あんまりグダグダと議論しても、Guidoにでも聞かない限り答えはでないか。
0457デフォルトの名無しさん2006/10/29(日) 11:32:19
>>456
答えは言語仕様で厳格に規定されていると思うけど
0458デフォルトの名無しさん2006/10/29(日) 11:38:19
タプルにカッコが必須でないおかげで、以下のように書けるんだよな

def foo():
  return 1, 2, 3

a, b, c = foo()

気が利いてるよな
0459デフォルトの名無しさん2006/10/29(日) 11:56:02
そもそも式をまとめるのと関数の引数の範囲を表すのとタプルを作るのに同じ小括弧を使っているのがまずいよ
だから、タプルには 〔きっこう括弧〕 でも使う事にすれば良かったんだ
0460デフォルトの名無しさん2006/10/29(日) 11:58:33
特に関係ないが きっこうかっこ って微妙にすわりが悪いな
0461デフォルトの名無しさん2006/10/29(日) 12:07:05
「」 『』 【】 《》 とかいろいろ使えそうだな
0462デフォルトの名無しさん2006/10/29(日) 13:10:10
配列の最大値をとるには、max(list)を使えばいいのは分ったんだけど、
indexの値と一緒にとりたい場合って、組み込みの関数ってあるんすかね?
(val,index)=max(list)見たいな感じで、list内の最大値と、そのインデックスが帰ってくると嬉しい。
0463デフォルトの名無しさん2006/10/29(日) 13:21:13
(1, 2, 3, 4, 4)みたいに、最大値が複数ある場合を考えないとならないので
アドホックな方法は存在しえないかもな
max()で帰ってきた値をindex()に渡せばインデックスは得られるよ
0464デフォルトの名無しさん2006/10/29(日) 13:38:32
自明な解

a=(1, 2, 3, 4, 4)
[i[0] for i in enumerate(a) if i[1] == max(a)]
0465デフォルトの名無しさん2006/10/29(日) 13:58:43
こういうのは?

>>> def trev(t): return t[1], t[0]

>>> a = [1.0, 2.0, 3.0, 4.0]
>>> trev(max(map(trev, enumerate(a))))
(3, 4.0)
0466デフォルトの名無しさん2006/10/29(日) 14:26:10
素直にやるならこう?

def where_is_max(L):
  for index, value in enumerate(L):
    if value == max(L):
      return (index, value)
04674622006/10/29(日) 14:32:51
色々なやりかたありがとうです。
0468デフォルトの名無しさん2006/10/29(日) 15:48:47
引数リストも内部ではタプルとして持ち歩くから、別な物と考えるのは微妙かも。
0469デフォルトの名無しさん2006/10/29(日) 17:37:22
実装はそうかもしれないが、

hoge(a, b, c)

を

hoge a, b, c

と書いたりは出来ないので表記上は別物になるでしょう
0470デフォルトの名無しさん2006/10/29(日) 18:59:01
value, index = max(zip(L, range(len(L))))
0471デフォルトの名無しさん2006/10/29(日) 19:02:17
>タプルには 〔きっこう括弧〕 でも使う事にすれば良かったん
459でもすぐに思いつく程度のことをGuidoが考えなかったとでも?
0472デフォルトの名無しさん2006/10/29(日) 19:11:58
そりゃGuidoがJIS記号文字を日常的につかっていればちょっとは思いついたかもね。
0473デフォルトの名無しさん2006/10/29(日) 19:49:25
from operator import itemgetter
index, value = max(enumerate(a), key=itemgetter(1))
0474Python初心者2006/10/29(日) 20:47:08
>>422
>初心者ですが、Programming Python, 3rd Edition 買ってみました。
>ページ総数1596に圧倒されてます。買う前から判ってたけどさ。
重かったろうねぇ…
「初めてのPython」->715ページの倍!
私は現在ようやく476ページまで読破したところです。

ところでLuts先生がPythonの講義をすると、必ず受講者の
半分がオブジェクト指向プログラミングのところで
脱落するそうです。ー>(熟睡する人もいるとか…)
「Pythonの」オブジェクト指向で脱落した人は本当に
「半分で」済んでいるのだろうか?
結構奥が深いというか、複雑怪奇というか、脱落するのは
ある意味必然的な結果のように感じる。
先生は他の言語でオブジェクト指向によるシステム開発
経験の有る無しが受講生の覚醒と熟睡を分けると書いて
いるが、返って有る人の方が熟睡度が深いかもね?
0475デフォルトの名無しさん2006/10/29(日) 20:50:47
Sugeee勉強になったよ。ありがとさん。
0476デフォルトの名無しさん2006/10/29(日) 21:01:05
>>472
Unicodeにはいろんな括弧があるから今後設計される言語は楽しみだなw
0477デフォルトの名無しさん2006/10/29(日) 21:05:03
色んな括弧を華麗に使い分ける言語なんて使いたくないけどな
0478デフォルトの名無しさん2006/10/29(日) 21:49:06
perl みたいにワケワカメな記号を沢山覚えないといけないのはイヤ
0479デフォルトの名無しさん2006/10/29(日) 21:49:18
<タプル>でいいじゃん
0480デフォルトの名無しさん2006/10/29(日) 21:57:00
括弧だけで構成されたBlainF*ck系実装って絶対あるだろーなー
0481デフォルトの名無しさん2006/10/29(日) 22:05:48
>>478
それも嫌だが、
begin-tuple 1, 2, 3, end-tuple
みたいなのもちょっと鬱陶しいぞw
要はバランス感覚だね
0482デフォルトの名無しさん2006/10/29(日) 22:06:09
>>479
http://www.python.org/dev/peps/pep-0318/

<...>の導入はデコレータの時にも検討されているので読んでみれ。
言語の仕様策定の難しさといったら、常人の想像を越えているな。
0483デフォルトの名無しさん2006/10/29(日) 22:12:11
>>474
本は最後まで読んでから物を言え、と
何度言われれば分かるの?
0484デフォルトの名無しさん2006/10/29(日) 22:25:40
>>483
いい加減、放置したらええんでないの
0485デフォルトの名無しさん2006/10/29(日) 22:43:32
これだけ人の言うことを無視する人も珍しいね。なんとゆーか、暖簾に腕押し。
0486デフォルトの名無しさん2006/10/29(日) 22:45:01
キチガイだもの。
0487デフォルトの名無しさん2006/10/29(日) 23:02:26
俺の、俺の、俺の話を聞けぇぇぇ〜〜〜〜♪
0488デフォルトの名無しさん2006/10/29(日) 23:07:25
>487
あー、交渉人が主役のエロゲでそれが決め台詞な奴いた。
0489デフォルトの名無しさん2006/10/29(日) 23:07:55
「応援する」とかいうやつも怪しいもんだな(WWWW
0490デフォルトの名無しさん2006/10/29(日) 23:32:32
逆に
hoge((a,b,c))
を
hoge(a,b,c)
と書くこもとも出来ない、
この辺の仕様の関係で、引数の*valっていうのが抜かせないんだと思う・・
0491デフォルトの名無しさん2006/10/29(日) 23:49:23
キチガイは、「はじめてのPython」を陥れようとする工作員なんだぜ。
0492デフォルトの名無しさん2006/10/30(月) 00:47:20
hoge(*(a, b, c)) となら書けるね。args = (a, b, c); hoge(*args) でも可。
0493デフォルトの名無しさん2006/10/30(月) 00:51:44

♪ ∧,_∧
   (´・ω・`) ))          Simple, fun, and indented〜♪
 (( ( つ ヽ、   ♪
   〉 とノ )))
  (__ノ^(_)
0494デフォルトの名無しさん2006/10/30(月) 00:55:40
不定個の引数を受け取りたい場面を普通にある。
そのための仕様だろ。
0495デフォルトの名無しさん2006/10/30(月) 01:38:53
この*argsとか**argsが出るたびに、背中がむずむずっとする。凡人の成果じゃないなと。
0496デフォルトの名無しさん2006/10/30(月) 10:40:11
不定個数の引数を受け取る仕様は他の言語にもあるしPython以前からもあった。
0497デフォルトの名無しさん2006/10/30(月) 11:23:18
>>496
こういうピンボケがいるからこのスレはダメになる
0498デフォルトの名無しさん2006/10/30(月) 11:31:13
>>495
>*argsとか**args

異なる引数に同じ名前をつけたらダメだよ。
基本から勉強しようね。
0499デフォルトの名無しさん2006/10/30(月) 11:33:37
>>497
お前がピンボケと思うのなら、「いや、そうじゃなくてね」と話を続けるのが大人ってもんだ.
このコミュニケーション不全野郎が.
0500デフォルトの名無しさん2006/10/30(月) 11:56:12
>>498
そういう事じゃないだろ
hogeって書いてあったら全部同じ変数かよ
0501デフォルトの名無しさん2006/10/30(月) 12:01:06
つーか普通 ** ときたら kws とかだろ? args はねえよ
495 = 497 = 500は世間を知らないお子ちゃま決定(WWWWWW
0502デフォルトの名無しさん2006/10/30(月) 12:04:18
やれやれだぜ・・・
0503デフォルトの名無しさん2006/10/30(月) 12:08:29
おれはkeywordsかkeys派。
ハンガリアンなツワモノはいますか?
0504デフォルトの名無しさん2006/10/30(月) 12:17:44
>>495には、どういう理由でどうむずむずするのか説明希望
0505デフォルトの名無しさん2006/10/30(月) 12:18:57
しかしkwsってヘンだよね(www

V I P P E R か (wwwwwww
0506デフォルトの名無しさん2006/10/30(月) 12:24:25
*a と **k だろ?
0507デフォルトの名無しさん2006/10/30(月) 12:26:05
>>504
>502
0508デフォルトの名無しさん2006/10/30(月) 12:51:14
>>496
誰もPythonが初めて実装したなんて言ってないと思うよ
0509デフォルトの名無しさん2006/10/30(月) 13:09:48
対話型インタープリターのの新しい終了の仕方見つけた。
>>>type(exit)("death note")()
0510デフォルトの名無しさん2006/10/30(月) 13:18:53
>509
カッコが多くてムズムズッとするぜ
0511デフォルトの名無しさん2006/10/30(月) 13:39:31
>>509

>>496 は天然だからほっとこう。
■ このスレッドは過去ログ倉庫に格納されています