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


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

Pythonに見られるインデントによる制御構造の是非



1 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 22:44:02 ]
議論よろしく。

333 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 03:09:39 ]
>>332
いろいろ間違ってる

334 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 03:22:36 ]
>>271
3.0でバッククオートがなくなる理由は`フォントによっては見づらいから`らしい

335 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 03:35:15 ]
>>334
フォント、マジだったのかwwww
確かにそこは見にくいことがあるw

336 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 03:46:38 ]
>>333
うちの環境のsedで試したところ、インデント消えて一律行頭 になったけど?
ただし&をエスケープする必要があったけど

337 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 03:52:26 ]
>>336
sed知らんがな。
結果うp。

338 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 12:28:44 ]
>>332,336
すまん。酔っぱらって勘違いしてた。

339 名前:デフォルトの名無しさん [2007/12/24(月) 01:15:37 ]
self 論議乗り遅れた('A`)

Pythonじゃなくて失礼。
Delphi だと、Selfはかけるけど、with Hoge do 内くらいしか使わないんだよね。

Pythonみたいに、宣言が必要ない言語だと、Self相当は必須なんだね。
よくわかった。

とはいえ、Self必須は面倒だな。
スクリプト言語なのに字数が明らかに多くなる・・・。(perlみたいなのも勘弁だが)
わかりやすい点がいいけどさ・・・


:のつけ時は、いっつも、忘れてわからなくなる。

340 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 01:31:57 ]
>>3
($#9737◇$#9737)

341 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 01:32:44 ]
$#9737;



342 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 08:54:54 ]
selfやな奴は普通に s とか _ とか使えば良いと思う。
とくに、人が書き足したりするようなコードでなければ、好き勝手書けば良いと思う。

343 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 22:37:26 ]
>>342
それじゃあインデントでわざわざ記法を強制するような
Pythonの思想に反するんじゃね??なんでもいいなら
そもそもインデントだっていらなくね?

344 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 22:39:38 ]
凄い論理だ

345 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 23:08:44 ]
>>339
何か勘違いしてるような…。

使う使わないは兎も角、大概のOOPLにおいて
self や this みたいな「自身」を参照するものは
何らかの形で存在してる。

Pythonの場合の self 議論は
「メソッドの仮引数に self を明示的に書かなければならない」
ってところじゃないかと。

346 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 23:12:56 ]
だから "書けば" それでいいじゃん



.... 終了

347 名前:デフォルトの名無しさん [2007/12/25(火) 01:21:10 ]
WindowsAPI
hoge(hWnd, xxx);
fuga(hWnd, yyy);


348 名前:デフォルトの名無しさん mailto:sage [2007/12/25(火) 01:45:19 ]
それはハンドル
そしてAPIは言語じゃない

