
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で質問しましょう!
似たような質問が見つかりました
- JavaScript disabled プロパティが表示されない原因が分からない 2 2024/02/10 21:44
- 計算機科学 pythonの この問題が分かりません。 y は100以下の数で2で割っても3で割っても割り切れる数 1 2023/10/11 22:14
- その他(プログラミング・Web制作) python の素朴な疑問 3 2023/09/26 10:40
- Access(アクセス) Access Error3061 パラメータが少なすぎます。4を指定してください。 3 2024/04/12 14:29
- Excel(エクセル) エクセル マクロ チェックボックス 2 2024/05/22 22:16
- Java java 引数 戻り値のあるメソッド 3 2023/02/12 06:23
- Visual Basic(VBA) Excel VBAでの数値の計算についておしえてください 2 2023/11/15 19:29
- Visual Basic(VBA) エクセルVBAにて =A1=B1とすれば A1とB1のセル内容が一緒だった場合 TRUE 違っていれ 2 2024/03/24 19:05
- Visual Basic(VBA) マクロを短くする 1 2023/01/15 00:11
- Visual Basic(VBA) 動きっぱなしです。止め方とプロシージャの間違いを教えて下さい! 5 2022/08/15 23:08
このQ&Aを見た人はこんなQ&Aも見ています
-
Cのプログラムからアクセスできないファイル名の一括変更方法
C言語・C++・C#
-
プログラマー達は何故、プログラムを入れるフォルダーに容量制限があるのを知らない?
C言語・C++・C#
-
CPUが16bitでも32bitOSでコンパイルしたコード(例えばintが4バイトと定義されている)
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で =EMBED("Acrobat Docu...
-
C#でフォームのオブジェクト名...
-
VBAのWindowオブジェクトとWork...
-
.getElementById()のエラーにつ...
-
パワーポイントのVBAでテキスト...
-
時間帯判定をする。
-
質問すいません。 javascriptの...
-
ビジュアルC++でボタンの有...
-
VBA 同じ名前のオブジェクトを...
-
EXCEL VBAにて動的にCheckBOXを...
-
Object型からDouble型へのキャスト
-
VBAからノーツを起動
-
【C++/CLI】 gcnewしたオブジェ...
-
Vbで通常使用するプリンターを...
-
javaでは基本型の参照渡しは無...
-
オブジェクト名をforループ内で...
-
printerオブジェクトでのテキス...
-
複数プロジェクト間での値渡し
-
0 == False はいいけど
-
VBからBATファイルを起動して戻...
マンスリーランキングこのカテゴリの人気マンスリー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オブジェクトを一時的に作...
-
ワードで画像をドロップすると...
おすすめ情報