行。概要

文字列- は、検索された文字のリスト(またはシーケンス)です。特に大丈夫です。一連の文字全体が 1 つのオブジェクトとして扱われます。

文字とは、キーボードで 1 回のキーストロークで入力できるもの (文字、数字、バックスラッシュ、またはその他の文字) です。

 "Hello world!" のように、文字列にはスペースを含めることができます。

空の文字列とは文字数が 0 個の文字列です

Python は、引用符 (" ") またはアポストロフィ (' ') で囲まれたものを文字列として受け入れます。

Python では、文字列の型は str です。
 
覚えておく必要があります!
Python の文字列は不変です!


input ステートメントを使用して、文字列に新しい値を書き込むことができます。
s = input()

  のように、単純に文字列値を変数に割り当てることもできます。
s = 'Python'
とか、ぐらい
s = 「パイソン」


組み込み関数 len() を使用して文字列の長さを決定できます。

n = len(s)


文字列比較

文字列は数値と同じように相互に比較できます。どちらの線が大きいか小さいかを判断できます

文字列を比較する場合、 文字コードが比較されます。文字エンコードは数百ではないにしても、数十種類あります。この概念を理解する最も簡単な方法は、最も単純な ASCII の 1 つを理解することです (こちらをお読みください)。   ;

最新のエンコーディングでは、ロシア語と英語の文字は両方ともアルファベット順に配置され、数字も小さいものから大きいものへと進むことを理解する必要があります。
たとえば、ASCII コード表では、英語の文字「A」のコードは次のようになります。 - 65、文字「a」 - 97、数字「0」コード 48 があります。ロシア語の文字は、ASCII コード テーブルの拡張部分 (128 ~ 255 の番号) にあります。大文字は小文字よりも前に配置されます(つまり、コードが小さくなります)。

使用されるエンコード テーブルのほとんどでは、パターンは同じで、小文字は大文字より後、数字は文字より前、ロシア文字は英語より後です。
 
文字または文字列を比較する場合、Python は文字をそれぞれの序数値に変換し、左から右に比較します。

例: 「機関車」  < 「蒸気船」、単語の 5 番目の文字と「in」が異なるため< 「×」 。

線を部分に分割する

文字列を入力するときに任意の区切り文字ですぐに複数の部分に分割することが
できます。 これは、以前にも同じ行に複数の数値変数を入力したときに実行したことがあります。split() メソッドを使用して文字列を複数の部分に分割しました。デフォルトでは、文字列はスペースで部分文字列に区切られます。
このメソッドを使用すると、文字列をスペースなどの部分に分割できます。そして文字列の各部分を個別の変数に書き込みます。
 
s1、s2 = input().split()

この例では、スペースで区切られた 2 つの単語を入力すると、最初の単語は変数 s1 に格納され、2 番目の単語は変数 s2 に格納されます。

文字列の加算と乗算

文字列を追加できます。これには、記号「+」が使用されます。この操作は文字列の連結または連結と呼ばれます。
 
s = 「こんにちは」
s1 = 「世界」
print(s + s1)
画面に「Hello world」というフレーズが表示されます。 (引用符なし)。

Python は文字列と数値を乗算する操作を実装します。これは複数の加算を置き換えます。
 
s = "ワールド " + "ワールド " + "ワールド " + "ワールド "
  で置き換えることができます。
s = 「ワールド」 *4

行インデックスの参照

文字列内の各文字には番号 (インデックスと呼ばれます) があり、多くの言語では番号付けは常に 0 から始まります。
Python では、負のインデックスを指定できます。つまり行末から数えることになります
が。  
<本体>
文字列の長さを負のインデックスに加算すると、「標準」が得られます。文字の位置
について。  
覚えておく必要があります!
Python では、文字列自体が不変であるため、文字列内の 1 文字を変更することはできません。

文字列 S H e l l
インデックス S[0] S[1] S[2] S[3] S[4]
インデックス S[-5] S[-4] S[-3] S[-2] S[-1]

すべての文字を反復処理する

文字にはインデックスによってアクセスできるため、変数ループを使用してすべての文字を反復処理し、可能なインデックス値を取得できます。たとえば、文字列 s のすべての文字コードを表示するプログラムは次のようになります。 <プレ> range(len(s)) 内の i の場合: print(s[i], ord(s[i])) プログラムの説明:
1) len(s) 関数は文字列の長さを調べます。最初の文字のインデックスは 0 で、最後の文字のインデックスは len(s)-1 です。ループ変数 i は、0 から len(s)-1 までの値を順番に取得します。
2) 各行では、最初にシンボル自体が表示され、次にそのコードが表示されます。このコードは、組み込み関数 ord()
によって返されます。
同じ列挙をさらに短く書くこともできます。 <プレ> s の c の場合: print(c, ord(c)) このフラグメントでは、ループ ヘッダーがすべての文字 s をループし、変数 c に順番に配置します。

すでに述べたように、文字列を扱うときの Python の特徴は、文字列が不変オブジェクトであることです。つまり、文字列の個々の文字を変更することは
できません。
たとえば、次のステートメントは機能しません。 <プレ> s[5]='a' ただし、必要な変更を加えた文字から新しい行を作成することはできます。
 
タスク
入力文字列内のすべての文字 'a' を置き換えます。文字 'b' に。  <プレ> s = 入力() sNew = "" s の c の場合: c == 'a'の場合: c = 'b' sNew += c print(sNew)
このプログラムでは、ループは文字列 s のすべての文字を処理します。ループの本体では、変数 с の値をチェックします。シンボルがシンボル 'a' と一致する場合、それを置き換えます。 'b' を追加し、加算演算子を使用して新しい行 sNew の末尾に追加します。
このオプションはかなり遅くなります。

今後は、組み込みの文字列操作関数を見て、それをより速く行う方法を学びます。