349 名前:デフォルトの名無しさん [2007/12/25(火) 04:45:10 ]
WindowsAPIは、C言語レベルのAPIだからな。
ハンドル≒OOPのインスタンス=self という解釈なら正しいが、
そうすると、Python が、C言語レ(ry

350 名前:デフォルトの名無しさん mailto:sage [2007/12/25(火) 05:50:23 ]
タイトル:Pythonに見られるインデントによる制御構造の是非
【糞スレランク:D】
直接的な誹謗中傷:0/349 (0.00%)
間接的な誹謗中傷:19/349 (5.44%)
卑猥な表現:2/349 (0.57%)
差別的表現:16/349 (4.58%)
無駄な改行:0/349 (0.00%)
巨大なAAなど:16/349 (4.58%)
同一文章の反復:1/349 (0.29%)
by 糞スレチェッカー Ver1.12 kabu.tm.land.to/kuso/kuso.cgi?ver=112

Dって微妙だな・・

351 名前:デフォルトの名無しさん mailto:sage [2007/12/25(火) 10:38:10 ]
巨大なAAなど:16/349 (4.58%) ってソースコード貼り付けが誤判定されてる気がする



352 名前:デフォルトの名無しさん [2007/12/25(火) 22:01:58 ]
タイトル:Pythonのお勉強 Part22
【糞スレランク:E】
直接的な誹謗中傷:0/488 (0.00%)
間接的な誹謗中傷:11/488 (2.25%)
卑猥な表現:8/488 (1.64%)
差別的表現:1/488 (0.20%)
無駄な改行:0/488 (0.00%)
巨大なAAなど:6/488 (1.23%)
同一文章の反復:2/488 (0.41%)
by 糞スレチェッカー Ver1.12 kabu.tm.land.to/kuso/kuso.cgi?ver=112

353 名前:デフォルトの名無しさん mailto:sage [2007/12/25(火) 22:07:42 ]
>>352
またひとつ糞レスをつけおって・・・

354 名前:デフォルトの名無しさん mailto:sage [2007/12/25(火) 22:28:04 ]
if hoge == fuga:
HOGE
else:
FUGA

if hoge == fuga: HOGE
else: FUGA

if hoge == fuga:
HOGE
elsif hoge == hemi:
FUGA
else:
HEMI

if hoge == fuga: HOGE
elsif hoge == hemi: FUGA
else: HEMI


355 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 02:28:13 ]
結局インデントでブロック指定するのは
たいして利点は無くて欠点が大きいでOK?

356 名前:デフォルトの名無しさん [2007/12/27(木) 06:10:08 ]
欠点が無くて利点が大きい

357 名前:デフォルトの名無しさん [2007/12/27(木) 06:44:11 ]
ONE WORD, FORCED INDENTATION OF THE CODE, THREAD OVER!!!!!!!!!!!!!!!!!!!

358 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 09:11:04 ]
インデントはともかくとして
pythonで書くとコードが綺麗になるのが好き


359 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 21:12:06 ]
言語仕様に頼らないときれいなコードを書けないおとこの人って・・・

360 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 23:23:04 ]
そうだね。Perl使いはみんな綺麗なコードを書くよね。

361 名前:デフォルトの名無しさん [2007/12/28(金) 03:39:25 ]
インデント否定派の人はエディターで自動ディデントできないからって言うのが主な理由?



362 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 09:38:20 ]
ディデントって何?
ポリデントみたいな物か?

363 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 09:47:07 ]
インデントの逆

364 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 10:53:19 ]
アウトデント?

オフデント
バックデント
モドリデント


365 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 10:57:03 ]
デデンドモリ

366 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 14:44:59 ]
マジレスするとアンインデントだろ

367 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 14:59:26 ]
>>359
誰が書いてもある程度読みやすくなるようにできているのだよ。つまり、書き手よりも読み手を
重視しているんじゃねぇの? (でも、インデントの階層が深くなると、書いていて分かりづらく
なってくる。それも狙いかもしれんが。)

368 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 16:13:28 ]
>でも、インデントの階層が深くなると、

それは他の言語でも基本的には同じ問題で
そうなったら大抵は何か考え直すべきとされてるでそ

369 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 16:37:37 ]
Pythonもいろいろ工夫してるけど
へぼが書くとやっぱり読みにくい

370 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 19:38:58 ]
>>367
そんなに強制したいなら変数の命名規則も強制しろ。
そして変数の名前から型が決まるようにすればいい。

371 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 20:59:40 ]
つまり「ネストの深さ」にも「暗黙の制限」が
かかっているような言語仕様なんですね。
いくらでも深くネストできるけど、やりすぎちゃダメ!という…



372 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 21:00:27 ]
つシステムハンガリアン

373 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 21:31:40 ]
>>362>>364>>366
www.python.jp/doc/release/ref/indentation.html
この説明ではdedentと言ってる

374 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 21:50:46 ]
ついでに関数とかメソッドとかブロックの中の行数も制限しようぜ。
5行以内に。

