[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 04/08 07:38 / Filesize : 228 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

くだすれPython(超初心者用) その16



1 名前:デフォルトの名無しさん mailto:sage [2013/01/21(月) 16:36:03.35 ]
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その15
toro.2ch.net/test/read.cgi/tech/1350718465/
関連スレ
Pythonのお勉強 Part48
toro.2ch.net/test/read.cgi/tech/1358750040/
【実験台】 Python 3.0 のお勉強 Part 1 【非互換】
toro.2ch.net/test/read.cgi/tech/1235050215/
◆関連リンク
Python の Home Page
ttp://www.python.org/

271 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 22:41:07.18 ]
技術書の英語なんて単語の種類や文法の複雑さを鑑みても学習効果なんてたかが知れたこと
ネイティブじゃない限り和書のほうがずっと早く読めるんだから
多少高くついてもそっちを選ぶべきというのは理屈にかなっているだろ

272 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 22:55:15.37 ]
>>271
>技術書の英語なんて単語の種類や文法の複雑さを鑑みても学習効果なんてたかが知れたこと

これは鋭い指摘ですね
読みやすいという感覚があったのはそういう事情があったからだと思います
ただ、読まされる英文じゃなくて読みたい英文に触れられたのがとにかく新鮮で楽しかったわけです
これは無駄ではなかったと思ってますw

273 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 23:01:00.53 ]
普通の英語を新鮮とか言ってる時点でもう英語がいかに出来ないかを物語っている
自己正当化は結構だがそんなんじゃカスみたいな人生しか待ってないぞ

274 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 23:05:09.83 ]
人生の敗北者でも使える優しい言語、それがPython

275 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 23:17:12.65 ]
while not ejaculated:
  if is_impotent():
    accept_my_fate():
    exit(1)
  ejaculated = masturbate()

276 名前:デフォルトの名無しさん mailto:sage [2013/02/08(金) 23:20:44.11 ]
コードは汚く、Pythonは美しい

277 名前:デフォルトの名無しさん mailto:sage [2013/02/09(土) 03:14:56.71 ]
和書が腐る程あるRubyが羨ましい。
逆だったら良かったのに。

278 名前:デフォルトの名無しさん mailto:sage [2013/02/09(土) 03:37:34.40 ]
金なんか払わなくてもドキュメントならいくらでも和訳されてるのに

279 名前:デフォルトの名無しさん mailto:sage [2013/02/09(土) 08:47:37.72 ]
>>277
そんなに沢山必要か?



280 名前:デフォルトの名無しさん mailto:sage [2013/02/09(土) 13:41:01.64 ]
標準ドキュメントの和訳版が逸品過ぎて本が売れない。

281 名前:デフォルトの名無しさん [2013/02/09(土) 16:55:04.22 ]
ノロマは誤訳だらけの訳書が出るまで待ってりゃいいんじゃね

282 名前:デフォルトの名無しさん mailto:sage [2013/02/09(土) 17:27:35.12 ]
たしかに誤訳は困るけど、日本語なら早く読めるのは本当だ

283 名前:デフォルトの名無しさん mailto:sage [2013/02/09(土) 17:32:43.14 ]
そういう意味じゃないよ。一生待っても、わざわざドキュメントの
日本語訳を用意してくれるライブラリやプロジェクトは少ない
日本語を選んだほうが良いのは、言うまでもなく、既に日本語訳がある場合に限る
待たなければいけない時点で速く読めるかどうかは関係なくなる

284 名前:デフォルトの名無しさん mailto:sage [2013/02/09(土) 17:50:04.89 ]
洋書なんか読んでも読まなくてもどっちでいいけど
ライブラリ添付の英語ドキュメントは読めたほうがいいね

285 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 17:04:51.47 ]
lb=[2, 3, 47, 7, 3, 4, 5, 1]

la=[2, 4, 6, 7]

for b in lb:
for a in la:
if a==b :
break
else:
lb.remove(b)

lb
[2, 47, 7, 4, 1]

