「Pythonをコーディングする喜びは、読者を死に追いやる些細なコードではなく、少量の明確なコードで多くのアクションを表現する短く、簡潔で読みやすいクラスを見ることです。」
グイド・ファン・ロッサム
Pythonは、書きやすく、読みやすいプログラミング言語です。 言語を深く掘り下げ
、 CS Centerのすべての機能の使用方法を理解するため
に、 CS Centerの
秋コースの 13の講義を提供しています。 講義は、JetBrainsの開発者でコンピューターサイエンスセンターの教師である
Sergey Lebedevによって行われます。
プログラミング言語を習得するために構文を習得するだけでは十分ではありません。言語のイディオムを理解し、その使用方法を学ぶ必要があります。 コース中、セルゲイは生徒にPython言語のイディオムと可能性を紹介します。
写真は、2014年の秋にストラスブールで撮影されました。このコースを初めて読む2週間前です。コース講義
YouTube
のプレイリストにあるすべての講義のビデオ。
誰が、いつ、なぜPython言語を発明したのか。 言語通訳。 鳥瞰図からの言語構文。 IPythonインタラクティブシェル。
関数宣言の構文。 引数のパックとアンパック。 キー引数とデフォルト引数。 開梱および割り当て演算子。 スコープ、LEGBルール、
globalおよび
nonlocal 。 関数型プログラミング、匿名関数。
map 、
filter 、および
zip関数。 リスト、セット、辞書のジェネレーター。 PEP 8について少し。
デコレータの構文。 引数あり、引数なしのデコレータ。 デコレータの使用例。
functoolsモジュール。
文字列リテラルと生の文字列。 文字列とユニコード。 文字列を操作する基本的な方法。 モジュール
string 。 バイト エンコーディング ファイルとファイルオブジェクト。 ファイルを操作する方法。
ioモジュール。
また、組み込みのコレクション:タプル、リスト、セット、辞書-詳細なウォーク、メソッドの概要、例。
collectionsモジュールに関するほとんどすべて:名前付きタプル、カウンター、
defaultdict 、
OrderedDict 。
クラス宣言の構文。 属性、関連メソッドおよび非関連メソッド
__slots__ 、
__slots__ 。 静的メソッドとクラスメソッド。 プロパティ、@ propertyデコレータ。 継承、メソッドのオーバーロード、およびスーパー関数。 クラスデコレータ。 魔法の方法。
例外、それらが必要な理由、およびそれらの処理方法。 組み込み例外と基本クラス
BaseExceptionおよび
Exception 。
try...except..else..finally 。 コンテキストマネージャーと
contextlibモジュール。
2つのイテレータプロトコル:
__next__ +
__iter__および
__getitem__ 。 反復子と
forループ、および
not in演算子と
not in演算子。 ジェネレーター、
yield 。 イテレータ、コルーチン、コンテキストマネージャなどのジェネレータ。
itertoolsモジュール。
モジュール
importおよび
from ... importステートメント。 パッケージ。 相対および絶対インポート。
__init__ -facade。 繰り返しになりますが、
importステートメントは詳細な説明です。
記述子:どうして? コンストラクター
__new__ 、
typeクラス、およびメタクラス。 組み込み型の継承。
abcおよび
collections.abcモジュール。
テストする理由 通訳者テストとdoctest。
unittestモジュール。
py.testパッケージは1桁優れています。 プロパティテストと
hypothesisパッケージ。
timeit 、
cProfileおよび
line_profilerを使用したPythonコードランタイムの測定。 NumPyについて少し。 NumbaおよびCythonを例として使用したPythonコードのJITおよびAOTコンパイル。
モジュール
threading 、
queue 、
concurrent.futures 。 Pythonでの並列コンピューティングのためのスレッドの使用。 ギル 並行性と競争力。
asyncioモジュール。
multiprocessingモジュール。
次は何ですか
このコースの実用的なタスクは、CSセンターの学生のみが利用でき、学生
は年に1回春に
募集されます。 何らかの理由でセンターでトレーニングを受けられない場合は、コースのビデオを見るのをやめるのではなく、Pythonで日常の課題を解決することをお勧めします。
さまざまな言語について、
Awesome Java 、
Awesome R、 Awesome C ++などの優れたライブラリのリストがあります。 もちろん、そのようなリストは
Pythonにも
当てはまります。 次にデータベース、ログ、または画像分析を操作するためにライブラリが必要になったときは、リストの適切なセクションに進んでインスピレーションを得てください。