知ったつもりでは怖いPython。JuneホームPython♪の学習とホームページ作成のブログ知ったつもりでは怖いPython。2018.06.30目次Python制覇か?(あとは必要になったら覚えよう)Python制覇宣言の取り消し理由わかったつもりでは、書籍を読むのに時間がかかる。わかったつもりでは、怖いミスをしそう。Python制覇か?(あとは必要になったら覚えよう)私はあまり深い機能は使わないので、以下の(1)~(4)の基本コマンドだけ調べて、少し長めのプログラムを組んでみました。だいたい、どの言語でも以下の(1)~(4)がわかれば、プログラムの心臓部はかけると思います。関数、クラス「配列はリストを使うんだな~。あれ、多次元配列の宣言、面倒。「きちんとプログラムかかないと、入力と出力があまり明確じゃないな~。後で読み返すのが大変そう。「細かい書式を無視すればグラフの出力が簡単!変数の内容を見たいときは便利だな~!」などと考えながら、プログラム完成。基本的な機能を理解するだけで十分に使える言語だと思います。難しいことは考えず、自分が必要な部分から(のみ)使ったのでよいと思います。私の場合、以下の(1)(2)の理由から、Python制覇宣言を取り下げて、Pythonの基本的な事項をもう少し勉強をしてみようと思います。わかったつもりでは、書籍を読むのに時間がかかる。2という衝撃的な代入法や、lambda式など便利な機能がたくさんあり、例えばディープラーニングの書籍には、これらの機能が使われています。2ならば「代入してるんだな」とわかりますが、lambda式だと調べなければわかりません。これが面倒くさい!しかも、知識が浅いので。どれがコマンド名でどれが関数名なのかがピンとこない。b=2でよいし、lambda式も関数を使えばいいから困らないけど、もっと書籍をサラサラ読めるようになりた~い。わかったつもりでは、怖いミスをしそう。bにaを代入し、コピー元(a)を変えるとコピー先(b)も変わってしまうのです。怖すぎると思いませんか?私が作ったプログラムも、チェックしなければ間違えてるかもしれない。[2]自分のコードをチェックすると、古典的な言語しか知らない私は以下の様な書き方をしていたので問題はありませんでした。aの様な代入は使っていません。そもそも、私はこの様なミスを考えなければならないレベルにすら到達していなかったわけです。Pythonの良さを引き出した短いコードを作成しようとすると、大けがをする可能性がありますので注意が必要です。[1]代入では「参照渡し」「浅いコピー」「深いコピー」の違いを理解する必要があります。ちなみに「コードa」のb=aは「参照渡し」です。こんな違いがあるのは私のような初心者には恐怖です。代入するたびに、どのコピーなのかを気にしなければならないのです。こんなことでは、安心してコードを記述することができません。この「参照渡し」「浅いコピー」「深いコピー」という考え方は、JAVAにもあります。ExcelのVBAでも、動的配列にコピーすれば、「深いコピー」ができるらしいのです。別にPythonが悪いわけではないのです。私の知識不足なのです。つまみ食いではなく、この機会に基本事項ぐらいはさらりと、勉強しないといけませんわね!おほほほほ~。参考記事:「参照渡し」「浅いコピー」「深いコピー」に関する記事を集めました。それぞれががどんな結果になるかを、理屈抜きで知りたい方は、記事c)を参考にしてください。コンピューターの変数の記憶には、参照先のアドレスが利用される。変更可能体と変更不能体はidに注目。浅いコピーなどの理解に役立つ。「参照渡し」「浅いコピー」「深いコピー」まずは、理屈抜きで覚えよう。June関連記事PythonPython♪本当は変数には参照先のアドレス(id)しか入っていない変数aに整数3を代入するとは、aという名前の箱に整数3を入れるようなイメージですが、実際にはそうではありません。整数オブジェクト3が別のところに独立して生成され、変数aには整数オブジェクトの保存先のアドレス(id)のみが記述されます。global宣言とnonlocal宣言は同じ関数の中で同時に行えるのか?などなど、...PythonPython♪「参照渡し後の要素の変更」と「参照渡し後の再定義」の違い関数の引数や、関数内からのグローバル変数の参照などは「参照渡し」の考え方が用いられています。この様に参照渡しは様々なところで使われているため、参照渡しが理解できていないと思わぬミスをしてしまいます。この記事では、「参照渡し」だけに注目し、...PythonPython♪基本:Pythonのインデントと命令文の影響範囲Pythonでは、プログラムの命令文の実行の順序や影響範囲を示すのに「インデント」を使います。「インデント」とは文のはじめの空白のことです。改行のように通常の文字列では表現できないものも「\n」といった文字列で記述することができます。意外に難しい「コンテナ」「シーケンス型」「イテラブル」「整数型」「ミュータブル」「イミュータブル」などの分類を整理し、覚え方を紹介します。Pythonのチュートリアルやドキュメントを読むとき、これらの用語が理解できないと読み進められません。この機会に頭の中を整理しましょう。Studioが遅いときの対策2020.01.11Kotlin♪環境設定「HAXMがインストールされていません」2020.01.052020.01.08Python♪FEM:部材座標系の要素剛性マトリクス2020.01.04Kotlin♪スマホアプリの言語は、Kotlin、Java、C#、Dart?2020.01.012020.01.13スポンサーリンクスポンサーリンク。