【シンプル】Pythonっておもしろい【パワフル】
1 :
デフォルトの名無しさん :
2008/08/25(月) 07:58:27 様々な分野で注目を浴びている言語Pythonについてのスレです。 われらが国産RubyはRoRのお陰で世界的にユーザーが激増しています。 しかし、オブジェクト指向スクリプティング言語で世界的に一番人気なのは、Pythonです。 日本では人気がないようですが、シンプルでいてパワフルなPython。 使い勝手が素晴らしいこの言語についての日本語コミュニティーを作りましょう。
インデントがどうもね。
>>2 エディタが、自動的かtab一発できちんとインデントしてくれるのに慣れると、気にならなくなる
>>4 +p(*a,*b)-q(*a,*b).
+p(*a,*c)-q(*a,*c)-p(*c,*b).
これPrologのマルセイユ版による表記ですが、インデントとか入る
余地ないですね。汚いコードが来ることが前提のインデントなのでは
ないかと。
まちがえたw コードの二行め、 +p(*a,*b)-q(*a,*c)-p(*c,*b). でした。
7 :
5 :2008/08/25(月) 19:07:16
このスレでPython批判をするつもりは全くなかったので、 インデントの件はこれでおしまい。
ポリデントは?
以下、タフデント、トライデント禁止
いけずぅ〜
12 :
デフォルトの名無しさん :2008/08/26(火) 01:30:13
なんかいいIDEはあるの?
>>12 IDEと言えるか分からないけど、わたくしはemacsでがす
シンプルかもしれんがあんましパワフルじゃない
十分パワフル
16 :
デフォルトの名無しさん :2008/08/26(火) 13:42:02
LL書くならvi系しょ
18 :
デフォルトの名無しさん :2008/08/28(木) 23:42:27
定番の入門書って言ったらどれ?
20 :
デフォルトの名無しさん :2008/08/29(金) 00:50:27
>>18 英語で原書読めるならO'Reillyの本どれもお勧め
pythonほど学習しやすい言語はない。 これで一通りの作業できるようになってから 他言語にいくってのもよいのだろうが現場的に無理か。
22 :
デフォルトの名無しさん :2008/08/30(土) 14:24:13
プログラミング入門にPythonは良い言語 ただオブジェクト指向のアクセス権とか隠蔽に対する考え方が C++とかJavaとかと全然違うのが難点
LLやってるうちに、アクセス権とか言語的にサポートされてなくても ドキュメントに勝手にアクセスするな!と書いとけばいいような気がしてきた
24 :
デフォルトの名無しさん :2008/09/01(月) 02:03:14
たしかにデザインにじっくり時間を使えない(&コード大人数でシェアしない)環境では あまりOOにこだわり過ぎるのは労力の無駄という気はするね
25 :
デフォルトの名無しさん :2008/09/01(月) 09:10:25
しかしRubyほどの汎用性にはかなわない糞言語Python
Rubyと比べたメリットデメリットがわからん。。。
Ruby厨にエサ投下したくないし
28 :
デフォルトの名無しさん :2008/09/01(月) 11:50:51
Pythonの方が、明らかに成熟度は高いです。 これは優劣でなく、Pythonの方が歴史が長いから 細かいところに手が入っているということ。 ただ、Cとかで拡張機能を加えようとすると、Rubyの方が 実はstruct作ったりとか煩雑な準備をしなくて良い分簡単だったりする。
確かにctypsはあまりスマートでない
pyてょn るby ぺrl ということで、全部引き分け
たぶん保守する側からすればLL系はPythonが一番だろう。 教育用言語として生まれてインデント縛りを入れたのは正解だね。 不特定多数を相手にした運用はたいてい性悪説がうまくいく。 ネットワークサービス全般がそうだし、これはコードの保守にもいえる。 Rubyが人気なのは単にRoRが流行ってるって理由と、 プログラムが楽しいって理由からじゃないかな。
まぁRubyはPerl譲りで書いてて楽しいってのもあるしな。 後は野となれ山となれだ。
33 :
デフォルトの名無しさん :2008/09/04(木) 01:45:20
煽りではないので、マジレスキボンヌ。 Rubyは楽しいと良く聞くことはたしかです。 Pythoneerとしては、どこがどう楽しいのか、具体的に分かりません。 ちなみ私はPerlは大嫌いです。自分で書いたPerlのコード数ヶ月後に見返すと 何やってんだかまったく分からないことが良くあるからですw わたしがRubyを楽しく思わないのも、ちょっとPerlの香りがするから そこらへんの、好みの違いなのかもしれませんね。
>教育用言語として生まれて そんなことはないと作者本人が否定しているんだが?
そんなん大した問題じゃない そういう否定が必要なほど、そう認知されてるってことだ
36 :
デフォルトの名無しさん :2008/09/04(木) 20:08:38
>>33 マジレス
Python では他人のコードを追うことがよく発生する。ライブラリを使おうとして
python document で分らんとき、 google で誰かの解説を探してだめな後は、python の
ソースを追うことになる。場合によっては、Python 英語 document 読むよりもソースを
読んだほうが分りやすいことさえある。bisect モジュールがそうだ。ドキュメントより
ソースの方が短い。
Perl だと他人のコードを読む気にならない。C だと、他人のコードを読もうとしてもマ
クロ定義のさかのぼり探索など迷路に分け入りがちになる。Perl よりはましだが、C で
も他人のコードはあまり読みたくい。Python の場合は、楽しみながら他人のコードを追
える。
後あまり指摘されないが、python は関数プログラミングの良い所を上手く取り込んでいる。
Perlは確かに変態チックだがCPANの存在が大きいんだよな。。。
> 後あまり指摘されないが、python は関数プログラミングの良い所を > 上手く取り込んでいる。 そう言ってしまうのはどうかなあ Guidoはlambdaは失敗だったと言っているし 末尾再帰の最適化には全く興味を示さないし reduceはbuilt-inから格下げになるし そもそも普通に副作用使いまくりがデフォで、参照透明性なんて最初から考慮外
Perlソースの奔放な読みにくさは、CPANモノに関してはPOD強制がフォローしてる ドキュメントがないとサイトに登録できない 野良に関しては、まあ、言語仕様がどうあれ設計まずいと読みにくいよなみたいな
CommonLispとPython比べてみると共通点が多い
41 :
デフォルトの名無しさん :2008/09/04(木) 23:48:39
>そもそも普通に副作用使いまくりがデフォで、参照透明性なんて最初から考慮外 const 関数さえ作れない python で、参照透明なんて無理だろう。考慮外にするので正解 だけう。参照透明性や const 関数を入れるとしたら、もう python ではなくなってしまう。 >末尾再帰の最適化には全く興味を示さないし 本当に関数プログラミングに末尾再帰の最適化は必須か?末尾再帰が、λ関数記述に近い ことは認めるが、それだけだろう。参照透明性の観点からは、for ... iterator でも同 等だろう。 for index in iterator:.... なんて上手くできている。ループ処理部分からは iterator を全く変更できない。C や Java の for loop とは次元が違う。
Python好きな人が多いな
>>35 31か?
認知がどうとか、実際にどう使われてるかなんてのはどうでもいんだよ。
自分の思い込みで、さも作者はこう考えてましたってな書き方をするな。っての。
>>41 いやべつにpythonを非難してるわけじゃなくて
pythonはよくできた言語だが、「関数型」ってのはどうなん?ってだけだよ
副作用を用いて普通に手続き的に書き、iterative processはループで書くのが
pythonのスタイルでしょ?
どこが関数型なの
まあpythonが関数型であるという主張ではなくて関数型の良いところを 取り入れている、という話だったとは思うけど、 どっちかっつーと「関数型」じゃなくてそこは「Lisp」だと思うんだよね単に そして、Guidoはその方向性を必ずしも好んでない、むしろ嫌っているわけです lambda式なんかつかわんでdef使え、reduceはわかりにくいからforループでいいだろ 末尾再帰なんて最適化しないよ そう言ってんだからさ
Pythonがインデントなどにはじまりユーザに色々制限をかけている言語だとか 書かれてたりするがそういう奴って使ったことないやつなんだろーなーと最近思う 自由にかけすぎて笑う
言語の仕様にして標準的でわかりやすい書き方を強制したいってのはいいんだけど 誰かにとってわかりきった処理やコードってレベルによって様々でしょ 言語入門者にlambdaはわかりにくいかもしれないけど、中規模コードにソートがあって cmpやkeyがコードのあちこちにとんでいたら、入門者でも読みにくいだろうし なんでもforループはわかりやすいけどだらだら長いforループはやっぱり読みにくいし 中級者あたりになってreduceに慣れてしまえば、reduceの一行でさっとわかるだろうし 強制しようとするわかりやすさの方向が言語入門者向きに思えるんだよね
1行80文字で3行以上続く文があったらreduceやらlambdaは使用を控えるべきだと思う 内包表記も長くなりがちなんだよな
49 :
デフォルトの名無しさん :2008/09/05(金) 16:21:29
lambdaってあまり使わないんだけど、関数に名前を与える必要のない時以外とかで そんなに便利な使い方あるの?って思い切り厨房なんだけど
>>49 lambdaをそんなに重いもんだと思う必要は無くて。
たとえばCでqsort()を使うなら別の場所に比較関数を定義しなきゃいけないわけだが、
それは単に面倒で名前空間を汚染するだけでなくて、
実際にソートする場所から離れるから、
sort { $a <=> $b } @foo
のように直接関数をブロック式の形で記述して
その場でしたいことをはっきり述べられる(もちろんこれがlambda式相当)
Perlのコードに比べて分かりにくくもなるんだよね。
そのperlのコードがわかりやすいと思うのはどうなんだ
@foo という配列をなんらかのロジックで sort するコードだということは読むとわかる が、全く無関係の3つの要素が無意味に並べられてるだけって感じで自分からは書けそうにないな Ruby で言うとこの foo.sort{|a,b| a <=> b} みたいなもん?
Perlでは流石に例が良くなかったかw
Perlの$a, $bは一種のspecial nameだからな
Cのqsort()で使う比較関数も比較のために2引数を取るが、
Perlでは$a, $bという変数がsortの比較関数において暗黙に使用されるんだよ
>>52 だな、Ruby(元はSmalltalkだと思うが)のブロック式は実質lambdaだろう
Pythonのlambdaに比べて
Rubyではブロック式が積極的に多用されているというイメージがあるね
54 :
デフォルトの名無しさん :2008/09/05(金) 19:38:32
>>53 Pythonのlambdaでは、Rubyのブロックみたいに複数のステートメント
羅列できたんでしたっけ?
一つまでだったような気が
>>54 初心者にはこれが一番のネックかも。英語ならPythonいろいろ良書出てるけど
日本語のがどうも層が薄いみたいです。
>>53 さんざ言われてると思うけど特殊変数とか記号とかの暗黙のルールが通じるのは知ってる人だけだしね
三ヶ月後の別人である自分が読めるように書くのがPython流だと思う
英語頑張るか… とか言いつつ、頑張らないんだけどね…はぁ…
オラは翻訳出してるじゃん
え、お前翻訳だしてるのか悟空?
野暮だろうけど、オライリーのことじゃなくて?
いや、わかってるって
これにて糞スレ終了
では次の話題をどうぞ
mod_pythonでbase64モジュールが使えません
base64ぐらい自分で書けば
>>65 なぜ使えないのかが気になるだけです。
import base64でbase64.b64encodeとかすると死ぬんです。
そんな属性ねーよ、と。
機能的な問題は解決したのですが・・・
モジュールでAttributeErrorが発生するときは自分で同名モジュールを 作っちゃっているときが多い。
base64.__file__ で確認だな
なるほど、ありがとうございます。調べてみたいと思います。
pygame使いたくてPytnon勉強し始めたけど・・・ Python初心者として素直に言うと下品な言語な気がする。 変数空っぽならFalseを返すってのが特にな〜 インスタントパイソンにある print a or b とかはパッと見なんじゃこれ?って感じだわ。 ただ、慣れればかなり具合の良い言語だと思う。 俺の中でJavaとPHPの中間てな感じ しかしこれって本当に教育用言語?
,、;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
>>70 > しかしこれって本当に教育用言語?
Pythonは教育用言語ではありません
既出
NaNとかいう気持ち悪いものを返してくるよりはマシなレベル
>>変数空っぽならFalseを返す なにそれ? NameErrorじゃないの
>>74 言い方が悪かったスマンコ
変数が定義されていて空っぽならFalseだ
PHPでいうempty()はtrueの状態。
変数を定義しつつ、どのオブジェクトも指さないようにするのってどうやるの?
NoneはNoneType型のオブジェクトってことになってる
おおかたNoneが偽と判定されるからFalseと勘違いしたんだろ。 プログラム初心者が用語を間違うのはよくあることだから 具体的なコードを示すようにしよう。
boolはオブジェクト型じゃないってだけだろ
>>73 あれはあれで理由があるのだよ。
ブラウザ上で動くから、なんでもかんでも例外を発生させて、
コードをストップさせるわけにはいかない。
適当な値を返してできるだけコードを動かした方がいいという判断なんだろ。
>>81 こうですか><
わかりません
>>> isinstance(bool, object)
True
>>77 やっぱりNoneが最適なんじゃないの?
なんもねーっていう時のためのオブジェクトでしょ?
>>75 変数が定義されていて空っぽってのがわからん。
変数に何らかのオブジェクトを関連付けるのが定義じゃないのかな。
他の言語はあまり触ったことないので
>>75 (=
>>70 ?)の言ってる事がどういうものかさっぱりだ。
88 :
デフォルトの名無しさん :2008/09/16(火) 13:01:11
ていうか、空の変数を定義するのに、なんで「実質空っぽ」のオブジェクトを 取り合えず入れとくのはだめなの?なんでオブジェクトなしにこだわるの? そこが本質的な問題。
変数=箱という思考を捨てなさい
90 :
デフォルトの名無しさん :2008/09/19(金) 20:32:20
「ラベル」ならいい?
91 :
デフォルトの名無しさん :2008/09/29(月) 06:08:21
プロジェクト変更でPHP使わなきゃならなくなった Pythonの後にPHPとかやると、あまりに使い勝手悪くてウザい
そりゃぁ、PHP と Python は思想が違う言語だからねぇ
kwsk
PHP の唯一のポリシーって、「誰にとってもひたすら便利であればよい」だよな
PHP の話始めた奴誰だよ
96 :
デフォルトの名無しさん :2008/10/02(木) 16:37:24
Pythonで、今アツいWebフレームワークって何? DjangoとTurboGearとかは聞いたことある Railsに匹敵するものは、まだ無いのかな?
97 :
デフォルトの名無しさん :2008/10/02(木) 17:37:43
98 :
GENTOOOO :2008/10/03(金) 01:56:31
add_add_ad_addDOUBLEclick 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
pythonのideってなにがいい? eclipseプラグイン? wingware?
秀丸
Windows使っているならPyScripterためしてみれば
IDLE
秀丸
e editor
秀丸とかいう回答が来る時点で ああpython推奨してる連中ってそんなレベルなんだな って思って使う気が失せる
またRuby信者の荒らしですか?
インテリセンスみたいな強力な補完機能が欲しい pythonの言語仕様はそういうのに向いてるはず あと関数・変数ダブルクリックで定義を参照出来たり 定義から参照一覧を見れたりするといい 要するにクールなIDEが欲しい
>>107 > インテリセンスみたいな強力な補完機能が欲しい
> pythonの言語仕様はそういうのに向いてるはず
Pythonは動的型でダックタイピングなのに、どっからそういう発想が出てくるんだ
>>109 ん?俺に突っ込み?
動的型でダックタイピングなPythonで
C#のような言語並に補完等を効かせるのはとても無理だぜ
>>110 補完って関数名とかのサジェストだけだと思ってるの?
C#は例えばタブ一発で関数の雛形を作ってくれるんだけど
それはpythonみたいな書式を限定した言語の方が強力に出来ると思うけど
IDEでいくつか構文パターン選んで雛形生成して 依存性注入箇所をタブで飛びながら書くみたいな事がやりたい Pythonならやりやすいはずだよ
>>111 ん?インデントの話?
ああ、それなら簡単、補完よりもっと無理
if x:
y
z
が、
if x:
y
z
のつもりなのか、
if x:
y
z
のつもりなのかを、機械的に判断する方法は*存在しない*
補完が無理なのは分かるよな?
def f(x):
x. # xの型が分からない....
一体何をもってPythonがIDE向きだなどという寝言を言っているのか
俺には理解しかねる
だから君はC#でインテリセンス使った事ないでしょうw 発想が入力した文字の自動修正程度にしか至ってない
>>114 >「インテリセンスみたいな強力補完機能」
とか言われたら、普通入力補完だと思うと思うんだが、違うのか?
少なくとも入力補完においてC#並みの機能を実現するのは不可能だという
点は、納得できたかい?
だから君が言ってるのは自動修正程度の事でしょw それは普通のインテリセンス C#にあるインテリセンスは違う 上で説明してるのに
>>116 意味が分からんな
雛形をpythonで造れるようになったとする、
んでも補完も自動インデントも効かない
それのどこが
> インテリセンスみたいな強力な補完機能が欲しい
> pythonの言語仕様はそういうのに向いてるはず
になるんだ?
うるせーIDE使ってる奴はゆとり論持ち出すぞ
Lisperなら雛形のコピペ=自動生成 などというまるでMFCのようなダサダサ手段は持ち出さずに さっさとマクロを記述するところだな Pythonにはそのようなものは存在しないが
雛形生成はC#でも型とか関係無いし
emacs 使ってるけど快適。 indentが曖昧な時は、tab連発で任意のレベルにすればいいだけじゃね? まあVisualStudioにはかなわんけどね。
e editorならtextmateライクなバンドルが使えるよ!! と、言ってみるテスト
>>119 遅延評価はあるから
バックくおーとみたいなのはできるかもしれない
pythonはemacsなどのテキストエディタでって人多いよね。 python使うのに、VSを購入するのも、なんというか、、 VSで開発するなら、別にpythonでなくてもいいかっ、て気がする。
IronPythonでよければ、IronPython Studioがあるけどね
Pydevってここじゃ人気ないの?
129 :
デフォルトの名無しさん :2009/09/29(火) 08:30:07
.
.
class Thr(object):
def __init__(self, host, bbs, timeout, key):
self.host = host
self.bbs = bbs
self.timeout = timeout
self.key = key
self.frm = 'fusianasan'
self.cj = cookielib.CookieJar()
def write(self, frm, mail, msg):
print 'to bbs: %s key: %d' % (self.bbs, self.key)
req = urllib2.Request(
'
http://%s.2ch.net/test/bbs.cgi ' % self.host,
urllib.urlencode({
'bbs': self.bbs, 'key': self.key, 'time': int(time.time()),
'FROM': self.frm.encode('cp932'), 'mail': mail, 'MESSAGE': msg.encode('cp932'),
'submit': u'書き込み'.encode('cp932'), 'hana': 'mogera'}),
{'Referer': '
http://%s.2ch.net/ ' % self.host})
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cj))
res1 = opener.open(req).read()
print res1
if '<!-- 2ch_X:cookie -->' in res1:
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cj))
res2 = opener.open(req).read()
print res2
time.sleep(self.timeout)
t = Thr('pc12', 'tech', 40, 1219618707)
t.write(u'デフォルトの名無しさん', 'sage', u'てすと')
テレビ局なんか全部電通の子会社状態だ 電通を弱体化させなければ反日放送は永遠に続く スパイを頂点にして放送してるようなものだ
pythonを勉強してみようと思うんだけど 全くの初心者なら入門書ってどれがいいのかな? Pythonで学ぶプログラム作法? みんなのPython?
両方とも他言語経験者向けだな
はじめてのpython
みんぱい ぱいそんすたーとぶっく はじぱい
137 :
デフォルトの名無しさん :2011/05/05(木) 04:42:23.78
.
公式チュートリアルで十分だろ、本買うなよ
最近触ってみたけど、おもしろいね。 プログラミングする上で面倒な所を上手に処理してる。 ドキュメントもちゃんとNET上に転がってるし、良いもんだ。
そう言えば、くだすれって無くなったのか?
Linuxのコンソール環境でPython 開発するなら エディタは? 入力補完やメソッドジャンプ出来るのってありますか? vimで開発してたけど、その辺皆どうしてるんだろうと思って。
>>144 Vim標準の入力補完じゃダメなの?
メソッドジャンプってわかんないけど、ctagsじゃダメなの?
>>144 Pydictionとかpythoncompleteとかpysmellとかneocomplcacheとか
ちょっとした修正ならまだしも開発をコンソール環境で作れなんていわれたら 荷物まとめて"帰らせてもらいます"っていってドアを蹴飛ばす。
pass
そして帰宅後に自分のマシンで開発にいそしみます
たまりまへんわ
「みんなのPython」のタプルの説明のページ、例として挙げられているのが、 IPとドメインネームの対応表で、IPアドレスがタプルにして、それをキーにした 辞書としているんですけど、これって文字列でも実現できますよね。 わざわざタプルの例にするメリットなんなのでしょう? 読んだけど説明がありませんでした。
> わざわざタプルの例にするメリットなんなのでしょう? タプルの説明ができる
普通の文字列とかだと苦労するような課題で、タプルを使ったところこんなに すっきり作れました、とかやるのがタプルの紹介の教育的価値としていいものだと 思うが、意味も無くタプル使ってみました、ってダメな説明だよな。 というかその本そんなにダメ本だったのか。
Pythonにもその本にも興味はないのだが、IPアドレスをdouble値で表現するなんて それ自体ダメダメだろ。その程度の文字列処理もできないのかPythonて
タプルって言いたいだけちゃうんかと
>>153 >普通の文字列とかだと苦労するような課題で、タプルを使ったところこんなに
>すっきり作れました、とかやるのがタプルの紹介の教育的価値としていいものだと
横からスマソが
そういう例を教えてくれ
private_ipmap = {ip: ipmap[ip] for ip in ipmap if ip[:2] == (192, 168)} みたいな感じか?まぁIPだったらsplit('.')でもすればいいだけだからなぁ。
複数の引数を取る関数のメモ化とかに使えるか。
IPv6 になったら困るんじゃね?
でタプルはこういうところに使えって良い例早く教えてよ お前らいつもでかい口叩いているんだからそんなの簡単だよねw
出たよ風紀委員が 何かが気に入らないだけで 本当は知りたくないんだろ?
>>161 >>159 の例。引数のタプルをキーにする辞書を使ったメモ化。サンプルはたらい回し関数。
def memoize(func):
results = {}
def decorated(*args):
x = tuple(args)
if x not in results:
results[x] = func(*x)
return results[x]
return decorated
@memoize
def tak(x, y, z):
if x <= y:
return y
return tak(tak(x - 1, y, z), tak(y - 1, z, x), tak(z - 1, x, y))
別に辞書のキーに使う分にはいいけどさ(ほんとはそれもあまり感心しないけど), IPアドレスというすべての数値に厳密な値を要求されるデータに対して丸め誤差の 影響が及ぶおそれのあるdouble値を使うのってどうよ、という話なんだが
そういやPerlにもRubyにもタプル無いよな 大して意味の無いいらない子機能なのかもしれん
Lisp の cons は要素 2 個に固定のタプルだし、Haskell とかにもあるし、 意味がないわけじゃない。
Pythonはかなり気に入っているが、タプルは全く使ったことは無い。 リストが高機能すぎてほかはあまり使う気が起きない。 因みに、プログラムは2月ごろから始めた初心者です。
Pythonのタプルは、多重代入や多値リターン、可変長引数等色々なところで 現れるんで、使ってないつもりで実は使ってるんじゃないかな 初心者のうちは、イミュータブル(なタプル)はミュータブル(なリスト)の 機能限定版に見えるかもしれないが、ある程度経験をつめば、 変更が不要なケースならイミュータブルなオブジェクトのほうが安全性や効率面から 好ましいことがわかってくるはず 主にJava方面のデザインパターン用語ではValue Objectという用語があるけれども Pythonでも考え方は参考にできると思う
>>167 2月頃から始めたとの事ですが、
使った参考書と現在どのようにPythonを活用しているか教えて下さい。
ぜひ参考にしたいです。