Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。
Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。
Q&A
解決済
2回答
1033閲覧
総合スコア46
0グッド
0クリップ
投稿2021/02/16 05:52
0
pythonのassert文を使って下記のようなイメージで文字数と型のチェックを行いたいのですが、 int型以外が変数に入っている場合にエラーを出したい場合はどう書けば期待した結果が得られるでしょうか?
python1# numが空でないかチェック 2assert len(num)>1 , "Error" 3 4# int型以外の時はエラーを出したい 5assert type(num) ??? IntType, "Error"
python
1# numが空でないかチェック 2assert len(num)>1 , "Error" 3 4# int型以外の時はエラーを出したい 5assert type(num) ??? IntType, "Error"
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
回答2件
python1# int型以外の時はエラーを出したい 2assert isinstance(num, int), "Error"
1# int型以外の時はエラーを出したい 2assert isinstance(num, int), "Error"
# ↓だと、うまく行かないケースがあるらしい。 # ひょっとしたら、uint64,int64とか区別されているのかもしれません。↲ assert type(num) is int, "Error"
投稿2021/02/16 06:00
総合スコア233
回答へのコメント
2021/02/16 07:14
2021/02/16 07:35
ベストアンサー
まわりくどいですが、一回floatにしてしまうとか。numpy.int64とかも吸収できます。 (逆に、そもそも数値じゃない場合にValueErrorでてしまいますが… assert float(num).is_integer()
assert float(num).is_integer()
あとは、取りうる整数型を列挙するとか… assert type(num) in (int, np.int8, np.int16), "Error"
assert type(num) in (int, np.int8, np.int16), "Error"
投稿2021/02/16 07:49
総合スコア3966
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
pythonのassert文について
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/16 07:14
2021/02/16 07:35