检查类型-三菱数控指导手册api

时间:2024-07-03 00:32:26
【文件属性】:

文件名称:检查类型-三菱数控指导手册api

文件大小:1.91MB

文件格式:PDF

更新时间:2024-07-03 00:32:26

python

6.8 检查类型 如果我们将 1.5作为参数调用阶乘函数 ( factorial )会怎样?� >>> factorial (1.5) RuntimeError: Maximum recursion depth exceeded � 看上去像是一个无限循环。但那是如何发生的?函数的基础情形是 n == 0。但是如果 n 不是一个整型数呢,我们会错过基础情形,永远递归下去。 在第一次递归调用中,n的值是 0.5。下一次,是 −0.5。自此它会越来越小,但永远不 会是 0。 我们有两个选择。我们可以试着泛化 factorial函数,使其能处理浮点数,或者我们可以 让 factorial检查实参的类型。第一个选择被称作 gamma函数,它有点儿超过本书的范围 了。所以我们将采用第二种方法。 我们可以使用内建函数 isinstance来验证实参的类型。同时,我们也可以确保该实参是 正数:� def factorial (n): if not isinstance(n, int): print('Factorial␣is␣only␣defined␣for␣integers.')


网友评论