ストリング
1.文字列(str)
コンテナ: "、" "、" ""、 "" "" ""コンテナの表現として、各独立したテキスト情報はその要素です(引用符内の各記号は文字列の要素です)
要素:引用符で囲まれた各記号は要素であり、文字列の要素は文字とも呼ばれます
文字列は不変です;順序付けられています(添え字操作をサポート)
2.キャラクター
Pythonには文字の概念しかなく、対応するデータタイプはありません。文字が必要な場合は、長さ1の文字列を使用して表現します
a。通常の文字-エスケープ文字を除くすべての文字は通常の文字です。通常の文字は文字列内のシンボル自体を表します
b。エスケープ文字-\と他の文字の形式で存在し、文字列内で特別な機能または特別な意味を持ちます
といった
\ n-ラインフィード(Enterキーを押すのと同じ)
\ t-水平タブ文字(タブキーを押すのと同じ)
'-一重引用符を意味します
"-二重引用符を意味します
\-バックスラッシュを意味します
\ u 4桁の16進数-4桁の16進数に対応する文字(コード化された文字)をコード値として表します
3.文字エンコード
1)計算に直接保存できるデータは数字のみであり、保存されるのは数字の補数です。
2)テキストデータを直接計算に保存する方法はありません。計算でテキストデータを保存する場合、実際には各テキストシンボルに対応する番号になります。
(コンピューターの場合、各テキスト記号は固定番号に対応します)、各テキスト記号に対応する番号はこの記号のコード値です
3)文字コード表:ASCIIコード表、Unicodeコード表
4.コード化された値の使用
1)コード文字:\ uコード値
2)chr(エンコーディング値)-指定されたエンコーディング値に対応する文字を取得します
3)ord(文字)-指定された文字のコード値を取得します
文字を取得する
文字列を取得するための構文は、リスト内の要素を取得するための構文と同じです。
1)文字列[添え字]-単一の文字列を取得します
- スペースはキャラクターです
- エスケープ文字は1文字です(エスケープ文字の長さは1文字です)
2)スライス
変数[文字列] [前の値:次の値:ステップ長]
3)文字列内のfor変数をトラバースします
関連する操作
計算:
-
+(2つの文字列がマージされて新しい文字列が生成されます)
-
* N(文字列がN回繰り返され、新しい文字列が生成されます
-
==または!=
print('abc' == 'abc') # age
print('abc' == 'acb') # False
- '>'、<、> =、<=(2つの文字列のサイズが比較されます。これは、等しくない文字の最初のペアのエンコード値のサイズです)
练习1:分别统计字符串中中文字符的个数和字母的个数
str3 = 'hsjj数据是2823竭尽所能SJJ==-2...数kkl'
count1 = 0
count2 = 0
for x in str3:
if '\u4e00' <= x <= '\u9fa5':
count1 += 1
elif 'A' <= x <= 'Z' or 'a' <= x <= 'z':
count2 += 1
print('中文:', count1, '字母:', count2)
练习2:判断一个字符串中是否有数字字符,有打印True, 没有打印False
'bans江苏省' -> False '三角函数sss223==' -> True
str4 = 'bans江苏省'
for x in str4:
if '0' <= x <= '9':
print(True)
break
else:
print(False)
でないで:
文字列内の文字-指定された文字が文字列内に存在するかどうかを判別します
文字列2の文字列1文字列1が文字列2のサブ文字列であるかどうかを判断します
関連する使用法
String 1.count(string 2)-文字列1での文字列2の出現回数をカウントします
文字列1.index(文字列2)-文字列1の文字列2の位置を初めてカウントします
String.join(シーケンス)-シーケンス内の要素を文字列で結合して、新しい文字列を生成します(シーケンス内の要素は文字列である必要があります)
list1 = ['abc', 120, True, 12.5]
print('+',join([str(x) for x in list1]))
String.split(string 2)-カットポイントとしてストリング2を使用してストリング1をカットします
String.split(string2、N)-文字列1の最初のN個の文字列2をカッティングポイントとして使用します
print('000abc123abc456abc789'.split('abc')) # ['000', '123', '456', '789']
注:ストリングの両端の切断点または切断点が連続して発生すると、空の文字列が生成される場合があります
String 1.replace(string 2、string 3)-文字列1のすべての文字列2を文字列3に置き換えます
String 1.replace(string 2、string 3、N)-文字列1の文字列2の最初のNを文字列3に置き換えます
max(エンコード値の最大文字)、mix(エンコード値の最小文字)、sorted(エンコード値のサイズでソート)
str(data)-データを文字列に変換します(すべてのタイプのデータを文字列に変換できます。データを文字列に変換すると、引用符がデータの出力値の最外層に直接追加されます)
eval(string)-リスト形式の文字列をリストに変換し、辞書形式の文字列を辞書に変換します
str5 = "['abc', 10, 20] "
list2 = eval(str5)
print(list2, type(list2)) # ['abc', 10, 20] <class 'list'>
print(list2[0])
dict1 = eval("{'name': '张三', 'age': 18}")
print(dict1, type(dict1)) # {'name': '张三', 'age': 18} <class 'dict'>
tuple1 = eval('(10, 20, 30)')
print(tuple1, type(tuple1)) # (10, 20, 30) <class 'tuple'>
result = eval('[10, "abc", 123]')
print(result, type(result))