他の言語と同様、Python には大文字と小文字を文字列オブジェクトに変換するためのメソッド、upper() と lower() が用意されています。それだけではありません。Python には、すべての単語の最初の文字を大文字にし、残りを小文字にする Capitalize() メソッドと、すべての単語の最初の文字を大文字にし、残りを小文字にする title() メソッドも用意されています。
関数は比較的単純です。以下の例を参照してください:
コードは次のとおりです:
s = 'hEllo pYthon' print s.upper() print s.lower() print s.capitalize() print s.title()
出力結果:
HELLO PYTHON hello python Hello python Hello Python
Judge case
Python は、isupper()、is lower()、istitle() メソッドを提供します。裁判官 文字列の場合。注:
1. iscapitalize() メソッドは提供されていません。Python がこれを実装しなかった理由は不明です。
2. 空の文字列に対して isupper()、is lower()、istitle() を使用すると、返される結果は False になります。
コードは次のとおりです:
print 'A'.isupper() #True print 'A'.islower() #False print 'Python Is So Good'.istitle() #True #print 'Dont do that!'.iscapitalize() #错误,不存在iscapitalize()方法
implement iscapitalize
1。元の文字列と Capitalallize() によって変換された文字列を単純に比較すると、渡した元の文字列が空の文字列であれば、結果が返されます。は True になりますが、これは上記のポイント 2 に準拠しません。
def iscapitalized(s):
return s == s.capitalize( ) len(s)>0 を判断するために戻るときに条件を追加することを考える人もいます。実際、これは iscapitalize('123' を呼び出すとき) であるため問題があります。 ) 場合、True が返されますが、これは期待した結果ではありません。
2. したがって、文字列に英語の文字が含まれているかどうかを判断するために、前の翻訳メソッドを思い出します。実装は次のとおりです:
コードは次のとおりです:
import string notrans = string.maketrans('', '') def containsAny(str, str set ): return len(strset) != len(strset.translate(notrans, str)) def iscapitalized(s): return s == s.capitalize( ) and containsAny(s, string.letters) #return s == s.capitalize( ) and len(s) > 0 #如果s为数字组成的字符串,这个方法将行不通调用一下试试: print iscapitalized('123') print iscapitalized('') print iscapitalized('Evergreen is zcr1985')
出力結果:
False False True
[関連推奨事項]
3.以上がPythonで大文字と小文字を変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。