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

Python方法名称末尾的括号是什么?,python,class,methods,parentheses,Python,Class,Methods,Parentheses,我是Python和编程的初学者。现在,我很难理解内置或用户创建的方法名末尾的空括号的功能。例如,如果我写: print "This string will now be uppercase".upper() …为什么“upper”后面有一对空括号?它有什么作用吗?有没有一种情况下,一个人会把东西放在那里?谢谢 因为没有这些,您只引用了方法对象。通过它们,您可以告诉Python您想要调用该方法 在Python中,函数和方法是一阶对象。您可以存储该方法供以后使用,而无需调用它,例如: >&g

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

print "This string will now be uppercase".upper()
…为什么“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=“此字符串现在将为大写”。upper
>>>获取大写字母()
'此字符串现在将为大写'
这里
get\u uppercase
存储对字符串的绑定
str.upper
方法的引用。只有在引用之后添加
()
时,才是实际调用的方法

这个方法在这里不带任何参数也没有区别。您仍然需要告诉Python进行实际调用

然后,
(…)
部分称为a,在Python文档中作为单独的表达式类型明确列出:

调用调用具有一系列可能为空的参数的可调用对象(例如,函数)


括号表示要调用该方法

upper()
返回应用于字符串的方法的值

如果只说
upper
,那么它将返回一个方法,而不是应用该方法时得到的值

>>> print "This string will now be uppercase".upper
<built-in method upper of str object at 0x7ff41585fe40>
>>> 
>>打印“此字符串现在将为大写”。大写
>>> 
upper()
是一个要求upper方法运行的命令,而
upper
是对方法本身的引用。比如说,

upper2 = 'Michael'.upper
upper2() # does the same thing as 'Michael'.upper() !

如果你是一个初学者,你可以在课程中学习很多基本概念。