次のステートメントと同等の論理式を設計します。
x
は3つまたは5つの要素のリストであり、その2番目の要素は文字列'Hip'
であり、最初の要素は数値またはブール値ではありません。
私が持っているもの:
x = ['Head', 'Hip', 10]
print x[1] is 'Hip'
私の質問:それがブール値であるか数値であるかをどのように確認しますか?
次のステートメントと同等の論理式を設計します。
x
は3つまたは5つの要素のリストであり、その2番目の要素は文字列'Hip'
であり、最初の要素は数値またはブール値ではありません。
私が持っているもの:
x = ['Head', 'Hip', 10]
print x[1] is 'Hip'
私の質問:それがブール値であるか数値であるかをどのように確認しますか?
特定の質問に答えるには:
isinstance(x[0], (int, float))
x[0]
これは、 が tuple 内のいずれかの型のインスタンスであるかどうかをチェックします(int, float)
。
そこに追加することもできますが、それ自体が のサブクラスであるbool
ため、必須ではありません。bool
int
ドキュメント参照:
現在のコードにコメントするには、短い文字列のインターンに頼るべきではありません。==
文字列を演算子と比較することになっています:
x[1] == 'Hip'
最も簡単に言うと:
type(x) == type(True)
python3 では、これは次のようになります:例type(x)==bool
を参照してください。
パイソン 2
import types
x = False
print(type(x) == types.BooleanType) # True
パイソン3
# No need to import types module
x = False
print(type(x) == bool) # True