?

286 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 17:05:56.16 ]
lb=[2, 3, 47, 7, 3, 4, 5, 1]

la=[2, 4, 6, 7]

for b in lb:
 for a in la:
  if a==b :
   break
 else:
  lb.remove(b)

lb
[2, 47, 7, 4, 1]

?

287 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 17:12:37.03 ]
for文はelse節を取れる。ループを抜けた後に実行される

288 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 17:16:06.61 ]
lbをfor-inでループ中にlbから要素を削除したら変になるのは当然

289 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 17:16:31.21 ]
あ、breakで抜けたら実行されない



290 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 17:17:55.70 ]
>>288
確かに

291 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 17:33:26.49 ]
lbをlaと一致する要素だけにするには新しいlistを作成して
appendするのがいいですか?

292 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 17:35:21.08 ]
集合を使えよ

293 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 17:45:37.04 ]
重複要素も維持したいんじゃないの?

294 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 17:50:02.50 ]
>>285

list を表す時は小文字じゃなくて大文字のL使おうな

あと、こういう風に>>293とやって自分にレスアンカーを付けてやると良いよ

これでいいかい?

>>> La = [2, 4, 6, 7]
>>> Lb = [2, 3, 47, 7, 3, 4, 5, 1]
>>> sta = set(La)
>>> stb = set(Lb)
>>> sta & stb
{2, 4, 7}
>>> sta - stb
{6}
>>> stb - sta
{1, 3, 5, 47}
>>> sta | stb
{1, 2, 3, 4, 5, 6, 7, 47}

295 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 17:50:54.02 ]
. .: : : : : : : : :: :::: :: :: : :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    . . : : : :: : : :: : ::: :: : :::: :: ::: ::: ::::::::::::::::::::::::::::::::::::::
   . . .... ..: : :: :: ::: :::::: :::::::::::: : :::::::::::::::::::::::::::::::::::::::::::::
        Λ_Λ . . . .: : : ::: : :: ::::::::: :::::::::::::::::::::::::::::
       /:彡ミ゛ヽ;)ー、 . . .: : : :::::: :::::::::::::::::::::::::::::::::
      / :::/:: ヽ、ヽ、 ::i . .:: :.: ::: . :::::::::::::::::::::::::::::::::::::::
      / :::/;;:   ヽ ヽ ::l . :. :. .:: : :: :: :::::::: : ::::::::::::::::::
 ̄ ̄ ̄(_,ノ  ̄ ̄ ̄ヽ、_ノ ̄ ̄ ̄ ̄

296 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 17:52:26.79 ]
集合だと順番も維持されなけりゃ重複要素も削除されるけどええんか?

297 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 17:53:44.29 ]
>>294
たいへん参考になりました
ありがとうございました

298 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:04:17.13 ]
なんで大文字のLなの?
いまどきハンガリアン?
Python的には小文字アンスコ繋ぎだろ。
やるならa_list

299 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:10:07.75 ]
list_a の方が
list_foo, list_foobar を縦に並べて書いた時に
list_ の部分が揃って好き



300 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:10:23.45 ]
>>291,297
欲しかったのはLc?
>>293も満たしたつもりだけど。

>>> Lc = []
>>> for x in Lb:
... if x not in sta:
... Lc.append(x)
...
>>> Lc
[3, 47, 3, 5, 1]

301 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:10:27.45 ]
>>298
www.python.org/dev/peps/pep-0008/#id27

302 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:17:06.12 ]
>>301
どこ?クラス名はCamelCaseと書いてあるのは見つけたけど

303 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:21:41.93 ]
>>298
listって書くよりLの方が楽でしょ。
これってお試しでやれば良いだけだし、
4,5行の範囲内だから"list"って書かなくても
"L"でlistって分かるよ。
moduleとかの話とはまた違う話。
柔軟にいこう柔軟に。

PEP: 8
Title: Style Guide for Python Code
oldriver.org/python/pep-0008j.html
規範:命名規則

