def f1():
f2()
def f2():
print(......)
由于大叔本人是一个F1车迷,所以,本次爬虫的第一个项目就是爬取图片网站的F1赛车图片。
具体步骤分为:
1. 获取URL地址:找到一个图片网站,并搜索得到F1图片的初步结果;
2. 在浏览器按下F12(大叔使用谷歌浏览器),并对网页进行检查分析,找到每一个图片对应的地址及地址的分层;
3. 使用正则方法获取图片下载地址的字符串,并形成列表list;
4. 使用os建立空文件夹
5. 遍历列表,并存储图片至指定文件夹。
答案:
在Python中,当定义一个函数f1时,即使函数f2未被定义,但在f1中调用f2函数依旧可以正常运行的原因是在Python中函数的解析是在运行时进行的,而不是在编译时,所以函数f1在定义时并没有对函数f2进行解析,因此不会出现未定义函数的错误。Python的解析器会在运行时查找函数f2的定义,如果能找到则可以正常调用,否则会报出“NameError: name 'f2' is not defined”的错误。
具体的解决方案如下:
1.在函数f1中调用函数f2
def f1():
f2()
def f2():
print("Hello World!")
2.尝试调用未定义的函数f3
def f1():
f3()
f1()
结果会报出“NameError: name 'f3' is not defined”的错误。
因此,我们可以得出结论,只有在Python运行时才能确定函数是否已经被定义,如果在定义函数f1时调用了未被定义的函数f2,则Python解释器会在运行时去查找f2的定义,如果能找到则可以正常调用,否则会报出“NameError: name 'f2' is not defined”的错误。