Latest web development tutorials

Python文字列

Pythonの文字列は、最も一般的に使用されるデータ型です。 私たちは、文字列を作成するために、二重引用符( 'または ")を使用することができます。

文字列を作成していれば、変数に値が割り当てられているように、非常に簡単です。 例えば:

var1 = 'Hello World!'
var2 = "Python w3big"

Pythonのアクセス文字列値

Pythonは、単一の文字がまたPython文字列として使用され、単一の文字タイプをサポートしていません。

Pythonのアクセス部分は、例次の文字列をインターセプトする角括弧を使用することができます。

#!/usr/bin/python

var1 = 'Hello World!'
var2 = "Python w3big"

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

上記の例の結果:

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

Python文字列を更新

あなたは、既存の文字列を変更し、別の変数は、以下の例にそれらを割り当てることができます。

#!/usr/bin/python
# -*- coding: UTF-8 -*-

var1 = 'Hello World!'

print "更新字符串 :- ", var1[:6] + 'w3big!'

上記の結果の例

更新字符串 :-  Hello w3big!

Pythonのエスケープ文字

あなたが文字に特殊文字を使用する必要がある場合には、バックスラッシュ(\)エスケープ文字を持つパイソン。 次の表では:

エスケープ文字 説明
\(行の終わりに) ULINK
\\ バックスラッシュ
\ ' 単一引用符
\ " 二重引用符
\ A ベル
\ B Backspaceキー(バックスペース)
\ E エスケープ
\ 000 空の
\ N ラップ
\ V 垂直タブ
\ T 水平タブ
\ R 入力します
\ F PAGE
\ Oyy 例えば、文字オクタル、YY代表:\ O12改行を表します
\ XYY 文字の16進数、yyの代表者、例えば:\のX0Aは改行を表します
\その他 共通のフォーマットの他の文字出力

Pythonの文字列演算子

次の表インスタンス変数は、文字列 "こんにちは"、変数bの値 "パイソン"です。

演算子 説明
+ 文字列連結 A + B出力:HelloPython
* 繰り返し出力文字列 * 2出力:HelloHello
[] インデックスで文字列内の文字を取得します。 [1]を出力e
[:] 文字列部分の傍受 [1:4]出力のエル
メンバーのオペレータ - 文字列が指定された文字がTrueを返すが含まれている場合 1出力のH
ありませんで メンバー演算子は - 文字列が、指定された文字が含まれていない場合はTrueを返します Mません 1出力
R / R 元の文字列 - 元の文字列:すべての文字列を直接文字通りの意味に従って使用され、そこにはエスケープ特殊文字はありませんか印刷されません。 「R」の文字(場合もある)との最初の引用符の前に元の文字列に加えて、通常の文字列と比べてほとんど同じ構文があります。 印字R '\ n'を出力\ nと印字R '\ n'を出力する\ n
書式文字列 次のセクションを参照してください。

例としては、次のとおりです:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

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'

上記プログラムの実行結果:

a + b 输出结果: HelloPython
a * 2 输出结果: HelloHello
a[1] 输出结果: e
a[1:4] 输出结果: ell
H 在变量 a 中
M 不在变量 a 中
\n
\n

Pythonの文字列フォーマット

Pythonは、出力フォーマットされた文字列をサポートしています。 これは非常に複雑な式を含めることができますが、最も基本的な使い方は、指定子%s内の文字列の文字列に値を挿入することです。

Pythonでは、Cの文字列はsprintf関数と同じ構文を使用してフォーマットされています。

以下の例:

#!/usr/bin/python

print "My name is %s and weight is %d kg!" % ('Zara', 21) 

上記の出力の例:

My name is Zara and weight is 21 kg!

Pythonの文字列フォーマット記号:

シンボル 説明
%cの 書式文字とそのASCIIコード
%sの 書式文字列
%D 整数形式
%uの unsigned int型のフォーマット
%O フォーマット、符号なしオクタル
%X 符号なし進形式
%X 符号なし16進数形式(大文字)
%F 形式浮動小数点数、精度は小数点の後に指定することができます
%電子 科学表記浮動小数点フォーマット
%E %電子とアクション、科学表記浮動小数点形式を使用して、
%グラム %fおよび%電子速記
%G %F%Eと速記
%P 変数の16進アドレス形式番号

オペレータアシスト命令のフォーマット:

シンボル 関数
* 幅または小数点以下の桁数を定義します。
- 左DOのアライメント
+ フロントプラス記号(+)に表示された正の数
<Spの> 正の数の前に表示スペース
( '0')、16進表示0xまたは0Xの前で(用途に応じて 'X'または 'X')8進数の前にゼロを表示
0 数値は、 '0'フロントフィルを示す代わりに、デフォルトのスペース
「%%」は、単一の '%'を出力します
(VAR) 変数マッピング(辞書のパラメータ)
MN mは表示の最小全幅であり、nは小数点以下の桁数(利用可能な場合)であり、

Pythonのトリプル引用符(トリプル引用符)

三Pythonの引用符は、複雑な文字列をコピーすることができます:

Pythonのトリプル引用符は複数行の文字列を許可し、文字列は、改行、タブ、およびその他の特殊文字を含めることができます。

トリプル引用符構文は、連続的な単一または二重引用符(通常と対になる)のペアです。

 >>> hi = '''hi 
there'''
>>> hi   # repr()
'hi\nthere'
>>> print hi  # str()
hi 
there  

トリプル引用符は、引用符と特殊文字列中で泥沼からプログラマはWYSIWYG(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文字列

Pythonはのように単純なUnicodeと通常の文字列の文字列です。

>>> u'Hello World !'
u'Hello World !'

小文字の前に引用符は「U」は、ここで作成されたUnicode文字列であることを示します。 あなたは特殊文字を追加したい場合は、あなたは、PythonのUnicode-Escapeでエンコードを使用することができます。 次の例では:

>>> u'Hello\u0020World !'
u'Hello World !'

置き換えの\ U0020のアイデンティティは、Unicode文字エンコーディング値0x0020に(空白文字)を挿入するために指定された位置で表しました。


Pythonの文字列は、組み込み関数

Python1.6列方法をゆっくり混合物に追加する2.0である - それらはまた、Jythonのに添加されます。

これらのメソッドは、多数決方式の文字列モジュールを実現するには、次の表は、組み込みの現在の文字列メソッドのサポート、すべてのメソッドがいくつかあっても具体的にユニコードのために、Unicodeのサポートが含まれて一覧表示されます。

ウェイ 説明

string.capitalize()

最初の文字の大文字

string.center(幅)

元の中央の文字列を返しますし、新しい文字列の幅の長さにスペースで埋め

string.count(文字列、BEG = 0、終了= LEN(文字列))

文字列strが内側出現する回数を返し、指定された請うまたは終了が指定範囲内に戻された場合、strの発生

string.decode(エンコード= 'UTF-8 '、エラー= '厳密')

エラーが指定されない限りはValueError例外であれば、指定されたエンコーディング形式のデコード文字列、デフォルトのエラーメッセージのエンコードは、「無視」または「置き換え」されます

string.encode(エンコード= 'UTF-8 '、エラー= '厳密')

指定されたエラーがある場合を除きとValueError例外が、「無視する」場合、または指定したエンコード形式の文字列をコードでは、デフォルトのエラーメッセージは、「置き換え」

string.endswith(OBJ、請う= 0、終了= LEN(文字列))

最後objを文字列かどうかを確認し、指定した範囲内で、指定BEGまたは終了がobj終了するかどうかをチェックし、もしそうであれば、そうでなければFalse、Trueを返します。されている場合

string.expandtabs(tabsize = 8)

空間にタブ記号内の文字列文字列は、スペースのデフォルト数のタブ記号は8です。

string.Find(文字列、BEG = 0、終了= LEN(文字列))

検出は、文字列strに含まれている、それはインデックス値の始まりであるならば、あなたは請うと、指定した範囲を終了した場合、それは指定された範囲内に含まれるかどうかをチェックする、そうでない場合、返される-1

string.index(文字列、請う= 0、終了= LEN(文字列))

同じのfind()メソッドでは、しかし、文字列strが例外でない場合には、報告されます。

string.isalnum()

そこに少なくとも一つの文字列であり、すべての文字が文字または数字あなたに戻っている場合

そうでなければFalse、Trueを返します

string.isalpha()

少なくとも一つの文字列と、すべての文字が文字があるされている場合は、Trueを返し、

それ以外の場合は、Falseを返します

string.isdecimal()

文字列が唯一の桁が含まれている場合はtrueそうでない場合はFalseを返します。

string.isdigit()

文字列は真そうでなければFalseのみ桁のリターンが含まれている場合。

string.islower()

文字列は、少なくとも一つの大文字と小文字が区別が含まれ、これらの(大文字と小文字を区別)のすべての文字が小文字であれば、そうでなければFalse、Trueを返します

string.isnumeric()

文字列が数字だけが含まれている場合、それはそうでなければFalse、Trueを返します

string.isspace()

文字列にスペースだけが含まれている場合は、そうでなければFalse、Trueを返します。

string.istitle()

文字列はタイトルがある場合はTRUE、そうでなければFALSEを返します(タイトル()を参照)

string.isupper()

文字列は、少なくとも一つの大文字と小文字が区別が含まれ、これらの(大文字と小文字を区別)のすべての文字が大文字であれば、それはそうでなければFalse、Trueを返します

string.join(配列)

区切り文字として文字列では、意志新しい文字列に配列のすべての要素(文字列表現)

string.ljust(幅)

旧左詰めの文字列を返しますし、新しい文字列の幅の長さにスペースで埋め

string.lower()

すべて大文字の文字列を小文字に変換しました。

string.lstrip()

切り捨てられた文字列の左スペース

string.maketrans(intab、outtab])

maketrans()メソッドは文字のマッピング変換テーブルを作成するために使用され、2つのパラメータを取るために、最も簡単な方法が呼び出され、最初の引数は、2番目のパラメータは、目標のコンバージョンの文字列表現に変換する文字を表す文字列です。

最大(文字列)

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

分(文字列)

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

string.partition(文字列)

検索()と分割()の組み合わせ、string_pre_str STR文字列に含まれていない場合は、3要素のタプル(string_pre_str、STR、string_post_str)にstrの文字列文字列から出現以来、最初の位置のようなビット==文字列。

string.replace(STR1、STR2、NUM = string.count(STR1))

STR2にSTR1内の文字列を置き換え、numが指定されている場合、num個の倍以下で交換しないで。

string.rfind(文字列、BEG = 0、終了= LEN(文字列))

検索()関数に似ていますが、右から探し始めます。

string.rindex(文字列、請う= 0、終了= LEN(文字列))

インデックスと同様に()が、右から始まります。

string.rjust(幅)

長さ幅の新しい文字列にスペースを元右揃えとパディングの文字列を返します

string.rpartition(文字列)

パーティション()関数に似ていますが、右から探し始めます。

string.rstrip()

文字列のスペース文字列の末尾を削除してください。

string.Split(文字列= ""、NUM = string.count(文字列))

strのセパレータスライス文字列を受け取り、num個の値が指定されている場合、唯一のサブストリングは、numは分離

string.splitlines(NUM = string.count( '\の N'))

行で区切られ、各行はnum個のnum個の列場合、指定部分のみを含むリストの要素として返されます。

string.startswith(OBJ、請う= 0、終了= LEN(文字列))

文字列がobjで始まるかどうかを確認し、それはそうでなければFalse、Trueを返します。 BEGとは、指定された値を終了すると、指定した範囲内でご確認ください。

string.strip([OBJ])

文字列内のエグゼクティブlstrip()とrstrip()

string.swapcase()

場合にはフリップの文字列

string.title()

バック文字列の「タイトル」、それは資産計上されるすべての単語の先頭は小文字を残りの()(istitle参照)であり、

string.translate(文字列、デル= "" )

指定されたテーブル列str(256文字)は、文字列を変換します

デルの引数に文字をフィルタリングするには

string.upper()

大文字に小文字の変換文字列

string.zfill(幅)

正面にゼロを詰め、長さ幅の文字列を、元の文字列文字列は右詰め返します

string.isdecimal()

isdecimal()メソッドは、文字列のみ、小数点文字が含まれているかどうかをチェックします。 このメソッドは、Unicodeオブジェクト内に存在します。