Pythonは同じ事するのにforと内包表記の2つの方法が

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2020/06/21(日) 20:38:14.43ID:reDB8Zbe
なんで同じことをするのに違う方法があるのでしょうか?
Pythonの哲学に反していますよね

0052デフォルトの名無しさん2020/06/29(月) 01:08:50.33ID:niSJVWLJ
そうやって開き直るなら最初から飾らねばよい

0053デフォルトの名無しさん2020/06/29(月) 03:02:42.67ID:xaDJZCCE
>>50
どうやったらそんなアホな解釈ができるんだろう…
で、単なる理念でしかないからなんだって言うんだ?
掲げちゃだめなのか?

0054デフォルトの名無しさん2020/06/29(月) 08:11:17.15ID:ZmlwqIuG
無意味とか言い出したのは自分だろうに。

「単なる理念」であって「仕様」や「規約」なんかじゃないから、開発者はその理念を汲んで
開発しようとするとしても現実のpythonが必ずしもそうできているというわけではないということ。
加えて言えばそこに明確な基準はないし客観的に判断しようもない。if と unless の話がいい例。

0055デフォルトの名無しさん2020/06/29(月) 09:09:11.16ID:bJhvMCaD
誰が書いても整形ツールを通したような書き方になるのであって
コード(ロジック)が同じようになるわけがない

0056デフォルトの名無しさん2020/06/29(月) 12:58:17.99ID:DbC54367
>>55
「python 誰が書いても」でGoogl検索してみました。
ttps://www.google.com/search?client=firefox-b-d&q=python+%E8%AA%B0%E3%81%8C%E6%9B%B8%E3%81%84%E3%81%A6%E3%82%82

ざっど見たところ、「見た目が同じようになる」ではなく「同じようなコードになる」と
書いてあるものが結構ありましたね。

中には、「つまり、誰が書いても似たものになるんです。大事なことなので(ry」と、
念押しして書いているものもありました。

こういう事を平気で書いてあるサイトや書箱があるから、実際に使ってみると
「同じようなコードにはならない」と反論がでるのではないかと思います。

0057デフォルトの名無しさん2020/06/29(月) 13:03:39.68ID:tYVp58Ca
ループをforで書いていたら、Python流は内包表記を使うんだと
書き直させられることがあるからね

どちらかでしかできないことはあるだろうけど、
forを使っても内包表記を使っても出来ることもある。
どちらを使っても出来ることは他にもあるし
人によって書き方は違う

0058デフォルトの名無しさん2020/06/29(月) 17:27:37.76ID:xaDJZCCE
>>54
> 無意味とか言い出したのは自分だろうに。
だからどこを見てそんなアホな解釈してるんだよ…
まじで自分の日本語理解力を疑った方がいいぞ

> 加えて言えばそこに明確な基準はないし客観的に判断しようもない。
うん、君の理解力だとそうなんだろうね
それはしょうがないと思うわw

0059デフォルトの名無しさん2020/06/29(月) 17:29:24.71ID:xaDJZCCE
>>55-57
〇〇が出来てないとか言う奴がワラワラ出てきて笑うわ ⇒ >>25の後半

0060デフォルトの名無しさん2020/06/29(月) 21:49:34.27ID:/gbcWHkY
Python自体には一貫した理念や哲学なんてないからね
数年以上使ってるやつはみんな知ってる

PHPと一緒でそれが良さでもあるから
宣伝文句を鵜呑みにしてPythonの”理念”を夢見るよりも
現実の問題を解くことに力を注いだほうがいい
Zen of Pythonで言ってることと実際やってることが
違うからっていちいち文句言ってたらキリがないよ

0061デフォルトの名無しさん2020/06/29(月) 21:58:37.05ID:xaDJZCCE
>>60
> Python自体には一貫した理念や哲学なんてないからね
うん、君の理解力だとそうなんだろうね
それはしょうがないと思うわw

0062デフォルトの名無しさん2020/06/29(月) 22:24:17.12ID:cNuHuLWV
>>61
その証拠にお前だって反論できてないじゃんw

0063デフォルトの名無しさん2020/06/29(月) 22:46:29.03ID:ZmlwqIuG
>>58
どこを見てもなにも、お前さんの書いた>>43なんだが。

>> 加えて言えばそこに明確な基準はないし客観的に判断しようもない。
>うん、君の理解力だとそうなんだろうね

まさか、明確な基準があって客観的に判断できると言っている?

0064デフォルトの名無しさん2020/06/29(月) 22:48:32.96ID:cNuHuLWV
ifとswitchに関しても人によっては違う機能だから
両方用意しろと思うだろうしなぁ
結局Python開発者が考える方針でしかないんだよな

0065デフォルトの名無しさん2020/06/29(月) 23:54:35.90ID:9fgbZ2BA
>>63
>>43を見て俺が「理念が無意味」と言ってると理解するようなアホには何を説明しても無駄と言う事がよくわかるレスだなw
マジでPythonの理念ガーとか言う前に日本語の勉強し直せよ

0066デフォルトの名無しさん2020/06/30(火) 00:22:47.22ID:JrOSOdLx
>>62
なんの根拠も出さずに
> 数年以上使ってるやつはみんな知ってる
とか言い出すやつがそれが証拠とかアホなの?
要するに日本語理解できない奴とか自分の憶測で語る奴にまともな反論なんてできないってだけの話

>>64
> 結局Python開発者が考える方針でしかないんだよな
当たり前だろ、Python以外のプログラム言語の撲滅を企んでるわけでもないのに今更何を言ってるんだよw

0067デフォルトの名無しさん2020/06/30(火) 04:11:00.05ID:Dp/VLIFL
>>66
「当たり前だろ」のあとの言葉が意味不明だが

「書き方は一つ」というけど、一つじゃないものもあるよね?って他の人が指摘すると
Python開発者は「これとこれは別の機能!だから複数あることにはならない!」って言ってるだけってことだよ

ようするに複数の書き方はあるけど、それを指摘されたら言い訳をしてる。
Python開発者ん中ではこれとこれは別の機能で、あれとあれは同じ機能なんだろうな(笑)っていう話

ifとswitchは別の機能だよ?でもPython開発者ん中では同じ機能なんだろうな
Pythonには便利なシンタックスシュガーは一切搭載しないんだろうな。同じものの別の書き方だからね


https://docs.python.org/ja/3.6/glossary.html
> デコレータの文法はシンタックスシュガーです。次の2つの関数定義は意味的に同じものです:
>
> def f(...):
> ...
> f = staticmethod(f)
>
> @staticmethod
> def f(...):
> ...

クスクス。都合が悪いと別のもの。クスクス

0068デフォルトの名無しさん2020/06/30(火) 07:13:49.10ID:JrOSOdLx
なぜ理解できないんだろう…

あとこういう話になると必ず〇〇はできてねーじゃんとか言うやつが出てくるけど人が使う言語なので理念を優先しすぎて使いにくいものを作ってもしょうがない
そう言うのもちゃんと書いてある
Although practicality beats purity.

0069デフォルトの名無しさん2020/06/30(火) 07:29:18.70ID:ww2Xd+MO
例えばセキュリティ重視の言語で脆弱性は発生しませんと言語の作者が主張しても
そんなことありえないとわかってるのと同じようなもん
作者がそう主張した所で実現不可能

0070デフォルトの名無しさん2020/06/30(火) 08:18:00.79ID:A+sVUUrP
というか、アホとか日本語ガーとか連呼してる御仁は何を理解してもらいたいんだろう。
Zen of Pythonではああ書いていても現実にはそうじゃない部分もあるという認識は変わらんと思うが。
>>1の「反している」の解釈だけの話なのかな?

0071デフォルトの名無しさん2020/06/30(火) 08:24:22.71ID:JrOSOdLx
全然違うことまで持ち出して何を言いたいんだろう…
脆弱性は発生しませんって売り出してるならJARO案件だしw

0072デフォルトの名無しさん2020/06/30(火) 08:26:33.20ID:JrOSOdLx
>>70
> Zen of Pythonではああ書いていても現実にはそうじゃない部分もあるという認識は変わらんと思うが。
同じ内容を何回も言うのはボケの始まりか? ⇒ >>49

0073デフォルトの名無しさん2020/06/30(火) 21:22:58.33ID:A+sVUUrP
>>43無意味とか>>49無駄とか、誰も書いてないことが読めるのは生き辛そうだな。

0074デフォルトの名無しさん2020/06/30(火) 22:04:55.16ID:qBVhkJsY
>>73
日本語の理解力がないって辛いねw
> 「単なる理念」なんて無意味だと言うなら君にとってはそうなんだろうし
これを読んで理念が無意味だと言ってると思うならマジで小学生からやり直した方がいい

0075デフォルトの名無しさん2020/06/30(火) 22:21:58.76ID:A+sVUUrP
相手が言ってもいないことをそう捉えたということだろ。
日本語が日本語がと言っているあんた自身が相当ヤバい。

0076デフォルトの名無しさん2020/06/30(火) 22:34:39.38ID:n9bfUZCx
zen of pythonはジョークを散りばめたポエムなのにユーモアを理解できずに
あれを聖典かのように信奉してる人達がいるんだよ

ある種の宗教だから論理は通じないよ

0077デフォルトの名無しさん2020/06/30(火) 22:50:29.82ID:WtIzuh2Y
>>75
もしかして仮定法も理解できないとかなの?

0078デフォルトの名無しさん2020/06/30(火) 22:52:28.49ID:xeejBkUh
>>76
とうとうポエムとか言い出したw

0079デフォルトの名無しさん2020/07/01(水) 00:51:17.70ID:dcnNpoz5
ポエムでいいならこれで解決じゃん。
zen of pythonはダダ滑りのポエム。
はい解散。

0080デフォルトの名無しさん2020/07/01(水) 01:15:03.47ID:JqIYLyXt
命題
それを否定しうる命題
さらにそれを否定しうる命題
・・・

こういう構成でZen of Pythonは書かれているから
どれか一つに当てはまらないと指摘したところで
別のどれかに必ず当てはまるから”理念”から外れることはない

禅の公案と同じで解釈次第でどうにでも取れるということ
Tim Petersは意図的にやってる

0081デフォルトの名無しさん2020/07/01(水) 05:37:43.06ID:9tFgdoqC
>>79
お前がいいならいいんじゃね?
個人的にはポエムとか言い出すなら初めから絡むなよって思うけど

0082デフォルトの名無しさん2020/07/01(水) 06:59:31.81ID:lozEWamw
ようするにzen of pythonは努力目標


https://www.weblio.jp/content/%E5%8A%AA%E5%8A%9B%E7%9B%AE%E6%A8%99
努力目標 読み方:どりょくもくひょう

目標のうち、達成する可能性は比較的低いものの、達成を目指して努力することを
主な目的として設定された目標のこと。

0083デフォルトの名無しさん2020/07/01(水) 08:34:06.09ID:NQppO5Xr
ようは>>2で終了している話

0084デフォルトの名無しさん2020/07/02(木) 09:18:10.40ID:j3S5Aqle
Guido: The “Zen of Python” is ... Tim Peters wrote it down as a form of poetry.
=> “Zen of Python”はポエム

Guido: Tim has a way with words. “There’s only one way to do it” is actually in most cases a white lie.
=> “There’s only one way to do it”はウソ

「Masterminds of Programming」by Federico Biancuzzi, Shane Warden
https://www.oreilly.com/library/view/masterminds-of-programming/9780596801670/

0085デフォルトの名無しさん2020/07/02(木) 09:23:51.20ID:9cYvmHwP
>>84
もう少しまともな記事を探してくれw
https://impythonist.wordpress.com/2014/02/16/open-heart-with-guido-van-rosuuma-lost-interview-of-python-creator-part2/

IT’S A CATCHY PHRASE.

Guido: Tim has a way with words. “There’s only one way to do it” is actually in most cases a white lie.
There are many ways to do data structures. You can use tuples and lists. In many cases,
it really doesn’t matter that much whether you use a tuple or a list or sometimes a dictionary.
It turns out usually if you look really carefully, one solution is objectively better because
it works just as well in a number of situations, and there’s one or two cases where lists just
works so much better than tuples when you keep growing them.

グイド:ティムは言葉に道があります。「それを行う方法は1つしかありません」は、実際にはほとんどの場合、白い嘘です。
データ構造を行うには多くの方法があります。タプルとリストを使用できます。多くの場合、タプルを使用するか、
リストを使用するか、時には辞書を使用するかは、それほど重要ではありません。よく注意して見ると、
通常は1つの解決策が客観的に優れていることがわかります。これは、多くの状況で同じように機能するためです。
リストを拡大し続けると、リストがタプルよりもはるかにうまく機能するケースが1つまたは2つあります。

0086デフォルトの名無しさん2020/07/02(木) 11:02:48.43ID:j3S5Aqle
>>85
丸パクサイトを持ってきてもう少しまともな記事て言われても

>ティムは言葉に道があります。
はぁ?
>白い嘘です。
はぁ?

もう少しまともな機械翻訳使ってくれw

0087デフォルトの名無しさん2020/07/02(木) 12:05:44.60ID:9cYvmHwP
>>86
> もう少しまともな機械翻訳使ってくれw
文句はGoogleにいえ

0088デフォルトの名無しさん2020/07/02(木) 12:20:08.20ID:WArDcAhk
DeepL使えカス

0089デフォルトの名無しさん2020/07/02(木) 12:35:23.99ID:qUmmSVcv
結局、英語が読めないやつが英語のポエムをポエムと気付かずに盲目に信奉してるだけだったのか

こういうやつを生み出しちゃうのはzen of pythonの弊害だな

0090デフォルトの名無しさん2020/07/02(木) 18:50:05.95ID:emunVLTx
ポエム厨がさっそうと登場w

0091デフォルトの名無しさん2020/07/19(日) 22:59:15.63ID:FInix4v4
そのうちお前の孤独死までの介護もAIがするようになるから細かいことは気にするな

アレクサ ポエムを教えて

0092デフォルトの名無しさん2020/07/23(木) 05:03:33.14ID:lA+knc1z
同じ事するにもメモリガバガバ使って早くしたい時もあるし遅くても仕方ないからメモリ切り詰めたい時もあるじゃない?

0093デフォルトの名無しさん2020/10/05(月) 06:53:57.91ID:HQLBHfwA
>>64
switchは2系から必要な人は作ってるから無いものは作るの精神がないとpythonはしんどいだけだろうね

0094デフォルトの名無しさん2020/10/09(金) 13:16:07.83ID:3MLH1eRI
forループは文
内包表記は式
用途が違う。

0095デフォルトの名無しさん2020/11/25(水) 19:14:34.50ID:nXT1AK4P
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw

0096デフォルトの名無しさん2020/12/04(金) 14:07:33.37ID:N9aiZ9nI
unless you are Dutch :-)

0097デフォルトの名無しさん2020/12/06(日) 00:15:33.17ID:vIUOMg8V
for num in range(5):
____print(num)

num = 0
while (num < 5):
____print(num)
____num += 1

0098デフォルトの名無しさん2021/08/20(金) 05:01:40.06ID:nGw5woYj
思うにguido的にはmapやfilter特にreduceは要らんが他の若いpython製作者らが要ると言うからしゃーなく搭載しただけだろうなと思う

文字列への変数の展開方法が4種類もあるのはPythonらしくないな

reのcompileも要らんと思うわ普通にraw文字列をre.matchやre.searchの第一引数にすればいいだけ

けどまだ大丈夫
Java辺りのクソ言語に慣れ親しんだ人達が大挙してPythonに侵入してきておかしな事になり始めてるんだろうなとは思うがGuidoが現役の内はまだ安心、引退したらPythonは終わり

0099デフォルトの名無しさん2021/10/12(火) 22:03:04.01ID:KYpOzxAP
内包表記は書けると気持ち良いから使う

0100デフォルトの名無しさん2021/10/12(火) 23:05:19.53ID:2QmYiCE7
リスト内包表記の文法はperlみたいな狂気を感じる。
mapやfilterがチェインできたらよかったんだがなぁ。

0101デフォルトの名無しさん2022/09/07(水) 00:53:56.86ID:6N86wOEk
乱立させんな

0102デフォルトの名無しさん2022/09/07(水) 01:11:12.75ID:8NMkvrFG
この板では、単発の質問スレを立てることは禁止です!

速やかに、このスレの削除依頼を出してください

■ このスレッドは過去ログ倉庫に格納されています