1.作成
s1 = 'lenovo'
s2 = "QF"
s3 = """hello lenovo"""
s4 = '''hello world'''
s5 = """hello
shark
"""
s6 = '''hello
world'''
2.使いやすい
1. \エスケープ文字
証言=「このシャツは私に合いません」
words = 'hello \ nshark'
印刷(単語)
2. +スプライシング
> In [1]: file_name= "成功的21个信念"
>
> In [2]: suffix = '.txt'
>
> In [3]: file_name = file_name + suffix
>
> In [4]: file_name Out[4]: '成功的21个信念.txt'
連結は文字列と文字列でのみ実行でき、文字列と非文字列で追加することはできません
In [5]: '你好' + 1 ## 这会报错的 字符串不能和整形相加
3. *コピー
In [6]: "-" * 10
Out[6]: '----------'
In [7]: print('*' * 10)
**********
3.価値とスライス
1.文字列はPythonのシーケンスデータ構造です
- 保存されたデータは、その中で順序付けられます。
s1 =「サメ」
シーケンス型の特徴
-
シーケンスの各データは、シーケンスの要素と呼ばれます
-
要素にはシーケンス内で独自の位置があります。この位置はインデックスまたは
オフセットと呼ばれるもの、下付きとも呼ばれるもの、
0
最初から左から右へ昇順 -
シーケンスの各要素は、この要素のインデックスによって取得できます
-
シーケンス型データの複数の要素を取得するには、スライス操作で取得する必要があります
2.インデックスを作成して単一の要素を取得する
In [10]: s1 = "shark"
In [11]: s1[0]
Out[11]: 's'
In [12]: s1[-1]
Out[12]: 'k'
In [13]: s1[3]
Out[13]: 'r
3.複数の要素を取得するためにスライスする
3.1一般的な操作
#使用切片获取多个元素
In [15]: s1[0:3]
Out[15]: 'sha'
#起始和结尾的索引号可以省略
In [16]: s1[:3]
Out[16]: 'sha'
In [17]: s1[1:]
Out[17]: 'hark'
#索引可以使用 负数
In [18]: s1[2:-1]
Out[18]: 'ar'
In [19]:
次の操作はできません(右から左に移動できません)
s1 [-1:-3]
''
デフォルトのスライスはからの操作、インデックス番号を開始するには、左から右にされているので
-1
ノーインデックス番号の右側に-3
で-1
左
3.2ステップサイズを使用する
- ステップサイズは、カウントするたびに1を取ることを意味します
- ステップサイズが正の場合、演算は左から右に開始されます
- ステップサイズが負の場合、演算は右から左になります。
In [19]: s2 = 'abcdefg'
In [20]: s2[::2]
Out[20]: 'aceg'
In [21]: s2[::-1]
Out[21]: 'gfedcba'
In [22]: s2[::-2]
Out[22]: 'geca'
4つの文字列メソッド
1.シーケンスデータの長さを数える
これは、シーケンスデータの要素数を取得するためのもので、文字列、リスト、タプルなど、すべてのシーケンスタイプのデータに適用されます。
#获取字符串的长度,包含空格和换行符
In [25]: s3 = "a \n\t"
In [26]: len(s3)
Out[26]: 4
\n
改行文字
\t
はタブキーです
2.会員の判断
In [39]: line = 'Size: 8192 MB'
In [40]: if 'Size' in line:
...: print(line)
...:
Size: 8192 MB
注:空の文字列は常に他の文字列の部分文字列として扱われるため、
"" in "abc"
が返されTrue
ます。
3.strip()(、スペース文字列の両端の空白文字を除去するために\t
、\n
)
Out[41]: line = ' Size: 8192 MB'
In [42]: line.strip()
Out[42]: 'Size: 8192 MB'
4.split()分割
区切り文字として空白文字をデフォルト(スペース、
\t
、\n
)、と同じ理由のawkのシェル
In [47]: line
Out[47]: ' Size: 8192 MB'
In [48]: line.split()
Out[48]: ['Size:', '8192', 'MB']
In [49]: s
Out[49]: '\tab\n'
In [50]: s.split()
Out[50]: ['ab']
セパレータを指定できます
In [51]: line.split(':')
Out[51]: [' Size', ' 8192 MB']
In [52]: line.split(': ')
Out[52]: [' Size', '8192 MB']
5.strip()は、文字列の両端の空白文字を削除します**
In [71]: line = ' Size: 8192 MB'
In [72]: line.strip()
Out[72]: 'Size: 8192 MB'
strip()
返されるのは紐なので、連続操作が可能
In [73]: line.strip().split(': ')
Out[73]: ['Size', '8192 MB']
In [74]: line
Out[74]: ' Size: 8192 MB'
In [75]: k, v = line.strip().split(': ')
In [76]: k
Out[76]: 'Size'
In [77]: v
Out[77]: '8192 MB'
6.replace()置換
In [65]: line = ' <strong>10、命运在自己手里,而不是在别人的嘴里</strong></p>'
In [66]: line.strip() ## 先去除两端空白字符
Out[66]: '<strong>10、命运在自己手里,而不是在别人的嘴里</strong></p>'
In [67]: line.strip().replace('strong>', '') ## 将字符串 strong> 替换为空
Out[67]: '<10、命运在自己手里,而不是在别人的嘴里</</p>'
In [68]: line.strip().replace('strong>', '')[1:-6]
Out[68]: '10、命运在自己手里,而不是在别人的嘴里'
7.startswith()文字列が何で始まるかを決定する
In [85]: line = 'Locator: DIMM_A2'
In [86]: line.startswith("Locator:")
Out[86]: True
8.endswith()文字列が何で終わるかを決定する
In [87]: line = 'Size: 8192 MB'
In [88]: line.endswith('MB')
Out[88]: True