1read 100read
2011年10月1期プログラム【シンプル】Pythonっておもしろい【パワフル】 TOP カテ一覧 スレ一覧 削除依頼
・ 次のスレ
HTAをもっと流行らせる計画 Part2
俺のPython勉強日記
【exe】使えるコンソールアプリ【w32】
Web系言語って数が多過ぎね?


【シンプル】Pythonっておもしろい【パワフル】


1 :08/08/25 〜 最終レス :11/12/12
様々な分野で注目を浴びている言語Pythonについてのスレです。
われらが国産RubyはRoRのお陰で世界的にユーザーが激増しています。
しかし、オブジェクト指向スクリプティング言語で世界的に一番人気なのは、Pythonです。
日本では人気がないようですが、シンプルでいてパワフルなPython。
使い勝手が素晴らしいこの言語についての日本語コミュニティーを作りましょう。

2 :
インデントがどうもね。

3 :
Pythonのお勉強 Part 28
http://pc11.2ch.net/test/read.cgi/tech/1217836194/
くだすれPython(超初心者用) その2
http://pc11.2ch.net/test/read.cgi/tech/1218155094/
Python の宿題ここで答えます Part 1
http://pc11.2ch.net/test/read.cgi/tech/1153585095/
Pythonに見られるインデントによる制御構造の是非
http://pc11.2ch.net/test/read.cgi/tech/1169473442/
pythonがこの先生きのこるには
http://pc11.2ch.net/test/read.cgi/tech/1167996371/
【Perl,PHP】LLバトルロワイヤル3【Ruby,Python】
http://pc11.2ch.net/test/read.cgi/tech/1215319832/
Pythonについて(アンチ専用)
http://pc11.2ch.net/test/read.cgi/tech/1203557046/

4 :
>>2
エディタが、自動的かtab一発できちんとインデントしてくれるのに慣れると、気にならなくなる

5 :
>>4
+p(*a,*b)-q(*a,*b).
+p(*a,*c)-q(*a,*c)-p(*c,*b).
これPrologのマルセイユ版による表記ですが、インデントとか入る
余地ないですね。汚いコードが来ることが前提のインデントなのでは
ないかと。

6 :
まちがえたw コードの二行め、
+p(*a,*b)-q(*a,*c)-p(*c,*b). でした。

7 :
このスレでPython批判をするつもりは全くなかったので、
インデントの件はこれでおしまい。

8 :
インデントについてはこのスレでどうぞ
http://pc11.2ch.net/test/read.cgi/tech/1169473442/l50

9 :
ポリデントは?

10 :
以下、タフデント、トライデント禁止

11 :
いけずぅ〜

12 :
なんかいいIDEはあるの?

13 :
>>12
IDEと言えるか分からないけど、わたくしはemacsでがす

14 :
シンプルかもしれんがあんましパワフルじゃない

15 :
十分パワフル

16 :
>>12
http://wingware.com/
オープンソースやってる奴にはフリーで提供

17 :
LL書くならvi系しょ

18 :
定番の入門書って言ったらどれ?

19 :
>>18
http://www.python.jp/doc/nightly/tut/

20 :
>>18
英語で原書読めるならO'Reillyの本どれもお勧め

21 :
pythonほど学習しやすい言語はない。
これで一通りの作業できるようになってから
他言語にいくってのもよいのだろうが現場的に無理か。

22 :
プログラミング入門にPythonは良い言語
ただオブジェクト指向のアクセス権とか隠蔽に対する考え方が
C++とかJavaとかと全然違うのが難点

23 :
LLやってるうちに、アクセス権とか言語的にサポートされてなくても
ドキュメントに勝手にアクセスするな!と書いとけばいいような気がしてきた

24 :
たしかにデザインにじっくり時間を使えない(&コード大人数でシェアしない)環境では
あまりOOにこだわり過ぎるのは労力の無駄という気はするね

25 :
しかしRubyほどの汎用性にはかなわない糞言語Python

26 :
Rubyと比べたメリットデメリットがわからん。。。

27 :
Ruby厨にエサ投下したくないし

28 :
Pythonの方が、明らかに成熟度は高いです。
これは優劣でなく、Pythonの方が歴史が長いから
細かいところに手が入っているということ。
ただ、Cとかで拡張機能を加えようとすると、Rubyの方が
実はstruct作ったりとか煩雑な準備をしなくて良い分簡単だったりする。

29 :
確かにctypsはあまりスマートでない

30 :
pyてょn
るby
ぺrl
ということで、全部引き分け

