[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 05/09 21:50 / Filesize : 79 KB / Number-of Response : 399
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Pythonのお勉強 Part33



1 名前:デフォルトの名無しさん [2009/04/26(日) 01:48:01 ]
Pythonオフィシャルサイト
www.python.org/
日本Pythonユーザ会
www.python.jp/Zope/
まとめWiki
python.rdy.jp/
関連スレ
find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python
前スレ
pc12.2ch.net/test/read.cgi/tech/1234716330/

192 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 01:11:26 ]
>>> d = {"abc":2, "def": 0}
>>> d.keys() == {"abc", "def"}
True
>>> "abc" in d.keys()
True
>>> len(d.keys())
2

193 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 03:59:30 ]
>>192
データベース用語じゃないかな。

デリヘルだったのが業態変更で覗き部屋に変わりました
みたいな感じ。



194 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 20:08:13 ]
docs.python.org/3.0/library/stdtypes.html#dictionary-view-objects

195 名前:デフォルトの名無しさん [2009/05/22(金) 19:20:38 ]
プログラミング初心者です。
ちっちゃいツールを作れたら…と勉強開始しました。
最初のうちって数字を抜き出したり、表示させたりばっかりですが
なんかプログラミングって感じないんですよね。
最終的にはそれなりなツールが作れるといいんですが…

ちなみにスライスとかインデックスを指定とかって実際のプログラミングで使ったりするんですか?


196 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 19:22:43 ]
つRails

197 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 19:45:51 ]
windowsな人はブビでもやるよろし

198 名前:デフォルトの名無しさん [2009/05/22(金) 20:53:42 ]
linuxも勉強中ですので、頑張って続けてみます。
ありがとうございました。失礼します。。。

199 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 21:06:59 ]
ひでw
お勉強スレでなんで違う言語に誘導すんだよw

200 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 22:12:27 ]
質問には答えようぜ

>195

> ちなみにスライスとかインデックスを指定とかって実際のプログラミングで
> 使ったりするんですか?

超使います。例えば掲示板ソフトを作ったとして、メッセージの195番っつた
ら、 messages[195] とか書けるように作るのが単純なやりかた。

(もちろん、凝ろうと思えばいくらでも凝れます)






201 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 22:16:40 ]
messages[194]がいいです

202 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 22:18:02 ]
>>200

203 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 22:22:01 ]
>メッセージの195番っつた
>ら、 messages[195] とか書けるように

ちょうウケる(WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

204 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 22:28:51 ]
”とか”って書いてるからいいじゃん
民主党みたいなことすんなや

205 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 22:34:20 ]
       ,..--‐‐‐‐‐‐‐‐---..  
     /::::ヽ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;)   
     |::::::::::/        ヽヽ  
    .|::::::::::ヽ ........    ..... |:|  
     |::::::::/     )  (.  .||  
    i⌒ヽ;;|.  -=・=‐  .‐・=-.|   党首辞任”とか”してみたりなんかしちゃったりして
    |.(    'ー-‐'  ヽ. ー' |  
    ヽ.      /(_,、_,)ヽ  |  
    ._|.    /  ___   .|  
  _/:|ヽ     ノエェェエ>  |  
  :::::::::::::ヽヽ     ー--‐  /  
  ::::::::::::::::ヽ \  ___/


206 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 22:35:41 ]
うわー
ところでmessages[0]はNone?空文字?

207 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 22:38:28 ]
好きな人の名前に決まっているだろ!

208 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 22:43:08 ]
messages[0]は0番だろ

209 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 22:47:40 ]
thebbsはたしか0番から始まってた…と思ったらthebbs閉鎖したのね。

210 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 23:52:03 ]
こうして今日もPythonの話題から脱線していくのだったとさ・・・



211 名前:デフォルトの名無しさん [2009/05/22(金) 23:59:16 ]
>>200
すごくわかり易かったです!
ありがとうございます。
基礎は重要ってことですね!
しっかり学びます。(みんなのPython改訂版使用)
図々しいですが、わからない事がありましたらまたお願いします。

