2017-06-16 104 views
0

Python中是否有方法來標註參數應該滿足哪個接口? IE,如果你期望一個支持push和pop的容器作爲第一個參數,並且註釋這個?有沒有一種標準的方法來在Python中做接口註釋?

+2

[可能值得一讀](https://stackoverflow.com/questions/8059649/how-to-document-a-duck-type) – CoryKramer

+0

你問是否有文檔字符串約定?這些在[PEP 257](https://www.python.org/dev/peps/pep-0257/) –

+0

@CoryKramer中定義過我曾經在python中使用過一些接口部分被填充的東西,然後你得到垃圾,我想知道是否鍵入註釋或類似的東西在這裏允許安全。來自功能性世界,期待程序員頭腦中的類型系統似乎不合理。 – Carbon

回答

1

Python中的函數可以有簽名,這是你應該看看。在Python3這是語言的一部分:

def greeting(name: str) -> str: 
    return 'Hello, {}'.format(name) 

在python2你可以使用# type: (str) -> str

除了內置插件,您自己的類型(有限制)可用於此註釋。

我用這個和mypy包,檢查我的ruamel.yaml庫,用更嚴格的類型更換Any聲明(不限制可言,因此任何)緩慢增加的實用性。

相關問題