例如,拿一個簡單的課代表一個人。唯一的類屬性是表示人名的字符串。我想確保沒有人試圖將構造函數的某些其他類型的對象(如int或list)等傳遞給它。這是我下面的第一次嘗試,我認爲如果參數不是str,但它似乎仍然返回Person obj,則會返回None類型的obj。我來自一個「更」強類型的語言背景,我有點困惑,因爲如何處理我在Python中的自我。 pythonic風格對這種情況以及類型安全有更多的一般性描述?我應該舉一個例外嗎?或者找到一種方法來返回None?或者完全是別的。什麼是pythonic方法來檢查構造函數參數的vaildity?
class Person:
name = None
def __init__(self, name):
if not isinstance(name, str):
return None
self.name = name
我基本上有一個類似的問題,有一天,你可以找到它[這裏](http://stackoverflow.com/questions/13919772/in-python-is-there-a-way-to-know-如果-AN-對象器具-AN-接口之前-I)。 **我敦促你閱讀Martijn Pieter的答案**,因爲它與你所問的內容非常相關。 – NlightNFotis
爲什麼不使用'self.name = str(name)'?這將接受具有字符串表示的所有內容。 –