避けるべき名前

「l」 (小文字のエル)、「O」(大文字のオー)、「I」(大文字のアイ)
を1文字の変数名として使わない。

フォントによっては、これらの文字は数字の 1 や 0 と区別できない。
「l」 を使いたくなったら、代わりに「L」を使う。

304 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:26:00.40 ]
4,5行の範囲ならaでもbでもいいだろ
リストを表したいなら複数形にすべきだよ
そもそも文頭に数字の1が来ることなんてないだろ
len()はLen()じゃねえし

305 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:27:08.95 ]
>>300
Lcではないです。十分です。

306 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:32:50.56 ]
>>303
>1文字の変数名として使わない
ここ超重要なんだけどね

2文字以上なら1aとかエラーになるから
気にしなくていい

307 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:36:31.22 ]
"Never use the characters 'l' (lowercase letter el),
'O' (uppercase letter oh), or 'I' (uppercase letter eye) as
single character variable names."

ってあるけど、la(エルエー), Ia(アイエー)は区別付かないので、以下の方が良いと思う。

「l」 (小文字のエル)、「O」(大文字のオー)、「I」(大文字のアイ)
を数文字(2,3文字)の変数名の先頭に使わない。
or
を数文字(2,3文字)の変数名に含めない。

こいつは原文を修正すべきと思いました。
誰かお願い。
本家に申し立てて下さい。

308 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:37:57.93 ]
lstが使えなくなるので激しく嫌です

309 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:38:57.59 ]
とりあえず意味のあるワードにすればいいのでは
リーダブルコードをはじめ一般的にそう言われてるでしょ
listの頭文字を別の文字に読み間違える人がいるだろうか
それと、Lがリストを表すというのはどれくらい一般的なんだろう
nがnumber ofを表すってくらい有名なら使っていいと思うけど



310 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:45:40.37 ]
標準ライブラリを見てみると頻繁ではないけどちょこちょこ使われてる
PEP8に書いてあるというのはよく知られていること

311 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:48:09.22 ]
Lusersとかやるんだろうか…結構クソだと思うけど

