2013-08-30 48 views
1

我是python新手,只有一個問題:python句柄不同類型

Python不需要聲明變量類型。例如,當我們使用函數時,我們沒有聲明應該傳入哪種類型。所以有時候,我無法弄清楚傳入參數實際上是哪種類型,或者我傳遞了一個無效參數。

例如,一個名爲run_date的參數,其類型可以是字符串或日期時間或日期。我必須從代​​碼中找到它...

有沒有辦法解決這個問題? 我想我應該做好命名。但是如何?

我不是說要檢查代碼中的類型。我只是在編碼時混淆了函數參數...我總是忘記哪種類型的參數是...

+0

我想最重要的部分是變量,即表明該類型的良好的命名。有關詳細信息,請使用[Docstrings](http://www.python.org/dev/peps/pep-0257/) - 某些Ide /編輯會顯示它們,您可以在REPL中訪問此信息。編輯:我以爲你問過如何確定傳遞給另一個函數的正確類型,而不是檢查傳入參數的類型是否正確 –

回答

1

Python使用所謂的「Duck Typing」,即如果它看起來像一隻鴨子,它聽起來像一隻鴨子你不妨稱它爲鴨子。

您可以使用:

  1. 參數類型檢查,
  2. 參數轉換,
  3. 例外&
  4. 文檔
0

嗯...歡迎世界蟒蛇:)。

您可以定義一個函數是這樣的:

def value_type(x): 
    # for type of dictionary 
    if isinstance(x, dict): 
     return list(set(x.values())) 
    # for type of string including unicode 
    elif isinstance(x, str) or isinstance(x, unicode): 
     mpla mpla... 
    # for type of integer 
    elif isinstance(x, int): 
     mpla mpla... 
    else: 
     return None