375 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 22:27:39 ]
「強制すんな!おれは空白を何個入れるかで自己表現してんだ!」って思うか
「これでアホのゴミネストに付き合わなくてすむぜ」って思うかで
プログラマとしての何かが問われるだろう

376 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 22:45:40 ]
>>370
そんなの強制しなくても命名規則を決めればいいだけ
従わないヤツはチームから除外すれば済むし
それくらいできないヤツはどうせダメなヤツだから
むしろ除外した方がチームのため

377 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 23:06:19 ]
>>376
だよな。インデントだってコーディングルールを強制すればよいだけで
従わないやつは排除すればいい。インデントを言語仕様で強制する必用
全然ねえよな。Pythonのインデントに関する理屈は屁理屈

378 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 23:10:52 ]
>>377
>インデントだってコーディングルールを強制すればよいだけで

そうそう。
インデントを廃止するかわりに,ブラケットやendみたいなキーワードを導入すればいいだけの話だよね。
簡単簡単。

379 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 01:18:06 ]
ブラケットやendみたいなキーワードを強制されるのは嫌だな

380 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 01:28:23 ]
Ruby書いてるときに

def range(start, end)
..
って書けないのはちょっといやだな

381 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 01:30:05 ]
ブラケットがキーワードなのか



382 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 01:50:36 ]
>>375
どちらもアホプログラマにしか思えない

383 名前:デフォルトの名無しさん [2007/12/29(土) 02:12:48 ]
自分たちがちゃんとインデントされてるコードを書いてるかどうかという話と
言語仕様としてインデントでブロックをあらわすということは何の関係も無いわけだけど
>>377>>378は何を言ってるんだ?完璧に意味不明

384 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 07:19:11 ]
378は皮肉だろ。多分

385 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 09:31:12 ]
・378を皮肉だと分からないヤツ
・「キーワード」が「ブラケット」と「end」にかかっていると思っちゃうヤツ

どっちもPythonistaとして失格。
Monty Pythonでも見ながら基本からやり直した方がいい。

386 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 10:32:26 ]
>>379
Python でもかけませんがあにか

387 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 10:38:33 ]
>>385
別にPythonistaとやらになりたくはないがな
静的スコープのない言語なんて願い下げ

388 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 10:53:07 ]
Pythonは思いっきり静的スコープを採用した言語だが…

389 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 14:06:52 ]
まぁ378は皮肉としてはどうかと思うが

390 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 14:12:36 ]
そんなこといったら、>>383のもわかってる煽りだろw

391 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 14:43:48 ]
>>383に食いつくのはプライドが許さない



392 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 20:17:51 ]
>>386
これできみはしやわせになれると思うよ。

end = 1

393 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 20:22:38 ]
389=391はおれげんごをつくった。
でもだれもつかわなかった。

394 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 00:28:21 ]
そうですか

395 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 12:26:33 ]
そうです

396 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 07:34:26 ]
おめでとうございます

397 名前:デフォルトの名無しさん [2008/01/04(金) 23:16:45 ]
end があると、endだけの行が大量に発生するのが、コードが間延びしてる感じがしてダサい
pythonの方がエディタで眺めたときに、均等に情報が並んでる感じがして気持ちいい

398 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 04:29:54 ]
Pythonだとここまでで、インデント終わりってのが明確にわからないのだが、
その辺、どうやってみわけるの?

399 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 07:25:06 ]
>>398
次の命令のインデントでわかる。
インタラクティブモードの場合は空行を入れることでも可。


400 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 16:34:08 ]
>>399
やっぱそうか・・・
エディタとかブラウザで、どこまでスクロールすればいいんだろとか不安になるもんで

401 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 18:18:36 ]
why?
kwsk



402 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 18:50:31 ]
要するに「ブロック終了」に相当する単語なり文字が目に見えないから不安な気がするってことじゃないか?
自分もpythonはじめたかなり最初の方はそういう感覚があったような気がする

403 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 20:41:45 ]
こういうコードに遭遇すると殺意沸くよね

