Pythonの文法

はじめに

プログラミング言語のPython(パイソン)を勉強しています。文法の中でややこしくて理解しずらいテーマが3点ありました。1点目はリストにおける代入とコピーの違い、2点目はミュータブルとイミュータブルの違い、3点目は浅いコピーと深いコピーの違いです。教科書の文章だけで理解しようとしても無理があるので、イラストでの説明を試みました。

3項目それぞれで、ソースコードは類似していてもプログラムの挙動は全く異なるという特徴があります。そこで、2つのソースコードを対比し、プログラムの挙動をイラストで表し、差異を明確にしました。イラストは、厳密なプログラムの挙動を表しているわけではありません。しかし、イラストとソースコードをじっくり見比べると、概要を把握できると思います。

ソースコードを読むときの注意点

Pythonにおいて、変数名はオブジェクトを指す名前です。変数はオブジェクトのデータを持たず、データのメモリ位置を持っています。したがって、ソースコードを読むとき、次の2点に注意する必要があります。1点目は、異なる変数名が同じオブジェクトを指す状況があることです。2点目は、ある変数を通してオブジェクトを変更すると、その影響が別の変数に出る場合と出ない場合の両方があることです。

オブジェクトはコンピュータのメモリ内に存在します。id(x)は、変数xが指すオブジェクトのメモリ位置を返します。メモリ位置は、オブジェクトがメモリ内のどの位置に存在するかを表す住所のようなものです。変数xとyに対して、id(x)とid(y)の値を比較することで、xとyが同じオブジェクトを指しているかいないかを判断できます。

リストにおける代入とコピー

「y = x」と「y = x[:]」は見た目が似ていますが、意味は全く異なります。代入文「y = x」の意味は、変数xが指すオブジェクトを変数yも指すようにするです。リストのコピー文「y = x[:]」の意味は、変数xが指すオブジェクトをコピーし、そのコピーされたオブジェクトをyが指すようにするです。

===== list_assign.py リストの代入 =====

===== list_assign.pyの出力 =====
===== list_copy.py リストのコピー =====

===== list_copy.pyの出力 =====

リストの代入(list_assign.py)
xとyは同じオブジェクトを指しています。x[2]を’cup’に変更すると、その影響がyに現れます。

リストのコピー(list_copy.py)
xの変更前からxとyは異なるオブジェクトを指しています。x[2]を’cup’に変更しても、yに影響しません。

ミュータブルとイミュータブル

オブジェクトの値を変更することが不可能なことを、イミュータブルといいます。イミュータブルなオブジェクトの例として、数値や文字列等があります。オブジェクトの値を変更することが許可されていることをミュータブルといいます。ミュータブルなオブジェクトの例として、リストや辞書型等があります。

===== mutable.py ミュータブル =====

===== mutable.pyの出力 =====
===== immutable.py イミュータブル =====

===== immutable.pyの出力 ====

ミュータブル(mutable.py)
リストはミュータブル(変更可能)です。 x[1]を変更しても、xとyは同じオブジェクトを指したままです。つまり、xを変更したことで、yに影響が出ます。

イミュータブル(immutable.py)
数値はイミュータブル(変更不能)です。xを変更すると、新しいオブジェクトが作成され、xはyと異なる新しいオブジェクトを指すようになります。つまり、xを変更しても、yに影響が出ません。

浅いコピーと深いコピー

浅いコピーと深いコピーはネスト構造のオブジェクトをコピーするときに重要になってきます。ネスト構造とは、リストの要素としてリストがあるなどの入れ子構造のことです。浅いコピーは、ネスト構造内の深さ1の浅い部分のみをコピーします。深いコピーは、ネスト構造の深い部分を含めたデータのすべてをコピーします。

リストの浅いコピーは、「y = x.copy()」,「y = list(x)」,「y = x[:]」,「y = x + []」, 「y = x * 1」で実現できます。一方、深いコピーは、copyモジュールを用いて「y = copy.deepcopy(x)」で実現できます。

===== shallow.py 浅いコピー =====

===== shallow.pyの出力 =====
===== deep.py 深いコピー =====

===== deep.pyの出力 =====

