我是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.