前述の通り、変数や関数で型を明示しない。ようなプリミティブ型は存在せず、全ていずれかのクラスに属する。データを抽象的に表したものです。プログラムにおけるデータは全て、オブジェクトまたはオブジェクト間の関係として表されます。https://docs.python.org/ja/3/reference/datamodel.html#objects-values-and-types型はtypeで確認できる。'bool'>動的型付けなので、意図しない型が実行時に渡される可能性がある。型でその演算がサポートされていない場合は、実行時に例外が発生する。int解決するためにはキャストする。やってる方には抵抗感あるんじゃないでしょうか。(今のところ小さなプログラムしか書いてないので大きなことは言えませんが)型推論してくれれば文句なしですね。クラス宣言classでクラスを作成できる。passMyClass()クラス変数クラス変数もある。インスタンス間で共有される。./run.pyhellogoodbyeインスタンス変数インスタンス変数もある。インスタンスにアクセスする特別なキーワード(this)は存在しない。メソッドの第一引数からインスタンスが参照できる。引数は慣習的にselfとすることが多い。初期化は__init__で行う。./run.pyhellogoodbye-------hellogoodbyeインスタンスにアクセスするためにselfを利用するのは少し違和感があるが、インスタンス変数であることを明示できる/親子クラス間でオーバーライドがあったときにも明示できる/インタプリタ上の都合、という様々な理由からこうなっている。明示しなければならないのですか?を参照してください。インスタンス変数は動的に追加できる。./run.pyOops防ぎたければ__slots__を設定する。'msg'メソッドと関数メソッドと関数は区別されている。メソッドだけが第一引数にインスタンスが設定されて呼び出される。多くのグローバル関数が定義されている。リストの長さはlen(list)だし、フィルタはfilter(list)。3]リストにはこういった操作をするメソッドがない。標準ライブラリにはメソッドチェーンをするものも少ない。x)list(x)なぜこうなっているかというと、一目見たときに処理の目的が直感的にわかるかららしい。)まあ適材適所なんでしょう。プライベート変数がないプライベート変数はない。_をプライベート相当として扱う慣習がある。コードが従っている慣習があります。APIとして扱います。これらは、予告なく変更されるかもしれない実装の詳細として扱われるべきです。名前のマングリング__(アンダースコア2こ)は名前をマングリングする。変な修飾名に変換されるだけで、アクセス制御の仕組みではない。DerivedClassName(BaseClassName):の形式。インタフェースのデフォルト実装以降は多重継承っぽいし、驚くことはないと思う。Java8のインタフェース実装から多重継承とMixinを考える多重継承は次のように行う。passD().hello()図示するとこのようになる。いうアルゴリズムを使っている。__mro__で解決順序が出るので、これを手掛かりにするとよい。Orderを参照してください。オーバロードはないオーバロードはできない。同名関数が多重に定義された場合、後ろが有効になる。利用用途はトランザクション管理やログ管理などの横断的な関心事をロジックから分離するのに使う。アノテーションを処理する箇所が言語仕様上、明らかになっている。使ってるときに良くあった「アノテーション処理してる所どこだよ!」という苦痛を味わわなくて済みます。これ本当に、最高じゃないでしょうか!詳細はPythonのデコレータについてを参照してください。プライベート変数がない。そのため、setterがあるのに別の経路から値を書き換えることができる。./run.py2それを防ぐことができる仕組み。@propertyや@v.setterを付けるとgetter/setterの利用を強制できる。MyClass(2)またビルトイン関数に対する関数も定義できる。標準ライブラリが外部ライブラリに対しても動作するのは、これが理由。オブジェクトのメソッドや変数を一覧表示できる。例外はそこまで変わらないように思う。例外キャッチができる。break...Oops全てキャッチする場合(catch(Throwable)的な)はexcept:にする。複数の例外をキャッチするexcept句も書ける。NameError):例外スローはraise。print(e)...Oopsクリーンアップ処理はfinally。print("cleanup")...Oopscleanupwithクリーンアップ処理を強制的に行わせる方法。この仕組みを簡単に自分で作れる。CONTEXTいい感じですよね。標準ライブラリ充実してます。バッテリー同梱だそうです。標準ライブラリを参照してください。docstring関数やクラスにドキュメントを記載できる。'helpで表示されるのはコレ。ドキュメンテーション文字列や[Python]可読性を上げるための、docstringの書き方を学ぶ(NumPyスタイル)を参照してください。ドキュメントが生成できる。ドキュメント生成とオンラインヘルプシステムモジュールプログラムを分割して管理できる。分割したモジュールはimportで読み込む。モジュール内の関数はモジュール名.関数名でアクセスできる。2))モジュールをインポートするときに、別名をつけられる。..を利用すると、モジュールを直接参照できる。*)のは絶対にやめるべき。Python』にも書いている。those!モジュールは-mオプションで実行できる。"__main__":というイディオムが使われる。calc3様々な標準モジュールが存在する。次のようにすれば、カレントディレクトリでhttpサーバを起動できる。...外部ライブラリも山ほどある。これはpipなどでダウンロードできる。int64モジュールの検索パスはsys.pathで表示できる。インストールされたモジュールも上記のパスに格納される。新しいものがバンバン出る。使えば、Pythonバージョンからライブラリバージョンまでをファイルで一元管理できる。相当のことはできます。人間のためのPython開発ワークフローこれまでの経緯はPythonのパッケージ周りのベストプラクティスを理解するが詳しい。対話型インタプリタで済ましてる。紹介サイトも色々あるのでそちらを参考に。