浅いコピー(shallow.py)
xとyで[2, 〇]の浅い部分はコピーされますが、[3, 4]の深い部分はコピーされません。そのため、x[0]の変更はyに影響しませんが、x[1]の変更はyに影響します。

深いコピー(deep.py)
xとyで[2, 〇]の浅い部分だけでなく、[3, 4]の深い部分もコピーされます。そのため、xを変更してもyに全く影響しません。

参考資料

喜多一著、プログラミング演習 Python 2019のPDFファイル
http://hdl.handle.net/2433/245698
本編の10.11節から10.13節まで及びコラム編の13.2節が参考になります。

作成: 藤原大樹
更新: 2020年7月3日

内田樹「コロナ後の世界」記事の論点整理

浅野直樹です。

 

コロナ後の世界 – 内田樹の研究室(以下「内田記事」)を昨日読み、政治学者が内田樹「コロナ後の世界」にマジ切れしてるので聞いてくれ: 内田樹が煽る4つのデマ|アイ・アラン|note(以下「アラン記事」)を今日読みました。

 

アラン記事が設定した枠組みに沿って論点整理をしてみます。

 

1. 「国際協力体制は中国が指導する」

内田記事の「習近平はこれから5年先10年先の地政学的地位を見越して行動している」というのが具体的にどういう内容を指しているのか、私には今ひとつピンときません。よって、ファクトであるともフェイクであるとも言えません。

 

内田記事の「これ以後の国際協力体制は中国が指導することになりかねない」はフェイクであるとアラン記事は主張しますが、「これ以後」という未来のことがフェイクであるかどうかは現時点ではわかりません。

 

内田さんの知り合いのイタリア人が「いま頼りになるのは中国だけだ」と言っていたということは十分にあり得ます。

 

「民主主義はひとりの声で決まるわけじゃない」というアラン記事の主張はもっともですが、そう主張することにより、永沢さんからの電話を記事の導入にしているアラン記事のレトリックが減殺されるようにも思われます。

 

2.「説得力のあるメッセージを発信するリーダーを模範とすべき」

アラン記事は「演説が上手いとリーダーは模範」がフェイクであると断じますが、「演説が上手いとリーダーは模範」つまり「リーダーは演説が上手であるべきだ」ということは、「〜べき」という当為であって、「〜である」という事実に適用するフェイクという判断がマッチしません。「リーダーは演説が上手であるべきかどうか」を問うことはできます。

 

アラン記事の「メルケルもボリス・ジョンソンも、話の内容はスピーチライターが考えてるの」という主張は、たぶんそうだろうなと私は想像します。

 

3.「政治家や役人は感染症用の医療準備を無駄だと思って、カットした」

アラン記事では「政治家や役人は感染症用の医療準備を無駄だと思ってカットした」がフェイクであると主張されていますが、元の内田記事では「『医療資源の効率的な活用』とか『病床稼働率の向上』とかいうことを医療の最優先課題だと思っている政治家や役人は感染症用の医療準備を無駄だと思って、カットします」となっています。

 

アラン記事は民主党政権を想定していますが、内田記事は一般論に読めるような書き方です。強いて言うなら、維新についてのアンケート – 内田樹の研究室という記事からすると、内田さんは大阪維新の会を想定しているのではないでしょうか。

 

4.「わずかな国富を少数の支配階層が排他的に独占する」

ここでの内田さんとアランさんの対立点は、「中間層」の内実をめぐるものです。内田さんが中間層だと見ているのは自営業者などの「旧中間層」であるのに対し、アランさんが中間層だと見ているのはサラリーマンと呼ばれるような「新中間層」です。小熊英二『日本社会のしくみ 雇用・教育・福祉の歴史社会学』(講談社、2019)の分類を借りれば、内田さんが「地元型」で、アランさんが「大企業型」です。

 

 

そもそも、内田記事の問題提起は、少数者支配がいいのかそれとも多数者支配がよいのかという、プラトンの『国家』やアリストテレスの『政治学』以来論じられてきた政治学の大きなテーマを、このコロナをきっかけにして、改めて考えてみるということです。

 

 

 

無料の学術書 数学とコンピュータサイエンスを中心として

はじめに

