Python で文字列に変換する方法

C++ や Java とは異なり、Python 変数には明示的な型情報が含まれていません。文字列を必要とする関数を使用している場合は、例外をスローせずに他の型の変数を関数に渡すことができますが、コードが変数を処理しようとすると例外がスローされる場合があります。文字列に変換する必要がある唯一のデータ型は、セットやリストなどの複合データ構造です。 Python には、データ構造内の項目を反復処理し、文字列変数に文字を追加するための便利な関数と演算子が含まれています。
強力な動的型付け言語
C++ および Java では、コンパイラまたはランタイム環境がデータの処理方法を認識している必要があるため、すべての変数割り当ての前に型予約語が必要です。これらの静的に型付けされた言語は、可能であれば型キャストを使用して型を変換します。 Python は動的に型付けされる言語であるため、インタープリターは実行時に型を推測するため、必要に応じて変数に値を割り当てるだけです。以前は別の型として使用されていた変数に任意のデータ型を割り当てることができ、Python ガベージ コレクターは古い変数をメモリから削除します。
データ構造を文字列に変換する
プログラムがリスト、タプル、またはセットなどの複合構造でテキスト情報を収集する場合、データ構造をループして要素を文字列変数に追加できます。データ構造を反復処理する前に文字列変数を宣言する必要はありませんが、コードをより単純にすることができます。たとえば、次のコードは、リストを文字列に変換する最も基本的な方法を示しています:
UltimateQuestion ="" # 空文字列 "ultimateQuestion" を宣言
tokens =["What's ", 6, " times ", 9, "?"] # 空白を含む混合タイプのリスト
トークンの t の場合:UltimateQuestion +=str(t)
print(究極の質問)
for ループで使用される str メソッドは、整数を文字列にキャストし、既存の文字列には影響しません。このコードを Python インタープリターで実行すると、「6 かける 9 は何ですか?」というメッセージが出力されます。
組み込み文字列メソッド
ほとんどの高級言語と同様に、Python には組み込み文字列型に属する多くのメソッドが含まれています。 Python では、これらのメソッドを文字列リテラルから呼び出すことができるため、たとえば、リスト要素を連結するには、次の例のようにリスト変数を文字列リテラルの join メソッドに渡すことができます:
tokens =['Hello', 'World'] #空白なしの文字列トークン
pyString =' '.join(トークン)
印刷 (pyString)
このスクリプトは、空白文字だけの 1 文字の文字列である ' ' 文字列リテラルから join を呼び出します。各リスト要素の間に呼び出しオブジェクト (スペース文字) を挿入することで、「Hello」と「World」を「Hello World」に連結します。
Python 変数スコープの解決
他の高級言語と同様に、文字列変数を宣言して代入するときは、変数のスコープに注意を払う必要があります。関数またはループ内で文字列変数を宣言すると、プログラム内の他の場所では使用できなくなります。たとえば、Python インタープリターは、ループから戻った後に変数 "verticalList" を破棄します:
for g in groceries:verticalList +=g + '\n' # for ループ内で宣言された文字列
印刷(垂直リスト)
「verticalList」が for ループの範囲外で定義されていないため、このスクリプトは例外をスローします。