312 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:48:53.88 ]
>>308
1st と区別付きにくくない?
先頭が数字だから変数名には出来ないんだけどさ。
lstってlast, list, lostどれか分かりにくいから止めるべきでは?(`・ω・´)キリッ

Ia(アイエー)って電流の意味で書きたくなるので、
縦棒は大文字の愛さん専用ということで。

>>309
> 1文字の変数名として使わない。
> 数文字(2,3文字)の変数名の先頭に使わない。

勝手に変な話しているぞ
Pythonの話と他の話は分けてしましょう。

Pythonの中でならLがlistを表すのは、
「それくらい分かるだろ?予想付くだろ!」
って言って良いと思う。

313 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:52:58.58 ]
>>312
エキスパートPythonプログラミングのPEP8をカバーした命名規則でもそういう話はなかった気がするなあ
別の話を勘違いしてるのはお前じゃないかな
Lがリストなんてどこに書いてある?

314 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:54:55.42 ]
そもそも元のコードが、意味がなくて区別出来ればいいだけの変数なんだから
細かいこと気にすんなよ。

315 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:57:19.64 ]
>>313
横からだけどPEP8には書いてないけどLっていったら普通はリストだね
listが組み込み名で使えないのが関係してるんじゃないかと
list_とか書くの面倒だし

>>311
やらない

316 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 18:58:43.44 ]
>>313
どこにも書いてないよ。
だから、「それくらい分かるだろ?予想付くだろ!」って書いた。
書いてあるなら「書いてあるだろ!」って書いたけど?

Pythonの中でなら一文字変数Lがlistを表すのは
「それくらい分かるだろ?予想付くだろ!」っていうぐらい一般的だと思う。

当然に、文脈によっては、Lが別のclassのinstanceって事はあると思うよ。

317 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 19:02:15.05 ]
>>315-316
お前らが言ってるのってメタ構文変数みたいな話ね
それは普通、推奨されないし、list_とかで変数を説明するのは普通のこと
laをLaに変えるべきとか言ってたからそういうルールがあるのかと思ったわ
この場合、別にlaでも問題ないわ

318 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 19:02:33.98 ]
>>307
1文字のlと1は1文字だと
間違えても数字の1としてそのまま実行されてしまうが、
1文字でない場合は大体エラーになってすぐ分かるので気にしなくていい

ll とか IO とかは微妙かもしれないがね

319 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 19:09:41.76 ]
>>317
リストって意味を通常含むからメタ構文変数って言っていいかはともかく
LaやLbはあまりやらない。せいぜいL, L1, L2



320 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 19:18:55.69 ]
>>317
l, laではなくL, Laと書く癖を付けておいた方が良いよね。
だってPEP8で"〜を1文字の変数名として使わない。"
と、非推奨であると名言しているもん。

PEP8の該当箇所を知った上で、
> この場合、別にlaでも問題ないわ
って書く人はPython使わない方が良いと思う。

>>319
l(小文字のエル)ではなくて、Lを使うことをPEP8で推奨しているよ。
>>285に説明したかっただけですので。

321 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 19:21:25.48 ]
なんで>>294はaのセットをSaと表さないのか謎だよね
集合が大文字のSで、それに添字が付くのは数学では一般的なのに

>>320
だからー、一文字の無意味変数は文字に関わらず推奨されてないんだって
そんなゴミ文字を使うときは何を使おうがおなじことだよ
lではなくLを使うことによって生産性が上がることがある?
そもそもLだって何の意味もないコードでしか使えないのに

322 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 19:30:11.79 ]
>>320
PEP8的には l = ... を使うぐらいだったら L を使えってだけだよ
La, Lbなんて変数を使う人は滅多にいない
la, lbを使う人は結構いる

323 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 19:32:09.26 ]
1文字以外でlをLにするんだったら
listだってListにしなくちゃいけないし
consoleだってconsoLeにしなくちゃいけないよ

324 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 19:32:37.77 ]
そんなことより>300で良いのか。
なんでわざわざappendなんてせにゃならんのだ。

325 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 19:35:20.26 ]
>>324
・インデックスでループして、popで削除して、削除したらインデックスを進めない
・インデックスで逆順ループして、popで削除

新しいリストを作らないならこのどちらかだな

326 名前:324 mailto:sage [2013/02/11(月) 19:37:42.98 ]
これで良いじゃないか。
Lc = [ e for e in Lb if e not in La ]

327 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 19:37:45.18 ]
「俺が読みにくいから2chにソースコードを載せるときはLを使え」と言えばいいのでは

328 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 19:51:38.71 ]
>>324
内包表記でif not inとか使うと読みにくいんで。
>>293の話もあって、本当は>>300のLcを結果として得たかったのかも。
と思って>>300書きました。

初心者の人に説明する時は、
>>326>>300では、>>300の方が分かりやすいと思いますが。
誰に説明するか考えた上での>>326ですか?

>>321
話がそれてきてますが。

>>285が発端なんだけど。
分かってる?

>>285に対する回答として>>294の説明をしたよね。
>>297で質問者は納得してくれたんだけど。

十分だと思うんだ。

ただ、la, lbを使っているところから、一文字の変数名として小文字のlは
非推奨と書いているPEP8の存在を知らないような気がした。
私自身も最初la, lb使ってましたんで。
でも、PEP8読んでLa, Lb使うようにしました。

よく分かんないから書いて欲しいんだけど、>>294にケチ付ける人は、
>>285に対する説明でどう書けば満足してた?
PEP8知らないだろうなーって思う初心者の方にPEP8の該当箇所黙ってた方が良かった?
どうせお前の意見言ってみろって言われたら黙るんでしょ?
自分の意見・考えは示さず批判する側で居続けたい人達ばかりでしょ?

┐(´д`)┌ヤレヤレ

