繁体   English   中英

在Python中使用和不使用括号的调用方法

[英]Calling Method with and without Parentheses in Python

我已经意识到应该使用()来调用某些方法,而其他方法则不能。 如何使用IPython检查是否使用括号? 例如,以下文件scratch.py

import numpy as np

arr = np.random.randn(5)

print arr.sort, "\n"
print arr.sort(), "\n";
print arr.shape, "\n";
print arr.shape(), "\n";

产生这个输出:

<built-in method sort of numpy.ndarray object at 0x7fb4b5312300> 

None 

(5,) 

Traceback (most recent call last):
  File "scratch.py", line 8, in <module>
    print arr.shape(), "\n";
TypeError: 'tuple' object is not callable

那些不是方法,那些是属性 描述符由Python本身在幕后调用。

Python中的方法总是使用()调用。 检查某些东西是否为方法的最佳方法是阅读该库的文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM