Pythonが嫌いな人のためのスレッドです。
■関連スレ
Rubyについて(アンチ専用) Part002
http://pc11.2ch.net/test/read.cgi/tech/1200210768/
Pythonについて(アンチ専用)
■ このスレッドは過去ログ倉庫に格納されています
2008/02/21(木) 10:24:06
796デフォルトの名無しさん
2014/01/02(木) 10:01:32.67 pythonの関数とメソッド入り混じってるのは本当に気持ち悪い
メソッドで統一しろと
メソッドで統一しろと
797デフォルトの名無しさん
2014/01/03(金) 15:10:42.36 Rubyになれると他の言語の括弧の入れ子が書きづらい上に見づらくてしゃーない
798デフォルトの名無しさん
2014/01/04(土) 18:11:35.86799デフォルトの名無しさん
2014/01/05(日) 00:53:12.92 >>796
関数で統一されてるのがPythonでしょ
関数で統一されてるのがPythonでしょ
800デフォルトの名無しさん
2014/01/07(火) 17:09:38.10 何故メソッドを廃して読みづらく書きづらい関数を用意するのか
謎である
謎である
801デフォルトの名無しさん
2014/01/07(火) 22:22:08.01 元々、Pythonは手続き型スクリプト言語として設計されて誕生したからね
そして、後からオブジェクト指向や関数型の特性を「接ぎ木」した
この「接ぎ木」は別段に変な事でも何でもなくて、
手続き型言語Cにオブジェクト指向を「接ぎ木」したC++が代表例だし、
最近はJavaに関数型のラムダ式が「接ぎ木」されようとしている
またC++やJavaでは、後から総称型が「接ぎ木」されてきた
Pythonは、これからも進化し続けるであろう
標準ライブラリの後方互換性を捨て去り、
たとえ(過去にもあった)Python 3.x から 4.x への世代間断絶があろうとも、
世界中のプログラマは新バージョンへと華麗に移行していく
(技術レベルの低い、日本のPythonプログラマは置いてきぼりかな....)
そして、後からオブジェクト指向や関数型の特性を「接ぎ木」した
この「接ぎ木」は別段に変な事でも何でもなくて、
手続き型言語Cにオブジェクト指向を「接ぎ木」したC++が代表例だし、
最近はJavaに関数型のラムダ式が「接ぎ木」されようとしている
またC++やJavaでは、後から総称型が「接ぎ木」されてきた
Pythonは、これからも進化し続けるであろう
標準ライブラリの後方互換性を捨て去り、
たとえ(過去にもあった)Python 3.x から 4.x への世代間断絶があろうとも、
世界中のプログラマは新バージョンへと華麗に移行していく
(技術レベルの低い、日本のPythonプログラマは置いてきぼりかな....)
802デフォルトの名無しさん
2014/01/08(水) 17:21:21.57 > Pythonは手続き型スクリプト言語として設計されて誕生したからね
よくRubyユーザーはこういうんだけど、
そんな事実はどこにもないから。
> たとえ(過去にもあった)Python 3.x から 4.x への世代間断絶があろうとも、
いや、断絶してないから。
sixみたいに違いを吸収するライブラリまであるし。
数年置きに互換性がなくなる某スクリプト言語と違って
Pythonが後方互換を切ったのは20年で1回だけだ。
つーか、Cですら初期のK&Rの頃とは文法が違う。
よくRubyユーザーはこういうんだけど、
そんな事実はどこにもないから。
> たとえ(過去にもあった)Python 3.x から 4.x への世代間断絶があろうとも、
いや、断絶してないから。
sixみたいに違いを吸収するライブラリまであるし。
数年置きに互換性がなくなる某スクリプト言語と違って
Pythonが後方互換を切ったのは20年で1回だけだ。
つーか、Cですら初期のK&Rの頃とは文法が違う。
803デフォルトの名無しさん
2014/01/08(水) 17:38:51.66 20年も開発してたか?
804デフォルトの名無しさん
2014/01/08(水) 17:46:20.68 >>802
>> たとえ(過去にもあった)Python 3.x から 4.x への世代間断絶があろうとも、
>いや、断絶してないから。
これは、Python 2.x と同 3.x の世代間に存在する、
標準ライブラリ互換性の断絶ではないのかな?
> 43 名前: デフォルトの名無しさん Mail: 投稿日: 2014/01/08(水) 17:35:05.69
> ちなみに、python2と3でmap関数の返り値違う
> python2はリスト型
> >>> type(map(add, a))
> <type 'list'>
> python3はmap型
> >>> type(map(add, a))
> <class 'map'>
>> たとえ(過去にもあった)Python 3.x から 4.x への世代間断絶があろうとも、
>いや、断絶してないから。
これは、Python 2.x と同 3.x の世代間に存在する、
標準ライブラリ互換性の断絶ではないのかな?
> 43 名前: デフォルトの名無しさん Mail: 投稿日: 2014/01/08(水) 17:35:05.69
> ちなみに、python2と3でmap関数の返り値違う
> python2はリスト型
> >>> type(map(add, a))
> <type 'list'>
> python3はmap型
> >>> type(map(add, a))
> <class 'map'>
805デフォルトの名無しさん
2014/01/08(水) 17:50:33.23 >>802
もう一つの(過去にあった)標準ライブラリ互換性断絶の例
> 940 名前: デフォルトの名無しさん Mail: sage 投稿日: 2013/12/31(火) 03:44:40.65
> >>939 エラーにならなくなった理由は別にある。
>
> 2.x
> range -> リストを作る。OverflowErrorでなくとも、大きなメモリを確保しようとして
> MemoryErrorになることもなる。
> xrange -> range型のオブジェクトを返す。
> rangeオブジェクトの各属性は 構造体で (Cの)long型で宣言されてるので、値が範囲外だと
> OverflowError
>
> 3.x
> range -> range型のオブジェクトを返す。rangeオブジェトの各属性の型はPyObject。
> pythonの数値(多倍長整数)を持つようになったので、2.xの時の制限はなくなった。
もう一つの(過去にあった)標準ライブラリ互換性断絶の例
> 940 名前: デフォルトの名無しさん Mail: sage 投稿日: 2013/12/31(火) 03:44:40.65
> >>939 エラーにならなくなった理由は別にある。
>
> 2.x
> range -> リストを作る。OverflowErrorでなくとも、大きなメモリを確保しようとして
> MemoryErrorになることもなる。
> xrange -> range型のオブジェクトを返す。
> rangeオブジェクトの各属性は 構造体で (Cの)long型で宣言されてるので、値が範囲外だと
> OverflowError
>
> 3.x
> range -> range型のオブジェクトを返す。rangeオブジェトの各属性の型はPyObject。
> pythonの数値(多倍長整数)を持つようになったので、2.xの時の制限はなくなった。
806デフォルトの名無しさん
2014/01/08(水) 17:58:26.59 >>802
>よくRubyユーザーはこういうんだけど、
Rubyの話題はスレ違い
Rubyの話がしたいなら「Rubyについて(アンチ専用)」へ
Python vs. Ruby が希望であれば、バトロワスレへ
>よくRubyユーザーはこういうんだけど、
Rubyの話題はスレ違い
Rubyの話がしたいなら「Rubyについて(アンチ専用)」へ
Python vs. Ruby が希望であれば、バトロワスレへ
807デフォルトの名無しさん
2014/01/08(水) 18:26:01.04 Python関連スレをちょっとでも覗けば、
序盤から終盤まで 2.x or 3.x の話題だらけじゃん。
これでもPyhtonの後方互換性に問題無しと言えるなんて、
頭がおかしいんじゃないのかなあ....。
序盤から終盤まで 2.x or 3.x の話題だらけじゃん。
これでもPyhtonの後方互換性に問題無しと言えるなんて、
頭がおかしいんじゃないのかなあ....。
808デフォルトの名無しさん
2014/01/12(日) 18:23:48.38 なぜ多くのプロジェクトがPythonの古いバージョンをサポートし続けるのか
ストーリー by headless 2014年01月12日 12時55分
http://developers.slashdot.jp/story/14/01/11/2115245/
ストーリー by headless 2014年01月12日 12時55分
http://developers.slashdot.jp/story/14/01/11/2115245/
809デフォルトの名無しさん
2014/01/17(金) 07:48:18.21 ペコ「ロバwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww」
810デフォルトの名無しさん
2014/01/17(金) 08:13:37.27811デフォルトの名無しさん
2014/01/17(金) 08:14:46.62 Python用にかきかえなければならないとおもうと…いやんなるよ
将来のためにそうするべきか。Pythonをあきらめるべきか
将来のためにそうするべきか。Pythonをあきらめるべきか
812デフォルトの名無しさん
2014/01/18(土) 02:49:24.12 >>810
書く時は、エディタのアシスト任せ。後でツールで一括して自動整形。
書く時は、エディタのアシスト任せ。後でツールで一括して自動整形。
813デフォルトの名無しさん
2014/01/18(土) 14:57:24.86814デフォルトの名無しさん
2014/01/18(土) 21:25:44.40 python初心者だけど面白いよ面白い!でもpythonerが排他的っぽい;;
815デフォルトの名無しさん
2014/01/18(土) 23:22:11.28 代入演算子が値ではなくてリファレンスの代入という仕様はハマるな。
みんな慣れてるの?
他の言語と基本的なことが違い過ぎる。
みんな慣れてるの?
他の言語と基本的なことが違い過ぎる。
816デフォルトの名無しさん
2014/01/18(土) 23:43:51.88 それ Python に限った話じゃないよ
817デフォルトの名無しさん
2014/01/19(日) 05:38:49.85 Pythonは他の言語からの人がはまる仕様が結構ある。
デフォルト引数が評価されるタイミングとか。
FAQに纏まってるので、早めに目を通すといいよ
デフォルト引数が評価されるタイミングとか。
FAQに纏まってるので、早めに目を通すといいよ
818デフォルトの名無しさん
2014/01/19(日) 21:58:13.83 オブジェクトを指す変数がリファレンスだなんて、ほとんどの言語であたりまえだわ。
むしろポインタを生で扱わないといけないので、明示的にデリファレンスをしないと
いけない、CとC++のほうが例外的。
PHPは、何も考えてない言語仕様だから変なことになってるけど、まぁPHPだからw
むしろポインタを生で扱わないといけないので、明示的にデリファレンスをしないと
いけない、CとC++のほうが例外的。
PHPは、何も考えてない言語仕様だから変なことになってるけど、まぁPHPだからw
819デフォルトの名無しさん
2014/01/19(日) 23:35:53.16 >代入演算子が値ではなくてリファレンスの代入という仕様はハマるな。
これは、割とどの言語でも繰り返されてきた話題なんだけど、
言語間での"リファレンス/参照"という語句の、食い違いによる説明の混乱というものがあって
C++で言う(alias的な機能の)"リファレンス/参照"は、Pythonにはなく、
C/C++の語句で言うなら、Pythonでのオブジェクトのリファレンスとは、
単に"オブジェクトの構造体を指すポインタの値"。
これは、割とどの言語でも繰り返されてきた話題なんだけど、
言語間での"リファレンス/参照"という語句の、食い違いによる説明の混乱というものがあって
C++で言う(alias的な機能の)"リファレンス/参照"は、Pythonにはなく、
C/C++の語句で言うなら、Pythonでのオブジェクトのリファレンスとは、
単に"オブジェクトの構造体を指すポインタの値"。
820デフォルトの名無しさん
2014/01/20(月) 15:04:22.06 Aという言語を使ってきた人がBという言語を使い始めた時にハマるポイント、
なんてのは、どんな組み合わせでもまず間違いなく絶対あるよな。
なんてのは、どんな組み合わせでもまず間違いなく絶対あるよな。
821デフォルトの名無しさん
2014/02/02(日) 00:08:23.72 インデントの使用で読みやすいとは言うが、糖衣構文やデコレータバンバンだから
実際の現場で使われているアプリのレベルのソースはちょっと分かりにくい
よくある話だが、教育用と実用性を両立させようとするとどうしてもこうなる
実際の現場で使われているアプリのレベルのソースはちょっと分かりにくい
よくある話だが、教育用と実用性を両立させようとするとどうしてもこうなる
822デフォルトの名無しさん
2014/02/02(日) 10:27:17.80 教育用として設計されてはいねーし。デマ。
823デフォルトの名無しさん
2014/02/03(月) 01:56:08.47 デコレータで読みにくくなるなんて
そりゃ知能が絶望的に足りてないんだよ
そりゃ知能が絶望的に足りてないんだよ
824デフォルトの名無しさん
2014/02/03(月) 10:25:51.27 デコレータ使わず、糖衣構文を展開した形で書かれていれば理解できるんだい、
(と信じようとしている)。
(と信じようとしている)。
825デフォルトの名無しさん
2014/02/13(木) 21:58:12.55 時間周りがめんどくさい
826デフォルトの名無しさん
2014/03/08(土) 01:00:37.80 日本ではPythonはもう終わりだ...
発展はない
始めるのはゆとりばかり
質問なんかも酷いもんだ
PHPより遥かに劣る
発展はない
始めるのはゆとりばかり
質問なんかも酷いもんだ
PHPより遥かに劣る
827デフォルトの名無しさん
2014/03/29(土) 23:09:40.53ID:O49NFKnh osとshutilに分かれてる意味がわからない。
日付が使いにくい。
lenがオブジェクトのメンバに無いのがおかしい。
absがmathじゃないのはおかしい。
はじめたばかりだけど、ざっと見てなんかライブラリがとっ散らかってる印象。
日付が使いにくい。
lenがオブジェクトのメンバに無いのがおかしい。
absがmathじゃないのはおかしい。
はじめたばかりだけど、ざっと見てなんかライブラリがとっ散らかってる印象。
828デフォルトの名無しさん
2014/03/30(日) 11:06:16.32ID:Ubp7wCfs 気になるのは最初だけだから
通過してしまえば一瞬で忘れられる
そんな小さいことにいつまでも構ってられるほど python の世界は狭くはない
安心して使い続けるがよい
通過してしまえば一瞬で忘れられる
そんな小さいことにいつまでも構ってられるほど python の世界は狭くはない
安心して使い続けるがよい
829デフォルトの名無しさん
2014/03/30(日) 13:08:26.22ID:uSRubpe1 ライブラリがとっ散らかってると、マニュアル引くとき困るんだが。
このくそライブラリのせいで学習曲線絶対急になってるよね。イラつくわ。
このくそライブラリのせいで学習曲線絶対急になってるよね。イラつくわ。
830デフォルトの名無しさん
2014/03/30(日) 20:41:33.71ID:szVVotNM sysとosとか、きちんと意味があって分けられているけどな。
なんでもグローバル名前空間にぶち込んであるのが好きならPHP使ってろよw
なんでもグローバル名前空間にぶち込んであるのが好きならPHP使ってろよw
831デフォルトの名無しさん
2014/04/09(水) 23:19:31.82ID:wiNih1s9 また始まった
832デフォルトの名無しさん
2014/05/01(木) 23:27:51.38ID:WbJRLfy+ > lenがオブジェクトのメンバに無いのがおかしい。
__len__メソッドが代わりにあるから使えよ。
ちなみにlen関数がやってくれてる型チェックも自前でやれよ。
__len__メソッドが代わりにあるから使えよ。
ちなみにlen関数がやってくれてる型チェックも自前でやれよ。
833デフォルトの名無しさん
2014/05/02(金) 22:47:27.13ID:WJNK/tJJ 型チェック?なぜそんなことをしなければいけないのか
834デフォルトの名無しさん
2014/05/03(土) 09:45:39.59ID:gqLjB/uh 流石 __len__ すら知らずにアンチを気取るマヌケは言うことが違うなw
835デフォルトの名無しさん
2014/05/04(日) 13:01:51.00ID:Dz1meMUl なんかガキの罵倒スレになってきたな。
836デフォルトの名無しさん
2014/08/27(水) 21:38:43.96ID:+mS2YVhy 外部関数とメンバ関数を一々覚えんのがめんどいよな
837デフォルトの名無しさん
2015/01/25(日) 09:57:22.57ID:wuFk28jJ Pythonってリスト内包表記が中途半端で使いにくい。
array = [1, 2, 3, 4, 5]
[x*2 for x in array if x<3]
これはmap とfilterの組み合わせで、プログラミング言語として考えたらこんな複雑な構文は面倒くさいだけだし、
x*2 for x の部分をlambdaだと考えたら仮引数が後ろに来ていて非常に読みにくい。
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
[[c*2 for c in r] for r in matrix]
数式に近い書き方なんだと考えたら考えたで、行列のような多次元データ構造を扱うには
内包表記をネストしないといけなくなって複雑になる。結局何をやるにしてもnumpy頼みになる。
array = [1, 2, 3, 4, 5]
[x*2 for x in array if x<3]
これはmap とfilterの組み合わせで、プログラミング言語として考えたらこんな複雑な構文は面倒くさいだけだし、
x*2 for x の部分をlambdaだと考えたら仮引数が後ろに来ていて非常に読みにくい。
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
[[c*2 for c in r] for r in matrix]
数式に近い書き方なんだと考えたら考えたで、行列のような多次元データ構造を扱うには
内包表記をネストしないといけなくなって複雑になる。結局何をやるにしてもnumpy頼みになる。
838デフォルトの名無しさん
2015/01/25(日) 10:16:36.81ID:Z3bPH+iB Pythonの内包表記が中途半端ってどういうこと?
Haskellの内包表記も似たようなもんだよ
それに慣れると(Haskellにおいてすら)mapやfilterより読みやすい
[x * 2 | x <- array, x < 3]
map (* 2) $ filter (< 3) $ array
Haskellの内包表記も似たようなもんだよ
それに慣れると(Haskellにおいてすら)mapやfilterより読みやすい
[x * 2 | x <- array, x < 3]
map (* 2) $ filter (< 3) $ array
839デフォルトの名無しさん
2015/01/25(日) 10:20:26.56ID:JhgO84F7 >x*2 for x の部分をlambdaだと考えたら仮引数が後ろに来ていて非常に読みにくい。
そんな香具師いるんかね
むしろ
[2*x for x in array if x<3]
とかのとき
[('%s'*x) for x in array if x<3]
と解釈されるはずだと思うところが
ひょっとすると
['%s'%(x for x in array if x<3)]
の可能性も捨てきれないと思ってしまう
そんな香具師いるんかね
むしろ
[2*x for x in array if x<3]
とかのとき
[('%s'*x) for x in array if x<3]
と解釈されるはずだと思うところが
ひょっとすると
['%s'%(x for x in array if x<3)]
の可能性も捨てきれないと思ってしまう
840デフォルトの名無しさん
2015/01/25(日) 10:21:40.81ID:JhgO84F7 なんか切り貼りしてたらおかしくなったので訂正
むしろ
['%s'%x for x in array if x<3]
とかのとき
[('%s'%x) for x in array if x<3]
と解釈されるはずだと思うところが
ひょっとすると
['%s'%(x for x in array if x<3)]
の可能性も捨てきれないと思ってしまう
むしろ
['%s'%x for x in array if x<3]
とかのとき
[('%s'%x) for x in array if x<3]
と解釈されるはずだと思うところが
ひょっとすると
['%s'%(x for x in array if x<3)]
の可能性も捨てきれないと思ってしまう
841デフォルトの名無しさん
2015/01/25(日) 11:10:24.86ID:wuFk28jJ >>838
数式に親しくないプログラマにとっては「今のところ」後者のmapとfilterで平凡に書く方が分かりやすいと思うけどな。
Haskellでは後者の書き方でも色々と非凡になるけどw
(今のところってのは、昔はそもそも無名関数自体一般的じゃなくてループの方が分かりやすい時代だった。
今は無名関数くらい誰でも使う。何が分かりやすいかも時代で変わってくるから、時代に合わせたプログラミング大事)
本題。中途半端って言ったのは、そこじゃなくて。
今、内包表記を苦もなくスラスラ読めるプログラマってどんな奴だ?
→数式を読めるプログラマだろ
→数式を読めるプログラマはどんなプログラムを書く?
→数学の問題を解くプログラムだろ
→数学の問題をプログラミングするなら、行列の各要素を二倍するなんてこう書きたいだろ(Rのように)
matrix*2
数式に親しくないプログラマにとっては「今のところ」後者のmapとfilterで平凡に書く方が分かりやすいと思うけどな。
Haskellでは後者の書き方でも色々と非凡になるけどw
(今のところってのは、昔はそもそも無名関数自体一般的じゃなくてループの方が分かりやすい時代だった。
今は無名関数くらい誰でも使う。何が分かりやすいかも時代で変わってくるから、時代に合わせたプログラミング大事)
本題。中途半端って言ったのは、そこじゃなくて。
今、内包表記を苦もなくスラスラ読めるプログラマってどんな奴だ?
→数式を読めるプログラマだろ
→数式を読めるプログラマはどんなプログラムを書く?
→数学の問題を解くプログラムだろ
→数学の問題をプログラミングするなら、行列の各要素を二倍するなんてこう書きたいだろ(Rのように)
matrix*2
842デフォルトの名無しさん
2015/01/25(日) 11:28:13.18ID:JhgO84F7 >数式に親しくないプログラマ
そんな香具師いるんかね
そんな香具師いるんかね
843デフォルトの名無しさん
2015/01/25(日) 11:30:30.53ID:JhgO84F7844デフォルトの名無しさん
2015/01/25(日) 11:35:09.48ID:U0GW9T6b 多分日本語的に読みづらいんだと思うよ。結果が先に来るから。
845デフォルトの名無しさん
2015/01/25(日) 11:37:21.13ID:3PovQon7 日本で産まれた(ω) Ruby にも後置 if とかあるのに
846デフォルトの名無しさん
2015/01/25(日) 11:44:25.36ID:U0GW9T6b Ruby は大概書きたい方法があるじゃん
847デフォルトの名無しさん
2015/01/31(土) 08:33:30.81ID:xuw3avh8 いくらPythonにへびネタが多いとはいえこういう表紙は駄目だろう
冗談抜きで表紙が気持ち悪くて手に取れないレベル
これが原因でPythonあるいは授業に悪い印象しか残らなかったら学生が可哀想
http://www.skylit.com/mathandpython.html
https://www.packtpub.com/big-data-and-business-intelligence/learning-python-data-analysis
冗談抜きで表紙が気持ち悪くて手に取れないレベル
これが原因でPythonあるいは授業に悪い印象しか残らなかったら学生が可哀想
http://www.skylit.com/mathandpython.html
https://www.packtpub.com/big-data-and-business-intelligence/learning-python-data-analysis
848デフォルトの名無しさん
2015/01/31(土) 08:37:29.46ID:YMt5PyZL カバー付ければ良いだけじゃん
全編写真集なら嫌だけど
全編写真集なら嫌だけど
849デフォルトの名無しさん
2015/01/31(土) 09:24:12.94ID:fHA0y3z4 ジャポニカ学習帳みたいに表紙は植物だけにすればいい
O'Reillyも
O'Reillyも
850デフォルトの名無しさん
2015/01/31(土) 09:34:03.69ID:YMt5PyZL851デフォルトの名無しさん
2015/01/31(土) 10:29:16.24ID:Q5cOubfa アンチじゃないが表紙ひどいwww
852デフォルトの名無しさん
2015/01/31(土) 12:23:49.26ID:Klh2e7Hk 本当だ、何でこんなリアル志向
853デフォルトの名無しさん
2015/01/31(土) 12:37:18.71ID:dgL1phRR >>847
俺は別に平気だけど、もはや何の本か分からんなw
俺は別に平気だけど、もはや何の本か分からんなw
854デフォルトの名無しさん
2015/02/04(水) 13:42:49.77ID:5pZRcUKP >>842
いまどき香具士って・・・
いまどき香具士って・・・
855デフォルトの名無しさん
2015/06/28(日) 15:54:47.88ID:XDTH7fdP Pythonって単純な後置ifが使えないみたいだけど
それだとそのためだけにif文でインデントがひとつ深くなって
インデントが重要な言語仕様にとっては欠陥なんじやないかな
import thisでもネストしてるよりフラットがいいって言ってるんだし
それだとそのためだけにif文でインデントがひとつ深くなって
インデントが重要な言語仕様にとっては欠陥なんじやないかな
import thisでもネストしてるよりフラットがいいって言ってるんだし
856デフォルトの名無しさん
2015/06/28(日) 20:53:17.33ID:92vB0cyt hoge = a if b else c
857デフォルトの名無しさん
2015/06/28(日) 21:07:18.70ID:lxz6gjyn Python使ってもクソコード書く奴はクソコードを書く。
言語変えたからって良いコードにはならない。
言語変えたからって良いコードにはならない。
858デフォルトの名無しさん
2015/06/28(日) 21:07:55.71ID:lxz6gjyn hoge = a if b else c
hoge = b ? a : c
後者のほうが短くて可読性が高い。
hoge = b ? a : c
後者のほうが短くて可読性が高い。
859デフォルトの名無しさん
2015/06/28(日) 21:19:54.87ID:I6pGNCnf elseが必要な場合ばかりじゃないじゃないですか
単純な後置ifって書いたのはそういう意味です
単純な条件判定だけすれば十分っていう場合
その「単純な〜だけすれば十分」っていうのと
仕様上不可欠なインデントを要求するのがバランスとれてない感じがするんですよね
まあ単純にインデント増えるとコードがわかりにくくなるなるっていうのが
文句言ってる理由なんですけど
単純な後置ifって書いたのはそういう意味です
単純な条件判定だけすれば十分っていう場合
その「単純な〜だけすれば十分」っていうのと
仕様上不可欠なインデントを要求するのがバランスとれてない感じがするんですよね
まあ単純にインデント増えるとコードがわかりにくくなるなるっていうのが
文句言ってる理由なんですけど
860デフォルトの名無しさん
2015/06/28(日) 21:24:02.23ID:lxz6gjyn Pythonのインデントでブロックを表現するというのは
面白いが、メリットはない。
面白いが、メリットはない。
861デフォルトの名無しさん
2015/06/28(日) 21:25:10.72ID:I6pGNCnf いや逆だな
コードの分かりにくさなんていろんな理由で発生するからこの件だけ文句言う理由がない
「単純な〜だけすれば十分」っていうのと
仕様上不可欠なインデントを要求するのがバランスとれてない感じがする
っていうのが文句言いたくなった本当の理由です
なんとなくすっきりしないという
コードの分かりにくさなんていろんな理由で発生するからこの件だけ文句言う理由がない
「単純な〜だけすれば十分」っていうのと
仕様上不可欠なインデントを要求するのがバランスとれてない感じがする
っていうのが文句言いたくなった本当の理由です
なんとなくすっきりしないという
862デフォルトの名無しさん
2015/06/28(日) 21:27:03.42ID:lxz6gjyn インデントでブロックを表現するというのは
デメリットも有る。
例えばデバッグプリントするとき、他の言語なら、わざとインデントを外して
目立つようにできるが、Pythonだといちいち揃えないといけない。
消す時面倒くさい。
また試しに他の部分からコードを持ってきたり、
コードの順番を入れ替えてみたりする時、
ちゃんと揃えないと動かない。
仮のコードが書きにくい。
デメリットも有る。
例えばデバッグプリントするとき、他の言語なら、わざとインデントを外して
目立つようにできるが、Pythonだといちいち揃えないといけない。
消す時面倒くさい。
また試しに他の部分からコードを持ってきたり、
コードの順番を入れ替えてみたりする時、
ちゃんと揃えないと動かない。
仮のコードが書きにくい。
863デフォルトの名無しさん
2015/06/28(日) 22:07:47.22ID:92vB0cyt >elseが必要な場合ばかりじゃないじゃないですか
大抵のケースでは
hoge = c
hoge = a if b
が
hoge = a if b else c
だ
あるいは
hoge = a if b else None
大抵のケースでは
hoge = c
hoge = a if b
が
hoge = a if b else c
だ
あるいは
hoge = a if b else None
864デフォルトの名無しさん
2015/11/07(土) 17:03:07.54ID:rKOE1Rwz あほちゃう
865デフォルトの名無しさん
2015/11/07(土) 20:16:30.77ID:J5i3UOGI あほちゃう
866デフォルトの名無しさん
2015/11/08(日) 15:23:00.76ID:QYMRsb+2 どうでもいいことで文句言ってるだけにしか思えん。
867デフォルトの名無しさん
2015/12/04(金) 13:08:41.19ID:cIAl+Zzr re内でしか正規表現使えないの不便すぎ
868デフォルトの名無しさん
2015/12/04(金) 15:10:18.61ID:prxSfFNA そうでもない
869デフォルトの名無しさん
2015/12/15(火) 09:34:12.26ID:GmzcEDm2 D の std.regex に似てる
870デフォルトの名無しさん
2016/08/07(日) 16:59:44.06ID:nuDQx96v そうでもな
871デフォルトの名無しさん
2016/08/08(月) 00:00:14.29ID:xVTmsFhH インデントするかしないかなんて書き手に任せればいいじゃん。
構造が分かっているなら自動整形のツールだって作れるわけだし。
なんかそんなところまで縛って、基本的なところでインデントが
プログラムの文法に縛りを与えるってなんか嫌な設計だよね。
構造が分かっているなら自動整形のツールだって作れるわけだし。
なんかそんなところまで縛って、基本的なところでインデントが
プログラムの文法に縛りを与えるってなんか嫌な設計だよね。
872デフォルトの名無しさん
2016/08/08(月) 17:57:42.17ID:1QM6yHGZ 前はそう思ってたけど
実際書いてみると
問題になるケースはほとんどないよ
君も外からgdgd言ってないで書いてみろ
実際書いてみると
問題になるケースはほとんどないよ
君も外からgdgd言ってないで書いてみろ
873デフォルトの名無しさん
2016/11/09(水) 19:52:52.94ID:em+Lyjx7 あー、でも切り貼りしずらいというのはあるね
ある部分だけ外に出したいとか、逆に括りたいときに、ちょっと手間
インデントが一意に定まらないから、オートインデントしずらいんだよね
ある部分だけ外に出したいとか、逆に括りたいときに、ちょっと手間
インデントが一意に定まらないから、オートインデントしずらいんだよね
874デフォルトの名無しさん
2016/11/09(水) 23:10:35.98ID:gLDp2Y3W875デフォルトの名無しさん
2016/11/09(水) 23:11:57.92ID:gLDp2Y3W >逆に括りたいとき
この場合は
if True:
って書いてしまえばほとんどのケースで解決する
この場合は
if True:
って書いてしまえばほとんどのケースで解決する
876デフォルトの名無しさん
2016/12/21(水) 20:50:38.88ID:RJ5TtbA5 Pyconのあのおっさんいい加減うざい
877デフォルトの名無しさん
2016/12/22(木) 00:35:33.27ID:J1Y5kwjp うむ
878デフォルトの名無しさん
2017/08/25(金) 15:07:32.02ID:0nrK3Ckt Visual Studio 2017におけるPythonサポート
http://www.atmarkit.co.jp/ait/articles/1708/18/news028.html
http://www.atmarkit.co.jp/ait/articles/1708/18/news028_2.html
http://www.atmarkit.co.jp/ait/articles/1708/18/news028.html
http://www.atmarkit.co.jp/ait/articles/1708/18/news028_2.html
879デフォルトの名無しさん
2018/05/23(水) 21:51:31.70ID:Au5e7VGg 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
2UWPR
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
2UWPR
880デフォルトの名無しさん
2018/07/05(木) 00:10:36.37ID:RfoszcD2 077
881デフォルトの名無しさん
2018/08/31(金) 17:46:44.07ID:/xTCWZjj 今後 Python使える人増えるでー
学校教育用言語に選ばれたからね
ヨーロッパではPythonが大注目
米国も追従するかは不明
日本は応用が利かないフローチャート風
なんで、日本はいつも行き止まりな道しか選ばないのか
仮想アセンブラのCASLなんて何の役にもたたなかったし
外国の小学生と日本の小学生の格差は広がるばかり
学校教育用言語に選ばれたからね
ヨーロッパではPythonが大注目
米国も追従するかは不明
日本は応用が利かないフローチャート風
なんで、日本はいつも行き止まりな道しか選ばないのか
仮想アセンブラのCASLなんて何の役にもたたなかったし
外国の小学生と日本の小学生の格差は広がるばかり
882デフォルトの名無しさん
2018/08/31(金) 18:02:23.50ID:958KuBfY python使うのはありだけど
日本の学校で教えると
pythonしか使えない人とかも出てきそう
大事なのはそこじゃなくて
アルゴリズムとかなんだけど
どんな言語でも書ける能力を磨くとかそういう発想はなさそう
日本の学校で教えると
pythonしか使えない人とかも出てきそう
大事なのはそこじゃなくて
アルゴリズムとかなんだけど
どんな言語でも書ける能力を磨くとかそういう発想はなさそう
883デフォルトの名無しさん
2018/08/31(金) 19:05:06.17ID:9BvJl+C0884デフォルトの名無しさん
2018/08/31(金) 23:27:44.03ID:N52+Kto5 日本の学校は子供を潰す
延びる芽を摘む教育
延びる芽を摘む教育
885デフォルトの名無しさん
2018/09/01(土) 00:19:19.24ID:MpWrJr2V >>884
言っとくけどおまえの芽はもとから腐っとったからなw
言っとくけどおまえの芽はもとから腐っとったからなw
886デフォルトの名無しさん
2018/09/01(土) 16:47:17.22ID:h137Mfrw インデントが崩れちゃうとそれだけで構造が読みにくくなる。
整形もプログラムを読解しながらやらなきゃならないので非常に効率が悪い。
整形もプログラムを読解しながらやらなきゃならないので非常に効率が悪い。
887デフォルトの名無しさん
2018/09/08(土) 13:20:48.49ID:3pEPHB8S >>884
子供は教師のマウンティングするための道具でしかないからな。
子供は教師のマウンティングするための道具でしかないからな。
888デフォルトの名無しさん
2018/09/15(土) 15:16:31.17ID:heijdb7v Pythonって、リストに値を追加する時、配列のような index 番号か、
または、'Hello' などの値を指定して、その値を探して一致した要素
の直前か直後辺りに追加する事は出来ても、C言語のように、
ポインタを指定して、そのポインタの指す要素の直後に追加する
ことは出来ないよね。
もし、そうだとすると、言語自体が高速動作に向いてない。
元々、データ構造的にリストとは配列とは異なる概念で、前者は
ポインタで互いに要素をリンクした構造。
だから、index 値から、要素を特定するには、先頭から順番に
「辿る」作業が必要で、要素数がNの時、O(N)の時間がかかって
しまう。値を探すのも、当然O(N)の時間がかかる。
Cの場合のポインタや参照などで場所を指し示す方法だけが、
O(1)の時間で済む。
ポインタの概念が理解しにくい人もいるらしいが、Pythonの方法だと、
どんなにCythonなどでコンパイルしても、アルゴリズム的に
速度は上がらない。
または、'Hello' などの値を指定して、その値を探して一致した要素
の直前か直後辺りに追加する事は出来ても、C言語のように、
ポインタを指定して、そのポインタの指す要素の直後に追加する
ことは出来ないよね。
もし、そうだとすると、言語自体が高速動作に向いてない。
元々、データ構造的にリストとは配列とは異なる概念で、前者は
ポインタで互いに要素をリンクした構造。
だから、index 値から、要素を特定するには、先頭から順番に
「辿る」作業が必要で、要素数がNの時、O(N)の時間がかかって
しまう。値を探すのも、当然O(N)の時間がかかる。
Cの場合のポインタや参照などで場所を指し示す方法だけが、
O(1)の時間で済む。
ポインタの概念が理解しにくい人もいるらしいが、Pythonの方法だと、
どんなにCythonなどでコンパイルしても、アルゴリズム的に
速度は上がらない。
889デフォルトの名無しさん
2018/09/15(土) 15:32:30.08ID:heijdb7v 以下の仕様もダメ。ループでの要素削除がまともに出来ない。この不具合
を回避するためにはリストをまるまるコピーしなくてはならず、とても効率が悪い。
Cythonでコンパイルしても、Cに比べてとても遅くなってしまう。
http://blog.livedoor.jp/kmiwa_project/archives/1030391127.html
http://sakitake.blogspot.com/2012/10/pythonfor.html
Python で リストの中身をforループで削除する時の注意点。
numbers = [1,2,3,4,5]
とあって、for ループで numbers の中身を消したいと思って、下記のようにすると、失敗する。
for e in numbers:
numbers.remove(e)
numbers の中に、 2と4 が残ったままとなる。
numbers = [2,4]
Pythonの仕様。
そこで、このようにする。
for e in numbers[:]:
numbers.remove(e)
[:] とすることで元のリストのコピーとなり要素の順番を全て取得でき、全ての要素を順番に削除が行える。
を回避するためにはリストをまるまるコピーしなくてはならず、とても効率が悪い。
Cythonでコンパイルしても、Cに比べてとても遅くなってしまう。
http://blog.livedoor.jp/kmiwa_project/archives/1030391127.html
http://sakitake.blogspot.com/2012/10/pythonfor.html
Python で リストの中身をforループで削除する時の注意点。
numbers = [1,2,3,4,5]
とあって、for ループで numbers の中身を消したいと思って、下記のようにすると、失敗する。
for e in numbers:
numbers.remove(e)
numbers の中に、 2と4 が残ったままとなる。
numbers = [2,4]
Pythonの仕様。
そこで、このようにする。
for e in numbers[:]:
numbers.remove(e)
[:] とすることで元のリストのコピーとなり要素の順番を全て取得でき、全ての要素を順番に削除が行える。
890デフォルトの名無しさん
2018/09/15(土) 15:54:07.45ID:heijdb7v >>888
「辞書」や「集合(Set)」は、O(1)で探せるらしいが、それは、Hush法を用いている
からだ。しかし、例え O(1)でも、データを探すには、例えばデータが文字列なら
最低1回の文字列比較(C言語でのstrcmp()みたいなもの)は必要になるので、
文字の長さに比例した時間がかかってしまう。
要素(データ)が文字列の場合に限らず、1つ1つの要素のデータが複雑
になった場合は、その複雑さに比例したような検索時間がかかるようになる。
つまり、要素数をN、1つあたりの要素の平均サイズをM とすると、
「辞書」や「集合」であっても、O(M)の時間がかかる。
リストなら、O(M・N)の時間がかかる。
一方、C言語のリストなら、ある要素の直前、直後に追加するのには、
全く探す動作が必要ないので、O(1)で済む。
こういうところが、PythonとCの速度差に繋がる。
「辞書」や「集合(Set)」は、O(1)で探せるらしいが、それは、Hush法を用いている
からだ。しかし、例え O(1)でも、データを探すには、例えばデータが文字列なら
最低1回の文字列比較(C言語でのstrcmp()みたいなもの)は必要になるので、
文字の長さに比例した時間がかかってしまう。
要素(データ)が文字列の場合に限らず、1つ1つの要素のデータが複雑
になった場合は、その複雑さに比例したような検索時間がかかるようになる。
つまり、要素数をN、1つあたりの要素の平均サイズをM とすると、
「辞書」や「集合」であっても、O(M)の時間がかかる。
リストなら、O(M・N)の時間がかかる。
一方、C言語のリストなら、ある要素の直前、直後に追加するのには、
全く探す動作が必要ないので、O(1)で済む。
こういうところが、PythonとCの速度差に繋がる。
891デフォルトの名無しさん
2018/09/15(土) 15:59:11.04ID:AVfR6YnT >>888
numpy
numpy
892デフォルトの名無しさん
2018/09/15(土) 17:45:41.50ID:iqED3/RG 【IT】奴隷制を連想させるとして、Pythonで「master」「slave」といった単語が削除される
https://egg.2ch.net/test/read.cgi/bizplus/1536925223/
https://egg.2ch.net/test/read.cgi/bizplus/1536925223/
893デフォルトの名無しさん
2018/09/16(日) 02:05:46.60ID:UmczuJY3894デフォルトの名無しさん
2018/09/16(日) 11:17:08.95ID:HF0YmRsW povertyかと思った
895デフォルトの名無しさん
2019/01/11(金) 14:38:30.97ID:9UT8ehvY rubyからpythonへ
https://kiito.hatenablog.com/entry/2016/09/20/164134
https://kiito.hatenablog.com/entry/2016/09/20/164134
■ このスレッドは過去ログ倉庫に格納されています
