アカウント名:
パスワード:
「文字配列のすべての要素が条件(半角英数字であること)を満たすならtrueを返す」関数に空文字配列を渡したら..
''.isascii()
→True
''.isalpha()
→False…
True派もFalse派ももう不毛な争いはやめようぜ、みんなで共通の敵python.orgに殴り込もう# パイソニスタなので私は傍観させて頂きます:D
仕様くらい調べてから書け
https://docs.python.org/3/library/stdtypes.html [python.org]
str.isalpha()Return True if all characters in the string are alphabetic and there is at least one character
str.isascii()Return True if the string is empty or all characters in the string are ASCII
明言されてる仕様通りだisalphaは『最低1文字以上のすべての文字が』が条件なんだからそのやりかたならFalseが帰るのが当然であり、isasciiは『すべての文字が』が条件でしかないのでタレコミに対する解と同じくTrueになる。(親切にわざわざEmptyでもと書いてある)
外野ですが、Pythonだとリスト同士の比較の場合は対象が空の場合Falseになる様子ですね
リストの条件が以下の時
a=[1,2,3]b=[1,2,3]c=[1,None,3]d=[]
このとき比較演算すると a==b は True になりますが a==c は一致してないので当然 False になります同時に、a==d は False になりますよね
配列(シーケンス型ですが)を文字列として理解してよいのであれば、"abcde"=="abcde" は True である時に"abcde"=="ZXY" は文字が異なるので False になりますが空の文字列である "abcde"=="" や "abcde"==None では皆 False になりますね
文字列の比較においては終端記号や空文字との比較結果が True ではおかしいような気もしますしね
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア
実際にやってみた (スコア:0)
「文字配列のすべての要素が条件(半角英数字であること)を満たすならtrueを返す」関数に空文字配列を渡したら..
→True
→False…
True派もFalse派ももう不毛な争いはやめようぜ、みんなで共通の敵python.orgに殴り込もう
# パイソニスタなので私は傍観させて頂きます:D
Re:実際にやってみた (スコア:2, 参考になる)
仕様くらい調べてから書け
https://docs.python.org/3/library/stdtypes.html [python.org]
str.isalpha()
Return True if all characters in the string are alphabetic and there is at least one character
str.isascii()
Return True if the string is empty or all characters in the string are ASCII
明言されてる仕様通りだ
isalphaは『最低1文字以上のすべての文字が』が条件なんだからそのやりかたならFalseが帰るのが当然であり、
isasciiは『すべての文字が』が条件でしかないのでタレコミに対する解と同じくTrueになる。(親切にわざわざEmptyでもと書いてある)
Re: (スコア:0)
外野ですが、Pythonだとリスト同士の比較の場合は対象が空の場合Falseになる様子ですね
リストの条件が以下の時
a=[1,2,3]
b=[1,2,3]
c=[1,None,3]
d=[]
このとき比較演算すると a==b は True になりますが a==c は一致してないので当然 False になります
同時に、a==d は False になりますよね
配列(シーケンス型ですが)を文字列として理解してよいのであれば、"abcde"=="abcde" は True である時に
"abcde"=="ZXY" は文字が異なるので False になりますが
空の文字列である "abcde"=="" や "abcde"==None では皆 False になりますね
文字列の比較においては終端記号や空文字との比較結果が True ではおかしいような気もしますしね