
No.3ベストアンサー
- 回答日時:
>True とequivalent
2つの異なる話を混同していると思う。
①True == ~
がTrueを返す
②if ~:
print("true")
がtrueと表示する
というのが有って
>1 以外の2 とかへたするとnon empty のobj も
は②の話だね。これは値をbool型に「変換」すると
どうなるかということ。全て型の全て値はTrueかFalseに変換できる。
if bool(~):
と書いても同じ。
①はTrueとの「比較」でpythonは無断で型変換をほぼしない言語で
Trueと~の型が異なればFalseが返ります。
但し、True==1 ゃ True == 1.0 等は例外
こうなっていると科学技術計算でいろいろと都合が良いのですが
pythonの気色の悪いところだと思う。
No.2
- 回答日時:
公式マニュアルより。
https://docs.python.org/3/library/stdtypes.html# …
https://docs.python.org/ja/3/library/stdtypes.ht …
if flg : 〜
とあったら
if (flg is not None) and ((flg is not False) and ((flg.__bool__メソッドが定義されている and bool(a) ) or (flg.__len__メソッドが定義されている and len(a)!=0)) : 〜
位の判定をしている、ということです。
> てもとでかくにんする
どういう確認をして、どうして「全然そんなことないです」と判断したのでうか?
以下の簡単なプログラム
f =True
if f :
print("TRUE")
else:
print("FALSE")
で f = True を f = None とか f = 2 とかに変えて確認するとよいでしょう。
間違いそうなのは
○== 演算子と is 演算子の違い。
・0 == False だが 0 is False ではない
○if/whineの条件として使うときと、 == 演算子との違い。
if f :
print("TRUE")
else:
print("FALSE")
と
if f == True :
print("TRUE")
else:
print("FALSE")
と
if f != False :
print("TRUE")
else:
print("FALSE")
はどれも同じ動作をしそうだが、実際は動作が違うことがある。
・if None :〜 ではNoneはFalseとして扱われるが None == False ではない(Falseになる / None != False はTrueになる)
かといって、 None == Trueでもない
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ASP.net 教えてください!!(...
-
パワーポイントのVBAでテキスト...
-
C#でフォームのオブジェクト名...
-
VBA 同じ名前のオブジェクトを...
-
VBSでのステートメントの末尾が...
-
インラインフレームがときどき...
-
時間帯判定をする。
-
C++でのクラスオブジェクトの破棄
-
Vbで通常使用するプリンターを...
-
C++で*thisは何を指しているの...
-
Google Apps Scriptの時刻の計算
-
Strutsでファイルアップロード
-
VBAのWindowオブジェクトとWork...
-
CoCreateInstanceでエラーになる。
-
Object型からDouble型へのキャスト
-
「タイプ初期化子が例外をスロ...
-
中学のクラス数
-
【sendkeysメソッドが動かずに...
-
インスタンス参照でアクセスで...
-
ヒグマを撃退
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パワーポイントのVBAでテキスト...
-
VBA 同じ名前のオブジェクトを...
-
Excelで =EMBED("Acrobat Docu...
-
COMコンポーネントって何?
-
VBAのWindowオブジェクトとWork...
-
ワイルドカード<?>と型パラメー...
-
error C2712: オブジェクト ア...
-
Object型からDouble型へのキャスト
-
C#でフォームのオブジェクト名...
-
質問すいません。 javascriptの...
-
EXCEL VBAにて動的にCheckBOXを...
-
ASP.net 教えてください!!(...
-
オブジェクトレベルとメタレベル
-
0 == False はいいけど
-
ActiveDirectoryのユーザ情報の...
-
Accessの連結・非連結オブジェ...
-
Vbで通常使用するプリンターを...
-
ビジュアルC++でボタンの有...
-
LISTBOXの内容が更新されま...
-
サーブレットのクラス図について。
おすすめ情報