31 :
たぶん保守する側からすればLL系はPythonが一番だろう。
教育用言語として生まれてインデント縛りを入れたのは正解だね。
不特定多数を相手にした運用はたいてい性悪説がうまくいく。
ネットワークサービス全般がそうだし、これはコードの保守にもいえる。
Rubyが人気なのは単にRoRが流行ってるって理由と、
プログラムが楽しいって理由からじゃないかな。

32 :
まぁRubyはPerl譲りで書いてて楽しいってのもあるしな。
後は野となれ山となれだ。

33 :
煽りではないので、マジレスキボンヌ。
Rubyは楽しいと良く聞くことはたしかです。
Pythoneerとしては、どこがどう楽しいのか、具体的に分かりません。
ちなみ私はPerlは大嫌いです。自分で書いたPerlのコード数ヶ月後に見返すと
何やってんだかまったく分からないことが良くあるからですw
わたしがRubyを楽しく思わないのも、ちょっとPerlの香りがするから
そこらへんの、好みの違いなのかもしれませんね。

34 :
>教育用言語として生まれて
そんなことはないと作者本人が否定しているんだが?

35 :
そんなん大した問題じゃない
そういう否定が必要なほど、そう認知されてるってことだ

36 :
>>33 マジレス
Python では他人のコードを追うことがよく発生する。ライブラリを使おうとして
python document で分らんとき、 google で誰かの解説を探してだめな後は、python の
ソースを追うことになる。場合によっては、Python 英語 document 読むよりもソースを
読んだほうが分りやすいことさえある。bisect モジュールがそうだ。ドキュメントより
ソースの方が短い。
Perl だと他人のコードを読む気にならない。C だと、他人のコードを読もうとしてもマ
クロ定義のさかのぼり探索など迷路に分け入りがちになる。Perl よりはましだが、C で
も他人のコードはあまり読みたくい。Python の場合は、楽しみながら他人のコードを追
える。
後あまり指摘されないが、python は関数プログラミングの良い所を上手く取り込んでいる。

37 :
Perlは確かにチックだがCPANの存在が大きいんだよな。。。

38 :
> 後あまり指摘されないが、python は関数プログラミングの良い所を
> 上手く取り込んでいる。
そう言ってしまうのはどうかなあ
Guidoはlambdaは失敗だったと言っているし
末尾再帰の最適化には全く興味を示さないし
reduceはbuilt-inから格下げになるし
そもそも普通に副作用使いまくりがデフォで、参照透明性なんて最初から考慮外

39 :
Perlソースの奔放な読みにくさは、CPANモノに関してはPOD強制がフォローしてる
ドキュメントがないとサイトに登録できない
野良に関しては、まあ、言語仕様がどうあれ設計まずいと読みにくいよなみたいな

40 :
CommonLispとPython比べてみると共通点が多い

41 :
>そもそも普通に副作用使いまくりがデフォで、参照透明性なんて最初から考慮外
const 関数さえ作れない python で、参照透明なんて無理だろう。考慮外にするので正解
だけう。参照透明性や const 関数を入れるとしたら、もう python ではなくなってしまう。
>末尾再帰の最適化には全く興味を示さないし
本当に関数プログラミングに末尾再帰の最適化は必須か?末尾再帰が、λ関数記述に近い
ことは認めるが、それだけだろう。参照透明性の観点からは、for ... iterator でも同
等だろう。
for index in iterator:.... なんて上手くできている。ループ処理部分からは
iterator を全く変更できない。C や Java の for loop とは次元が違う。

42 :
Python好きな人が多いな

43 :
>>35
31か?
認知がどうとか、実際にどう使われてるかなんてのはどうでもいんだよ。
自分の思い込みで、さも作者はこう考えてましたってな書き方をするな。っての。

44 :
>>41
いやべつにpythonを非難してるわけじゃなくて
pythonはよくできた言語だが、「関数型」ってのはどうなん?ってだけだよ
副作用を用いて普通に手続き的に書き、iterative processはループで書くのが
pythonのスタイルでしょ?
どこが関数型なの

45 :
まあpythonが関数型であるという主張ではなくて関数型の良いところを
取り入れている、という話だったとは思うけど、
どっちかっつーと「関数型」じゃなくてそこは「Lisp」だと思うんだよね単に
そして、Guidoはその方向性を必ずしも好んでない、むしろ嫌っているわけです
lambda式なんかつかわんでdef使え、reduceはわかりにくいからforループでいいだろ
末尾再帰なんて最適化しないよ
そう言ってんだからさ