329 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 19:55:06.41 ]
la、lbは一文字の変数じゃねーじゃん。どういうこと?



330 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 19:57:07.35 ]
>>328の流れは>>131-134あたりで一度やってる

331 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 20:04:17.51 ]
>>328
いやだから、aとかbとか意味のない変数名はPEP8以前の話だって。

実用コードでそんな変数名使ってるなら絶対直した方が良いけど、
その場合「ちゃんと読み手に意味が分かる変数名使おうな」って話になる。
そこで単なる規約のPEP8持ちだしてLaだLbだ言ってもコードは読みやすく
ならない。

要は、>>285みたいな例ではla、lbで全く問題ないって事だ。

332 名前:324 mailto:sage [2013/02/11(月) 20:08:27.71 ]
なんか意見言えって言われた気がしたから書く。

CはC, JavaはJavaにふさわしい書き方があるように、
PythonにはPythonにふさわしい書き方がある。
「直交性」という言葉の意味は俺は分からんし、
確かそれで揉めてた気がするけど、俺は>134と似た意見を持ってる。

そもそも>285は質問の仕方が下手で、
何を適切な結果として受け取りたかったのか分からんけど、
俺としてはそんなことはどうでもよくて、
>300が華麗にスルーされているように見えたのが気になっただけ。
Pythonでこんなまどろっこしいことやってたら疲れる。

変数名の命名規約は俺は結構どうでもいい。
やりたい人達でやって。

333 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 20:08:38.83 ]
ただ、la, lbを使っているところから、一文字の変数名として小文字のlは
非推奨と書いているPEP8の存在を知らないような気がした。
私自身も最初la, lb使ってましたんで。

334 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 20:09:39.97 ]
>333は>331宛て

335 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 20:12:44.07 ]
「一文字の」をどれだけ無視すれば気が住むんだ

336 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 20:16:33.16 ]
la(エルエー), Ia(アイエー)は区別付かないので、以下の方が良いと思う。

「l」 (小文字のエル)、「O」(大文字のオー)、「I」(大文字のアイ)
を数文字(2,3文字)の変数名の先頭に使わない。
or
を数文字(2,3文字)の変数名に含めない。

こいつは原文を修正すべきと思いました。
誰かお願い。
本家に申し立てて下さい。

337 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 20:17:56.85 ]
# ここまで読み飛ばした

338 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 20:18:31.42 ]
>>336
lenが抹殺されるからやっぱり嫌です

339 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 20:25:14.37 ]
全レス君頑張ってるな



