gpt4 book ai didi

python-2.7 - python : i defined a function in a class, 但随后它掉落 "name error, function is not defined"

转载 作者:行者123 更新时间:2023-12-05 05:28:08 25 4
gpt4 key购买 nike

我在 python 2.7 中运行这段代码进行练习,但无论我如何调用 fib(n) 函数,我每次都会遇到同样的错误,我不知道为什么它没有得到它。这是代码:

    #!/usr/bin/python

class fibonacci:

def fib(self,n):
a=1
b=0
c=0
count=0
fibo=list()

while count < n:
c = a + b
fibo.append(n)
fibo.append(c)
a = b
b = c
count += 1
return fibo

n=int(raw_input("ingrese n: "))
s = fib(n)
print s

当我运行它时出现这个错误:

Traceback (most recent call last):
File "./fib.py", line 22, in <module>
s=fib(n)
NameError: name 'fib' is not defined
user@debian:~/Documents$

请帮忙

最佳答案

fib()fibonacci 类的一个方法,所以你必须这样调用它:

s = fibonnaci.fib(n)

如果您只是执行 fib(n),那么解释器会在任何类之外寻找名为“fib”的全局函数。在这种情况下,因为将它放在一个类中不会为该函数提供任何特定的实用程序,所以您可以这样做:

def fib(n):
...

s = fib(n)

(如果你把它放在一个类中作为命名空间的一种方式,请记住 Python 使用模块来简化这件事。)

关于python-2.7 - python : i defined a function in a class, 但随后它掉落 "name error, function is not defined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13639065/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com