46 :
Pythonがインデントなどにはじまりユーザに色々制限をかけている言語だとか
書かれてたりするがそういう奴って使ったことないやつなんだろーなーと最近思う
自由にかけすぎて笑う

47 :
言語の仕様にして標準的でわかりやすい書き方を強制したいってのはいいんだけど
誰かにとってわかりきった処理やコードってレベルによって様々でしょ
言語入門者にlambdaはわかりにくいかもしれないけど、中規模コードにソートがあって
cmpやkeyがコードのあちこちにとんでいたら、入門者でも読みにくいだろうし
なんでもforループはわかりやすいけどだらだら長いforループはやっぱり読みにくいし
中級者あたりになってreduceに慣れてしまえば、reduceの一行でさっとわかるだろうし
強制しようとするわかりやすさの方向が言語入門者向きに思えるんだよね

48 :
1行80文字で3行以上続く文があったらreduceやらlambdaは使用を控えるべきだと思う
内包表記も長くなりがちなんだよな

49 :
lambdaってあまり使わないんだけど、関数に名前を与える必要のない時以外とかで
そんなに便利な使い方あるの?って思い切り厨房なんだけど

50 :
>>49
lambdaをそんなに重いもんだと思う必要は無くて。
たとえばCでqsort()を使うなら別の場所に比較関数を定義しなきゃいけないわけだが、
それは単に面倒で名前空間を汚染するだけでなくて、
実際にソートする場所から離れるから、
sort { $a <=> $b } @foo
のように直接関数をブロック式の形で記述して
その場でしたいことをはっきり述べられる(もちろんこれがlambda式相当)
Perlのコードに比べて分かりにくくもなるんだよね。

51 :
そのperlのコードがわかりやすいと思うのはどうなんだ

52 :
@foo という配列をなんらかのロジックで sort するコードだということは読むとわかる
が、全く無関係の3つの要素が無意味に並べられてるだけって感じで自分からは書けそうにないな
Ruby で言うとこの foo.sort{|a,b| a <=> b} みたいなもん?

53 :
Perlでは流石に例が良くなかったかw
Perlの$a, $bは一種のspecial nameだからな
Cのqsort()で使う比較関数も比較のために2引数を取るが、
Perlでは$a, $bという変数がsortの比較関数において暗黙に使用されるんだよ
>>52
だな、Ruby(元はSmalltalkだと思うが)のブロック式は実質lambdaだろう
Pythonのlambdaに比べて
Rubyではブロック式が積極的に多用されているというイメージがあるね

54 :
>>19-20
すみません。
出来れば、日本語の書籍がいいです。

55 :
>>53
Pythonのlambdaでは、Rubyのブロックみたいに複数のステートメント
羅列できたんでしたっけ?
一つまでだったような気が
>>54
初心者にはこれが一番のネックかも。英語ならPythonいろいろ良書出てるけど
日本語のがどうも層が薄いみたいです。

56 :
>>53
さんざ言われてると思うけど特殊変数とか記号とかの暗黙のルールが通じるのは知ってる人だけだしね
三ヶ月後の別人である自分が読めるように書くのがPython流だと思う

57 :
英語頑張るか…
とか言いつつ、頑張らないんだけどね…はぁ…

58 :
オラは翻訳出してるじゃん

59 :
え、お前翻訳だしてるのか悟空?

60 :
野暮だろうけど、オライリーのことじゃなくて?

61 :
いや、わかってるって

62 :
これにて糞スレ終了

63 :
では次の話題をどうぞ

64 :
mod_pythonでbase64モジュールが使えません

65 :
base64ぐらい自分で書けば

66 :
>>65
なぜ使えないのかが気になるだけです。
import base64でbase64.b64encodeとかすると死ぬんです。
そんな属性ねーよ、と。
機能的な問題は解決したのですが・・・

67 :
モジュールでAttributeErrorが発生するときは自分で同名モジュールを
作っちゃっているときが多い。

68 :
base64.__file__ で確認だな

69 :
なるほど、ありがとうございます。調べてみたいと思います。

70 :
pygame使いたくてPytnon勉強し始めたけど・・・
Python初心者として素直に言うと下品な言語な気がする。
変数空っぽならFalseを返すってのが特にな〜
インスタントパイソンにある
print a or b
とかはパッと見なんじゃこれ?って感じだわ。
ただ、慣れればかなり具合の良い言語だと思う。
俺の中でJavaとPHPの中間てな感じ
しかしこれって本当に教育用言語?

