2016-08-04 8 views
0

値をintに変換しようとしたが、変換できない場合は、それらをデフォルト値に設定することがよくあります。例:複数のtry/exceptsを効率的に書く方法

try: 
    a = int(a) 
except: 
    a = "Blank" 
try: 
    b = int(b) 
except: 
    b = "Blank" 
try: 
    c = int(c) 
except: 
    c = "Blank" 

これはPythonでより効率的に書くことができますが、tryやexceptをすべて書き出す必要はありませんか?

私は単に機能を使用したい
+0

なぜdownvote ?? – eleanora

+1

なぜそれをする機能がないので、あなた自身を繰り返す必要はありませんか?この関数を複数の値をとることさえできます。 – DeepSpace

+0

私は3つの変換を1つの 'try-except'節に入れ、' except ValueError: 'のようなものを使用します。例外的に「except」を使用するのは良い習慣ではありません。 – Alex

答えて

4

def int_with_default(i): 
    try: 
     return int(i) 
    except ValueError: 
     return "Blank" 

a = int_with_default(a) 
b = int_with_default(b) 
c = int_with_default(c) 

必要な場合は、あなたは常にあなたがするたびに「空白」を使用したくない場合は、デフォルト値がどうあるべきか指示する第二引数を追加することができます。

関連する問題