>>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の時の制限はなくなった。
>>802 >よくRubyユーザーはこういうんだけど、
Rubyの話題はスレ違い
Rubyの話がしたいなら「Rubyについて(アンチ専用)」へ
Python vs. Ruby が希望であれば、バトロワスレへ
Python関連スレをちょっとでも覗けば、
序盤から終盤まで 2.x or 3.x の話題だらけじゃん。
これでもPyhtonの後方互換性に問題無しと言えるなんて、
頭がおかしいんじゃないのかなあ....。
809 :
デフォルトの名無しさん:2014/01/17(金) 07:48:18.21
ペコ「ロバwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww」
>>795 おれインデント自信が無いよ。
そんな1段なら、わかるけど、実際は、もっともっとふかいのだ。
んなもんわかるわけないよ。みんなどうやってるんだろう?
Python用にかきかえなければならないとおもうと…いやんなるよ
将来のためにそうするべきか。Pythonをあきらめるべきか
>>810 書く時は、エディタのアシスト任せ。後でツールで一括して自動整形。
>>810 インデントの深さを表示できるエディタを使うとか
いくらでもやりようはあるでしょ
python初心者だけど面白いよ面白い!でもpythonerが排他的っぽい;;
代入演算子が値ではなくてリファレンスの代入という仕様はハマるな。
みんな慣れてるの?
他の言語と基本的なことが違い過ぎる。
それ Python に限った話じゃないよ
Pythonは他の言語からの人がはまる仕様が結構ある。
デフォルト引数が評価されるタイミングとか。
FAQに纏まってるので、早めに目を通すといいよ
オブジェクトを指す変数がリファレンスだなんて、ほとんどの言語であたりまえだわ。
むしろポインタを生で扱わないといけないので、明示的にデリファレンスをしないと
いけない、CとC++のほうが例外的。
PHPは、何も考えてない言語仕様だから変なことになってるけど、まぁPHPだからw
>代入演算子が値ではなくてリファレンスの代入という仕様はハマるな。
これは、割とどの言語でも繰り返されてきた話題なんだけど、
言語間での"リファレンス/参照"という語句の、食い違いによる説明の混乱というものがあって
C++で言う(alias的な機能の)"リファレンス/参照"は、Pythonにはなく、
C/C++の語句で言うなら、Pythonでのオブジェクトのリファレンスとは、
単に"オブジェクトの構造体を指すポインタの値"。
Aという言語を使ってきた人がBという言語を使い始めた時にハマるポイント、
なんてのは、どんな組み合わせでもまず間違いなく絶対あるよな。
821 :
デフォルトの名無しさん:2014/02/02(日) 00:08:23.72
インデントの使用で読みやすいとは言うが、糖衣構文やデコレータバンバンだから
実際の現場で使われているアプリのレベルのソースはちょっと分かりにくい
よくある話だが、教育用と実用性を両立させようとするとどうしてもこうなる
教育用として設計されてはいねーし。デマ。
デコレータで読みにくくなるなんて
そりゃ知能が絶望的に足りてないんだよ
デコレータ使わず、糖衣構文を展開した形で書かれていれば理解できるんだい、
(と信じようとしている)。
825 :
デフォルトの名無しさん:2014/02/13(木) 21:58:12.55
時間周りがめんどくさい
日本ではPythonはもう終わりだ...
発展はない
始めるのはゆとりばかり
質問なんかも酷いもんだ
PHPより遥かに劣る
osとshutilに分かれてる意味がわからない。
日付が使いにくい。
lenがオブジェクトのメンバに無いのがおかしい。
absがmathじゃないのはおかしい。
はじめたばかりだけど、ざっと見てなんかライブラリがとっ散らかってる印象。
気になるのは最初だけだから
通過してしまえば一瞬で忘れられる
そんな小さいことにいつまでも構ってられるほど python の世界は狭くはない
安心して使い続けるがよい
ライブラリがとっ散らかってると、マニュアル引くとき困るんだが。
このくそライブラリのせいで学習曲線絶対急になってるよね。イラつくわ。
sysとosとか、きちんと意味があって分けられているけどな。
なんでもグローバル名前空間にぶち込んであるのが好きならPHP使ってろよw
また始まった
> lenがオブジェクトのメンバに無いのがおかしい。
__len__メソッドが代わりにあるから使えよ。
ちなみにlen関数がやってくれてる型チェックも自前でやれよ。
型チェック?なぜそんなことをしなければいけないのか
流石 __len__ すら知らずにアンチを気取るマヌケは言うことが違うなw
なんかガキの罵倒スレになってきたな。
836 :
デフォルトの名無しさん:2014/08/27(水) 21:38:43.96 ID:+mS2YVhy
外部関数とメンバ関数を一々覚えんのがめんどいよな
837 :
デフォルトの名無しさん:2015/01/25(日) 09:57:22.57 ID: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頼みになる。
Pythonの内包表記が中途半端ってどういうこと?
Haskellの内包表記も似たようなもんだよ
それに慣れると(Haskellにおいてすら)mapやfilterより読みやすい
[x * 2 | x <- array, x < 3]
map (* 2) $ filter (< 3) $ array
839 :
デフォルトの名無しさん:2015/01/25(日) 10:20:26.56 ID: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)]
の可能性も捨てきれないと思ってしまう
840 :
デフォルトの名無しさん:2015/01/25(日) 10:21:40.81 ID: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)]
の可能性も捨てきれないと思ってしまう
>>838 数式に親しくないプログラマにとっては「今のところ」後者のmapとfilterで平凡に書く方が分かりやすいと思うけどな。
Haskellでは後者の書き方でも色々と非凡になるけどw
(今のところってのは、昔はそもそも無名関数自体一般的じゃなくてループの方が分かりやすい時代だった。
今は無名関数くらい誰でも使う。何が分かりやすいかも時代で変わってくるから、時代に合わせたプログラミング大事)
本題。中途半端って言ったのは、そこじゃなくて。
今、内包表記を苦もなくスラスラ読めるプログラマってどんな奴だ?
→数式を読めるプログラマだろ
→数式を読めるプログラマはどんなプログラムを書く?
→数学の問題を解くプログラムだろ
→数学の問題をプログラミングするなら、行列の各要素を二倍するなんてこう書きたいだろ(Rのように)
matrix*2
842 :
デフォルトの名無しさん:2015/01/25(日) 11:28:13.18 ID:JhgO84F7
>数式に親しくないプログラマ
そんな香具師いるんかね
843 :
デフォルトの名無しさん:2015/01/25(日) 11:30:30.53 ID:JhgO84F7
>>841 >→数学の問題をプログラミングするなら、行列の各要素を二倍するなんてこう書きたいだろ(Rのように)
>matrix*2
それこそ numpy でいいやん
多分日本語的に読みづらいんだと思うよ。結果が先に来るから。
845 :
デフォルトの名無しさん:2015/01/25(日) 11:37:21.13 ID:3PovQon7
日本で産まれた(ω) Ruby にも後置 if とかあるのに
Ruby は大概書きたい方法があるじゃん
848 :
デフォルトの名無しさん:2015/01/31(土) 08:37:29.46 ID:YMt5PyZL
カバー付ければ良いだけじゃん
全編写真集なら嫌だけど
ジャポニカ学習帳みたいに表紙は植物だけにすればいい
O'Reillyも
850 :
デフォルトの名無しさん:2015/01/31(土) 09:34:03.69 ID:YMt5PyZL
アンチじゃないが表紙ひどいwww
本当だ、何でこんなリアル志向
>>847 俺は別に平気だけど、もはや何の本か分からんなw