71 :
              ,、;i彡ミi〃ヾi、
             iヘ〃,!i〃ヾ彡ミ;ヽ、
               iヾミ ミ'`         ヾi
           ミ   〃       ,,,, l
           ヾ  彡   ,,===   "``l
           冫 ∩ '" ィェァ冫  ヤ`.l
           {( j |  ´` ´r-  、 l
               ` l .l へ  /ゝ-、 ハ l  違うよ。全然違うよ。
              l/  ハ__ー=ェェ=' /
            / - ニ二.lノ ` ‐' /、
            l     ,y 〉` ー  l l 、
       _  -‐ ´ l   1<     l l \ー 、
     r'´ ヽ    ノ   l l ,ヘヽ    /y/   \ ` -、
.     l   ヽ ハヽ、  ノ l l ヽ\/イ  ヾ 〃     l

72 :
>>70
> しかしこれって本当に教育用言語?
Pythonは教育用言語ではありません
既出

73 :
NaNとかいう気持ち悪いものを返してくるよりはマシなレベル

74 :
>>変数空っぽならFalseを返す
なにそれ?
NameErrorじゃないの

75 :
>>74
言い方が悪かったス
変数が定義されていて空っぽならFalseだ
PHPでいうempty()はtrueの状態。

76 :
>>75
違うよ。全然違うよ。

77 :
変数を定義しつつ、どのオブジェクトも指さないようにするのってどうやるの?

78 :
>>77
Noneでも使うとか?

79 :
NoneはNoneType型のオブジェクトってことになってる

80 :
おおかたNoneが偽と判定されるからFalseと勘違いしたんだろ。
プログラム初心者が用語を間違うのはよくあることだから
具体的なコードを示すようにしよう。

81 :
boolはオブジェクト型じゃないってだけだろ

82 :
>>76
>>78
>>79
貴様らに何がわかる?
人の発言の真意を見ずに適当にレスしておもしろいか?

83 :
>>73
あれはあれで理由があるのだよ。
ブラウザ上で動くから、なんでもかんでも例外を発生させて、
コードをストップさせるわけにはいかない。
適当な値を返してできるだけコードを動かした方がいいという判断なんだろ。

84 :
>>81
こうですか><
わかりません
>>> isinstance(bool, object)
True

85 :
>>77
全てが何らかのオブジェクトだから無理

86 :
>>77
やっぱりNoneが最適なんじゃないの?
なんもねーっていう時のためのオブジェクトでしょ?

87 :
>>75
変数が定義されていて空っぽってのがわからん。
変数に何らかのオブジェクトを関連付けるのが定義じゃないのかな。
他の言語はあまり触ったことないので>>75(=>>70?)の言ってる事がどういうものかさっぱりだ。

88 :
ていうか、空の変数を定義するのに、なんで「実質空っぽ」のオブジェクトを
取り合えず入れとくのはだめなの?なんでオブジェクトなしにこだわるの?
そこが本質的な問題。

89 :
変数=箱という思考を捨てなさい

90 :
「ラベル」ならいい?

91 :
プロジェクト変更でPHP使わなきゃならなくなった
Pythonの後にPHPとかやると、あまりに使い勝手悪くてウザい

92 :
そりゃぁ、PHP と Python は思想が違う言語だからねぇ

93 :
kwsk

94 :
PHP の唯一のポリシーって、「誰にとってもひたすら便利であればよい」だよな

95 :
PHP の話始めた奴誰だよ

96 :
Pythonで、今アツいWebフレームワークって何?
DjangoとTurboGearとかは聞いたことある
Railsに匹敵するものは、まだ無いのかな?

97 :
>>95
>>91

98 :
add_add_ad_add&#DOUBLEclick
SOURCE;mode2 LEDfull_choose erabeyoerabe choose choice NEWPLUSnew
TVmonitoroff#&douv#(programLUmda#double)uuuuO // paparapapapapa paparapapapapa paparapapapapa paparapapapapa sigma^4#
enf endroll
moe
commandline####teamqQQQQ
信号ユニットラインの種類をおかきください
パターン2 ユニット2がこたえですね さいごに コメントをのこしてください
lgannma/V-
#;comment UfuffffffffFORTH uS ES ESE
y
lumda
=
l-/
列車でとなりすわってやるように sinngou sing sing ...........dotdotdotdot 

99 :
pythonのideってなにがいい?
eclipseプラグイン?
wingware?

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 削除依頼
・ 次のスレ
HTAをもっと流行らせる計画 Part2
俺のPython勉強日記
【exe】使えるコンソールアプリ【w32】
Web系言語って数が多過ぎね?