340 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 20:32:19.48 ]
>>338
lenはlen()と被っているので、使わないようにしましょう(`・ω・´)キリッ
>>> s = 'abc'
>>> len(s)
3
>>> len = 100
>>> len(s)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable

341 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 20:32:51.59 ]
何で先頭だけなんでしょうねえ

342 名前:デフォルトの名無しさん mailto:sage [2013/02/13(水) 03:01:20.38 ]
どうでもいい
何がキリッだ
てめえのゴミのような日常生活の心配してろ

343 名前:デフォルトの名無しさん mailto:sage [2013/02/13(水) 04:23:24.48 ]
hoge[n:m]でn〜m-1がキモくて慣れんかった(キリッ

344 名前:デフォルトの名無しさん mailto:sage [2013/02/13(水) 07:00:44.59 ]
m - n が要素のサイズと一致しないのは不便

終端の添字の要素を含むと len(hoge[2:5]) が 4 になってしまう

345 名前:デフォルトの名無しさん mailto:sage [2013/02/13(水) 07:24:57.82 ]
要するに慣れの問題

346 名前:デフォルトの名無しさん mailto:sage [2013/02/13(水) 07:39:04.90 ]
先頭のlなんて間違えたらそもそもプログラムが動かないんだから
1になろうがどうだろうがどうでもいい

347 名前:デフォルトの名無しさん mailto:sage [2013/02/13(水) 07:51:00.46 ]
le234 = 123; foo(1e234) とか考えられなくはないけどキリがないね

348 名前:デフォルトの名無しさん mailto:sage [2013/02/13(水) 08:43:01.05 ]
or を変数にして悩んだことあるな

349 名前:デフォルトの名無しさん mailto:sage [2013/02/13(水) 17:31:25.25 ]
PyGTKとwxPythonって使い分けしてる人いるんでしょうか?
あるいはどちらかしか使わない派?



350 名前:デフォルトの名無しさん mailto:sage [2013/02/13(水) 17:35:35.23 ]
PySideとwxPythonを使い分けてる俺なら

351 名前:デフォルトの名無しさん mailto:sage [2013/02/13(水) 17:52:44.19 ]
>>350
ありがd
できればPyGTKを使わない理由、PySideを使うメリットも教えてちょ

352 名前:デフォルトの名無しさん mailto:sage [2013/02/13(水) 18:44:51.68 ]
>>351
> PyGTKを使わない理由
なんとなく
> PySideを使うメリット
ライセンス的に
> wxPython
windowsでちょっとしたツールを作るのにお手軽

自分で使ってみて必要な機能がありしっくりくるのを使えばいいんじゃないかな

353 名前:デフォルトの名無しさん mailto:sage [2013/02/13(水) 19:03:13.39 ]
GTKは糞
使えば判る

354 名前:デフォルトの名無しさん mailto:sage [2013/02/13(水) 23:35:08.40 ]
PyGTKがないとmatplotlibが不便になる

355 名前:デフォルトの名無しさん mailto:sage [2013/02/13(水) 23:35:54.79 ]
自分が使ってプログラミングするつもりはないけど

356 名前:デフォルトの名無しさん mailto:sage [2013/02/14(木) 13:18:05.06 ]
docs.python.jp/3.3/library/html.parser.html
これって将来削除されるってことですか?

357 名前:デフォルトの名無しさん mailto:sage [2013/02/14(木) 14:40:41.62 ]
strict引数がね

358 名前:デフォルトの名無しさん mailto:sage [2013/02/14(木) 23:33:32.63 ]
ありがとうございました

359 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 11:37:29.18 ]
shelveを利用したデータ保存の勉強をしています
手元の環境はPythonが2.7.3で動作するプログラムを、さくらインターネットに持って行くと動かなくなります。
さくらインターネットのPythonも2.7.3なのですが、Shelveは環境により動作が変わるのでしょうか?

例えばさくらインターネットでは、shelve.open()で指定したファイル名の後ろに".db"がつけられます。
これは、ファイル名を変更することで修正を行えたのですが、DBにデータが保存されないという現象も起きています。



360 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 12:01:12.06 ]
>Shelveは環境により動作が変わるのでしょうか?

変わる
以下の11..4.1を参照せよ
docs.python.jp/2/library/shelve.html

361 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 12:21:34.76 ]
jsonにしとけ

362 名前:359 mailto:sage [2013/02/18(月) 13:56:04.17 ]
>>360
ありがとうございます。
そのマニュアルは読んでいたのですが、制限というものがわかっておらずshelveで操作
可能なことは共通で利用可能かと思っておりました。
問題は不具合があったコードを書きなおすことで解決できたのですが、今後もshelveを
利用しようと考えているため、shelveについて質問させて頂ければと思います。

まず、shelveのバックエンドが環境に寄って変わるという事ですが、今回のように同じ
バージョンのPythonでもバックエンドが変わるというのはShelveはどこで利用するバッ
クエンドを決めているのでしょうか?
利用するバックエンドはどのように知ることが出来るでしょうか?

363 名前:359 mailto:sage [2013/02/18(月) 13:57:10.20 ]
また、拡張子が付加される場合があるようですが、こちらも条件としてはどのような条
件で付加される条件が決まるのでしょうか?
shelveファイルが存在しなければ初期データの投入する処理を指定ファイル名のファイ
ルが存在するかということで行なっていたのですが、今回は拡張子が付加されて常に初
期データに戻るという問題も起きておりました。

また、ローカルとリモートのDBファイルを見てみると、バックエンドによって形式が違
うようなのですが、これは互換性が無いと考えてよろしいでしょうか?
この場合ファイルを移動させる際は、pickleでファイルに落とし、リモートでpickleか
らshelveに落とすという手順が必要になるでしょうか?

バックエンドによる制限の違いを調べたのですが見つけることができませんでした。
こちらについても、記載のあるページなどございましたらご案内頂ければと思います。

364 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 14:16:20.60 ]
>まず、shelveのバックエンドが環境に寄って変わるという事ですが、今回のように同じ
>バージョンのPythonでもバックエンドが変わるというのはShelveはどこで利用するバッ
>クエンドを決めているのでしょうか?

anydbm.openの優先順位に従う
具体的には['dbhash', 'gdbm', 'dbm', 'dumbdbm']の順

>利用するバックエンドはどのように知ることが出来るでしょうか?

print type(shelve.open('hogehuga.db').dict)
あるいは作成されたDBに対してwhichdbを使用する

>また、拡張子が付加される場合があるようですが、こちらも条件としてはどのような条
>件で付加される条件が決まるのでしょうか?
>shelveファイルが存在しなければ初期データの投入する処理を指定ファイル名のファイ
>ルが存在するかということで行なっていたのですが、今回は拡張子が付加されて常に初
>期データに戻るという問題も起きておりました。

BSD DBの場合サフィックス.dbが付与される

docs.python.jp/2.6/library/dbm.html
>また、BSD DBは拡張子 .db がついたファイルが一つ作成されます。

>また、ローカルとリモートのDBファイルを見てみると、バックエンドによって形式が違
>うようなのですが、これは互換性が無いと考えてよろしいでしょうか?
>この場合ファイルを移動させる際は、pickleでファイルに落とし、リモートでpickleか
>らshelveに落とすという手順が必要になるでしょうか?

互換性が無いと考えてよい。考えるべき
そもそもshelveでなくdictのpickleで代替できないか考えた方がいいが

365 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 14:27:09.60 ]
あるいはShelfクラスをそのまま使用する
shelve.openの中は以下のようになっている(模式的なものであり厳密には違う)

def open(filename, flag='c', protocol=None, writeback=False):
 Shelf.(anydbm.open(filename, flag), protocol, writeback)

すなわち、使いたいdbmを自分でオープンし、Shelfのコンストラクタに渡せばいい
dumbdbmは遅いけど可搬性が保障されている

366 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 17:47:38.35 ]
最近みんなのpythonで勉強始めた初心者なんだけどすんごく難しい
これで初学者にはいい言語ってんだからプログラミングって茨の道なんだな

367 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 17:51:21.52 ]
オブジェクト指向とかクラスとかよく分からんかったけど、
↓みたら少し分かった。

www.youtube.com/watch?v=hx5sWRdg-S0

368 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 18:12:04.72 ]
dotinstall.com/lessons/basic_python
初心者はこれみりゃいい

369 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 18:13:01.21 ]
www.codecademy.com/ja/tracks/python
これも中々良い



370 名前:デフォルトの名無しさん [2013/02/18(月) 23:09:47.60 ]
dive into pythonだろ

371 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 23:31:36.22 ]
from turtle import *

def branch(length):
if length < 10:
return
forward(length)
left(30)
branch(length/2)
right(60)
branch(length/2)
left(30)
forward(-length)

branch(200)

input()

このbranchの中にbranchってのがよく分からないんで教えてくれませんか
200進んで、30曲がって、branch(100)だから、100進んで、30曲がって…branch(12.5)で12.5進んで、30曲がる
で次にlengthが6.75になるからreturn…でこのあとどうなるのかがさっぱり分かりません
実際の描画を見ると行ったり戻ったり奇妙な動きをするのですがどうなればそうなるのかちんぷんかんぷんで

>>370
ずぶの素人は内容以前に文中の用語がまず理解できないんですよあれ






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

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

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