2012-01-26 14 views
4

我最近開始使用pydev。這似乎很棒。一個煩惱來自於python是一種動態語言。許多自動完成功能時的PyDev知道類型將工作,所以當使用pydev時,我可以使用typename註釋參數來給我上下文信息嗎?

f = open("foo.txt") 

的偉大工程,PyDev就可以弄清楚,f是一個文件,並給了我很好的建議。

然而,隨着參數在我自己的函數打交道時,明顯的PyDev無法確定類型的信息:

def bar(x,y): #Pydev obv. cant tell exactly what x and y are 

所以我顯然沒有當我做x.得到任何建議。

這將是很好的提供pydev可以拿起一些註釋來添加建議,並通過警告我應該幫助我更安全的代碼。我知道我在想像某個人來自靜態語言,但很多時候,爭論的類型應該始終是一回事,而且只有一回事。我可以註釋我的代碼來幫助pydev嗎?

+1

相關:[自動完成動態語言的IDE,具體的Python中的PyDev(HTTP:/ /stackoverflow.com/q/3482622/95735),[在Python中缺少自動完成/投射的問題](http://stackoverflow.com/q/5143646/95735),[Python and Intellisense](http:// stackoverflow .com/q/905005/95735),[Komodo Python auto complete:通過變量元數據進行類型推斷?](http://stackoverflow.com/q/1678953/95735) –

回答

2

如果x是一個列表,那麼這應該工作:

def bar(x,y): 
    assert isinstance(x, list) 
1

您可以使用:

def bar(x, y): 
    """This function does something. 

     @type x: str 
      Describe param x 
     @type y: int 
      Or don't describe. But not in same line. 

     @rtype int 
      Function returns int 
    """ 
    pass 
相關問題