2016-10-27 29 views
0

我是Python新品,來自C/C++背景。我正在尋找一種方法來根據傳遞的數據區分函數調用。具有不同數據類型的Python函數輸入

一個例子:

class RomanNumeral(): 
    def __init__(self, value): 
     # Assign stuff 

現在,讓我們說,我希望能夠與任何一個int或字符串(例如,11或XI)來初始化RomanNumeral的一個實例。這在Python中如何處理?

我基本上是在尋找這個C++相當於:

RomanNumeral(); 
RomanNumeral(int value); 
RomanNumeral(string value); 

我一定要扔周圍的一些代碼try塊,趕上ValueError異常,如果我給一個字符串?

回答

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

相關問題