text: 同時に任意の型ヒントを持っており外部ツールによる静的型チェックを可能にしている。値自身が型を持っており、変数はすべて値への参照である。基本的なデータ型として、論理型・整数型・浮動小数点数型・複素数型・文字列型・バイト列型・関数型がある。整数型は（メモリの許す限り）無制限の桁数で整数計算が可能である。浮動小数点数型を整数型にキャストすると、小数点以下が切り捨てられる。組み込みのコンテナ型として、リスト型、タプル型、辞書型、集合型がある。リスト型および辞書型はミュータブル、タプル型はイミュータブルである。集合型には変更可能なものと変更不能なものの2種類がある。タプル型とリスト型は、多くのプログラミング言語では配列と呼ばれるものに類似している。しかし、Pythonではタプル型は辞書のキーとして使うことができるが、リスト型は内容が変わるため辞書のキーとして使うことはできないという理由から、これら2つの型を区別している。多くのオブジェクト指向プログラミング言語と同様、Pythonではユーザが新しく自分の型を定義することも可能である。この場合、組み込み型を含む既存の型を継承して新たな型（クラス）を定義する事も、ゼロから全く新しい型を作り出す事も出来る。Pythonは基本的にメソッドや関数の引数に型を指定する必要がない。そのため、ダック・タイピングという、内部で必要とする演算子やメソッドに対応していれば、関数やオブジェクトの設計時点で意図していなかったオブジェクトを引き渡すことも可能である。型ヒント  Pythonは型ヒントの構文を用意している。これはプログラマ向けの注釈および外部ツールによる静的型チェックに用いられる。例として、文字列型の値を受け取って文字列型の値を返す関数は次のようにアノテーションできる。def greeting(name: str) -> str: return 'Hello ' + name メモリ管理  Pythonはガベージコレクションを内蔵しており、参照されなくなったオブジェクトは自動的にメモリから破棄される。CPythonでは、ガベージコレクションの方式として参照カウント方式とマーク・アンド・スイープ方式を併用している。マーク・アンド・スイープ方式のみに頼っている言語では、オブジェクトがいつ回収されるか保証されないので、ファイルのクローズなどをデストラクタに任せることができない。