为了账号安全,请及时绑定邮箱和手机立即绑定

在调用函数时,函数中相同的 function_name 和 parameter_name

在调用函数时,函数中相同的 function_name 和 parameter_name

一只萌萌小番薯 2022-12-20 16:29:45
#In simple form def name(name):    print(name)name='arjun'name(name) #In this line, what's happening?#Error 'str' object is not callable
查看完整描述

1 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

函数和其他对象没有单独的命名空间。如果你写


def name1(name2):

    print(name2)

您创建类型的实例function,然后将该实例分配给名称name1。(def语句只是一种非常奇特的赋值语句。)


参数名是局部变量,属于函数定义的范围,而不是函数定义的范围。这意味着您可以重复使用该名称,但不建议这样做,因为它可能会造成混淆。


   belongs to the scope in which the function is defined

      |

      |    +--- belongs to the scope inside the function

      |    |

      v    v

def name(name):

    print(name)

然而,下面的任务


name = 'arjun'

与函数定义在同一作用域内,因此 thisname引用了一个str对象,而不是function它过去引用的对象。


查看完整回答
反对 回复 2022-12-20
  • 1 回答
  • 0 关注
  • 72 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信