インターネット上で無料で公開されている学術書をまとめました。分野は数学とコンピュータサイエンスが中心です。このリンク集では、著者や出版社自らが内容を公開している公式ホームページを選定しました。個人使用の限りでは著作権の侵害にはならないので、安心して下さい。

なぜ学術書がインターネット上で無料で読めるのか? その理由は、「オープンアクセス」による出版です。オープンアクセスとは、学術情報をインターネットを通じて誰もが無料で閲覧可能な状態にすることです。(参考サイト[1] ) 個人や研究機関にとって学術論文・学術書が高価すぎるという問題を改善し、多くの人が学術情報を利用できるようにするため、オープンアクセスによる出版が推進されています。

参考サイト
[1] Eriko Amano, 学術書のオープンアクセスを考える

学術書のリンク集

書名: The Elements of Statistical Learning: Data Mining, Inference, and Prediction, Second Edition
著者: Trevor Hastie, Robert Tibshirani, Jerome Friedman
出版社: Springer; 2nd edition (2016)
公式HP
ダウンロード
分野: 機械学習

書名: Understanding Machine Learning: From Theory to Algorithms
著者: Shai Shalev-Shwartz, Shai Ben-David
出版社: Cambridge University Press; 1 edition (May 19, 2014)
公式HP
ダウンロード
分野: 機械学習

書名: Mathematics for Machine Learning
著者: Marc Peter Deisenroth, A. Aldo Faisal, and Cheng Soon Ong
出版社: Cambridge University Press (April 23, 2020)
公式HP
ダウンロード
分野: 機械学習

書名: Geometry in Figures
著者: A. V. Akopyan
出版社: CreateSpace Independent Publishing Platform (August 1, 2011)
公式HP
ダウンロード
分野: 平面幾何学
コメント: first editionのみダウンロード可能.

書名: Discrete Choice Methods with Simulation
著者: Kenneth E. Train
出版社: Cambridge University Press; 2 edition (June 30, 2009)
公式HP
ダウンロード
分野: 経済学

書名: Automate the Boring Stuff with Python, 2nd Edition: Practical Programming for Total Beginners
著者: Al Sweigart
出版社: No Starch Press; 2 edition (November 12, 2019)
公式HP
分野: プログラミング言語のPython


書名: Elementary Number Theory: Primes, Congruences, and Secrets: A Computational Approach
著者: William Stein
出版社: Springer; 2009 edition (December 3, 2008)
公式HP
ダウンロード
分野: 初等整数論

書名: Introduction to Applied Linear Algebra: Vectors, Matrices, and Least Squares
著者: Stephen Boyd & Lieven Vandenberghe
出版社: Cambridge University Press; 1 edition (August 23, 2018)
公式HP
ダウンロード
分野: 線形代数とその応用

合計8冊を紹介しました。

作成: 藤原大樹
更新: 2020年4月18日

宇野常寛『遅いインターネット』(幻冬舎、2020)書評をアップしました

浅野直樹です。

 

宇野常寛『遅いインターネット』(幻冬舎、2020)の書評をアップしました。

 

遅いインターネット|書評|京都アカデメイア

 

話題になっている本の割にはまとめや要約が見つからなかったので、その部分に力を入れて書きました。

 

 

【イベント】「話題の本がわかる!」第5回『未来への大分岐』&『未完の資本主義』 

京アカイベント「話題の本がわかる!」第5回イベントを開催します。
今回扱うのは、マルクス・ガブリエルほか著『未来への大分岐:資本主義の終わりか、人間の終焉か?』(斎藤幸平編、集英社新書、2019年)とポール・クルーグマンほか著『未完の資本主義:テクノロジーが変える経済の形と未来』(大野和基編、PHP新書、2019年)です。

日時:2月15日(土) 17:00~19:00
場所:左京西部いきいき市民活動センター(京阪出町柳駅徒歩5分)
※参加無料・予約不要

資本主義の未来を読み解こうとするこの2冊、いずれも世界の著名な経済学者へのインタビュー集として昨年話題になりました。スタイルは似ていますが、資本主義の未来を予想する点では対照的な内容になっています。『未来への大分岐』がポスト資本主義(資本主義に代わる新たな経済システム)を展望するのに対し、『未完の資本主義』はポスト資本主義という選択肢はありえないと、あくまで資本主義の継続を前提とした議論がなされています。
この2冊を比較しながら議論することで、21世紀の社会/経済の未来が見えてくることでしょう。

