2

公式のPython ドキュメントで次のステートメントを見ました。

str.upper().isupper() might be False

誰か説明してもらえますか?

4

6 に答える 6

4
于 2013-05-11T08:02:17.183 に答える
4

文字列が数値であるか、大文字のバリアント (特殊文字など) のない文字で構成されている場合。例:

>>> '42'.upper().isupper()
False
>>> '-'.upper().isupper()
False

そして予想通り:

>>> '42a'.upper().isupper()
True

多くの Unicode 文字には奇妙な動作があるため、注意してください (thg435 からの回答を参照してください: https://stackoverflow.com/a/16495101/531222 )

于 2013-05-11T07:34:29.647 に答える
4

彼らの声明へのより多くの文脈:

str.upper().isupper() は、s に大文字と小文字の区別がない文字が含まれている場合、または結果の文字の Unicode カテゴリが「Lu」(文字、大文字) ではなく、たとえば「Lt」(文字、タイトルケース) である場合、False になる可能性があります。 .

大文字と小文字を区別しない文字の例:

>>> '1'.upper().isupper()
False
于 2013-05-11T07:34:55.433 に答える
2

文字列が大文字をサポートしていない Unicode 文字で構成されている場合:

>>> "عربية للفوتوشوب".upper().isupper()
False

str.upper数字には意味がありません:

>>> "3432".upper().isupper()
False
于 2013-05-11T07:35:19.357 に答える
1

はい、文字列に大文字のない数字やその他の文字が含まれている場合は当てはまります

于 2013-05-11T07:35:05.457 に答える
1

大文字がないものもあります (すべての言語ではなく、文字だけだと思います)。

したがって、それらは によって上回られることはなく、upperではありませんisupper

于 2013-05-11T07:34:47.067 に答える