gpt4 book ai didi

python - 为什么在尝试调用我的函数时会出现 NameError?

转载 作者:行者123 更新时间:2023-11-28 20:01:42 25 4
gpt4 key购买 nike

这是我的代码:

import os

if os.path.exists(r'C:\Genisis_AI'):
print("Main File path exists! Continuing with startup")
else:
createDirs()

def createDirs():
os.makedirs(r'C:\Genisis_AI\memories')

当我执行这个时,它会抛出一个错误:

File "foo.py", line 6, in <module>
createDirs()
NameError: name 'createDirs' is not defined

我确定这不是拼写错误,也没有拼错函数名称,那么为什么我会收到 NameError?

最佳答案

你不能调用一个函数,除非你已经定义了它。将 def createDirs(): block 移至文件顶部,导入下方。

有些语言允许您在定义函数之前先使用它们。例如,javascript 将此称为“提升”。但 Python 不是其中一种语言。


请注意,允许在高于创建函数的行的行中引用函数,只要按时间顺序定义发生在使用之前。例如,这是可以接受的:

import os

def doStuff():
if os.path.exists(r'C:\Genisis_AI'):
print("Main File path exists! Continuing with startup")
else:
createDirs()

def createDirs():
os.makedirs(r'C:\Genisis_AI\memories')

doStuff()

尽管 createDirs() 在第 7 行被调用并在第 9 行定义,但这不是问题,因为 def createDirsdoStuff( ) 在第 12 行执行。

关于python - 为什么在尝试调用我的函数时会出现 NameError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50237122/

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