Pythonの文字列は文字を要素とするシーケンス型です。シーケンス型は要素が順番に配置されたデータ構造であるため、インデックスによって特定の文字を取得したり、インデックスの範囲を指定して文字の集合を取得したりできます。
>>> ch='abcde' >>> print("ch[0]=",ch[0],"ch[-1]=",ch[-1]) ch[0]= a ch[-1]= e
index は整数であり、0 から lne(str)-1 までの範囲を超えることはできません。それ以外の場合はエラーが発生します。
>>> len(ch) 5 >>> ch[5] Traceback (most recent call last): File "<pyshell#4>", line 1, in <module> ch[5] IndexError: string index out of range
文字列を逆順に出力します
def resstr(ch): mid=len(ch) for c in range(mid): print(ch[mid-1-c],end='') >>> resstr('abcde') edcba
sbの準備 文字列を反転した後は、文字列を変更できません。エラー メッセージ: 'str' オブジェクトは項目の割り当てをサポートしていません
文字列シャーディングは、指定された文字列から文字列の一部を分離することです。次の形式でインデックスを付けることができます。i、j、k
i は開始位置、j はインデックスの終了位置ですが、位置 j の文字列は含まれません。インデックス番号の各増加のステップ サイズは、0 から len(str)-1 までの k
>>> s="hello world" >>> print(s[0:len(s):2]) hlowrd >>> print(s[1:len(s):3],end='---') eood---
index インデックスです。負のインデックスを使用し、範囲は -n ~ -1 です。負のインデックスの開始位置は文字列の末尾です。
st='asdfg' print(st[-1:0:-1]) gfds
文字列フラグメントのインデックス、インデックスiの開始位置、インデックスjの終了位置、ステップサイズkは省略可能です。iを省略した場合は0または-1から開始され、 j が省略されると、最後の文字列で終了します。k が省略されると、ステップ サイズは 1 になります。
st='asdfghjk' print(st[:0:-1]) print(st[2::2]) print(st[0:5:]) kjhgfds dgj asdfg
文字列関連の操作では、接続操作、論理操作、文字列処理関数を実行できます。
st1='abc' st2="def" print("{0}+{1}={2}".format(st1,st2,st1+st2)) print("{0:s}*5={1}".format(st1,st1*5)) abc+def=abcdef abc*5=abcabcabcabcabc
文字列メソッド
文字列は不変であり、文字列が変更されると、新しい文字列がクラスとして返されます。
st1='abcDEF' print("{0:s}.upper()={1:s}".format(st1,st1.upper())) print("{0:s}.lower()={1:s}".format(st1,st1.lower())) print("{0:s}.swapcase()={1:s}".format(st1,st1.swapcase())) abcDEF.upper()=ABCDEF abcDEF.lower()=abcdef abcDEF.swapcase()=ABCdef st1='abcDEFasde' print("a count={0}".format(st1.count('a'))) print("{0} start with {1} is {2} ".format(st1,'abc',st1.startswith('abc'))) print("{0} end with {1} is {2} ".format(st1,'de',st1.startswith('de'))) a count=2 abcDEFasde start with abc is True abcDEFasde end with de is False st1=' abcDEFasde' print("{0} replace 123 :{1}".format(st1,st1.replace('abc','123'))) print( "{0} remove {1} left char---{2}".format(st1,' ',st1.strip())) abcDEFasde replace 123 : 123DEFasde abcDEFasde remove left char---abcDEFasde
文字列メソッドが多すぎるので、これ以上は説明しません。面白くないからです。
バイトオブジェクト
Pythonでは、バイトは文字列とは異なり、変更できない一連のUnicode文字で構成されるシーケンスを文字列と呼びます。 0 ~ 255 の間の不変エンコーディングを持つ一連の文字列で構成されるシーケンスは、バイト オブジェクトと呼ばれます。
by=b'abc &' print(type(by)) print("length=",len(by)) <class 'bytes'> length= 5
文字列の前に「b」を追加して、バイト オブジェクトを定義します。各文字列には ASCII 文字などを使用できます。バイト オブジェクトの長さを計算するには、len() 関数を使用できます。
ch=input('输入几个数字逗号隔开:') d=ch.split(',') print(d) sum=0 for num in d: sum+=float(num) print("ths sum=",sum) 输入几个数字逗号隔开:2.2,3.3,5.5,6.8 ['2.2', '3.3', '5.5', '6.8'] ths sum= 17.8
関連する推奨事項:
以上がPython 文字列に関する簡単な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。