この記事の内容は、Python でのストリップの使用方法に関するいくつかのヒントを共有することです。必要な友人は参考にしてください。
Pythonのstripメソッドについて言えば、Pythonに触れたことがある人なら誰でも、それが主にスペースを削除するために使用されることを知っているはずです。これを実現するには 2 つの方法があります。 方法 1: 組み込み関数を使用する#<python>
if __name__ == '__main__':
str = ' Hello world '
print '[%s]' %str.strip()
#</python>
方法 2: 文字列モジュール内のメソッドを呼び出す
#<python> import string if __name__ == '__main__': str = ' Hello world ' print '[%s]' %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['__builtin__']) #</python>
質問 3、組み込み関数を表示する方法組み込みモジュールの定義
#<python>printhelp(__builtins__) #</python>
上記のいくつかは、誰もが通常知っていることです。 この記事のトピックに入りましょう: 【ご飯の硬い料理】
まず、次のプログラムの結果を見てください: #<python>
if __name__ == '__main__':
str = 'hello world'
print str.strip('hello')
print str.strip('hello').strip()
print str.strip('heldo').strip() #sentence 1
stt = 'h1h1h2h3h4h'
print stt.strip('h1') #sentence 2
s ='123459947855aaaadgat134f8sfewewrf7787789879879'
print s.strip('0123456789') #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 = 'hello world' print str.strip('heldo').strip() #</python> result:wor 执行步骤: elloworld lloworld oworld oworl worl wor wor
具体的なコード実行プロセス:
#<python> print str.strip('h') print str.strip('h').strip('e') print str.strip('h').strip('e').strip('l') print str.strip('h').strip('e').strip('l').strip('d') print str.strip('h').strip('e').strip('l').strip('d').strip('o') print str.strip('h').strip('e').strip('l').strip('d').strip('o').strip('l') printstr.strip('h').strip('e').strip('l').strip('d').strip('o').strip('l').strip() #</python>
謎です。私はプロジェクト マネージャーの Shaan Fenyong の助けでこのパターンを発見しました。
ここで少しまとめます:
s.strip(chars) の使用規則:
まず chars の最初の文字を走査して、それが S の先頭と末尾にあるかどうかを確認します。そうであれば、それを削除します。削除した新しい文字列を s に設定し、chars の最初の文字からループを続けます。そうでない場合は、chars の 2 文字目から直接開始してください。 s の最初と最後の文字が chars 内になくなるまでループを続け、その後ループは終了します。
キーポイント: chars 内の文字が S の先頭と末尾にあるかどうかを確認してくださいこのメソッドを読んだ後、Python ソースコードの開発者は非常に素晴らしく、このような古典的なアルゴリズムを考えることもできることがわかりました。
【食後のお菓子】
この方法は主に、特定のルールに従って両端の指定された文字を削除するために使用されます。文3が良いアプリケーションであれば。 例: 文字列の両端の数字をインターセプトする、または特徴的な文字の最初と最後の出現の間の文字列を取得するなど。
以上がPython でのストリップの使用方法に関するヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。