我是Python的新手,来自C / C ++背景。我正在寻找一种根据传递的数据区分函数调用的方法。
一个例子:
class RomanNumeral():
def __init__( self, value ):
# Assign stuff
现在,让我们说我希望能够用int或字符串(例如11或XI)初始化RomanNumeral的实例。如何在Python中处理它?</ p>
我基本上在寻找这个C ++等价物:
RomanNumeral();
RomanNumeral(int value);
RomanNumeral(string value);
如果我给了一个字符串,是否必须在某些代码周围抛出try
块并捕获ValueError?
答案 0 :(得分:0)
Python并没有抱怨像C ++这样的类型不匹配。从语法上讲,您可以将任何数据类型分配给任何变量。对于你的情况,
class RomanNumeral:
def __init__(self, value):
self.value = value
在您使用它的任何方法中,您都可以:
def some_method(self):
if isinstance(self.value, int):
print "Value is a number"
elif isinstance(self.value, str):
print "Value is a Roman Number"
这是一种在Python中处理类型的简单方法