
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も見ています
-
CPUが16bitでも32bitOSでコンパイルしたコード(例えばintが4バイトと定義されている)
C言語・C++・C#
-
Cのプログラムからアクセスできないファイル名の一括変更方法
C言語・C++・C#
-
プログラマー達は何故、プログラムを入れるフォルダーに容量制限があるのを知らない?
C言語・C++・C#
-
-
4
プログラミング言語でアプリやゲームweb制作をしようと思っております。色んなプログラミング言語がある
C言語・C++・C#
-
5
C言語 関数、変数の宣言について
C言語・C++・C#
-
6
JIT適用PHP8はJavaサーブレットより処理速度は早く、現在の全Webアプリ内で最速でしょうか?
C言語・C++・C#
-
7
C言語の関数のextern宣言
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCEL VBAにて動的にCheckBOXを...
-
EXCELのドロップダウンリストに...
-
bmp画像をjpegやpng画像に圧縮...
-
int + Integer
-
インスタンスとオブジェクト 生成
-
デザインパターンとは?
-
パワーポイントのVBAでテキスト...
-
複数シートの選択
-
オブジェクトの参照とは
-
ページのソースを動的に書き換...
-
CFileDialogでフォルダだけを選...
-
C++で*thisは何を指しているの...
-
java.io.Serializableとは何で...
-
Object型からDouble型へのキャスト
-
ワイルドカード<?>と型パラメー...
-
C言語の「->」の意味
-
クラスと構造体
-
ATL CWorkerThread
-
XAMLの動的生成について
-
COMコンポーネントって何?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パワーポイントのVBAでテキスト...
-
Excelで =EMBED("Acrobat Docu...
-
VBA 同じ名前のオブジェクトを...
-
EXCEL VBAにて動的にCheckBOXを...
-
VBAのWindowオブジェクトとWork...
-
C#でフォームのオブジェクト名...
-
ビジュアルC++でボタンの有...
-
COMコンポーネントって何?
-
Object型からDouble型へのキャスト
-
時間帯判定をする。
-
newは明示的にした方が良いのか?
-
戻り値がクラスオブジェクト
-
ワイルドカード<?>と型パラメー...
-
error C2712: オブジェクト ア...
-
Accessの連結・非連結オブジェ...
-
CoCreateInstanceでエラーになる。
-
オブジェクトレベルとメタレベル
-
多人数のじゃんけんプログラム
-
Rangeオブジェクトを一時的に作...
-
ワードで画像をドロップすると...
おすすめ情報