関心ある方はどなたでもご参加いただけます。本を読んでいない方の参加も歓迎です!紹介者は百木漠さんです。

 

 

 

 

 

 

 

〈話題の本がわかる!〉

「気になっていたけどまだ読んでいない」「読むの面倒くさいけど概要だけ知りたい」も安心してご参加ください。担当者による書籍内容の要約&ディスカッション形式で構成します。

野村幸一郎『京アニを読む』


 

 

 
 

 
 
 

京都アニメーションのスタジオ放火事件から3ヶ月が経ち、市内では今週末、亡くなった社員を追悼する「お別れ そして志を繋ぐ式」が開かれ、関係者や多くのファンが訪れました。
あらためて、亡くなられた方々の死を悼むとともに、傷ついたすべての方の傷が癒えることを祈るばかりです。

教養としてのアニメ

今回の事件で多くの人が、とりわけ若い世代が大きなショックを受けた理由は、同社の手掛ける作品が、受け手である彼女/彼ら、あるいは私たちの生活の中で日々感じている葛藤や悩み、苦しみに届き、ヒントを教えてくれるものだったからではないでしょうか。 続きを読む

話題の本がわかる! Vol.03 『ヤンキーと地元』振り返り

 

6月29日、京都・左京西部いきいき市民活動センターにて「話題の本がわかる! 」イベント第3回を開催いたしました!

話題の本の要約を紹介し、「気になっていたけどまだ読んでいない人」にも参加してもらえるというこの企画、今回は、今年刊行された打越正行さんの『ヤンキーと地元』(筑摩書房、2019)を取りあげました!

打越さんは、「暴走族のパシリ」として参与観察を始めた社会学者。本書は、沖縄の若者たちの取材から、その生活世界を記述した労作です。

「ヤンキー」といえば、京アカではかつて斎藤環さんの『ヤンキー化する日本』を「批評鍋」イベントで取りあげています。しかし、「バッドセンス」や「ノリと気合い」といった「ヤンキー」的文化に焦点を当てた斎藤本とは、今回はまた全然異なる切り口。「ヤンキー」といえば家族や仲間の絆を尊ぶイメージをもたれることがありますし、沖縄という土地もまた「ゆいまーる」の語に象徴されるようなユートピア的イメージをもたれがちですが、本書では、沖縄の若者たちにとってたしかに切り捨てがたい地盤でありながら、けっしてユートピアでもなく優しいものでもない「地元」の世界が明らかにされていきます。

 

要約担当は村田。要約といっても、個々のエピソードや具体的な記述が面白い本であるのでなかなか難しかったのですが、雨にもかかわらず皆さん集まっていただき(新規の参加者も!)、議論(や雑談)が弾みました。本の具体的なエピソードについての談義、参与観察という方法についての談義、「本書がこれほど話題になったのはなぜなのか?」「ヤンキー論として、また沖縄論として、どの点が新鮮な発見であるのか?」という話、などなど。

当イベントは続く予定であるので、参加者のみならず、要約担当も引き続き募集中です! 気になっている本を読んでみる機会とするのもよいかと思います。

私もこの機会に、ずっと気になっていた本が読めてよかったです。レジュメを作るにあたっては、関連本も読み直したり新たに読んだりしました。新たに読んだものとしては、特に、暴走族の参与観察として有名な『暴走族のエスノグラフィ』(佐藤郁哉、新曜社、1984)が面白かったです。若者の金銭的・時間的豊かさという観点から暴走族を分析しているくだりは、80年代当時と現代との違いを思うなどしました。

 

 

 

 

立川武蔵『仏教原論 ブッディスト・セオロジー』:仏教のアップデートに向けて

 

 

 

 

 

 

 

 

トリヴィシャ(三毒)

激変する現代社会において私たちはどう生きるのか? この本質的な問いにかんして、椎名林檎の近作「鶏と蛇と豚」の回答はじつに鮮烈でした。

