Python3 文字列


String は、Python で最も一般的に使用されるデータ型です。引用符 (' または ") を使用して文字列を作成できます。

文字列の作成は、値を変数に代入するのと同じくらい簡単です。例:

var1 = 'Hello World!'
var2 = "php"

Python で文字列内の値にアクセスする

Python は単一文字をサポートしていません型の場合、単一の文字は Python の文字列としても使用されます。

Python は部分文字列にアクセスし、次の例に示すように角かっこを使用して文字列をインターセプトできます。

#!/usr/bin/python3

var1 = 'Hello World!'
var2 = "php"

print ("var1[0]: ", var1[0])
print ("var2[1:5]: ", var2[1:5])

上記の例の実行結果:

var1[0]:  H
var2[1:5]:  unoo

Python 文字列の更新

次の例に示すように、既存の文字列を変更して別の変数に割り当てることができます。

#!/usr/bin/python3

var1 = 'Hello World!'

print ("已更新字符串 : ", var1[:6] + 'php!')

上記の例の実行結果

已更新字符串 :  Hello php!

Python エスケープ文字

特殊文字が必要な場合次の表に示すように、Python ではバックスラッシュ () を使用して文字をエスケープします。

説明 行継続。文字
(行末)
\ バックスラッシュ記号
'一重引用符
"二重引用符
aリング
bバックスペース (バックスペース)
eエスケープ

Python 文字列演算子

次の表では、インスタンス変数 a の値は文字列「Hello」、変数 b の値は「Python」です。

+ 文字列連結 繰り返し出力文字列インデックスを通じて文字列内の文字を取得e[ : ]ellinH がが出力に指定された文字 r/Rprint r'n'例
#!/usr/bin/python3

a = "Hello"
b = "Python"

print("a + b 输出结果:", a + b)
print("a * 2 输出结果:", a * 2)
print("a[1] 输出结果:", a[1])
print("a[1:4] 输出结果:", a[1:4])

if( "H" in a) :
    print("H 在变量 a 中")
else :
	print("H 不在变量 a 中")

if( "M" not in a) :
    print("M 不在变量 a 中")
else :
	print("M 在变量 a 中")

print (r'\n')
print (R'\n')
上記の例の出力結果は次のとおりです: Python では、文字列の書式設定には C の sprintf 関数と同じ構文が使用されます。
a + b 出力結果: HelloPython*
a*2 出力結果: HelloHello[]
a [1] 出力結果
文字列の一部をインターセプトa[1:4] 出力結果
メンバー演算子 - if string文字列に指定された文字 出力に含まれる場合、True を返します。 結果 1
に含まれていません。 メンバー演算子 - 文字列に、M が含まれていない場合、True を返します。 result 1
元の文字列 - 元の文字列: すべての文字列は、特殊文字や印刷不可能な文字をエスケープせずに文字通り使用されます。 生の文字列の構文は通常の文字列とほぼ同じですが、文字列の最初の引用符の前に文字「r」(大文字でも小文字でも構いません)が付いている点が異なります。 prints n および print R'n' prints n
%書式文字列次のセクションを参照してください。
a + b 输出结果: HelloPython
a * 2 输出结果: HelloHello
a[1] 输出结果: e
a[1:4] 输出结果: ell
H 在变量 a 中
M 不在变量 a 中
\n
\n
Pythonの文字列フォーマットPythonはフォーマットされた文字列の出力をサポートしています。これには非常に複雑な式が含まれる場合がありますが、最も基本的な使用法は、文字列フォーマット文字 %s を使用して文字列に値を挿入することです。
次の例:

#!/usr/bin/python3

print ("我叫 %s 今年 %d 岁!" % ('小明', 10))

上記の例の出力結果:

我叫 小明 今年 10 岁!

Python 文字列書式設定記号:
<tbody

Symbol
文字 説明
%c フォーマット文字とその ASCII コード
%s フォーマット文字列
% d 整数の形式
%u 符号なし整数の形式
%o 符号なし8進数の形式
%x 符号なし 16 進数の形式
%X 符号なし 16 進数 (大文字) をフォーマットします。
%f 浮動小数点数をフォーマットします。小数点以下の精度を指定できます。
scientific表記法のフローティングポイント数値 %f と %e の略語
%G%fと%Eの略語
%p 変数のアドレスを16進数でフォーマットします
Function

* -+< ;sp> #0% (var)m.n.

Python 三重引用符

Python 三重引用符を使用すると、文字列を複数行にまたがることができ、文字列には改行、タブ、その他の特殊文字を含めることができます。例は次のとおりです

#!/usr/bin/python3

para_str = """这是一个多行字符串的实例
多行字符串可以使用制表符
TAB ( \t )。
也可以使用换行符 [ \n ]。
"""
print (para_str)

上記の例の実行結果は次のとおりです:

这是一个多行字符串的实例
多行字符串可以使用制表符
TAB (    )。
也可以使用换行符 [ 
 ]。

3 つの引用符は、プログラマを引用符と特殊文字列の泥沼から解放し、小さな文字列の形式が最初から最後まで維持されます。いわゆる WYSIWYG (表示されたものがそのまま取得される) 形式です。

典型的な使用例は、HTML または SQL の一部が必要な場合で、文字列の組み合わせを使用する場合、特殊な文字列のエスケープは非常に面倒になります。

errHTML = '''
<HTML><HEAD><TITLE>
Friends CGI Demo</TITLE></HEAD>
<BODY><H3>ERROR</H3>
<B>%s</B><P>
<FORM><INPUT TYPE=button VALUE=Back
ONCLICK="window.history.back()"></FORM>
</BODY></HTML>
'''
cursor.execute('''
CREATE TABLE users (  
login VARCHAR(8), 
uid INTEGER,
prid INTEGER)
''')

Unicode文字列

Python2では、通常の文字列は8ビットASCIIコードとして保存されますが、Unicode文字列は16ビットUnicode文字列として保存され、より多くの文字セットを表現できます。使用される構文は、文字列の前に u を付けます。

Python3 では、すべての文字列は Unicode 文字列です。


Pythonの文字列組み込み関数

Pythonで一般的に使用される文字列組み込み関数は次のとおりです:


幅または小数点精度を定義します
は左揃えに使用されます
正の数値の前にプラス記号(+)を表示します
正の数値の前にスペースを表示します
8進数の前にゼロ(「0」)を表示し、16進数の前に「0x」または「0X」を表示します(「x」または「X」に応じて)
表示される数字は塗りつぶされますデフォルトのスペースの代わりに '0' を使用します
'%%' は単一の '%' を出力します
Map 変数 (辞書パラメータ)
m はディスプレイの最小合計幅、n は小数点以下の桁数 (使用可能な場合)
567891011
シリアル番号メソッドと説明
1

大文字ぜ()
文字列の最初の文字は大文字に変換されます

2

center(width, fillchar)


指定された幅幅を中央揃えにした文字列を返します。fillchar は塗りつぶされた文字で、デフォルトはスペースです。
3

count(str, beg= 0,end=len(string))


string 内に str が出現する回数を返します。beg または end が指定されている場合は、str が string 内に出現する回数を返します。指定された範囲
4

decode(encoding='UTF-8',errors='strict')


指定されたエンコーディングを使用して文字列をデコードします。デフォルトのエンコーディングは文字列エンコーディングです。
encode(encoding='UTF-8',errors='strict')

encodingで指定されたエンコード形式で文字列をエンコードします。エラーが発生した場合、デフォルトでValueError例外が報告されます。 'ignore' または 'replace' が指定されている場合を除きます
endswith(suffix, beg=0, end=len(string))

beg または end が指定された場合、指定された範囲内をチェックし、objで終わる場合はTrueを返し、そうでない場合はFalseを返します

expandtabs(tabsize=8)

文字列string内のタブ記号をスペースに変換します、タブ記号のデフォルトのスペース数は 8 です。
find(str, beg=0 end=len(string))

begとendに範囲を指定した場合、文字列にstrが含まれるかどうかを判定します。開始インデックス値を返す場合は、-1
index(str, beg=0, end=len(string))を返します

str の場合を除き、find() メソッドと同じです。は文字ではありません
isalnum()

文字列に少なくとも 1 つの文字があり、すべての文字が文字または数字である場合、例外が返されます。 True を返し、それ以外の場合は False を返します
isalpha()


文字列に少なくとも 1 つの文字があり、すべての文字が文字の場合は True を返します。 それ以外の場合は False を返します

12

isdigit()


文字列に数字のみが含まれる場合は True を返します それ以外の場合は False を返します
13

is lower()


文字列に少なくとも 1 つのケースが含まれる場合-区別する文字、およびこれらの (大文字と小文字を区別する) 文字がすべて小文字の場合は、True を返し、それ以外の場合は False を返します
14

isnumeric()


文字列に数字のみが含まれている場合は True を返し、それ以外の場合は False を返します
15

isspace()


文字列にスペースのみが含まれている場合はTrueを返し、それ以外の場合はFalseを返します。
16

istitle()


文字の場合はTrueを返します。 (title() を参照)、そうでない場合は False
17

isupper()


文字列に少なくとも 1 つの大文字と小文字を区別する文字が含まれており、それらの文字 (大文字と小文字を区別して書かれた) がすべて大文字の場合、戻り値True、そうでない場合は False を返します
18

join(seq)


指定された文字列を区切り文字として使用して、seq 内のすべての要素 (文字列表現) をマージします 新しい文字列の場合
19

len( string)


は文字列の長さを返します
20

ljust(width[, fillchar])


は元の文字列を左揃えで返します。そして、fillcharを使用して新しい文字列を長さwidthに埋めます。デフォルトはスペースです。 。
21

lower()


文字列内のすべての大文字を小文字に変換します
22

lstrip()


文字列の左側のスペースを切り詰めます
23

maketrans()


文字マッピングの変換テーブルを作成します。最初のパラメータは 2 つのパラメータを受け取り、2 番目のパラメータも文字列を表します。変換の対象。
24

max(str)


文字列str内の最大の文字を返します。
25

min(str)


文字列str内の最小の文字を返します。
26

replace(old, new [, max])


文字列内の str1 を str2 に置き換えます。 max が指定されている場合、置換は max 回を超えません。
27

rfind(str, beg=0,end=len(string))


find() 関数に似ていますが、右から始まります。
28

rindex( str , beg=0, end=len(string))


index()と似ていますが、右から始まります
29

rjust(width,[,fillchar])


元の文字列を返します。 -justify し、fillchar (デフォルトのスペース) を使用して、長さ width の新しい文字列を埋め込みます
30

rstrip()


文字列 string の末尾にあるスペースを削除します。
31

split ( str="", num=string.count(str))


num=string.count(str)) 文字列をインターセプトするための区切り文字として str を使用します。 num に指定された値がある場合、num 個の部分文字列のみがインターセプトされます
32

splitlines( num=string.count('n'))


行ごとに区切られ、各行を要素として含むリストを返します。 num が指定されている場合、 num 行のみがスライスされます
33

startswith(str, beg=0,end=len(string))


check 文字列が obj で始まるかどうかは True を返し、それ以外の場合は False を返します。 beg と end に値を指定すると、指定された範囲がチェックされます。
34

strip([chars])


文字列に対してlstrip()とrstrip()を実行
35

swapcase()


文字列の大文字を小文字に変換し、小文字に変換大文字にします
36

title()


「タイトル付き」文字列を返します。つまり、すべての単語が大文字で始まり、残りの文字が小文字になります(istitle()を参照)
37

translate(table, deletechars="")


str で指定されたテーブル (256 文字を含む) に従って string の文字を変換します。 フィルターで除外する文字は、deletechars パラメーターに配置されます
38

upper()


文字列内の小文字を大文字に変換します
39

zfill (width)


length は width 文字列です。元の文字列は右揃えで、前に 0 が埋め込まれています
40

isdecmal()


は、文字列に小数点のみが含まれているかどうかを確認し、含まれている場合は true を返し、そうでない場合は false を返します。