Pythonを特定のディレクトリまたはvirtualenvを使用して仮想環境にインストールする方法を説明しました。Pythonを使ったスキル開発の手順を説明します。Pythonのインストールに加えて、以下のものが必要です。Amazon開発者アカウント。Alexaスキルの作成と設定に必要です。アマゾンウェブサービス(AWS)アカウント。Lambdaでスキルをホスティングするために必要です。Worldを作成します。先ほど作成したskillフォルダに、お好みのテキストエディターやIDEを使用してhello_world.pyという名前のファイルを作成してください。Worldの実装リクエストハンドラーAlexaサービスによって送信されたイベントに応答するには、カスタムスキルが必要です。Worldスキルに送信されたLaunchRequestに応答する必要があります。Pythonを使用すれば、リクエストハンドラーを作成するだけで済みます。リクエストハンドラーは受け取ったリクエストを処理して応答を返すコードです。このコードは受け取ったリクエストを正しいリクエストハンドラーを使用して処理し、応答を返します。Pythonでは、次のいずれかの方法でリクエストハンドラーを作成することができます。ask_sdk_core.dispatch_componentsパッケージの下にAbstractRequestHandlerクラスを実装します。このクラスにはcan_handleおよびhandleメソッドの実装が含まれている必要があります。詳細についてはハンドラークラスを使用した実装セクションで説明しています。インスタンス化されたスキルビルダーオブジェクトのrequest_handlerデコレーターを使用して、異なる受信リクエストのハンドラーとして動作するように関数をタグ付けします。詳細についてはデコレーターを使用した実装セクションで説明しています。Worldスキルの実装を通じて、まずハンドラークラスの使用方法、次に同じスキルをデコレーターを使用して作成する方法を説明します。どちらを使用してもかまいません。例外ハンドラーうまくいかないことが起こったときに、スキルコードで問題を正常に処理する方法が必要です。Pythonは、リクエストの処理と似た方法で例外処理をサポートします。クラスまたはデコレーターを選んで使用できます。以下の実装セクションで、例外処理の実装方法を説明します。スキルの記述には、クラスを使用した実装とデコレーターを使用した実装のどちらのオプションを使用してもかまいません。コード構造を良好に保つために、いずれかのオプションを選択し、スキル全体で常に使用することをお勧めします。最初にスキルビルダーオブジェクトを作成します。スキルビルダーオブジェクトは、スキルで入力されたリクエストの処理とカスタム応答の生成を担当するコンポーネントを追加するのに便利です。以下のコードをhello_world.pyファイルに入力するか貼り付けます。SkillBuilder()ハンドラークラスを使用するには、AbstractRequestHandlerクラスの2つのメソッドcan_handleおよびhandleを実装するクラスとして各リクエストハンドラーを作成する必要があります。can_handleメソッドは、リクエストハンドラーがリクエストに対して適切な応答を作成できるかを示すブール値を返します。can_handleメソッドは、スキルが前回のリクエストに設定したり、前回のやり取りで保存した、リクエストタイプやそのほかのアトリビュートにアクセスできます。Worldスキルで参照する必要があるのは、各ハンドラーが受け取ったリクエストに応答できるかどうかを判断するリクエスト情報のみです。以下は、スキルがLaunchRequestを受け取ったときに呼び出されるハンドラーを設定するコードのサンプルです。LaunchRequestイベントは、特定のインテントなしでスキルが呼び出された場合に発生します。以下のコードをhello_world.pyファイルの、前述のコードの後に入力するか貼り付けます。"ようこそ、アレクサスキルキットへ。こんにちは、と言ってみてください。handler_input.response_builder.response受け取ったリクエストがLaunchRequestの場合、can_handle関数はTrueを返します。handle関数は、基本的なあいさつの応答を生成して返します。以下は、スキルがHelloWorldIntentという名前のインテントリクエストを受け取った時に呼び出されるハンドラーを設定するコードのサンプルです。以下のコードをhello_world.pyファイルの、前述のハンドラーの後に入力するか貼り付けます。handler_input.response_builder.responsecan_handle関数は受け取るリクエストがIntentReqiestかどうかを検出し、インテント名がHelloWorldIntentの場合にTrueを返します。handle関数は、基本的な「こんにちは」という応答を生成して返します。以下は、スキルがビルトインインテントAmazon.HelpIntentを受け取ったときに呼び出されるハンドラーを設定するコードのサンプルです。以下のコードをhello_world.pyファイルの、前述のハンドラーの後に入力するか貼り付けます。