タイトルにある三匹の動物は、それぞれ人間の根本的欲望を表すといいます。
MVでは、半獣となった椎名林檎が東京に降り立った三獣(鶏・蛇・豚)を掌握するという筋書。作品のメッセージは、欲望の徹底肯定であり資本主義経済の全面肯定です。★1

続きを読む

小熊英二『日本社会のしくみ』「ベテラン非正規と高校生の時給は同じでいいか」の考察

上記リンク先の「ベテラン非正規と高校生の時給は同じでいいか」の記事を最初に読んだときにもやもやして、小熊英二『日本社会のしくみ』(講談社、2019)を読んでからもう一度その部分を読んでもすっきりしませんでした。そこで以下で自分なりに考察して整理してみます。

 

小熊英二『日本社会のしくみ』で主に比較対照されている3つの国に当てはめるなら、回答①が日本、回答②がアメリカ、回答③がドイツということになるでしょう。もっとも、本書の第3章で述べられているドイツの姿からすれば、「賃金については、同じ仕事なら基本的に女子高生と同じなのが正しい。だが、同じ職種の中で職歴が長くて熟練度が高くなれば賃金も高くなる。また、早期から職種を意識した教育をすべきだ。」という回答になるはずです。

そのドイツ的な回答では、シングルマザーと女子高生が同じ仕事をしているのかどうかが問題となります。勤続10年であれば当然業務に習熟していると想定されますが、熟練度があまり求められない単純作業に従事しているのかもしれません。そして仮に単純作業に従事しているとしても、顔なじみの顧客がいるなどして売上に貢献しているといった可能性もあります。

本書の終章でこの「ベテラン非正規と高校生の時給は同じでいいか」問題が提起される直前で紹介されている、エスピン-アンデルセンの福祉レジーム論に当てはめるなら、福祉の担い手として、回答①が家族、回答②が市場、回答③が政府、をそれぞれ重視するという分類になります。この場合は、回答①が日本、回答②がアメリカ、回答③がスウェーデンといったところでしょうか。

いずれにしても、本書の著者も「戦後日本の多数派が選んだのは、回答①であった」(p.578)と述べているように、回答①がこれまでの日本のしくみだと読むべきなのでしょう。

しかし、これまでの日本のしくみで「年齢と家族数にみあった賃金」を得られるのは男性正社員(「大企業型」)だけであり、非正規のシングルマザーはそうではありませんでした。

この非正規のシングルマザーが「地元型」であれば、先祖から受け継いだ土地や持ち家があり、自分の親(子どもにとっての祖父母)や近所の人たちから有形無形の支援を受けられるので、女子高生と同じ賃金でよいという回答になりそうです。

この非正規のシングルマザーが「残余型」であれば、土地や持ち家、親族や近所の人たちからの支援などが期待できないため、女子高生と同じ賃金では苦しい、というのが現在日本が抱えている問題です。「大企業型」は過去数十年でほぼ一定であるのに対し、「地元型」が減ってその分「残余型」が増えたというのが本書の大きな見取り図でした。

「地元型」か「残余型」かという問いとも関連して、このスーパーが個人商店なのか大規模チェーン店なのかという要素もあります。後者であって本部だけが大儲けしているのであれば、対立軸はこのシングルマザーと女子高生との間にあるのではなく、末端の従業員と本部の従業員との間、あるいは労働者と資本家との間にあると考えるべきでしょう。個人商店であっても経営者が自分だけ楽をして大きな利益を得ているなら、やはり労働者と資本家との間の溝が大きいと言わざるを得ません。

ここから派生して、シングルマザーと女子高生の「同じ賃金」というのが、同じ時給800円なのか、同じ時給1600円なのかでは話が大きく違ってきます。時給800円といった生活していくのがやっとの賃金水準はマルクスが分析した労働者の賃金そのものです。

また、この非正規のシングルマザーが上から押し付けられる命令に従って業務をこなすだけなのか、それとも採用や経営方針の決定にも参与しているのかということでも話は違ってきます。もっとも、自分がこの女子高生の採用や賃金を決めたのであれば、なぜ同じ賃金なのかと質問することはないでしょうが。

このように整理してようやくすっきりしました。

本書の著者は、この問いを考えて周囲の人たちと話しあって自分の結論を作っていってほしいと読者に向けて書いています(p.580)。それを実践してみました。

浅野直樹