了解功能

时间:2014-09-27 04:16:51

标签: python

所以我一直在练习功能,但现在我才想到:

当您键入float(3.14)时,您只需调用已由Python内置的全能定义的float函数。它与用户定义的函数类似,如下所示:

def power (x):
    for i in range(x):
        x2=i**2
        print(x2)

power(4)

我的意思是浮点数也是一种数据类型,所以它可能不是完全相同,但是我的逻辑声音是什么?

2 个答案:

答案 0 :(得分:2)

float是一种类型。同时,它可以像函数一样调用:

>>> type(float)
<class 'type'>
>>> callable(float)
True


>>> def power (x):
...     for i in range(x):
...         x2=i**2
...         print(x2)
...
>>> type(power)
<class 'function'>
>>> callable(power)
True

在python中,类型,类,在函数旁边使用__call__方法的对象,方法是可调用的。

答案 1 :(得分:1)

你是正确的,你正在调用一个float()函数,是的。

另一方面:

您定义的电源功能可能不会像您希望的那样运行。

您在for循环中使用x变量隐藏了函数中的x参数。

无论您输入什么内容,都会得到相同的结果,因为您的x会立即被覆盖。

def power (x):
    for x in range(6):
        x = x ** 2
        print(x)

>>> power(1)
0
1
4
9
16
25
>>> power(10)
0
1
4
9
16
25