ホームページ  >  記事  >  バックエンド開発  >  Python でのストリップの使用方法に関するヒント

Python でのストリップの使用方法に関するヒント

零到壹度
零到壹度オリジナル
2018-04-09 15:25:232243ブラウズ

この記事の内容は、Python でのストリップの使用方法に関するいくつかのヒントを共有することです。必要な友人は参考にしてください。

Pythonのstripメソッドについて言えば、Pythonに触れたことがある人なら誰でも、それが主にスペースを削除するために使用されることを知っているはずです。これを実現するには 2 つの方法があります。 方法 1: 組み込み関数を使用する

#<python>
if __name__ == &#39;__main__&#39;:
    str = &#39; Hello world &#39;
    print &#39;[%s]&#39; %str.strip()
#</python>
方法 2: 文字列モジュール内のメソッドを呼び出す

#<python>
import string
if __name__ == &#39;__main__&#39;:
    str = &#39; Hello world &#39;
    print &#39;[%s]&#39; %string.strip(str)
#</python>

これら 2 つの呼び出しの違いを知っていますか?以下は個人的な意見です

Ø str.strip()はPythonを呼び出す組み込み関数、string.strip(str)はstringモジュールを呼び出すメソッドです

Ø string.strip(str)は定義されています文字列モジュール内。そして、str.strip() は組み込みモジュールで定義されています

質問 1:

モジュール内のメソッドが組み込みモジュールで定義されているかどうかを確認するにはどうすればよいですか?

dir (モジュール名) を使用して、「__builtins__」属性があるかどうかを確認します。 例: 文字列モジュールを表示する

#<python>print dir(string)#</python>

質問 2、

Python のすべての組み込み関数を表示する方法

#<python>
 print dir(sys.modules[&#39;__builtin__&#39;])
 #</python>

質問 3、組み込み関数を表示する方法組み込みモジュールの定義

#<python>printhelp(__builtins__) #</python>

上記のいくつかは、誰もが通常知っていることです。 この記事のトピックに入りましょう: 【ご飯の硬い料理】

まず、次のプログラムの結果を見てください:

#<python>
if __name__ == &#39;__main__&#39;:
    str = &#39;hello world&#39; 
    print str.strip(&#39;hello&#39;)
    print str.strip(&#39;hello&#39;).strip()
    print str.strip(&#39;heldo&#39;).strip()   #sentence 1
   
    stt = &#39;h1h1h2h3h4h&#39;
    print stt.strip(&#39;h1&#39;)               #sentence 2
   
    s =&#39;123459947855aaaadgat134f8sfewewrf7787789879879&#39;
    print s.strip(&#39;0123456789&#39;)        #sentence 3
#</python>
結果は次のページに表示されます:

実行結果:

world
world
wor
2h3h4
aaaadgat134f8sfewewrf

正しく答えられましたか? O(∩_∩)O~全問正解したら、ここで32いいねを差し上げます...

結果分析:

まず、文字列内のストリップのソースコードを確認してみましょうmodule:

#<python>
# Strip leading and trailing tabs and spaces
def strip(s, chars=None):
    """strip(s [,chars]) -> string
    Return a copy of the string swith leading and trailing
    whitespace removed.
    If chars is given and not None,remove characters in chars instead.
    If chars is unicode, S will beconverted to unicode before stripping.
    """
returns.strip(chars)
#</python>
ご自由に翻訳してください: このメソッドは、先頭と末尾のスペースとタブを削除するために使用されます。スペースを削除した S 文字列のコピーを返します。パラメータ chars の値が None でない場合、chars に含まれるすべての文字が削除されます。 chars が Unicode の場合、S は Unicode に変換されてから演算されます。以下は、上の段落の文 1 2 3 の説明です:

#<python>
str = &#39;hello world&#39;
print str.strip(&#39;heldo&#39;).strip()
#</python>
result:wor
执行步骤:
elloworld
lloworld
oworld
oworl
 worl
 wor
wor

具体的なコード実行プロセス:

#<python>
    print str.strip(&#39;h&#39;)
    print str.strip(&#39;h&#39;).strip(&#39;e&#39;)
    print str.strip(&#39;h&#39;).strip(&#39;e&#39;).strip(&#39;l&#39;)
    print str.strip(&#39;h&#39;).strip(&#39;e&#39;).strip(&#39;l&#39;).strip(&#39;d&#39;)
    print str.strip(&#39;h&#39;).strip(&#39;e&#39;).strip(&#39;l&#39;).strip(&#39;d&#39;).strip(&#39;o&#39;)
    print str.strip(&#39;h&#39;).strip(&#39;e&#39;).strip(&#39;l&#39;).strip(&#39;d&#39;).strip(&#39;o&#39;).strip(&#39;l&#39;)
    printstr.strip(&#39;h&#39;).strip(&#39;e&#39;).strip(&#39;l&#39;).strip(&#39;d&#39;).strip(&#39;o&#39;).strip(&#39;l&#39;).strip()
#</python>

謎です。私はプロジェクト マネージャーの Shaan Fenyong の助けでこのパターンを発見しました。

ここで少しまとめます:

s.strip(chars) の使用規則:

まず chars の最初の文字を走査して、それが S の先頭と末尾にあるかどうかを確認します。そうであれば、それを削除します。削除した新しい文字列を s に設定し、chars の最初の文字からループを続けます。そうでない場合は、chars の 2 文字目から直接開始してください。 s の最初と最後の文字が chars 内になくなるまでループを続け、その後ループは終了します。

キーポイント: chars 内の文字が S の先頭と末尾にあるかどうかを確認してください

このメソッドを読んだ後、Python ソースコードの開発者は非常に素晴らしく、このような古典的なアルゴリズムを考えることもできることがわかりました。

【食後のお菓子】

この方法は主に、特定のルールに従って両端の指定された文字を削除するために使用されます。文3が良いアプリケーションであれば。 例: 文字列の両端の数字をインターセプトする、または特徴的な文字の最初と最後の出現の間の文字列を取得するなど。

以上がPython でのストリップの使用方法に関するヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。