Intermediate Python

✨ レベル

🕗 期間

💻 練習

中級

6~8ヶ月

300+のコーディング演習

Pythonの中級コースへようこそ!このコースでは、より高度な言語の機能と、それらを活用するためのベストプラクティスをたくさん学びます。このコースは、既にPythonの基礎を持ち、知識を深めてさらに高度なトピックを学びたい方のために設計されています。

1200px-Python-logo-notext.svg.png

このコースの終わりには、クラスの使い方を理解し、継承を自在に扱えるようになります。大規模なプロジェクトのコードを書くためのベストプラクティスを学び、コードの静的解析でエラーを検出するのに役立つtypingを使用します。デコレータを扱い、コードの量を大幅に削減できる独自のユーティリティデコレータを作成します。標準ライブラリのitertoolsとともにイテレータとイテラブルを議論します。ファイルシステムを操作するためにglobpathlibを使用します。特に、大量のI/Oやデータベース、ネットワークリクエストを扱う際に、async / awaitを使ってコードを最適化する方法を学びます。

💻 実践で学ぶ

このコースでは、実践を通して学びます!各コンセプトにはいくつものインタラクティブなチャレンジがあり、それらを解決して次に進みます。私たちは、手を動かして学ぶことが深い知識を得る最良の方法だと信じています。ここではカバーされるすべてのコンセプトを練習するための、多くの挑戦的で同時に興味深い演習があります。

あなたは自分のペースで学習できます。一週間でいくつかのレベルを一気に進めることも、ゆっくりと各コンセプトに時間をかけることもできます。

質問したり立ち止まったときに助けを得るフォーラムがあります。各チャレンジの下で他の人の質問に答えたり、自分で質問したりできます。

🎓 カリキュラム

このコースは、Pythonの核心的なコンセプトといくつかの高度な機能に焦点を当て、それぞれを直感的に紹介します。学習プロセスをより楽しく魅力的にするために、コンセプトはレベルごとに整理され、各レベルをクリアするごとに新しいコンセプトを習得したことになります。ここで取り上げる主な内容は以下の通りです:

高度な関数
  • 位置限定引数とキーワード限定引数

  • 再帰

  • 値渡しと参照渡し(可変な引数)

正規表現
  • 正規表現の基礎と応用

  • 検索とマッチング

クラス
  • クラスの定義

  • 属性の設定とアクセス

  • __init__コンストラクタ

  • クラス内でのメソッド定義

  • マジックメソッド

  • 公開変数と非公開変数

継承
  • ベースクラスからの継承

  • メソッドのオーバーライドによる機能の変更

  • super()を使った機能の拡張

  • 複数のベースクラスからの継承

カプセル化
  • プライベート変数

  • 保護された変数

  • Pythonがプライベートや保護された変数を実際にどのように扱うか

例外処理
  • raiseexcept

  • 例外の階層構造

  • カスタム例外の作成

モジュール
  • ライブラリの使用

  • ファイルシステム上のモジュール

  • モジュールの初期化

  • 変数、関数、クラスのインポート

ファイルシステム
  • ファイルの集合を扱うためのglob

  • 特定のファイルを扱うためのpathlib

  • ファイルの削除

  • ディレクトリ全体の再帰的な作成/削除

高度なクラス
  • クラス変数とインスタンス変数

  • 組み込みデコレータ(@dataclass@property@staticmethodなど)

  • 抽象クラス(ABCモジュール)

デコレータ
  • 関数のためのデコレータ

  • クラスのためのデコレータ

  • カスタムデコレータの作成

型ヒント
  • 組み込み型の型ヒント(intlistdictなど)

  • カスタムクラスの型ヒント

  • クラス内での型ヒント

  • 静的解析 - 達成できることとその限界

イテレータとイテラブル
  • イテレータ

  • ジェネレータ

  • イテラブル

  • itertools - cycle()repeat()chain()など

  • カスタムジェネレータの作成

  • カスタムイテラブルの作成

コンテキストマネージャ
  • カスタムコンテキストマネージャの実装

  • with構文の使用

  • デコレータとしてのコンテキストマネージャ

マルチスレッドとマルチプロセッシング
  • threadingパッケージ

  • カスタムスレッドクラスの作成

  • multiprocessingパッケージ

  • プールでの処理

  • スレッドやプロセス間でのデータ共有

asyncio
  • 関数のためのasyncawait構文

  • ファイル操作

  • ネットワークリクエストの処理

  • SQLAlchemyを使ったクエリ

  • asyncioとスレッド、プロセスの比較

まとめとプロジェクト
  • いくつかの指導付きプロジェクトで全体の内容を総括します。

  • 多くの検索と自主学習が含まれます。

  • タスクを自動化し、有用なライブラリを学びます。

🚀 ようこそ

学習の80%は個人の努力です!このコースを完了することはあなたの達成であり、私たちはその旅をサポートするためにここにいます。各演習の下部にあるセクションを使って、質問したり他の人を助けたりできます。