Python方法名称末尾的括号是什么?

我是
Python和编程的初学者.现在,我无法理解方法名称末尾,内置或用户创建的空括号的功能.例如,如果我写:

print "This string will now be uppercase".upper()

…为什么在“鞋帮”后面有一对空括号?它有什么用吗?有没有人会把东西放在那里的情况?谢谢!

最佳答案 因为没有那些,你只是引用方法对象.有了它们,你告诉Python你想要调用这个方法.

在Python中,函数和方法是一阶对象.您可以存储该方法以供以后使用而无需调用它,例如:

>>> "This string will now be uppercase".upper
<built-in method upper of str object at 0x1046c4270>
>>> get_uppercase = "This string will now be uppercase".upper
>>> get_uppercase()
'THIS STRING WILL NOW BE UPPERCASE'

这里get_uppercase存储对字符串的绑定str.upper方法的引用.只有当我们然后在引用之后添加()才是实际调用的方法.

这个方法在这里没有参数没有区别.您仍然需要告诉Python进行实际调用.

然后,(…)部分称为Call expression,在Python文档中显式列为单独的表达式:

A call calls a callable object (e.g., a function) with a possibly empty series of arguments.

点赞