Python read、truncate和close命令后加括号的原因?

Python read、truncate和close命令后加括号的原因?,python,Python,有人能给我解释一下这个词后面的括号是什么吗 .read()、.truncate()和.close()命令正在执行吗 我很困惑为什么它们是空的,为什么它没有写为: 读取(文件名),截断(文件名),和关闭(文件名),而不是 filename.read(),filename.truncate(),和filename.close() 但是open写为open(filename),而不是filename.open()这些括号()用于实际调用某个函数,而不仅仅是引用它 例如,考虑: def func():

有人能给我解释一下这个词后面的括号是什么吗
.read()
.truncate()
.close()
命令正在执行吗

我很困惑为什么它们是空的,为什么它没有写为:
读取(文件名)
截断(文件名)
,和
关闭(文件名)
,而不是
filename.read()
filename.truncate()
,和
filename.close()

但是
open
写为
open(filename)
,而不是
filename.open()

这些括号
()
用于实际调用某个函数,而不仅仅是引用它

例如,考虑:

def func():
    return "I am being called!"


print(func)
# <function func at 0x7f41f59a6b70>

print(func())
# I am being called!
您将使用程序样式

func
设计为:

def func(x):
    ...
class MyX(object):
    def func(self):
        ...
您将使用面向对象的样式。 请注意,这将要求
x
类型为
MyX
(或其子类)

Python教程中提供了更多信息,例如


最后一点注意:在一些编程语言(特别是
D
nim
)中,有一个概念,它基本上允许您编写函数,然后使用您喜欢的语法(过程或面向对象)调用它。

您学习过
吗?这是一个函数与方法的问题。@Carcigenicate你是对的,在这种情况下,复制也不合适。重新打开它。@Selcuk它更像是“不清楚你在问什么”而不是“重复”!公平地说,我认为这是相当清楚的。由于缺少格式,阅读起来有点困难。它不是
read(filename)
,而是
file.read(字节数)
read()
文件
类的一个方法,其名称后面的
()
会导致调用该方法时使用其中的参数值(该参数值对于此特定方法是可选的,可以忽略)。谢谢!非常有道理:)非常感谢您的回复!