
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も見ています
-
CPUが16bitでも32bitOSでコンパイルしたコード(例えばintが4バイトと定義されている)
C言語・C++・C#
-
どうして+3
C言語・C++・C#
-
Cのプログラムからアクセスできないファイル名の一括変更方法
C言語・C++・C#
-
-
4
プログラマー達は何故、プログラムを入れるフォルダーに容量制限があるのを知らない?
C言語・C++・C#
-
5
プログラミング言語についてc++に空白あると同じ文字を再度繰り返して処理しないといけないので2倍動作
C言語・C++・C#
-
6
今ってプログラミング言語は何が中心?
C言語・C++・C#
-
7
C言語 関数、変数の宣言について
C言語・C++・C#
-
8
プログラミング言語でアプリやゲームweb制作をしようと思っております。色んなプログラミング言語がある
C言語・C++・C#
-
9
コンソールアプリを作成するのにおすすめのプログラミング言語はやはりC++ですか? 競技プログラミング
C言語・C++・C#
-
10
ViエディタとVimエディタの違いについて教えてください!
UNIX・Linux
-
11
C言語について。
C言語・C++・C#
-
12
「フライパンで焼く」とか「「トースターで焼く」とかよく言いますが、「レンジで焼く」という表現も使われ
日本語
-
13
情報セキュリティ的に[会社のPC→自分のスマホ]へのメールはダメなのはわかりますが、[自分のスマホ→
その他(セキュリティ)
-
14
【ExcelVBA】dictionaryの重複判断の基準(セル結合だと違う値として認識される)
Visual Basic(VBA)
-
15
C言語やC++はRustに取って代わられるのでしょうか?
その他(コンピューター・テクノロジー)
-
16
土気が高めるって言うのは何ですか?
日本語
-
17
ファイル名の命名に関する注意点ややるべきでない事はありますでしょうか?
その他(コンピューター・テクノロジー)
-
18
プログラミングの仕事のうちAIによってなくなるのはどれなのでしょうか?Webサイトを作成する仕事はノ
その他(コンピューター・テクノロジー)
-
19
菅田将暉やきゃりーぱみゅぱみゅが物心がついたころには、パソコンや携帯が身近にあるのが常識だったですか
Windows Me・NT・2000
-
20
打首と斬首の違いはなんでしょうか?
日本語
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 同じ名前のオブジェクトを...
-
Rangeオブジェクトを一時的に作...
-
vb.net windowsフォーム ラジオ...
-
error C2712: オブジェクト ア...
-
Webアプリケーションのエラーメ...
-
Excelで =EMBED("Acrobat Docu...
-
オブジェクト指向の「指向」は...
-
現在のワークブックのユーザー...
-
AccessからMSペイントを起動さ...
-
パワーポイントのVBAでテキスト...
-
COMコンポーネントって何?
-
戻り値がクラスオブジェクト
-
ワイルドカード<?>と型パラメー...
-
0 == False はいいけど
-
VBAのFileSearchと同じことをV...
-
JAVAからHTMLへ値を返す方法
-
VBScriptで計算して出た値をク...
-
Rangeオブジェクトに格納できない
-
ASP.net 教えてください!!(...
-
ビジュアルC++でボタンの有...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで =EMBED("Acrobat Docu...
-
パワーポイントのVBAでテキスト...
-
EXCEL VBAにて動的にCheckBOXを...
-
VBA 同じ名前のオブジェクトを...
-
C#でフォームのオブジェクト名...
-
VBAのWindowオブジェクトとWork...
-
ビジュアルC++でボタンの有...
-
COMコンポーネントって何?
-
CoCreateInstanceでエラーになる。
-
ワイルドカード<?>と型パラメー...
-
戻り値がクラスオブジェクト
-
error C2712: オブジェクト ア...
-
Vbで通常使用するプリンターを...
-
質問すいません。 javascriptの...
-
Object型からDouble型へのキャスト
-
Accessの連結・非連結オブジェ...
-
オブジェクトレベルとメタレベル
-
C++でのクラスオブジェクトの破棄
-
時間帯判定をする。
-
VBAでvlookup関数から、別シー...
おすすめ情報