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