212 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 02:27:13 ]
もしかしてPythonが初めてのプログラミングなのかしら・・・

213 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 07:42:04 ]
プログラミングに向いてない
別のことに時間使え

214 名前:200 mailto:sage [2009/05/23(土) 14:12:12 ]
こんなにウケるとは思わなかったwwww

>201
わかってんならいいよ。でもoff-by-oneバグには気をつけて。
>203
そんな面白い?テヘ(´▽`)
>205
鳩山って一応工学部出てんだけど、なんであんなにデムパなのかね‥‥‥
>206
Noneでも空文字でもいいけど、俺が作るならスレッドタイトル入れとくかなぁ。
>207
おかーちゃんの名前を入れておけ!
>211
がんばれ。


215 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 14:36:27 ]
>>212
俺、Pythonは2番目
最初に覚えたのはbashプログラミング

216 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 18:13:46 ]
Perlから鞍替え組しかいなかったころがなつかしい

217 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 21:27:53 ]
順番
Ruby->Pythonと
Python->Rubyのひとは
どっちが多いですか


218 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 21:34:02 ]
Ruby->Pythonの方が多そうな気がする。主に実行速度の面で。

219 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 00:08:33 ]
>>218
実行速度もそうですが
Rubyのプログラムの書き方が合わないっていう人はいないんですかね。
自分は関数定義(def)の時のブロックにbeginをつけない所と、
lambda式の記述の仕方がどうも合わなかったんですが…自分だけか…

220 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 00:45:43 ]
perlのせいでLLを毛嫌いしてたけど、
pythonが出てきてからは何にでも使うようになった。



221 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 01:07:55 ]
Perlを知ってからは何にでも使うようになったら
後で酷いことになった。

222 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 01:19:16 ]
>>219
俺は end が嫌だったのと、関数が名前空間違う部分が無理だったな。
Rubistにしては書くときに楽しいのかもしれんが、読みやすさは圧倒的に
Pythonの方が上。Pythonを知らない人にも読める executable pseudocode

223 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 04:16:30 ]
まじで!?
基本的にpython大好きだけど
ブロック終端記号がないのだけは好きになれない。

224 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 06:17:22 ]
Pascalのcase-endですらいらついたしRubyもbeginなしendだし
うっとうしいだけ

225 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 06:18:24 ]
インデント守ってないコードで終端記号なかったら訳分からんけど
Pythonの場合無くても問題にならないだろ

226 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 07:46:08 ]
Pythonで唯一面倒なのは、テストで途中でブロック追加したり取ったりする場合だな。
まぁ、エディタでブロックごとインデント付けたり消したりできればいいだけなんだけど。

227 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 07:49:30 ]
>>226
それはEmacsで楽に出来るから問題ないな。

228 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 07:53:11 ]
Emacsで、ある範囲を指定してインデントを増やす/減らすのはどうしたらいいの?
いまは C-x r t としてスペースを4つ指定しているんだけど、かっこわるすぎる

229 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 07:56:13 ]
>>228
リージョンを指定して、C-c > で右 C-c < で左インデント

230 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 09:50:00 ]
>>227
それvimでも簡単だよ!



231 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 10:25:48 ]
Pythonは読みやすいけどインデントが嫌だ

232 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 10:28:59 ]
>>231
読みやすさ > 個人の趣味

233 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 10:31:59 ]
>>232
書きやすさ>読みやすさ>個人の趣味

234 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 11:11:44 ]
Pythonは基本読みやすいですが、
書籍に載ってるプログラムで次のページにまたいでるとき、
インデントがどうなったのか分かりにくい時があるのがたまにきずですかね。


235 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 11:19:39 ]
>>233
読む方が多いからそれはないわ

236 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 11:30:08 ]
ぶっちゃけ、インデントは慣れればそれほど問題じゃないって感じだな。
おまえインデントブロック初めてか?みたいな人にはインパクトはかなりあるがw

結局俺の場合、何で書いてもだいたい同じような見た目になるしw
構造自体が全然違うってのは、関数系言語だな。

237 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 11:39:43 ]
頼むからインデントに最低スペース4つは使ってくれ

238 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 12:03:23 ]
GoogleAppEngineでは2つが標準みたいだよ

239 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 12:11:22 ]
そういう議論はこっちで

Pythonに見られるインデントによる制御構造の是非
pc12.2ch.net/test/read.cgi/tech/1169473442/l50

240 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 12:59:48 ]
ブロックのインデント表現は流行らないと思うわ
括弧とか改行とか、もっと積極的な表現の方が人間が認識しやすいもの



241 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 13:13:20 ]
>>237
それにこだわるひといるみたいだけど
なんか意味あるのか?

242 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 13:17:36 ]
>>240
気のせいです

243 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 13:24:52 ]
>>241
インデントが深くなったときパッと見で判別しづらいからとか?

244 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 13:36:09 ]
dict1 = {'a':1}
dict2 = {'b':2}

とあったときに、2つをマージした新しい辞書dict3を一発でつくるにはどうしたらいいですか。
dict3 = dict1.copy()
dict3.update(dict2)
とするしかないのでしょうか。
dict3 = dict1 + dict2
とかできませんか?


245 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 13:39:47 ]
>>244
D1.update(D2)

246 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 14:00:03 ]
>>241
それにこだわる人と同じ理由ではないと思うけど、個人的には読み難いし、綺麗じゃない
まぁおれがいつも4つ使ってるから慣れてないだけなのかもしれんけど。

247 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 14:34:01 ]
ところで皆さんインデントはスペース派?タブ派?
作者はスペースを推しているけど。

248 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 15:00:17 ]
タブ4。

249 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 15:18:22 ]
vimでSpace4

250 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 15:45:22 ]
スペース4だな



251 名前:デフォルトの名無しさん [2009/05/24(日) 16:03:13 ]
pythonだけでも十分?

252 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 16:04:21 ]
タブ2だな
みんなけっこう違うんだな

253 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 16:11:55 ]
スペース2にきまっとる

254 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 16:15:05 ]
pep8 では4スペースだから、新規に標準ライブラリにはいるコードは全部4スペース。

255 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 17:54:26 ]
1段目:Space6
2段目:Space5
3段目:Space4
4段目:Space3
5段目:Space2

256 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 19:39:22 ]
途中で改行したばあいの2行目以降の字下げも推奨値あるの?

257 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 20:40:31 ]
>>256
それ気になる。配列や辞書を途中で改行している場合、かっこを閉じる位置をどこにするか迷う。

258 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 20:47:58 ]
>>249
同じく

259 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 21:00:23 ]
辞書や配列の閉じカッコって、使ってるテキストエディタによって
微妙に位置が違ってなんか痒いところだよな。

260 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 22:09:09 ]
>>245
>D1.update(D2)
これだと D1 が変更されますよね。
やりたいのはD1もD2も変更せずに、かつD1とD2をマージした辞書を一発で新たに作りたいということなんですけど。



261 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 23:06:14 ]
むりぽ

262 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 23:09:38 ]
>>257
突然Cみたいになっちゃう俺。

263 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 23:19:11 ]
dict1 = {'a':1}
dict2 = {'b':2}
>>> dict([(k, dict1[k]) for k in dict1] + [(k, dict2[k]) for k in dict2])
{'a': 1, 'b': 2}

普通すぎてスマソ

264 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 23:25:14 ]
>>> dict(list(dict1.iteritems()) + list(dict2.iteritems()))
{'a': 1, 'b': 2}
あんまり変わらんか orz

265 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 23:34:48 ]
eval(",".join((str(dict1)[:-1],str(dict2)[1:])))
気持ち悪い

266 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 23:37:08 ]
>>264
その方式ならこうじゃね?
>>> d1 = {'a':1}
>>> d2 = {'b':2}
>>> dict(d1.items() + d2.items())
{'a': 1, 'b': 2}


267 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 23:47:42 ]
>>256
PEP8では「適切にインデントすること」としか書かれていないけど、サンプルコードを見ると
改行前の要素に合わせてるな。

foo(bar,
    baz)

268 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 00:05:27 ]
どっちかというとそういう関数作った方がキレイだな。

269 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 00:19:23 ]
setと違って+演算子を割り当てなかったのは、足す前の辞書の要素のうち足す辞書に
重複するキーがあった場合値を上書きしてしまうと言う動作が、+演算子の
「追加する」というイメージに合わなかったからだろうな。
あくまでも更新(update)であって、追加(add)じゃない。

clone() して update() するのが正解だと思うよ。別に面倒でも汚くもないし。

270 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 00:43:34 ]
d3 = d1 || d2



271 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 00:52:22 ]
>>270
Pythonにそんな演算子ねーよw
それに、 d3 = d1 | d2 にしても、やっぱりd1にある要素が「消える」ということを考えると
bitwise or とは違うよね。set ならそれでも意味通るけど。

272 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 01:26:27 ]
エディタのタブ記号のお世話になっているのでタブ4
※タブが推薦されない理由って何?

273 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 01:40:11 ]
環境によって深さが変わるし

274 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 01:43:48 ]
いまどきのエディタ使ってりゃ2でも4でもどうでもいいんだけどな
それより深くなり過ぎそうならその前に関数にするとかモジュールにするとか
なんか工夫するはずだからな
タブにこだわってる香具師とかインデントにこだわる香具師は
机上の空論
畳の水練

275 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 02:28:43 ]
Perlでも使ってろ

276 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 02:38:28 ]
>※タブが推薦されない理由って何?
関数の括弧でそろえたいときとかにスペースと混在するしか無くて、
そうすると環境によって見た目がめちゃくちゃになることかなあ。

どの環境もタブ=スペース4つ分とかで統一してくれればいいのに。
何でタブ=スペース8つ&スペース混在をデフォルト設定にしたんだ。>アレ



277 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 02:42:37 ]
アレって何だ?IBM?ゼロックス?

278 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 07:47:22 ]
おひざもとのコーディングルールが 8タブ& 4インデントのアレとか?

279 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 17:02:18 ]
昔はタブ8桁だったからしょうがないね。
スペースだけにするのが一番問題無い。

280 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 18:14:44 ]
それ、別に昔の話でもない
端末(エミュレータ)やウェブブラウザなど、多くのソフトウェアは今でも
普通は8タブのはずだよ



281 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 19:46:04 ]
TAB
八画

282 名前:デフォルトの名無しさん [2009/05/25(月) 22:23:14 ]
みんなのPythonすごく読みやすい。超面白いんですけど、毎日ガンガン読んでます。


283 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 22:40:47 ]
日本語でおk

284 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 22:42:07 ]
みんなのPythonすごく読みやすい。超面白いんですので、毎日ガンガン読んでます。

285 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 22:44:01 ]
ガンガンってまだあったのか

286 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 22:46:48 ]
みんなのPythonすごく読みやすい。超面白いんですので、毎日ボンボン読んでます。

287 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 22:57:50 ]
殴って人が殺せそうな厚さのコミック雑誌名列挙禁止なw
先月付けの号でガンガン超えてたのあったな…。1000Pとかマジ基地

288 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 23:29:13 ]
みんなのPythonすごく読みやすい。超面白いんですので、毎日京極夏彦読んでます。

289 名前:デフォルトの名無しさん mailto:sage [2009/05/26(火) 09:04:46 ]
みんなのPythonすごく読みやすい。超面白いんですので、毎日時刻表読んでます。

290 名前:デフォルトの名無しさん mailto:sage [2009/05/26(火) 12:05:15 ]
誰かが面白いこと言うまで続くの?



291 名前:デフォルトの名無しさん mailto:sage [2009/05/26(火) 16:09:10 ]
ちんこ

292 名前:デフォルトの名無しさん mailto:sage [2009/05/26(火) 16:31:11 ]
乳輪大納言






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<79KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef