Day 6-まとめ

5559 ワード

一.認識文字列
1.文字列(str)とは
  • 文字列はコンテナ型データ型に属し、シーケンスとも呼ばれる.コンテナとして引用符(単一二重引用符でも可)を使用します.文字は要素
  • です.
  • 不変(文字個数、文字値と順序が可変)、秩序(文字の順序が異なると文字列の値が異なる)
  • .
    print('hello' == 'heoll')  #      ,False
    

    2.文字列の内容
  • 文字列の各基本単位は文字である.pythonには文字の概念がありますが、文字に対応するデータ型
  • はありません.
  • 普通文字:ex,アルファベット,数字,文字,記号
  • エスケープ文字:指定された記号の前にを付けて、特殊な機能または特殊な意味を持つ記号
  • を表す.
  • -改行t-タブ'-一重引用符"-二重引用符-反スラッシュ
  • 符号化文字列:uで4ビット16進符号化値を加算、1つの符号化値に対応する文字
  • を表す.
    str5 = '\u4eff'
    print(str5)    
    
  • 符号化:コンピュータが文字を格納場合、実質的に文字に対応する符号化値が格納され、各文字の符号化値は固定
  • である.
  • コンピュータ自体は、数字を記憶する能力のみであり、数字の符号化(バイナリ)文字と文字の符号化の一対一対応関係を符号化テーブルと呼ぶ.一般的な符号表はASCIIとUnicode表、pythonの文字はUnicode符号化(Unicode表はASCII表の拡張であり、世界のすべての言語記号を含む)中国語の符号化範囲:4 e 00-9 fa 5 chr(符号化値)--符号化値に対応する文字ord(文字)--文字の符号化値
  • を取得する
    num = 0                             
    for code in range(0x4e00, 0x9fa5+1):
        num += 1                        
        if num % 30 == 0:               
            print()                     
        print(chr(code), end=' ')       
    
  • エスケープをブロック:文字列の先頭にr/Rを追加すると、現在の文字列内のすべてのエスケープ文字エスケープをブロックできます
  • 注意:1つのエスケープ文字と1つの符号化文字の長さはいずれも1
  • である.
    str6 = r'\tabc
    123\u4e03' print(str6)

    二.文字列アクション
    1.文字の取得
    1.1個々の文字の取得
  • 1).構文文字列[下付き文字]-指定した下付き文字の
  • を取得します.
  • 2).説明文字列-文字列値、文字列変数、または結果が文字列の式[]-固定書き方下付き-下付きインデックス;文字列が決定されると、文字列内の各文字の位置が決定され、各文字は固定された下付き値に対応して文字の文字列内の位置を表す.下付き文字列の値は、0-(文字列の長さ-1);1-(-文字列長)下付き文字0は最初の文字、下付き文字-1は最後の文字
  • に対応する.
  • 3).注意:下付き文字は境界を越えてはいけません
  • 1.2部分文字の取得(文字列スライス)
  • 1)構文1文字列[開始下付き:終了下付き:ステップ長]-開始下付きから取得し、ステップ長を増やすたびに次の文字を取得し、終了下付きを取得するまで
  • .
  • 2)説明文字列-文字列値または文字列変数[]-固定書き方開始下付き、終了下付き-下付き値ステップ-整数
  • .
  • )注意a.終了後に対応する文字は永遠に取れないb.ステップ長が正である場合、開始後に終了するまで下付き文字を前後に取ると、開始後に下付き文字が終了後に対応する文字の前になければならない.そうでなければ、空の列を取って、ステップ長が負の場合、下付き文字を開始してから下付き文字を終了してから前に取る.この場合、下付き文字を開始するには、下付き文字の終了後にしなければならない.そうでなければ空欄cを取る.下標は境界
  • を越えることができる.
    str2 = 'hello+python'
    print(str2[-1:4:-1]) # nohtyp+
    

    1.3部分文字の取得
  • 1)省略ステップ長:ステップ長が1文字列[開始下付き:終了下付き]-開始下付きから終了下付きまで、移動後1つから
  • を取る
  • 2)省略開始下付き文字列[:終了下付き:ステップ長]/文字列[:終了下付き]ステップ長が正:最初の文字から後に取る;ステップ長は負で、最後の文字からprint(str 2[:-1])print(str 2[:-1:1]
  • を取得します.
  • 3)終了する下付き文字列を省略[開始する下付き文字列::ステップ長]/文字列[開始する下付き文字:]ステップ長を正とし、行き先から最後の文字を取り出す.ステップ長は負で、後ろから最初の文字print(str 2[0:]print(str 2[0::1]
  • )を取得します.
  • 4)下付き文字列を省略[::ステップ]/文字列[:]
  • 2.遍歴文字列
    2.1各文字を直接巡回する
  • for変数in文字列:サイクルサイクル中に変数が取得するのは、文字列内の各文字
  • である.
    for item in 'hello world':
        print(item)
    for item in 'hello world'[::-1]:
        print(item)
    

    2.2下付き文字列を巡回する
  • len(文字列)-文字列の長さ(文字の個数)
  • を取得します.
    str3 = 'hello'
    for index in range(len(str3)):
        print(index, str3[index])
    for index in range(-1, -len(str3)-1, -1):
        print(index, str3[index])
    

    三.文字列関連演算{{もじれつ:そうかんえんざん}}
    1.数学演算:+*
  • 文字列1+文字列2-2つの文字列を結合して新しい文字列
  • を生成します.
  • 注意:文字列は文字列に
  • しか加算できません.
  • 文字列N/N文字列-文字列はN回繰り返して新しい文字列
  • を生成する.
    print('abc'*3)
    

    2.比較演算
  • 比較的等しい:==,!=
  • 比較サイズ:>,=,<=
  • 文字列比較サイズ、比較文字列第1対の等しくない文字の符号化値のサイズ
  • print('ac' > 'aa') # True
    
  • 1文字が大文字か小文字か、中国語かなどを判断する...小文字:'a'<=文字<='z'中国語:'u 4 e 00'<=文字<='u 9 fa 5'数字:'0'<=文字<='9'1文字列中の小文字の個数統計1文字列中の漢字の個数統計アルファベットの個数
  • str4 = '   ? Hello ^_^; Oh~   !'
    count1 = 0
    for item in str4:
        if 'a' <= item <= 'z':
            count1 += 1
    print(count1)
    
    count2 = 0
    for item in str4:
        if '\u4e00' <= item <= '\u9fa5':
            count2 += 1
    print(count2)
    
    count3 = 0
    for item in str4:
        if 'a' <= item <= 'z' or 'A' <= item <= 'Z':
            count3 += 1
    print(count3)
    

    3.in/not in
  • 文字列1 in文字列2-文字列2に文字列1
  • が含まれているか否かを判断する.
  • 文字列1 not in文字列2-文字列2に文字列1
  • が含まれていないか否かを判断する.
    print('abc' in 'a2b3c') # False
    

    4.len()
  • len(シーケンス)-シーケンスの長さ(シーケンス内の要素の数)
  • を取得します.
    5.str(データ)-指定したデータを文字列に変換
  • すべてのデータは文字列に変換できます.データの外側に直接引用符
  • を付ける
    6.フォーマット文字列:文字列の変更部分をフォーマットプレースホルダで表す
  • 構文は、フォーマットプレースホルダの文字列%(フォーマットプレースホルダに対応する複数のデータ)%s-文字列のフォーマットプレースホルダ%d-整数のフォーマットプレースホルダを含む.Nf-小数のフォーマットプレースホルダ、小数の桁数%c-文字を拘束するフォーマットプレースホルダ(数字を文字'65-A'に変換可能)
  • name = input('  ')
    age = int(input('  '))
    message = '  %s,  %d ' % (name, age)
    print(message)
    

    7.文字列に関するメソッド
  • 文字列関数名()
  • 1)整列文字列.center(幅、塗りつぶし文字)文字列.ljust(幅、塗りつぶし文字)文字列.rjust(幅、塗りつぶし文字)文字列.zfill(幅)==文字列.rjust(幅,'0')
  • str1 = 'abc'
    print(str1.center(7, '*'))
    
  • 2)統計個数文字列1.count(文字列2)-統計文字列1の文字列2の個数
  • str2 = 'wwwwwwwfffffff'
    print(str2.count('w'))
    
  • 3)join関数文字列.join(シーケンス)-シーケンス内の要素を指定した文字列で接続して新しい文字列を生成します.シーケンスの要素は文字列
  • でなければなりません.
    print('*'.join('abc')) # a*b*c
    
  • 4)空白文字列を削除する.lstrip()-文字列の左側の空白文字列を削除します.rstrip()-文字列の右側の空白文字列を削除します.strip()-文字列の両側の空白
  • を削除します.
    str3 = '    sfa     '
    str3 = str3.lstrip()
    str3 = str3.rstrip()
    str3 = str3.strip()
    print(str3)
    
  • 5)文字列置換文字列.replace(文字列1、文字列2)-文字列の文字列1を文字列2
  • に置き換えます.
  • 6)文字列切断文字列.split(文字列1)-文字列を文字列1に従って切断すると、複数の小さな文字列を含むリスト
  • が表示されます.