[英]How to determine function parameter type in python?
例如,我有一个文献记录不佳的图书馆。 我有一个对象,我想知道某些方法接受的参数类型是什么。
在IPython中,我可以运行
In [28]: tdb.getData?
Signature: tdb.getData(time, point_coords, sinterp=0, tinterp=0, data_set='isotropic1024coarse', getFunction='getVelocity', make_modulo=False)
Docstring: <no docstring>
File: ~/.local/lib/python3.5/site-packages/pyJHTDB/libJHTDB.py
Type: method
但是它没有给我参数的类型。 我不知道point_coords
的类型是point_coords
。
通常,Python中的函数接受任何类型的参数,因此您无法定义其期望的类型。
尽管如此,该函数可能确实对接收到的对象做了一些隐式假设。
以这个功能为例:
def is_long(x):
return len(x) > 1000
此函数接受哪种类型的参数x
? 任何类型,只要已定义长度即可。
因此,只要实现__len__
,它就可以采用字符串,列表,字典或任何自定义对象。 但是,它不需要整数。
is_long('abcd') # ok
is_long([1, 2, 3, 4]) # ok
is_long(11) # not ok
要回答这个问题:您如何分辨该函数所做的假设?
help(funcname)
) get_value
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.