编程语言
首页 > 编程语言> > python如何识别参数的类型?

python如何识别参数的类型?

作者:互联网

我想定义一个函数,该函数返回列表的最小元素.
所以我定义了一个’minOfList’函数,如下所示:

def minOfList(a_list):
n = len(a_list)
x = a_list[0]
for i in range(n):
    if a_list[i] <= x:
        x = a_list[i]
    else:
        x = x
return x

首先,我设置一个列表并将其放入上面的函数中.

x = [1, 1, 5, 6, 9, 5, 4, 5]
minOfList(x)

然后,我将x重新定义为元组,并将x输入到函数中.

x = (1, 1, 5, 6, 9, 5, 4, 5)
minOfList(x)

无论我将x定义为列表还是元组,该函数都能正常工作.

题:
python如何确切知道参数的哪种数据类型输入到函数中?另外,我想知道一种在定义函数时指定参数数据类型的方法吗?

解决方法:

Python不使用静态类型转换.因此,简短的答案是“否”,Python不知道将哪种类型的变量传递给您的函数.

但是,有一种方法可以使用isinstance()函数进行手动检查.

isinstance(your_var,type);返回True或False.

这是一个与您要构建的功能有关的示例.

if isinstance(a_list, list) or isinstance(a_list, tuple):
     Your code
else:
     Return bad var type

另外,有一种方法可以使用以下语法向用户推荐该函数期望采用的变量类型:

def minOfList(a_list: list):
     return

这使用户知道他们应该传递什么类型.但是请注意,这不会强制使用参数类型-使用仍然可以传递任何变量.

希望这可以帮助!

标签:python-3-x,jupyter-notebook,python,algorithm
来源: https://codeday.me/bug/20191108/2009423.html