python中同名函数
无意中发现python中可以有同名函数存在不会报错。代码如下:#!/usr/bin/env python# -*- coding:utf-8 -*-# @ Time:2020/9/7 22:56# @ Author:BT烤翅"""题目:练习函数调用。"""def hello():print('frist_hello world')hello()def hello():print('second_h
·
无意中发现python中可以有同名函数存在不会报错。
代码如下:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @ Time :2020/9/7 22:56
# @ Author :BT烤翅
"""题目:练习函数调用。"""
def hello():
print('frist_hello world')
hello()
def hello():
print('second_hello_world')
hello()
输出如下:
frist_hello world
second_hello_world
如果注释掉第一个调用函数,则只会输出第二个函数体内内容
second_hello_world
注释掉第二个则反之
frist_hello world
如果把第一个函数体注释掉保留两个函数调用,第二个函数体上下各调用一次,则会报错。
# def hello():
# print('frist_hello world')
hello()
def hello():
print('second_hello_world')
hello()
NameError: name ‘hello’ is not defined
以此得出,在python中,调用函数会向上寻找,如果找到不管上面有多少个,只会就近调用,如果没有函数体则会报错,不管下面有没有。
以上是我自己的猜想,如有错误,请指出。
更多推荐
已为社区贡献2条内容
所有评论(0)