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.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を返します。されている場合 |
空間にタブ記号内の文字列文字列は、スペースのデフォルト数のタブ記号は8です。 | |
string.Find(文字列、BEG = 0、終了= LEN(文字列)) | 検出は、文字列strに含まれている、それはインデックス値の始まりであるならば、あなたは請うと、指定した範囲を終了した場合、それは指定された範囲内に含まれるかどうかをチェックする、そうでない場合、返される-1 |
string.index(文字列、請う= 0、終了= LEN(文字列)) | 同じのfind()メソッドでは、しかし、文字列strが例外でない場合には、報告されます。 |
そこに少なくとも一つの文字列であり、すべての文字が文字または数字あなたに戻っている場合 そうでなければFalse、Trueを返します | |
少なくとも一つの文字列と、すべての文字が文字があるされている場合は、Trueを返し、 それ以外の場合は、Falseを返します | |
文字列が唯一の桁が含まれている場合はtrueそうでない場合はFalseを返します。 | |
文字列は真そうでなければFalseのみ桁のリターンが含まれている場合。 | |
文字列は、少なくとも一つの大文字と小文字が区別が含まれ、これらの(大文字と小文字を区別)のすべての文字が小文字であれば、そうでなければFalse、Trueを返します | |
文字列が数字だけが含まれている場合、それはそうでなければFalse、Trueを返します | |
文字列にスペースだけが含まれている場合は、そうでなければFalse、Trueを返します。 | |
文字列はタイトルがある場合はTRUE、そうでなければFALSEを返します(タイトル()を参照) | |
文字列は、少なくとも一つの大文字と小文字が区別が含まれ、これらの(大文字と小文字を区別)のすべての文字が大文字であれば、それはそうでなければFalse、Trueを返します | |
区切り文字として文字列では、意志新しい文字列に配列のすべての要素(文字列表現) | |
旧左詰めの文字列を返しますし、新しい文字列の幅の長さにスペースで埋め | |
すべて大文字の文字列を小文字に変換しました。 | |
切り捨てられた文字列の左スペース | |
maketrans()メソッドは文字のマッピング変換テーブルを作成するために使用され、2つのパラメータを取るために、最も簡単な方法が呼び出され、最初の引数は、2番目のパラメータは、目標のコンバージョンの文字列表現に変換する文字を表す文字列です。 | |
文字列strの最大の文字を返します。 | |
文字列strの最小の文字を返します。 | |
検索()と分割()の組み合わせ、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.rpartition(文字列) | パーティション()関数に似ていますが、右から探し始めます。 |
文字列のスペース文字列の末尾を削除してください。 | |
string.Split(文字列= ""、NUM = string.count(文字列)) | strのセパレータスライス文字列を受け取り、num個の値が指定されている場合、唯一のサブストリングは、numは分離 |
行で区切られ、各行はnum個のnum個の列場合、指定部分のみを含むリストの要素として返されます。 | |
string.startswith(OBJ、請う= 0、終了= LEN(文字列)) | 文字列がobjで始まるかどうかを確認し、それはそうでなければFalse、Trueを返します。 BEGとは、指定された値を終了すると、指定した範囲内でご確認ください。 |
文字列内のエグゼクティブlstrip()とrstrip() | |
場合にはフリップの文字列 | |
バック文字列の「タイトル」、それは資産計上されるすべての単語の先頭は小文字を残りの()(istitle参照)であり、 | |
指定されたテーブル列str(256文字)は、文字列を変換します デルの引数に文字をフィルタリングするには | |
大文字に小文字の変換文字列 | |
正面にゼロを詰め、長さ幅の文字列を、元の文字列文字列は右詰め返します | |
isdecimal()メソッドは、文字列のみ、小数点文字が含まれているかどうかをチェックします。 このメソッドは、Unicodeオブジェクト内に存在します。 |