これが重複していないことを本当に願っています。質問を検索しようとしましたが、見つかりませんでした。
だから私はフィートをメートルに変換するかなり単純な関数を持っています:
def feetToMeters(val):
return numpy.array(val) * 0.3048
これはうまく機能し、int、float、array、およびlistを受け入れます。ただし、(numpy配列ではなく)リストを作成する場合は、リストを返したいのですが。だから私はこれを書いた:
def feetToMeters(val):
try:
return val * 0.3084
except TypeError:
return [0.3084 * v for v in val]
(または、ここでreturn list(numpy.array(val) * 0.3084)
使用したい場合は最後の行に使用できますがnumpy
、それが本当に重要かどうかはわかりません。)
type
これは、関数の使用を回避できるように、ここにダックタイピングを組み込むための最良の方法ですか?もともと試しAttributeError
ましたが、うまくいきませんでした。それでも、うまくいくように見えても、私はうんざりしTypeError
ています。
if type(val) is list
代わりに使用するのは犠牲になりますか?