def ふにゃふにゃ
  ぴっぽろ
  ぱっぽろ

  # 以下不要なのでコメントアウト
  # ぷんぱか
  # ほにゃらら
   (20行続く)

  # 2008/1/5 追加しました。
  return "こんなところにこんなものが!”
  

404 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 20:51:11 ]
それはPythonに限らないだろ

String ふにゃふにゃ() {
  ぴっぽろ;
  ぱっぽろ;

  // 以下不要なのでコメントアウト
  // ぷんぱか;
  // ほにゃらら;
   (20行続く)

  // 2008/1/5 追加しました。
  return "こんなところにこんなものが!";
}

405 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 21:30:30 ]
いや、ちがうんだけど、
なんだかとても眠いので寝る。
続きは夢の中で議論しましょう。

406 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 22:26:02 ]
じゃ、そうしましょう。
おやすみなさい。

407 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 00:00:56 ]
俺も夢の中で、まってます

408 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 01:05:14 ]
じゃあ俺はニシキヘビを持って行くね。

409 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 13:23:26 ]
なんで来なかったんだよ!

410 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 13:30:56 ]
ごめん、熟睡しちゃった。テヘ

411 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 15:01:51 ]
寝て起きたらやり合うのめんどくさくなった



412 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 17:03:06 ]
Pythonの場合、ブロックを跨いだ場所にカット&ペーストしたら
必ず自分でインデント調整せないかんの?
自動整形とか出来なさそう…まぁ、そういう機能ないエディタだと普段やってることだけどさ

413 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 18:28:56 ]
ブロックを跨いでるなら自動整形出来るだろ


414 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 19:24:27 ]
インデント調整ってめんどくさくないんだよ!

415 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 19:30:36 ]
>>412
>Pythonの場合、ブロックを跨いだ場所にカット&ペーストしたら
>必ず自分でインデント調整せないかんの?

そういう場合、ブロックを関数とかメソッドとかに出来るし
何の関係も無い
カット&ペーストしたら大抵は何か考え直すべき
へぼが書くとやっぱり読みにくい


416 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 08:15:19 ]
考え直して関数・メソッドにする時にカット&ペーストしない?

417 名前:実際に書いたことあれば疑問に思わないんだけどね mailto:sage [2008/01/07(月) 10:42:03 ]
ブロックごとペースとしたらそのブロック全体の
インデントをちょちょいと直せばいいだけ

直すインデントの量は先頭を見れば自明



何か疑問でも?

418 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 10:49:10 ]
dakara sorega mendou datte hanasi dattandaro

419 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 10:51:54 ]
ペーストした時点で正しいコードになってるのと
ペースト後インデント直さないと正しいコードにならないのとの違いの話だな

420 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 10:58:26 ]
めんどうじゃないよ

421 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 11:41:19 ]
めんどうだよ



422 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 12:27:11 ]
めんどうじゃよ

423 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 12:31:50 ]
めんどうでござる

424 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 12:32:58 ]
めんどうだったら

425 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 13:18:51 ]
めんどうなんだからねっ

426 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 13:20:16 ]
カッコで照合する言語の場合は尻尾のカッコの数を間違えて
整合性がとれなくなったりコードがおかしくなったりするわけだけど
その際の確認の手間がペーストよりも後ろ側に来てるだけ

面倒もへったくれもないし議論になってねーっつーの

427 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 13:28:32 ]
カッコの数を間違えたらSyntax Erorrだと思うが

428 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 15:23:17 ]
Pythonもブロックのインデントレベルが違うと構文エラー
大らかなのはアセンブラぐらいかな

429 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 15:43:28 ]
何言ってんの?

430 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 17:19:08 ]
Python でインデントレベルが変わるのは : の次と
戻す時だけだから他言語での括弧の不整合と同じく
エラーが出るね

431 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 17:48:15 ]
よく考えろよ。



432 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 18:23:20 ]
お金は大事だぞ

433 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 18:53:07 ]
あふぉらっく






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

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

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