お世話になります。

pythonのドキュメントによると、以下のように書かれています。

Python で書かれたプログラムは パーザ (parser) に読み込まれます。パーザへの入力は、 字句解析器 (lexical analyzer) によって生成された一連の トークン (token) からなります。

このときの字句解析器 (lexical analyzer) によって生成された一連のトークンを取得する方法はありますでしょうか?

具体的には以下のようなコードの場合、

def function(foo):
    print(foo)

以下のような字句解析結果が取得したいと思っています。

"def","function","(","foo",")",":","print","(","foo",")"

以上、宜しくおねがいします。